Bitmessage

提供: ArchWiki
2019年3月1日 (金) 00:16時点におけるKusakata (トーク | 投稿記録)による版 (カテゴリ変更)
ナビゲーションに移動 検索に移動

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 numberstream 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 を入力してください。

参照