Commit Graph

312 Commits

Author SHA1 Message Date
Pol Henarejos
196430517f
Added credBlob in getInfo.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-12-07 15:07:02 +01:00
Pol Henarejos
eb66ec3064
Upgrade to v2.8
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-12-07 11:15:44 +01:00
Pol Henarejos
3f1aba889e
Adding algorithms to get info.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-12-01 20:13:28 +01:00
Pol Henarejos
8bf53a6497
Return EA certificate if present.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-12-01 19:22:05 +01:00
Pol Henarejos
c89b044825
Added a subcommand to upload an enterprise certificate for enterprise attestation.
If present, when requested enterpriseAttestation==2 for MC, this certificate is returned in the x5c field. If not present, a batch attestation is returned.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-12-01 19:21:45 +01:00
Pol Henarejos
004073c3dd
Adding FID for Enterprise certificate.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-12-01 19:20:19 +01:00
Pol Henarejos
bae8450a8d
Added first step to Enterprise Attestation.
Once enabled, it allows to generate a CSR in the device, which is sent to our PKI. If valid, it returns a signed certificate by an intermediate CA that will be used for attestation.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-11-30 23:41:05 +01:00
Pol Henarejos
a355f87f82
Fix freeing memory on x509.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-11-30 23:37:34 +01:00
Pol Henarejos
3bea6adf7a
Fix requesting CM permission in credMgmt preview.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-11-28 18:50:23 +01:00
Pol Henarejos
54c2df3570
Fix cred RP enumeration return value.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-11-28 18:41:51 +01:00
Pol Henarejos
ae42e28384
Added support for credMgmt preview, despite this info is not broadcasted.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-11-28 18:27:52 +01:00
Pol Henarejos
71c0e865dc
Fixed RP attachment to token.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-11-28 18:27:12 +01:00
Pol Henarejos
052ff2d60a
Fix requesting a UV token.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-11-28 18:02:53 +01:00
Pol Henarejos
8b70c864a4
Added support for enterprise attestation.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-11-28 17:39:21 +01:00
Pol Henarejos
6b2e95deb0
Adding support for minPinLength extension.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-11-23 19:11:03 +01:00
Pol Henarejos
d45fa9aae0
Added support for setMinPinLength.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-11-23 17:01:18 +01:00
Pol Henarejos
23c7e16e6e
Fix counting PIN retries.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-11-23 16:42:49 +01:00
Pol Henarejos
5923f435fe
Add support for authenticatorConfig verification.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-11-23 15:24:09 +01:00
Pol Henarejos
04868f2d7b
Added permissions support.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-11-23 13:00:28 +01:00
Pol Henarejos
0bbcba2f60
Upgrade to version 2.4
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-11-15 11:59:46 +01:00
Pol Henarejos
2174b516c3
Using ecdh interface from mbedtls.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-11-07 13:15:09 +01:00
Pol Henarejos
4577e4430c
Moving AUT UNLOCK to Vendor command instead of using VendorConfig.
To do this a MSE command is added, to manage a secure environment. It performs a ephemeral ECDH exchange to derive a shared secret that will be used by vendor commands to convey ciphered data.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-10-30 00:47:50 +02:00
Pol Henarejos
e21d985344
Adding support for specific vendor HID command (0x41).
It is a self implementation, based on CBOR command.
data[0] conveys the command and the contents mapped in CBOR encoding.
The map uses the authConfig template, where the fist item in the map is the subcommand (enable/disable at this moment), the second is a map of the parameters, the third and fourth are the pinUvParam and pinUvProtocol.

