「DHTにおけるセキュリティ対策」(西谷)FIX版ppt

Download Report

Transcript 「DHTにおけるセキュリティ対策」(西谷)FIX版ppt

DHTにおけるセキュリティ対策
Tomo’s Hotline
西谷 智広
第2回DHT勉強会資料 西谷 智広
1
1.自己紹介
Tomo’s Homepage(P2P関連),Tomo’s Hotlineの執筆
-Skype Conference、P2P・DHT勉強会立ち上げ
-UNIX Magazineに10が都合DHT記事が掲載
-VoIP Conferenceを立ち上げ予定(2007年前半)
第2回DHT勉強会資料 西谷 智広
2
2.DHTのセキュリティとは?
 セキュリティ三大要素:CIA
 機密性(Confidentiality)
 認証
 データのアクセス権設定
 信頼されたノードとの暗号化通信
 完全性(Integrity)
 データの改ざん
 データの紛失
 可用性(Availability)
 ノードIDの偽装
 悪意のノード注入によるアクセス妨害
 ルーティングテーブルの改ざん
 DHTセキュリティ研究は今後、注目される(されるべき)分野!!
第2回DHT勉強会資料 西谷 智広
3
3.ルーティングの正当性検証
ノードIDの検証
ノードが管理する情報範囲(ハッシュ値の検
証)
ルーティングテーブルの正当性検証
第2回DHT勉強会資料 西谷 智広
4
3-1.ノードIDの偽装対策
ノードIDを該当ノード情報から検証できるシス
テムが必要
方法としては、
ノードのIPアドレス+ポート番号のハッシュ値を
ノードIDとする
ノードに払い出された電子証明書内容のハッシュ
値をノードIDとする(西谷案)
2種類が考えられる。
第2回DHT勉強会資料 西谷 智広
5
3-1.ノードIDの偽装対策[案1]
[案1]ノードのIPアドレス+ポート番号ハッ
シュ値をノードID
メリット
検証が楽(IPアドレス、ポート番号は直接通信する時に
必要)
開発費用小
デメリット
ノードID衝突の可能性(プライベートアドレス同士)
ノードがグローバルアドレスを取得する機構等が必要(U
PnP等)
第2回DHT勉強会資料 西谷 智広
6
3-1.ノードIDの偽装対策[案1]
NAT越え
案A UPnP利用
案B STUNサーバ利用
STUNサーバ
インターネッ
ト
ルータ
インターネッ
ト
UPnP機構
(IDG)
ノード
ルータ
ノード
第2回DHT勉強会資料 西谷 智広
7
3-1.ノードIDの偽装対策[案1]
 STUNサーバを利用してもNAT越えできない場合あり。(Sy
mmetric NATの場合等)
 上記の場合はB2BUA的な通信が必要。[案C]このときには
案1の利用は困難。
案C 他ノードを介する
ノード
ルータ
ノード
インターネッ
ト
第2回DHT勉強会資料 西谷 智広
ルータ
ノード
8
3-1.ノードIDの偽装対策[案2]
 [案2]電子証明書内容のハッシュ値をノードID(西谷
案)
メリット
 ノードのネットワーク形態によらずノードIDの改ざんを検証でき
る。
 電子証明書を使うことにより、ノード間の認証、暗号化が(原
則サーバレスで)容易に可能。
デメリット
 ノードに電子証明書の配布する必要あり。証明書更改も順次
行う必要あり。
 上記に伴いCA等が必要。
(PGP的なアプローチもあるが、ここでは触れない)
 開発費用が高い。
第2回DHT勉強会資料 西谷 智広
9
3-1.ノードIDの偽装対策[案2]
 証明書の内容例
氏名
証明書発行シリアル番号
発行日
有効期間
発行機関
 オプションを利用すれば、上記以外のデータも証明
