セカンドベストはなんだ?

最善の策が取れなくても良い。最善を尽くすことがダイジ。

DLNAのDTCP-IPを解除する方法 第4話『『萌え』で覚える中間者攻撃』

DLNAのDTCP-IPを解除する方法 第3話『楕円曲線はめっちゃ濃厚』 - セカンドベストは何か?の続き

ポイント

  1. DH鍵共有には中間者攻撃の脆弱性がある

なぜ銭形警部は毎回ルパン3世にだまされるのか?

警官に変装したルパンにまったく気付かず、銭形警部は毎回騙されてしまう。
銭形警部というキャラには、ルパンの巧妙な「なりすまし」や「偽装」を見抜く術がない。

DTCP-IPで採用しているDH鍵共有方式にも、
第三者のなりすましを見抜くことができないという脆弱性がある。

DH鍵共有の脆弱性を「萌え」で理解する

DTCP-IPではECDHという楕円曲線のアルゴリズムを利用したDH鍵共有を行う。
楕円曲線を「萌え要素」で置き換えて、DH鍵共有が「なりすまし」を見抜けない理由を説明しよう。

具体例

レコーダーに録画した番組をDLNA機能を使って、テレビで再生する場合を考えてみよう。
レコーダーの番組はAESで暗号化されてテレビに送信される。
AESを解除するためのパスワードはDH鍵共有によって作成される。

DH鍵共有の手順

では、DH鍵共有の手順をおさらいしよう。
このケースでは、レコーダーがDLNAサーバ*1で、
テレビがDLNAクライアント*2だ。
レコーダーをボブ、テレビをクリスと呼ぶことにする。
2013010314540620130103145405

ボブ(DIGA)とクリス(VIERA)の通信は家庭内LAN上で行われるので、
パソコンからも丸見えになっている。
ボブとクリスのDH鍵共有をルパンが盗聴したとする。

Lupin the third / Abu & Abu

萌えるDH鍵共有

ボブとクリスは、次の手順で萌え要素を用いたDH鍵共有を行う。

  • ボブとクリスがそれぞれ好きな『萌え要素』を想像する
  1. ボブは「初音ミク」を連想し、「初音ミク萌え」とクリスに伝える
  2. クリスは「メガネ」を連想し、「めがね萌え」とボブに伝える
  3. ボブとクリスは「初音ミク×めがね萌え」というパスワードを共有

2人のやりとりを盗聴していたルパンは、
初音ミク萌え」と「めがね萌え」という公開鍵を傍受できても、
2つの公開鍵から「初音ミク×めがね萌え」というパスワードを入手することができない。

なぜか?
萌え要素で置き換えていた楕円曲線暗号
「掛け算はできるけど、割り算ができない」性質をもっていることを思い出して欲しい。

楕円曲線を使うと、
初音ミク萌え×めがね=初音ミク・めがね萌え
は計算できるが、
初音ミク萌え÷萌え=初音ミク
が計算できないちゅー仕組み。

萌えのなりすまし

では、ルパンがなりすましをしたらどうなるか?

  • ボブとクリス、そしてルパンがそれぞれ好きな『萌え要素』を想像する
  1. ボブは「初音ミク萌え」と偽クリス(ルパン)に伝える
  2. ルパン(偽クリス)は「制服萌え」とボブに伝える
  3. 偽ボブ(ルパン)は「ねこみみ萌え」とクリスに伝える
  4. クリスは「メイド萌え」と偽ボブ(ルパン)に伝える
  • ボブと偽クリス(ルパン)は「制服×初音ミク萌え」というパスワードを共有
  • 偽ボブ(ルパン)とクリスは「猫耳×メイド萌え」というパスワードを共有
  • 以降、ボブとクリスの通信はすべてルパンに筒抜けになる。

補足

  • ルパンのように「なりすまし」と「データの偽造・改ざん」によって、暗号を解除する方法を中間者攻撃*3という。*4
  • 単純なDH鍵共有には中間者攻撃の脆弱性がある。
  • スタバの野良無線は言うまでもなく、パスワード付き公衆無線LANにも中間者攻撃の脆弱性がある。

無料の無線LAN「connectFree」、ユーザーからTwitter IDや閲覧URLなど無断取得 - ITmedia ニュース
Blogger Alliance | 404 Not Found

次回予告

DTCP-IPの解読を目指し、
鉄壁に見えたAESにも鍵交換の脆弱性があることを発見したのもつかのま、
ECDHという公開鍵暗号方式に行く手を阻まれた。
萌え要素からDH鍵交換にも中間者攻撃が可能なことが判明した。

次回もサービス、サービス!

*1:ソースデバイスともいう

*2:シンクデバイスともいう

*3:man-in-the-middle attack、MITM

*4:[http://ja.wikipedia.org/wiki/%E4%B8%AD%E9%96%93%E8%80%85%E6%94%BB%E6%92%83:title]