0

基本的に、Bodysnatcher OpenId Provider の攻撃シナリオは次のとおりです。

  1. Bob の Google が主張する識別子は次のとおりです。

  2. ジェーンは、ボブの「現在の」主張された識別子をどのように見つけたかを知っています。

  3. 彼女は立ち去り、ここで独自の OpenId プロバイダー www.jane.com/accounts/o8/id を作成し、要求されたときに Bob が要求した識別子を返すようにします。

  4. 彼女は、open id を使用する不適切にコーディングされたサイト www.bcs.com にアクセスし、bob は にアカウントを持っています。

  5. 彼女は、www.bcs.com に OpenId プロバイダー www.jane.com/accounts/o8/id を使用するように指示します。

  6. 今、これは私が知らない部分であり、それが可能/現実的であるかどうか知りたいです... 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 を要求しているサイトに基づいて識別子を変更するため、そう考えています。つまり、メンバーを保護しようとしないのであれば、なぜこれを行うのに苦労するのでしょうか?

4

1 に答える 1

0

基本的に、セキュリティの脆弱性を導入するのに十分な仕様に違反する OpenID コンシューマーの実装を作成できるかどうかを尋ねています。はい、そうです。検証プロセス全体を省略して、ユーザーから言われたことをすべて信じることができます。

しかし、OpenID 仕様に厳密に従っているコンシューマでは、このような攻撃は不可能です。

.NET ライブラリを使用しているとのことなので、DotNetOpenAuth を使用している可能性があります。これは、stackoverflow が使用するのと同じライブラリであり、使用する際に脆弱性について心配する必要はおそらくありません。別のライブラリを使用している場合は、DotNetOpenAuth に切り替えるのがおそらく最良の選択です。

Google が領域ベースの識別子を返す理由については、ユーザーのプライバシーを保護するためであり、セキュリティを強化するためではありません。基本的に、これにより、ユーザーのアカウントを Google アカウントにリンクできなくなります。

于 2011-01-27T16:51:00.250 に答える