mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 11:36:00 +00:00
Add STORAGE_KEY tag to keymaster 4.1
These are keymaster keys used specifically for storage encryption. This provides the ability for keymaster implementations to securely protect storage encryption keys. Test: VtsHalKeymasterV4_1TargetTest Bug: 147733587 Change-Id: I5f7f83755fcbed96d8f38fa51812aa6d2eb0927b Merged-In: I5f7f83755fcbed96d8f38fa51812aa6d2eb0927b
This commit is contained in:
committed by
Shawn Willden
parent
166c5c70c2
commit
9e8014d1d5
@@ -623,7 +623,7 @@ bbeee9604128ede83ee755b67e73b5ad29e6e1dbac9ec41fea6ffe2745b0c50a android.hardwar
|
||||
8da9c938e58f7d636ddd2f92c646f99d9a9e79612e6441b6380ab12744251873 android.hardware.identity@1.0::IWritableIdentityCredential
|
||||
27ae3724053940462114228872b3ffaf0b8e6177d5ba97f5a76339d12b8a99dd android.hardware.keymaster@4.1::IKeymasterDevice
|
||||
adb0efdf1462e9b2e742c0dcadd598666aac551f178be06e755bfcdf5797abd0 android.hardware.keymaster@4.1::IOperation
|
||||
ac429fca0da4ce91218768ec31b64ded88251f8a26d8c4f27c06abdc5b1926d9 android.hardware.keymaster@4.1::types
|
||||
ddcf89cd8ee2df0d32aee55050826446fb64f7aafde0a7cd946c64f61b1a364c android.hardware.keymaster@4.1::types
|
||||
65c16331e57f6dd68b3971f06f78fe9e3209afb60630c31705aa355f9a52bf0d android.hardware.neuralnetworks@1.3::IBuffer
|
||||
9b41dd49e2dcc2ecb4243d03f8421d72494ada5cf2945bff88f0019eeca56923 android.hardware.neuralnetworks@1.3::IDevice
|
||||
4167dc3ad35e9cd0d2057d4868c7675ae2c3c9d05bbd614c1f5dccfa5fd68797 android.hardware.neuralnetworks@1.3::IExecutionCallback
|
||||
|
||||
@@ -100,6 +100,7 @@ using V4_0::TAG_VENDOR_PATCHLEVEL;
|
||||
|
||||
DECLARE_KM_4_1_TYPED_TAG(EARLY_BOOT_ONLY);
|
||||
DECLARE_KM_4_1_TYPED_TAG(DEVICE_UNIQUE_ATTESTATION);
|
||||
DECLARE_KM_4_1_TYPED_TAG(STORAGE_KEY);
|
||||
|
||||
} // namespace android::hardware::keymaster::V4_1
|
||||
|
||||
|
||||
@@ -50,10 +50,29 @@ enum Tag : @4.0::Tag {
|
||||
* HAL attests to Credential Keys. IIdentityCredential produces Keymaster-style attestations.
|
||||
*/
|
||||
IDENTITY_CREDENTIAL_KEY = TagType:BOOL | 721,
|
||||
|
||||
/**
|
||||
* To prevent keys from being compromised if an attacker acquires read access to system / kernel
|
||||
* memory, some inline encryption hardware supports protecting storage encryption keys in hardware
|
||||
* without software having access to or the ability to set the plaintext keys. Instead, software
|
||||
* only sees wrapped version of these keys.
|
||||
*
|
||||
* STORAGE_KEY is used to denote that a key generated or imported is a key used for storage
|
||||
* encryption. Keys of this type can either be generated or imported or secure imported using
|
||||
* keymaster. exportKey() can be used to re-wrap storage key with a per-boot ephemeral key wrapped
|
||||
* key once the key characteristics are enforced.
|
||||
*
|
||||
* Keys with this tag cannot be used for any operation within keymaster.
|
||||
* ErrorCode::INVALID_OPERATION is returned when a key with Tag::STORAGE_KEY is provided to
|
||||
* begin().
|
||||
*/
|
||||
STORAGE_KEY = TagType:BOOL | 722,
|
||||
};
|
||||
|
||||
enum ErrorCode : @4.0::ErrorCode {
|
||||
EARLY_BOOT_ENDED = -73,
|
||||
ATTESTATION_KEYS_NOT_PROVISIONED = -74,
|
||||
ATTESTATION_IDS_NOT_PROVISIONED = -75,
|
||||
INVALID_OPERATION = -76,
|
||||
STORAGE_KEY_UNSUPPORTED = -77,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user