DescriptionThis adds utility for creating user-specific RSA key pair in system TPM slot
that is used for easy sign-in protocol, and for signing data provided by
Easy Unlock app using the created private key.
Per user public keys are kept in the local state and added to challenge data when challenges
are created (while resetting cryptohome sign-in secrets).
During challenge creation, existence of the Easy Sign-in TPM key is
checked for user, and the key pair is created if necessary.
Additionally, key pair presence is ensured when EasyUnlockService is
started after user log in. This is done to handle the case where Easy Unlock
has previously been set up. At this time, it is verified that
the private key actually
exists in the TPM slot.
Mapping from user id to public TPM key is kept in local state
so it can be accessed on sign in screen (as it will be needed before a user logs in;
the public key is used to identify the private key in the system slot)
BUG=409027
TEST=Confirmed easy sign-in works
Committed: https://crrev.com/cc7df610b49e8ba6c60c8ccbcfb111f5d2084128
Cr-Commit-Position: refs/heads/master@{#308431}
Patch Set 1 #Patch Set 2 : . #Patch Set 3 : . #Patch Set 4 : . #Patch Set 5 : . #Patch Set 6 : #Patch Set 7 : . #Patch Set 8 : . #Patch Set 9 : . #Patch Set 10 : . #Patch Set 11 : . #
Total comments: 18
Patch Set 12 : . #Patch Set 13 : . #Patch Set 14 : browsertests -> unittests #Patch Set 15 : compile on non chromeos #Patch Set 16 : . #Patch Set 17 : . #
Total comments: 20
Patch Set 18 : . #Patch Set 19 : . #
Total comments: 8
Patch Set 20 : . #Patch Set 21 : . #Messages
Total messages: 13 (2 generated)
|