With this format only a single vendor HID command is necessary (0x41), which will be used for all my own commands, by using the command id in data[0] like with CBOR.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-10-29 19:41:00 +02:00
Pol Henarejos
43cd8869f9
Adding support for backup.
Now it is possible to backup and restore the internal keys to recover a pico fido. The process is splitted in two parts: a list of 24 words and a file, which stores the security key.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-10-28 00:31:50 +02:00
Pol Henarejos
71ecb23af6
Adding support for disabling secure aut.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-10-24 00:04:55 +02:00
Pol Henarejos
f213854f8b Added unlock config command to unlock the device at every boot with an external key.
Signed-off-by: trocotronic <trocotronic@redyc.com>
2022-10-19 16:46:32 +02:00
Pol Henarejos
2c125e76eb Add ef of keydev encrypted.
Signed-off-by: trocotronic <trocotronic@redyc.com>
2022-10-19 16:46:31 +02:00
Pol Henarejos
19d8f16056 Clean struct before return.
Signed-off-by: trocotronic <trocotronic@redyc.com>
2022-10-19 16:46:31 +02:00
Pol Henarejos
40065217fd Add a config command to unlock.
Signed-off-by: trocotronic <trocotronic@redyc.com>
2022-10-19 16:46:31 +02:00
Pol Henarejos
4425722a71
Adding support for CBOR CONFIG.
This first support includes a vendor command for encrypting the key device with external key.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-10-17 17:37:39 +02:00
Pol Henarejos
69eef7651c
Adding EF_KEY_DEV_ENC.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-10-17 17:35:57 +02:00
Pol Henarejos
467523769e
Upgrading version to v2.2.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-10-05 11:09:36 +02:00
Pol Henarejos
2d295d0d98
Fix severe bug zeroing outside memory.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-10-05 11:09:03 +02:00
Pol Henarejos
6a077d0d8f
Enabling credential management.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-10-04 16:58:49 +02:00
Pol Henarejos
7c271fc4f3
Fix counting mismatches.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-10-04 16:58:33 +02:00
Pol Henarejos
ac224063fc
Fix freeing memory.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-10-04 16:57:45 +02:00
Pol Henarejos
cf4778b9ad
Fixes in enumerations.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-10-04 16:57:34 +02:00
Pol Henarejos
4cea6ebe87
U2F keys shall be verified only when the credID is u2f.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-10-04 11:42:41 +02:00
Pol Henarejos
c2e16fda41
Fix change pin for protocol v2.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-10-04 00:00:03 +02:00
Pol Henarejos
f84d36b1da
Add return error when no pin is set on getUVToken.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-10-03 17:47:27 +02:00
Pol Henarejos
40b5f70761
Fixes with hmac-secret and ProtocolV2.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-10-03 16:10:12 +02:00
Pol Henarejos
a294840425
Make more easy encryption/decryption with ProtocolV2.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-10-03 16:09:59 +02:00
Pol Henarejos
b87eb3f278
Credentials are sequentially returned only if allowList is empty. Also, user data is returned only when more than 1 credential is returned (and thus, are discoverable).
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-10-03 10:43:24 +02:00
Pol Henarejos
6e91694253
Only return user fields on discoverable request.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-10-03 01:24:05 +02:00
Pol Henarejos
0c5b308aef
Only return numberOfCredentials if allowList is empty.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-10-03 01:11:51 +02:00
Pol Henarejos
3fc41a12a7
Only return other user fields if credentials > 1.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-10-03 00:53:31 +02:00
Pol Henarejos
85818d009c
Fix adding icon field to user.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-10-02 20:31:43 +02:00
Pol Henarejos
bb069c5651
Get assertion also returns userName and userDisplayName.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-10-02 20:24:29 +02:00
Pol Henarejos
cb4827688b
Fix missing parameters.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-10-02 00:27:15 +02:00
Pol Henarejos
4e94cbe40e
Finalizing credmgmt.
Needs test.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-28 22:57:27 +02:00
Pol Henarejos
b1b9dad9f5
Only increase rps if it is not an update.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-28 22:57:02 +02:00
Pol Henarejos
0c51160d23
Adding more subpara.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-28 20:46:57 +02:00
Pol Henarejos
958a20ce11
Fix public key size.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-28 20:46:45 +02:00
Pol Henarejos
1e7d711c03
Adding cred_mgmt. Not finished.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-28 17:48:47 +02:00
Pol Henarejos
cc0a181f75
Renaming authenticator selection.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-28 12:02:52 +02:00
Pol Henarejos
b8568d834a
Adding CRED_PROTO.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-28 11:54:39 +02:00
Pol Henarejos
174241c0a0
Fix generating random IV on credential creation.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-28 11:52:48 +02:00
Pol Henarejos
fa17d5c906
Fix increasing sign counter.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-27 22:36:19 +02:00
Pol Henarejos
7a4be766bc
Comparing appId with bogus apps.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-27 22:10:31 +02:00
Pol Henarejos
1835afe54a
Fix making new credential when up is absent.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-27 22:10:11 +02:00
Pol Henarejos
ad07052e6a
PIN protocol 2 fixes.
Tested with Webauthn.io

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-27 22:09:46 +02:00
Pol Henarejos
da577b8e8d
Debug all CBOR.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-27 22:09:25 +02:00
Pol Henarejos
0ec563c8de
Adding authenticatorSelection 0x0B support.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-27 12:24:22 +02:00
Pol Henarejos
d4b7bfd6cc
Fix generating cert dev.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-27 12:24:02 +02:00
Pol Henarejos
995870d77e
Moving some defines.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-27 12:23:43 +02:00
Pol Henarejos
109cd4e4ea
Upgrading to Version 2.0
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-25 18:15:59 +02:00
Pol Henarejos
4fd9e80e92
Adding credProtect on getinfo.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-25 18:13:03 +02:00
Pol Henarejos
01a3c0c60e
Adding firmware field on getinfo.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-25 18:12:19 +02:00
Pol Henarejos
48f358cb19
Adding default options on make cred.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-25 18:09:46 +02:00
Pol Henarejos
074dd80afe
Adding support of credProtect on excludeList when make cred.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-23 18:49:12 +02:00
Pol Henarejos
9cbb53716b
Fix return errors.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-23 18:29:23 +02:00
Pol Henarejos
7a6b8a6af4
Added size check.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-23 18:20:39 +02:00
Pol Henarejos
eb318bc381
Return error on bad CLA.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-23 18:13:01 +02:00
Pol Henarejos
0e4532a22c
Adding check UP if not provided.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-23 18:07:16 +02:00
Pol Henarejos
bfc82d5de4
Reset must be confirmed always.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-23 18:07:05 +02:00
Pol Henarejos
d558941311
Credentials now include a flag to mark whether they are resident or not.
It is used by get assertion to attach userId, regardless allowList is present.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-23 17:30:18 +02:00
Pol Henarejos
9fa2c5d39c
Display more debug info on error.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-23 17:29:22 +02:00
Pol Henarejos
cd66e65b9c
Adding ENABLE_POWER_RESET to enable power cycle for reset command. Enabled by default.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-23 16:46:16 +02:00
Pol Henarejos
a165d286af
Fix returning errors on hmac-secret.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-23 15:17:46 +02:00
Pol Henarejos
9bf40e69af
Fix parsing hmac_secret on assertion.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-23 12:03:18 +02:00
Pol Henarejos
71564e0c79
Fix concurrency when loading FIDO.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-23 11:41:28 +02:00
Pol Henarejos
be68d5516f
Making assertion for U2F.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-23 11:41:07 +02:00
Pol Henarejos
2c4c618e3b
Loading credential if it belongs to U2F.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-23 11:40:39 +02:00
Pol Henarejos
dd4b52faf3
Fix authenticating MSG from CTAP2 and U2F.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-23 11:03:13 +02:00
Pol Henarejos
e94f6843e5
Adding cmake option ENABLE_UP_BUTTON to enable/disable user presence confirmation via button. Enabled by default.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-23 09:21:32 +02:00
Pol Henarejos
cbfe66e89b
Not necessary scan on every call.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 23:56:48 +02:00
Pol Henarejos
883c5fef35
Removing debugs.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 23:54:11 +02:00
Pol Henarejos
40110ad602
Fix generating dev cert.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 22:52:23 +02:00
Pol Henarejos
61b10b7971
Fix get sign counter.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 22:52:10 +02:00
Pol Henarejos
2d496fd8fc
Random functions shall be called for each core, otherwise it will hung.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 20:18:05 +02:00
Pol Henarejos
cc373e3e7e
Adding send_keepalive().
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 19:25:52 +02:00
Pol Henarejos
4360ab0375
Device key must not be persistent across resets.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 19:25:44 +02:00
Pol Henarejos
73c846e985
Credentials are reset on reset, as the device key also changes.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 19:25:26 +02:00
Pol Henarejos
d95bc1aba6
Reset shall call for user presence and can only be called within the 10 seconds from boot.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 19:25:04 +02:00
Pol Henarejos
2d5fffedb9
Fix resetting pin mismatches.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 19:24:28 +02:00
Pol Henarejos
f045ec8d03
card_init_core1() shall be called from every thread launched on core1.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 19:24:07 +02:00
Pol Henarejos
e0d8ce7637
Fix encoding credential.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 10:24:38 +02:00
Pol Henarejos
86e3c960a4
Fix when no pin is provided.
6.1.3.7.1 is too ambiguous on uv == false. We also accept that is not provided.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 10:00:06 +02:00
Pol Henarejos
864965c1fe
Fix verying when no paut is in use.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 09:59:17 +02:00
Pol Henarejos
3b25eb295c
Fix get assertion.
Credentials must be sorted in descending order.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 09:30:13 +02:00
Pol Henarejos
226fcc5405
Fixing next get assertion.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-21 23:44:47 +02:00
Pol Henarejos
5625e0dacd
Adding preliminary support for get next assertion.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-21 20:02:19 +02:00
Pol Henarejos
cf206bf158
Credentials CANNOT be regenerated, as they depend on random IV.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-21 19:53:36 +02:00
Pol Henarejos
a44227db52
Fix encoding extensions.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-21 19:53:11 +02:00
Pol Henarejos
4ab898378a
More fixes
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-21 16:30:49 +02:00
Pol Henarejos
99fc76a385
Finalizing get assertion.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-21 14:29:28 +02:00
Pol Henarejos
f71624f489
More steps.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-21 00:00:51 +02:00
Pol Henarejos
08c3c3344c
Moving up and uv flags to paut.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-21 00:00:25 +02:00
Pol Henarejos
804970e77a
Using extensions and fixing up and uv flags.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-21 00:00:10 +02:00
Pol Henarejos
c938d47bf7
Adding extensions struct.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-20 23:59:52 +02:00
Pol Henarejos
22a2ea109e
Adding unfinished get_assertion.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-20 20:04:54 +02:00
Pol Henarejos
3a3ec97c90
Fix saving creds.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-20 19:56:20 +02:00
Pol Henarejos
8a379d9702
Adding Credential manager.
Also adding resident credentials.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-20 19:50:33 +02:00
Pol Henarejos
72ebb2b596
Adding Credential management.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-20 17:31:09 +02:00
Pol Henarejos
3dc7af05c1
More fixes. 2022-09-20 15:07:48 +02:00
Pol Henarejos
a3c60f762d
Reorganizing core0/core1 split.
Now CBOR and APDU (i.e., intensive processing) areas are executed on core1, while core0 is dedicated for hardware tasks (usb, button, led, etc.).
2022-09-20 14:39:59 +02:00
Pol Henarejos
8feac76a73
If user has introduced PIN, it is verified.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-20 11:50:45 +02:00
Pol Henarejos
f439b85de7
clientPIN passes the first test.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-20 11:38:59 +02:00
Pol Henarejos
ee8f3a0965
Adding support for clientPIN.
It does not pass the tests yet.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-19 17:20:52 +02:00
Pol Henarejos
199091e2b9
Adding file debug.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-19 17:20:10 +02:00
Pol Henarejos
24f48e33bb
Reset nows flushes the memory storage.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-19 17:20:00 +02:00
Pol Henarejos
479aae2ef9
Adding support for CTAP_2_0 and minPINlength.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-19 17:19:45 +02:00
Pol Henarejos
fd7da11931
More fixes. Finally it passes all tests.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-16 17:13:26 +02:00
Pol Henarejos
a80247ffa2
Check required parameters in excludeList.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-16 16:27:56 +02:00
Pol Henarejos
c9c10eca36
Fix excludeList parsing.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-16 16:23:27 +02:00
Pol Henarejos
11642fe0a3
Fixes with missing parameters.
Up should not be present.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-16 15:59:20 +02:00
Pol Henarejos
a9cb5ee87c
More fixes.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-16 12:06:54 +02:00
Pol Henarejos
2c6b14822e
Fixed many bugs. It works.
This is the first commit that passes *some* tests.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-16 11:19:54 +02:00
Pol Henarejos
aa15ad471b
Fix order of items.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-16 11:19:08 +02:00
Pol Henarejos
20038b1586
Lots of efforts for make_Credential.
It DOES NOT pass tests yet.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-16 00:50:19 +02:00
Pol Henarejos
5da2af2c34
Accepting curves for key_derivation as a parameter.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-16 00:49:59 +02:00
Pol Henarejos
9b49d39ccc
Scan files at the beginning.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-16 00:49:25 +02:00
Pol Henarejos
84a91fcbda
Adding known apps.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-16 00:48:58 +02:00
Pol Henarejos
3873303309
Refactor CTAP2 file structure.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-15 14:16:12 +02:00
Pol Henarejos
1fc8b599ec
Fix returned version.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-12 00:47:46 +02:00
Pol Henarejos
4c8242f4c8
Moving CBOR to HID.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-08 20:37:33 +02:00
Pol Henarejos
e9ab270dc3
Using new CTAP header.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-08 17:50:16 +02:00
Pol Henarejos
73f88b6882
Moving from U2F to CTAP1.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-08 17:35:56 +02:00
Pol Henarejos
7ae80ab688
Upgrade to v1.2
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-08 16:54:52 +02:00
Pol Henarejos
573cb15e69
Replace some constants with defines.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-08 14:00:05 +02:00
Pol Henarejos
a1db7ec1ea
Add length check.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-08 13:51:15 +02:00
Pol Henarejos
6025030d58
Moving from HSM SDK to here.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-08 13:50:47 +02:00
Pol Henarejos
b178b139fb
Added user presence flag and global counter on authentication.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-07 20:03:34 +02:00
Pol Henarejos
8a139e70b7
Fix verifying key handle.
Now it works in Firefox!

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-06 21:47:13 +02:00
Pol Henarejos
dda5c25e85
Fix computing HMAC of key path.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-06 21:35:23 +02:00
Pol Henarejos
046706058d
Added support for user enforcement and key check (P1 0x07, 0x03 and 0x08).
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-06 16:54:12 +02:00
Pol Henarejos
694ab2cf87
Fix authentication key_path.
Also adding key parameter for key derivation as optional.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-06 16:53:39 +02:00
Pol Henarejos
6e56874d3e
Adding test user presence on authentication.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-06 16:30:01 +02:00
Pol Henarejos
19dce60d76
It requires user to press the button for confirming registration.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-06 16:24:38 +02:00
Pol Henarejos
9bf20175be
Adding routine for pressing button to test required user presence.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-06 16:24:21 +02:00
Pol Henarejos
f7a6ee1a37
Adding msg version.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-05 17:30:17 +02:00
Pol Henarejos
7ca445a4ca
Adding version file.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-05 17:05:33 +02:00
Pol Henarejos
cf68a6b61f
Adding msg authenticate.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-05 16:48:18 +02:00
Pol Henarejos
888a1c92c5
Fix returning APDU.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-05 16:48:01 +02:00
Pol Henarejos
23a9d2de76
Add file last entry.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-05 14:40:31 +02:00
Pol Henarejos
0024b0728b
Create DEV CERT if not found.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-05 14:40:12 +02:00
Pol Henarejos
7816f2b588
Added msg_register procedure.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-05 11:31:22 +02:00
Pol Henarejos
99f0cb021a
At this moment, no MKEK is necessary.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-05 11:30:58 +02:00
Pol Henarejos
ed0a798f63
Instead of generating a new keypair, all keys are derived from the master key.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-05 11:30:49 +02:00
Pol Henarejos
65b14960ce
Adding MKEK generation on first scan.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-02 18:36:14 +02:00
Pol Henarejos
854c0d6225
Adding REGISTER support. NOT WORKING.
It is preliminary. It does not work.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-02 18:17:48 +02:00
Pol Henarejos
52fa1a6ff5
First commit of fido app. 2022-09-02 18:02:46 +02:00