Merge "SyntheticPasswordManager: rename derivePassword() to deriveSubkey()" am: a2f9e65a02 am: 0573cdeafc am: b089c8aaf3 am: 9e339979e1 am: 6a4f104b97

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2132301

Change-Id: I64eb1071dd19e1e8405e1cce4ec8dfcea1e642f5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Eric Biggers
2022-06-27 20:29:20 +00:00
committed by Automerger Merge Worker

View File

@@ -192,7 +192,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);
@@ -203,28 +207,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);
}
/**