Arc / セキュリティ

多層E2EEアーキテクチャ

開発方針を公開する商用セキュリティ製品

1:1 の通信を図解 · 10秒プレビュー

ここで暗号化。相手の端末で開く。

人と人のメッセージ。秘密鍵は端末に残し、サーバーは暗号文と配送の情報を扱います。

  1. 01
    端末で暗号化

    端末を離れる前に本文を暗号化。

  2. 02
    暗号文を配送

    Firestoreが暗号文と配送情報を扱います。

  3. 03
    相手の端末で開く

    受信者の端末で本文を復号します。

Functions期限処理・通知
FCMプッシュ通知

配送経路の一例を示す概念アニメーションで、アプリの録画ではありません。他の経路、サーバーに見える情報と例外は下記に記載しています。

ARCHITECTURE

Arcのシステム構成

システム構成図を開く

秘密鍵は端末の Keychain / Keystore に保存し、サーバーへ送りません。相手へのメッセージは端末で暗号化してから送ります。Phoenix は公開鍵(PreKey)を配り、Firestore は暗号文・既読と配送の情報を扱い、Cloud Functions は期限削除と通知を行います。Mesh はサーバーを経由しません。

役割ごとに見る。

原寸の図を開く

端末(iOS / Android / macOS)

Arc Protocol

1:1 · libsignal v0.96.2 · Rust FFI

  • PQXDH
  • Kyber-1024
  • Double Ratchet
秘密鍵
Keychain / Keystore
復号した本文
SQLite / Hive

本文と秘密鍵はサーバーへ送らない(例外: AI 会話・リンクプレビュー)

メッセージの流れを見る

点が番号の順に動きます。ここに示す 4 つの経路はいずれも、本文を端末で暗号化してから送ります。

経路をひとつずつ見る。

原寸の図を開く
1:1 のメッセージ. 耐量子. 初回だけ B の公開鍵を取得. 端末で暗号化. 暗号文だけを送る. 通知(本文なし). B の端末で復号. 既読・復号確認. 本文が読めるのは A と B の端末だけ

耐量子

1:1 のメッセージ

  1. 初回だけ B の公開鍵を取得
  2. 端末で暗号化
  3. 暗号文だけを送る
  4. 通知(本文なし)
  5. B の端末で復号
  6. 既読・復号確認

本文が読めるのは A と B の端末だけ

狭い画面では図の中を横スクロールできます。原寸表示は上のリンクから。

1:1 は耐量子(PQXDH)。グループ本文は耐量子ではありません(共有鍵 + X25519 ECIES)。Mesh では近くの Arc 端末が暗号文のまま転送することがあります(中身は読めません)。経路を選ぶ中継は開発中です。

Arc Protocol — 1:1 の暗号化パイプライン

Phase 1

PQXDH

X25519 + Kyber-1024 で鍵交換(耐量子)

Phase 2

Double Ratchet

メッセージごとに鍵を更新

Phase 3

AES-256-GCM

本文とメディアを暗号化

技術スタック

Flutter 3.47
Dart
Riverpod 2.6
Rust
Arc Protocol

アプリ

Flutter 3.47 / Riverpod 2.6 / Rust FFI(libsignal v0.96.2)

Elixir
Phoenix
Cloud Run

鍵配布 API

Elixir / Phoenix(Google Cloud Run・europe-west1)

Authentication
Firestore
Storage
Functions
Messaging
App Check
Crashlytics

配信・認証

Firebase(Auth / Firestore / Storage / Functions / FCM / App Check / Crashlytics)

Android
Kotlin
Swift

Mesh

BLE 通信(Dart + Android Kotlin + iOS Swift の自社実装・ベータ)

Arc Protocol v1.0 Cryptographic State Machine

Arc セキュリティ・メッシュ状態遷移シミュレータ

耐量子暗号(PQXDH)、Sealed Sender、BLEオフラインメッシュ中継、中継ノード完全削除の厳密な状態遷移。

ワイヤフレーム構成(クリックして詳細検査)
フィールド詳細仕様
ML-KEM-1024 + X25519 Hybrid

1:1チャットにおいて、NIST FIPS 203 準拠の格子暗号 ML-KEM-1024 と古典暗号 X25519 を組み合わせたハイブリッド鍵交換を実装。「今収集し、後で解読する(Harvest Now, Decrypt Later)」量子脅威に対抗します。

• Security Category: NIST Level 5 (Highest)
• Fail-Closed: 古典暗号単体へのダウングレード拒絶
• KDF: HKDF-SHA256 (Dual-Entropy Extraction)

技術仕様を詳しく見る

暗号化の4つのレイヤー

Arcの中核仕様

