鍵同期

安全なデバイス間鍵転送

QRコードを使用して暗号化鍵を新しいデバイスに転送。X25519 ECDH鍵交換 + AES-256-GCM暗号化転送。

1

ソースデバイス

鍵があるデバイスで:設定 → Key Sync → 「鍵を転送」。QRコードが表示されます(5分間有効)。

2

ターゲットデバイス

新しいデバイスで:ログイン後、「QRスキャン」を選択し、ソースデバイスのQRコードをカメラでスキャン。

3

転送完了

暗号化チャネルを介して鍵が安全に転送されます。SHA-256チェックサムでデータ整合性を検証。セッションは自動的に期限切れ。

転送プロトコル

Source Device                        Target Device
     │                                    │
     │  1. Create Session (Firestore)     │
     │  2. Generate X25519 Ephemeral Key  │
     │  3. Display QR Code               │
     │          ─── QR Scan ───►          │
     │                                    │  4. Parse QR → sessionId + publicKey
     │                                    │  5. Generate X25519 Ephemeral Key
     │                                    │  6. ECDH → Shared Secret
     │                                    │  7. HKDF-SHA256 → AES Key
     │          ◄── Firestore ──          │  8. Write encrypted response
     │  9. ECDH → Same Shared Secret     │
     │  10. Encrypt keys (AES-256-GCM)   │
     │          ── Firestore ──►          │
     │                                    │  11. Decrypt → Import keys
     │                                    │  12. SHA-256 Checksum verify
     │  13. Cleanup session               │
     └────────────────────────────────────┘
              Session TTL: 5 minutes

転送される鍵

アルゴリズム用途
アイデンティティ鍵ペアX25519本人確認 / PQXDH
署名鍵ペアEd25519メッセージ署名 (AEGIS XEdDSA)
署名付きPreKeyペアX25519X3DHセッション確立
Registration IDセッション識別子

ワンタイムPreKeyは転送されません。デバイス間の鍵競合を避けるため、新しいデバイスで再生成されます。

プラットフォーム対応

プラットフォームQRスキャン鍵保管代替手段
iOS対応Keychain
Android対応Android Keystore
macOSカメラ依存Keychain鍵を再生成
PWA (Web)カメラ権限依存Web Crypto API鍵を再生成

鍵の再生成: QRスキャンが利用できない場合(PWA/macOS)、「鍵を再生成」を選択して新しい暗号化鍵を作成できます。全コンタクトとの新しいセッションが確立されますが、以前のメッセージは復号できなくなります。

マルチデバイス利用

同じアカウントを複数デバイスで使用する際の重要な注意点。

同一アカウント、複数デバイス

  • 各デバイスは独立した暗号化鍵を保存
  • 元のデバイスのメッセージ復号にはKey Syncが必要
  • 同時使用時にワンタイムPreKeyの競合が発生する可能性
  • デバイス上限:Essential 1台 / Premium & Intelligence 3台

異なるアカウント、同一デバイス

  • すべての暗号化セッションが完全にリセット
  • 前のアカウントのメッセージは永久に復号不可
  • 異なるアカウント間での鍵の衝突なし
  • アカウント切り替え前に警告ダイアログを表示

Arc vs Signal:マルチデバイスモデル

機能SignalArc V2
デバイスモデルプライマリ/リンク独立鍵セット
デバイス追加プライマリ経由直接登録 + Key Sync
鍵配布プライマリからリンクへ配布ピアツーピアQR交換
デバイス認証暗黙的信頼Ed25519署名検証
プライマリ障害全リンクデバイスが孤立影響なし(独立)