
第4回 OpenIDをとりまくセキュリティ上の脅威とその対策
山口 徹
サイボウズ・ラボ株式会社
2007/11/20
なりすましは可能か――OpenIDとリプレイ攻撃
次にリプレイ攻撃(Replay Attack)について触れます。リプレイ攻撃とは簡単に説明すると、「パスワードや暗号鍵、あるいは認証済みのセッションデータなどを再利用してそのユーザーになりすます攻撃」といえます。OpenIDでもこのような攻撃が可能でしょうか?――答えは可能です。
id_resモードによってIdPからUserAgentを介してConsumerに渡される認証結果文字列を再度利用することによりConsumerサイトにおいてそのユーザーとして認可されてしまうでしょう。
これはちょっとしたConsumer側の対策で簡単に防ぐことができます。OpenIDの認証トランザクションが開始する際にConsumer側で独自のnonce(ハッシュを用いたなりすまし防止のためのランダムな文字列)をエンドユーザーに対して発行します。このnonceはユーザーのUserAgentに対してCookieやあるいはSessionデータとして保存しておきます。またこのnonceは有効期限付きでConsumer側のデータベースなどで保存しておきます。
![]() |
| 図5 nonceを利用したリプレイ攻撃の対策 |
ユーザーがリダイレクションによってConsumerサイトに戻ってきた場合に、このnonceをユーザーが持っているかどうか確認し、持っていた場合は、データベース上のnonceと照合して、正しい値の場合のみ認可を行えばよいのです。正しい値の場合は後始末としてnonceをデータベースから削除します。つまりこのnonceはワンタイムな値ということです。
IdPをどう評価すべきか? OpenIDにおけるReputation問題
最後にセキュリティ関連の締めくくりとしてReputation問題について触れます。Reputationは評判とか評価といった意味でIdPの評価をどのように行うべきかという話です。
評価指標として諸説がありますが、次のような点が目安になるでしょう。
- IdPを運営してきた実績
- 認証フォームに対するヘルプ機能
- httpsへの対応
- アカウントのリカバリ機能の充実
- プライバシーポリシーの内容
- スパム、セキュリティ対策
- Attribute Exchange(AX)への対応
- Provider Authentication Policy Extension(PAPE)への対応
- アカウント登録手続きの内容
IdPのWebアプリケーションとしての機能に関する項目は、特にアカウントに対する扱いがメインです。アカウントのリカバリ機能の充実は単純なパスワードを忘れたなどだけでなく、アタックを受けた際にあるしきい値を持ってアカウントの凍結が必要ですが、この凍結されたアカウントに対するリカバリを本当のユーザーに対して提供する必要があるでしょう。
アカウント登録手続きに関しては先ほど述べたようにパスワードの強度を高める工夫であったり、ユーザーごとの認証ページにユーザーがフィッシングでないと確かめられるようなデータを表示させる仕組みを取り入れたりといったことが挙げられるでしょう。
AOLは許可するIdPをホワイトリスト形式で指定しています。OpenIDの概念から考えると悲しいですが、これが現実的な解なのかもしれません。
Consumerサイト、あるいはIdPそのもの、いずれにせよここまで述べてきたセキュリティ対策はしっかり行い、特にIdPの場合はReputationの高いIdPになるよう努力を怠ってはいけません。常にセキュリティ関連の動向は最新の情報を追って、対策するようにしていきましょう。OpenIDのセキュリティに関する最新の動向を知りたい方はOpenIDのセキュリティ関連のMLに加入すると良いでしょう。
3/3 |
| Index | |
| OpenIDをとりまくセキュリティ上の脅威とその対策 | |
| Page1 OpenIDプロトコルにおける通信経路のセキュリティ Diffie-Hellman鍵共有プロトコルを知る OpenIDがLWPx::ParanoidAgentを使う理由 |
|
| Page2 OpenIDセキュリティのいま OpenIDでも考えなくてはならないフィッシングの脅威 OpenID Realm Spoofingに気をつけよ アカウント名はバレバレ? OpenIDとパスワードの関係 |
|
| Page3 なりすましは可能か――OpenIDとリプレイ攻撃 IdPをどう評価すべきか? OpenIDにおけるReputation問題 |
|
OpenIDの仕様と技術 バックナンバー
- 第1回 仕様から学ぶOpenIDのキホン
- 第2回 あなたのサイトをOpenID対応にしている2行の意味
- 第3回 Consumerの実装を知り、OpenIDを使ってみよう
- 第4回 OpenIDをとりまくセキュリティ上の脅威とその対策
- 第5回 OpenID Authentication 2.0時代の幕開け
| Profile |
| 山口 徹(やまぐち とおる) サイボウズ・ラボ株式会社 サイボウズ・ラボ株式会社のプログラマー。 バーテンダーからIT業界に転身後、様々なWeb制作を行い、大規模コミュニティサイトの開発・運用を経て、現在は研究開発の日々。Perl使い。 Perlを中心とした開発のノウハウやネタをShibuya Perl Mongersのイベント等で発表するなど講演活動も行う。 個人の開発日記は「Yet Another Hackadelic」、仕事のブログは「log4ZIGOROu」 |
| OpenIDの仕様と技術 連載インデックス |
TechTargetジャパン
- Facebook タイムライン利用時の「鉄則」 (2012/2/9)
ユーザーインターフェイスの変更措置に伴い浮上した、Facebookの「過剰な情報提供」のリスクと対策とは - 無料サービスなら通信内容を記録してもいいの? (2012/1/13)
無料の公衆無線LANサービスが、ユーザーに無断で通信履歴を記録していたことが判明し、話題に - 攻撃はまるでレーザービーム (2011/12/26)
2011年に話題となった標的型攻撃は「人」という弱点ををねらい打ちにしました。では、人に教育さえしておけば防げるものなのでしょうか? - 見せたくないなら「持たせない」が鉄則! (2011/12/15)
逆コンパイル対策で難読化したのに、大事なデータが解析されちゃった? Androidアプリのセキュリティの道は深い
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -

