10:52:13)追加された行はこの色です。削除された行はこの色です。.NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。[#sf29c23e]以下の内容で最終確認済み。~https://tools.ietf.org/html/rfc7516-JWEは、暗号化のオプション(暗号化された[[JWT]])。移行するユースケースなどが想定される。-[[認証付き暗号(AEAD)>#z96efc69]]を利用して、以下を保証する。Serialization>#j471416b]]のどちらでも、基本的にすべてbase64urlでエンコードされる。Serialization>#c33082e5]]の場合の[[保護ヘッダ>#kfb01963]])には、以下のものがある。[#k9ef1dc4][[JWSと同じ。[#v40d2646]-"enc"の[[認証付き暗号(AEAD)>#z96efc69]]操作の暗号化キー~平文を暗号化して暗号文と[[認証タグ(MAC)>#b94fc707]]を生成するために~使用される[[認証付き暗号(AEAD)>#z96efc69]]アルゴリズムの対称鍵。-"alg"によって暗号化または決定される。--・・・--一部のアルゴリズムでは、空のオクテットシーケンスになる。[#z7fc7e40]"enc"の[[認証付き暗号(AEAD)>#z96efc69]]操作によって決定される。-平文を暗号化するときに使用される初期化ベクトル値。-一部のアルゴリズムでは、空のオクテットシーケンスになる。[#m2591477]-[[認証付き暗号(AEAD)>#z96efc69]]操作の認証や完全性保護のためにあり、暗号化はされないが認証保護の対象である。Serialization>#j471416b]]の場合にのみ使用(存在)。[#v135760d]-"enc"の[[認証付き暗号(AEAD)>#z96efc69]]操作によって、--平文と[[コンテンツ暗号化キー(CEK)>#v40d2646]]、[[追加認証データ(AAD)>#m2591477]]から、--暗号文と[[認証タグ>#j00511a1]]を生成する。[#j00511a1]-"enc"の[[認証付き暗号(AEAD)>#z96efc69]]操作によって、--平文と[[コンテンツ暗号化キー(CEK)>#v40d2646]]、[[追加認証データ(AAD)>#m2591477]]から、--[[暗号文>#v135760d]]と認証タグを生成する。-一部のアルゴリズムでは認証タグを使用しない場合がある。[#w32e4afc]-[[コンテンツ暗号化キー(CEK)>#v40d2646]]値を決定するため方法。-この仕様で使用されるキー管理モードには以下のモノがある。[#l38f1947]非対称暗号化アルゴリズムの利用を意図したキー管理モード。[#nb71e0a2]対称キーラッピングアルゴリズムの利用を意図したキー管理モード。[#t1908ad3]鍵合意アルゴリズムの利用を意図したキー管理モード。[#d5c9bd91]対称キーラッピングアルゴリズムの対称鍵に、~合意アルゴリズムの利用を意図したキー管理モード。[#ndb78063][[CEK>#v40d2646]]値が当事者間で共有される鍵管理モード。[#le7f9bcc]-[[構成要素>#n03afb80]]([[ヘッダ>#e1356469]]、[[キー>#v40d2646]]、[[初期ベクトル>#z7fc7e40]]、[[暗号文>#v135760d]]、[[認証タグ(MAC)>#j00511a1]])を以下のように表現(エンコード)したもの。-以下の2つの表現(エンコード)方法があり、どちらでも、[[構成要素>#n03afb80]]は、base64urlでエンコードされる。Serialization>JWS#t41a19b3]]-同じコンテンツを複数の当事者に暗号化することを可能にする。[#je66d2ef][[JOSEヘッダ>#e1356469]]は、以下のメンバの和集合。[[保護ヘッダ>#kfb01963]]。[#kfb01963]-認証された暗号化を利用して、完全性を保証。--[[認証付き暗号(AEAD)>#z96efc69]]操作によって完全性保護されたヘッダ・パラメタを含むJSONオブジェクト。--これらのパラメタは、受信者毎に共通。[#head797a]-algで、キー生成・交換、-encで、[[認証付き暗号(AEAD)>#z96efc69]]操作。パディングを使用する。パディングを使用する。[#s20810d3]-ランダムなコンテンツ暗号化キーを生成。Agreement---alg:XXXXXの場合、空のバイト列とする。Encryption---alg:XXXXXの場合、共有対称鍵のバイト列とする。-Base64urlエンコードする。Serialization>#j471416b]]を使用している場合は、上記を繰り返す。[#b2ecbf49]-enc--encアルゴリズムに初期化ベクトルが必要な場合---ランダムなコンテンツ暗号化の初期化ベクトルを生成。--encアルゴリズムに初期化ベクトルが必要でない場合---空のバイト列とする。-Base64urlエンコードする。[#p3e87c31]-平文を--必要ならzipのアルゴリズムで圧縮--encのアルゴリズムで暗号化する。-Base64urlエンコードする。[#w9ce54de]-[[追加の認証データ暗号化パラメタ>#ad797074]]をencのアルゴリズムで暗号化する。-Base64urlエンコードする。[#g7091459]-[[暗号化>#k0d929b6]]の逆プロセス-としては、を使用する。[#p4042a8b][[ココ>.NETの署名・暗号化アルゴリズム]]の署名・暗号化アルゴリズムを使用すると良い。