From 7d9e1151865f968876c833d03c1d5e69240748eb Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Fri, 24 Jun 2022 19:19:54 +0000 Subject: [PATCH] SyntheticPasswordManager: rename derivePassword() to deriveSubkey() The output of derivePassword() is a key (byte array, not hex encoded), not a password. Therefore, rename it to deriveSubkey(). No change in behavior; this is just a cleanup. Test: atest SyntheticPasswordTests Change-Id: Ie3d74a579963bcbe63fc93c1b4c436c2aba8c342 --- .../locksettings/SyntheticPasswordManager.java | 18 +++++++++++------- 1 file 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 601a5727e545b..111ffd29228c8 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); } /**