機能 / メッセージとビデオ通話

動作中

メッセージもビデオ通話も、参加している人にしか読めない。

ZENOS Messages は Signal のプロトコルを使います。通話は自分たちで運用するサーバーで動き、映像と音声はエンドツーエンドで暗号化されます。サーバーは暗号化されたまま中継するだけで、鍵を持ちません。責任者は、承認の申請もここで受け取り、ここで署名します。

Signal のプロトコル

鍵の取り決めとダブルラチェットを、Signal 自身の libsignal で

自前の通話サーバー

は暗号化されたままのデータを中継するだけ

新しい鍵

を参加や退出のたびに。抜けた人は通話の続きを追えない

どう動くのか

結びつける、話す、通話する

1

結びつける

アカウントは、登録した端末のものです。そのアカウントの要求には、すべて身元の鍵で署名します。

  • 署名のない要求、他人の鍵の要求、使い回した要求は拒否して記録します
2

話す

メッセージとチャンネルは、libsignal でエンドツーエンドに暗号化します。PC からの承認の申請も同じ仕組みで届きます。

3

通話する

通話の鍵は端末で作り、Signal で暗号化したメッセージの中でだけ参加者に渡します。誰かが参加したり抜けたりすると、全員が新しい鍵に切り替えます。

  • 通話中の画面共有も同じように暗号化されます

証明していること、していないこと

テストしていること、信頼しているもの

テスト済み

乗っ取りに対するテスト

  • アカウントの結びつけは、動いている中継サーバーへの乗っ取りの試みも含めてテスト済み
  • 新しい端末がアカウントを引き継げるのは、すでに登録された番号を確かめたときだけ
  • 中継サーバーの管理には、そのサーバーの機械にある合言葉が必要
証明ではなく信頼しているもの

テストし、一覧にして公開

  • libsignal と WebRTC の仕組み
  • 登録コードを有効にしていなければ、最初に名前を登録した人がその名前の持ち主になる
  • 端末と番号の両方をなくすと、管理者がアカウントをやり直す必要がある

プレビュー版で試す

自分で試す

1

ZENOS Messages を開く

PC と自分のスマートフォンで開きます。

2

ビデオ通話を始める

もう一人を招きます。通話はエンドツーエンドで暗号化されます。

3

抜けて、もう一度入る

鍵が変わり、残っている人の通話はそのまま続きます。