Commit Graph

192 Commits

Author SHA1 Message Date
Fabian Kaczmarczyck
b4003e36bf adding cbor::Value::from for i64-like enums 2020-06-05 09:48:03 +02:00
Fabian Kaczmarczyck
6a44d3349c fixing merge problems 2020-06-04 14:32:09 +02:00
Julien Cretin
0073c153d2 Propagate the NBYTES constant from Int256 to SecKey 2020-06-04 14:32:04 +02:00
kaczmarczyck
0aa6e57d93 Merge branch 'master' into cred-protect 2020-06-04 14:10:12 +02:00
Julien Cretin
acd9d93107 Merge branch 'master' into aaguid 2020-06-03 11:26:59 +02:00
Julien Cretin
d74a5e8894 Add setter functions and fix tests 2020-06-02 11:35:17 +02:00
Julien Cretin
5f8cb116a5 Only write attestation if compiled with batch attestation 2020-06-02 11:00:26 +02:00
Julien Cretin
98a558a502 Access the persistent keys through the store
This permits to set them using a vendor command and thus not embed their value
in the application.
2020-05-30 20:15:59 +02:00
Julien Cretin
752bf47ed5 Merge branch 'master' into no_wfr 2020-05-28 19:33:33 +02:00
Fabian Kaczmarczyck
a95ef72a93 improved testing, addresses comments and a default level fix 2020-05-25 19:56:29 +02:00
Julien Cretin
4e3162c475 Parse credentials by value 2020-05-15 19:43:37 +02:00
Julien Cretin
146e6f083b Don't rely on unification for array element type 2020-05-14 21:32:16 +02:00
Julien Cretin
ba5caf0691 Filter syscall at platform-level instead of driver-level 2020-05-14 20:19:21 +02:00
Fabian Kaczmarczyck
8d737b3c80 introduces a default level for credProtect 2020-05-13 18:49:35 +02:00
Fabian Kaczmarczyck
43d77fd106 implements the credProtect extension 2020-05-13 16:38:14 +02:00
Julien Cretin
cf31110922 Define the storage locations in the board 2020-05-13 15:17:35 +02:00
Julien Cretin
ca6f910c26 Remove unknown fields 2020-05-13 11:09:32 +02:00
Julien Cretin
491721b421 Rename extend_cbor_map_options 2020-05-11 16:07:59 +02:00
Julien Cretin
e6fdcacd32 Remove mention to protobuf 2020-05-11 15:18:27 +02:00
Julien Cretin
f4b791ed91 Encode credentials as a protocol buffer message
This permits to decode a credential of a different version without failing.
2020-05-09 20:57:13 +02:00
Julien Cretin
ecf02eb6ce Only store the storage location in the Kernel 2020-05-08 17:00:59 +02:00
Julien Cretin
3edb387615 Remove writable flash regions support
Removing support for writable flash regions permits to save 1 page in the binary
due to alignment constraints. It also permits to reduce the diff with libtock-rs
which doesn't support writable flash regions.

This commit also updates the `SyscallStorage` documentation.
2020-05-06 15:18:27 +02:00
Julien Cretin
718514d207 Merge branch 'master' into no_wfr 2020-04-29 15:12:39 +02:00
Julien Cretin
5c2b72ce83 Move storage bound checking to driver 2020-04-29 15:09:50 +02:00
Julien Cretin
892f950cc1 Add missing cfg 2020-04-29 12:59:22 +02:00
Julien Cretin
6247098069 Do not use writeable flash regions for persistent storage
They don't play well with DFU.
2020-04-29 12:52:31 +02:00
Fabian Kaczmarczyck
8bbf42623f adds cargo checks and tests to workflows and locally 2020-04-29 09:53:44 +02:00
Fabian Kaczmarczyck
d9c4c729e8 adds a feature flag for CTAP2.1, addresses comments 2020-04-28 16:04:09 +02:00
Fabian Kaczmarczyck
8f20a75b17 add 2.1 features to GetInfo 2020-04-20 18:24:11 +02:00
Fabian Kaczmarczyck
a64d5d41d7 accept the algorithm identifier used by OpenSSH 2020-04-09 15:56:23 +02:00
Julien Cretin
1a337ab90d Fix typos in documentation 2020-03-23 12:57:27 +01:00
Julien Cretin
4a9cc3ce2e Add more details to the store documentation 2020-03-22 17:17:21 +01:00
Julien Cretin
b798b195f4 Return invariant status only and assert in test 2020-03-18 11:10:01 +01:00
Julien Cretin
e1fa8549e1 Merge branch 'master' into wipe 2020-03-18 10:59:24 +01:00
Guillaume Endignoux
8f4d4c1210 Add a --verbose parameter to print all USB packets at the OpenSK level. 2020-03-13 15:59:51 +01:00
Fabian Kaczmarczyck
db6be4efac apply suggestions: Vec to slice, if let to match, comments 2020-03-12 16:38:00 +01:00
Fabian Kaczmarczyck
8d52e8aad7 adding HMAC-secret support 2020-03-12 16:37:48 +01:00
Julien Cretin
61a4fb9784 Wipe sensitive data on entry deletion
When inserting (or replacing) entries in the store, the data may be marked as
sensitive. When that entry is deleted, the data is wiped by overwritting it with
zeroes. This may cost a few bytes of overhead per entry with sensitive data to
satisfy the constraint that words may only be written twice.
2020-03-10 14:27:07 +01:00
Julien Cretin
e52a671810 Support storing in RAM instead of flash
This permits to run without persistent storage. The benefit is that the board
doesn't implement a the syscall API in Tock. The disadvantage is that rebooting
the key will reset the storage.
2020-03-04 16:24:06 +01:00
Guillaume Endignoux
56acc4b73a Don't dereference slices obtained from include_bytes. 2020-02-06 13:28:28 +01:00
Jean-Michel Picod
fdbfb1be2a Change the way private key and cert are embedded.
OpenSSL seems to serialize bigints as signed value, which means the ECC
key may end up being 33 bytes instead of the 32 bytes we're expecting,
causing build to fail.
The shell script extraction is now replaced by a build.rs script that
uses OpenSSL to extract the content and do sanity checks.
Forcing generating cryptographic materials now always generate a key and
a certificate (useful to compile/flash multiple keys without them being
considered as clones). The self-signed CA is left untouched.
2020-02-05 18:48:28 +01:00
Jean-Michel Picod
f91d2fd3db Initial commit 2020-01-30 11:47:29 +01:00