Commit Graph

139 Commits

Author SHA1 Message Date
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