書に格納化。
 証明書内容のハッシュ値をノードIDとする。
 証明書有効を検証するためのハッシュ値(デジタル
署名用ハッシュ値)をそのままノードIDとして利用す
るアイデアもある。
第2回DHT勉強会資料 西谷 智広
10
3-1.ノードIDの偽装対策[案2]
案2に対する注意点
電子証明書のリポジトリ
案P:特定サーバを利用
• 通信集中、運用費高
案Q:DHTノードに分散(通信分散、運用費ほぼ0)
• 通信分散、運用費用低
• 証明書の紛失対策が必要→後述
• Node_ID=hash(X+Y)に格納。Xは証明書のデータ、Yはある
数値。
• Y=0にすると証明書対象ノードが証明書保有ノードになり、
Y≠0の方がセキュアと考えられる。(詳細検討が必要)
第2回DHT勉強会資料 西谷 智広
11
3-2.情報管理範囲の正当性
Chordを例にとる
1
1≦Hash(X)≦4
5
5≦Hash(X)≦8
9
第2回DHT勉強会資料 西谷 智広
9≦Hash(X)≦10
12
3-2.情報管理範囲の正当性
1
1≦Hash(X)≦4
5
5≦Hash(X)≦12
9
第2回DHT勉強会資料 西谷 智広
9≦Hash(X)≦10
13
3-2.情報管理範囲の正当性
次々隣接ノード利用による検証
1
5
1≦Hash(X)≦4
5≦Hash(X)≦12
矛盾!
情報管理範囲を
9
9≦Hash(X)≦10
ヒアリング
第2回DHT勉強会資料 西谷 智広
14
3-2.情報管理範囲の正当性
Lookup要求元ノードに自ノードの管理範囲を
返答するのもアイデア
第2回DHT勉強会資料 西谷 智広
15
3-3.ルーティングテーブルの正当性
 検証可能な場合
Pastry→プレフィックス
 存在する全ノード数推定から検証可能?
→ノードが大局的には均一に存在することを
仮定
 ノードへの到達方法を複数持たせる
Ex.Chordでハッシュ値が小さい方向へのルーティング
もアリとする。
→悪意のノードによるノード到達性妨害を阻止
→可用性の向上
第2回DHT勉強会資料 西谷 智広
16
3-3.ルーティングテーブルの正当性
 全ノード数推定方法(例)
1. 隣接ノード方向へホップし、極小的なノード
密度を観測する
2. リンクしているノードIDと本来すべてノード
が存在している場合、リンクすべきノードID
との差
3. ランダムなノードを選び、到達する際のホッ
プ数から推測
第2回DHT勉強会資料 西谷 智広
17
4.データの紛失対策
 基本的にはレプリケーション
 情報Xに対して
Node_ID=Hash(X)
Node_ID=Hash(X+Y)
Node_ID=Hash(X+2Y) ….
に格納する。(Yはある数値)
 レプリケーションノードを多くするほど、紛失は起こり
にくくなる。しかしながらDHTシステムに蓄積される
データ量やデータ参照通信量は多くなる。
 結論:紛失対策とDHTノード負荷はトレードオフ
第2回DHT勉強会資料 西谷 智広
18
5.データの改ざん対策
 電子証明書をノード配布すれば解決可能。
 ノードYが情報XをNode_ID=Hash(X)に格納する際に
 情報X
 Hash(X)
 S_Key(Hash(X)、ノードYの秘密鍵)
 ノードYの秘密鍵でHash(X)を暗号化
 Hash(ノードYの証明書情報)
 ノードYの証明書を保有するノードIDを参照するための情報
を格納する。
 ノードYの証明書を取得できれば、
 情報XがノードYによって格納したこと
 情報Xが改ざんされてないこと
の2点が検証可能。
第2回DHT勉強会資料 西谷 智広
19
6.ノード間の認証
 ノードに電子証明書を配布すれば解決可能。
 基本的にはPKIと同様な方法
 電子証明書+チャレンジレスポンスで認証
 ノードXをノードYが認証する場合
