1. Introduction (Einführung)
JSON Web Encryption (JWE) stellt verschlüsselten Inhalt unter Verwendung JSON-basierter Datenstrukturen [RFC7159] dar. Die kryptografischen Mechanismen von JWE verschlüsseln und bieten Integritätsschutz für eine beliebige Folge von Oktetten.
Zwei eng verwandte Serialisierungen sind für JWE definiert. Die JWE Compact Serialization (kompakte JWE-Serialisierung) ist eine kompakte, URL-sichere Darstellung, die für raumeingeschränkte Umgebungen wie HTTP-Authorization-Header und URI-Abfrageparameter vorgesehen ist. Die JWE JSON Serialization (JSON-Serialisierung von JWE) stellt JWE als JSON-Objekte dar und ermöglicht die Verschlüsselung desselben Inhalts für mehrere Parteien. Beide teilen dieselben kryptografischen Grundlagen.
Die mit dieser Spezifikation zu verwendenden kryptografischen Algorithmen und Bezeichner werden in der separaten Spezifikation JSON Web Algorithms (JWA) [JWA] und den von dieser Spezifikation definierten IANA-Registern beschrieben. Die zugehörigen digitalen Signatur- und MAC-Funktionen werden in der separaten Spezifikation JSON Web Signature (JWS) [JWS] beschrieben.
Die von dieser Spezifikation definierten Namen sind kurz, da ein Kernziel darin besteht, die resultierenden Darstellungen kompakt zu gestalten.
1.1 Notational Conventions (Notationskonventionen)
Die Schlüsselwörter "MUST" (muss), "MUST NOT" (darf nicht), "REQUIRED" (erforderlich), "SHALL" (muss), "SHALL NOT" (darf nicht), "SHOULD" (sollte), "SHOULD NOT" (sollte nicht), "RECOMMENDED" (empfohlen), "NOT RECOMMENDED" (nicht empfohlen), "MAY" (kann) und "OPTIONAL" (optional) in diesem Dokument sind wie in "Key words for use in RFCs to Indicate Requirement Levels" [RFC2119] beschrieben zu interpretieren. Die Interpretation sollte nur angewendet werden, wenn die Begriffe in Großbuchstaben erscheinen.
BASE64URL(OCTETS) bezeichnet die base64url-Codierung von OCTETS gemäß Abschnitt 2 von [JWS].
UTF8(STRING) bezeichnet die Oktette der UTF-8 [RFC3629] Darstellung von STRING, wobei STRING eine Sequenz von null oder mehr Unicode [UNICODE] Zeichen ist.
ASCII(STRING) bezeichnet die Oktette der ASCII [RFC20] Darstellung von STRING, wobei STRING eine Sequenz von null oder mehr ASCII-Zeichen ist.
Die Verkettung zweier Werte A und B wird als A || B bezeichnet.