Bitmessageの簡単な特徴

メリット

使い方が非常に簡単

Bitmessageを起動し、アドレスを生成するとすぐに送受信が可能になる。電子メールと同じような感覚で使用することができる。生成したBitmessageアドレスは公開してもよい。その人にメッセージを送信する場合はそのBitmessageのアドレスを宛先に指定するだけで送信できる。

各種APIの提供による汎用性の高さ

Bitmessageはオープンソースであり、APIの提供もしている。これを用いてBitmessage同士のユーザーでなくとも、ブリッジを経由して受信者には電子メールとして送信することもできる。ただし、ブリッジを経由するために若干到達に時間を要する場合や匿名性の低下も懸念される(現在憶測の域)

匿名性

Bitmessageでは各ユーザーがいつでもいくらでもBitmessageのアドレスを生成することができる。
アドレスには直接個人を特定する情報が結びついていないため、アドレスを公開しても身元の特定をすることは困難である。しかもアドレスはいつでも新しく生成または破棄することができるため、ユーザーは複数のアドレスをいつでも生成し、必要であれば無効化することができる。

成りすましと盗聴の困難性

Bitmessageではデジタル署名を採用しているため、送信者になりすましてメッセージを送ることはできない。(デジタル署名の特性から否認不可能性を有する)
また、本来のBitmessageを生成したユーザーだけが秘密鍵を持っているため、送信者の期待した受信者だけがメッセージを読むことができる。これに伴い、ネットワーク中をメッセージが流れていても、いかなる第三者もメッセージを盗聴し改ざんすることはできない。
裏を返せば、期待した受信者は期待した送信者から改ざんや盗聴から保護されたメッセージを受け取れる。

ピュアP2Pによる非中央集権型

従来のメッセンジャーや電子メールとは異なり、何か1つの固定されたサーバーを介してメッセージが送られるわけではなく、Bitmessageを使用しているあらゆるノード(DHTを使用している)にメッセージが行き渡り、最終的に受信者へメッセージが送り届けられる。
このことから、サーバーダウンによってメッセージの送受信が不可能になるということはない。

かき混ぜ(mix-network)による匿名性

全てのノードが全てのメッセージを処理するというシステムであるため、誰がどこへ送ったメッセージなのかを特定することは実質的に不可能である。あらゆるノードを経由してメッセージが送られるため、送信者と受信者のIPアドレスを割り出すことも非常に困難である。たとえ悪意のあるノードがいたとしても匿名性に影響することはない。
しかしそれでも匿名性について心配に思うユーザーのために、TorまたはI2Pといった匿名通信を図るシステムと連携してメッセージをやりとりすることが可能である。Torは通信の面でinsecureなシステムであるが(鍵交換に信用性がない)、Torネットワークを通過する前に元々のメッセージが暗号化と署名を施されているため悪意のあるTorノードユーザさえもメッセージの盗聴と改ざんを行うことは暗号学的に困難である。

ブロードキャスト機能を有する

メールと同じように、Bitmeesageでは1対1のメッセージの送受信にかぎらず、1対複数人へ一斉配信が可能である。Bitmessageのchanという機能を使うと、chanパスフレーズというものを生成できる。このchanパスフレーズを知っているものだけが、特定のchanに投稿されたメッセージを読むこと、投稿することだけができるため、chanパスフレーズを知らない者は全く内容を知ることさえできない。
たとえばchanパスフレーズを社内だけ共有しておくと、社内の人間のみしかそのchanに投稿されたメッセージを読むことはできず、書き込みもできない。
また、chanには誰が投稿したのかさえ情報が残らないため、同じchanパスフレーズを知っている人しか投稿できなくても、そのうち誰が投稿したのかは特定できない。

多言語対応

Bitmessageは数多くの言語に対応しており、日本語のメッセージをやりとりすることも問題なく可能である。

デメリット

メッセージの遅達性と有効期限

Bitmessageは全てのメッセージを全てのノードが処理していく。ノードは受け取ったメッセージ全てを復号しようと試みるが、自分宛てのものでなければ復号に失敗するためその時は単純に自分のパソコンにメッセージを保存する。(デフォルトでは2日間だけ保存し、これを超過すると自動的に削除される)
全てのノードがこれらの作業を行うため、本来の受信者へメッセージが到達するためには時間がかかる。初めてやりとりするユーザー同士がメッセージを到達をするには約15分ほど時間がかかる。(経験則)
しかし、過去にメッセージをやりとりしたユーザーとの間では約2分ほどでメッセージが到達する。(経験則)
また、送信されてから2日間のみネットワーク上に保存されるため、2日間以内にメッセージを受信しなければ二度とメッセージを受信することはできない。これはネットワーク上に送信から2日間以上経過したメッセージが残らなくなるためである。デフォルトでは2日間だが設定を変更することは可能。また、2日間以上受信者がオフラインの時、受信認証をうけていないと送信者が判断しさらに2日後に再配信する。そのためネットワーク上からメッセージが消えてはまた再配信されるので、決して2日間以内に受信し終えなければならないというわけではない。

ネットワーク帯域を消費しやすい

Bitmessageを実際に実行してみればわかることであるが、自分以外の公開鍵とメッセージの処理をするために多量の通信量を要する。ネットワークの帯域が極端に制限されている場合、Bitmessageが有効に動作しない場合もある。

メッセージストアのためにファイル量が増加する

各ノードはほぼ全てのメッセージをストアするため、保存に多くの空き容量を有する(経験則ではおよそ数十MBほど)
しかし、ストアされたメッセージは基本的に2日間経過すると自動的に削除されるため、いつまでも膨大なファイルサイズになり続けることはない。

アドレスのリストア不可能性

Bitmessageでアドレスを生成したがそのアドレスを紛失したという場合二度と回復する手段はない。その場合は新しくアドレスを生成し、最初からやり直すしかない。だがこれも裏を返せば、同じアドレスを誰かが勝手に使ってなりすますことができないというメリットでもある。

テキストメッセージのみやりとり可能

BitmessageのクライアントPyBitmessageでは基本的にテキストメッセージのみをやりとり可能であるため、メールのようにファイルを添付して送るということはできない。しかしこれは、暗号化したファイルをどこかへアップロードしておいて、そのリンクをメッセージとして送信するといった使い方をすることでこのデメリットをカバーできる。

セキュリティ専門家による安全性の評価がなされていない

これは大変重要なことである。かの安全であると謳われていたTrueCryptさえもプログラムに致命的な欠陥が発見され、安全でないことが確認された。Bitmessageは第三者の専門家らによる安全性の検証が一切行われておらず、現在リリースされているBitmessageにも何らかの欠陥が抱えている可能性は否定出来ない。
また、OpenSSLを使用していることからも、万が一OpenSSLに致命的な欠陥が発見されればBitmessageにも影響すると考慮することはいたって自然なことである。

有効な攻撃法が存在する可能性

基本的にDoS攻撃に対応する機能をBitmessageは有しているが、ドイツ語版wikipediaによるとBitmessageへの攻撃があるとのこと。ただし所詮はwikipediaの項目に過ぎない上に、実際に試行された例や学術論文の出典がないため、信憑性は低い。これは私の知識不足のせいもあるだろう。



あまり重要でない事項

  • 1日に数千通以上ものメッセージネットワーク上で処理されている
最終更新:2015年09月18日 00:10