Mã hóa Đầu cuối là Gì? Cách Bảo vệ Ảnh của Bạn

Mã hóa Đầu cuối là Gì? Cách Bảo vệ Ảnh của Bạn

Mã hóa đầu cuối giúp nội dung ảnh có thể đọc được và khóa nội dung văn bản gốc tránh xa nhà cung cấp dịch vụ lưu trữ.


Mã hóa đầu cuối (E2EE) là mô hình bảo mật trong đó bản rõ được mã hóa trên một điểm cuối được ủy quyền và được giải mã trên một điểm cuối khác. Nhà cung cấp dịch vụ lưu trữ hoặc vận chuyển không giữ khóa nội dung văn bản gốc. Ranh giới đó bảo vệ nội dung khỏi việc đọc trực tiếp từ phía máy chủ nhưng không ẩn mọi mục siêu dữ liệu hoặc bảo vệ điểm cuối bị xâm phạm, thông tin xác thực khôi phục, người nhận chung hoặc bản cập nhật ứng dụng khách độc hại.

Để lưu trữ ảnh, mã hóa hai đầu có nghĩa là điện thoại của bạn mã hóa nội dung ảnh trước khi tải lên và đám mây lưu trữ văn bản mã hóa thay vì hình ảnh có thể đọc được. Việc giải mã yêu cầu khóa có sẵn thông qua thiết bị được ủy quyền hoặc đường dẫn khôi phục. Kích thước tệp, thời gian, dữ liệu tài khoản, mối quan hệ chia sẻ và siêu dữ liệu khác có thể vẫn hiển thị. Hướng dẫn này giải thích ranh giới và so sánh các mô hình dịch vụ phổ biế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.

Ứng dụng kho ảnh sử dụng một số thiết kế quản lý khóa. Một số lấy khóa tệp trực tiếp từ mật khẩu; các thiết kế lớp mạnh hơn có thể sử dụng khóa mở khóa có nguồn gốc từ thông tin xác thực để bọc khóa tệp ngẫu nhiên. Kho tiền công dụng PBKDF2-HMAC-SHA512 để lấy khóa vault 256 bit từ mẫu 5x5 và muối trên toàn thiết bị. Khóa vault đó xác thực chỉ mục được mã hóa và mở khóa chính ngẫu nhiên riêng biệt được sử dụng để mã hóa tệp.

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 điểm cuối được ủy quyền trước khi nhà cung cấp dịch vụ lưu trữ nhận được dữ liệu đó. Thiết kế âm thanh giúp khóa nội dung văn bản gốc không nằm trong tầm kiểm soát thông thường của phía máy chủ của nhà cung cấp, do đó, sự thỏa hiệp chỉ dành cho bộ nhớ hoặc nhu cầu pháp lý đối với nội dung được lưu trữ sẽ mang lại văn bản mã hóa thay vì ảnh có thể đọc được. Nhà cung cấp vẫn có thể cung cấp bản mã và siêu dữ liệu, phân phối phần mềm máy khách hoặc vận hành các hệ thống khôi phục và chia sẻ phải được đưa vào mô hình mối đe dọa.

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ủ Không
Khi lưu trữ (phía máy chủ) Máy chủ Không
Đầu cuối Điểm cuối hoặc chủ sở hữu khôi phục được ủy quyền Không chỉ từ bản mã được lưu trữ Bảo vệ nội dung khỏi các khóa lưu trữ do nhà cung cấp nắm giữ
Mã hóa phía máy khách mù nhà cung cấp Đường dẫn khôi phục máy khách và tài liệu Không có quyền truy cập nội dung văn bản gốc theo thiết kế Bảo vệ nội dung; siêu dữ liệu và niềm tin của khách hàng vẫn còn

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 phía máy khách loại trừ các khóa do nhà cung cấp giữ. Vaultaire mã hóa ảnh và siêu dữ liệu trên thiết bị bằng AES-256-GCM trước khi tải lên bất kỳ đám mây nào. Khóa chính ngẫu nhiên mã hóa dữ liệu vault. Khóa vault cục bộ bắt nguồn từ mẫu của người dùng và muối thiết bị bao bọc khóa chính đó, trong khi khóa dự phòng bắt nguồn từ mẫu riêng biệt bảo vệ quyền riêng tư CloudKit hồ sơ dự phòng. Vaultaire không vận hành máy chủ nội dung hoặc nhận các khóa đó nên không thể chuyển CloudKit ghi vào bản rõ. Ứng dụng, iOSvà thiết bị đã mở khóa vẫn nằm trong ranh giới tin cậy, đồng thời yêu cầu pháp lý vẫn có thể lấy được siêu dữ liệu tài khoản hoặc dịch vụ do nhà cung cấp liên quan nắm giữ.

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ó (khóa Apple) Không
iCloud Photos (ADP được bật) Không
Google Photos Có (khóa Google) Không
Dropbox Có (khóa Dropbox) Không
OneDrive Có (khóa Microsoft) Không
Vaultaire Sao lưu tùy chọn được mã hóa phía máy khách Không có khóa nội dung bản rõ; CloudKit siêu dữ liệu vẫn còn

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 bằng khóa phía máy chủ, việc xâm phạm cả bộ nhớ và đường dẫn quản lý khóa có thể làm lộ nội dung có thể đọc được. Với E2EE âm thanh, vi phạm chỉ lưu trữ sẽ tạo ra văn bản mật mã và bất kỳ siêu dữ liệu nào mà dịch vụ lưu giữ. Thỏa hiệp điểm cuối, thông tin xác thực khôi phục bị đánh cắp, phần mềm máy khách độc hại và lỗi dịch vụ khóa vẫn là các đường dẫn riêng biệt đến bản rõ.

