Kanały dwukierunkowe w TLS (Transport Layer Security) i SSH (Secure Shell) obsługują szyfrowanie i deszyfrowanie danych w następujący sposób:
TLS (bezpieczeństwo warstwy transportowej)
1. Wymiana kluczy: TLS wykorzystuje protokół wymiany kluczy do bezpiecznej wymiany kluczy kryptograficznych pomiędzy klientem a serwerem. Ta wymiana kluczy jest dwukierunkowa, ponieważ obie strony wysyłają i odbierają klucze.
2. Szyfrowanie danych: Po zakończeniu wymiany kluczy klient i serwer używają ustalonych kluczy kryptograficznych do szyfrowania i deszyfrowania danych. Ten proces szyfrowania i deszyfrowania jest również dwukierunkowy, ponieważ obie strony wysyłają i odbierają zaszyfrowane dane.
3. Uzgadnianie: Uzgadnianie TLS to proces, podczas którego klient i serwer ustanawiają bezpieczne połączenie. Podczas tego procesu wymieniają wiadomości zawierające numer wersji, liczby losowe i klucze kryptograficzne. Uścisk dłoni jest procesem dwukierunkowym, w którym obie strony wysyłają i odbierają dane.
SSH (bezpieczna powłoka)
1. Wymiana kluczy: SSH wykorzystuje protokół wymiany kluczy do bezpiecznej wymiany kluczy kryptograficznych pomiędzy klientem a serwerem. Ta wymiana kluczy jest dwukierunkowa, ponieważ obie strony wysyłają i odbierają klucze.
2. Szyfrowanie danych: Po zakończeniu wymiany kluczy klient i serwer używają ustalonych kluczy kryptograficznych do szyfrowania i deszyfrowania danych. Ten proces szyfrowania i deszyfrowania jest również dwukierunkowy, ponieważ obie strony wysyłają i odbierają zaszyfrowane dane.
3. Uwierzytelnianie: SSH do uwierzytelniania wykorzystuje kryptografię klucza publicznego. Klient i serwer wymieniają klucze publiczne i używają ich do wzajemnego uwierzytelniania. Ten proces uwierzytelniania jest również dwukierunkowy, ponieważ obie strony wysyłają i odbierają wiadomości uwierzytelniające.
4. Utworzenie kanału: SSH ustanawia wiele kanałów dla różnych typów danych, takich jak sesja, X11, forwarded-tcpip i direct-tcpip. Każdy kanał jest szyfrowany i deszyfrowany osobno, co zapewnia ochronę danych podczas transmisji.
Kluczowe punkty
- Zarówno TLS, jak i SSH wykorzystują kanały dwukierunkowe do bezpiecznej komunikacji.
- W obu protokołach procesy wymiany kluczy, szyfrowania i deszyfrowania danych są dwukierunkowe.
- Procesy uzgadniania i uwierzytelniania w TLS i SSH są również dwukierunkowe.
- SSH ustanawia wiele kanałów dla różnych typów danych, które są oddzielnie szyfrowane i deszyfrowane.
[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_Bilateral_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