//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 <martinkr@google.com>
Reviewed-by: Balazs Engedy <engedy@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Reviewed-by: Dominic Battré <battre@chromium.org>
Cr-Commit-Position: refs/heads/master@{#568706}
17 files changed