Commit Graph

373 Commits

Author SHA1 Message Date
Pol Henarejos
eaa0265f74
Adding import dkek shares.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-18 15:46:46 +01:00
Pol Henarejos
e59c0d08c4
Adding initialization.
- PINs are never stored, neither in flash nor in RAM.
- PINs are stored in flash in doubled salted way.
- PINs are stored in RAM in single salted way.
- SOPIN in RAM (single salted) is used to encrypt/decrypt DKEK.
- PINs in RAM (single salted) are used to encrypt/decrypt private keys related with user/so pins.
- DKEK is only used to export/import data.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-18 13:28:41 +01:00
Pol Henarejos
0fa7f4cd54
Added DKEK file.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-18 13:25:32 +01:00
Pol Henarejos
4bb756b17c
Fix when clearing file. It was omitting fid field and thus causing misalignment and corruption data.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-18 13:25:19 +01:00
Pol Henarejos
1630c7b52d
Adding unique_id variable.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-18 10:39:03 +01:00
Pol Henarejos
633f005efd
Adding INS_CHALLENGE for DKEK generation.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-17 19:50:12 +01:00
Pol Henarejos
4ccc457fab
Using mbedtls tag v3.1.0
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-17 19:46:02 +01:00
Pol Henarejos
f7553a0a75
Fix bug of not refilling after random bytes are requested.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-17 19:45:23 +01:00
Pol Henarejos
c2733e8977
Using files from mbedtls submodule
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-17 19:17:24 +01:00
Pol Henarejos
34a0027e78
Not used as they are pulled from submodule
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-17 19:16:55 +01:00
Pol Henarejos
71cf36bbe1
Adding mbedtls submodule
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-17 19:03:27 +01:00
Pol Henarejos
ad28c3721a
Not used
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-17 19:00:59 +01:00
Pol Henarejos
c8325babb2
Fixed pin reset
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-14 00:29:04 +01:00
Pol Henarejos
86cef892ff
Adding PIN reset counter.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-13 18:27:49 +01:00
Pol Henarejos
7e5352940b
Moving submodule to patches branch.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-13 17:21:00 +01:00
Pol Henarejos
6b86e5dadd
Adding max retries EF
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-13 17:12:03 +01:00
Pol Henarejos
f91c60efa2
Setting tag
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-13 01:20:14 +01:00
Pol Henarejos
e3e7221d09
Adding OpenSC submodule.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-13 01:18:52 +01:00
Pol Henarejos
0017284103
Starting migration from gnuk to own solution.
gnuk/openpgp will be left as another pkcs15 app.
Lots of work has been done in the meanwhile.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-13 01:17:14 +01:00
Pol Henarejos
210fa98ca4
Added scan procedure to load fixed files (i.e., pins) from flash memory.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-07 11:15:20 +01:00
Pol Henarejos
bb5da16da6
Removing stuff with old read/write. Currently OPENPGP does not work and it won't until we finish the migration.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-07 11:14:33 +01:00
Pol Henarejos
0c43939de2
Fixed lots of write/read stuff.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-07 11:13:37 +01:00
Pol Henarejos
badb1780c6
Added read procedures to take values from the cache.
Fixed lockcout bug.
Added wait_to_finish procedure, which blocks until all cache is written into the ram.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-07 11:13:13 +01:00
Pol Henarejos
565b61926a Merge branch 'gnuk' into main 2022-02-05 14:21:20 +01:00
Pol Henarejos
39c7a6f12a
Some other not compiling changes
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-05 10:27:12 +01:00
Pol Henarejos
222471acb1
We also include the fid into flash files.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-05 01:54:38 +01:00
Pol Henarejos
30a517908c
Rewrite flash from scratch. We are migrating to a file system approach.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-05 01:31:24 +01:00
Pol Henarejos
565f64bcbe
Added TokenInfo file. Generate PKCS15_TokenInfo structure with make_pkcs15_to_der script
Added applet selection.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-04 00:29:30 +01:00
Pol Henarejos
f7adf39f81
Added support for ACL
Added support for READ BINARY (B0 and B1)

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-03 15:35:49 +01:00
Pol Henarejos
af1280ca0b
Fix with extended APDU
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-03 15:35:09 +01:00
Pol Henarejos
9e5a8b0f0f
Adding additional messages.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-03 11:27:20 +01:00
Pol Henarejos
df1f81c61c
Adding ISO 7816 select procedure.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-03 11:27:10 +01:00
Pol Henarejos
f7c2c0afaa
Adding support for extended APDU.
Added SC-HSM ATR

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-03 11:26:31 +01:00
Pol Henarejos
f262391d62
Adding some big endian uint16_t functions
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-03 11:26:05 +01:00
Pol Henarejos
08e6e2d2dd
Return when a write fails
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-03 11:25:40 +01:00
Pol Henarejos
756d9a3d5b
Migrating from PolarSSL to MBEDTLS 3.1 (formerly PolarSSL).
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-01-24 18:14:42 +01:00
Pol Henarejos
62beedfccc
- Fix with obtaining random number
- Making optional the argument of f_rng

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-01-24 18:11:20 +01:00
Pol Henarejos
d9697003a3
Better debug of gnuk stuff
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-01-24 18:07:41 +01:00
Pol Henarejos
fcfe24b089
Fix erase sector.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-01-24 18:04:56 +01:00
Pol Henarejos
937517258e
Fix flash size pages
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-01-24 18:02:30 +01:00
Pol Henarejos
90ee12ed96
Fix a bug where multiple incoming APDU may come
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-01-24 18:02:05 +01:00
Pol Henarejos
08d56af6f3
Debuging address too
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-01-24 18:01:43 +01:00
Pol Henarejos
af7ef7856b
Some adjustments
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-01-19 01:16:59 +01:00
Pol Henarejos
b6eaac895d
Reducing the timeout to be catched by the host
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-01-19 01:16:24 +01:00
Pol Henarejos
cf23fb45ba
Victim init in the core 1
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-01-19 01:15:10 +01:00
Pol Henarejos
9777219ebb
The other core needs to be paused. This is funny because it is not documented in anywhere. Lots of hours spent on this.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-01-19 00:55:45 +01:00
Pol Henarejos
189c095f1f
Flash procedures shall be called from core 0.
We created an exclusive mechanism to share cached pages to write onto flash.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-01-18 00:17:43 +01:00
Pol Henarejos
702b8ee4ff
Added neug task to main loop.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-01-14 23:44:23 +01:00
Pol Henarejos
1156734721
Rewritte random procedures in neug. Random bytes are obtained by using ROSC and FNV.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-01-14 23:43:20 +01:00
Pol Henarejos
9eaf877fe2
Playing with RNG. It seems to work. Needs further testing
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-01-10 18:08:32 +01:00