2021-02-19 00:17:40 +01:00
|
|
|
# Copyright (C) 2021 Freie Universität Berlin
|
|
|
|
#
|
|
|
|
# This file is subject to the terms and conditions of the GNU Lesser
|
|
|
|
# General Public License v2.1. See the file LICENSE in the top level
|
|
|
|
# directory for more details.
|
|
|
|
|
2021-12-22 11:33:10 +01:00
|
|
|
menuconfig MODULE_FIDO2_CTAP
|
2021-02-19 00:17:40 +01:00
|
|
|
bool "FIDO2 CTAP"
|
2021-12-22 11:33:10 +01:00
|
|
|
depends on HAS_PERIPH_FLASHPAGE
|
|
|
|
depends on HAS_PERIPH_GPIO
|
|
|
|
depends on HAS_PERIPH_GPIO_IRQ
|
|
|
|
depends on MODULE_FIDO2
|
|
|
|
depends on TEST_KCONFIG
|
|
|
|
select PACKAGE_TINYCBOR
|
|
|
|
select PACKAGE_MICRO-ECC
|
|
|
|
select PACKAGE_TINY-ASN1
|
|
|
|
select MODULE_PERIPH_GPIO
|
|
|
|
select MODULE_PERIPH_GPIO_IRQ
|
|
|
|
select MODULE_EVENT
|
|
|
|
select MODULE_EVENT_TIMEOUT
|
|
|
|
select MODULE_ZTIMER
|
|
|
|
select MODULE_ZTIMER_MSEC
|
|
|
|
select MODULE_MTD
|
|
|
|
select MODULE_MTD_FLASHPAGE
|
|
|
|
select MODULE_MTD_WRITE_PAGE
|
|
|
|
select MODULE_RANDOM
|
|
|
|
select MODULE_CRYPTO_AES_256
|
|
|
|
select MODULE_CIPHER_MODES
|
|
|
|
select MODULE_HASHES
|
2021-02-19 00:17:40 +01:00
|
|
|
help
|
2021-12-22 11:33:10 +01:00
|
|
|
Y to enable CTAP protocol support. The Client-to-Authenticator
|
|
|
|
Protocol (CTAP) is an application layer protocol for the communication
|
|
|
|
between an authenticator and a host. CTAP is part of the FIDO2 Project.
|
|
|
|
For more information visit https://fidoalliance.org/fido2.
|
2021-02-19 00:17:40 +01:00
|
|
|
|
2021-12-22 11:33:10 +01:00
|
|
|
|
|
|
|
if MODULE_FIDO2_CTAP
|
2021-02-19 00:17:40 +01:00
|
|
|
|
|
|
|
config FIDO2_CTAP_STACK_SIZE
|
|
|
|
int "CTAP thread stack size"
|
|
|
|
default 15000
|
|
|
|
|
|
|
|
config FIDO2_CTAP_DEVICE_AAGUID
|
|
|
|
string "AAGUID of the CTAP authenticator"
|
|
|
|
default "9c295865fa2c36b705a42320af9c8f16"
|
|
|
|
help
|
|
|
|
The AAGUID is identifying the type of the authenticator (e.g manufacturer
|
|
|
|
and model). The AAGUID needs to be 128 bits long. The default value here
|
|
|
|
is a fallback value that was randomly generated.
|
|
|
|
|
|
|
|
config FIDO2_CTAP_DISABLE_UP
|
|
|
|
bool "Disable user presence tests"
|
|
|
|
help
|
|
|
|
When set, the authenticator will not ask for permission before creating
|
|
|
|
a new credential pair or authenticating.
|
|
|
|
|
|
|
|
config FIDO2_CTAP_DISABLE_LED
|
|
|
|
bool "Disable LED animations"
|
|
|
|
help
|
|
|
|
When set, the authenticator will not use LED's.
|
|
|
|
|
|
|
|
config FIDO2_CTAP_UP_TIMEOUT
|
|
|
|
int "Seconds until user presence test times out"
|
|
|
|
default 15
|
|
|
|
|
|
|
|
config FIDO2_CTAP_UP_BUTTON_PORT
|
|
|
|
int "Port of user presence button"
|
|
|
|
depends on !FIDO2_CTAP_DISABLE_UP
|
|
|
|
default -1
|
|
|
|
|
|
|
|
config FIDO2_CTAP_UP_BUTTON_PIN
|
|
|
|
int "Pin of user presence button"
|
|
|
|
depends on !FIDO2_CTAP_DISABLE_UP
|
|
|
|
default -1
|
|
|
|
|
|
|
|
choice
|
|
|
|
bool "User presence button mode"
|
|
|
|
depends on !FIDO2_CTAP_DISABLE_UP
|
|
|
|
default FIDO2_CTAP_UP_BUTTON_MODE_IN_PU
|
|
|
|
|
|
|
|
config FIDO2_CTAP_UP_BUTTON_MODE_IN_PU
|
|
|
|
bool "GPIO_IN_PU"
|
|
|
|
help
|
|
|
|
Configure as input with pull-up resistor
|
|
|
|
|
|
|
|
config FIDO2_CTAP_UP_BUTTON_MODE_IN_PD
|
|
|
|
bool "GPIO_IN_PD"
|
|
|
|
help
|
|
|
|
Configure as input with pull-down resistor
|
|
|
|
|
|
|
|
config FIDO2_CTAP_UP_BUTTON_MODE_IN
|
|
|
|
bool "GPIO_IN"
|
|
|
|
help
|
|
|
|
Configure as input without pull resistor
|
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
|
|
|
choice
|
|
|
|
bool "User presence button pin flank"
|
|
|
|
depends on !FIDO2_CTAP_DISABLE_UP
|
|
|
|
default FIDO2_CTAP_UP_BUTTON_FLANK_FALLING
|
|
|
|
|
|
|
|
config FIDO2_CTAP_UP_BUTTON_FLANK_FALLING
|
|
|
|
bool "GPIO_FALLING"
|
|
|
|
|
|
|
|
config FIDO2_CTAP_UP_BUTTON_FLANK_RISING
|
|
|
|
bool "GPIO_RISING"
|
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
|
|
|
config FIDO2_CTAP_FLASH_START_PAGE
|
|
|
|
int "First flash page to store data in"
|
|
|
|
default -1
|
|
|
|
help
|
|
|
|
Configuring this incorrectly can lead to firmware corruption so make sure
|
|
|
|
the flash page is located after the firmware.
|
|
|
|
|
|
|
|
rsource "transport/Kconfig"
|
|
|
|
|
2021-12-22 11:33:10 +01:00
|
|
|
endif # MODULE_FIDO2_CTAP
|