E2EE 機能¶
注意
この機能を利用する場合は事前にサポートまでご連絡ください
警告
この機能は 実験的機能 のため、正式版では仕様が変更される可能性があります
概要¶
E2EE とは End-to-End Encryption の略で、音声や映像を、 WebRTC SFU が保持しない暗号鍵を利用して暗号化した状態で WebRTC SFU に送る仕組みです。
そのため WebRTC SFU 側では音声や映像を解析することが不可能になります。
既知の問題¶
この問題は将来の Sora E2EE ライブラリのリリースで解決予定です
同一ページで同一チャネルに複数接続できない
同一ページで複数チャネルに接続できない
SDK 対応状況¶
現時点では Sora JavaScript SDK が E2EE に対応しています。
そのほかの SDK は非対応です。
対応済みブラウザ¶
Chrome 89 以降
Edge 89 以降
Sora E2EE の詳細¶
別途ドキュメントにまとめています。
E2EE を有効にする¶
e2ee 設定の有効化¶
E2EE 機能はデフォルトで無効です
sora.conf にて e2ee = true
を設定してください。
e2ee = true
有効にすることで Sora が E2EE メッセージルーティングを行うようになります。
この設定が false
の状態でクライアントが E2EE 接続を行っても、メッセージのルーティングを行わず切断されます。
signaling_notify の有効化¶
シグナリング通知機能はデフォルトで有効です
E2EE 機能はシグナリング通知機能を利用します。
signaling_notify = true
signaling_notify_connection_id の有効化¶
シグナリング通知コネクション ID 機能はデフォルトで有効です
E2EE 機能はシグナリング通知機能のコネクション ID を利用します。
signaling_notify_connection_id = true
signaling_notify_metadata の有効化¶
シグナリング通知メタデータ機能はデフォルトで有効です
E2EE 機能はシグナリング通知機能のメタデータを利用します。
signaling_notify_metadata = true
E2EE を利用する¶
wasm ファイルの用意¶
ブラウザで Sora の E2EE を利用するには wasm ファイルが必要です。 wasm ファイルは自前でビルドすることをおすすめします。ビルドをご確認下さい。
ビルド済み WebAssembly バイナリ¶
弊社では、開発ツールでの利用のため、ビルド済み WebAssembly バイナリを CDN で提供しています。
重要
本番環境では、これらの URL は利用しないでください。 代わりに、自前でビルドしたバイナリを配置してご利用下さい。
Sora JavaScript SDK の用意¶
Sora JS SDK の最新版を利用してください。
// E2EE 用 Wasm 読み込み
// Sora.initE2EE("wasm.wasm"); でも良い
Sora.initE2EE("https://example.com/wasm.wasm");
let sora = Sora.connection('wss://example.com/signaling');
let channelId = 'sora-e2ee';
let sendrecv = sora.sendrecv(channelId, undefined, {e2ee: true});
navigator.mediaDevices.getUserMedia({audio: true, video: true})
.then(mediaStream => {
// connect
sendrecv.connect(mediaStream)
.then(stream => {
// stream を video.src に追加する等の処理
});
})
.catch(e => {
console.error(e);
});
// disconnect
sendrecv.disconnect()
.then(() => {
// video を止める等の処理
});
// event
sendrecv.on('disconnect', function(e) {
console.error(e);
});
サポート¶
E2EE ではクライアントを含めたサポートが必要になる場合がありますが、 ご質問などがあればまずサポートまでお問い合わせください。
E2EE が有効かどうか¶
E2EE の状態で録画を行うと、生成されるファイルがすべて暗号化された状態になり、 一切見られなくなりますので E2EE の動作確認 として利用してみて下さい。
Discord¶
Discord にてコミュニティを運営しています。 なにか質問したい場合は Discord サーバーへ参加してください。