Lưu trữ mã hóa tách các byte của tệp khỏi quyền giải mã, nhưng người nhận, siêu dữ liệu và bản sao cục bộ vẫn thuộc mô hình đe dọa.
Tệp đính kèm được mã hóa đầu cuối có thể được lưu trên máy chủ mà không cung cấp tệp bản rõ cho máy chủ đó. Một thiết kế phổ biến mã hóa tệp trên thiết bị người gửi bằng khóa nội dung mới, tải bản mã lên rồi gửi khóa đến người nhận dự kiến trong một tin nhắn mã hóa có xác thực.
Sự tách biệt này hữu ích, nhưng “lưu trữ zero-knowledge” không phải đặc tả đầy đủ. Bạn vẫn cần hỏi cách xử lý khóa, tham chiếu tệp, tên tệp, kiểm soát truy cập và các bản sao đã tải xuống.
Vòng đời của tệp đính kèm
- Chuẩn bị tệp. Người gửi chọn ảnh, video hoặc tài liệu. Việc xóa siêu dữ liệu hay chuyển mã là bước riêng; chỉ mã hóa không loại bỏ EXIF hoặc thuộc tính tài liệu.
- Tạo vật liệu mã hóa. Một triển khai an toàn tạo khóa và nonce cần thiết theo cơ chế đã chọn.
- Mã hóa trước khi tải lên. Dịch vụ lưu trữ nhận các byte đã mã hóa thay vì nội dung gốc.
- Gửi tham chiếu có xác thực. Tin nhắn trò chuyện đã mã hóa mang thông tin người nhận cần, chẳng hạn vị trí tệp, khóa giải mã và siêu dữ liệu toàn vẹn liên quan.
- Lấy và xác minh. Máy khách của người nhận lấy đối tượng dữ liệu và xác minh xác thực trước khi coi kết quả là nội dung hợp lệ.
- Quản lý bản sao cục bộ. Hiển thị, xuất, chỉnh sửa hoặc lưu vào thư viện có thể tạo bản sao nằm ngoài ranh giới lưu trữ mã hóa ban đầu.
Khóa có thể đi qua hạ tầng của cùng nhà cung cấp trong một lớp bao mã hóa. Gọi đó là “ngoài băng” có thể gây hiểu nhầm: nó tách biệt về mặt logic với lưu trữ đối tượng dữ liệu, chứ không nhất thiết được gửi qua kênh liên lạc độc lập.
Mã hóa có xác thực bổ sung điều gì
Cơ chế mã hóa có xác thực bảo vệ tính bí mật và phát hiện thay đổi trái phép trong phạm vi được xác thực. Đặc tả GCM của NIST định nghĩa một cấu trúc như vậy cùng các yêu cầu. Xử lý khóa/nonce đúng cách và kiểm tra kết quả xác thực là thiết yếu; tên thuật toán được công nhận không khiến mọi triển khai đều an toàn.
Ứng dụng cũng cần ràng buộc tệp với đúng tin nhắn và cuộc trò chuyện. Một đối tượng dữ liệu mã hóa hợp lệ tự nó không chứng minh rằng nó thuộc cuộc trò chuyện cụ thể này. Mã định danh tệp, kích thước dự kiến, thứ tự các khối và siêu dữ liệu tệp đính kèm cần một thiết kế xác thực phù hợp.
Dịch vụ lưu trữ vẫn có thể biết gì
| Thông tin | Chỉ mã hóa nội dung có che giấu được không? |
|---|---|
| Các byte gốc của tệp | Mục tiêu thiết kế là che giấu chúng khỏi bên không có khóa |
| Kích thước mã hóa gần đúng | Thường không |
| Thời điểm tải lên và tải xuống | Thường không |
| Tài khoản nào yêu cầu tệp | Tùy thiết kế định tuyến và kiểm soát truy cập |
| Tên tệp và chú thích | Chỉ khi giao thức cũng bảo vệ chúng |
| Bản sao do người nhận lưu | Không; người nhận đã có quyền truy cập bản rõ |
Kiểm soát truy cập vẫn quan trọng ngay cả khi đối tượng dữ liệu đã mã hóa. Nó có thể hạn chế tải xuống ngoài ý muốn, lạm dụng và lộ mã định danh. Mã hóa không thay thế việc cấp quyền, chính sách lưu giữ hoặc tính sẵn sàng.
Tệp lớn cần nhiều hơn một khẩu hiệu
Thiết kế cho tệp lớn có thể truyền dữ liệu dạng luồng hoặc chia thành các khối có xác thực. Điều đó có thể giảm dùng bộ nhớ, nhưng cần định nghĩa cách đánh số khối, độ dài cuối cùng, thử lại và xử lý cắt cụt. Đừng bịa số liệu hiệu năng hoặc khẳng định rằng đặt tệp trong tin nhắn nhất thiết gây “phình trạng thái ratchet”; kết quả đó tùy thuộc triển khai.
Một phép thử hữu ích bao gồm tệp hợp lệ, một byte bị thay đổi, tải xuống bị cắt cụt, khối bị đổi thứ tự và lần thử truy xuất trái phép. Chỉ chạy những phép thử này trong môi trường kiểm thử được cho phép với tệp không nhạy cảm. Ghi lại liệu máy khách có từ chối dữ liệu không hợp lệ trước khi mở hay không.
Livara ghi trong tài liệu những gì
Trang bảo mật của Livara mô tả mã hóa trước khi tải lên, khóa ngẫu nhiên riêng cho từng tệp được chuyển trong phiên được bảo vệ, cùng bảo vệ tên tệp và chú thích trong cuộc trò chuyện có E2EE hoạt động, bao gồm nhóm riêng tư tương thích. Các nhóm cũ không tương thích được nêu rõ là ngoài phạm vi này. Trang phân biệt cuộc trò chuyện được bảo vệ với kênh phát công khai. Đây là tuyên bố sản phẩm được ghi trong tài liệu, không phải cuộc kiểm toán triển khai mới trong bài viết này.
Mô hình đe dọa cũng thừa nhận rằng người nhận hoặc thiết bị bị xâm phạm có thể làm lộ nội dung đọc được. Vì vậy, lưu trữ mã hóa không thể hứa rằng ảnh sẽ biến mất khỏi mọi thiết bị khi tin nhắn chứa ảnh bị xóa.
Câu hỏi trước khi chia sẻ tệp nhạy cảm
Kiểm tra loại cuộc trò chuyện có hỗ trợ E2EE không, mọi người nhận dự kiến có đáng tin không và bản thân tệp có chứa siêu dữ liệu nhận dạng không. Xem xét riêng việc tự động lưu vào thư viện và sao lưu ảnh lên đám mây. Với tài liệu, cân nhắc xóa bình luận, lịch sử sửa đổi hoặc thuộc tính nhúng trước khi gửi.
Cuối cùng, hãy hiểu việc xóa và khôi phục. Xóa đối tượng dữ liệu trên máy chủ có thể ngăn tải xuống trong tương lai, nhưng không thu hồi bản sao người nhận đã có. Mất khóa cần thiết có thể khiến tệp mã hóa còn lại không đọc được. Thiết kế tệp đính kèm tốt giải thích rõ cả hai kết quả.



