Mã hóa Đầu cuối là Gì? Cách Bảo vệ Ảnh của Bạn
Mã hóa đầu cuối đảm bảo chỉ bạn mới có thể truy cập ảnh của bạn.
Mã hóa đầu cuối (E2EE) là mô hình bảo mật nơi dữ liệu được mã hóa trên thiết bị của người gửi và chỉ có thể được giải mã trên thiết bị của người nhận. Không có trung gian nào -- không phải nhà cung cấp dịch vụ, không phải máy chủ đám mây, không phải nhà cung cấp dịch vụ internet -- có thể đọc dữ liệu trong quá trình truyền hoặc khi lưu trữ. Các khóa mã hóa chỉ tồn tại trên các điểm cuối. NIST định nghĩa mô hình này trong SP 800-175B là bảo mật truyền thông nơi "chỉ người dùng truyền thông mới có thể giải mã dữ liệu."
Đối với lưu trữ ảnh, mã hóa đầu cuối có nghĩa là ảnh của bạn được mã hóa trên điện thoại trước khi rời khỏi thiết bị. Đám mây lưu trữ một khối mã hóa. Không có khóa cá nhân của bạn, ảnh không thể phân biệt về mặt toán học với nhiễu ngẫu nhiên. Hướng dẫn này giải thích cách E2EE hoạt động, tại sao nó quan trọng cho quyền riêng tư ảnh và dịch vụ nào thực sự triển khai nó.
Cách mã hóa đầu cuối hoạt động
Cơ chế cốt lõi liên quan đến ba giai đoạn: tạo khóa, mã hóa và giải mã.
Tạo khóa
Thiết bị của người dùng tạo ra khóa mật mã. Trong mã hóa đối xứng (như AES-256), cùng một khóa mã hóa và giải mã. Trong mã hóa bất đối xứng (như RSA), khóa công khai mã hóa và khóa riêng tư giải mã. Nhiều hệ thống E2EE kết hợp cả hai: mã hóa bất đối xứng trao đổi khóa phiên đối xứng, sau đó xử lý phần lớn mã hóa.
Đối với ứng dụng vault ảnh, khóa thường được dẫn xuất từ mật khẩu hoặc hình vẽ của người dùng bằng hàm dẫn xuất khóa (KDF) như PBKDF2 hoặc Argon2. KDF biến đổi đầu vào có thể ghi nhớ của con người thành khóa mật mã. Vaultaire sử dụng PBKDF2 với HMAC-SHA512, dẫn xuất khóa AES 256-bit từ hình vẽ trên lưới 5x5.
Mã hóa
Bản rõ (ảnh của bạn) được biến đổi thành bản mã sử dụng khóa mã hóa và thuật toán mã hóa. AES-256-GCM là mật mã đối xứng được sử dụng rộng rãi nhất cho mục đích này. GCM (Galois/Counter Mode) cung cấp mã hóa xác thực -- nó cả mã hóa dữ liệu và tạo ra thẻ xác thực phát hiện bất kỳ sự can thiệp nào. Mỗi tệp nhận được vectơ khởi tạo (IV) duy nhất, đảm bảo các tệp giống nhau tạo ra bản mã khác nhau.
Giải mã
Thiết bị của người nhận sử dụng cùng một khóa (đối xứng) hoặc khóa riêng tư tương ứng (bất đối xứng) để đảo ngược phép biến đổi. Không có khóa đúng, bản mã không thể phân biệt với dữ liệu ngẫu nhiên. Không có lối tắt toán học. AES-256 có 2^256 khóa có thể -- nhiều hơn số nguyên tử ước tính trong vũ trụ quan sát được.
Mã hóa đầu cuối so với các mô hình mã hóa khác
Không phải tất cả mã hóa đều là đầu cuối. Sự khác biệt xác định ai có thể truy cập dữ liệu của bạn.
Mã hóa trong quá trình truyền (TLS/SSL)
Dữ liệu được mã hóa giữa thiết bị của bạn và máy chủ. Máy chủ giải mã nó khi nhận. Điều này bảo vệ chống lại nghe trộm trong quá trình truyền nhưng để dữ liệu có thể đọc trên máy chủ. Mọi dịch vụ đám mây lớn đều sử dụng mã hóa trong quá trình truyền. Đây là nền tảng, không phải tiêu chuẩn.
Mã hóa khi lưu trữ (phía máy chủ)
Máy chủ mã hóa dữ liệu được lưu trữ sử dụng các khóa máy chủ quản lý. Điều này bảo vệ chống lại trộm cắp vật lý phần cứng máy chủ nhưng không bảo vệ chống lại nhà cung cấp dịch vụ, nhân viên của họ hoặc các yêu cầu pháp lý hướng đến nhà cung cấp. iCloud, Google Drive và Dropbox đều sử dụng mã hóa phía máy chủ khi lưu trữ. Nhà cung cấp giữ các khóa.
Mã hóa đầu cuối
Dữ liệu được mã hóa trên thiết bị của người dùng với các khóa người dùng kiểm soát. Máy chủ lưu trữ bản mã không thể giải mã. Nhà cung cấp không thể đọc dữ liệu, không thể tuân thủ các yêu cầu dữ liệu (vì giải mã là không thể), và không thể bị xâm phạm theo cách phơi bày bản rõ. Đây là mô hình duy nhất nơi "nhà cung cấp không thể truy cập dữ liệu của bạn" là tuyên bố toán học, không phải lời hứa chính sách.
| Mô hình mã hóa | Ai giữ khóa | Nhà cung cấp có thể đọc dữ liệu? | Bảo vệ chống lại nhà cung cấp? |
|---|---|---|---|
| Chỉ trong quá trình truyền (TLS) | Máy chủ | Có | Không |
| Khi lưu trữ (phía máy chủ) | Máy chủ | Có | Không |
| Đầu cuối | Chỉ người dùng | Không | Có |
| E2EE không kiến thức | Chỉ người dùng, nhà cung cấp không có quyền truy cập | Không | Có, bằng ràng buộc kiến trúc |
Cách dịch vụ lưu trữ ảnh xử lý mã hóa
Mô hình mã hóa khác nhau đáng kể giữa các dịch vụ lưu trữ ảnh. Một số quảng cáo "mã hóa" mà không chỉ định mô hình, điều này có thể đánh lừa người dùng tin rằng ảnh của họ là E2EE khi thực tế không phải.
iCloud Photos
Apple sử dụng mã hóa trong quá trình truyền và khi lưu trữ. Apple giữ các khóa mã hóa theo mặc định. Với yêu cầu pháp lý hợp lệ, Apple có thể cung cấp dữ liệu iCloud Photos. Ngoại lệ: Bảo vệ Dữ liệu Nâng cao (ADP) của Apple, có sẵn từ tháng 12 năm 2022, thêm mã hóa đầu cuối vào iCloud Photos. ADP phải được bật rõ ràng trong Cài đặt. Khi được bật, Apple không thể truy cập dữ liệu iCloud Photos. Hầu hết người dùng chưa bật ADP.
Google Photos
Google sử dụng mã hóa trong quá trình truyền và khi lưu trữ với khóa phía máy chủ. Google giữ các khóa mã hóa cho tất cả dữ liệu Google Photos, bao gồm nội dung Thư mục Khóa. Google có thể tuân thủ các yêu cầu dữ liệu pháp lý. Google không cung cấp tùy chọn mã hóa đầu cuối cho Google Photos.
Dropbox
Mã hóa trong quá trình truyền (TLS 1.2+) và khi lưu trữ (AES-256 với khóa do Dropbox quản lý). Dropbox giữ các khóa và có thể truy cập tệp của bạn. Dropbox đã bị vi phạm dữ liệu (2012, 68 triệu tài khoản). Dropbox Vault (tính năng trả phí) thêm bảo vệ PIN nhưng không phải mã hóa đầu cuối.
OneDrive
Microsoft sử dụng mã hóa trong quá trình truyền và khi lưu trữ với khóa do Microsoft quản lý. Microsoft giữ các khóa. OneDrive Personal Vault thêm xác minh danh tính (2FA) nhưng không phải mã hóa đầu cuối -- Microsoft vẫn có thể truy cập dữ liệu. Đối với khách hàng doanh nghiệp, khóa do khách hàng quản lý có sẵn.
Vaultaire
Mã hóa đầu cuối với kiến trúc không kiến thức. Ảnh được mã hóa trên thiết bị với AES-256-GCM trước bất kỳ tải lên đám mây nào. Khóa mã hóa được dẫn xuất từ hình vẽ của người dùng qua PBKDF2. Khóa không bao giờ rời khỏi thiết bị. Vaultaire không thể giải mã dữ liệu được lưu trữ, ngay cả cho các bản sao lưu iCloud mã hóa của riêng mình. Nếu nhận được trát đòi hầu, không có gì để cung cấp.
| Dịch vụ | Mã hóa trong quá trình truyền | Mã hóa khi lưu trữ | Mã hóa đầu cuối | Nhà cung cấp có thể truy cập |
|---|---|---|---|---|
| iCloud Photos (mặc định) | Có | Có (khóa Apple) | Không | Có |
| iCloud Photos (ADP được bật) | Có | Có | Có | Không |
| Google Photos | Có | Có (khóa Google) | Không | Có |
| Dropbox | Có | Có (khóa Dropbox) | Không | Có |
| OneDrive | Có | Có (khóa Microsoft) | Không | Có |
| Vaultaire | Có | Có | Có (không kiến thức) | Không |
Tại sao mã hóa đầu cuối quan trọng cho ảnh
Ảnh là dữ liệu nhạy cảm đặc biệt. Chúng chứa khuôn mặt, vị trí (siêu dữ liệu GPS), dấu thời gian và hồ sơ trực quan về các khoảnh khắc riêng tư. Vi phạm thư viện ảnh của bạn phơi bày nhiều thông tin cá nhân hơn hầu hết mọi loại dữ liệu khác.
Vi phạm dữ liệu
Khi nhà cung cấp dịch vụ lưu trữ ảnh của bạn với mã hóa phía máy chủ (nơi họ giữ các khóa), vi phạm hệ thống của họ phơi bày dữ liệu của bạn. Vi phạm của Dropbox năm 2012 đã phơi bày 68 triệu tài khoản. Vi phạm Yahoo năm 2013 đã phơi bày 3 tỷ tài khoản. Nếu ảnh của bạn là E2EE, vi phạm máy chủ chỉ phơi bày các khối mã hóa -- vô dụng mà không có khóa của bạn.
Truy cập pháp lý và chính phủ
Nhà cung cấp dịch vụ có thể bị buộc cung cấp dữ liệu để phản hồi lệnh tòa án, trát đòi hầu hoặc thư an ninh quốc gia. Năm 2023, Apple nhận được hơn 120.000 yêu cầu dữ liệu của chính phủ trên toàn cầu. Google nhận được hơn 200.000. Nếu ảnh của bạn là E2EE với kiến trúc không kiến thức, nhà cung cấp không có gì để cung cấp.
Truy cập nội bộ
Nhân viên tại các nhà cung cấp dịch vụ có thể truy cập dữ liệu được lưu trữ với khóa phía máy chủ. Mặc dù các chính sách hạn chế điều này, các mối đe dọa nội bộ tồn tại. E2EE làm cho truy cập nội bộ là không thể vì các khóa không có sẵn với hệ thống của nhà cung cấp.
Bảo vệ siêu dữ liệu
Một số triển khai E2EE chỉ mã hóa nội dung tệp, để lại siêu dữ liệu (tên tệp, ngày tháng, kích thước) không được bảo vệ. Các triển khai mạnh hơn như Vaultaire mã hóa siêu dữ liệu riêng biệt sử dụng ChaCha20, bảo vệ chống lại phân tích dựa trên thuộc tính tệp.
Những hiểu lầm phổ biến về E2EE
"Lưu trữ đám mây của tôi được mã hóa, vì vậy ảnh của tôi an toàn." Mã hóa phía máy chủ bảo vệ chống lại vi phạm bên ngoài phần cứng máy chủ. Nó không bảo vệ chống lại chính nhà cung cấp, các yêu cầu pháp lý hoặc mối đe dọa nội bộ. Nhà cung cấp giữ các khóa.
"HTTPS có nghĩa là ảnh của tôi được mã hóa đầu cuối." HTTPS (TLS) mã hóa dữ liệu trong quá trình truyền giữa thiết bị và máy chủ. Khi dữ liệu đến máy chủ, nó được giải mã. HTTPS là mã hóa đường ống, không phải mã hóa dữ liệu.
"Mã hóa đầu cuối có nghĩa là không ai có thể xem ảnh của tôi." E2EE có nghĩa là không ai không có khóa có thể xem ảnh của bạn. Nếu ai đó có mật khẩu hoặc khóa của bạn, họ có thể giải mã dữ liệu. Quản lý khóa và mật khẩu mạnh vẫn cần thiết.
"Apple/Google không thể xem ảnh của tôi." Theo mặc định, cả hai công ty đều giữ các khóa mã hóa cho ảnh được lưu trữ trên đám mây của bạn. Apple cung cấp Bảo vệ Dữ liệu Nâng cao như một tùy chọn đăng ký. Google không cung cấp tùy chọn E2EE cho Google Photos.
Cách Vaultaire triển khai mã hóa đầu cuối
Vaultaire sử dụng phương pháp E2EE nhiều lớp:
- AES-256-GCM mã hóa tất cả nội dung tệp. Mỗi tệp nhận được vectơ khởi tạo duy nhất. Mã hóa xác thực phát hiện sự can thiệp.
- PBKDF2 với HMAC-SHA512 dẫn xuất khóa mã hóa từ hình vẽ của người dùng trên lưới 5x5. Số lần lặp cao làm cho các cuộc tấn công brute-force tốn kém về mặt tính toán.
- ChaCha20 mã hóa siêu dữ liệu (tên tệp, ngày tháng, kích thước) riêng biệt, cung cấp sự đa dạng mật mã học.
- Apple Secure Enclave quản lý lưu trữ khóa trong phần cứng, cô lập khỏi bộ xử lý chính và bộ nhớ ứng dụng.
- Kiến trúc không kiến thức có nghĩa là khóa mã hóa không bao giờ được truyền, lưu trữ trên máy chủ hoặc được nhà phát triển biết đến. Ứng dụng không biết bạn là ai.
Hình vẽ không bao giờ được lưu trữ. Không có băm nào của hình vẽ được lưu trữ. Nếu cả hình vẽ và cụm từ khôi phục bị mất, dữ liệu không thể khôi phục bởi bất kỳ ai.
Câu hỏi thường gặp
Mã hóa đầu cuối có hợp pháp không?
Có, ở hầu hết các quốc gia. E2EE hợp pháp ở Hoa Kỳ, Liên minh Châu Âu và hầu hết các nền dân chủ. Một số chính phủ đã đề xuất luật yêu cầu cửa hậu (như các điều khoản Đạo luật An toàn Trực tuyến của Anh), nhưng E2EE tự nó vẫn hợp pháp. Không có luật nào chống lại việc mã hóa ảnh cá nhân của bạn.
Cơ quan thực thi pháp luật có thể phá vỡ mã hóa đầu cuối không?
Không phải bằng cách phá vỡ thuật toán mã hóa tự nó. AES-256 được coi là không thể phá vỡ với công nghệ điện toán hiện tại và có thể thấy trước, bao gồm cả máy tính lượng tử (thuật toán Grover giảm độ dài khóa hiệu quả xuống 128 bit, điều này vẫn không khả thi về mặt tính toán). Cơ quan thực thi pháp luật có thể cố gắng lấy khóa thông qua các phương tiện khác (buộc người dùng, khai thác lỗ hổng thiết bị), nhưng bản thân mã hóa giữ vững.
Sự khác biệt giữa E2EE và mã hóa không kiến thức là gì?
E2EE đảm bảo dữ liệu được mã hóa trên thiết bị của người dùng và chỉ được giải mã trên thiết bị của người nhận. Không kiến thức là tuyên bố mạnh hơn: nhà cung cấp dịch vụ có kiến thức bằng không về dữ liệu đã mã hóa -- không có khóa, không có quyền truy cập siêu dữ liệu, không có khả năng khôi phục hoặc đặt lại. Tất cả hệ thống không kiến thức sử dụng E2EE, nhưng không phải tất cả hệ thống E2EE là không kiến thức.
Mã hóa đầu cuối có làm chậm điện thoại của tôi không?
Các thiết bị hiện đại xử lý mã hóa AES-256 với tăng tốc phần cứng chuyên dụng. Trên iPhone, Secure Enclave xử lý các hoạt động mật mã học. Mã hóa và giải mã ảnh riêng lẻ mất mili giây. Không có tác động hiệu suất đáng kể cho việc sử dụng thông thường.
Điều gì xảy ra nếu tôi mất khóa mã hóa?
Với E2EE thực sự, mất khóa có nghĩa là mất dữ liệu. Không có cửa hậu, không có khóa chính và không có khôi phục bởi nhà cung cấp dịch vụ. Hầu hết hệ thống E2EE cung cấp cơ chế khôi phục (cụm từ khôi phục, bộ khẩn cấp) nên được lưu trữ an toàn trong quá trình thiết lập.
Kết luận
Mã hóa đầu cuối là mô hình duy nhất nơi "nhà cung cấp không thể truy cập dữ liệu của bạn" là đảm bảo toán học, không phải lời hứa doanh nghiệp. Đối với ảnh, điều này có nghĩa là mã hóa trên thiết bị của bạn, với khóa chỉ bạn giữ, trước khi bất cứ điều gì chạm vào máy chủ. Hầu hết dịch vụ ảnh đám mây không cung cấp điều này theo mặc định. Kiểm tra ai giữ các khóa trước khi tin tưởng dịch vụ với ảnh riêng tư của bạn.
Vaultaire triển khai E2EE với kiến trúc không kiến thức cho iOS. Ảnh của bạn được mã hóa trên thiết bị với AES-256-GCM. Khóa không bao giờ rời khỏi điện thoại của bạn. Ngay cả Vaultaire cũng không thể xem những gì bạn lưu trữ.