การถ่ายโอนคีย์ระหว่างอุปกรณ์อย่างปลอดภัย
ถ่ายโอนคีย์การเข้ารหัสไปยังอุปกรณ์ใหม่โดยใช้ QR code การแลกเปลี่ยนคีย์ X25519 ECDH + การถ่ายโอนแบบเข้ารหัส AES-256-GCM
อุปกรณ์ต้นทาง
บนอุปกรณ์ที่มีคีย์ของคุณ: ตั้งค่า → Key Sync → "ถ่ายโอนคีย์" จะแสดง QR code (ใช้ได้ 5 นาที)
อุปกรณ์ปลายทาง
บนอุปกรณ์ใหม่ของคุณ: หลังเข้าสู่ระบบ เลือก "สแกน QR" แล้วสแกน QR code จากอุปกรณ์ต้นทางด้วยกล้อง
ถ่ายโอนเสร็จสมบูรณ์
คีย์ถูกถ่ายโอนอย่างปลอดภัยผ่านช่องทางเข้ารหัส SHA-256 checksum ตรวจสอบความถูกต้องของข้อมูล เซสชันหมดอายุอัตโนมัติ
โปรโตคอลการถ่ายโอน
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คีย์ที่ถ่ายโอน
| คีย์ | อัลกอริทึม | วัตถุประสงค์ |
|---|---|---|
| Identity Key Pair | X25519 | การยืนยันตัวตน / PQXDH |
| Signing Key Pair | Ed25519 | ลายเซ็นข้อความ (AEGIS XEdDSA) |
| Signed PreKey Pair | X25519 | การสร้างเซสชัน X3DH |
| Registration ID | — | ตัวระบุเซสชัน |
One-Time PreKeys จะไม่ถูกถ่ายโอน จะถูกสร้างใหม่บนอุปกรณ์ใหม่เพื่อหลีกเลี่ยงการแข่งขันคีย์ระหว่างอุปกรณ์
แพลตฟอร์มที่รองรับ
| แพลตฟอร์ม | สแกน QR | การจัดเก็บคีย์ | ทางเลือก |
|---|---|---|---|
| iOS | รองรับ | Keychain | — |
| Android | รองรับ | Android Keystore | — |
| macOS | ขึ้นอยู่กับกล้อง | Keychain | สร้างคีย์ใหม่ |
| PWA (Web) | ขึ้นอยู่กับสิทธิ์กล้อง | Web Crypto API | สร้างคีย์ใหม่ |
สร้างคีย์ใหม่: หากไม่สามารถสแกน QR ได้ (PWA/macOS) ให้เลือก "สร้างคีย์ใหม่" เพื่อสร้างคีย์การเข้ารหัสใหม่ จะมีการสร้างเซสชันใหม่กับผู้ติดต่อทั้งหมด แต่ข้อความก่อนหน้าไม่สามารถถอดรหัสได้
การใช้งานหลายอุปกรณ์
ข้อควรพิจารณาสำคัญเมื่อใช้บัญชีเดียวกันบนหลายอุปกรณ์
บัญชีเดียวกัน หลายอุปกรณ์
- • แต่ละอุปกรณ์เก็บคีย์การเข้ารหัสแยกอิสระ
- • ต้องใช้ Key Sync เพื่อถอดรหัสข้อความจากอุปกรณ์ต้นทาง
- • อาจเกิดการขัดแย้ง One-Time PreKey เมื่อใช้หลายอุปกรณ์พร้อมกัน
- • จำกัดอุปกรณ์: Essential 1 / Premium & Intelligence 3
บัญชีต่างกัน อุปกรณ์เดียวกัน
- • เซสชันการเข้ารหัสทั้งหมดถูกรีเซ็ตอย่างสมบูรณ์
- • ข้อความจากบัญชีก่อนหน้าไม่สามารถถอดรหัสได้อย่างถาวร
- • ไม่มีการชนกันของคีย์ระหว่างบัญชีต่างกัน
- • แสดงไดอะล็อกเตือนก่อนสลับบัญชี
Arc vs Signal: โมเดลหลายอุปกรณ์
| ฟีเจอร์ | Signal | Arc V2 |
|---|---|---|
| โมเดลอุปกรณ์ | หลัก/เชื่อมต่อ | ชุดคีย์อิสระ |
| การเพิ่มอุปกรณ์ | ผ่านอุปกรณ์หลัก | ลงทะเบียนโดยตรง + Key Sync |
| การกระจายคีย์ | อุปกรณ์หลักกระจายไปยังอุปกรณ์ที่เชื่อมต่อ | แลกเปลี่ยน QR แบบ Peer-to-peer |
| การยืนยันอุปกรณ์ | การไว้วางใจโดยนัย | การตรวจสอบลายเซ็น Ed25519 |
| ความล้มเหลวของอุปกรณ์หลัก | อุปกรณ์ที่เชื่อมต่อทั้งหมดจะถูกตัดขาด | ไม่มีผลกระทบ (อิสระ) |
