บทเรียน LastPass: 'เข้ารหัส' ไม่ใช่ 'Zero-Knowledge'
LastPass เป็นเครื่องมือจัดการรหัสผ่านที่เข้ารหัสข้อมูลผู้ใช้ — แต่ธรรมชาติของการเข้ารหัสที่แน่นอนนั้นมีความสำคัญมาก การละเมิดปี 2022-2023 แสดงให้เห็นว่า:
- Vault metadata (URLs, ชื่อบัญชี) ถูกจัดเก็บ ที่ไม่ได้เข้ารหัส บนเซิร์ฟเวอร์ LastPass
- Key derivation parameters ในบางกรณีใช้มาตรฐาน PBKDF2 ที่อ่อนกว่า
- ผู้โจมตีดาวน์โหลด vault database และถอดรหัสแบบ offline
ผลลัพธ์: $438M ในการขโมยสกุลเงินดิจิทัลจากผู้ใช้ที่ถอดรหัส vaults ในปีต่อมา
รายการตรวจสอบ Zero-Knowledge ที่แท้จริง
การเข้ารหัส True Zero-Knowledge กำหนด:
-
การเข้ารหัสฝั่งไคลเอ็นต์ก่อนส่ง:
- ข้อมูลต้องได้รับการเข้ารหัสบนอุปกรณ์ผู้ใช้ก่อนส่งผ่านเครือข่าย
- เซิร์ฟเวอร์รับเฉพาะ ciphertext — ไม่มี plaintext ที่เห็นได้ชัด
-
ผู้ขายไม่เคยครอบครองคีย์เข้ารหัส:
- Keys ที่มาจากรหัสผ่านผู้ใช้หรือ passphrase ที่ผู้ใช้ควบคุม
- ไม่มีการ escrow คีย์ในเซิร์ฟเวอร์ผู้ขาย
-
ข้อมูลที่เข้ารหัสไม่สามารถถอดรหัสได้โดยผู้ขาย:
- แม้ในกรณีที่มีหมายศาลหรือคำขอบังคับของรัฐบาล
- ผู้ขายให้ ciphertext — ไม่มีทางอื่น
-
Metadata ก็ถูกเข้ารหัสเช่นกัน:
- ชื่อไฟล์ timestamps และ metadata อื่นๆ ต้องได้รับการเข้ารหัส
- ข้อมูลที่ไม่ได้เข้ารหัสรั่วไหลข้อมูลสำคัญแม้ไม่มีเนื้อหา
คำถามที่ต้องถามผู้ขายที่อ้าง Zero-Knowledge
-
"ข้อมูลถูกเข้ารหัสในฝั่งไคลเอ็นต์ก่อนส่งหรือไม่?" — คำตอบ "ใช่" ต้องมีเอกสารทางเทคนิค
-
"คุณสามารถถอดรหัสข้อมูลของฉันได้หรือไม่ถ้าถูกขอโดยหน่วยงานบังคับใช้กฎหมาย?" — Zero-Knowledge จริงๆ: "ไม่" — เราเห็นเฉพาะ ciphertext
-
"Algorithm การ key derivation ที่ใช้คืออะไร?" — การยอมรับ: PBKDF2 ≥600,000 iterations, Argon2id, bcrypt
-
"Metadata (ชื่อไฟล์, timestamps) ถูกเข้ารหัสด้วยหรือไม่?" — เอกสารควรระบุอย่างชัดเจน
แหล่งที่มา: