2. Terminology (Terminologie)
Les termes « JSON Web Signature (JWS) », « Base64url Encoding (Encodage Base64url) », « Header Parameter (Paramètre d'en-tête) », « JOSE Header (En-tête JOSE) », « JWS Compact Serialization (Sérialisation compacte JWS) », « JWS Payload (Charge utile JWS) », « JWS Signature (Signature JWS) » et « Unsecured JWS (JWS non sécurisé) » sont définis par la spécification JWS [JWS].
Les termes « JSON Web Encryption (JWE) », « Content Encryption Key (CEK) (Clé de chiffrement de contenu) », « JWE Compact Serialization (Sérialisation compacte JWE) », « JWE Encrypted Key (Clé chiffrée JWE) » et « JWE Initialization Vector (Vecteur d'initialisation JWE) » sont définis par la spécification JWE [JWE].
Les termes « Ciphertext (Texte chiffré) », « Digital Signature (Signature numérique) », « Message Authentication Code (MAC) (Code d'authentification de message) » et « Plaintext (Texte en clair) » sont définis par le « Internet Security Glossary, Version 2 » [RFC4949].
Cette spécification définit les termes suivants :
JSON Web Token (JWT)
Une chaîne représentant un ensemble de revendications encodées dans un JWS ou JWE, permettant aux revendications d'être signées numériquement ou protégées en intégrité avec un MAC et/ou chiffrées.
JWT Claims Set (Ensemble de revendications JWT)
Un objet JSON qui contient les revendications transmises par le JWT.
Claim (Revendication)
Une information affirmée à propos d'un sujet. Une revendication est représentée comme une paire nom/valeur composée d'un Claim Name (Nom de revendication) et d'un Claim Value (Valeur de revendication).
Claim Name (Nom de revendication)
La partie nom d'une représentation de revendication. Un nom de revendication est toujours une chaîne de caractères.
Claim Value (Valeur de revendication)
La partie valeur d'une représentation de revendication. Une valeur de revendication peut être n'importe quelle valeur JSON.
Nested JWT (JWT imbriqué)
Un JWT dans lequel une signature et/ou un chiffrement imbriqués sont employés. Dans les JWT imbriqués, un JWT est utilisé comme charge utile ou valeur de texte en clair d'une structure JWS ou JWE englobante, respectivement.
Unsecured JWT (JWT non sécurisé)
Un JWT dont les revendications ne sont ni protégées en intégrité ni chiffrées.
Collision-Resistant Name (Nom résistant aux collisions)
Un nom dans un espace de noms qui permet d'allouer des noms de manière à ce qu'ils soient très peu susceptibles d'entrer en collision avec d'autres noms. Des exemples d'espaces de noms résistants aux collisions incluent : les noms de domaine (Domain Names), les identificateurs d'objets (Object Identifiers, OIDs) tels que définis dans la série de recommandations ITU-T X.660 et X.670, et les identificateurs universellement uniques (Universally Unique IDentifiers, UUIDs) [RFC4122]. Lors de l'utilisation d'un espace de noms délégué administrativement, le définisseur d'un nom doit prendre des précautions raisonnables pour s'assurer qu'il contrôle la partie de l'espace de noms qu'il utilise pour définir le nom.
StringOrURI
Une valeur de chaîne JSON, avec l'exigence supplémentaire que bien que des valeurs de chaîne arbitraires peuvent être utilisées (MAY), toute valeur contenant un caractère « : » doit être un URI [RFC3986] (MUST). Les valeurs StringOrURI sont comparées comme des chaînes sensibles à la casse sans application de transformations ou de canonisations.
NumericDate (Date numérique)
Une valeur numérique JSON représentant le nombre de secondes depuis le 1970-01-01T00:00:00Z UTC jusqu'à la date/heure UTC spécifiée, en ignorant les secondes intercalaires. Cela équivaut à la définition « Seconds Since the Epoch (Secondes depuis l'Époque) » de l'IEEE Std 1003.1, 2013 Edition [POSIX.1], dans laquelle chaque jour est compté comme exactement 86400 secondes, sauf que des valeurs non entières peuvent être représentées. Voir RFC 3339 [RFC3339] pour plus de détails concernant les dates/heures en général et UTC en particulier.