Các kênh hai chiều trong TLS (Transport Layer Security) và SSH (Secure Shell) xử lý việc mã hóa và giải mã dữ liệu như sau:
TLS (Bảo mật lớp vận chuyển)
1. Trao đổi khóa: TLS sử dụng giao thức trao đổi khóa để trao đổi khóa mật mã một cách an toàn giữa máy khách và máy chủ. Việc trao đổi khóa này là hai chiều, vì cả hai bên đều gửi và nhận khóa.
2. Mã hóa dữ liệu: Sau khi quá trình trao đổi khóa hoàn tất, máy khách và máy chủ sẽ sử dụng các khóa mật mã đã thiết lập để mã hóa và giải mã dữ liệu. Quá trình mã hóa và giải mã này cũng diễn ra hai chiều, vì cả hai bên đều gửi và nhận dữ liệu được mã hóa.
3. Bắt tay: Bắt tay TLS là một quá trình trong đó máy khách và máy chủ thiết lập kết nối an toàn. Trong quá trình này, họ trao đổi tin nhắn bao gồm số phiên bản, số ngẫu nhiên và khóa mật mã. Cái bắt tay này là một quá trình hai chiều, trong đó cả hai bên gửi và nhận dữ liệu.
SSH (Vỏ bảo mật)
1. Trao đổi khóa: SSH sử dụng giao thức trao đổi khóa để trao đổi khóa mật mã một cách an toàn giữa máy khách và máy chủ. Việc trao đổi khóa này là hai chiều, vì cả hai bên đều gửi và nhận khóa.
2. Mã hóa dữ liệu: Sau khi quá trình trao đổi khóa hoàn tất, máy khách và máy chủ sẽ sử dụng các khóa mật mã đã thiết lập để mã hóa và giải mã dữ liệu. Quá trình mã hóa và giải mã này cũng diễn ra hai chiều, vì cả hai bên đều gửi và nhận dữ liệu được mã hóa.
3. Xác thực: SSH sử dụng mật mã khóa công khai để xác thực. Máy khách và máy chủ trao đổi khóa công khai và sử dụng chúng để xác thực lẫn nhau. Quá trình xác thực này cũng mang tính hai chiều, vì cả hai bên đều gửi và nhận tin nhắn xác thực.
4. Thiết lập kênh: SSH thiết lập nhiều kênh cho các loại dữ liệu khác nhau, chẳng hạn như phiên, X11, tcpip chuyển tiếp và tcpip trực tiếp. Mỗi kênh được mã hóa và giải mã riêng biệt, đảm bảo dữ liệu được bảo vệ trong quá trình truyền.
Những điểm chính
- Cả TLS và SSH đều sử dụng kênh hai chiều để liên lạc an toàn.
- Các quá trình trao đổi khóa, mã hóa dữ liệu và giải mã đều diễn ra hai chiều trong cả hai giao thức.
- Quá trình bắt tay và xác thực trong TLS và SSH cũng mang tính hai chiều.
- SSH thiết lập nhiều kênh cho các loại dữ liệu khác nhau, được mã hóa và giải mã riêng biệt.
[1] https://eprint.iacr.org/2017/161.pdf
[2] https://tosc.iacr.org/index.php/ToSC/article/view/602/543
[3] https://www.researchgate.net/publication/346707122_Security_Notions_for_Bidirectional_Channels
[4] https://www.karlin.mff.cuni.cz/~tuma/Vaudenay/prague-ssl_prt.pdf
[5] https://docs.paloaltonetworks.com/pan-os/11-0/pan-os-admin/decryption/decryption-concepts/ssh-proxy