Pol Henarejos
e29b3143ed
Moving pointer
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-13 18:49:08 +01:00
Pol Henarejos
5419ff74ee
Using file_has_data() to check contents.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-13 18:07:50 +01:00
Pol Henarejos
723011078c
Using file_has_data() instead of data directly.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-12 20:06:31 +01:00
Pol Henarejos
fe7c0333ab
Some emulation fixes.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-12 20:06:11 +01:00
Pol Henarejos
c01940b62b
Fix accessing way to data.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-12 20:05:59 +01:00
Pol Henarejos
7195a8f3ec
Fix headers in emulation mode.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-12 20:05:46 +01:00
Pol Henarejos
7764de4e10
Unused headers.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-12 20:05:16 +01:00
Pol Henarejos
e05c526b4d
Fix printf format.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-12 20:04:55 +01:00
Pol Henarejos
bc20f98b44
In emulation, return always 1mb of memory.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-12 20:04:44 +01:00
Pol Henarejos
742c3f3e3c
RTC command is not available in emulation.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-12 20:04:23 +01:00
Pol Henarejos
9793977ffc
Fixed double counter increment.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-12 20:04:05 +01:00
Pol Henarejos
6c85772fff
Added emulated build capability.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-12 20:03:42 +01:00
Pol Henarejos
9ff3254a4c
Update to latest HSM SDK.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-12-22 22:50:54 +01:00
Pol Henarejos
7d906851dd
Updating to newer version of Pico HSM SDK.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-12-20 23:51:49 +01:00
Pol Henarejos
691aa3308c
Fix when importing a dkek and it fails.
...
Now the dkek state is returned to the previous one.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-12-06 20:11:26 +01:00
Pol Henarejos
6a57e67629
Fix importing dkek twice.
...
It is not allowed anymore.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-12-06 20:04:18 +01:00
Pol Henarejos
202c8a4b22
Credentials are not necessary when importing DKEK.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-12-06 20:00:32 +01:00
Pol Henarejos
f2874ae3ef
Fix when ping is provided during the initialization.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-12-06 20:00:19 +01:00
Pol Henarejos
9e9cf9b768
Upgrading version to v3.2.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-12-06 19:00:44 +01:00
Pol Henarejos
c95dee84f2
Changing backend service url.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-12-06 19:00:35 +01:00
Pol Henarejos
65cde9960f
Upgrading version to v3.2.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-12-04 17:42:03 +01:00
Pol Henarejos
7ca96178fb
Moving HSM SDK pointer to latest release.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-28 18:54:22 +01:00
Pol Henarejos
e70461e551
Merge branch 'master' into development
2022-11-15 17:40:29 +01:00
Pol Henarejos
63c85000d0
Added support for kdf.
...
It supports HKDF, PBKDF2 and X963, with multiple MD (SHA family), salt/nonces and configurable output size.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-15 00:15:59 +01:00
Pol Henarejos
4113f6a65d
Fix parsing PBKDF2 params.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-15 00:14:39 +01:00
Pol Henarejos
f98d744076
Add apdu.ne check for large buffers.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-14 18:04:44 +01:00
Pol Henarejos
bb4c293736
Adding subparsers for subcommands.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-14 16:27:51 +01:00
Pol Henarejos
aa8b1e6efe
Added support for X963 KDF.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-14 15:38:16 +01:00
Pol Henarejos
0cb2e8ec2e
Added PBES2 key derivation with encryption and decryption support.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-14 13:07:49 +01:00
Pol Henarejos
0e96753ccb
Added support for PBKDF2.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-14 12:01:27 +01:00
Pol Henarejos
2b2df22d75
Added support for configurable HKDF.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-14 10:14:54 +01:00
Pol Henarejos
f65167e3c7
Adding support for keypair generation for Curve25519 and Curve448.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-11 17:10:34 +01:00
Pol Henarejos
8fe2677a56
Fix cofactor return with cvc.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-11 17:08:36 +01:00
Pol Henarejos
d09a7cf9c8
If self-signature fails, puts all-0.
...
When generating a keypair and returns a self-signed CVREQ, the signature might fail for Curve25519 and Curve448. Instead of returning null, it puts zeros in order to return what is expected to return.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-11 17:04:17 +01:00
Pol Henarejos
6bf72e5a59
Added support for HMAC-SHA1, HMAC-SHA224, HMAC-SHA256, HMAC-SHA384 and HMAC-SHA512.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-08 17:26:32 +01:00
Pol Henarejos
7c877ebea2
Using file_out parameter.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-07 22:31:19 +01:00
Pol Henarejos
e1983f7bcc
Now is possible pipe encrypt & decrypt commands.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-07 22:16:10 +01:00
Pol Henarejos
a5e025a4e5
If no applet is selected, then select it.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-07 21:37:42 +01:00
Pol Henarejos
a7682d2639
Adding Extended Cipher feature.
...
With this new subcommand, Pico HSM will support newer cipher algorithms.
ChaCha20-Poly1305 is the first. It will be based on a custom P2 subcommand to support an arbitrary structure with multiple parameters (AAD, IV, etc.)
pico-hsm-tool.py shall be used.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-07 21:37:11 +01:00
Pol Henarejos
30301c68f1
Linux uses the generic interface. Needs deep testing.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-07 13:14:37 +01:00
Pol Henarejos
abf980d84e
Fixes in windows backend.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-03 18:41:02 +01:00
Pol Henarejos
8718f55df2
Adding secure_key for windows.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-03 18:26:35 +01:00
Pol Henarejos
d1a3a24527
Import secure_key only when needed.
...
Now, it does not block anymore the entire execution of pico tool.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-03 16:09:42 +01:00
Pol Henarejos
f363b77a07
Adding secure_key for macOS.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-03 16:06:06 +01:00
Pol Henarejos
00279da8d5
Adding Secure Lock to lock the device with a random 256 bit key.
...
This is an extra layer of security to avoid brute force attacks if PIN is too weak.
At every hard reset (on device plug), the device must be unlocked prior any other command. Once unlocked, the device can be used as usual.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-10-31 15:09:54 +01:00
Pol Henarejos
eda8b53949
Memory cleanup on ECDH.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-10-31 12:54:44 +01:00
Pol Henarejos
cfc0cc8f6e
Some optimizations.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-10-31 00:38:30 +01:00
Pol Henarejos
ab61b2a2d5
Fix returning public key of koblitz curve secp_k1.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-10-31 00:38:21 +01:00
Pol Henarejos
f79a6ed30a
Do not override Ne.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-10-30 23:42:12 +01:00
Pol Henarejos
4313722b06
Fix memory free on keygen ecc.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-10-30 23:15:22 +01:00
Pol Henarejos
eec4612a6f
Fix when secure message cannot be correctly processed.
...
It is discarded.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-10-30 21:11:06 +01:00
Pol Henarejos
b2ac893efc
Fix general authentication with AES.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-10-30 21:09:41 +01:00
Pol Henarejos
3835507e00
Fix displaying error message if pycvc is missing.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-10-29 11:35:54 +02:00
Pol Henarejos
4536589e2c
Added error message if package is missing.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-10-10 11:02:07 +02:00
Pol Henarejos
1e39558fbc
Typo
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-10-10 00:39:32 +02:00
Pol Henarejos
a089cc279b
Adding support for changing SO-PIN.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-10-10 00:37:56 +02:00
Pol Henarejos
84f646dbad
Fix storing SO-PIN session when checking PIN with SO-PIN.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-10-10 00:37:33 +02:00
Pol Henarejos
b9ec473aaa
Fix critical bug saving SO-PIN securely.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-10-10 00:27:46 +02:00
Pol Henarejos
b7eb0dff02
Upgrade to Version 3.0.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-10-09 22:27:11 +02:00
Pol Henarejos
67ea640a14
Fix endianness of patcher (again)
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-10-09 22:20:41 +02:00
Pol Henarejos
f593060007
Moving delete_file() outside.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-10-09 22:07:21 +02:00
Pol Henarejos
8504eed35c
Adding fixes and moving to Mbedtls 3.2.1
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-10-09 22:07:10 +02:00
Pol Henarejos
8b29b137a8
Small fixes.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-10-09 22:04:30 +02:00
Pol Henarejos
e6767f4c0a
Moving pointer.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-09-25 23:25:16 +02:00
Pol Henarejos
6affe64ec5
Adding missing file to pico-hsm-sdk.
2022-08-31 14:19:32 +02:00
Pol Henarejos
ab75718927
Using pico_hsm_sdk library instead.
2022-08-31 14:10:04 +02:00
Pol Henarejos
9e1747e539
Upgrading pico-hsm-sdk version to v3.0
2022-08-31 14:09:02 +02:00
Pol Henarejos
a7396dc698
Fix the endianness of vid/pid patcher.
2022-08-31 14:08:29 +02:00
Pol Henarejos
67699bd24c
Before initializing, we select the applet.
2022-08-30 17:55:56 +02:00
Pol Henarejos
62c72c48a5
Moving to new pico-hsm-sdk.
2022-08-30 17:55:42 +02:00
Pol Henarejos
3944c8437a
Moving to pico-hsm-sdk
2022-08-30 17:54:38 +02:00
Pol Henarejos
b7d603342e
Upgrading pico-ccid
2022-08-29 11:32:39 +02:00
Pol Henarejos
6e5db3c292
Upgrading pico-ccid to version 2.2
2022-08-29 11:31:47 +02:00
Pol Henarejos
4fb26559f4
Adding --so-pin flag for initialize command.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-25 13:47:42 +02:00
Pol Henarejos
c366c1d1a3
Added datetime and options menu to manipulate the RTC and options (press-to-confirm button and optional counter for each key).
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-25 13:38:09 +02:00
Pol Henarejos
e8cc6a169e
Try to recover MKEK twice: with previous PIN/SO-PIN or after setting the new PIN/SO-PIN just in case some is the same as previous.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-25 01:51:16 +02:00
Pol Henarejos
7d7b6b88ba
Trying to recover MKEK to preserver device private key. If not, all are generated again.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-25 01:51:16 +02:00
Pol Henarejos
138af5c113
Adding --pin parameter for initialization.
...
If provided, it unlocks MKEK before initialization.
If not, it will generate a new MKEK and device certificate.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-25 01:51:16 +02:00
Pol Henarejos
b3bcad9ce6
Making MKEK persistent.
...
It must be persistent as it encrypts device private key and therefore it must survive across reinitializations.
However, if no PIN is provided to unlock it, it will be lost, as with device private key.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-25 01:51:16 +02:00
Pol Henarejos
cd6f898f8e
Fix storing certs in DER format.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-25 01:51:16 +02:00
Pol Henarejos
9ef088971b
Integrate all commands to a single script
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-25 01:51:16 +02:00
Pol Henarejos
e399b1c0b1
Renaming the tools and moving to tools/ folder.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-25 01:51:16 +02:00
Pol Henarejos
c5e4583762
Add a tool for attestation of a private key.
...
It looks for a particular private key and generates a report with some useful information and validates the source of the private key, whether it is generated in this device or outside.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-23 14:54:38 +02:00
Pol Henarejos
38b9c06138
Reformat oids.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-23 14:52:44 +02:00
Pol Henarejos
df18a1e917
Added header.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-23 00:50:07 +02:00
Pol Henarejos
2bc40771ca
Fix generating CVC REQ.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-23 00:50:06 +02:00
Pol Henarejos
c5f980fc98
Fix curve for ECDH key.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-22 01:13:08 +02:00
Pol Henarejos
aebb68724a
Removing trailing spaces.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-19 01:44:27 +02:00
Pol Henarejos
1f2ccd8c1c
Not used.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-19 01:40:13 +02:00
Pol Henarejos
874058d86a
Pull last changes in pico-ccid.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-19 00:03:09 +02:00
Pol Henarejos
8fccb80295
New burn-certs is called after compilation, not before. Not needed anymore.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-18 23:58:38 +02:00
Pol Henarejos
c9c60575c7
Removed 3DES as it is unsecure.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-18 23:55:21 +02:00
Pol Henarejos
7e6ed20b26
Not downloading nested submodules for tinyusb
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-18 23:53:49 +02:00
Pol Henarejos
52c7be4e16
Also clone nested submodules
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-18 23:38:50 +02:00
Pol Henarejos
36d250fc2b
Github does not clone submodules. So, let's do it
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-18 23:33:52 +02:00
Pol Henarejos
84ba0e03de
Fix missing TinyUSB submodule
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-18 23:31:17 +02:00
Pol Henarejos
7d27c4b546
Fix autobuild
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-18 23:28:29 +02:00
Pol Henarejos
80b2bab0f8
Granting root to apt
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-18 23:23:58 +02:00
Pol Henarejos
79372ced2f
Just install the SDK in the workflow
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-18 23:21:42 +02:00
Pol Henarejos
fb76c23694
Let's try our autobuild
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-18 23:00:09 +02:00