21 thg 5, 2025·8 phút đọc

Mã hóa phía khách hàng vs mã hóa phía máy chủ cho các tệp tải lên

Giải thích khác biệt giữa mã hóa phía khách hàng và phía máy chủ kèm mô hình đe doạ và đánh đổi UX cho việc lưu hợp đồng, ID và tệp y tế trong ứng dụng doanh nghiệp.

Mã hóa phía khách hàng vs mã hóa phía máy chủ cho các tệp tải lên

Tại sao lựa chọn mã hóa lại quan trọng với tài liệu tải lên

Nếu ứng dụng của bạn cho phép người dùng tải tệp lên, bạn không chỉ đang lưu “tài liệu”. Bạn thường đang lưu một bản sao danh tính thứ hai của người dùng: hợp đồng đã ký, ảnh hộ chiếu hoặc bằng lái, mẫu y tế và kết quả xét nghiệm. Các tệp nhỏ nhưng rủi ro đi kèm thì không nhỏ.

Một hợp đồng bị rò rỉ có thể gây hậu quả pháp lý và tài chính: giá cả lộ ra, chữ ký bị sao chép, và tranh chấp nhanh chóng trở nên phức tạp. Bản quét ID bị đánh cắp có thể dẫn đến trộm danh tính và chiếm đoạt tài khoản. Tài liệu y tế có thể tiết lộ thông tin sức khỏe riêng tư mà người dùng không ngờ sẽ chia sẻ rộng rãi. Một sai lầm có thể làm mất lòng tin trong nhiều năm.

Các đội thường nói “lưu trữ được mã hóa” nhưng ý họ có thể khác nhau. Đôi khi họ chỉ nói kết nối tải lên được mã hóa (HTTPS). Đôi khi họ ám chỉ tệp được mã hóa khi lưu trên đĩa (mã hóa lúc nghỉ). Đôi khi họ muốn tệp được mã hóa trước khi rời thiết bị người dùng, để máy chủ không bao giờ thấy bản rõ (mã hóa phía khách hàng). Những khái niệm này không thay thế lẫn nhau. Chúng bảo vệ trước các lỗi khác nhau.

Các quyết định bảo mật cũng định hình trải nghiệm hàng ngày và hỗ trợ. Quyền riêng tư cao hơn thường đồng nghĩa với ma sát nhiều hơn: bước bổ sung để xem tệp, chia sẻ khó hơn, tìm kiếm và xem trước bị hạn chế, và khôi phục đau đầu khi ai đó mất thiết bị hoặc khoá. Truy cập dễ hơn cho phép lập chỉ mục, quét antivirus, xem trước và đặt lại mật khẩu, nhưng đồng thời cũng tăng những gì máy chủ của bạn (và ai đó xâm nhập máy chủ) có thể thấy.

Hãy hình dung một phòng khám nhỏ tải lên ảnh ID bảo hiểm và PDF y tế. Nhân viên cần tìm tệp đúng nhanh chóng, nhưng phòng khám cũng muốn giảm thiểu thiệt hại nếu tài khoản quản trị bị tấn công. Mô hình “đúng” phụ thuộc vào thất bại nào sẽ gây hại nhất và người dùng chịu được bao nhiêu bất tiện.

Định nghĩa nhanh: mã hóa phía khách hàng và phía máy chủ

Câu hỏi thực tế là đơn giản: tệp được mã hóa khi nào, và ai có thể giải mã nó sau này?

Mã hóa phía máy chủ nghĩa là tệp đến backend của bạn ở dạng có thể đọc được, và máy chủ của bạn mã hóa nó trước khi lưu. Đây là mã hóa khi lưu: nếu ai đó lấy ổ đĩa hay có quyền thô với bucket lưu trữ, họ thấy dữ liệu bị xáo trộn. Máy chủ có thể giải mã tệp khi cần.

Mã hóa phía khách hàng nghĩa là tệp được mã hóa trên thiết bị của người dùng (trình duyệt hoặc di động) trước khi tải lên. Máy chủ của bạn chỉ lưu ciphertext. Trong hoạt động bình thường, máy chủ không thể đọc tài liệu trừ khi nó cũng có quyền truy cập vào chìa khoá giải mã.

