การเข้ารหัสแบบ End-to-End คืออะไร? ปกป้องรูปภาพของคุณอย่างไร
การเข้ารหัสแบบ end-to-end ทำให้มั่นใจว่ามีแค่คุณเท่านั้นที่เข้าถึงรูปภาพได้
การเข้ารหัสแบบ end-to-end (E2EE) เป็นโมเดลความปลอดภัยที่ข้อมูลถูกเข้ารหัสบนอุปกรณ์ของผู้ส่งและถอดรหัสได้เฉพาะบนอุปกรณ์ของผู้รับเท่านั้น ไม่มีตัวกลางใดได้ทั้งนั้น ไม่ว่าจะเป็นผู้ให้บริการ โฮสต์คลาวด์ หรือผู้ให้บริการอินเทอร์เน็ต สามารถอ่านข้อมูลระหว่างการรับส่งหรือขณะจัดเก็บ กุญแจเข้ารหัสมีอยู่เฉพาะที่ปลายทางเท่านั้น NIST กำหนดโมเดลนี้ใน SP 800-175B ว่าเป็นความปลอดภัยในการสื่อสารที่ "เฉพาะผู้ใช้ที่สื่อสารกันเท่านั้นที่สามารถถอดรหัสข้อมูลได้"
สำหรับที่เก็บรูปภาพ การเข้ารหัสแบบ end-to-end หมายความว่ารูปภาพของคุณถูกเข้ารหัสบนโทรศัพท์ก่อนออกจากอุปกรณ์ คลาวด์จัดเก็บบล็อบที่เข้ารหัส โดยไม่มีกุญแจส่วนตัวของคุณ รูปภาพแยกแยะจากสัญญาณรบกวนสุ่มไม่ได้ในทางคณิตศาสตร์ คู่มือนี้อธิบายวิธีทำงานของ E2EE สาเหตุที่มีความสำคัญต่อความเป็นส่วนตัวของรูปภาพ และบริการใดที่ใช้จริง
วิธีทำงานของการเข้ารหัสแบบ End-to-End
กลไกหลักมีสามขั้นตอน: การสร้างกุญแจ การเข้ารหัส และการถอดรหัส
การสร้างกุญแจ
อุปกรณ์ของผู้ใช้สร้างกุญแจเข้ารหัส ในการเข้ารหัสแบบ symmetric (เช่น AES-256) กุญแจเดียวกันเข้ารหัสและถอดรหัส ในการเข้ารหัสแบบ asymmetric (เช่น RSA) กุญแจสาธารณะเข้ารหัสและกุญแจส่วนตัวถอดรหัส ระบบ E2EE หลายระบบรวมทั้งสองแบบ: การเข้ารหัสแบบ asymmetric แลกเปลี่ยน session key แบบ symmetric ซึ่งจัดการการเข้ารหัสจำนวนมาก
สำหรับแอปตู้นิรภัยรูปภาพ กุญแจมักได้รับมาจากรหัสผ่านหรือลวดลายของผู้ใช้โดยใช้ฟังก์ชันการได้รับกุญแจ (KDF) เช่น PBKDF2 หรือ Argon2 KDF แปลงข้อมูลที่จำได้ง่ายของมนุษย์เป็นกุญแจเข้ารหัส Vaultaire ใช้ PBKDF2 กับ HMAC-SHA512 ได้รับกุญแจ AES 256 บิตจากลวดลายที่วาดบนตาราง 5x5
การเข้ารหัส
ข้อความธรรมดา (รูปภาพของคุณ) ถูกแปลงเป็นข้อความรหัสโดยใช้กุญแจเข้ารหัสและอัลกอริทึมการเข้ารหัส AES-256-GCM เป็น symmetric cipher ที่ใช้กันอย่างแพร่หลายที่สุดสำหรับวัตถุประสงค์นี้ GCM (Galois/Counter Mode) ให้การเข้ารหัสแบบ authenticated — เข้ารหัสข้อมูลและสร้างแท็กการพิสูจน์ตัวตนที่ตรวจจับการดัดแปลงใด ๆ ไฟล์แต่ละไฟล์ได้รับ initialization vector (IV) ที่ไม่ซ้ำกัน ทำให้ไฟล์ที่เหมือนกันสร้างข้อความรหัสที่แตกต่างกัน
การถอดรหัส
อุปกรณ์ของผู้รับใช้กุญแจเดียวกัน (symmetric) หรือกุญแจส่วนตัวที่ตรงกัน (asymmetric) เพื่อย้อนกลับการแปลง โดยไม่มีกุญแจที่ถูกต้อง ข้อความรหัสแยกแยะจากข้อมูลสุ่มไม่ได้ ไม่มีทางลัดทางคณิตศาสตร์ AES-256 มีกุญแจที่เป็นไปได้ 2^256 — มากกว่าจำนวนอะตอมที่ประมาณในจักรวาลที่สังเกตได้
การเข้ารหัสแบบ End-to-End เทียบกับโมเดลการเข้ารหัสอื่น
ไม่ใช่การเข้ารหัสทั้งหมดที่เป็น end-to-end ความแตกต่างกำหนดว่าใครสามารถเข้าถึงข้อมูลของคุณได้
การเข้ารหัสระหว่างการรับส่ง (TLS/SSL)
ข้อมูลถูกเข้ารหัสระหว่างอุปกรณ์ของคุณและเซิร์ฟเวอร์ เซิร์ฟเวอร์ถอดรหัสเมื่อรับได้ ซึ่งป้องกันการดักฟังระหว่างการรับส่งแต่ทำให้ข้อมูลอ่านได้บนเซิร์ฟเวอร์ บริการคลาวด์รายใหญ่ทุกรายใช้การเข้ารหัสระหว่างการรับส่ง เป็นพื้นฐาน ไม่ใช่มาตรฐาน
การเข้ารหัสขณะจัดเก็บ (ฝั่งเซิร์ฟเวอร์)
เซิร์ฟเวอร์เข้ารหัสข้อมูลที่จัดเก็บโดยใช้กุญแจที่เซิร์ฟเวอร์จัดการ ซึ่งป้องกันการขโมยทางกายภาพของฮาร์ดแวร์เซิร์ฟเวอร์แต่ไม่ป้องกันจากผู้ให้บริการเอง พนักงานของพวกเขา หรือคำร้องทางกฎหมายที่ส่งถึงผู้ให้บริการ iCloud, Google Drive และ Dropbox ทั้งหมดใช้การเข้ารหัสฝั่งเซิร์ฟเวอร์ขณะจัดเก็บ ผู้ให้บริการถือกุญแจ
การเข้ารหัสแบบ End-to-End
ข้อมูลถูกเข้ารหัสบนอุปกรณ์ของผู้ใช้ด้วยกุญแจที่ผู้ใช้ควบคุม เซิร์ฟเวอร์จัดเก็บข้อความรหัสที่ถอดรหัสไม่ได้ ผู้ให้บริการไม่สามารถอ่านข้อมูล ไม่สามารถปฏิบัติตามคำร้องข้อมูล (เพราะการถอดรหัสเป็นไปไม่ได้) และไม่สามารถถูกบุกรุกในลักษณะที่เปิดเผยข้อความธรรมดา นี่เป็นโมเดลเดียวที่ "ผู้ให้บริการไม่สามารถเข้าถึงข้อมูลของคุณ" เป็นคำกล่าวทางคณิตศาสตร์ ไม่ใช่คำสัญญาเชิงนโยบาย
| โมเดลการเข้ารหัส | ใครถือกุญแจ | ผู้ให้บริการอ่านข้อมูลได้? | ป้องกันจากผู้ให้บริการ? |
|---|---|---|---|
| ระหว่างการรับส่งเท่านั้น (TLS) | เซิร์ฟเวอร์ | ใช่ | ไม่ |
| ขณะจัดเก็บ (ฝั่งเซิร์ฟเวอร์) | เซิร์ฟเวอร์ | ใช่ | ไม่ |
| End-to-end | ผู้ใช้เท่านั้น | ไม่ | ใช่ |
| Zero-knowledge E2EE | ผู้ใช้เท่านั้น ผู้ให้บริการไม่มีการเข้าถึงเลย | ไม่ | ใช่ โดยข้อจำกัดทางสถาปัตยกรรม |
วิธีที่บริการที่เก็บรูปภาพจัดการกับการเข้ารหัส
โมเดลการเข้ารหัสแตกต่างกันอย่างมีนัยสำคัญในบริการที่เก็บรูปภาพต่าง ๆ บางบริการโฆษณา "การเข้ารหัส" โดยไม่ระบุโมเดล ซึ่งอาจทำให้ผู้ใช้เข้าใจผิดว่ารูปภาพของตนเป็น E2EE ทั้งที่ไม่ใช่
iCloud Photos
Apple ใช้การเข้ารหัสระหว่างการรับส่งและขณะจัดเก็บ Apple ถือกุญแจเข้ารหัสตามค่าเริ่มต้น ด้วยคำร้องทางกฎหมายที่ถูกต้อง Apple สามารถให้ข้อมูล iCloud Photos ได้ ข้อยกเว้น: Advanced Data Protection (ADP) ของ Apple ที่มีให้ตั้งแต่ธันวาคม 2022 เพิ่มการเข้ารหัสแบบ end-to-end ให้กับ iCloud Photos ADP ต้องเปิดใช้งานอย่างชัดเจนในการตั้งค่า เมื่อเปิดใช้แล้ว Apple ไม่สามารถเข้าถึงข้อมูล iCloud Photos ได้ ผู้ใช้ส่วนใหญ่ยังไม่ได้เปิดใช้ ADP
Google Photos
Google ใช้การเข้ารหัสระหว่างการรับส่งและขณะจัดเก็บด้วยกุญแจฝั่งเซิร์ฟเวอร์ Google ถือกุญแจเข้ารหัสสำหรับข้อมูล Google Photos ทั้งหมด รวมถึงเนื้อหาใน Locked Folder Google สามารถปฏิบัติตามคำร้องข้อมูลทางกฎหมายได้ Google ไม่เสนอตัวเลือกการเข้ารหัสแบบ end-to-end สำหรับ Google Photos
Dropbox
การเข้ารหัสระหว่างการรับส่ง (TLS 1.2+) และขณะจัดเก็บ (AES-256 ด้วยกุญแจที่ Dropbox จัดการ) Dropbox ถือกุญแจและสามารถเข้าถึงไฟล์ของคุณ Dropbox ประสบการละเมิดข้อมูล (2012, 68 ล้านบัญชี) Dropbox Vault (คุณสมบัติแบบชำระเงิน) เพิ่มการป้องกัน PIN แต่ไม่ใช่การเข้ารหัสแบบ end-to-end
OneDrive
Microsoft ใช้การเข้ารหัสระหว่างการรับส่งและขณะจัดเก็บด้วยกุญแจที่ Microsoft จัดการ Microsoft ถือกุญแจ OneDrive Personal Vault เพิ่มการยืนยันตัวตน (2FA) แต่ไม่ใช่การเข้ารหัสแบบ end-to-end — Microsoft ยังสามารถเข้าถึงข้อมูลได้ สำหรับลูกค้าองค์กร กุญแจที่ลูกค้าจัดการมีให้
Vaultaire
การเข้ารหัสแบบ end-to-end ด้วยสถาปัตยกรรม zero-knowledge รูปภาพถูกเข้ารหัสบนอุปกรณ์ด้วย AES-256-GCM ก่อนการอัปโหลดบนคลาวด์ใด ๆ กุญแจเข้ารหัสได้รับมาจากลวดลายที่วาดของผู้ใช้ผ่าน PBKDF2 กุญแจไม่เคยออกจากอุปกรณ์ Vaultaire ไม่สามารถถอดรหัสข้อมูลที่จัดเก็บได้ แม้สำหรับการสำรองข้อมูล iCloud ที่เข้ารหัสของตนเอง หากได้รับหมายเรียก ไม่มีอะไรให้ส่ง
| บริการ | การเข้ารหัสระหว่างการรับส่ง | การเข้ารหัสขณะจัดเก็บ | การเข้ารหัสแบบ End-to-End | ผู้ให้บริการเข้าถึงได้ |
|---|---|---|---|---|
| iCloud Photos (ค่าเริ่มต้น) | ใช่ | ใช่ (กุญแจ Apple) | ไม่ | ใช่ |
| iCloud Photos (เปิดใช้ ADP) | ใช่ | ใช่ | ใช่ | ไม่ |
| Google Photos | ใช่ | ใช่ (กุญแจ Google) | ไม่ | ใช่ |
| Dropbox | ใช่ | ใช่ (กุญแจ Dropbox) | ไม่ | ใช่ |
| OneDrive | ใช่ | ใช่ (กุญแจ Microsoft) | ไม่ | ใช่ |
| Vaultaire | ใช่ | ใช่ | ใช่ (zero-knowledge) | ไม่ |
สาเหตุที่การเข้ารหัสแบบ End-to-End มีความสำคัญต่อรูปภาพ
รูปภาพเป็นข้อมูลที่ละเอียดอ่อนเป็นพิเศษ มีใบหน้า ตำแหน่ง (ข้อมูลเมตา GPS) เวลา และบันทึกภาพของช่วงเวลาส่วนตัว การละเมิดคลังรูปภาพของคุณเปิดเผยข้อมูลส่วนบุคคลมากกว่าข้อมูลประเภทอื่นเกือบทุกประเภท
การละเมิดข้อมูล
เมื่อผู้ให้บริการจัดเก็บรูปภาพของคุณด้วยการเข้ารหัสฝั่งเซิร์ฟเวอร์ (ที่พวกเขาถือกุญแจ) การละเมิดระบบของพวกเขาเปิดเผยข้อมูลของคุณ การละเมิด Dropbox ปี 2012 ส่งผลกระทบต่อ 68 ล้านบัญชี การละเมิด Yahoo ปี 2013 ส่งผลกระทบต่อ 3 พันล้านบัญชี ถ้ารูปภาพของคุณเป็น E2EE การละเมิดเซิร์ฟเวอร์จะเปิดเผยเฉพาะบล็อบที่เข้ารหัสเท่านั้น — ไร้ประโยชน์โดยไม่มีกุญแจของคุณ
การเข้าถึงทางกฎหมายและรัฐบาล
ผู้ให้บริการสามารถถูกบังคับให้ให้ข้อมูลตามคำสั่งศาล หมายเรียก หรือจดหมายความมั่นคงแห่งชาติ ในปี 2023 Apple ได้รับคำร้องข้อมูลจากรัฐบาลมากกว่า 120,000 รายทั่วโลก Google ได้รับมากกว่า 200,000 รายถ้ารูปภาพของคุณเป็น E2EE ด้วยสถาปัตยกรรม zero-knowledge ผู้ให้บริการก็ไม่มีอะไรให้ส่ง
การเข้าถึงภายใน
พนักงานที่ผู้ให้บริการอาจเข้าถึงข้อมูลที่จัดเก็บด้วยกุญแจฝั่งเซิร์ฟเวอร์ได้ แม้นโยบายจะจำกัดสิ่งนี้แต่ภัยคุกคามจากคนใน E2EE ทำให้การเข้าถึงจากภายในเป็นไปไม่ได้เพราะกุญแจไม่พร้อมใช้งานสำหรับระบบของผู้ให้บริการ
การป้องกันข้อมูลเมตา
การใช้งาน E2EE บางส่วนเข้ารหัสเฉพาะเนื้อหาไฟล์ ทิ้งข้อมูลเมตา (ชื่อไฟล์ วันที่ ขนาด) ไว้ไม่ได้เข้ารหัส การใช้งานที่แข็งแกร่งกว่าเช่น Vaultaire เข้ารหัสข้อมูลเมตาแยกกันโดยใช้ ChaCha20 ป้องกันการวิเคราะห์ตามคุณสมบัติของไฟล์
ความเข้าใจผิดทั่วไปเกี่ยวกับ E2EE
"ที่เก็บคลาวด์ของฉันเข้ารหัส ดังนั้นรูปภาพของฉันปลอดภัย" การเข้ารหัสฝั่งเซิร์ฟเวอร์ป้องกันการละเมิดภายนอกของฮาร์ดแวร์เซิร์ฟเวอร์ ไม่ป้องกันจากผู้ให้บริการเอง คำร้องทางกฎหมาย หรือภัยคุกคามจากคนใน ผู้ให้บริการถือกุญแจ
"HTTPS หมายความว่ารูปภาพของฉันเข้ารหัสแบบ end-to-end" HTTPS (TLS) เข้ารหัสข้อมูลระหว่างการรับส่งระหว่างอุปกรณ์ของคุณและเซิร์ฟเวอร์ เมื่อข้อมูลมาถึงเซิร์ฟเวอร์ ก็ถูกถอดรหัส HTTPS เป็นการเข้ารหัสท่อ ไม่ใช่การเข้ารหัสข้อมูล
"การเข้ารหัสแบบ end-to-end หมายความว่าไม่มีใครเห็นรูปภาพของฉันได้เลย" E2EE หมายความว่าไม่มีใครที่ไม่มีกุญแจสามารถเห็นรูปภาพของคุณได้ ถ้าใครมีรหัสผ่านหรือกุญแจของคุณ พวกเขาสามารถถอดรหัสข้อมูลได้ การจัดการกุญแจและรหัสผ่านที่แข็งแกร่งยังคงสำคัญ
"Apple/Google ไม่สามารถเห็นรูปภาพของฉัน" ตามค่าเริ่มต้น บริษัททั้งสองถือกุญแจเข้ารหัสสำหรับรูปภาพที่จัดเก็บบนคลาวด์ Apple เสนอ Advanced Data Protection เป็นตัวเลือกเสริม Google ไม่เสนอตัวเลือก E2EE สำหรับ Google Photos เลย
วิธีที่ Vaultaire ใช้การเข้ารหัสแบบ End-to-End
Vaultaire ใช้แนวทาง E2EE แบบหลายชั้น:
- AES-256-GCM เข้ารหัสเนื้อหาไฟล์ทั้งหมด ไฟล์แต่ละไฟล์ได้รับ initialization vector ที่ไม่ซ้ำกัน การเข้ารหัสแบบ authenticated ตรวจจับการดัดแปลง
- PBKDF2 กับ HMAC-SHA512 ได้รับกุญแจเข้ารหัสจากลวดลายที่วาดของผู้ใช้บนตาราง 5x5 จำนวนรอบสูงทำให้การโจมตีแบบ brute-force ต้องใช้การคำนวณมหาศาล
- ChaCha20 เข้ารหัสข้อมูลเมตา (ชื่อไฟล์ วันที่ ขนาด) แยกกัน ให้ความหลากหลายทางการเข้ารหัส
- Apple Secure Enclave จัดการการจัดเก็บกุญแจในฮาร์ดแวร์ แยกจากโปรเซสเซอร์หลักและหน่วยความจำของแอป
- สถาปัตยกรรม Zero-knowledge หมายความว่ากุญแจเข้ารหัสไม่เคยถูกส่ง จัดเก็บบนเซิร์ฟเวอร์ หรือเป็นที่รู้จักของนักพัฒนา แอปไม่รู้จักว่าคุณเป็นใคร
ลวดลายไม่ถูกเก็บ ไม่มีแฮชของลวดลายถูกเก็บ ถ้าทั้งลวดลายและวลีกู้คืนสูญหาย ข้อมูลไม่สามารถกู้คืนได้โดยใครก็ตาม
คำถามที่พบบ่อย
การเข้ารหัสแบบ end-to-end ถูกกฎหมายไหม?
ใช่ ในประเทศส่วนใหญ่ E2EE ถูกกฎหมายในสหรัฐอเมริกา สหภาพยุโรป และประชาธิปไตยส่วนใหญ่ รัฐบาลบางแห่งได้เสนอกฎหมายที่กำหนดให้มี backdoor (เช่น บทบัญญัติ Online Safety Act ของสหราชอาณาจักร) แต่ E2EE เองยังคงถูกกฎหมาย ไม่มีกฎหมายที่ห้ามการเข้ารหัสรูปภาพส่วนตัวของคุณ
หน่วยงานกฎหมายสามารถทำลายการเข้ารหัสแบบ end-to-end ได้ไหม?
ไม่ได้ด้วยการทำลายอัลกอริทึมการเข้ารหัสเอง AES-256 ถือว่าไม่สามารถทำลายได้ด้วยเทคโนโลยีการคำนวณปัจจุบันและที่คาดการณ์ได้ รวมถึงคอมพิวเตอร์ควอนตัม (อัลกอริทึมของ Grover ลดความยาวกุญแจที่มีประสิทธิภาพเหลือ 128 บิต ซึ่งยังคงไม่สามารถคำนวณได้จริง) หน่วยงานกฎหมายอาจพยายามได้กุญแจผ่านวิธีอื่น (บังคับผู้ใช้ ใช้ประโยชน์จากช่องโหว่ของอุปกรณ์) แต่การเข้ารหัสเองยังคงอยู่
ความแตกต่างระหว่าง E2EE และการเข้ารหัสแบบ zero-knowledge คืออะไร?
E2EE ทำให้มั่นใจว่าข้อมูลถูกเข้ารหัสบนอุปกรณ์ของผู้ใช้และถอดรหัสได้เฉพาะบนอุปกรณ์ของผู้รับ Zero-knowledge เป็นการอ้างสิทธิ์ที่แข็งแกร่งกว่า: ผู้ให้บริการมีข้อมูลเป็นศูนย์เกี่ยวกับข้อมูลที่เข้ารหัส — ไม่มีกุญแจ ไม่มีการเข้าถึงข้อมูลเมตา ไม่มีความสามารถในการกู้คืนหรือรีเซ็ต ระบบ zero-knowledge ทั้งหมดใช้ E2EE แต่ไม่ใช่ระบบ E2EE ทั้งหมดที่เป็น zero-knowledge
การเข้ารหัสแบบ end-to-end ทำให้โทรศัพท์ช้าลงไหม?
อุปกรณ์ยุคใหม่รองรับการเข้ารหัส AES-256 ด้วยฮาร์ดแวร์เร่งความเร็วโดยเฉพาะ บน iPhone Secure Enclave จัดการการดำเนินการเข้ารหัส การเข้ารหัสและถอดรหัสรูปภาพแต่ละรูปใช้เวลาเป็นมิลลิวินาที ไม่มีผลกระทบต่อประสิทธิภาพที่รับรู้ได้สำหรับการใช้งานปกติ
จะเกิดอะไรขึ้นถ้าฉันทำกุญแจเข้ารหัสหาย?
ด้วย E2EE ที่แท้จริง การทำกุญแจหายหมายถึงการทำข้อมูลหาย ไม่มี backdoor ไม่มีกุญแจหลัก และไม่มีการกู้คืนโดยผู้ให้บริการ ระบบ E2EE ส่วนใหญ่มีกลไกการกู้คืน (วลีกู้คืน ชุดฉุกเฉิน) ที่ควรเก็บอย่างปลอดภัยระหว่างการตั้งค่า
สรุป
การเข้ารหัสแบบ end-to-end เป็นโมเดลเดียวที่ "ผู้ให้บริการไม่สามารถเข้าถึงข้อมูลของคุณ" เป็นการรับประกันทางคณิตศาสตร์ ไม่ใช่คำสัญญาของบริษัท สำหรับรูปภาพ หมายความว่าการเข้ารหัสบนอุปกรณ์ของคุณ ด้วยกุญแจที่มีแค่คุณเท่านั้น ก่อนที่อะไรจะแตะเซิร์ฟเวอร์ บริการรูปภาพบนคลาวด์ส่วนใหญ่ไม่เสนอสิ่งนี้ตามค่าเริ่มต้น ตรวจสอบว่าใครถือกุญแจก่อนเชื่อถือบริการด้วยรูปภาพส่วนตัวของคุณ
Vaultaire ใช้ E2EE ด้วยสถาปัตยกรรม zero-knowledge สำหรับ iOS รูปภาพของคุณถูกเข้ารหัสบนอุปกรณ์ด้วย AES-256-GCM กุญแจไม่เคยออกจากโทรศัพท์ของคุณ แม้แต่ Vaultaire ก็ไม่สามารถเห็นสิ่งที่คุณจัดเก็บได้