Arcの中核仕様は、ML-KEM-1024/PQXDH、1:1とグループのE2EE、IGF、オフラインMeshです。対応範囲と技術詳細はSecurityページで公開します。

01

PQXDH鍵交換

開発方針を公開する商用セキュリティ製品

02

Double Ratchet

開発方針を公開する商用セキュリティ製品

03

AES-256-GCM暗号化

開発方針を公開する商用セキュリティ製品

04

XEdDSA署名(libsignal)

開発方針を公開する商用セキュリティ製品

ML-KEM-1024 パラメータ

耐量子暗号

NIST FIPS 203で標準化された耐量子鍵カプセル化メカニズム。

アルゴリズムML-KEM-1024 (via libsignal-client)
NISTセキュリティレベルSecurity category 5
古典的セキュリティ2^128 bit (X25519)
量子セキュリティNIST security category 5
基盤Module Lattice (FIPS 203)
公開鍵サイズ1,568 bytes
秘密鍵サイズ3,168 bytes
暗号文サイズ1,568 bytes

DefenseTech ランタイム保護(Passkey・ゼロ知識鍵バックアップ・即時メモリゼロ化・Secret Mode)

PASSKEY × ZK BACKUP

Passkey (WebAuthn) × ゼロ知識鍵バックアップ保護

Passkey (WebAuthn) によるフィッシング耐性認証・生体認証ロック解除を採用。ゼロ知識鍵バックアップ(PBKDF2-HMAC-SHA256 600,000 iterations + HKDF-SHA256 + AES-256-GCM AAD 所有者バインディング)に ML-KEM-1024 (Kyber) TOFU ピン状態(単調増加マージ保護)を統合し、機種変更時の量子耐性鍵ピン引き継ぎを実現。Stateless WebAuthn Challenge は Fail-Closed HMAC 検証と 300秒 TTL 上限を強制します。

FAIL-CLOSED MEDIA & ZEROIZATION

Fail-Closed E2EE メディア・音声エンジン & 即時メモリゼロ化

音声・画像・PDF・動画すべての添付メディアにおいて平文フォールバックを完全排除した Fail-Closed E2EE(XChaCha20-Poly1305 / AES-256-GCM)を強制。再生終了・破棄(dispose)・再読込時には、復号鍵・Nonce・復号バッファを fillRange(0, len, 0) で即時ゼロ化(Zeroization)します。

0MS SECRET MODE SEAL

Secret Mode 即時遮蔽(0ms Release Seal & OS スイッチャー自動遮蔽)

指を離した瞬間 0ms で即時遮蔽(トランジション残像ゼロ)する Release Seal に加え、iOS / Android の App Switcher・画面収録・バックグラウンド遷移(AppLifecycleState.inactive / paused / hidden)を検知して自動遮蔽します。

O(1) IGF CLOCK

O(1) IgfCountdownClock 統合(省電力・ゼロジャンク設計)

チャット・グループ全体の IGF(自動消滅カウントダウン)および Mutual Burn タイマーを単一の 1Hz クロック(IgfCountdownClock)に統合し、メッセージ数に依存しない O(1) 省電力・ゼロジャンク描画を実現しています。

SOVEREIGN BLE MESH

自社主権 BLE エンジン Arc-Protocol-Mesh(L2CAP CoC + 位置情報権限ゼロ)

サードパーティ製メッシュ SDK を排し、自社開発の Arc-Protocol-Mesh v1.0.4 を搭載。BLE L2CAP Connection-Oriented Channels(主経路)と GATT フォールバック、1:1 ステートレス 2-DH X25519 ECIES(arcms1:)+ 対面 QR ハード Pin、グループ共有鍵 AES-256-GCM + Ed25519 署名(arcmg1:)、32,768 件の (frameId, fragIndex) 多段中継 dedup リングを備え、iOS / Android 12+ ともに位置情報権限を一切要求しません。

コンプライアンス & 標準

NIST CSF 2.0

米国商務省策定。6機能でサイバーリスクを体系管理。

NIST SP 800-53

連邦政府向けセキュリティ管理策。FedRAMP基盤。

FIPS 140-3

開発方針を公開する商用セキュリティ製品

NIST SP 800-175B

暗号アルゴリズム選定GL。FIPS 203根拠。

ISO/IEC 27001

国際標準ISMS認証。B2B/B2Gの信頼基盤。

GDPR

EU一般データ保護規則。世界最高峰の保護基準。

UK Cyber Essentials+

英国政府認定サイバーセキュリティ認証。

NCSC Cloud Security

英国NCSCの14原則クラウド評価基準。

米国NIST・EU GDPR・英国NCSC・ISOの公開ガイダンスを参照して設計しています。認証や第三者監査を受けたものではありません。