Sở hữu chìa khoá là mốc phân chia thực sự:

  • Với mã hóa phía máy chủ, chìa khoá được quản lý bởi backend của bạn (thường thông qua dịch vụ quản lý khoá), và backend giải mã tệp cho người dùng được ủy quyền.
  • Với mã hóa phía khách hàng, chìa khoá do người dùng, thiết bị của họ hoặc bí mật giữ trên client kiểm soát, và backend chủ yếu thực thi lưu trữ và quy tắc truy cập.

Trong cả hai mô hình, bạn vẫn cần xác thực và phân quyền. Mã hóa không thay thế kiểm soát truy cập.

Mọi người cũng dùng “mã hóa đầu-cuối” (end-to-end) để chỉ: tệp được mã hóa trên thiết bị người gửi, vẫn được lưu ở dạng mã hóa trên máy chủ, và chỉ được giải mã trên thiết bị của người nhận được phê duyệt. Điều này có thể nâng cao tính bảo mật, nhưng làm cho việc xem trước trên server, tìm kiếm toàn văn, quét virus và khôi phục dễ dàng trở nên khó hơn trừ khi bạn chấp nhận thay đổi mô hình đe doạ.

Mô hình đe doạ: bạn thực sự muốn ngăn chặn điều gì

Mã hóa chỉ hữu ích khi bạn rõ ràng về các rủi ro muốn giảm. “Không ai ngoài người dùng dự định được đọc tệp” dẫn đến lựa chọn khác với “giảm thiệt hại nếu nơi lưu trữ bị rò rỉ”.

Các mối đe doạ phổ biến cho ứng dụng lưu hợp đồng, ID hoặc tài liệu y tế bao gồm:

  • Mật khẩu bị đánh cắp hoặc tái sử dụng (chiếm đoạt tài khoản)
  • Truy cập nội bộ rộng hơn mức cần thiết (hỗ trợ, quản trị, nhà thầu)
  • Tài khoản cloud bị xâm phạm hoặc bucket lưu trữ cấu hình sai
  • Lỗi hoặc rò rỉ làm lộ cơ sở dữ liệu hoặc sao lưu
  • Malware trên thiết bị người dùng

Cũng hữu ích khi tách nơi có thể xảy ra lộ lọt:

  • Khi truyền: tệp di chuyển từ thiết bị tới server
  • Khi lưu: object storage, hàng cơ sở dữ liệu, sao lưu, nhật ký
  • Khi xem/xử lý: xem trước, OCR, tìm kiếm, chuyển đổi

Điểm khác biệt cốt lõi là thế này. Với mã hóa phía máy chủ, hệ thống của bạn có thể giải mã, nên nó có thể xem trước, quét và lập chỉ mục. Với mã hóa phía khách hàng, server lưu ciphertext và không thể đọc nội dung nếu không có khoá do người dùng giữ. Điều đó thường giảm phạm vi thiệt hại khi server bị xâm phạm và giảm rủi ro nội bộ.

Mã hóa không ngăn được mọi thứ. Nếu một thiết bị bị nhiễm, malware có thể lấy tệp trước khi mã hóa hoặc sau khi giải mã. Nếu ai đó có thể xem tài liệu, họ vẫn có thể chụp màn hình, chia sẻ lại hoặc in ra.

Mỗi mô hình bảo vệ được gì (và không bảo vệ được gì)

Cách hữu ích để so sánh là hỏi: ai có thể thấy tệp ở dạng bản rõ tại bất kỳ thời điểm nào? Câu trả lời đó định hình tác động khi bị vi phạm, rủi ro nội bộ và an toàn của sao lưu.

Với mã hóa phía máy chủ, một lần xâm nhập server vẫn có thể lộ nhiều thứ. Backend thường có quyền truy cập chìa khoá giải mã (hoặc có thể yêu cầu chúng) vì nó cần sinh xem trước, chạy quét antivirus, hỗ trợ tìm kiếm hoặc xử lý chia sẻ. Trong trường hợp xấu nhất, kẻ tấn công lấy được cả dữ liệu lưu và quyền truy cập khoá có thể giải mã mọi thứ.

