Bitmessage
Bitmessage wiki より:
- "Bitmessage は暗号化したメッセージを他者や購読者に送信するのに使われる P2P 通信プロトコルです。分散化されておりルート証明書のように誰かを信用しなくてもよいように設計されています。強力な認証機能によってメッセージの送信者を偽装することが不可能となっており、盗聴者からメッセージの送信者・受信者などのコンテンツ以外のデータを遮蔽します。"
Bitmessage は単独で使うことも、Tor と一緒に使うこともできます。Tor と組み合わせることでセキュリティがさらに向上します。
インストール
AUR から pybitmessageAUR または pybitmessage-gitAUR をインストールしてください。Tor と組み合わせて使う場合、公式リポジトリから tor をインストールしてください。Python スクリプトでマグネットリンクを作成するには python2-bencodeAUR パッケージをインストールしてください。
設定
Tor を使わない
bitmessage を始めて起動したら (bitmessage のバイナリの名前は pybitmessage です)、ポップアップを無視して以下の手順に従ってください:
- Your Identities タブを開いてください。
- New ボタンを押して新しいアドレスを作成してください。bitmessage では複数のアドレスを使うことができるため、好きなだけアドレスを作成してください。
- アドレスの生成方法としてパスフレーズか乱数を使うことができます。乱数はセキュリティに優れ、パスフレーズは利便性が優れています (再作成するときは乱数よりもパスフレーズのほうが簡単です)。
- address version number と stream number を記憶してください。何らかの理由でアドレスを作成しなくてはならない場合に使用します。
Tor を使う
上記と同じ手順を踏みますが、以下の設定が必要です (最初のアドレスを作成する前に行ってください):
Settings > Network Settings
を開いて Proxy server / Tor セクションの Type ドロップダウンから SOCKS5 を選択。- Server hostname に "localhost" と入力して Port には "9050" と入力してください (TOR browser bundle を使用している場合は "9150" と入力)。
- bitmessage を再起動してください。
使用方法
テスト
bitmessage の使い方はメールクライアントと同じです。ただしアドレスが Bitmessage 形式になります。bitmessage が正しく機能しているかどうかテストするには、BM-orkCbppXWSqPpAxnz6jnfTZ2djb5pJKDb
にテストメッセージを送ってください。正しく設定されていれば送信したメッセージが送り返されてきます。
添付ファイル
現時点では bitmessage で添付ファイルを使うことはできません。解決方法は3つあります。ひとつはファイルを base64 で変換して bitmessage の末尾に付け加える方法です:
base64 < binary.file > text.file
受取人はテキストをファイルにコピーして以下のコマンドを使うことで元の状態にファイルを再変換できます:
base64 -d < text.file > binary.file
しかしながら上記の方法は bitmessage 向きではなく (メッセージの長さが不自然に増えるため)、あまり洗練されていません。(dropbox や box などの) クラウドストレージプロバイダにファイルをアップロードして bitmessage でリンクを送信することを推奨します。もちろん、ファイルに機密情報が含まれる場合、PGP などのプログラムを使ってファイルを暗号化すると良いでしょう。ファイルを復号化するためのパスフレーズは bitmessage で送ることができます。
巨大なファイルを送りたい場合、マグネットリンクや torrent ファイルを作成してデータを共有する方法があります。公の torrent サイトに torrent を載せる必要はありません。まず適当な torrent アプリケーションを使って共有したいファイルの torrent を作成してください。上記のように base64 を使って torrent ファイルを共有するか、以下のスクリプトを使ってマグネットに変換します (ソース記事):
~/.scripts/createMagnetLink.py
!/usr/bin/python2 import sys import urllib import bencode import hashlib import base64 if len(sys.argv) == 0: print("Usage: file") exit() torrent = open(sys.argv[1], 'r').read() metadata = bencode.bdecode(torrent) hashcontents = bencode.bencode(metadata['info']) digest = hashlib.sha1(hashcontents).digest() b32hash = base64.b32encode(digest) params = {'xt': 'urn:btih:%s' % b32hash, 'dn': metadata['info']['name']} announcestr = '' for announce in metadata['announce-list']: announcestr += '&' + urllib.urlencode({'tr':announce[0]}) paramstr = urllib.urlencode(params) + announcestr magneturi = 'magnet:?%s' % paramstr print(magneturi)
上記のスクリプトを使うには python2-bencodeAUR のインストールが必要です。マグネットリンクは base64 を使わなくても共有できます。
Torrent はプライバシーの問題があるため、第三の方法として BM API client を使ってバイナリや画像を埋め込む方法があります。python スクリプト (UBF にあります) によって1番目の方法と同じようにエンコードされた bitmessage としてバイナリを投稿します。
Chan
bitmessage wiki より:
- Chan は中央認証機関を必要としないメーリングリストです。特定のテーマについて議論するために使われアドレスのパスワードにもなるため Chan と呼ばれます (チャンネルの略)。
Chan (または Distributed Mailing List) はファイルメニューの "Join/Create Chan" を押して参加・作成できます。パスフレーズを入力すると chan のアドレスが生成されます。既存の Chan に参加するには、パスフレーズ (chan の名前) と任意で chan の BM-2... アドレスを入力する必要があります (後者は chan の名前のミスタイプを防ぐため)。BM-2... アドレス (キー) を記憶したくない場合は Add Chan / Create New Chan からパスフレーズを入力するだけで参加できます。一番人気のある chan は general です。参加するには Create New Chan からパスフレーズとして general を入力してください。