Tất cả bài viết
Bảo mật10 phút đọc

Mã hóa đầu cuối là gì và thực sự bảo vệ được những gì?

Gần như dịch vụ nào cũng nói “file của bạn được mã hóa”. Chỉ mã hóa đầu cuối giữ file ở dạng không đọc được với chính dịch vụ đó. Đây là cách nó hoạt động, bằng lời dễ hiểu, trên ứng dụng nhắn tin lẫn khi gửi file, và những giới hạn cần biết.

Bởi Đội ngũ Transfr

Mã hóa đầu cuối (end-to-end encryption, E2EE) nghĩa là tin nhắn hay file được mã hóa ngay trên thiết bị của bạn trước khi rời đi, và chỉ những người giữ khóa mới giải mã được, không bao giờ là dịch vụ lưu trữ và chuyển phát nó. Các dịch vụ “có mã hóa” thông thường bảo vệ dữ liệu trên đường truyền và trên ổ đĩa của họ, nhưng chính họ giữ khóa; với mã hóa đầu cuối, họ chỉ nhìn thấy một chuỗi dữ liệu bị xáo trộn.

Khác biệt nghe có vẻ kỹ thuật, nhưng nó quyết định ai đọc được dữ liệu của bạn khi máy chủ bị tấn công, khi một nhân viên tò mò, hay khi có yêu cầu truy cập dữ liệu. Bài này giải thích ba kiểu mã hóa thường được quảng cáo, mã hóa đầu cuối hoạt động thế nào trên Messenger, WhatsApp và khi gửi file, và những giới hạn thực tế của nó.

Ba kiểu mã hóa, so sánh nhanh

Mỗi lớp mã hóa bảo vệ điều gì
KiểuBảo vệ cái gìAi giữ khóaDịch vụ có đọc được không?
Khi truyền (TLS, biểu tượng ổ khóa trên trình duyệt)Dữ liệu khi đang đi trên mạngTrình duyệt và máy chủ, theo từng phiênCó, khi dữ liệu đã tới nơi
Khi lưu trữ (ví dụ AES-256 trên ổ đĩa)Dữ liệu nằm trên ổ đĩa của nhà cung cấpNhà cung cấpCó
Đầu cuốiDữ liệu ở mọi nơi ngoài thiết bị người gửi và người nhậnChỉ những người có khóaKhông

Mã hóa khi truyền dựa trên TLS, hiện là TLS 1.3 (RFC 8446), chống nghe lén trên đường mạng. Mã hóa khi lưu trữ chống việc ai đó lấy cắp ổ đĩa. Cả hai đều là tiêu chuẩn và đáng có, nhưng trong cả hai trường hợp dịch vụ vẫn giải mã được dữ liệu vì họ quản lý khóa. Mã hóa đầu cuối thêm một lớp bên trên mà dịch vụ không thể gỡ bỏ.

Mã hóa đầu cuối trên Messenger là gì? Vì sao có người bị mất tin nhắn?

Meta thông báo vào tháng 12/2023 rằng các cuộc trò chuyện cá nhân trên Messenger bắt đầu được mã hóa đầu cuối theo mặc định, triển khai dần cho người dùng. Nghĩa là nội dung cuộc trò chuyện riêng chỉ đọc được trên thiết bị của những người trong cuộc, Meta cũng không đọc được.

Hệ quả mà nhiều người gặp: vì máy chủ không đọc được tin nhắn, lịch sử trò chuyện cần được sao lưu theo cách riêng. Theo giải thích của Meta (tháng 3/2024), Messenger có tính năng lưu trữ an toàn, bảo vệ bằng mã PIN 6 chữ số hoặc khóa lưu trên Google Drive hay iCloud. Nếu không thiết lập, tin nhắn có thể mất theo thiết bị khi bạn đổi hoặc mất điện thoại. Đó là lý do câu hỏi “mã hóa đầu cuối Messenger bị mất tin nhắn” xuất hiện nhiều: đừng quên mã PIN, và bật sao lưu trước khi đổi máy.

WhatsApp, Telegram, Viber và Zalo có mã hóa đầu cuối không?

Theo trang chính thức của từng ứng dụng, tính đến tháng 10/2026
Ứng dụngMã hóa đầu cuối
WhatsAppMặc định cho tin nhắn, cuộc gọi, ảnh, video, file, tin nhắn thoại và nhóm; sao lưu mã hóa đầu cuối là tùy chọn
MessengerMặc định cho cuộc trò chuyện cá nhân, triển khai dần từ tháng 12/2023
TelegramChỉ trong “bí mật” (secret chat); trò chuyện thường được mã hóa giữa máy khách và máy chủ
ViberTự động cho trò chuyện 1-1, nhóm và cuộc gọi 1-1; không áp dụng cho cộng đồng, kênh, bot, gọi nhóm
ZaloTrung tâm trợ giúp chính thức (help.zalo.me) chưa có bài hướng dẫn về tính năng này tính đến tháng 10/2026; hãy kiểm tra trong phần tùy chọn của từng cuộc trò chuyện trên ứng dụng