Với mã hóa phía khách hàng, kẻ tấn công xâm nhập hạ tầng của bạn thường chỉ lấy được các blob được mã hóa. Nếu không có khoá do người dùng giữ, những blob đó kém hữu dụng hơn nhiều.

Truy cập nội bộ là nơi khác biệt dễ thấy nhất. Với mã hóa phía máy chủ, nhân viên có quyền, quản trị viên cloud hoặc tài khoản hỗ trợ bị xâm nhập thường có thể truy cập tài liệu bằng cách mạo danh ứng dụng hoặc truy vấn nơi lưu trữ. Với mã hóa phía khách hàng, hạ tầng có thể lưu và chuyển tệp, nhưng không thể đọc chúng trừ khi khoá được cung cấp.

Mã hóa phía khách hàng không khắc phục thiết bị bị xâm nhập. Với các tệp nhạy cảm cao như ID và PDF y tế, bảo mật thiết bị và bảo vệ tài khoản quan trọng ngang hàng với mã hóa nơi lưu trữ.

Cũng hãy chú ý rò rỉ ngoài “kho lưu trữ tệp”. Nhiều sự cố xảy ra qua:

  • Sao lưu và snapshot chứa tệp đã giải mã hoặc khoá
  • Nhật ký ghi tên tệp, metadata hoặc văn bản đã trích xuất
  • Hình thu nhỏ, xem trước và chỉ mục tìm kiếm
  • Xuất ra email, chat hoặc công cụ ticket
  • Tệp tạm tạo ra trong quá trình tải lên hoặc chuyển đổi

Những khác biệt trải nghiệm người dùng cảm nhận ngay

Đặt quy tắc lưu trữ và xoá dữ liệu
Tự động hết hạn cho các tải lên ID và chỉ giữ hợp đồng trong thời gian cần thiết.
Tự động hoá

Khác biệt lớn nhất không phải ở toán học mà là người dùng dễ làm gì, và điều gì trở nên khó.

Mã hóa phía máy chủ thường cảm nhận như vô hình. Người dùng đăng nhập, tải lên và xem trước ngay lập tức. Hỗ trợ có thể đặt lại truy cập. Quản lý có thể phân quyền lại khi ai đó nghỉ ốm.

Mã hóa phía khách hàng thay đổi việc onboarding và công việc hàng ngày. Người dùng có thể cần mật khẩu mạnh hơn, khoá lưu cục bộ trên thiết bị, hoặc bước mở khoá bổ sung. Chuyển thiết bị, xoá trình duyệt hoặc cài lại app có thể làm mất truy cập trừ khi bạn có kế hoạch sao lưu và khôi phục khoá.

Khôi phục tài khoản là nơi các đội thường bị bất ngờ. Nếu chỉ người dùng giữ khoá giải mã, “Quên mật khẩu” có thể trở thành “mất truy cập”. Bạn có thể thêm khoá khôi phục hoặc luồng lưu kho, nhưng bạn phải trung thực về hệ quả và giải thích rõ ràng.

Chia sẻ cũng phức tạp hơn. Với mã hóa phía máy chủ, chia sẻ chủ yếu là về quyền. Với mã hóa phía khách hàng, chia sẻ thường liên quan đến chia sẻ khoá nữa, cùng những câu hỏi như thu hồi và những bản sao cũ sẽ thế nào.

Tính năng tìm kiếm và tiện lợi có thể buộc phải giải mã ở đâu đó. Tìm kiếm toàn văn, xem trước và OCR dễ nhất khi server có thể đọc tệp. Nếu bạn muốn riêng tư theo kiểu end-to-end, bạn có thể cần OCR phía khách hàng, lập chỉ mục cục bộ, hoặc chấp nhận tìm kiếm giới hạn (ví dụ chỉ tên tệp và thẻ).

Ví dụ: một phòng khám tải lên PDF xét nghiệm và muốn OCR để tìm tên bệnh nhân bên trong bản quét. Mã hóa phía máy chủ hỗ trợ OCR và tìm kiếm nhanh. Mã hóa phía khách hàng đẩy công việc đó ra thiết bị người dùng, chậm hơn và khó hỗ trợ đồng đều trên web và di động.

Nhu cầu theo loại tài liệu: hợp đồng, ID và hồ sơ y tế

