読み方 : ジェーダブリューエス

JWS【JSON Web Signature】

概要

JWSとは、JSON形式データ電子署名またはメッセージ認証コードを付加して改竄検知や送信者の認証を行う仕組み。IETFによってRFC 7515として標準化されている。
JWSのイメージ画像

「JOSE」(JSON Object Signing and Encryption)と総称される仕様群の一つで、「JWE」(暗号化)、「JWK」(鍵表現)、「JWA」(アルゴリズム)と共に用いられる。実用上はJWTJSON Web Token)に署名を付与する仕組みとして最も広く使われており、JWTの署名付きトークンはJWSの構造を採用している。

データ構造ヘッダーペイロード、署名の三要素からなる。ヘッダーJSONオブジェクトBase64URLエンコードしたもので、使用する署名アルゴリズムの識別子(algパラメータ)などを含む。ペイロードは署名対象の任意のバイト列Base64URLエンコードしたものである。

デジタル署名は、「Base64URLエンコードされたヘッダー」と「Base64URLエンコードされたペイロード」をピリオドで連結した文字列に対して生成される。最終的な出力はこれら三つをピリオドで連結した「ヘッダー.ペイロード.署名」の形式となる。これを「コンパクトシリアライゼーション」と呼ぶ。

署名アルゴリズムには「HMAC」(HS256、HS384、HS512)と公開鍵暗号方式の二系統がある。HMACは送受信者が同一の秘密鍵を共有し、署名の生成と検証の両方に使う対称方式である。公開鍵方式では「RSA署名」(RS256など)や「ECDSA」(ES256など)が使われ、秘密鍵で署名を生成し公開鍵で検証する非対称方式である。公開鍵方式では署名の検証者に秘密鍵を渡す必要がないため、不特定多数の検証者がいる構成に適している。

受信側はヘッダーに記載されたアルゴリズムと対応する鍵を使って署名を再計算し、受け取った署名と一致するかを確認することでデータ改竄されていないことを検証できる。署名はデータ機密性を保証しないため、内容を秘匿する必要がある場合はJWEと組み合わせて使う。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。