Bảo mật tầng vận chuyển (Transport Layer Security - TLS) là giao thức được sử dụng rộng rãi nhất cho các kênh an toàn. Nó cung cấp xác thực lẫn nhau giữa máy khách và máy chủ và đảm bảo tính bảo mật và tính toàn vẹn của các thông điệp bằng cách hỗ trợ các bộ mật mã khác nhau. TLS có thể được chia thành hai giao thức: giao thức bắt tay (Handshake) và giao thức ghi (Record).
Hình 1. Giao thức bắt tay TLS
- Giao thức bắt tay TLS (Handshake): Để thương lượng bộ mật mã được sử dụng trong giao thức bản ghi và để cung cấp cơ chế xác thực lẫn nhau giữa máy khách và máy chủ, giao thức bắt tay phải được chạy trước khi gửi hoặc nhận dữ liệu được mã hóa thông qua giao thức bản ghi. Để đơn giản, chúng tôi xem xét xác thực một chiều, trong đó chỉ yêu cầu xác thực máy chủ, đây là quy trình xác thực trên thực tế. Hình 1 mô tả giao thức bắt tay TLS chung với giao thức trao đổi khóa RSA.
- Giao thức bản ghi TLS (Record): Sau giao thức bắt tay và dẫn xuất khóa Session, giao thức bản ghi được tuân theo, nơi dữ liệu có thể được trao đổi dưới dạng mã hóa bằng các dẫn xuất khóa Session. Trong giao thức bản ghi, các khối dữ liệu bản rõ được dịch thành các đoạn văn bản rõ, sau đó được dịch thành các đoạn bản mã bằng cách sử dụng các hàm mã hóa và MAC. Trong quy trình này, các đặc tả TLS hỗ trợ ba chế độ mật mã (được chọn trong giao thức bắt tay): StreamCipher, BlockCipher và AEADCipher.
Tuy nhiên, tính bảo mật của TLS còn nhiều nghi vấn. Hiện tại, TLS mắc phải một số lỗ hổng như HeartBleed, SLOTH, DROWN, POODLE, FREAK, BEAST, Lucky Thirteen và Logjam.
Tài liệu tham khảo
1. H. Kwon, H. Nam, S. Lee, C. Hahn and J. Hur, "(In-)Security of Cookies in HTTPS: Cookie Theft by Removing Cookie Flags," in IEEE Transactions on Information Forensics and Security, vol. 15, pp. 1204-1215, 2020, doi: 10.1109/TIFS.2019.2938416.