Dù ứng dụng nào, mã hóa đầu cuối chỉ bảo vệ nội dung trên đường đi và trên máy chủ. Ảnh hay file đã tải về máy người nhận là file bình thường, và ứng dụng nhắn tin thường nén ảnh, video. Khi cần gửi file gốc dung lượng lớn, một dịch vụ chuyển file có mã hóa đầu cuối là công cụ phù hợp hơn.

Mã hóa đầu cuối hoạt động thế nào khi gửi file?

  1. Bước 1

    Khóa được tạo trong trình duyệt của bạn

    Khi bạn bật mã hóa đầu cuối, trình duyệt tạo một khóa bí mật ngẫu nhiên. Bạn không cần gõ hay nhớ nó.

  2. Bước 2

    File được mã hóa trước khi tải lên

    Từng file được mã hóa ngay trên thiết bị bằng khóa đó, với một thuật toán hiện đại như AES ở chế độ GCM, vốn còn phát hiện được dữ liệu bị sửa đổi.

  3. Bước 3

    Chỉ dữ liệu đã mã hóa được tải lên

    Dịch vụ lưu và chuyển phát dữ liệu mà nó không đọc được.

  4. Bước 4

    Khóa đi kèm trong link

    Khóa được gắn vào link tải sau dấu #. Phần này của URL ở lại trong trình duyệt.

  5. Bước 5

    Trình duyệt người nhận giải mã

    Khi người nhận mở link đầy đủ, trình duyệt tải dữ liệu đã mã hóa về và giải mã ngay trên máy bằng khóa.

Vì sao khóa sau dấu # vẫn giữ được bí mật?

Một địa chỉ web có thể kết thúc bằng fragment, phần nằm sau dấu #. Tiêu chuẩn HTTP (RFC 9110) quy định fragment dành cho xử lý phía máy khách và không được gửi trong yêu cầu: khi người nhận mở link, trình duyệt xin trang từ máy chủ mà không kèm fragment, rồi đọc khóa ngay trên máy. Đây là thiết kế được phổ biến bởi dịch vụ Firefox Send cũ của Mozilla, và cũng là cách mã hóa đầu cuối của Transfr hoạt động.

Mã hóa đầu cuối để làm gì? Nó bảo vệ trước những gì

  • Máy chủ của nhà cung cấp bị xâm nhập: file bị lấy cắp vẫn không đọc được nếu không có khóa.
  • Truy cập từ nội bộ: nhân viên của dịch vụ không mở được file của bạn.
  • Yêu cầu gửi tới nhà cung cấp: dịch vụ không thể giao ra nội dung đọc được mà họ chưa từng có.
  • Cấu hình lưu trữ sai: kể cả khi một kho lưu trữ bị lộ ra ngoài, nội dung vẫn chỉ là dữ liệu đã mã hóa.

Về pháp lý, Luật Bảo vệ dữ liệu cá nhân của Việt Nam (hiệu lực từ 01/01/2026) định nghĩa mã hóa là chuyển dữ liệu sang dạng không nhận biết được nếu không được giải mã, đồng thời nói rõ dữ liệu sau khi mã hóa vẫn là dữ liệu cá nhân; Nghị định 356/2025/NĐ-CP yêu cầu biện pháp mã hóa khi chuyển giao dữ liệu cá nhân nhạy cảm. Ở châu Âu, GDPR cho phép doanh nghiệp không phải báo cho từng người bị ảnh hưởng nếu dữ liệu bị lộ đã được mã hóa đúng cách với khóa chưa bị lộ (Điều 34(3)(a)). Xem bài Nghị định 13, luật mới và việc gửi file.

Mã hóa đầu cuối không bảo vệ được gì?

  • Link bị lộ: ai có link đầy đủ là có khóa.
  • Thiết bị bị nhiễm mã độc: phần mềm độc hại hay tiện ích trình duyệt xấu trên máy người gửi hoặc người nhận có thể thấy file trước khi mã hóa hoặc sau khi giải mã. Chính RFC 9110 lưu ý fragment vẫn hiển thị với các script trong trang.
  • Siêu dữ liệu: tùy dịch vụ, tên file, dung lượng, ngày giờ và địa chỉ email vẫn có thể hiển thị với họ.
  • Những gì người nhận làm tiếp: một khi đã giải mã và lưu lại, file là file bình thường.

Đánh đổi trong thực tế

