summaryrefslogtreecommitdiff
path: root/board/cr50/build.mk
diff options
context:
space:
mode:
authorVincent Palatin <vpalatin@chromium.org>2017-01-19 15:22:15 +0100
committerchrome-bot <chrome-bot@chromium.org>2017-06-29 10:37:40 -0700
commit28e76b309d595923121e70cbd9e3228affad3a09 (patch)
treee4ec97f07b5f1b26fbaa79440245eed0110eb991 /board/cr50/build.mk
parent3fdda8b6f1a127bff83ed7e30316a837b941875c (diff)
downloadchrome-ec-28e76b309d595923121e70cbd9e3228affad3a09.tar.gz
cr50: add U2F support
Implement U2F (universal second factor authentication) feature over TPM vendor commands. The raw U2F APDU as defined by the FIDO Alliance 'U2F Raw Message Formats' specification can be sent using the VENDOR_CC_U2F_APDU command. So the vendor command is taking a ISO7816-4:2005 APDU format frame as input as defined by the spec and returns another APDU using ISO7816-4 status code. The APDU is processed by the common U2F code using u2f_apdu_rcv(), this hardware specific code provides: - the user physical presence detection (done by the power button press) returned by the pop_check_presence() callback. - the connection to the cryptographic hardware to generate/derive the keys used by the U2F and individual attestation functions. This feature/vendor command has 3 modes: - disabled - U2F (only the commands/flags defined by the U2F specification) - G2F (the U2F commands plus some extensions for individual attestation) Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=cr50 BUG=b:35545754 TEST=pass U2FTest and HIDTest. Change-Id: Ic2591f369763fb4ba67926e2b4a0c2cd35330a18 Reviewed-on: https://chromium-review.googlesource.com/518139 Commit-Ready: Vincent Palatin <vpalatin@chromium.org> Tested-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org>
Diffstat (limited to 'board/cr50/build.mk')
-rw-r--r--board/cr50/build.mk1
1 files changed, 1 insertions, 0 deletions
diff --git a/board/cr50/build.mk b/board/cr50/build.mk
index ed2f475827..1e882e9876 100644
--- a/board/cr50/build.mk
+++ b/board/cr50/build.mk
@@ -49,6 +49,7 @@ board-y += tpm2/tpm_state.o
board-y += tpm2/trng.o
board-y += tpm_nvmem_read.o
board-y += wp.o
+board-$(CONFIG_U2F) += u2f.o
# Build and link with an external library
EXTLIB := $(realpath ../../third_party/tpm2)