KEY SYNC

Безопасный перенос ключей между устройствами

Перенесите ключи шифрования на новое устройство с помощью 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)
Подписанная пара PreKeyX25519Установление сессии X3DH
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
Сбой основногоВсе привязанные устройства осиротеваютБез влияния (независимые)