Commit Graph
49 Commits
Author SHA1 Message Date
Sosthène Guédonandsosthene-nitrokey 3786e3cee0 Fix typo 2023-04-05 10:11:39 +02:00
Sosthène Guédonandsosthene-nitrokey 718cec7d85 Improve documentation 2023-04-05 10:11:39 +02:00
Sosthène Guédonandsosthene-nitrokey cc33cb666c Improve naming 2023-04-05 10:11:39 +02:00
Sosthène Guédonandsosthene-nitrokey 9125e55c58 Fix comments 2023-04-05 10:11:39 +02:00
Sosthène Guédonandsosthene-nitrokey 02eb7df2e1 Add reset_pin_key
This syscall allows resetting a pin. Unlike `set_pin`, it takes a key as parameter.
This key will be returned by future calls to `get_pin_key`.
Unlike `change_pin` this doesn't require knowledge of the current value of the PIN.

The goal is to allow resetting a PIN from another source. For example,
OpenPGP smartcards need to be able to reset the user pin given an admin pin
With this patch, this can be done by using the admin key to wrap the user key.
2023-04-05 10:11:39 +02:00
Sosthène GuédonandRobin Krahl 308567df8c Bump version number v0.1.1 2023-03-06 18:56:54 +01:00
Sosthène GuédonandRobin Krahl 509a810f5e Add support for missing HW key 2023-03-06 18:56:54 +01:00
Robin Krahl c8ffeddf37 Release v0.1.0 v0.1.0 2023-03-03 12:53:17 +01:00
Robin Krahl bb13c5606a Change PIN data path
This patch changes the path used to store PIN data inside the client
namespace from backend-auth/pin/<id> to backend-auth/pin.<id> to make
better use of the available space.

It also adds documentation for the filesystem layout.

Fixes https://github.com/trussed-dev/trussed-auth/issues/9
2023-03-03 12:39:26 +01:00
Sosthène GuédonandMarkus Meissner b307dafb57 Document PIN key derivation process 2023-03-03 11:13:50 +01:00
Sosthène GuédonandMarkus Meissner 53324f61b1 Bump trussed, drop platform as a trait parameter 2023-03-03 11:13:50 +01:00
Sosthène GuédonandMarkus Meissner 7d3dcfe7b7 Fix clippy warnings 2023-03-03 11:13:50 +01:00
Sosthène GuédonandMarkus Meissner 175ef9ab1a Workaround cbor-smol bug 2023-03-03 11:13:50 +01:00
Sosthène GuédonandMarkus Meissner b2c06072e1 Implement Pin change 2023-03-03 11:13:50 +01:00
Sosthène GuédonandMarkus Meissner ba9e0f4b6c Implement fetching the pin keys and add tests 2023-03-03 11:13:50 +01:00
Sosthène GuédonandMarkus Meissner 1f83b95678 Add test for wrapped keys 2023-03-03 11:13:50 +01:00
Sosthène GuédonandMarkus Meissner 6d5022fb82 Fix clippy warnings 2023-03-03 11:13:50 +01:00
Sosthène GuédonandMarkus Meissner 79b9e8faed Add key wrapping capabilities for PINs 2023-03-03 11:13:50 +01:00
Sosthène GuédonandMarkus Meissner e6dab308b5 Implement application_key derivition 2023-03-03 11:13:50 +01:00
Robin Krahl e099a2ffdb Flatten backend directory
To save blocks in the filesystem, flatten the directory hierarchy by
changing the backend directory from backend/auth to backend-auth.
2023-03-02 18:14:54 +01:00
Robin Krahl f7e575445c Update serde-byte-array 2023-03-02 18:14:54 +01:00
Robin Krahl 6b9e316f5e Improve byte array serialization
Per default, byte arrays are serialized inefficiently by serde.
serde-byte-array provides a wrapper type with a more efficient
serialization format.

Fixes https://github.com/trussed-dev/trussed-auth/issues/11
2023-02-24 11:23:17 +01:00
Robin Krahl 97eeb4c4ff Add Auth extension and backend with PIN handling
This patch implements a basic Auth extension and backend that provides
PIN handling.  Policies still have to be enforced by the client.

Fixes https://github.com/trussed-dev/trussed-auth/issues/1
2023-02-20 10:14:12 +01:00
Robin Krahl c8ea7cf83b Initial commit 2023-02-03 08:54:37 +01:00