TLS (Transport Layer Security) in SSH (Secure Shell) sta protokola v resničnem svetu, ki za varno komunikacijo uporabljata dvosmerne kanale. Takole uporabljajo dvosmerne kanale:
TLS (Transport Layer Security)
TLS je kriptografski protokol, ki se uporablja za varno komunikacijo prek interneta. Uporablja dvosmerne kanale za zagotavljanje zaupnosti in celovitosti podatkov, izmenjanih med odjemalcem in strežnikom.
1. Rokovanje: Rokovanje TLS je proces, pri katerem odjemalec in strežnik vzpostavita varno povezavo. Med tem procesom si izmenjujejo sporočila, ki vključujejo številko različice, naključna števila in kriptografske ključe. To rokovanje je dvosmeren proces, kjer obe strani pošiljata in prejemata podatke.
2. Šifriranje podatkov: Ko je rokovanje končano, odjemalec in strežnik uporabita vzpostavljene kriptografske ključe za šifriranje in dešifriranje podatkov. Ta postopek šifriranja in dešifriranja je tudi dvosmeren, saj obe strani pošiljata in prejemata šifrirane podatke.
3. Izmenjava ključev: TLS uporablja protokol za izmenjavo ključev za varno izmenjavo kriptografskih ključev med odjemalcem in strežnikom. Ta izmenjava ključev je tudi dvosmerna, saj obe strani pošiljata in prejemata ključe.
SSH (varna lupina)
SSH je varen protokol za oddaljeni dostop, ki uporabnikom omogoča varen dostop in upravljanje oddaljenih strežnikov. Za varno komunikacijo med odjemalcem in strežnikom uporablja dvosmerne kanale.
1. Začetna povezava: Odjemalec SSH vzpostavi povezavo s strežnikom tako, da pošlje zahtevo za vzpostavitev varne povezave. Strežnik se odzove s sporočilom, ki vključuje njegov javni ključ in druge informacije. Ta začetna povezava je dvosmeren proces, kjer obe strani pošiljata in prejemata podatke.
2. Preverjanje pristnosti: Ko je vzpostavljena začetna povezava, se odjemalec in strežnik overita drug drugega s kriptografijo z javnim ključem. Ta postopek preverjanja pristnosti je tudi dvosmeren, saj obe strani pošiljata in prejemata sporočila za preverjanje pristnosti.
3. Šifriranje podatkov: Ko sta odjemalec in strežnik overjena, uporabljata skrivni ključ v skupni rabi za šifriranje in dešifriranje podatkov. Ta postopek šifriranja in dešifriranja je tudi dvosmeren, saj obe strani pošiljata in prejemata šifrirane podatke.
Tako v TLS kot SSH se dvosmerni kanali uporabljajo za zagotavljanje zaupnosti in celovitosti podatkov, izmenjanih med odjemalcem in strežnikom. Ti protokoli uporabljajo dvosmerne kanale za vzpostavitev varnih povezav, izmenjavo kriptografskih ključev ter šifriranje in dešifriranje podatkov.
Citati:[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