Bitmessageの暗号学的な安全性の考察

仮にも暗号学を専攻しているためできるだけ正確に考察しますが、過信しないでください。

TorChatとBitmessangerの匿名性比較

 2chのスレッドでBitmessageとTorChatとはどう違うの?という質問が投げかけられていました。
確かに機能面セキュリティ面はどちらも大差がないのですが、Bitmessageはmix-networkという特性から理論上送受信者の特定ができないのにもかかわらず、Torはあくまで複数のノードを頻繁に切り替えることで匿名化を図っています。その部分をTor Curcuitと呼ぶのですが、これを利用してTorユーザーを88%の確率で特定できるという攻撃方法をMITとカタールコンピュータサイエンスが発表したことから、Bitmessageのほうがより送受信者の特定が困難であると私は考察しています。
その論文はまだ熟読していないのですが、論文にある攻撃方法を用いることでどのTorユーザーがどのHiddenServiceにアクセスしたかまで暗号化を解くことなく特定できるというものらしいです。詳しくは英語が読める方であれば下記リンクをご覧くださるといいでしょう。残念ながら翻訳版をリリースするような時間は私にはありません。
 また、Bitmessageプロトコルは無信用性でありながらも送信者は期待した受信者にしか読めないようにメッセージが暗号化されていて、中間者攻撃もできないと開発者Jonathanは言及していて、私も無理であろうと捉えています。しかしTorは暗号化の鍵を経由するノードに依存してしまうため、悪意をもったノードが増加することで中間者攻撃の成功確率が高くなります。現にTorトラフィックの盗聴を試みようとする悪意あるサーバーが60程度見つけられたとTor Projectのフォーラムで開発陣が記述しています。Torは中間者攻撃もやろうと思えば可能ですし、種々の攻撃方法が存在しています。それに比べればBitmessageのほうがよりセキュアであると私は考えています。極端な話ですが、Torネットワークで送信者ボブと受信者アリスの間にはさむノードが全て悪意あるノードであればTorの安全性が破綻することはもはや自明です。しかしBitmessageはそのような状況だとしても中間者攻撃は成功しません。
[20151114追記]
TorCircuitを利用してユーザーを特定する問題は既に解決されています。

TorChatとGPGを組み合わせて使うと?

 TorChatはTorプロトコルを用いているため、安全性はそれに依存します。上記に述べたようにTorネットワークはHiddenServiceであれば信用できる認証局が発行した証明書を用いてHTTPSで、メッセージのやりとりであればGPGで終端間暗号化を図らなければ暗号学上安全にはなりません。しかしGPGを使うと送信者と受信者の情報が明確に現れてしまうため、通信が盗聴されて内容がわからないけれども、誰が誰に宛てたメッセージなのかが第三者にもわかってしまいます。Bitmessageはmix-networkを使うことで誰が誰に宛てたのかを正規の受信者以外(その受信者さえも復号に成功するまでは)が知ることはできません。要するに、第三者はあるメッセージを見ても、そのメッセージが誰から送信されて誰に宛てたものであるかを暗号学的に識別できないのです。
結論から言いますと、TorChatとGPGを組み合わせて使う方式よりもやはりBitmessageを使う方がより匿名性と安全性が高いといえます。

ノード観測による使用発覚の危険性

 Bitmessageはあらゆるノードと接続をして、Bitmessageネットワーク全体のデータを処理しようとします。その時にお互い接続し合っているノードをパケットを監視するソフトを使って容易に観測できます。ですからBitmessageの使用をよく思わない政府がいたとすれば、わざと観測目的でBitmessageクライアントを動かす可能性は十分に考えられます。もし自国の政府が言論の自由を奪う傾向にあり、その政府がBitmessageを使っている自国民を見つけたとしたらすぐさまそのユーザーを疑い、刑罰に問うかもしれません。Bitmessageは確かにノードを観測しただけではそのノードが何て書かれているメッセージを送ったのかあるいは受け取ったのかはわかりませんが、接続元を知られてしまうという別の安全性の問題があります。
 しかし幸いなことにBitmessageはTorを通して使用することができます。もしもあなたの国が言論を抑圧しているならば、Torを使用して直接Bitmessageネットワーク内のノードと接続しないことでこの観測を免れることができます。さらに、Torの設定ファイルを編集してあえて接続しない国、接続を望む国を指定することで誤ってTorネットワーク内の自国のノードと接続しないようにすることができます。もし可能ならば念入りに、PeerBlock等で自国のIPアドレスとの接続を拒絶するようにしておくとなお安全でしょう。

Forward Secrecy(FS)を満たさない問題

BitMessageはとても画期的なプロトコルであり、PGP/GPGを使ったメールのように複雑な鍵管理や別途ソフトウェアを用意する必要がありません。また、否認可能性をあえて利用したChanによるメッセージング、誰が誰に宛てたメールなのかを知ることができるのは期待した受信者だけであることからメタデータをも秘匿できる点はGPG/PGPにはない素晴らしい機能です。しかし、BitMessageは通常のGPG/PGPを使った終端間暗号化をしたメールのようにFSに対応していません。このため、万が一あるBitMessageアドレスの所有者だけが持つ秘密鍵が漏えいした場合、過去のメッセージは理論上全て解読されてしまうことになります。
しかしその可能性はあまり心配するものではありません。大半のメッセージは2日間でネットワークから消去されてしまうことになりますし、刻一刻と流れてくる全てのメッセージを解読を試みようとする攻撃者は記録し続けなければならず、秘密鍵の漏えいの機会を待たなければならないからです。こうなると、攻撃者にとって盗聴するために必要なコストは莫大なものになってしまいます。
最終更新:2016年03月10日 23:36