Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d41ebc70 authored by Seth Moore's avatar Seth Moore
Browse files

Add some clarifications around UDS

Change-Id: I7c74aa23fc1a80ec10397c9f04e2604f4e3efa69
parent 98b2bbdb
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -54,8 +54,12 @@ import android.hardware.security.keymint.RpcHardwareInfo;
 * use by the IRemotelyProvisionedComponent.
 *
 * The root keypair is generated by immutable code (e.g. ROM), from a Unique Device Secret (UDS).
 * The keypair that is generated from it can be referred to as the UDS_Pub/UDS_Priv keys. After the
 * device-unique secret is used, it must be made unavailable to any later boot stage.
 * The UDS is a hardware-bound secret that forms the root of identify for the device and code
 * running on the device. The keypair generated from the UDS is referred to as the UDS_Pub/UDS_Priv
 * keypair. After the device-unique secret is used, it must be made unavailable to any later boot
 * stage. Refer to the
 * [Open Profile for DICE ](https://pigweed.googlesource.com/open-dice/+/HEAD/docs/specification.md#uds-details)
 * specification for more details on the UDS.
 *
 * In this way, booting the device incrementally builds a certificate chain that (a) identifies and
 * validates the integrity of every stage and (b) contains a set of public keys that correspond to
@@ -95,8 +99,8 @@ import android.hardware.security.keymint.RpcHardwareInfo;
 *
 * 2) The CDI_Leaf_Priv key cannot be used to sign arbitrary data.
 *
 * 3) Backend infrastructure does not correlate UDS_Pub with the certificates signed and sent back
 *    to the device.
 * 3) Backend infrastructure very closely guards access to UDS_Pub, limiting it to the minimum
 *    set of services that need to know it for security, privacy, and counter-abuse purposes.
 *
 * Versioning
 * ==========