//device/fido: implement the Touch ID credential metadata secret.

This moves the responsibility of generating the CredentialMetadata
'secret' parameter (formely profile_id) into the
AuthenticatorRequestDelegate. CredentialMetadata uses the parameter to
derive the HMAC and AEAD keys for encrypting/encoding credential
metadata before storing it in the macOS keychain.

For Chrome, implement profile-specific secrets by storing the value in
the browser profile PrefService. This guarantees that credentials will
be logically separated by user profile.

Bug: 678128
Change-Id: I8c3d12c6db266105eeb63191e9d277d8cdb173ee
Reviewed-on: https://chromium-review.googlesource.com/1102179
Commit-Queue: Martin Kreichgauer <[email protected]>
Reviewed-by: Balazs Engedy <[email protected]>
Reviewed-by: John Abd-El-Malek <[email protected]>
Reviewed-by: Dominic Battré <[email protected]>
Cr-Commit-Position: refs/heads/master@{#568706}
17 files changed