kopia lustrzana https://github.com/conorpp/u2f-zero
vtcsec_summit
rodzic
9a502872c8
commit
b2db5d666b
27
README.md
27
README.md
|
@ -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.
|
||||||
|
|
Ładowanie…
Reference in New Issue