Mã hóa đầu cuối (E2EE) là gì

Triều Tô5 phút đọc
Nội dung bài7 phần
  1. Ba mức bảo vệ khác nhau
  2. Hai thiết bị thỏa thuận khóa
  3. Double Ratchet: đổi khóa liên tục
  4. E2EE không bảo vệ điều gì
  5. Cách làm: dùng E2EE an toàn
  6. Học tiếp trong khoá Crypto
  7. Câu hỏi thường gặp

Độ khó: Người mới

Khi bạn nhắn tin, nội dung đi qua nhiều máy chủ trước khi đến người nhận. Mã hóa đầu cuối (end-to-end encryption, E2EE) nghĩa là tin nhắn được mã hóa ngay trên thiết bị người gửi và chỉ giải mã trên thiết bị người nhận. Máy chủ ở giữa chỉ thấy dữ liệu đã xáo trộn.

Nội dung chỉ nhằm giải thích kiến thức, không phải khuyến nghị đầu tư.

Điểm chính

  • E2EE khác mã hóa thông thường ở chỗ chìa khóa giải mã chỉ nằm ở hai đầu, không nằm ở máy chủ.
  • Hai đầu có thể thỏa thuận được khóa chung ngay trên đường truyền công khai nhờ trao đổi khóa Diffie-Hellman (1976).
  • WhatsApp công bố ngày 05/04/2016 là mọi cuộc gọi và tin nhắn đều mã hóa đầu cuối theo mặc định.
  • E2EE không cứu được thiết bị đã nhiễm mã độc. Đừng gửi seed phrase qua bất kỳ ứng dụng nào.

Ba mức bảo vệ khác nhau

Mức

Ai đọc được nội dung

Ví dụ

Không mã hóa

Mọi bên trên đường truyền

Thư gửi như bưu thiếp

Mã hóa đường truyền

Máy chủ của dịch vụ đọc được, người ngoài thì không

Trang web có khóa HTTPS

Mã hóa đầu cuối

Chỉ hai thiết bị đầu cuối

Ứng dụng nhắn tin dùng E2EE

So sánh mã hóa đường truyền với mã hóa đầu cuối
Mã hóa đường truyền để máy chủ đọc được, mã hóa đầu cuối chỉ hai thiết bị đọc được

Phil Zimmermann, người tạo ra PGP, ví mã hóa như phong bì: nếu ai cũng dùng phong bì, người dùng nó sẽ không bị coi là đáng ngờ. E2EE là phong bì mà ngay cả người đưa thư cũng không mở được.

Hai thiết bị thỏa thuận khóa

Vấn đề: hai người chưa từng gặp, chỉ nói chuyện qua kênh công khai, làm sao có chung một khóa bí mật? Năm 1976 Whitfield Diffie và Martin Hellman đưa ra lời giải.

Ví dụ số, rất nhỏ nên không an toàn thật, chỉ để thấy ý tưởng. Hai số công khai: p = 23, g = 5.

Bước

Lan

Bình

1. Mỗi người chọn một số bí mật

a = 4

b = 3

2. Mỗi người tính và gửi công khai

A = 5⁴ mod 23 = 4

B = 5³ mod 23 = 10

3. Mỗi người tính khóa chung từ số nhận được

10⁴ mod 23 = 18

4³ mod 23 = 18

Hai bên thỏa thuận khóa chung 18 bằng Diffie-Hellman
Chỉ số công khai được gửi đi, người nghe lén không tính ngược ra khóa chung

Cả hai ra số 18 mà chưa từng gửi 18 cho nhau. Người nghe lén chỉ thấy 23, 5, 4 và 10. Với số rất lớn, từ những số đó tính ngược ra khóa chung là bất khả thi thực tế.

Double Ratchet: đổi khóa liên tục

