基本的に、Bodysnatcher OpenId Provider の攻撃シナリオは次のとおりです。
Bob の Google が主張する識別子は次のとおりです。
ジェーンは、ボブの「現在の」主張された識別子をどのように見つけたかを知っています。
彼女は立ち去り、ここで独自の OpenId プロバイダー www.jane.com/accounts/o8/id を作成し、要求されたときに Bob が要求した識別子を返すようにします。
彼女は、open id を使用する不適切にコーディングされたサイト www.bcs.com にアクセスし、bob は にアカウントを持っています。
彼女は、www.bcs.com に OpenId プロバイダー www.jane.com/accounts/o8/id を使用するように指示します。
今、これは私が知らない部分であり、それが可能/現実的であるかどうか知りたいです... www.jane.com/id www.bcs.comに、主張された識別子「文字列」(つまり、サイトが最終的に見る値は ttps://www.google.com/accounts/o8/id?id=AAtawkQvytyBNNuHpRhn36f8MLvFiJvZg8teNE です。
ホストがwww.jane.comであっても、どうにかして可能ですか?
私たちは OpenId の実装に取り組んでおり、その「不適切にコーディングされたサイト」になりたくありません。Claimed Identifier を提供するサードパーティの .NET ライブラリを使用しているため、それがどこでどのように構築されているかはわかりません。偽造される可能性がある場合は、プロバイダの OpenId の URL が Claimed Identifier の内容と一致することを確認することを検討しています。
これは、要求された識別子をハッシュ/スクランブルする追加の手順を実行する必要があるかどうかについての懸念も引き起こします。Google は、OpenId を要求しているサイトに基づいて識別子を変更するため、そう考えています。つまり、メンバーを保護しようとしないのであれば、なぜこれを行うのに苦労するのでしょうか?