メインコンテンツまでスキップ

1. Introduction (はじめに)

JSON Web Encryption (JWE) は、JSONベースのデータ構造 [RFC7159] を使用して暗号化されたコンテンツを表現します。JWE暗号化メカニズムは、任意のオクテット列を暗号化し、完全性保護を提供します。

JWEには、密接に関連する2つの直列化方式が定義されています。JWE Compact Serialization (JWEコンパクト直列化) は、HTTPのAuthorizationヘッダーやURIクエリパラメータなど、スペースが制限された環境での使用を想定したコンパクトでURL安全な表現です。JWE JSON Serialization (JWE JSON直列化) は、JWEをJSONオブジェクトとして表現し、同じコンテンツを複数の当事者に暗号化することを可能にします。両者は同じ暗号化基盤を共有しています。

本仕様で使用される暗号化アルゴリズムと識別子は、別個のJSON Web Algorithms (JWA) [JWA] 仕様およびその仕様で定義されたIANA登録で説明されています。関連するデジタル署名とMAC機能は、別個のJSON Web Signature (JWS) [JWS] 仕様で説明されています。

本仕様で定義される名前は短く、これは結果の表現をコンパクトにすることが中核的な目標であるためです。

1.1 Notational Conventions (表記規則)

本文書のキーワード「MUST」(しなければならない)、「MUST NOT」(してはならない)、「REQUIRED」(必須である)、「SHALL」(しなければならない)、「SHALL NOT」(してはならない)、「SHOULD」(すべきである)、「SHOULD NOT」(すべきでない)、「RECOMMENDED」(推奨される)、「NOT RECOMMENDED」(推奨されない)、「MAY」(してもよい)、および「OPTIONAL」(任意である) は、"Key words for use in RFCs to Indicate Requirement Levels" [RFC2119] に記載されているように解釈されるものとします。これらの用語がすべて大文字で表示されている場合にのみ、この解釈が適用されます。

BASE64URL(OCTETS) は、[JWS] のセクション2に従った、OCTETSのbase64url符号化を表します。

UTF8(STRING) は、STRINGのUTF-8 [RFC3629] 表現のオクテットを表します。STRINGは0個以上のUnicode [UNICODE] 文字のシーケンスです。

ASCII(STRING) は、STRINGのASCII [RFC20] 表現のオクテットを表します。STRINGは0個以上のASCII文字のシーケンスです。

2つの値AとBの連結は、A || B と表記されます。