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

目次

概要

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

構成要素

JWE Compact Serialization or JWE JSON Serializationのどちらでも、基本的にすべてbase64urlでエンコードされる。

JOSEヘッダ

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

ヘッダの例

JWKをサポートする場合

TLS要件

JWSと同じ。

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

初期化ベクトル

"enc"の認証付き暗号(AEAD)操作によって決定される。

追加認証データ(AAD)

暗号文

認証タグ(MAC)

詳細

暗号化アルゴリズム

暗号化アルゴリズムの以下の要素について理解が必要

基礎用語

認証付き暗号(AEAD)

キー管理モード

キー暗号化

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

キーラッピング

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

直接キー契約

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

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

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

直接暗号化

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

表現(エンコード)

JWE Compact Serialization

JWE JSON Serialization

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

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

保護ヘッダ

共有 非保護ヘッダ

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

個別 非保護ヘッダ

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

アルゴリズム

RSAES-OAEP and AES GCM

RSAES-PKCS1-v1_5 and AES_128_CBC_HMAC_SHA_256

AES Key Wrap and AES_128_CBC_HMAC_SHA_256

JWAを確認

手順

暗号化

JWE Protected Headerの決定

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

暗号化キーの生成

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: :IT国際標準, :認証基盤, :クレームベース認証, :暗号化


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