Vì dịch vụ không đọc được file, nó cũng không làm được nhiều việc với file. Ví dụ trên Transfr, bật mã hóa đầu cuối có nghĩa là:

  • File được mã hóa trong trình duyệt bằng AES-128-GCM, và khóa nằm trong fragment của link. Lớp mã hóa lưu trữ (AES-256 khi lưu trữ) vẫn áp dụng bên dưới.
  • Bản xem trước được tạo trong trình duyệt người nhận sau khi giải mã, với file tối đa 2 GB và chỉ khi link có kèm khóa; file lớn hơn phải tải về.
  • Cấu trúc thư mục không được giữ, lượt tải lên bị gián đoạn không thể tiếp tục sau khi tải lại trang, và file nhập từ Drime không thể mã hóa đầu cuối vì Transfr sao chép chúng giúp bạn.
  • Khóa không bao giờ được lưu trên máy chủ của Transfr. Nhưng mỗi khi Transfr gửi link qua email, cho người nhận hoặc trong email xác nhận gửi cho người gửi đã đăng nhập, trình duyệt của bạn chuyển link đầy đủ kèm khóa cho Transfr để đưa vào email; khóa chỉ dùng cho email đó, rồi email nằm lại trong hộp thư. Để thiết lập chặt nhất, hãy tự sao chép link và gửi qua kênh bạn tin tưởng.

Đó không phải lỗi: chúng là hệ quả trực tiếp của một dịch vụ không nhìn thấy nội dung của bạn. Với việc gửi file hằng ngày, mật khẩu và ngày hết hạn thường là đủ; với tài liệu mật, lớp bảo vệ thêm đáng với những đánh đổi này.

Mã hóa đầu cuối cho lần gửi file tiếp theo

Miễn phí trên Transfr, kết hợp được với mật khẩu và ngày hết hạn. Tối đa 100 GB mỗi lần gửi.

Gửi file mã hóa

Mã hóa đầu cuối khác gì đặt mật khẩu?

Chúng giải quyết hai vấn đề khác nhau và bổ sung cho nhau. Mật khẩu kiểm soát ai mở được trang tải file; dịch vụ kiểm tra mật khẩu, nên về lý thuyết dịch vụ vẫn truy cập được file. Mã hóa đầu cuối kiểm soát ai đọc được nội dung, kể cả dịch vụ. Kết hợp cả hai, một link bị lộ thôi là chưa đủ, và nhà cung cấp không bao giờ thấy nội dung. Bài tạo link có mật khẩu và hạn dùng hướng dẫn chọn mật khẩu và thời hạn.

Khi nào nên dùng mã hóa đầu cuối?

Tình huốngCó nên dùng mã hóa đầu cuối?
Ảnh du lịch gửi gia đìnhTùy chọn
Sản phẩm giao khách (thiết kế, video)Nên dùng với sản phẩm chưa công bố
Hợp đồng, bảng lương, ảnh căn cướcCó
Hồ sơ y tế, pháp lý, tài chínhCó, kèm mật khẩu và hạn dùng ngắn
Mã nguồn, kế hoạch sản phẩm, tài liệu sáp nhậpCó

Ngoài ứng dụng nhắn tin, các dịch vụ như Proton Drive, Tresorit Send và Wormhole cũng mã hóa file trong trình duyệt trước khi tải lên. Ngược lại, các dịch vụ lưu trữ đám mây phổ biến thường mã hóa khi truyền và khi lưu trữ bằng khóa do nhà cung cấp quản lý. Bài trang web gửi file lớn miễn phí ghi rõ dịch vụ nào có mã hóa đầu cuối miễn phí, và trang dành cho văn phòng luật cho thấy giới chuyên môn kết hợp nó với mật khẩu và hạn dùng ngắn ra sao.

Làm sao biết một dịch vụ thật sự mã hóa đầu cuối?

  • Việc mã hóa phải diễn ra trước khi tải lên, trong trình duyệt hoặc ứng dụng của bạn, chứ không phải “trên máy chủ bảo mật của chúng tôi”.
  • Dịch vụ phải nói rõ họ không lưu khóa; hãy tìm khóa trong fragment của link hoặc được tạo từ một bí mật chỉ bạn biết, và kiểm tra điều gì xảy ra khi họ gửi link qua email giúp bạn.
  • Nếu dịch vụ hiển thị được bản xem trước hay quét được file đã mã hóa ngay trên máy chủ mà không cần khóa, đó không phải mã hóa đầu cuối.
  • Hãy tìm mô tả về thuật toán và thiết kế, không chỉ câu “bảo mật cấp ngân hàng”.

Để có bộ thói quen đầy đủ hơn, từ mật khẩu đến việc ai nên nhận gì, xem checklist gửi file an toàn và trang chuyển file bảo mật.

Gửi tệp lớn miễn phí

  • Tới 100 GB mỗi lần chuyển
  • Không cần tài khoản
  • Mã hóa và lưu trữ tại châu Âu
Gửi tệp ngay

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

Hướng dẫn liên quan

Sẵn sàng gửi tệp của bạn?

Thả tệp vào, nhận liên kết, người nhận tải về bản gốc. Miễn phí tới 100 GB mỗi lần chuyển, không cần đăng ký.