こんにちは、サイオステクノロジー武井です。 ※本記事の英語版はこちら(Click here to read in English) 今回は、OpenID Connectで利用されるnonceパラメーター(ノンスと読むらしいです、ナンスと呼んで恥かきました(´・ω・`))の目的について、私なりにわかりやすく図を交えながら、ご説明させて頂きたいと思います。 一言で言うならば、nonceパラメーターは、リプレイアタック(不正に傍受した正しいIDトークンを送りつけて、不正アクセスを実現する攻撃)を防ぐためのものです。 OpenID Connectの仕様書には以下のように書かれています。 リプレイアタックを阻止するため、署名のチェックを行なうエージェントは、肯定アサーションの中に含まれるノンス値の履歴を辿り、同一の OP エンドポイント URL について、同じ値を二度以上決して受け入れてはならない。