Lựa chọn tốt nhất phụ thuộc ít hơn vào loại tệp và nhiều hơn vào luồng công việc: ai cần đọc, nhanh thế nào, thường xuyên ra sao và trong bao lâu.

Hợp đồng

Hợp đồng thường liên quan đến rà soát, sửa đổi, phê duyệt và lịch sử kiểm toán. Các nhóm cũng muốn tìm kiếm tin cậy, chia sẻ và quy tắc lưu trữ.

Nếu ứng dụng của bạn hỗ trợ cộng tác bên trong sản phẩm, mã hóa phía máy chủ thường là mặc định thực tế vì hệ thống có thể hiển thị xem trước, chạy tìm kiếm và thực thi truy cập theo vai trò mà không yêu cầu người dùng quản lý khoá.

Mã hóa phía khách hàng phù hợp nếu ứng dụng chủ yếu là một kho chứa, ví dụ lưu các PDF đã ký cuối cùng cho một nhóm điều hành nhỏ. Đổi lại là tiện ích tích hợp yếu hơn trừ khi bạn thêm công cụ phía khách hàng.

ID (hộ chiếu, bằng lái)

ID có rủi ro cao nhưng thường chỉ cần trong thời gian ngắn. Nhiều đội chỉ cần chúng đủ lâu để xác minh người đó, rồi xoá. Luồng công việc là xem nhanh và xử lý chặt chẽ, không phải hợp tác.

Cách phổ biến là mã hóa phía máy chủ kèm kiểm soát truy cập chặt, nhật ký mạnh và thời hạn lưu ngắn. Mã hóa phía khách hàng có thể phù hợp nếu nhân viên hỗ trợ không bao giờ được phép xem ID, nhưng khi đó bạn cần một cách khác để hoàn tất xác minh.

Tài liệu y tế

Hồ sơ y tế mang kỳ vọng riêng tư mạnh hơn. Người dùng thường nghĩ rằng chỉ một nhóm rất nhỏ mới có thể xem họ.

Mã hóa phía khách hàng có thể giảm phơi nhiễm nếu server bị xâm phạm hoặc quyền admin bị lạm dụng. Nhưng nó cũng tạo ra vấn đề UX và vận hành thực sự: đặt lại mật khẩu, đổi thiết bị và truy cập khẩn cấp trở nên phức tạp.

Trước khi chọn, hãy lập bản đồ từng loại tài liệu theo luồng công việc:

  • Ai phải đọc nó (và từ đâu)
  • Tốc độ tải phải nhanh thế nào
  • Giữ bao lâu
  • Những tính năng sản phẩm nào quan trọng (xem trước, tìm kiếm, xoá tự động)

Cách chọn: quy trình quyết định từng bước

Lấy mã nguồn thực
Xuất mã được sinh khi bạn cần kiểm soát hoàn toàn hoặc tự lưu trữ.
Xuất mã nguồn

Bắt đầu bằng cách viết ra những gì bạn lưu và ai chạm đến nó. Một thư mục gọi là “uploads” không phải là chính sách.

Bước 1: lập bản đồ truy cập, không chỉ “người dùng”

Liệt kê vai trò và trả lời hai câu hỏi: ai phải có khả năng mở tệp, và ai không bao giờ được mở (kể cả admin)? Bao gồm cả thời hạn lưu khi bạn làm việc này.

Bước 2: chọn giả định mối đe doạ

Nói thẳng về những gì bạn đang bảo vệ.

  • Nếu rủi ro nội bộ là mối quan tâm hàng đầu, mã hóa phía khách hàng trở nên hấp dẫn hơn.
  • Nếu mất thiết bị và đặt lại mật khẩu thường xảy ra, bạn sẽ phải trả chi phí về độ phức tạp khôi phục.

Rồi thử nghiệm trải nghiệm:

  1. Khôi phục và hỗ trợ: Điều gì xảy ra khi ai đó quên mật khẩu hoặc mất điện thoại? Nếu bạn phải khôi phục truy cập, mã hóa phía khách hàng thuần túy có thể không phù hợp.

  2. Tính năng bắt buộc: Bạn có cần xem trước, tìm kiếm, OCR, ký điện tử hay xử lý qua API không? Nhiều thứ trong số này đơn giản hơn khi server có thể đọc tệp.

  3. Kiểm toán và tuân thủ: Bạn có cần nhật ký rõ ràng ai đã xem gì và khi nào không? Cả hai mô hình đều có thể ghi nhật ký, nhưng thiết kế phía khách hàng cần cẩn trọng thêm để tránh kết luận “chúng tôi không thể giúp bạn”.

