TLS (Transport Layer Security) a SSH (Secure Shell) jsou protokoly reálného světa, které využívají obousměrné kanály pro zabezpečenou komunikaci. Zde je návod, jak používají obousměrné kanály:
TLS (Transport Layer Security)
TLS je kryptografický protokol používaný pro bezpečnou komunikaci přes internet. Využívá obousměrné kanály k zajištění důvěrnosti a integrity dat vyměňovaných mezi klientem a serverem.
1. Handshake: TLS handshake je proces, při kterém klient a server navazují zabezpečené spojení. Během tohoto procesu si vyměňují zprávy, které obsahují číslo verze, náhodná čísla a kryptografické klíče. Toto handshake je obousměrný proces, kdy obě strany odesílají a přijímají data.
2. Šifrování dat: Jakmile je handshake dokončeno, klient a server použijí zavedené kryptografické klíče k šifrování a dešifrování dat. Tento proces šifrování a dešifrování je také obousměrný, protože obě strany odesílají a přijímají šifrovaná data.
3. Výměna klíčů: TLS používá protokol výměny klíčů k bezpečné výměně kryptografických klíčů mezi klientem a serverem. Tato výměna klíčů je také obousměrná, protože obě strany odesílají a přijímají klíče.
SSH (Secure Shell)
SSH je bezpečný protokol pro vzdálený přístup, který uživatelům umožňuje bezpečný přístup a správu vzdálených serverů. Využívá obousměrné kanály pro bezpečnou komunikaci mezi klientem a serverem.
1. Počáteční připojení: Klient SSH zahájí připojení k serveru odesláním požadavku na vytvoření zabezpečeného připojení. Server odpoví zprávou, která obsahuje jeho veřejný klíč a další informace. Toto počáteční připojení je obousměrný proces, kdy obě strany odesílají a přijímají data.
2. Autentizace: Po navázání počátečního připojení se klient a server vzájemně autentizují pomocí kryptografie veřejného klíče. Tento proces ověřování je také obousměrný, protože obě strany odesílají a přijímají ověřovací zprávy.
3. Šifrování dat: Jakmile jsou klient a server ověřeni, používají sdílený tajný klíč k šifrování a dešifrování dat. Tento proces šifrování a dešifrování je také obousměrný, protože obě strany odesílají a přijímají šifrovaná data.
V TLS i SSH se používají obousměrné kanály k zajištění důvěrnosti a integrity dat vyměňovaných mezi klientem a serverem. Tyto protokoly využívají obousměrné kanály k navazování zabezpečených připojení, výměně kryptografických klíčů a šifrování a dešifrování dat.
Citace:[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