雑種路線でいこう

2014年06月22日

もっと安全メッセンジャーを考える

前の記事ではFACTAの記事事実と仮定した場合韓国政府が認めたのは韓国国内利用者-日本LINEデータセンター間の平文通信の傍受で、日本国内での利用を韓国当局適法に傍受することは難しいと書いた。技術的にはSSL秘密鍵サーバーに蓄積された情報が狙われ得るものの、日本国内での通信傍受は司法傍受を除いて違法で、事業者が法的手続きを経ずに外国当局情報提供すれば電気通信事業法の「通信の秘密」に觝触するから国家間協議であっさり認めるとは考え難いからだ。

はいえ諜報の世界では非合法のことも行われている。例えば米国法律上権限を超えて広く通信傍受していたことや、中国が民主化運動家のアカウントを嗅ぎ回っていることは広く知られている。従って事業者として絶対に傍受されていないと断言すべきではなく、データセンター場所暗号方式などの事実を説明し、それ以上のことは断言を避けた方が広報上のリスクは小さいと結論づけた。仮に通信傍受が行われていたとしても、直接的に協力していない限りは関知しようがないからである

日本敗戦以降、諸外国と比べて「通信の秘密」を厳しく規律してきたが、青少年対策の文脈で警察や総務省がSNS事業者に対してミニメール自主的監視児童ポルノのブロッキングを求めるなど、ここ数年で大きく風穴が開いた。また海外サーバーサービス運営している場合は、現地の法律を守るために情報提供する限りは正当業務行為に当たるとの解釈も成り立つ。

そもそもブラックボックスかつ本来目的はお遊びツールであるスマホアプリを信じて行政傍受への対策まで求めるのは筋違いというか、どうしても傍受されたくないのであれば、もっと真剣安全性担保できるアプリ検討すべきだろう。では安全メッセンジャー要件は何か。

まず無線LANでの通信だけでなく、3GLTEでの通信も暗号化すべきだ。そして端末-サーバー間の通信を暗号化するだけでなく端末間でEnd-to-end暗号化を行った方が安全だ。端末単位キーペアを作成して直接暗号化していれば、運営者のサーバー不正に侵入された場合や、運営者が当局SSL秘密鍵を提出していた場合であってもメッセージの解読が難しい。

アカウント公開鍵を共有するディレクトリーサービスや、片方の端末がオフラインであった場合メッセージを一時保存するキューサーバーに集中させるのではなく、P2Pで分散管理した方がいい。端末間で直接通信すると通信の存在そのものを隠せないので、インターネットを使う場合TORなどのOnion Routingを使って間接的に通信した方がいい。ローカルで直接接続できる場合インターネットを使わず、無線通信は直接拡散方式無線LANよりも、Firechatのように周波数ホッピング方式の古いBluetoothバケツリレーを行った方が傍受は難しい。これらを全てテンコ盛りにすると著しく重くて不便そうだけど。

こうした方針が適切に実装されているかを確認するためには、参照実装がオープンソース提供されてコードレビューを行えた方がいい。OpenSSLHeartbleed脆弱性が紛れ込んだ教訓を踏まえると、プロジェクトには暗号通信の専門家複数関わって、ちゃんと安定した経済基盤の上でレビューしている必要がある。ひとつの実装に依存するよりは、公開された標準プロトコルに基づいて複数の実装が提供された方がいい。

これらの理想を全て満たしたメッセンジャーを探して様々なアプリを試しているのだが、部分的にはTextSecure、ChatSecureやthreema.などが実現しているが、どれも流行っていない。起動時のパスワード入力など操作が複雑であったり、暗号化のオーバーヘッド最適化不足で操作感が軽快でなかったり、あまり積極的マーケティングされていないのだろう。

大きなシェアを獲得したサービスの中でアーキテクチャー的に傍受が難しかったのはSkypeだが、中国参入に当たってはバックドアを開けたし、それ以外でも各国の規制対応するための仕組みが埋め込まれていると考えられている。ビジネスで儲けようとすると課金規制との絡みで様々なしがらみが発生し、政府やパートナー企業と折り合いをつけていく必要が生じる。Skypeからの教訓を考えると、通信傍受が不可能なメッセージング・アプリケーションをつくって世界中で広く普及させるのは難しいのだろうか。

