TLS (Transport Layer Security) och SSH (Secure Shell) är verkliga protokoll som använder dubbelriktade kanaler för säker kommunikation. Så här använder de dubbelriktade kanaler:
TLS (Transport Layer Security)
TLS är ett kryptografiskt protokoll som används för säker kommunikation över internet. Den använder dubbelriktade kanaler för att säkerställa konfidentialitet och integritet för data som utbyts mellan en klient och en server.
1. Handskakning: TLS-handskakning är en process där klienten och servern upprättar en säker anslutning. Under denna process utbyter de meddelanden som inkluderar versionsnummer, slumpmässiga nummer och kryptografiska nycklar. Detta handslag är en dubbelriktad process, där båda parter skickar och tar emot data.
2. Datakryptering: När handskakningen är klar använder klienten och servern de etablerade kryptografiska nycklarna för att kryptera och dekryptera data. Denna krypterings- och dekrypteringsprocess är också dubbelriktad, eftersom båda parter skickar och tar emot krypterad data.
3. Key Exchange: TLS använder ett nyckelutbytesprotokoll för att säkert utbyta kryptografiska nycklar mellan klienten och servern. Detta nyckelutbyte är också dubbelriktat, eftersom båda parter skickar och tar emot nycklar.
SSH (Secure Shell)
SSH är ett säkert fjärråtkomstprotokoll som tillåter användare att säkert komma åt och hantera fjärrservrar. Den använder dubbelriktade kanaler för säker kommunikation mellan klienten och servern.
1. Initial anslutning: SSH-klienten initierar en anslutning till servern genom att skicka en begäran om att upprätta en säker anslutning. Servern svarar med ett meddelande som innehåller dess publika nyckel och annan information. Denna initiala anslutning är en dubbelriktad process, där båda parter skickar och tar emot data.
2. Autentisering: Efter att den första anslutningen har upprättats autentiseras klienten och servern varandra med hjälp av kryptering med publik nyckel. Denna autentiseringsprocess är också dubbelriktad, eftersom båda parter skickar och tar emot autentiseringsmeddelanden.
3. Datakryptering: När klienten och servern är autentiserade använder de en delad hemlig nyckel för att kryptera och dekryptera data. Denna krypterings- och dekrypteringsprocess är också dubbelriktad, eftersom båda parter skickar och tar emot krypterad data.
I både TLS och SSH används dubbelriktade kanaler för att säkerställa konfidentialitet och integritet för data som utbyts mellan klienten och servern. Dessa protokoll använder dubbelriktade kanaler för att upprätta säkra anslutningar, utbyta kryptografiska nycklar och kryptera och dekryptera data.
Citat:[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