安全なメッセージング・アプリとは(追記あり)

no extension

ちょっと古い話で恐縮だが。

まず EFF では「安全なメッセージング・アプリ」の要件として以下の7項目を挙げている。 (日本語訳は ASCII.jp の記事を拝借した)

  1. Encrypted in transit? (メッセージは暗号化して送られているか)
  2. Encrypted so the provider can't read it? (プロバイダーに読まれないように暗号化されているか)
  3. Can you verify contacts' identities? (連絡先の確認が可能か)
  4. Are past comms secure if your keys are stolen? (キーが盗まれた場合でも過去の通信が安全といえるか)
  5. Is the code open to independent review? (コードが開示されているか)
  6. Is security design properly documented? (セキュリティ・デザインは正しく文書化されているか)
  7. Has there been any recent code audit? (コードがしっかりと監査されているか)

主要なメッセージング・アプリについて,この要件を満たしているかどうかを調べたのが以下の表である。

 要件1要件2要件3要件4要件5要件6要件7
AIM
BlackBerry Messenger
BlackBerry Protected
ChatSecure + Orbot
CryptoCat
Ebuddy XMS
Facebook chat
FaceTime
Google Hangouts/Chat "off the record"
Hushmail
iMessage
iPGMail
Jitsi + Ostel
Kik Messenger
Mailvelope
Mxit
Off-The-Record Messaging for Mac (Adium)
Off-The-Record Messaging for Windows (Pidgin)
PGP for Mac (GPGTools)
PGP for Windows Gpg4win
QQ
RetroShare
Secret
Signal / RedPhone
Silent Phone
Silent Text
Skype
SnapChat
StartMail
Subrosa
SureSpot
Telegram
TextSecure
Threema
Viber
Virtru
WhatsApp
Wickr
Yahoo! Messenger
Secure Messaging Scorecard (licensed under Attribution License by Electronic Frontier Foundation, 2014-11-04)

この中でメールアプリ(MUA; Mail User Agent)が混じっているが,ここでは除外する。 電子メールは仕組み上,要件4(いわゆる perfect forward secrecy)を満たすことができないからだ。 メールソフトを除いた一覧がこれ。

 要件1要件2要件3要件4要件5要件6要件7
AIM
BlackBerry Messenger
BlackBerry Protected
ChatSecure + Orbot
CryptoCat
Ebuddy XMS
Facebook chat
FaceTime
Google Hangouts/Chat "off the record"
iMessage
Jitsi + Ostel
Kik Messenger
Mxit
Off-The-Record Messaging for Mac (Adium)
Off-The-Record Messaging for Windows (Pidgin)
QQ
RetroShare
Secret
Signal / RedPhone
Silent Phone
Silent Text
Skype
SnapChat
Subrosa
SureSpot
Telegram
TextSecure
Threema
Viber
WhatsApp
Wickr
Yahoo! Messenger
Secure Messaging Scorecard (exclude MUA) (licensed under Attribution License by Electronic Frontier Foundation, 2014-11-04)

「安全な」というからには当然 End-to-End での暗号化機能が必須なわけだが,これには要件1と要件2を両方共満たす必要がある。 暗号化機能がない糞アプリを抜き出す。

 要件1要件2要件3要件4要件5要件6要件7
AIM
BlackBerry Messenger
Ebuddy XMS
Facebook chat
Google Hangouts/Chat "off the record"
Kik Messenger
Mxit
QQ
Secret
Skype
SnapChat
Viber
WhatsApp
Yahoo! Messenger
Secure Messaging Scorecard (not encryption) (licensed under Attribution License by Electronic Frontier Foundation, 2014-11-04)

わはは。 メジャーなメッセージング・アプリが出揃ってしまった。 少なくともこれらのアプリを「安全なメッセージング・アプリ」と思って使ってはいけない。 これらのアプリによるメッセージ交換はサービスプロバイダや諜報機関などに筒抜けだと思った方がいい。

