笠井闘志個人ウェブサイト

情報技術における自由とプライバシーの保護

メッセージのやりとり──自由な通信と言論の手段

2022-07-02 初版

2022-07-09 第2版
2022-08-18 第3版
2022-09-01 第4版
2022-09-03 第5版
2022-10-22 第6版 大幅な改訂と,だ・である調への変更
2022-10-23 第8版

メッセージのやりとり

安全とは?

メッセージツールに求める条件として,つぎの事項をあげる。

なお,ここでは家族や親友との意思疎通に使うことを想定している。信頼できない相手とやりとりする場合は,運営企業やビッグ・テックの目があったほうが,むしろ安心といえるかもしれない。

安全を保つ使い方

どれだけ安全なツールを使ったところで,通信の当事者が安全性に気をつかわないかぎり,通信の安全性は確保されない。

安全性を保つために留意すべきことをあげた。

なぜLINEやFacebook Messengerではだめなのか?

LINEやFacebook Messengerなどのメッセージアプリは,プロプライエタリ(不自由)なソフトウェアで,ソースコードが秘匿されている。つまり,メッセージがどのように扱われるかはわからず,開発者や運営会社を信頼するしかない。

さきにあげた条件を満たしているか,検証することさえ困難である。「確実性」や「メタデータの秘匿」などは,ほぼ確実に満たしていないと推測する。

そして,LINEやFacebook Messengerなどは使い勝手が悪く,おせっかいが過ぎる。なりすましや迷惑行為を防止するためのセキュリティが厳しく,複数の機器から利用するときなどには支障がでる。

もちろん,なりすましや迷惑行為といったことは起こり得るし,防がなくてはならないことだ。しかし,こういった問題に対処する責任は,通信の当事者にある

なりすまされないように自分の情報を管理する。なりすましを見分ける。こういったことは通信の当事者がすべきことで,事業者が規制を強めすぎると自由が失われる。

メッセージツールの一覧

電子メール

ここでいう電子メールは,SMTP,IMAP,POPを利用した電子メール,つまり普通の電子メールである。

電子メールアドレスは,username@example.comのような形式であらわされる。

電子メールの安全性において重要なのは,アットマークの後ろがわ(ドメインおよびメール事業者)の選びかた,そして電子署名だ。

私は独自ドメインを使い,ウェブサーバーと同じ事業者のサービスを利用している。ここに電子署名をほどこした場合,「なりすまし防止」の条件を満たすことができる。暗号化をくわえれば「通信内容の秘匿」も満たすが,いずれにせよ「確実性」と「メタデータの秘匿」は望むらくもない。

いつ,だれがだれに送ったかという情報は,メールサーバーに記録される。しかも,災害や政変などが起きようものなら,メールサーバーの運営ができなくなるかもしれない。

電子メールの仕組み上,「メタデータの秘匿」を満たすことはきわめて困難である。

ただし,「確実性」ならある程度望める。国内の事象に影響されぬよう,できれば国外の事業者が望ましい。無料のものだと,オランダの非営利団体DisrootやドイツのプログラマーDanielなどが提供している。有料だと,ドイツのMailbox.orgがある。

さきにあげた事業者がメール事業を継続できるかはわからないが,世界規模の災害でも起きないかぎりは,自身とメール事業者が同時に被害を受けることはないだろう。たとえメール事業を継続できなくなったとして,ほかの事業者を探して乗り換えるほどの余裕はあるはずだ。

なお,メールアドレスは「通信用」と「登録用」の少なくとも二つを用意することをおすすめする。「登録用」のアドレスでさまざまなウェブサービスに登録し,家族や友人とのやりとりには「通信用」を使う。

電子署名と暗号化

電子メールに署名・暗号化する方法は,主にGnuPG互換とS/MIMEの二つがあげられる。S/MIMEは金融事業者などが 使っている方法で,S/MIME事業者による認証を経て鍵が発行される。

ここでは,S/MIMEではなくGnuPG互換を紹介する。GnuPG互換は,GnuPG,PGP,OpenPGPを指す。いずれも互換性があるので,ここでは "GnuPG" と表記する。

GnuPGはS/MIMEと異なり,事業者から認証を受ける必要がない。勝手に鍵を作ることができるが,それが信頼されるかどうかは別の話である。

鍵をウェブサイトで公開したり,鍵指紋を名刺に印刷したりするといいだろう。

GnuPGには「鍵サーバー」というものがあり,公開鍵を登録しておくことができる(印鑑登録のようなものだ)。

GnuPGは公開鍵暗号という方式を利用している。電子署名の場合,秘密鍵はいわばはんこのようなもので,公開鍵はその印影を検証するためのものだと考えればよい。

推奨クライアント

推奨するクライアントソフトは,次のとおり

XMPP

XMPPは,いわば「メールのチャット版」のようなものだ。XMPPは電子メールと同じく,オープン標準である。みなが使っていて標準と勘違いされているLINEは,けっしてオープン標準ではない。

XMPPアドレスは,電子メールアドレスと同じ形式である。

署名・暗号化にはGnuPGを利用することもできるが,OTR(Off The Record)という方式のほうがよく使われている。なお,OMEMOという方式もある。

電子メールはスパムに悪用されることが多いため,自由やプライバシーに配慮した事業者はなかなか見つからない。しかし,XMPPは多くの事業者が提供している。さきにあげたDisrootやDanwinでは,電子メールと同時にXMPPアカウントも取得できる。

