History log of /system/security/keystore/blob.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
67899de5ade4bc2a6ffae54f2e66cd5d99b67029 21-Apr-2017 Rubin Xu <rubinxu@google.com> Introduce KEYSTORE_FLAG_CRITICAL_TO_DEVICE_ENCRYPTION

This flag is used by system server to mark keys used during the
synthetic password auth flow. keys marked with this flag will not
be super encrypted because super encryption requires knowledge of
the synthetic password, causing a chicken-and-egg problem.

Bug: 35849499
Bug: 34600579
Test: cts-tradefed run cts-dev -m CtsDevicePolicyManagerTestCases -t com.android.cts.devicepolicy.MixedProfileOwnerTest#testResetPasswordWithToken
Change-Id: Ibd900e3ede1f51c476d462085caaf216d911d693
/system/security/keystore/blob.h
d5a24e6745eb552c137cfdbb49e09e3db5701ad1 28-Feb-2017 Shawn Willden <swillden@google.com> Superencrypt authentication-bound keys.

This CL causes keystore to automatically encrypt all newly-created
keymaster key blobs which are authentication-bound. This appears on its
face to be pointless, since the sensitive key material in the key blobs
is already encrypted by the Trusted Execution Environment. It's not
pointless because this adds a cryptographic dependency on the user's
password, including any strengthening performed by
LockSettingService... which may include the use of a separate hardware
trusted module, separate from (and presumably more secure than) the TEE.

A better solution is planned for the next release, but that requires
changes to Gatekeeper and Keymaster. This superencryption will be
removed when that work is done.

Note that the encryption method used by keystore is weak. A separate CL will
replace the weak method with a proper authenticated encryption.

(cherry picked from commit 07aebe73053df12c21c7481a93146bd76add7fbd)

Test: Manual testing.
Bug: 35849499
Change-Id: I0c4910ea24b97bc8046f3d114bfb336670d03321
/system/security/keystore/blob.h
9c28dd5f2797510c3da719144247e867c58c6e18 06-Oct-2016 Tucker Sylvestro <tuckeris@google.com> resolve merge conflicts of 0ab28b7 to nyc-mr1-dev-plus-aosp

Test: Built with ". build/envsetup.sh && lunch shamu-eng && make -j32"

Change-Id: I4b3081c2b9091fa2d66c717f5d57dc6e567c50e2
0ab28b78bd06a06a0ffa150cef5876d56212902a 06-Aug-2016 Tucker Sylvestro <tuckeris@google.com> Support and use TAG_ALLOW_WHILE_ON_BODY

There are three changes in this CL:
1. Persist all characteristics provided at the time of key creation.
We do this to avoid device-specific keymaster implementations
stripping keys they are not aware of.
2. Add an onDeviceOffBody API method that will be called whenever a
wearable device is detected to have been removed.
3. Check whether a key was created with TAG_ALLOW_WHILE_ON_BODY and
the device has gone off-body since the last auth event when
deciding whether it can be used.

BUG: 30701680
BUG: 28911985
Change-Id: I6be3af3dee8e576fe713dfdd726502d8b333f224
/system/security/keystore/blob.h
d62c7277dc300214bc289005c0402d3fc66c8730 13-Jul-2016 Chih-Hung Hsieh <chh@google.com> Merge \"Fix google-explicit-constructor warnings in keystore.\"
am: 590a1dade7

Change-Id: Ie0f3f1be4ee7ba9fbe249b951b452642c505895a
d7791be04b7572dbcb8c683408e66ce7184841f2 12-Jul-2016 Chih-Hung Hsieh <chh@google.com> Fix google-explicit-constructor warnings in keystore.

Declare explicit conversion constructors.

Bug: 28341362
Change-Id: Ibd0d6b7ec63ccb8f910e9da15771ff4d0031f4c4
Test: build with clang-tidy
/system/security/keystore/blob.h
c1d1feee514e6138e1ed8ff924f5453ba8e1408a 27-Jan-2016 Shawn Willden <swillden@google.com> Refactor keystore.

This CL isn't nearly as big as it looks. It doesn't change keystore
functionality, it just moves all of the classes out of the former
keystore.cpp into their own .h and .cpp files.

Note that this is a cherry-pick from:

https://android-review.googlesource.com/#/c/194971

Change-Id: Ide326c4f1d03984994d1bd9a76fa68d37da230dc
/system/security/keystore/blob.h
6507c27ab7ea34dd150d7ef9fda41878ed32547c 06-Jan-2016 Shawn Willden <swillden@google.com> Refactor keystore.

This CL isn't nearly as big as it looks. It doesn't change keystore
functionality, it just moves all of the classes out of the former
keystore.cpp into their own .h and .cpp files.

Change-Id: I29a1ce21bff574be56128b32fc417e5a3d3c55fb
/system/security/keystore/blob.h