Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Algorithm support #42

Open
4 of 9 tasks
sosthene-nitrokey opened this issue Dec 4, 2023 · 3 comments
Open
4 of 9 tasks

Algorithm support #42

sosthene-nitrokey opened this issue Dec 4, 2023 · 3 comments

Comments

@sosthene-nitrokey
Copy link
Collaborator

Asymmetric keys

Symmetric keys (management)

  • AES 256
  • TDES (not recommended)
@stv0g
Copy link

stv0g commented May 25, 2024

We should support the new PIV Card Algorithm Identifiers from NIST SP 800-78-5 ipd (Initial Public Draft):

Algorithm Identifier Algorithm – Mode
0x00 3 Key Triple DES – ECB (deprecated)
0x03 3 Key Triple DES – ECB (deprecated)
0x05 RSA 3072 bit modulus, 65537 ≤ exponent ≤ 2256 - 1
0x06 RSA 1024 bit modulus, 65537 ≤ exponent ≤ 2256 - 1
0x07 RSA 2048 bit modulus, 65537 ≤ exponent ≤ 2256 - 1
0x08 AES-128 – ECB
0x0A AES-192 – ECB
0x0C AES-256 – ECB
0x11 ECC: Curve P-256
0x14 ECC: Curve P-384
0x27 Cipher Suite 2
0x2E Cipher Suite 7

RSA 3072, RSA 4096, X25519 and Ed25519 are now also supported by YubiKeys with firmware versions 5.7.0 and newer:

They use the following non-standard identifiers:

Algorithm Identifier Algorithm – Mode
0x16 RSA 4096 bit modulus, 65537 ≤ exponent ≤ 2256 - 1
0xE0 Ed25519
0xE1 X25519

See: YubiKey 5.7 Firmware Specifics

Please note that 0xE0 and 0xE1 are clashing with piv-authenticators current non-standard ids:

P521 = 0x15,
// non-standard!
Rsa3072 = 0xE0,
Rsa4096 = 0xE1,
Ed25519 = 0xE2,
X25519 = 0xE3,
Ed448 = 0xE4,
X448 = 0xE5,
// non-standard! picked by Alex, but maybe due for removal
P256Sha1 = 0xF0,
P256Sha256 = 0xF1,
P384Sha1 = 0xF2,
P384Sha256 = 0xF3,
P384Sha384 = 0xF4,

@stv0g
Copy link

stv0g commented May 25, 2024

I propose we adjust the piv-authenticator non-standard IDs with those from Yubico, as we have the flexibility to update firmwares which Yubikeys do not and it would improve interoperability.

@mmerklinger
Copy link

Final publication of NIST SP 800-78-5.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants