From e763ed2aa3075a1fd699f09c06ba67dbfd946a6b Mon Sep 17 00:00:00 2001 From: Shawn Willden Date: Thu, 17 May 2018 15:24:56 -0600 Subject: [PATCH] Explain the rationale for not using StrongBox in vold. Bug: 77338527 Test: Comment-only change. Change-Id: I9f87e34854eabcc4c183553cf56a033970bb867e --- Keymaster.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/Keymaster.cpp b/Keymaster.cpp index 4921448..aad4387 100644 --- a/Keymaster.cpp +++ b/Keymaster.cpp @@ -49,9 +49,6 @@ bool KeymasterOperation::updateCompletely(const char* input, size_t inputLen, size_t toRead = static_cast(inputLen - inputConsumed); auto inputBlob = km::support::blob2hidlVec( reinterpret_cast(&input[inputConsumed]), toRead); - // TODO(swillden): Need to handle getting a VerificationToken from the TEE if mDevice is - // StrongBox, so we can provide it here. The VerificationToken will need to be - // requested/retrieved during Keymaster::begin(). auto error = mDevice->update(mOpHandle, hidl_vec(), inputBlob, km::HardwareAuthToken(), km::VerificationToken(), hidlCB); if (!error.isOk()) { @@ -105,8 +102,9 @@ Keymaster::Keymaster() { hmacKeyGenerated = true; } for (auto& dev : devices) { - // Explicitly avoid using STRONGBOX for now. - // TODO: Re-enable STRONGBOX, since it's what we really want. b/77338527 + // Do not use StrongBox for device encryption / credential encryption. If a security chip + // is present it will have Weaver, which already strengthens CE. We get no additional + // benefit from using StrongBox here, so skip it. if (dev->halVersion().securityLevel != SecurityLevel::STRONGBOX) { mDevice = std::move(dev); break;