Truy cập pháp lý và chính phủ

Các nhà cung cấp dịch vụ có thể được yêu cầu cung cấp hồ sơ mà họ sở hữu. Với E2EE, điều đó có thể bao gồm văn bản mã hóa, thông tin tài khoản, nhật ký truy cập, kích thước bản ghi, thời gian và siêu dữ liệu chia sẻ thay vì nội dung ảnh có thể đọc được. Liệu nhu cầu có thể tiếp cận được thiết bị, phương pháp khôi phục, người nhận hay hành vi của khách hàng trong tương lai hay không là một câu hỏi kỹ thuật và pháp lý khác.

Truy cập nội bộ

Nhân viên hoặc kẻ tấn công có quyền truy cập vào khóa lưu trữ do nhà cung cấp quản lý có thể truy cập được nội dung được mã hóa phía máy chủ. E2EE loại bỏ đường dẫn khóa lưu trữ trực tiếp đó khi nhà cung cấp thiếu khóa nội dung văn bản gốc. Nó không loại trừ khả năng lạm dụng nội bộ vì các nhà cung cấp có thể kiểm soát các thành phần phân phối máy khách, trạng thái tài khoản, siêu dữ liệu, chia sẻ hoặc khôi phục.

Bảo vệ siêu dữ liệu

Một số triển khai E2EE chỉ mã hóa nội dung tệp, không bảo vệ siêu dữ liệu như tên tệp và ngày tháng. Vaultaire bảo vệ tiêu đề tập tin, MIME loại, chỉ mục, hình thu nhỏ và siêu dữ liệu vault khác với AES-256-GCM mã hóa xác thực. Độ dài văn bản mã hóa được lưu trữ và số lượng tệp chỉ mục được mã hóa vẫn có thể hiển thị thông tin cấu trúc cho người có quyền truy cập vùng chứa ứng dụng.

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:

  1. 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.
  2. PBKDF2 với HMAC-SHA512 lấy khóa vault cục bộ từ mẫu vẽ và muối thiết bị của người dùng. Hệ số công việc làm tăng chi phí cho mỗi lần đoán ngoại tuyến mà không thêm entropy vào mẫu. Khóa vault đó xác thực chỉ mục được mã hóa và mở khóa chính ngẫu nhiên được sử dụng trên dữ liệu tệp.
  3. AES-256-GCM cho siêu dữ liệu bảo vệ tên tệp, ngày tháng, kích thước, chỉ mục và hình thu nhỏ dưới mã hóa xác thực.
  4. iOS Keychain và bảo vệ dữ liệu bảo vệ muối thiết bị và cơ sở dữ liệu khôi phục được mã hóa. AES-GCM các hoạt động và khóa đối xứng đang hoạt động vẫn còn trong quá trình ứng dụng khi kho tiền được mở.
  5. Tách khóa nhà cung cấp có nghĩa là Wraxle không nhận được khóa văn bản gốc, khóa chính, khóa sao lưu hoặc khóa khôi phục. Tùy chọn CloudKit lưu trữ các bản ghi văn bản mã hóa và phong bì khóa được mã hóa, trong khi Apple vẫn có thể quan sát siêu dữ liệu dịch vụ. Vaultaire không yêu cầu tài khoản nhận dạng Vaultaire.

Vaultaire lưu giữ thông tin khôi phục, bao gồm cả mẫu, bên trong một AES-GCM cơ sở dữ liệu được mã hóa được lưu trữ trong iOS Keychain. Nó không được ghi vào các tệp văn bản gốc hoặc được gửi đến dịch vụ tài khoản Vaultaire. Nếu không có mẫu có thể sử dụng được, cụm từ phục hồi, hoặc thiết bị đã được mở khóa vẫn còn, Vaultaire không giữ khóa khôi phục của nhà cung cấp có thể khôi phục quyền truy cập.

