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

1. Introduction (はじめに)

JSON Web Signature (JWS) は、JSONベースの [RFC7159] データ構造を使用して、デジタル署名 (Digital Signatures) またはメッセージ認証コード (Message Authentication Codes, MACs) で保護されたコンテンツを表現します。JWSの暗号メカニズムは、任意のオクテット列に対して完全性保護 (Integrity Protection) を提供します。デジタル署名とMACの違いについての議論は、セクション10.5を参照してください。

JWSには、密接に関連する2つのシリアライゼーション方式が定義されています。JWSコンパクトシリアライゼーション (JWS Compact Serialization) は、HTTPのAuthorizationヘッダーやURIクエリパラメータなど、スペースに制約のある環境に適した、コンパクトでURLセーフな表現形式です。JWS JSONシリアライゼーション (JWS JSON Serialization) は、JWSをJSONオブジェクトとして表現し、同じコンテンツに対して複数の署名および/またはMACを適用することを可能にします。両者は同じ暗号的基盤を共有しています。

本仕様と共に使用される暗号アルゴリズムと識別子は、別個のJSON Web Algorithms (JWA) [JWA] 仕様およびその仕様で定義されたIANAレジストリに記述されています。関連する暗号化機能は、別個のJSON Web Encryption (JWE) [JWE] 仕様に記述されています。

本仕様で定義される名前はすべて短くなっています。これは、生成される表現をできるだけコンパクトにすることが中核的な目標であるためです。

1.1. Notational Conventions (表記規則)

本文書におけるキーワード「MUST」(しなければならない)、「MUST NOT」(してはならない)、「REQUIRED」(必須である)、「SHALL」(しなければならない)、「SHALL NOT」(してはならない)、「SHOULD」(すべきである)、「SHOULD NOT」(すべきでない)、「RECOMMENDED」(推奨される)、「NOT RECOMMENDED」(推奨されない)、「MAY」(してもよい)、および「OPTIONAL」(任意である)は、「RFCにおいて要求レベルを示すために使用されるキーワード」[RFC2119] に記述されているとおりに解釈されるものとします。これらの用語がすべて大文字で表記されている場合にのみ、この解釈が適用されます。

BASE64URL(OCTETS) は、セクション2で規定されているように、OCTETSのbase64urlエンコーディングを表します。

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

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

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