TLS (Transport Layer Security) og SSH (Secure Shell) er protokoller fra den virkelige verden, der bruger tovejskanaler til sikker kommunikation. Sådan bruger de tovejskanaler:
TLS (Transport Layer Security)
TLS er en kryptografisk protokol, der bruges til sikker kommunikation over internettet. Den bruger tovejskanaler til at sikre fortroligheden og integriteten af data, der udveksles mellem en klient og en server.
1. Handshake: TLS-håndtrykket er en proces, hvor klienten og serveren etablerer en sikker forbindelse. Under denne proces udveksler de meddelelser, der inkluderer versionsnummeret, tilfældige tal og kryptografiske nøgler. Dette håndtryk er en tovejsproces, hvor begge parter sender og modtager data.
2. Datakryptering: Når håndtrykket er afsluttet, bruger klienten og serveren de etablerede kryptografiske nøgler til at kryptere og dekryptere data. Denne krypterings- og dekrypteringsproces er også tovejs, da begge parter sender og modtager krypterede data.
3. Nøgleudveksling: TLS bruger en nøgleudvekslingsprotokol til sikker udveksling af kryptografiske nøgler mellem klienten og serveren. Denne nøgleudveksling er også tovejs, da begge parter sender og modtager nøgler.
SSH (Secure Shell)
SSH er en sikker fjernadgangsprotokol, der giver brugerne mulighed for sikkert at få adgang til og administrere fjernservere. Den bruger tovejskanaler til sikker kommunikation mellem klienten og serveren.
1. Initial Connection: SSH-klienten starter en forbindelse til serveren ved at sende en anmodning om at etablere en sikker forbindelse. Serveren svarer med en besked, der inkluderer dens offentlige nøgle og andre oplysninger. Denne indledende forbindelse er en tovejsproces, hvor begge parter sender og modtager data.
2. Godkendelse: Efter den første forbindelse er etableret, godkender klienten og serveren hinanden ved hjælp af offentlig nøglekryptering. Denne godkendelsesproces er også tovejsbestemt, da begge parter sender og modtager godkendelsesmeddelelser.
3. Datakryptering: Når klienten og serveren er autentificeret, bruger de en delt hemmelig nøgle til at kryptere og dekryptere data. Denne krypterings- og dekrypteringsproces er også tovejs, da begge parter sender og modtager krypterede data.
I både TLS og SSH bruges tovejskanaler til at sikre fortroligheden og integriteten af data, der udveksles mellem klienten og serveren. Disse protokoller bruger tovejskanaler til at etablere sikre forbindelser, udveksle kryptografiske nøgler og kryptere og dekryptere data.
Citater:[1] https://tosc.iacr.org/index.php/ToSC/article/view/602/543
[2] https://www.scaler.com/topics/golang/directional-channel-in-golang/
[3] https://blog.devtrovert.com/p/go-channels-explained-more-than-just
[4] https://www.naukri.com/code360/library/directional-channel-in-golang
[5] https://eprint.iacr.org/2017/161.pdf