WebRTC SFU Sora で X3DH/Double Ratchet を利用した E2EE が動いた日

まずは動画を見ていただければと思います。

WebRTC SFU Sora を4つのブラウザから利用している例になります。わかりやすくするため、1 つ(右下)だけは鍵合意に参加していません。そのため、送られて来るパケットが復号できていません。

今回の実装

参加時には各自で鍵更新をする、離脱時には参加者全員へ鍵の配布を行うというものです。これは Signal 、WhatsApp 、Facebook Messenger や Google Duo が採用している方式です。

鍵更新のインターバルは Google Duo を参考にし最大 5 秒としました。

SFrame への対応

OSS での公開

セキュリティ対策

Asynchronous Ratcheting Tree や MLS への対応

課題

参考資料

Written by

Erlang/OTP / 時雨堂 / WebRTC / E2EE

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store