Add ROLLBACK_RESISTANCE tag to key usage
If KM is upgraded from a version that does not support rollback resistance to one that does, we really want our upgraded keys to include rollback resistance. By passing this tag in when we use the keys, we ensure that the tag is passed into the upgradeKey request whenever it is made, which some KM implementations can use to add rollback resistance to our keys. Bug: 187105270 Ignore-AOSP-First: no merge path to this branch from AOSP. Test: Manual Change-Id: I6154fe26a10b60cd686cc60dbc2e0a85c152f43b
This commit is contained in:
parent
2ddc1338d7
commit
2601eb7f8c
1 changed files with 4 additions and 1 deletions
|
@ -379,7 +379,9 @@ static bool encryptWithKeymasterKey(Keymaster& keymaster, const std::string& dir
|
|||
const km::AuthorizationSet& keyParams,
|
||||
const KeyBuffer& message, std::string* ciphertext) {
|
||||
km::AuthorizationSet opParams =
|
||||
km::AuthorizationSetBuilder().Authorization(km::TAG_PURPOSE, km::KeyPurpose::ENCRYPT);
|
||||
km::AuthorizationSetBuilder()
|
||||
.Authorization(km::TAG_ROLLBACK_RESISTANCE)
|
||||
.Authorization(km::TAG_PURPOSE, km::KeyPurpose::ENCRYPT);
|
||||
km::AuthorizationSet outParams;
|
||||
auto opHandle = BeginKeymasterOp(keymaster, dir, keyParams, opParams, &outParams);
|
||||
if (!opHandle) return false;
|
||||
|
@ -408,6 +410,7 @@ static bool decryptWithKeymasterKey(Keymaster& keymaster, const std::string& dir
|
|||
auto bodyAndMac = ciphertext.substr(GCM_NONCE_BYTES);
|
||||
auto opParams = km::AuthorizationSetBuilder()
|
||||
.Authorization(km::TAG_NONCE, nonce)
|
||||
.Authorization(km::TAG_ROLLBACK_RESISTANCE)
|
||||
.Authorization(km::TAG_PURPOSE, km::KeyPurpose::DECRYPT);
|
||||
auto opHandle = BeginKeymasterOp(keymaster, dir, keyParams, opParams, nullptr);
|
||||
if (!opHandle) return false;
|
||||
|
|
Loading…
Reference in a new issue