Aller au contenu
ecdsa.com

COSE (signature et chiffrement d’objets CBOR)

L’équivalent CBOR de JOSE (RFC 9052, RFC 9053) pour signatures, MAC, chiffrement et clés, utilisé par WebAuthn, les permis de conduire mdoc, les CWT et C2PA.
Autres graphiesCBOR Object Signing and EncryptionCOSE_Sign1COSE_KeyRFC 9052

Les types de messages sont des tableaux CBOR étiquetés : COSE_Sign1 (tag 18) avec en-tête protégé, en-tête non protégé, charge utile et une signature ; COSE_Sign (98), COSE_Mac0 (17) et COSE_Encrypt0 (16), entre autres. La signature porte sur une Sig_structure qui comprend la chaîne de contexte Signature1, les octets de l’en-tête protégé, les données additionnelles externes et la charge utile. Les signatures ECDSA sont au format brut r‖s, comme dans JOSE.

Les algorithmes sont des entiers : −7 ES256, −35 ES384, −36 ES512, −8 EdDSA, −19 Ed25519 et −53 Ed448 (RFC 9864), −257 RS256 (RFC 8812) et −37 PS256 (RFC 8230). Les clés sont des maps COSE_Key : kty 2 (EC2) avec crv 1 pour P-256, ou kty 1 (OKP) avec crv 6 pour Ed25519. La RFC 9052 et la RFC 9053 ont remplacé la RFC 8152 en 2022.

Les clés publiques et les déclarations d’attestation WebAuthn, les objets de sécurité mobiles des mdoc ISO, les CWT et les manifestes C2PA relèvent tous de COSE ; le décodeur COSE/CWT montre la structure de chacun d’eux.

Normes et références

Tous les termes