マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

以下の内容で最終確認済み。
https://tools.ietf.org/html/rfc7516

構成要素

JOSEヘッダ

JWEの基本的な(≒JWE Compact Serializationの場合の)ヘッダには、以下のものがある。

RSAES-OAEP and AES GCM

{"alg":"RSA-OAEP","enc":"A256GCM"}

RSAES-PKCS1-v1_5 and AES_128_CBC_HMAC_SHA_256

{"alg":"RSA1_5","enc":"A128CBC-HS256"}

AES Key Wrap and AES_128_CBC_HMAC_SHA_256

{"alg":"A128KW","enc":"A128CBC-HS256"}

JWKをサポートする場合

暗号化キー

"enc"の暗号化キーは、"alg"によって暗号化または決定される。

初期化ベクトル

"enc"によって決定される。

暗号文

"enc"によって、平文とコンテンツ暗号化キー(CEK)から暗号化される。

認証タグ

"enc"によって、平文とコンテンツ暗号化キー(CEK)から認証タグを生成する。

詳細

認証関連

JWEのポイントである認証関連。

追加認証データ(AAD)

完全性保護されているが暗号化されていない認証済み暗号化(AEAD)操作への入力。

認証済み暗号化(AEAD)

平文と追加認証データ(AAD)を指定できるようにし、
平文を暗号化し、統合されたコンテンツ完全性チェックを提供する。

認証タグ

コンテンツ暗号化キー(CEK)

平文を暗号化して暗号文と認証タグを生成するために使用される認証済み暗号化(AEAD)アルゴリズムの対称鍵。

暗号化関連

暗号化キー

初期化ベクトル

AAD

AAD値を完全性保護ヘッダーパラメータ値としてインクルードすることによっても達成できますが、値はdouble base64urlでエンコードされています

暗号文

追加認証データ(AAD)で平文の認証された暗号化から生じる暗号テキスト値。

認証タグ

追加認証データ(AAD)で平文の認証された暗号化から生じる認証タグ値。

キー管理モード

キー暗号化

非対称暗号化アルゴリズムの利用を意図したキー管理モード。

キーラッピング

対称キーラッピングアルゴリズムの利用を意図したキー管理モード。

直接キー契約

鍵合意アルゴリズムの利用を意図したキー管理モード。

キーラッピングによる主要契約

対称キーラッピングアルゴリズムの対称鍵に、
合意アルゴリズムの利用を意図したキー管理モード。

直接暗号化

CEK値が当事者間で共有される鍵管理モード。

表現(エンコード)

JWE Compact Serialization

JWE JSON Serialization

同じコンテンツを複数の当事者に暗号化することを可能にする。

保護ヘッダ・非保護ヘッダ

JOSEヘッダは、以下のメンバの和集合。

保護ヘッダ

認証された暗号化を利用して、完全性を保証。

共有 非保護ヘッダ

JWE JSON Serializationの場合に必要な、受信者毎に共通の非保護ヘッダ

個別 非保護ヘッダ

JWE JSON Serializationの場合に必要らしい。

アルゴリズム

JWAを確認

手順

暗号化

JWE Protected Headerの決定

{"alg":"RSA-OAEP","enc":"A256GCM"} など。

暗号化キーの生成

JWE JSON Serializationを使用している場合は、上記を繰り返す。

初期化ベクトルの生成

追加の認証データ暗号化パラメタ

※ AADとは、詳細不明だが、JWE JSON Serializationの場合に必要らしい。

暗号文の生成

認証タグの生成

Serialization

復号化

具体例

RSAES-OAEP and AES GCM

https://tools.ietf.org/html/rfc7516#appendix-A.1.1

RSAES-PKCS1-v1_5 and AES_128_CBC_HMAC_SHA_256

https://tools.ietf.org/html/rfc7516#appendix-A.2.1

AES Key Wrap and AES_128_CBC_HMAC_SHA_256

https://tools.ietf.org/html/rfc7516#appendix-A.3.1

自作ライブラリ

署名・暗号化アルゴリズム

ココの署名・暗号化アルゴリズムを使用すると良い。

参考サイト

検証サイト

参考

JWA - JWE用

暗号化アルゴリズム

.NETの署名・暗号化アルゴリズム


Tags: :認証基盤, :クレームベース認証, :暗号化


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS