Zum Inhalt springen
ecdsa.com

COSE (CBOR Object Signing and Encryption)

Das CBOR-Gegenstück zu JOSE (RFC 9052, RFC 9053) für Signaturen, MACs, Verschlüsselung und Schlüssel; genutzt von WebAuthn, mdoc-Führerscheinen, CWTs und C2PA.
Auch geschrieben alsCBOR Object Signing and EncryptionCOSE_Sign1COSE_KeyRFC 9052

Die Nachrichtentypen sind getaggte CBOR-Arrays: COSE_Sign1 (Tag 18) mit geschütztem Header, ungeschütztem Header, Payload und einer Signatur; dazu unter anderem COSE_Sign (98), COSE_Mac0 (17) und COSE_Encrypt0 (16). Die Signatur deckt eine Sig_structure ab, die den Kontext-String Signature1, die Bytes des geschützten Headers, externe zusätzliche Daten und die Payload enthält. ECDSA-Signaturen liegen roh als r‖s vor, wie bei JOSE.

Algorithmen sind Ganzzahlen: −7 ES256, −35 ES384, −36 ES512, −8 EdDSA, −19 Ed25519 und −53 Ed448 (RFC 9864), −257 RS256 (RFC 8812) und −37 PS256 (RFC 8230). Schlüssel sind Maps vom Typ COSE_Key: kty 2 (EC2) mit crv 1 für P-256 oder kty 1 (OKP) mit crv 6 für Ed25519. RFC 9052 und RFC 9053 haben 2022 RFC 8152 abgelöst.

Öffentliche Schlüssel und Attestierungsaussagen von WebAuthn, Mobile Security Objects von ISO mdoc, CWTs und C2PA-Manifeste sind allesamt COSE; der COSE- und CWT-Decoder zeigt die Struktur jedes dieser Objekte.

Standards und Quellen

Alle Begriffe