XMPPを無料で利用できるサービスを,つぎにあげた。

[matrix]

[matrix]は,「XMPPの現代版」のようなもの。暗号化機能を初期搭載(クライアントソフトによっては,暗号化未対応のこともある)しているほか,通話機能もある。

[matrix]を無料で利用できるサービスを下記にあげる。なお,クライアントソフトから登録・ログインするさい,かっこ内のアドレスをエンドポイントに指定する。

[matrix]アドレスは,@username:example.comのような形式である。

ReplicantまたはAndroidで利用できる,暗号化対応の[matrix]アプリは,SchildiChatElementなどが存在する。

携帯電話の連絡先から,[matrix]アドレスを自動追加する機能(LINEでいうところの「友だち自動追加」)もある。IDサーバー(連絡先情報をひもづけるサーバー) "vector.im" は多くの人が使っているため,登録されたメールアドレスや電話番号から,[mateix]アドレスを交換できる。

上記三つのメッセージ手段は,もちろん使い方やサーバーの選び方次第ではあるが,安全性では似ている。


Session

Sessionは,Lokinetという匿名通信システムを利用したチャットアプリである。LokinetはTorに似たシステムだが,Torと異なり,ノード(通信の仲介点)を運営すると暗号通貨 "OXEN" を稼ぐことができる。これが,品質のいいノードを運営するインセティブとなる。

その暗号通貨はどこから出るのか? 英語の資料を読みといて推測するに,ノードを運営することじたいがマイニングのようになって生成されるようだ。

乱数によって生成されるSession IDと,秘密鍵となるリカバリーフレーズの組み合わせが自動生成される。IDとリカバリーフレーズのいずれも,指定することはできない。ちょうど,onionドメインのようだ(追記:ウォレットを生成しOXENを払えば,どうやらIDを指定できるようだ)。

もしリカバリーフレーズが漏れてしまえばアカウントは乗っ取られ,けっして取り戻すことはできない。

では,安全性について。ソースコードは公開されている。通信内容とメタデータのいずれも暗号化されている。

問題は,「確実性」だ。Lokinetのノードがすべて破壊されることはほぼあり得ない。しかし,メッセージの受け取りが遅延することが多々ある。送信時につくチェックマークだって,おそらく「Lokinetに到達した」という意味で,「相手に届いた」という意味ではない。

ReplicantまたはAndroidでは,SessionのF-Droid版を利用する。それ以外では,Session公式ウェブサイトにしたがって導入する。

Signal

Signalは,プライバシーを第一に掲げ,非営利団体によって運営されるメッセージシステムである。一極集中であること,およびSMS認証が必要なことから,積極的に推奨しない。

欧米で人気のWhatsAppのように,スマートフォン内の連絡先(電話帳)に登録されている人とつながる。それ以外のつながり方はない。

ReplicantまたはAndroidでは,Googleなどへの依存をとりのぞいたFOSSバージョンの導入を推奨する。それ以外をお使いであれば,Signal公式ウェブサイトの記載にしたがって導入する。


SMS

SMSの安全性は低い。

SMSは,暗号化されずに携帯電話網を通る。通信内容も,メタデータもまったく秘匿されていない。

番外編──郵便

最後に,郵便の安全性を考えてみよう。

まず,「確実性」は期待できない。郵便網が破綻してしまえば,手紙を送ることができない。そして,災害や政変があれば,郵便網は容易に破綻しかねないのだ。しかし,それ以外においてはかなりすぐれた手段といえるだろう。

「ソースコード公開」でいえば,郵便局の約款や法規は公開されているし,郵便局の作業風景が窓口の向こうに見えることがある。もし大規模な検閲などをおこなったとしても,たぶん局員のだれかが内部告発するだろう。

「通信内容の秘匿」では,確実に封をして,封緘(ふうかん)かシーリングスタンプを捺せば開封されることは(おそらく)ない。もし開封されたとしても,受取人に気づかれてしまう。

「封筒から出して中身を読み,ちがう封筒に入れて届ける」ということがないよう,あて名や住所は手書きが望ましい。もし印刷あるいはタイプして送ることが多いのであれば,自分専用の封緘やシーリングスタンプを作る(あるいは,信頼できる店でオーダーメイドする)か,封のところに署名すればよい。

光や赤外線ですかして読まれることをおそれるなら,紙やインクに気をつかえば済む。

「なりすまし防止」においては,技術的にはほぼ完璧だ。手書きなら筆跡ですぐ判別できるし,印刷やタイプでも,署名もしくは捺印があれば検証できる。インクや紙(便せん)がいつもと違えば,相手の身になにかあったのではないかと推測できるだろう。

さいごに,「メタデータの秘匿」だ。たしかに,その地域を担当している配達員に「この人には,この人からの手紙が多いな」などと気づかれる可能性はあるだろう。

しかし,日々多量に送られる郵便物のメタデータを収集することは容易ではないはずだ。せいぜいが,「どの郵便番号にはがきが何通,普通郵便が何通」といった程度だろう。政府から目をつけられてでもいないかぎり,メタデータを気にすることはない。


免責事項

この記事で紹介したソフトウェアやツールを利用した結果については,いっさい責任を負うことができません。亡命や取材など,きわめて高い信頼性を必要とする場合には,ご自身で調査することを強く推奨します。

著作権情報

著作権者:笠井闘志

特記なきかぎり,このウェブページの利用を,クリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライセンスにもとづいて許諾する。