メッセンジャーに限らなければPGPTorBitcoinといった仕組みは利便性必要性が評価されて、しぶとく生き残っている。日本でもSoftEtherの登君がVPN Gate中国政府などによる検閲を乗り越えるサービス提供している。これらの単体では様々な使い道のあるコンポーネントを組み合わせ、システムとしてもビジネスとしても脱中心化したかたちで盗聴に対して安全メッセージング基盤をつくることは可能だし、実際に様々なかたちで細々と運用されているのだろう。

それらはオープンインターフェースに基づく誰もが後から入り込めるエコシステムで、上手にボトルネックをつくって儲かる仕組みをつくるのは非常に難しい。その代わりに運営コストを低く抑え、様々な人々の緩やかな厚意と強力によって維持される。しかしながらOpenSSLHeartbleed脆弱性が仕込まれたように、オープンソースオープンプロセスからといって安全とは限らない。腰を据えて開発やレビューに打ち込める経済的余裕がなければ、いとも簡単にバックドアは開けられ得るのである閑話休題

商業的に成功するアプリはほどほどに安全で、各国の規制と折り合いをつけられる仕組みにならざるを得ない。もちろん技術的には安全メッセンジャーをつくることはできるが、広く普及して成功する過程Skypeのように当局と折り合いをつけるか、LavabitやSilent Circleのようにサービスを閉じることになる。

権力から潰されないためには小さな運営コストで、収入源を人質に取られないよう運営する必要があるが、そうすると今度はOpenSSLのように外部からバックドアを含んだ寄付に対して脆弱となる。そういったトレードオフの中で成功しているサービスはそれなりにバランスを取っているのであって、本当に高い安全性が欲しいのであれば外部性なり利便性犠牲にして、地味に目立たず運営していくのが手堅いのではないか。

それは海の果てで孤軍奮闘する未来革命家人生を支えて、密かに世界史を動かす小道具になるかも知れないが、若者に使われ出会いのきっかけをつくったり、テレビで宣伝されたり運営会社を上場に導くようなヒットを飛ばすことは難しいだろう。という訳でLINEEnd-to-end暗号化するべきとは思わないし、とはいオプションで通信傍受とか気にする人向けに「常にTLSを利用する」オプションくらい用意してもいいかもね、とは思う。

本当に安全環境が欲しいんだったらgeekなりCypherpunkとなってハードボイルドに頑張ろうぜ、あんまり敷居を下げて出会い厨とかに使われると日本でも厄介なことになるし、テロリストや犯罪者に助け舟を出してると外国政府から後ろ指を指されながらの金儲けって難しいけどさ。

そして自分でつくるほどの根性はないが、そこそこ安全通信手段が欲しいのであれば、End-to-end暗号化をサポートした実装の公開されている定評のあるアプリ検討した方がいい。とはいえどんなに安全アプリを使っていてもOSマルウェア汚染されていれば台なしだし、話し相手のいないメッセンジャーほど虚しいものはない。

斯様に技術も世の中も、あちらが立てばこちらが立たずという制約の中で、上手にバランスを取ったアプリが流行っているし、深く考えるほど不便を受け入れてまで相手に隠したいメッセージなんてやりとりしていない。口説きたい相手がLINEを使っていれば後から消したくなる程度に恥ずかしいメッセージであってもLINEで送るし、それを情報機関に傍受されたところで普通そんなに困らないはずだ。暗号が身近になって、やろうと思えば何でもできるようになっても、伝えたいことを伝えたい相手に伝えたい時に伝えることは、今も昔も変わらず難しい。

僕は通信傍受の実態を多少は知った上で、明日以降もLINEFacebook MessengerGmail他愛ない連絡を続けるし、いろんなセキュア・メッセージングのアプリを入れてはみたものの話し相手が誰もいなくて、早く同好の士をみつけなきゃと気にしつつ、普段連絡を取りたい相手に押し付けたくなるほど気に入ってもいない。ハードボイルドな試みの中から簡単には潰されない安全かつ堅牢環境が整備されて、いずれカジュアルに使っても楽しい安全アプリが出てきたら面白いけどね。

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/mkusunok/20140622/secmsg
おとなり日記
クリエイティブ・コモンズ・ライセンス
雑種路線でいこう by 楠 正憲 is licensed under a Creative Commons 表示 - 改変禁止 2.1 日本 License. このブログは楠正憲の個人的なものです。ここで述べられていることは私の個人的な意見に基づくものであり、私の所属する組織とは何ら関係はありません。