Câu hỏi thường gặp

Mã hóa đầu cuối có hợp pháp không?

Cách xử lý pháp lý về mã hóa, quyền truy cập bắt buộc và các dịch vụ được mã hóa khác nhau tùy theo khu vực pháp lý và có thể thay đổi. Hướng dẫn này mô tả mô hình kỹ thuật, không phải tư vấn pháp lý. Kiểm tra luật hiện hành của địa phương nếu việc sử dụng của bạn liên quan đến việc khám xét biên giới, lệnh của tòa án, hồ sơ được quản lý hoặc bối cảnh có rủi ro cao khác.

Cơ quan thực thi pháp luật có thể phá vỡ mã hóa đầu cuối không?

Tấn công hiếm khi cần tìm kiếm đầy đủ AES-256 không gian khóa. Người kiểm tra có thể nhắm mục tiêu vào mật khẩu hoặc mẫu yếu, điểm cuối đã mở khóa, bộ nhớ, cụm từ khôi phục, người nhận, bản sao lưu hoặc lỗ hổng triển khai. Thực hiện đúng AES-256-GCM với khóa entropy ngẫu nhiên cao được thiết kế để chống lại việc tìm kiếm khóa trực tiếp, nhưng đó chỉ là một phần của hệ thống.

Sự khác biệt giữa E2EE và mã hóa không kiến thức là gì?

E2EE mô tả nơi xảy ra mã hóa và giải mã văn bản gốc và ai nắm giữ các khóa nội dung có thể sử dụng được. "Không có kiến ​​thức" thường được sử dụng trong tiếp thị sản phẩm để mã hóa mù nhà cung cấp, nhưng không nên đọc theo nghĩa đen: một dịch vụ có thể thiếu khóa văn bản gốc trong khi vẫn nhìn thấy văn bản mã hóa, dữ liệu tài khoản, kích thước, thời gian, mối quan hệ chia sẻ và siêu dữ liệu khác. Đánh giá các đường dẫn khôi phục và khóa được ghi lại thay vì chỉ có nhãn.

Mã hóa đầu cuối có làm chậm điện thoại của tôi không?

Xử lý các thiết bị hiện đại AES-256 hiệu quả với khả năng tăng tốc phần cứng được cung cấp thông qua các thư viện mật mã hệ thống. Bật iPhone, Vaultaire biểu diễn AES-GCM trong quá trình ứng dụng thông qua CryptoKit. công chúng của Apple Secure Enclave API không phải là tùy ý AES-GCM công cụ mã hóa tập tin. Chi phí mã hóa và giải mã phụ thuộc vào kích thước tệp và thiết bị, nhưng nó được thiết kế để tránh gây cản trở trong quá trình sử dụng thông thường.

Điều gì xảy ra nếu tôi mất khóa mã hóa?

Việc mất mọi đường dẫn giải mã và khôi phục có thể sử dụng được sẽ khiến dữ liệu đã mã hóa không thể phục hồi được. Do đó, nhiều hệ thống E2EE sử dụng cụm từ khôi phục, thiết bị đáng tin cậy, địa chỉ liên hệ khôi phục, bộ công cụ khẩn cấp hoặc phong bì khóa được mã hóa. Những cơ chế đó bảo vệ quyền truy cập nhưng mỗi cơ chế cũng trở thành một phần của mô hình bảo mật.

Kết luận

Mã hóa hai đầu có thể xóa đường dẫn khóa văn bản gốc của nhà cung cấp dịch vụ lưu trữ khi quá trình mã hóa diễn ra trên điểm cuối được ủy quyền trước khi tải lên. Đó là sự bảo vệ có ý nghĩa chứ không phải là sự đảm bảo cho toàn bộ hệ thống. Kiểm tra quyền lưu giữ, khôi phục, siêu dữ liệu, cập nhật ứng dụng khách, bảo mật điểm cuối và chia sẻ khóa nội dung trước khi tin cậy một dịch vụ có ảnh riêng tư.

Kho tiền thực hiện mã hóa phía máy khách cho iOS. Ảnh và siêu dữ liệu vault của bạn được mã hóa trên thiết bị bằng AES-256-GCM trước khi sao lưu hoặc đồng bộ hóa tùy chọn. Vaultaire không nhận khóa giải mã hoặc vận hành máy chủ có thể biến những bản ghi được mã hóa đó thành ảnh của bạn. Ranh giới của nhà cung cấp này không tạo ra sự xâm phạm hoặc mở khóa iPhone đáng tin cậy.