RFC 7515 - JSON Web Signature (JWS)
- Statut: Proposed Standard
- Publié: May 2015
- Stream: IETF
- Errata: Pas d'errata
Résumé (Abstract)
JSON Web Signature (JWS) représente du contenu sécurisé avec des signatures numériques (Digital Signatures) ou des codes d'authentification de message (Message Authentication Codes, MACs) en utilisant des structures de données basées sur JSON. Les algorithmes cryptographiques et les identifiants à utiliser avec cette spécification sont décrits dans la spécification JSON Web Algorithms (JWA) séparée et dans un registre IANA défini par cette spécification. Les capacités de chiffrement associées sont décrites dans la spécification JSON Web Encryption (JWE) séparée.
Table des matières (Contents)
- 1. Introduction
- 1.1 Conventions de notation
- 2. Terminology (Terminologie)
- 3. JSON Web Signature (JWS) Overview (Aperçu de JWS)
- 3.1 JWS Compact Serialization Overview
- 3.2 JWS JSON Serialization Overview
- 3.3 Example JWS
- 4. JOSE Header (En-tête JOSE)
- 4.1 Registered Header Parameter Names
- 4.2 Public Header Parameter Names
- 4.3 Private Header Parameter Names
- 5. Producing and Consuming JWSs (Production et consommation de JWS)
- 5.1 Message Signature or MAC Computation
- 5.2 Message Signature or MAC Validation
- 5.3 String Comparison Rules
- 6. Key Identification (Identification de clé)
- 7. Serializations (Sérialisations)
- 7.1 JWS Compact Serialization
- 7.2 JWS JSON Serialization
- 8. TLS Requirements (Exigences TLS)
- 9. IANA Considerations (Considérations IANA)
- 9.1 JSON Web Signature and Encryption Header Parameters Registry
- 9.2 Media Type Registration
- 10. Security Considerations (Considérations de sécurité)
- 10.1 Key Entropy and Random Values
- 10.2 Key Protection
- 10.3 Key Origin Authentication
- 10.4 Cryptographic Agility
- 10.5 Differences between Digital Signatures and MACs
- 10.6 Algorithm Validation
- 10.7 Algorithm Protection
- 10.8 Chosen Plaintext Attacks
- 10.9 Timing Attacks
- 10.10 Replay Protection
- 10.11 SHA-1 Certificate Thumbprints
- 10.12 JSON Security Considerations
- 10.13 Unicode Comparison Security Considerations
- 11. References (Références)
- 11.1 Normative References
- 11.2 Informative References
Annexes (Appendices)
- Appendix A. JWS Examples (Exemples JWS)
- A.1 Example JWS Using HMAC SHA-256
- A.2 Example JWS Using RSASSA-PKCS1-v1_5 SHA-256
- A.3 Example JWS Using ECDSA P-256 SHA-256
- A.4 Example JWS Using ECDSA P-521 SHA-512
- A.5 Example Unsecured JWS
- A.6 Example JWS Using General JWS JSON Serialization
- A.7 Example JWS Using Flattened JWS JSON Serialization
- Appendix B. "x5c" (X.509 Certificate Chain) Example
- Appendix C. Notes on Implementing base64url Encoding without Padding
- Appendix D. Notes on Key Selection
- Appendix E. Negative Test Case for "crit" Header Parameter
- Appendix F. Detached Content
- Acknowledgements (Remerciements)
Ressources associées
- RFC officiel : RFC 7515
- Page officielle : RFC 7515 DataTracker
- Errata : RFC Editor Errata
Suite de spécifications JOSE
- RFC 7515 - JSON Web Signature (JWS) ← Ce document
- RFC 7516 - JSON Web Encryption (JWE)
- RFC 7517 - JSON Web Key (JWK)
- RFC 7518 - JSON Web Algorithms (JWA)
- RFC 7519 - JSON Web Token (JWT)
Appendices (Annexes)
Appendix A. JWS Examples (Exemples JWS)
L'annexe A fournit plusieurs exemples complets de JWS, notamment:
A.1. Example JWS Using HMAC SHA-256 (Exemple JWS avec HMAC SHA-256)
Démontre le processus complet de création et de validation d'un JWS avec l'algorithme HMAC SHA-256.
A.2. Example JWS Using RSASSA-PKCS1-v1_5 SHA-256 (Exemple JWS avec RSA)
Démontre un JWS utilisant l'algorithme de signature RSA.
A.3. Example JWS Using ECDSA P-256 SHA-256 (Exemple JWS avec ECDSA)
Démontre un JWS utilisant l'algorithme de signature numérique à courbe elliptique.
A.4. Example JWS Using ECDSA P-521 SHA-512
Démontre une signature ECDSA utilisant la courbe P-521.
A.5. Example Unsecured JWS (Exemple JWS non sécurisé)
Démontre un JWS non sécurisé utilisant "alg":"none".
A.6. Example JWS Using General JWS JSON Serialization (Exemple de sérialisation JSON générale)
Démontre le format de sérialisation JSON générale supportant plusieurs signatures.
A.7. Example JWS Using Flattened JWS JSON Serialization (Exemple de sérialisation JSON aplatie)
Démontre le format de sérialisation JSON aplatie optimisé pour les signatures uniques.
Appendix B. "x5c" (X.509 Certificate Chain) Example
Fournit un exemple complet d'utilisation de chaînes de certificats X.509.
Appendix C. Notes on Implementing base64url Encoding without Padding
Discute des considérations d'implémentation pour l'encodage base64url sans padding.
Appendix D. Notes on Key Selection (Notes sur la sélection de clés)
Fournit des orientations sur la sélection de la clé pour la validation JWS.
Appendix E. Negative Test Case for "crit" Header Parameter
Fournit des cas de test négatifs pour le paramètre "crit" afin de valider la correction de l'implémentation.
Appendix F. Detached Content (Contenu détaché)
Discute des scénarios où la charge utile JWS est séparée de la signature, avec la partie charge utile dans JWS Compact Serialization étant une chaîne vide.
Acknowledgements (Remerciements)
Merci à tous ceux qui ont contribué à cette spécification.
Authors' Addresses (Adresses des auteurs)
- Michael B. Jones, Microsoft
- John Bradley, Ping Identity
- Nat Sakimura, Nomura Research Institute
Pour les coordonnées complètes et la liste des contributeurs, veuillez consulter le texte original de la RFC 7515.