การเข้ารหัสแบบ End-to-End คืออะไร? ปกป้องรูปภาพของคุณอย่างไร

การเข้ารหัสแบบ 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 แบบหลายชั้น:

  1. AES-256-GCM เข้ารหัสเนื้อหาไฟล์ทั้งหมด ไฟล์แต่ละไฟล์ได้รับ initialization vector ที่ไม่ซ้ำกัน การเข้ารหัสแบบ authenticated ตรวจจับการดัดแปลง
  2. PBKDF2 กับ HMAC-SHA512 ได้รับกุญแจเข้ารหัสจากลวดลายที่วาดของผู้ใช้บนตาราง 5x5 จำนวนรอบสูงทำให้การโจมตีแบบ brute-force ต้องใช้การคำนวณมหาศาล
  3. ChaCha20 เข้ารหัสข้อมูลเมตา (ชื่อไฟล์ วันที่ ขนาด) แยกกัน ให้ความหลากหลายทางการเข้ารหัส
  4. Apple Secure Enclave จัดการการจัดเก็บกุญแจในฮาร์ดแวร์ แยกจากโปรเซสเซอร์หลักและหน่วยความจำของแอป
  5. สถาปัตยกรรม 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 ก็ไม่สามารถเห็นสิ่งที่คุณจัดเก็บได้