xref: /aosp_15_r20/system/keymint/CHANGELOG.md (revision 9860b7637a5f185913c70aa0caabe3ecb78441e4)
1*9860b763SAndroid Build Coastguard Worker# Changelog
2*9860b763SAndroid Build Coastguard Worker
3*9860b763SAndroid Build Coastguard WorkerThis file attempts to list significant changes to the Rust reference implementation of KeyMint,
4*9860b763SAndroid Build Coastguard Workerwhere "significant" means things that are likely to affect vendors whose KeyMint implementations are
5*9860b763SAndroid Build Coastguard Workerbased on this codebase.
6*9860b763SAndroid Build Coastguard Worker
7*9860b763SAndroid Build Coastguard Worker- The `sign_info` field in `kmr_ta::device::Implementation` is now an `Option`, reflecting that
8*9860b763SAndroid Build Coastguard Worker  batch attestation is now optional (devices can be RKP-only, as indicated by the
9*9860b763SAndroid Build Coastguard Worker  `remote_provisioning.tee.rkp_only` system property).
10*9860b763SAndroid Build Coastguard Worker- The `BootInfo` structure passed to `kmr_ta::KeyMintTa::set_boot_info()` method did not make clear
11*9860b763SAndroid Build Coastguard Worker  what the contents of the `verified_boot_key` field should be: the key itself, or a SHA-256 hash of
12*9860b763SAndroid Build Coastguard Worker  the key.  The KeyMint implementation has been modified to cope with either, using a SHA-256 hash
13*9860b763SAndroid Build Coastguard Worker  in places where the value is externally visible (key attestations and root-of-trust transfer) when
14*9860b763SAndroid Build Coastguard Worker  it appears that the full key has been provided.  However, this requires that **vendor
15*9860b763SAndroid Build Coastguard Worker  implementations provide an implementation of the new `Sha256`** trait (from
16*9860b763SAndroid Build Coastguard Worker  <https://r.android.com/2786540>).  A sample implementation based on BoringSSL is available in
17*9860b763SAndroid Build Coastguard Worker  `boringssl/src/sha256.rs`.
18*9860b763SAndroid Build Coastguard Worker- Addition of features to indicate support for different HAL versions.  Vendors targetting the
19*9860b763SAndroid Build Coastguard Worker  current version of the KeyMint HAL **should ensure that all `hal_v2`, `hal_v3` etc. features are
20*9860b763SAndroid Build Coastguard Worker  enabled** in their build system (from <https://r.android.com/2777607>).  Vendors using the Soong
21*9860b763SAndroid Build Coastguard Worker  build system are unaffected (because the Soong targets have been updated).
22