安全性について
Meeksは、支援に関わる人たちが安心して連絡を取り合えるように作られています。ここでは、Meeksが守れることと、守れないことの両方を説明します。
エンドツーエンド暗号化
メッセージ、ファイル、通話(音声・ビデオ・画面共有)は、送る側の端末で暗号化され、受け取る側の端末でだけ元に戻せます。暗号鍵はトークの参加者の端末にだけあり、サーバーの運営者も内容を読めません。
メッセージはサーバーに残りません
参加者同士は、できるだけ直接(P2P)つながってやり取りします。直接つながれないときはサーバーが中継しますが、暗号化されたまま通過させるだけで、保存はしません。過去ログは各参加者の端末に保存され、参加者同士で同期されます。
参加には承認が必要です
URLを知っているだけでは、トークに参加できません。すでに参加している人が承認したときにだけ、暗号鍵が新しい参加者に渡ります。承認するときは、画面の確認コードが相手と同じかどうかを、電話や対面など別の方法で確かめると、より安全です。
サーバーが保存する情報
トークの存在(トーク名は変換した値のみ)、参加申し込みの表示名と公開鍵、承認前のメッセージ(暗号化されたまま。参加が完了すると削除)、接続の記録(IPアドレス、送信元ポート、日時)です。メッセージやファイルの内容は保存しません。
接続の記録について
法令に基づく発信者情報開示請求に対応するため、接続元のIPアドレスと接続日時を2年間保存し、その後自動で削除します。記録には、メッセージの内容は含まれません。
通話の中継
直接つながれない場合、通話はMeeksの中継サーバーを経由します。予備として、Cloudflareの中継サーバーを使うことがあります。どちらを経由しても、通話は暗号化されたままです。
端末の管理
過去ログと暗号鍵は、使っている端末のブラウザに保存されます。共用の端末で使ったときは、トーク画面の「この端末のログを削除」で消してください。端末には画面ロックを設定してください。
Meeksにできないこと
- 承認した人は、過去ログを含むトークの内容を読めます。誰を承認するかは慎重に判断してください。
- 表示名は自己申告です。相手が本人かどうかは、確認コードや別の連絡手段で確かめてください。
- いつ、どのIPアドレスから接続したかは、サーバーにわかります。
- Meeksはブラウザで動くアプリです。配信されるプログラムそのものが改ざんされた場合、暗号化では防げません。
ソースコードの公開
Meeksのソースコードは、MITライセンスでGitHubに公開しています。誰でも仕組みを確認できます。