Divvirzienu kanāli gan transporta slāņa drošībā (TLS), gan drošos apvalka (SSH) protokolos apstrādā datu šifrēšanu un atšifrēšanu, apvienojot atslēgu apmaiņu, šifrēšanas algoritmus un sesiju pārvaldības paņēmienus, kas nodrošina drošu saziņu gan klienta, gan servera virzienos.
TLS divvirzienu kanāla šifrēšana un atšifrēšana
TLS ir paredzēts, lai nodrošinātu konfidencialitāti un integritāti, ko apmainās ar divām komunikācijas pusēm tīklā, piemēram, klientam un serverim. Tās divvirzienu kanāli ļauj datus droši apmainīt abos virzienos vienlaikus, izmantojot vairākus kriptogrāfijas procesus:
- Atslēgu apmaiņa un autentifikācija: TLS rokasspiediens sākas ar abām pusēm sarunās par kriptogrāfijas parametriem, lai izveidotu koplietotās atslēgas, tos tieši pārsūtot. Publiskās atslēgas kriptogrāfijas algoritmi, piemēram, RSA, Diffieâ Hellman (DH), Ephemeral Diffieâ Hellman (DHE), eliptiskā-Curve Diffieâ Hellman (ECDHE), un citi tiek izmantoti, lai droši izveidotu kopīgu slepeno atslēgu. Šī atslēga netiek tieši nosūtīta tīklā, bet gan neatkarīgi no abām pusēm to iegūst pēc nepieciešamo sabiedrisko vērtību apmaiņas. Šī rokasspiediena laikā serveris parasti autentificē klientam, izmantojot sertifikātu, pēc izvēles tiek veikta savstarpēja autentifikācija. Rokasspiediens arī piekrīt šifrētajiem komplektiem, kas diktē šifrēšanas algoritmus, ko izmanto lielapjoma datu šifrēšanai. Šis process galvenajā līguma posmā nodrošina gan autentifikāciju, gan slepenību.
- Simetriskā šifrēšana datu pārsūtīšanai: Pēc tam, kad ar rokasspiedienu tiek izveidota koplietota slepenā atslēga, TLS pārslēdzas uz simetrisku šifrēšanu, lai aizsargātu sesijā apmainītos faktiskos ziņojumus. Tā kā simetriski šifrēšanas algoritmi ir skaitļošanas ziņā efektīvi, tie ļauj reālā laika šifrēšanu un atšifrēšanu abos virzienos. Parastie simetriskie šifrēšanas algoritmi, ko izmanto TLS, ietver AES (uzlabota šifrēšanas standarts), chacha20 un citus. Abas puses izmanto vienu un to pašu sesijas atslēgu, lai šifrētu izejošos un atšifrētu ienākošās datu plūsmas, nodrošinot divvirzienu konfidencialitāti.
- Datu integritāte un autentifikācija: TLS integrē ziņojumu autentifikācijas kodus (MAC) vai autentificētus šifrēšanas režīmus, piemēram, AES-GCM (Galois/Counter Mode), lai nodrošinātu ziņojumu integritāti un autentiskumu. Tas garantē, ka tiks atklāta jebkāda ziņu viltošana vai viltošana abos virzienos.
- Divvirzienu raksturs: TLS kanāli pēc būtības ir divvirzienu, tas nozīmē, ka abi parametri var vienlaikus nosūtīt un saņemt šifrētus datus. Šifrēšanas un atšifrēšanas procesi tiek atspoguļoti abos galos, izmantojot izveidotos simetriskos taustiņus, ļaujot nemanāmiem, drošiem divvirzienu sakariem.
- priekšējā slepenība: mūsdienu TLS variācijas izmanto īslaicīgas atslēgas ar DHE vai ECDHE, kas izveido vienas sesijas atslēgas, kas nodrošina turpmāku slepenību. Tas nozīmē, ka pat tad, ja tiek apdraudētas ilgtermiņa atslēgas, iepriekšējās komunikācijas sesijas joprojām ir drošas.
- Sesijas atsākšana: Lai uzlabotu atkārtotu sesiju efektivitāti, TLS atbalsta sesijas atsākšanu, kur iepriekšējie sesijas atslēgas vai identifikatori tiek atkārtoti izmantoti, lai izvairītos no pilnas rokasspiediena, saglabājot drošību, kas attiecas uz divvirzienu šifrētu datu plūsmu.
SSH divvirzienu kanāla šifrēšana un atšifrēšana
SSH nodrošina drošu attālo pieteikšanos un citus drošus tīkla pakalpojumus nedrošā tīklā. Tās divvirzienu kanāli arī nodrošina, ka dati tiek šifrēti un droši atšifrēti gan sūtot, gan saņemot:
- Atslēgu apmaiņas protokols: Līdzīgi kā TLS, SSH sāk ar galveno apmaiņas mehānismu, lai izveidotu kopīgu slepeno atslēgu, ko izmanto sesijas šifrēšanai. Tas parasti izmanto diffie-hellman atslēgu apmaiņas algoritmu. Serveris iepazīstina ar savu publisko resursdatora atslēgu, kuru klients pārbauda, lai pirms turpināšanas autentificētu serveri. Pēc tam abas puses izmanto saskaņotos algoritmus, lai patstāvīgi izveidotu kopīgu slepeno atslēgu.
- Autentifikācijas asimetriskā kriptogrāfija: Atšķirībā no simetriskās šifrēšanas, ko izmanto lielapjoma datiem, asimetriskas atslēgas SSH īpaši kalpo autentifikācijas mērķiem. Privātās atslēgas šajos asimetriskajos pāros paliek slepeni un tiek izmantotas, lai pierādītu identitāti, bet lielapjoma datu šifrēšana izmanto simetriskas atslēgas.
- Komunikāciju simetriskā šifrēšana: Pēc atslēgu apmaiņas un autentifikācijas fāzēm SSH pārslēdzas uz simetriskiem šifrēšanas algoritmiem, lai droši pārraidītu datu pārnešanu pa divvirzienu kanālu. SSH atbalsta vairākus simetriskus šifrus, piemēram, AES, 3DES, Blowfish, Cast128 un ArcFour. Gan klients, gan serveris izmanto vienu un to pašu atslēgu, lai šifrētu izejošos datus un atšifrētu ienākošos datus, ļaujot droši sazināties ar pilnu dupleksu.
- Integritāte un saspiešana: lai pārliecinātos, ka ziņojumi netiek sagrauti tranzītā, SSH piemēro kriptogrāfijas hash funkcijas, lai izveidotu ziņojumu autentifikācijas kodus (Mac) vai izmanto autentificētos šifrēšanas režīmus. Turklāt, lai uzlabotu pārraides efektivitāti, var izmantot saspiešanu.
- Divvirzienu kanāla funkcionalitāte: SSH savienojums rada drošus tuneļus vai kanālus, kas ir divvirzienu, atbalstot vienlaicīgu datu nosūtīšanu un saņemšanu ar šifrēšanu un atšifrēšanu, kas notiek simetriski gan klienta, gan servera pusēs. Tas ļauj drošai komandu izpildei, failu pārsūtīšanai (caur SFTP) un porta pārsūtīšanu, kas visi pārvadāti pa šifrētiem kanāliem.
- Plūsmas kontrole un kļūdu apstrāde: SSH kanāli ietver plūsmas vadības mehānismus, kas pārvalda datu pārraides ātrumus abos virzienos, pielāgojot tīkla apstākļus un nodrošinot uzticamu saziņu.
TLS un SSH divvirzienu kanālu kopīgas īpašības
- Abi izmanto sākotnējo rokasspiedienu, lai droši izveidotu šifrētas sesijas atslēgas, nepakļaujot tās potenciālajiem noklausītajiem.
- Simetriskā šifrēšana tiek izmantota efektivitātei, lai šifrētu un atšifrētu lielapjoma sakaru datus, kad ir izveidots sesijas atslēga.
- Abi izmanto ziņojumu autentifikācijas paņēmienus, lai nodrošinātu datu konfidencialitāti, integritāti un autentiskumu abos virzienos.
-Viņi atbalsta pilnu dupleksu, vienlaicīgu divvirzienu datu plūsmu drošos šifrētos tuneļos.
- Algoritmu izmantošana, kas var nodrošināt turpmāku slepenību, nodrošinot, ka pagātnes sakari joprojām ir droši, pat ja tiek apdraudētas ilgtermiņa atslēgas.
- Abi protokoli sesijas sākumā vienojas par šifrēšanas algoritmiem un galvenajiem garumiem.
- Šo protokolu divvirzienu raksturs nodrošina, ka kļūdu apstrādi, retranslāciju un plūsmas kontroles ziņojumus var arī droši apmainīt.