Một khóa chung cố định có rủi ro: lộ một lần là lộ cả cuộc trò chuyện. Thuật toán Double Ratchet của Signal, do Trevor Perrin và Moxie Marlinspike viết, đổi khóa liên tục sau mỗi tin nhắn. Đặc tả mô tả hai tính chất:

  • Forward secrecy (bí mật về phía trước): các khóa trong quá khứ trông ngẫu nhiên với kẻ chỉ biết khóa hiện tại, nên tin nhắn cũ vẫn an toàn.
  • Post-compromise security (hồi phục sau xâm nhập): nếu một khóa bị lộ, các khóa tương lai vẫn được bảo vệ, miễn là các lần trao đổi sau có thêm dữ liệu ngẫu nhiên mới.

Ví dụ số đơn giản: cuộc trò chuyện có 100 tin nhắn. Nếu dùng một khóa chung, lộ khóa là lộ 100 tin. Nếu mỗi tin một khóa, lộ khóa của tin thứ 60 chỉ ảnh hưởng tin đó, không kéo theo 99 tin còn lại.

E2EE không bảo vệ điều gì

  • Thiết bị đã nhiễm mã độc: nếu có keylogger hoặc phần mềm chụp màn hình, kẻ tấn công đọc nội dung trước khi nó được mã hóa hoặc sau khi giải mã.
  • Lừa đảo người dùng: bạn có thể tự gửi thông tin nhạy cảm cho một người giả mạo. Xem social engineering và phishing.
  • Siêu dữ liệu: dịch vụ vẫn có thể biết bạn nhắn cho ai và lúc nào, tùy thiết kế từng ứng dụng.
  • Bản sao lưu: tin nhắn nằm trong bản sao lưu không mã hóa thì hết ý nghĩa của E2EE.
  • Mạng công cộng: E2EE bảo vệ nội dung, nhưng thiết bị kết nối mạng lạ vẫn có rủi ro riêng, xem WiFi công cộng.

Cách làm: dùng E2EE an toàn

Checklist:

  • [ ] Dùng ứng dụng nhắn tin bật E2EE theo mặc định cho cuộc trò chuyện nhạy cảm, và kiểm tra cuộc trò chuyện thật sự ở chế độ đó.
  • [ ] Không bao giờ gửi seed phrase, khóa riêng hay mã 2FA qua tin nhắn, kể cả cho người nói là hỗ trợ. Xem trang bảo mật tiền mã hóa.
  • [ ] Đừng chụp màn hình thông tin nhạy cảm nếu ảnh tự động đồng bộ lên dịch vụ lưu trữ khác.
  • [ ] Khóa màn hình thiết bị, cập nhật hệ điều hành và ứng dụng.
  • [ ] Nếu ứng dụng có tính năng xác minh mã bảo mật giữa hai người, hãy đối chiếu qua kênh khác khi cần chắc chắn người đối diện là thật.

Học tiếp trong khoá Crypto

Các bài học liên quan trong Khoá học Crypto của HODL.VN:

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

E2EE khác mã hóa HTTPS thế nào?

HTTPS mã hóa giữa bạn và máy chủ, nhưng máy chủ đọc được nội dung. E2EE mã hóa giữa hai người dùng, máy chủ không có khóa.

Nếu dịch vụ nói họ dùng E2EE, có thể tin hoàn toàn không?

Không nên tin tuyệt đối. Điều đáng quan tâm là E2EE có bật mặc định không, có được kiểm tra độc lập không, và phần sao lưu có được bảo vệ không. WhatsApp tự công bố đã bật mặc định từ 04/2016.

E2EE có che việc bạn đang nói chuyện với ai không?

Không phải lúc nào cũng che. Nội dung được bảo vệ, nhưng siêu dữ liệu có thể vẫn lộ tùy dịch vụ.

E2EE có liên quan gì đến blockchain?

Cùng nền tảng mật mã khóa công khai, nhưng khác mục tiêu. E2EE giữ bí mật tin nhắn, còn blockchain công khai dữ liệu giao dịch. Việc giữ riêng tư dữ liệu trên chuỗi là chủ đề của giao dịch bí mật.

Duyệt bởi Ban biên tập HODL.VN · Cập nhật 09/11/2026

Ứng dụng HODL

Tải app HODL

Bảng giá, cảnh báo giá và bài phân tích ngay trên điện thoại.

Watchlist

Đang tải…