モバイル技術アーキテクチャ
このページでは、Crisis Connect モバイルアプリがインターネット接続中にエンドツーエンドでメッセージや通話を暗号化し、ネットワークがダウンした場合でもBluetooth経由で動作し、救助隊員を安全な経路に誘導する方法について説明しています。
オープンソースemirhan-duman/Crisis-Connectシステム概要
運用モデル
設計原則
ローカル優先、クラウド非依存
システムはインターネットなしで完全に動作するように設計されています。オンライン層はオフラインの緊急経路を補完するものであり、置き換えるものではありません。近距離での緊急通信は、デバイス間の無線通信経路を使用します。
直接接続優先、メッシュ非依存
デフォルトではBluetoothによる点対点接続が使用されます。より広範囲な通信は、明示的な役割、機能、およびオペレーターの制御下でのみ有効になります。
制限された実行時間
設計上、電力供給が不安定で、フィールド環境も厳しいため、キューのサイズ制限、再試行回数の上限、フォアグラウンドサービスの制限、および単一通話の音声範囲を意図的に設けています。
信頼は明示的
連絡先は、QRブートストラップと暗号学的本人確認に加えて、応答者による安全なフローが必要な場合にのみ機能します。証明書ベースの検証が必要です。
主要無線スタック
管理された拡張機能
承認されたレスポンダーメッシュ
選択可能なパブリックGATTチャンネル
明示的なアクティブ化ゲート
境界付きの不正アクセス制御
信頼できるBootstrap
身元と信頼モデル
既知の連絡先用セキュアパス
レスポンダー認証
メッシュ資格
キーおよび証明書のライフサイクル
メッセージライフサイクル
音声経路
音声プロファイル
コールシーケンス
適応ポリシー
実装では、書き込み時間が上昇した場合、またはエラーが再発した場合、またはジッターの深さが不安定になった場合に、WBからNBに自動的に切り替えます。回復後、再度WBに戻すまで待機します。これは、限定的な継続性ポリシーであり、普遍的なQoS保証ではありません。
オンライン層
エンドツーエンド暗号化されたメッセージング
WebRTC 音声およびビデオ通話
インターネット上のSOS
救助モード
SOSビーコン送信
- ユーザーによるSOS発動により、デバイスはローカルの緊急状態に移行し、`0xCC00`のRescueサービス用の接続可能なBLE広告を送信します。
- 基本的な広告内容は最小限です:ラジオ信号は、認証されたIDではなく、サービスレベルの発見可能性のみを表示します。
- SOS放送は、広域ネットワークがダウンした場合の近隣レスポンの発見を改善するように設計されています。
- プライバシーに関するコストは明確です:SOSモードでは、発見可能性が増加するため、同意、明確なUIの状態、およびレート制御が重要になります。
救助隊員の認証
- 接続後、救助隊員と被害者は、`0xCC10` と `0xCC11` で認証チャレンジと応答を交換し、一時的な ECDH セッションキーを生成します。
- 暗号化された役割証明が `0xCC20` に到着し、証明書参照、役割範囲、発行時間、および有効期限を含める必要があります。
- 安全なプロモーションの前に、署名、信頼アンカー、トランスクリプトバインディング、有効期限、および役割認証を確認します。
- 期限切れ、不正な形式、または範囲外の証明は、救助チャットに降格されることなく、ゲートで拒否されます。
安全な救助チャット
- 被害者が `0xCC21` で「OK」を送信し、安全なパスを開くのは、認証が成功した場合のみです。
- 暗号化された双方向の救助チャットは、`0xCC30` と `0xCC31` で「DELIVERED」と「READ」ACK のセマンティクスを使用して進行します。
- 現在の基本的な制約には、制限された役割証明パケットサイズ、MTUに準拠したチャンキング、および大規模だが有限の安全なチャットパケットが含まれます。
- 検証されていないクライアントは、安全な書き込みチャネルに到達しません。プロモーションゲートはハードな境界であり、アドバイザリーUIではありません。
バックグラウンドサービス
RfcommForegroundService
クラシックなトランスポートリスナー、コールシグナリング、およびメディアまたはファイル転送のライフサイクルを維持し、近距離セッションのために使用します。
GattSOSServerService
救助モードの SOS ブロードキャスターと、BLE 救助フローで使用される被害者による安全なレスポンダーとの相互作用エンドポイントをホストします。
GattRescueClientService + MeshAwareService
レスポンダー側のBLE救助セッションを処理し、承認された場合、Wi-Fi Awareメッシュによる検出と認証を行い、制限付きの再接続を行います。
CrisisLink、オフラインツール、iOS Note
CrisisLinkForegroundServiceは、検証済みのインターネット回復後にキュー内のテレメトリをフラッシュします。OfflineDownloadServiceは、オフラインマップ領域を管理し、個別のiOSクライアントは引き続き有効ですが、独自の準備ゲートの背後で動作します。