Hầu hết các đội kết thúc với mô hình lai: mã hóa phía máy chủ cho hầu hết tài liệu, và mã hóa phía khách hàng cho một tập nhỏ các tải lên mà nhân viên “không bao giờ được phép xem”.

Những sai lầm và bẫy thường gặp

Lên kế hoạch cho khôi phục tài khoản
Biến đặt lại mật khẩu và mất thiết bị thành quy trình an toàn có hướng dẫn.
Thiết kế khôi phục

Bẫy lớn nhất là coi mã hóa là toàn bộ câu chuyện. Quyền riêng tư và tuân thủ cũng phụ thuộc vào ai có thể truy cập dữ liệu, cách truy cập được phê duyệt, những gì được ghi nhật ký, thời hạn lưu và cách xử lý yêu cầu xoá.

Sai lầm thứ hai là xây mã hóa phía khách hàng mà không có kế hoạch khôi phục. Nếu người dùng mất thiết bị, quên mật khẩu hoặc rời công ty, bạn có thể khôi phục truy cập mà không phá lời hứa bảo mật không? “Chúng tôi không thể giúp bạn” có thể chấp nhận được cho kho cá nhân, nhưng thường thất bại trong ứng dụng doanh nghiệp.

Những sai lầm này dẫn tới rò rỉ thực tế và các phương án làm việc vòng:

  • Cho admin con đường “xem mọi thứ” ẩn, hoặc cho phép hỗ trợ mạo danh người dùng mà không có nhật ký chặt và phê duyệt người thứ hai.
  • Giải mã trong trình duyệt hoặc app rồi để lại bản sao (xem trước được cache, tệp tạm, thư mục đồng bộ).
  • Gửi tài liệu “an toàn” qua kênh không an toàn sau đó (gửi email PDF, dán ảnh chụp màn hình vào chat, đính kèm tệp vào ticket).
  • Làm luồng bảo mật quá khó đến mức người dùng chuyển sang ổ đĩa cá nhân hoặc chụp ảnh màn hình.
  • Giả định “mã hóa khi lưu” tự động thỏa các yêu cầu về đồng ý, lịch sử truy cập, thời hạn lưu và báo cáo rò rỉ.

Ví dụ: một phòng khám mã hóa biểu mẫu tiếp nhận, rồi nhân viên xuất báo cáo thanh toán tạo thư mục cục bộ không mã hóa. Thư mục đó được sao lưu lên ổ chia sẻ. Vụ rò rỉ xảy ra trong luồng làm việc, chứ không phải ở lớp crypto.

Danh sách kiểm tra nhanh trước khi quyết định

Viết một câu ngắn: ai nên có thể đọc các tệp này, và ai không bao giờ được phép đọc, ngay cả khi ai đó có quyền truy cập vào server của bạn.

Rồi kiểm tra:

  • Ai có thể giải mã, và khi nào? Liệt kê chính xác vai trò và điều kiện. Nếu chính sách nói “chỉ uploader,” đừng lặng lẽ thêm cửa hậu qua khoá chia sẻ.
  • Bạn có thể thu hồi truy cập nhanh không? Offboarding là bài kiểm tra thực sự. Quyết định truy cập gắn với tài khoản, thiết bị hay nhóm.
  • Điều gì xảy ra sau mất thiết bị hoặc đặt lại mật khẩu? Nếu cần khôi phục, bảo vệ nó bằng phê duyệt mạnh.
  • Bạn có cần xem trước, quét virus hay OCR không? Nếu có, hãy lên kế hoạch nơi xảy ra giải mã và ai có thể kích hoạt nó.
  • Nhật ký kiểm toán của bạn có đủ chi tiết không? Định nghĩa thế nào là “xem” so với “tải xuống,” và ghi lại người dùng, thời gian, thiết bị và lý do.

Ví dụ tình huống: đội nhỏ lưu ID và PDF y tế

