2. Terminology (Terminologie)
Les termes « JSON Web Signature (JWS) », « Base64url Encoding (encodage Base64url) », « Collision-Resistant Name (nom résistant aux collisions) », « Header Parameter (paramètre d'en-tête) », « JOSE Header (en-tête JOSE) » et « StringOrURI » sont définis par la spécification JWS [JWS].
Les termes « Ciphertext (texte chiffré) », « Digital Signature (signature numérique) », « Initialization Vector (IV) (vecteur d'initialisation) », « Message Authentication Code (MAC) (code d'authentification de message) » et « Plaintext (texte en clair) » sont définis par "Internet Security Glossary, Version 2" [RFC4949].
Les termes suivants sont définis par cette spécification :
JSON Web Encryption (JWE) (chiffrement web JSON) : Une structure de données représentant un message chiffré et protégé en intégrité.
Authenticated Encryption with Associated Data (AEAD) (chiffrement authentifié avec données associées) : Un algorithme AEAD est un algorithme qui chiffre le texte en clair, permet de spécifier des données authentifiées supplémentaires (Additional Authenticated Data) et fournit une vérification d'intégrité de contenu intégrée sur le texte chiffré et les données authentifiées supplémentaires. Les algorithmes AEAD acceptent deux entrées, le texte en clair et la valeur des données authentifiées supplémentaires, et produisent deux sorties, le texte chiffré et la valeur du tag d'authentification (Authentication Tag). AES Galois/Counter Mode (GCM) est un tel algorithme.
Additional Authenticated Data (AAD) (données authentifiées supplémentaires) : Une entrée d'une opération AEAD qui est protégée en intégrité mais non chiffrée.
Authentication Tag (tag d'authentification) : Une sortie d'une opération AEAD qui assure l'intégrité du texte chiffré et des données authentifiées supplémentaires. Notez que certains algorithmes peuvent ne pas utiliser de tag d'authentification, auquel cas cette valeur est la séquence d'octets vide.
Content Encryption Key (CEK) (clé de chiffrement de contenu) : Une clé symétrique utilisée par l'algorithme AEAD pour chiffrer le texte en clair afin de produire le texte chiffré et le tag d'authentification.
JWE Encrypted Key (clé chiffrée JWE) : Valeur de la clé de chiffrement de contenu chiffrée. Notez que pour certains algorithmes, la valeur de la clé chiffrée JWE est spécifiée comme étant la séquence d'octets vide.
JWE Initialization Vector (vecteur d'initialisation JWE) : Valeur du vecteur d'initialisation utilisée lors du chiffrement du texte en clair. Notez que certains algorithmes peuvent ne pas utiliser de vecteur d'initialisation, auquel cas cette valeur est la séquence d'octets vide.
JWE AAD : Valeur supplémentaire à protéger en intégrité par l'opération de chiffrement authentifié. Cela ne peut être présent que lors de l'utilisation de la sérialisation JSON JWE. (Notez que cela peut également être réalisé lors de l'utilisation de la sérialisation compacte JWE ou de la sérialisation JSON JWE en incluant la valeur AAD comme valeur de paramètre d'en-tête protégée en intégrité, mais au prix d'un double encodage base64url de la valeur.)
JWE Ciphertext (texte chiffré JWE) : Valeur du texte chiffré résultant du chiffrement authentifié du texte en clair avec les données authentifiées supplémentaires.
JWE Authentication Tag (tag d'authentification JWE) : Valeur du tag d'authentification résultant du chiffrement authentifié du texte en clair avec les données authentifiées supplémentaires.
JWE Protected Header (en-tête protégé JWE) : Objet JSON contenant les paramètres d'en-tête qui sont protégés en intégrité par l'opération de chiffrement authentifié. Ces paramètres s'appliquent à tous les destinataires du JWE. Pour la sérialisation compacte JWE, cela comprend l'intégralité de l'en-tête JOSE. Pour la sérialisation JSON JWE, c'est un composant de l'en-tête JOSE.
JWE Shared Unprotected Header (en-tête non protégé partagé JWE) : Objet JSON contenant les paramètres d'en-tête qui s'appliquent à tous les destinataires du JWE mais ne sont pas protégés en intégrité. Cela ne peut être présent que lors de l'utilisation de la sérialisation JSON JWE.
JWE Per-Recipient Unprotected Header (en-tête non protégé par destinataire JWE) : Objet JSON contenant les paramètres d'en-tête qui s'appliquent à un seul destinataire du JWE. Ces valeurs de paramètres d'en-tête ne sont pas protégées en intégrité. Cela ne peut être présent que lors de l'utilisation de la sérialisation JSON JWE.
JWE Compact Serialization (sérialisation compacte JWE) : Une représentation du JWE sous forme de chaîne compacte et sûre pour les URL.
JWE JSON Serialization (sérialisation JSON JWE) : Une représentation du JWE sous forme d'objet JSON. La sérialisation JSON JWE permet de chiffrer le même contenu pour plusieurs parties. Cette représentation n'est ni optimisée pour la compacité ni sûre pour les URL.
Key Management Mode (mode de gestion de clé) : Une méthode pour déterminer la valeur de la clé de chiffrement de contenu à utiliser. Chaque algorithme utilisé pour déterminer la valeur CEK utilise un mode de gestion de clé spécifique. Les modes de gestion de clé employés par cette spécification sont le chiffrement de clé (Key Encryption), l'encapsulation de clé (Key Wrapping), l'accord de clé direct (Direct Key Agreement), l'accord de clé avec encapsulation de clé (Key Agreement with Key Wrapping) et le chiffrement direct (Direct Encryption).
Key Encryption (chiffrement de clé) : Un mode de gestion de clé dans lequel la valeur CEK est chiffrée pour le destinataire prévu en utilisant un algorithme de chiffrement asymétrique.
Key Wrapping (encapsulation de clé) : Un mode de gestion de clé dans lequel la valeur CEK est chiffrée pour le destinataire prévu en utilisant un algorithme d'encapsulation de clé symétrique.
Direct Key Agreement (accord de clé direct) : Un mode de gestion de clé dans lequel un algorithme d'accord de clé est utilisé pour convenir de la valeur CEK.
Key Agreement with Key Wrapping (accord de clé avec encapsulation de clé) : Un mode de gestion de clé dans lequel un algorithme d'accord de clé est utilisé pour convenir d'une clé symétrique utilisée pour chiffrer la valeur CEK pour le destinataire prévu en utilisant un algorithme d'encapsulation de clé symétrique.
Direct Encryption (chiffrement direct) : Un mode de gestion de clé dans lequel la valeur CEK utilisée est la valeur de clé symétrique secrète partagée entre les parties.