手順1:ノードYはノードXの電子証明書をリポジトリから取得
(リポジトリはDHTノード、サーバどちらでも可能)
 電子証明書自体の検証も必要(発行者検証、CRL等)
手順2:ノードYはノードXへチャレンジレスポンス処理を要求
手順3:チャレンジレスポンスが成功すれば認証成功
第2回DHT勉強会資料 西谷 智広
20
7.ノードに蓄積するデータの暗号化
ノードYが情報XをノードZ=Hash(X)に蓄積し
たい
ノードY以外に情報Xは見られたくない
ノードYは以下の情報をノードZに格納すれば
よい。
S_Key(情報X、ノードYの秘密鍵)
S_Key(Hash(X),ノードYの秘密鍵)
Hash(ノードYの証明書情報)(オプション)
第2回DHT勉強会資料 西谷 智広
21
8.多数の悪意ノード注入による攻撃
多数の悪意のノードによって、ルーティングを
しない攻撃を同時に行う場合を考える
ただし選択的攻撃はしないとする
[問題]どの程度の悪意のノードがあればDHT
システム全体としての機能がダウンするだろ
うか?
物性物理学で用いられるパーコレーション
(浸透)理論を応用してみる
第2回DHT勉強会資料 西谷 智広
22
8.多数の悪意ノード注入による攻撃
 パーコレーション理論
 サイトパーコレーション
 ボンドパーコレーション
 ゲル物体を研究するために使われ始めた
第2回DHT勉強会資料 西谷 智広
23
8.多数の悪意ノード注入による攻撃
サイトパーコレーション
第2回DHT勉強会資料 西谷 智広
24
8.多数の悪意ノード注入による攻撃
×
第2回DHT勉強会資料 西谷 智広
25
8.多数の悪意ノード注入による攻撃
連続する確率
(Θ)
1
Θ(P)
0
・ΘはP≦Pcで0
Pc
1
正規のノード率
(P)
・ΘはP>Pcで単調増加連続関数
第2回DHT勉強会資料 西谷 智広
26
8.多数の悪意ノード注入による攻撃
 次元が上がるほどPcは低くなる
 2次元正方格子の場合、Pc=0.5
 DHTの場合、リンク数はLog(N)程度のため、「次元が高
い」と類推すると、悪意のノードが相当多くてもシステムとして
は動作する確率が高いと考えられる
 DHT⇔パーコレーションの解析的な理論はまだ研究されて
ない?(のはず)
 ただし複雑ネットワーク関連で解析的な研究はすでに活発に
されている。
 Winnyシステムがなかなか停止できない理由が説明できる
(かも?)
第2回DHT勉強会資料 西谷 智広
27
8.多数の悪意ノード注入による攻撃
ボンドパーコレーション
第2回DHT勉強会資料 西谷 智広
28
8.多数の悪意ノード注入による攻撃
Staticな解析は今後急速に進むだろう?
→悪意のノード数とホップ数の関係
→悪意のノードに対抗できるDHTの開発
Dynamicsはまだ手をつけてない(はず)
→ワーム感染
→NWの成長
第2回DHT勉強会資料 西谷 智広
29
参考文献
Emi Sit et.al.
Security Considerations for Peer-to-Peer
Distributed Hash Tables
In IPTPS 2002
増田 直紀 他「複雑ネットワークの科学」
(産業図書)
第2回DHT勉強会資料 西谷 智広
30
終わりに
日本発のDHTセキュリティ研究を一緒に促進
しましょう!
複雑ネットワーク関連の研究がヒントになるか
も?
数学:群論、グラフ理論、複雑NW、トポロジー
物理:パーコレーション、平均場理論、繰り込み
理論、格子ゲージ理論・・・
関連する分野は多いはず。
第2回DHT勉強会資料 西谷 智広
31