You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.5 KiB
2.5 KiB
Remote Provisioning Changelog
This document provides an exact description of which changes have occurred in the
IRemotelyProvisionedComponent HAL interface in each Android release.
Releases
- Android S (12): IRemotelyProvisionedComponent v1
- Android T (13): IRemotelyProvisionedComponent v2
- Android U (14): IRemotelyProvisionedComponent v3
IRemotelyProvisionedComponent 1 -> 2
- DeviceInfo
- Most entries are no longer optional.
att_id_stateis nowfused.fusedis used to indicate if SecureBoot is enabled.versionis now2.boardhas been removed.devicehas been added.
- RpcHardwareInfo
uniqueIdString added as a field in order to differentiate IRPC instances on device.
IRemotelyProvisionedComponent 2 -> 3
- The RKP HAL now builds separately from KeyMint.
- The HAL remains under the
android.hardware.security.keymintpackage for compatibility with previous releases. ABI compatibility requires this. - Dependencies on the RKP HAL must add a dependency on
"android.hardware.security.rkp"generated code (instead of"android.hardward.security.keymint").
- The HAL remains under the
- ProtectedData has been removed.
- DeviceInfo
versionhas moved to a top-level field within the CSR generated by the HAL.
- IRemotelyProvisionedComponent
- The need for an EEK has been removed. There is no longer an encrypted portion of the CSR.
- Keys for new CSR format must be generated with test mode set to false, effectively removing test mode in the new CSR flow.
- The schema for the CSR itself has been significantly simplified, please see
IRemotelyProvisionedComponent.aidl for more details. Notably,
- the chain of signing, MACing, and encryption operations has been replaced with a single COSE_Sign1 object.
- CertificateType has been added to identify the type of certificate being requested.
- The structure has been composed to enable a clear split between what is required to validate a
payload and the implementation-defined payload itself. This is done by creating a typed
AuthenticatedRequest<T>object representing the top level data required to authenticate the data provided in the payload,T.
- The new CSR format supports P-384 signing keys and SHA-384 hashes in the DICE chain.
- The component version can now be either an int or a string.
- RpcHardwareInfo
supportedNumKeysInCsradded to report the maximum number of keys supported in a CSR.supportedEekCurveis no longer used, due to the removal of the EEK from the scheme.