Bảo mật Dữ liệu khi Truyền tải
Transport Layer Security (TLS) và người tiền nhiệm của nó, Secure Socket Layer (SSL), là các giao thức mã hóa nhằm bảo vệ an toàn cho các giao tiếp qua mạng máy tính. Trong thực tế, SSL thường được dùng để chỉ cả hai giao thức này.
TLS đảm nhận hai chức năng chính:
Trong thực tế, SSL/TLS là ví dụ phổ biến nhất về xác thực ngang hàng (peer authentication) dựa trên chứng chỉ. SSL được Netscape phát triển từ những năm 1990 để đảm bảo giao dịch an toàn giữa trình duyệt và máy chủ web – điều cần thiết cho thương mại điện tử trên Internet.
Dù SSL đã trở thành tiêu chuẩn thực tế (de facto) trong một thời gian dài, nó đã bị thay thế bởi TLS, được tiêu chuẩn hóa bởi IETF:
Ngày nay, các hệ thống hiện đại sử dụng TLS, nhưng thuật ngữ "SSL" vẫn được dùng thay thế lẫn nhau bởi dân IT.
🔐 Cách hoạt động của TLS – TLS Handshake
TLS bắt đầu phiên truyền thông an toàn bằng một quy trình gọi là bắt tay TLS (TLS Handshake), gồm 6 bước:
Transport Layer Security (TLS) và người tiền nhiệm của nó, Secure Socket Layer (SSL), là các giao thức mã hóa nhằm bảo vệ an toàn cho các giao tiếp qua mạng máy tính. Trong thực tế, SSL thường được dùng để chỉ cả hai giao thức này.
TLS đảm nhận hai chức năng chính:
- Đảm bảo tính toàn vẹn (integrity) và tính bảo mật (confidentiality) trong quá trình truyền thông qua mạng.
- Sử dụng mã hóa đối xứng (symmetric cryptography) với một khóa dùng chung được thương lượng ngay từ đầu phiên làm việc.
- Ngoài ra, TLS có thể hỗ trợ xác thực (authentication) thông qua mô hình chứng thực khóa công khai (public key authentication) dựa trên chứng chỉ số (digital certificate) – điều này cho phép xác thực từng gói tin trong phiên truyền thông.
Trong thực tế, SSL/TLS là ví dụ phổ biến nhất về xác thực ngang hàng (peer authentication) dựa trên chứng chỉ. SSL được Netscape phát triển từ những năm 1990 để đảm bảo giao dịch an toàn giữa trình duyệt và máy chủ web – điều cần thiết cho thương mại điện tử trên Internet.
Dù SSL đã trở thành tiêu chuẩn thực tế (de facto) trong một thời gian dài, nó đã bị thay thế bởi TLS, được tiêu chuẩn hóa bởi IETF:
- TLS 1.0 được định nghĩa trong RFC 2246 (năm 1999) như một nâng cấp chính thức cho SSL 3.0.
- TLS tiếp tục được cải tiến và phiên bản mới nhất là TLS 1.3, phát hành vào tháng 8/2018 (RFC 8446).
Ngày nay, các hệ thống hiện đại sử dụng TLS, nhưng thuật ngữ "SSL" vẫn được dùng thay thế lẫn nhau bởi dân IT.
🔐 Cách hoạt động của TLS – TLS Handshake
TLS bắt đầu phiên truyền thông an toàn bằng một quy trình gọi là bắt tay TLS (TLS Handshake), gồm 6 bước:
- Client gửi thông điệp ClientHello đề xuất phiên bản TLS cao nhất mà nó hỗ trợ và danh sách các bộ mã hóa (cipher suite) có thể sử dụng.
- Server phản hồi bằng ServerHello, chọn phiên bản TLS cao nhất được hỗ trợ, khởi động tiến trình Diffie-Hellman thông qua ServerKeyExchange, rồi kết thúc bằng ServerHelloDone.
- Client gửi ClientKeyExchange để tiếp tục quá trình trao đổi khóa. Loại giá trị được gửi tùy thuộc vào bộ mã hóa đã chọn.
- Client gửi ChangeCipherSpec báo hiệu bắt đầu phiên truyền thông được mã hóa.
- Server cũng gửi ChangeCipherSpec để xác nhận việc bắt đầu bảo vệ phiên làm việc.
- Giờ đây, ứng dụng có thể trao đổi dữ liệu một cách an toàn.