aboutsummaryrefslogtreecommitdiffstats
path: root/9_security-model
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2020-07-23 20:22:53 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2020-07-23 20:22:53 +0000
commit5627d35a86a3c8604f59f19b82db92c82482285a (patch)
tree960400704e6e7bcdf7e1fd6f99fb95aef825d46b /9_security-model
parentab73a927ad5bc4b3609e95c0006a03279b30717e (diff)
parent7cee8f29c2df1afcea04b02386726f0c1fae8b69 (diff)
downloadplatform_compatibility_cdd-5627d35a86a3c8604f59f19b82db92c82482285a.tar.gz
platform_compatibility_cdd-5627d35a86a3c8604f59f19b82db92c82482285a.tar.bz2
platform_compatibility_cdd-5627d35a86a3c8604f59f19b82db92c82482285a.zip
Merge "CDD: mandate non-reversible FBE key derivation function" into rvc-dev
Diffstat (limited to '9_security-model')
-rw-r--r--9_security-model/9_9_full-disk-encryption.md12
1 files changed, 11 insertions, 1 deletions
diff --git a/9_security-model/9_9_full-disk-encryption.md b/9_security-model/9_9_full-disk-encryption.md
index 55d6f19d..365cf375 100644
--- a/9_security-model/9_9_full-disk-encryption.md
+++ b/9_security-model/9_9_full-disk-encryption.md
@@ -36,7 +36,7 @@ https://source.android.com/security/encryption/file-based.html) (FBE).
### 9.9.3\. File Based Encryption
-Encrypted devices:
+If device implementations are encrypted, they:
* [C-1-1] MUST boot up without challenging the user for credentials and
allow Direct Boot aware apps to access to the Device Encrypted (DE) storage
@@ -61,6 +61,16 @@ file names (instead of Adiantum) if the device has Advanced Encryption Standard
(AES) instructions. AES instructions are ARMv8 Cryptography Extensions on
ARM-based devices, or AES-NI on x86-based devices. If the device does not
have AES instructions, the device MAY use Adiantum.
+* [C-1-13] MUST use a cryptographically strong and non-reversible key
+derivation function (e.g. HKDF-SHA512) to derive any needed subkeys (e.g.
+per-file keys) from the CE and DE keys. "Cryptographically strong and
+non-reversible" means that the key derivation function has a security strength
+of at least 256 bits and behaves as a [pseudorandom function
+family](https://en.wikipedia.org/w/index.php?title=Pseudorandom_function_family&oldid=928163524)
+over its inputs.
+* [C-1-14] MUST NOT use the same File Based Encryption (FBE) keys or subkeys
+for different cryptographic purposes (e.g. for both encryption and key
+derivation, or for two different encryption algorithms).
* The keys protecting CE and DE storage areas: