vtcsec_summit
Conor 2016-03-30 23:05:59 -04:00
rodzic 9a502872c8
commit b2db5d666b
1 zmienionych plików z 22 dodań i 5 usunięć

Wyświetl plik

@ -4,9 +4,6 @@ U2F Zero
======== ========
Overview Overview
======= =======
@ -86,6 +83,26 @@ U2F layer:
* u2f.h * u2f.h
* u2f-atecc.c // device specific implementation * u2f-atecc.c // device specific implementation
## Random number generation
U2F Zero has a hardware true random number generator (TRNG). It's used internally
for key generating and signing but it's also exposed to the user for other use cases because
a good source of entropy can be useful.
Generate random numbers from the device:
```python
cd tools/u2f_zero_client
./client.py rng # output randomness at about 1400 bytes/s
```
Update the seed with user supplied data:
```python
cd tools/u2f_zero_client
cat /dev/random | ./client.py seed # update seed at about 410 bytes/s
```
## Build a U2F Zero token yourself ## Build a U2F Zero token yourself
What's the point of an open source project if you can't build it yourself? What's the point of an open source project if you can't build it yourself?
@ -139,8 +156,8 @@ First open "app.h" and uncomment "ATECC_SETUP_DEVICE". Now build and program th
Now to check the device works, lock it, and get the public key used for attestation. Now to check the device works, lock it, and get the public key used for attestation.
```bash ```bash
cd tools/hid_config cd tools/u2f_zero_client
./config.py pubkey.hex ./client.py configure pubkey.hex
``` ```
The ECC public key X,Y values will be stored in hex in pubkey.hex if setup is successful. The ECC public key X,Y values will be stored in hex in pubkey.hex if setup is successful.