Giữ quản trị viên ở đúng vai trò
Triển khai vai trò tối thiểu cần thiết và giảm truy cập rộng tới các tệp nhạy cảm.
Định nghĩa vai trò

Một phòng khám nhỏ có ứng dụng nơi nhân viên tải giới thiệu bệnh nhân (PDF) và ảnh ID bảo hiểm. Mục tiêu là chuyển tài liệu đến đúng người nhanh chóng, đồng thời giảm thiểu thiệt hại từ mất thiết bị, tài khoản bị xâm phạm hoặc lỗi cloud.

Một cách khả thi là mã hóa phía máy chủ với vai trò chặt. Tệp được mã hóa khi lưu, và truy cập được điều khiển bằng quyền: quầy tiếp tân có thể tải lên, bộ phận thanh toán có thể xem ID, và bác sĩ có thể xem hồ sơ giới thiệu. Điều này dễ vận hành hàng ngày vì nhân viên có thể mở tài liệu trên desktop hoặc di động mà không cần bước bổ sung, và người quản lý có thể phân quyền lại khi ai đó vắng mặt.

Cách khác là dùng mã hóa phía khách hàng cho những mục nhạy cảm nhất. Tệp được mã hóa trên thiết bị trước khi tải lên, nên server chỉ lưu ciphertext. Điều này giảm tác động khi server bị xâm phạm hoặc truy cập nội bộ bị lạm dụng, nhưng thay đổi vận hành:

  • Đặt lại mật khẩu có thể khôi phục truy cập bình thường với mã hóa phía máy chủ; với mã hóa phía khách hàng, đặt lại có thể làm người dùng mất quyền trừ khi khoá được sao lưu an toàn.
  • Thay đổi nhân sự dễ hơn với mã hóa phía máy chủ; với mã hóa phía khách hàng, bạn cần kế hoạch chuyển hoặc lưu khoá để tài liệu vẫn truy cập được.

Người dùng sẽ cảm nhận ma sát ở khâu chia sẻ, truy cập di động và khôi phục sau khi mất điện thoại. Những chi tiết đó quan trọng như mô hình mã hóa.

Bước tiếp theo: quyết định, ghi chính sách, và triển khai

Bắt đầu bằng việc viết giả định mối đe doạ bằng ngôn ngữ đơn giản. Chọn cách tiếp cận đơn giản nhất đáp ứng rủi ro của bạn, rồi chỉ tăng cường nơi các tài liệu thực sự cần.

Ghi quyết định vào một bộ quy tắc nội bộ ngắn gọn để mọi người tuân theo:

  • Loại tệp nào được phép và họ được lưu ở đâu
  • Ai có thể truy cập và chia sẻ, và cách phê duyệt truy cập
  • Quy tắc lưu trữ và xoá dữ liệu
  • Cách khôi phục sau đặt lại mật khẩu và mất thiết bị
  • Cách xử lý xuất (tải xuống, email, nhắn tin) và khi nào bị chặn

Rồi thiết kế triển khai quanh các quy tắc đó: kiểm tra vai trò, các hành động có ghi nhật ký (xem, tải xuống, chia sẻ), xem trước an toàn, và xử lý khoá cẩn trọng.

Nếu bạn xây trên nền tảng no-code như AppMaster (appmaster.io), sẽ hữu ích khi mô phỏng vai trò và luồng phê duyệt sớm, rồi điều chỉnh khi yêu cầu thay đổi mà không phải viết lại toàn bộ ứng dụng. Phần quan trọng là làm cho luồng an toàn trở thành lựa chọn tiện lợi nhất cho người dùng thực tế.

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

Khi nào tôi nên chọn mã hóa phía khách hàng thay vì phía máy chủ?

Sử dụng mã hóa phía máy chủ khi bạn cần xem trước mượt, OCR, quét virus và khôi phục tài khoản dễ dàng. Sử dụng mã hóa phía khách hàng khi giảm rủi ro nội bộ và hạn chế những gì máy chủ của bạn có thể đọc quan trọng hơn sự tiện lợi.

HTTPS có giống như “lưu trữ được mã hóa” cho các tệp tải lên không?

