Response Mode/レスポンスの暗号化
Response Modeとは、所有者側のソフトウェアが提示したデータを、確認する側へどの経路で返すかの指定のことです。暗号化する指定を選ぶと、中身を確認する側の公開鍵で包んで返します。
別表記:Response Mode/レスポンスモード/fragment/direct_post/direct_post.jwt/dc_api/dc_api.jwt
どんな返し方があるのか
経路は3通りです。戻り先のURLに付けて返す形(fragment)、確認する側のサーバーへ直接送る形(direct_post)、ブラウザのAPIを通して返す形(dc_api)です。
後の2つには、暗号化する指定が別に用意されています(direct_post.jwt、dc_api.jwt)。暗号化する場合は、中身を確認する側の公開鍵で包んだ一続きのデータとして返します。
なぜ暗号化するのか
返す途中で、中に含まれる個人の情報が他者に見えるのを防ぐためです。ブラウザを経由して返る場合がその例で、ブラウザの拡張機能など途中に入りうる相手から中身を隠せます。
守りたいのはこの経路だけではありません。基本の仕様ではどの経路でも暗号化は選択肢ですが、高い水準を求める取り決め(HAIP)では必須です。
よくある誤解:暗号化すれば改ざんも防げるのか
防げません。暗号化に使う鍵は広く知られうるため、攻撃者が別の内容を包み直して送ることもできます。ただし、提示された証明そのものは改ざんを見つけられる作りになっているため、証明の中身のすり替えは検知できます。
