E2EE プロトコル

WebSocket メッセージング向けのエンドツーエンド暗号化プロトコルです。メッセージは送信側で暗号化され、意図された受信者だけが復号できます。サーバーが平文を目にすることはありません。

TsgcWSPClient_E2EE / TsgcWSPServer_E2EE

エンドツーエンドで暗号化されたダイレクトおよびグループメッセージング向けのサブプロトコルです。サーバーは暗号文しか見ず、鍵はクライアント間で交換されます。

コンポーネントクラス

TsgcWSPClient_E2EE

プロトコル

WebSocket キャリア上のエンドツーエンド暗号化

プラットフォーム

Windows, macOS, Linux, iOS, Android

エディション

Enterprise

コンポーネントを配置し、プロパティを設定すれば準備完了

UserId を設定し、DirectMessage を送信するか、CreateGroup + JoinGroup + SendGroupMessage を実行するだけで、鍵交換は透過的に行われます。

uses
  sgcWebSocket, sgcWebSocket_Server, sgcWebSocket_Protocol_E2EE_Server,
  sgcWebSocket_Protocol_E2EE_Client;

// --- Server -----------------------------------------------
ServerE2EE := TsgcWSPServer_E2EE.Create(nil);
ServerE2EE.Server := WSServer;

// --- Client -----------------------------------------------
ClientE2EE := TsgcWSPClient_E2EE.Create(nil);
ClientE2EE.Client := WSClient;
ClientE2EE.E2EE_Options.UserId := 'alice';
WSClient.Active := True;

// 1-to-1 encrypted direct message
ClientE2EE.SendDirectMessage('bob', 'hello bob');

// Group chat — create, join, broadcast
ClientE2EE.CreateGroup('team-42');
ClientE2EE.JoinGroup('team-42');
ClientE2EE.SendGroupMessage('team-42', 'standup at 10');
ClientE2EE.LeaveGroup('team-42');

主な機能

公開プロパティ 5 件、メソッド 9 件、イベント 19 件 — コンポーネントリファレンスから抜粋しています。

接続

公開プロパティ: ClientBrokerGuid

ライフサイクル

イベント: OnConnectOnDisconnectOnError

上級

メソッド: WriteData

診断

公開プロパティ: Version

暗号化

プロパティ: E2EE_Options

サブスクリプション

メソッド: SubscribeUnSubscribe

仕様と参考資料

このコンポーネントが実装するプロトコルの一次資料です。

ドキュメントとデモ

コンポーネントリファレンスへのディープリンク、すぐに実行可能なデモプロジェクト、そして体験版のダウンロードはこちらです。

デモプロジェクト — Demos\Protocols\E2EE すぐに実行可能なサンプルプロジェクトです。sgcWebSockets パッケージに同梱されています。下記より体験版をダウンロードしてください。
技術ドキュメント (PDF) 本コンポーネントのみを対象とした機能解説、クイックスタート、Delphi および C++ Builder のコードサンプル、一次資料への参照を収録しています。
ユーザーマニュアル (PDF) ライブラリ内のすべてのコンポーネントを網羅した総合マニュアルです。

エンドツーエンド暗号化を始めませんか?

体験版をダウンロードして、ゼロナレッジ型のメッセージングをアプリケーションに追加しましょう。