Двонаправлені канали в TLS (Transport Layer Security) і SSH (Secure Shell) обробляють шифрування та дешифрування даних наступним чином:
TLS (Transport Layer Security)
1. Обмін ключами: TLS використовує протокол обміну ключами для безпечного обміну криптографічними ключами між клієнтом і сервером. Цей обмін ключами є двонаправленим, оскільки обидві сторони надсилають і отримують ключі.
2. Шифрування даних: після завершення обміну ключами клієнт і сервер використовують встановлені криптографічні ключі для шифрування та дешифрування даних. Цей процес шифрування та дешифрування також є двонаправленим, оскільки обидві сторони надсилають і отримують зашифровані дані.
3. Рукостискання: рукостискання TLS – це процес, під час якого клієнт і сервер встановлюють безпечне з’єднання. Під час цього процесу вони обмінюються повідомленнями, які містять номер версії, випадкові числа та криптографічні ключі. Це рукостискання є двонаправленим процесом, коли обидві сторони надсилають і отримують дані.
SSH (Secure Shell)
1. Обмін ключами: SSH використовує протокол обміну ключами для безпечного обміну криптографічними ключами між клієнтом і сервером. Цей обмін ключами є двонаправленим, оскільки обидві сторони надсилають і отримують ключі.
2. Шифрування даних: після завершення обміну ключами клієнт і сервер використовують встановлені криптографічні ключі для шифрування та дешифрування даних. Цей процес шифрування та дешифрування також є двонаправленим, оскільки обидві сторони надсилають і отримують зашифровані дані.
3. Автентифікація: SSH використовує криптографію з відкритим ключем для автентифікації. Клієнт і сервер обмінюються відкритими ключами та використовують їх для автентифікації один одного. Цей процес автентифікації також є двонаправленим, оскільки обидві сторони надсилають і отримують повідомлення автентифікації.
4. Встановлення каналу: SSH встановлює кілька каналів для різних типів даних, таких як сеанс, X11, forwarded-tcpip і direct-tcpip. Кожен канал шифрується та розшифровується окремо, що забезпечує захист даних під час передачі.
Ключові моменти
- І TLS, і SSH використовують двонаправлені канали для безпечного зв’язку.
- Процеси обміну ключами, шифрування даних і дешифрування є двонаправленими в обох протоколах.
- Процеси рукостискання та автентифікації в TLS і SSH також є двонаправленими.
- SSH встановлює кілька каналів для різних типів даних, які шифруються та розшифровуються окремо.
[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