Mutual TLS (mTLS) là một cơ chế bảo mật thiết lập một kênh liên lạc hai chiều được xác thực và tin cậy giữa máy khách (client) và máy chủ (server). Đây là một phần mở rộng của giao thức Transport Layer Security (TLS) tiêu chuẩn, nơi thường chỉ có máy khách xác thực máy chủ.


So Sánh TLS Tiêu Chuẩn Và Mutual TLS

Tính năngTLS một chiều (Standard 1-Way TLS)TLS hai chiều (Mutual 2-Way TLS)
Xác thựcMáy khách xác minh danh tính máy chủ bằng cách kiểm tra chứng chỉ TLS của nó.Máy khách xác minh máy chủ, VÀ máy chủ xác minh danh tính máy khách bằng cách kiểm tra chứng chỉ của máy khách.
Phép so sánhBạn kiểm tra biển hiệu chính thức của ngân hàng để đảm bảo đó là một chi nhánh hợp pháp trước khi vào.Bạn kiểm tra biển hiệu của ngân hàng, và nhân viên bảo vệ của ngân hàng kiểm tra giấy tờ tùy thân của bạn trước khi cho phép bạn vào kho tiền.
Ứng dụng phổ biếnCác trang web công cộng, thương mại điện tử, blog.Các API an toàn, giao tiếp B2B, ứng dụng ngân hàng, xác thực thiết bị IoT.

Quy Trình Bắt Tay (Handshake) Của mTLS

Việc xác thực mTLS diễn ra trong quá trình bắt tay TLS. Các bước bổ sung quan trọng là:

  1. Client Hello: Máy khách khởi tạo kết nối.
  2. Server Hello & Server Certificate: Máy chủ phản hồi và cung cấp chứng chỉ của mình. Máy khách xác minh nó.
  3. CertificateRequest (Bước quan trọng của mTLS): Máy chủ gửi một thông điệp CertificateRequest, yêu cầu máy khách cung cấp chứng chỉ của riêng mình. Máy chủ cũng có thể chỉ định những Tổ chức phát hành chứng chỉ (CA) mà nó tin tưởng.
  4. Client Certificate & CertificateVerify:
    • Máy khách gửi chứng chỉ của mình (nếu có).
    • Để chứng minh mình sở hữu chứng chỉ, máy khách dùng khóa riêng tư (private key) của mình để ký vào một đoạn dữ liệu từ quá trình bắt tay và gửi chữ ký đó trong thông điệp CertificateVerify.
  5. Xác minh phía Máy chủ: Máy chủ sử dụng khóa công khai (public key) từ chứng chỉ của máy khách để xác thực chữ ký. Nó cũng kiểm tra xem chứng chỉ có hợp lệ và được cấp bởi một CA đáng tin cậy hay không.
  6. Kết nối an toàn: Nếu cả hai quá trình xác thực đều thành công, việc bắt tay hoàn tất và một kênh được mã hóa được thiết lập. Nếu máy khách không cung cấp được chứng chỉ hợp lệ, máy chủ sẽ chấm dứt kết nối.

Quy trình này đảm bảo rằng chỉ những máy khách có chứng chỉ hợp lệ đã được phê duyệt trước mới có thể kết nối, cung cấp một lớp bảo mật mạnh mẽ theo mô hình zero-trust.