diff options
| author | 2022-06-27 16:54:38 +0000 | |
|---|---|---|
| committer | 2022-06-27 16:54:38 +0000 | |
| commit | 0573cdeafc5d80c36ae11fb33b4c42d3092ebcc1 (patch) | |
| tree | 8569f5ba1f08c735d07bd86ed242bf4171322add | |
| parent | f303e2dbaeb3cfc34494db47390e7c367138816a (diff) | |
| parent | a2f9e65a02e7285c192e61247bfb493d6db7ac1b (diff) | |
Merge "SyntheticPasswordManager: rename derivePassword() to deriveSubkey()" am: a2f9e65a02
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2132301
Change-Id: Ibcb7bcbc87ae4754adf311beaaef1c2f0f5ce105
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | services/core/java/com/android/server/locksettings/SyntheticPasswordManager.java | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/services/core/java/com/android/server/locksettings/SyntheticPasswordManager.java b/services/core/java/com/android/server/locksettings/SyntheticPasswordManager.java index 601a5727e545..111ffd29228c 100644 --- a/services/core/java/com/android/server/locksettings/SyntheticPasswordManager.java +++ b/services/core/java/com/android/server/locksettings/SyntheticPasswordManager.java @@ -186,7 +186,11 @@ public class SyntheticPasswordManager { mVersion = version; } - private byte[] derivePassword(byte[] personalization) { + /** + * Derives a subkey from the synthetic password. For v3 and later synthetic passwords the + * subkeys are 256-bit; for v1 and v2 they are 512-bit. + */ + private byte[] deriveSubkey(byte[] personalization) { if (mVersion == SYNTHETIC_PASSWORD_VERSION_V3) { return (new SP800Derive(mSyntheticPassword)) .withContext(personalization, PERSONALISATION_CONTEXT); @@ -197,28 +201,28 @@ public class SyntheticPasswordManager { } public byte[] deriveKeyStorePassword() { - return bytesToHex(derivePassword(PERSONALIZATION_KEY_STORE_PASSWORD)); + return bytesToHex(deriveSubkey(PERSONALIZATION_KEY_STORE_PASSWORD)); } public byte[] deriveGkPassword() { - return derivePassword(PERSONALIZATION_SP_GK_AUTH); + return deriveSubkey(PERSONALIZATION_SP_GK_AUTH); } public byte[] deriveDiskEncryptionKey() { - return derivePassword(PERSONALIZATION_FBE_KEY); + return deriveSubkey(PERSONALIZATION_FBE_KEY); } public byte[] deriveVendorAuthSecret() { - return derivePassword(PERSONALIZATION_AUTHSECRET_KEY); + return deriveSubkey(PERSONALIZATION_AUTHSECRET_KEY); } public byte[] derivePasswordHashFactor() { - return derivePassword(PERSONALIZATION_PASSWORD_HASH); + return deriveSubkey(PERSONALIZATION_PASSWORD_HASH); } /** Derives key used to encrypt password metrics */ public byte[] deriveMetricsKey() { - return derivePassword(PERSONALIZATION_PASSWORD_METRICS); + return deriveSubkey(PERSONALIZATION_PASSWORD_METRICS); } /** |