Không. HTTPS bảo vệ tệp khi truyền qua mạng. Bạn vẫn cần mã hóa tại nơi lưu trữ và kiểm soát truy cập tốt để bảo vệ tệp trong lưu trữ, sao lưu và hệ thống nội bộ.

Mã hóa phía máy chủ thực sự bảo vệ chống lại điều gì?

Mã hóa phía máy chủ chủ yếu bảo vệ khi ai đó có được quyền truy cập thô vào nơi lưu trữ (như bucket bị lộ, ổ đĩa bị đánh cắp hoặc sao lưu bị phơi bày). Nó không ngăn ai đó có quyền truy cập backend hoặc khoá giải mã khỏi giải mã tệp.

Mã hóa phía khách hàng thực sự bảo vệ chống lại điều gì?

Mã hóa phía khách hàng hữu ích nhất khi máy chủ, quản trị viên hoặc tài khoản cloud của bạn có thể bị xâm phạm, vì máy chủ chỉ lưu các blob được mã hóa. Nó không giúp nếu thiết bị của người dùng bị nhiễm hoặc nếu người dùng chia sẻ tệp đã giải mã.

Làm thế nào để xử lý đặt lại mật khẩu và mất thiết bị với mã hóa phía khách hàng?

Nếu bạn không có kế hoạch khôi phục, người dùng có thể mất quyền truy cập vĩnh viễn sau khi mất thiết bị, đặt lại trình duyệt hoặc quên cụm mật khẩu. Một mặc định an toàn là thiết kế phương pháp khôi phục rõ ràng (như khoá khôi phục hoặc luồng ủy quyền lưu kho) và giải thích thỏa hiệp một cách trung thực.

Lựa chọn mã hóa ảnh hưởng thế nào đến việc chia sẻ tệp với đồng nghiệp?

Mã hóa phía máy chủ giữ việc chia sẻ chủ yếu là về quyền truy cập, vì máy chủ có thể giải mã cho người dùng được phép. Mã hóa phía khách hàng thường yêu cầu chia sẻ khoá và quy tắc thu hồi khoá, điều này làm tăng độ phức tạp khi truy cập nhóm và offboarding.

Mã hóa phía khách hàng có làm hỏng OCR và tìm kiếm toàn văn không?

Thông thường là có, vì OCR và tìm kiếm toàn văn cần đọc nội dung tài liệu. Với mã hóa phía khách hàng, bạn hoặc phải thực hiện công việc đó trên thiết bị (khó hỗ trợ hơn) hoặc chấp nhận tìm kiếm hạn chế (ví dụ tên tệp và thẻ).

Cách tốt nhất để lưu trữ ảnh hộ chiếu hoặc giấy phép lái xe là gì?

Ưu tiên mặc định là mã hóa phía máy chủ kèm quyền nghiêm ngặt, thời hạn lưu ngắn và kiểm toán mạnh nếu nhân viên cần xem ID nhanh. Chỉ cân nhắc mã hóa phía khách hàng nếu nhân viên thực sự không bao giờ được phép xem ID, và bạn có một luồng xác minh thay thế.

Tôi nên xử lý hợp đồng khác với các loại tài liệu khác như thế nào?

Nếu bạn cần quy trình làm việc nhóm (đánh giá, phê duyệt, lịch sử kiểm toán, xem trước), mã hóa phía máy chủ thường là cơ sở thực tế. Nếu đó là kho riêng cho một nhóm nhỏ, mã hóa phía khách hàng có thể hoạt động, nhưng hãy mong đợi ma sát bổ sung cho truy cập và chia sẻ.

Một cách đơn giản để quyết định mô hình mã hóa cho ứng dụng của tôi là gì?

Bắt đầu bằng cách liệt kê ai cần mở từng loại tài liệu và ai không được phép mở, ngay cả khi có quyền admin. Sau đó quyết định nơi cho phép giải mã (server, client hoặc cả hai), định nghĩa thời hạn lưu và đảm bảo nhật ký của bạn ghi lại sự kiện xem và tải xuống.

Dễ dàng bắt đầu
Tạo thứ gì đó tuyệt vời

Thử nghiệm với AppMaster với gói miễn phí.
Khi bạn sẵn sàng, bạn có thể chọn đăng ký phù hợp.

Bắt đầu