Passa al contenuto principale

1. Introduction (Introduzione)

JSON Web Encryption (JWE) rappresenta il contenuto crittografato utilizzando strutture dati basate su JSON [RFC7159]. I meccanismi crittografici JWE crittografano e forniscono protezione dell'integrità per una sequenza arbitraria di ottetti.

Due serializzazioni strettamente correlate sono definite per JWE. La JWE Compact Serialization (serializzazione compatta JWE) è una rappresentazione compatta e sicura per URL, destinata ad ambienti con vincoli di spazio come gli header HTTP Authorization e i parametri di query URI. La JWE JSON Serialization (serializzazione JSON JWE) rappresenta i JWE come oggetti JSON e consente la crittografia dello stesso contenuto per più parti. Entrambe condividono le stesse basi crittografiche.

Gli algoritmi crittografici e gli identificatori da utilizzare con questa specifica sono descritti nella specifica separata JSON Web Algorithms (JWA) [JWA] e nei registri IANA definiti da quella specifica. Le capacità di firma digitale e MAC correlate sono descritte nella specifica separata JSON Web Signature (JWS) [JWS].

I nomi definiti da questa specifica sono brevi, poiché un obiettivo centrale è rendere compatte le rappresentazioni risultanti.

1.1 Notational Conventions (Convenzioni di notazione)

Le parole chiave "MUST" (deve), "MUST NOT" (non deve), "REQUIRED" (richiesto), "SHALL" (deve), "SHALL NOT" (non deve), "SHOULD" (dovrebbe), "SHOULD NOT" (non dovrebbe), "RECOMMENDED" (raccomandato), "NOT RECOMMENDED" (non raccomandato), "MAY" (può) e "OPTIONAL" (opzionale) in questo documento devono essere interpretate come descritto in "Key words for use in RFCs to Indicate Requirement Levels" [RFC2119]. L'interpretazione deve essere applicata solo quando i termini appaiono in lettere maiuscole.

BASE64URL(OCTETS) denota la codifica base64url di OCTETS, secondo la Sezione 2 di [JWS].

UTF8(STRING) denota gli ottetti della rappresentazione UTF-8 [RFC3629] di STRING, dove STRING è una sequenza di zero o più caratteri Unicode [UNICODE].

ASCII(STRING) denota gli ottetti della rappresentazione ASCII [RFC20] di STRING, dove STRING è una sequenza di zero o più caratteri ASCII.

La concatenazione di due valori A e B è denotata come A || B.