さて,残ったもののうち,要件3と要件4を両方共満たすアプリを絞り込んでみよう。

 要件1要件2要件3要件4要件5要件6要件7
ChatSecure + Orbot
CryptoCat
Jitsi + Ostel
Off-The-Record Messaging for Mac (Adium)
Off-The-Record Messaging for Windows (Pidgin)
RetroShare
Signal / RedPhone
Silent Phone
Silent Text
TextSecure
Threema
Secure Messaging Scorecard (probably secure) (licensed under Attribution License by Electronic Frontier Foundation, 2014-11-04)

これらのアプリはひとまず「安全」と言ってよいと思う。 みなさんが使ってるアプリはこの中に含まれているだろうか。

要件5から要件7はセキュリティ管理の観点からみた要件である。 これらの要件を満たしていないアプリは将来的に危殆化を招いたり脆弱性の発見が遅れる可能性がある(つまり 0-day 攻撃に弱いアプリといえる)。 全ての要件を満たしたアプリは以下のとおり。

 要件1要件2要件3要件4要件5要件6要件7
ChatSecure + Orbot
CryptoCat
Off-The-Record Messaging for Windows (Pidgin)
Signal / RedPhone
Silent Phone
Silent Text
TextSecure
Secure Messaging Scorecard (secure) (licensed under Attribution License by Electronic Frontier Foundation, 2014-11-04)

この中で個人的におすすめなのは RedPhone と TextSecure である。 まぁ知り合いに勧められて導入してるんだけどね。 でも,誰もこれで遊んでくれないのよ。

結局メッセージング・アプリで一番大事なのは「相手がいること」なのよね。 私もふだん家族や友人とは Facebook Messanger とキャリアメールでやりとりしてるもん(LINE は捨てた。 Ingress は HO がメイン。まぁプライバシーを重視する人は Ingress しないと思うけど)。 その辺の使い分けをどうするかだよね。

おまけ。

最初の表から MUA を抜き出してみる。 ただし,要件4(perfect forward secrecy)は除外する。

 要件1要件2要件3要件5要件6要件7
Hushmail
iPGMail
Mailvelope
PGP for Mac (GPGTools)
PGP for Windows Gpg4win
StartMail
Virtru
Secure Messaging Scorecard (MUA) (licensed under Attribution License by Electronic Frontier Foundation, 2014-11-04)

要件4を除くと Mailvelope がパーフェクトなのがわかる。 Mailvelope は Web メール用の暗号化ツールだ。 Chrome または Firefox の拡張機能として導入できる。 なんだ。 これなら Google の End-to-End とか要らんじゃん。 後で調べてみよう。

【追記】敢えて LINE を評価してみる

フィードバックで LINE の評価例をいただいたので早速反映させてみる。

 要件1要件2要件3要件4要件5要件6要件7
LINE◯/☓
Secure Messaging Scorecard (LINE)

実は LINE には「タイマートーク」という機能がある。

タイマートークは、通常のトークとは別に作られる1対1の専用トークルームです。
送信したテキストや画像などは隠されたされた状態で送られ、受信者が各メッセージをタップすると、設定された時間だけ内容が表示され、設定時間を越えると、メッセージは削除されます。
※削除されたメッセージは復元できません。
タイマートークは次の環境でご利用いただけます。
・Android・iOS LINEのバージョン4.5.0以上
※LINEのバージョンが古い場合はこちらからアップデートをしてください。
・日本、中国以外でご登録いただいているお客さま
なお、対象とならないOSや国家ではご利用いただけません。
ヘルプセンター | LINE androidより

「タイマートーク」を使用する限りにおいては End-to-End 暗号化が行われているようだ(つまり要件2を満たす,ように見える)。

どういうことかというと「日本人にプライバシーなど不要」と思われているということやね。 さすが韓国企業はやることがエグいねぇ(笑)

まぁ,私はもう LINE は捨てたのでどうでもいいけど。