TLS ceļo vadības kanālā, nevis pa visu tuneli
Vienaudži apmainās ar saviem pakešu datiem, un TLS darbojas vadības apmaiņas iekšienē. Starpniekserveris, kas saprot HTTPS, nav ne jausmas, kas ir šī plūsma.
Ieraudzīt vārdu TLS VPN aprakstā un secināt, ka tīmekļa starpniekserveris sapratīs šo plūsmu, ir ierasts saīsinājums. Šī protokola iekšienē vienaudži apmainās ar saviem pakešu datiem, un TLS darbojas kā viena kanāla daļa šajā apmaiņā. Lietotājam svarīgā lietderīgā slodze ceļo citā ziņojumu formātā, tāpēc abi nekad nesakrīt ar parastu HTTPS sesiju.
Vispirms nāk aploksne
Katrs tuneļa pakete sākas ar protokola paša galveni: ziņojuma tips, atslēgas identifikators un, baitu straumes transportā, garuma prefikss, kas iezīmē, kur pakete beidzas. Lasītājs, kas neanalizē šo aploksni, nevar zināt, kur sākas nākamais lauks.
outer transport (UDP datagram or TCP stream)
-> OpenVPN header (opcode, key id, length where needed)
-> control message (reliability wrapper, TLS exchange)
-> data message (protected inner packet)
Šī skice ir karte, nevis baitu tabula, jo precīzie lauki ir atkarīgi no ziņojuma tipa, lai gan pirmais oktets vienmēr kopā iesaiņo operācijas kodu un atslēgas identifikatoru. Ziņojuma tipa minēšana no porta numura ir veids, kā dekoderi galu galā nepareizi nosauc to, ko redz. Diagnostikai svarīga ir secība: transports, tad protokola aploksne, tad viens no diviem darba veidiem. Izlasiet aploksni, pirms veidojat viedokli par to, kas seko. Dekoders, kas sāk nepareizajā vietā, rada pārliecinātu muļķību.
Uzticamības slānis pieder protokolam
Vadības ziņojumiem nepieciešama sakārtota, apstiprināta piegāde, un protokols to nodrošina pats ar apstiprinājumiem un atkārtotām pārraidēm. Apstiprinājums var ierasties kā atsevišķs ziņojums vai ceļot kopā ar citu vadības ziņojumu, kas liek pēdām izskatīties neregulārām ikvienam, kas gaida vienu tīru apmaiņu.
Ieguvums ir tāds, ka TLS rokasspiedienam ir uzticams nesējs arī tad, ja ārējais transports ir UDP. Cena ir tāda, ka viens datagramma var saturēt tikai daļu no šīs sarunas, tāpēc tā apstrāde kā atsevišķs TLS ieraksts rada muļķību. Pārmontēšanai jānotiek protokola slānī. Tāpēc uztvertā pakete reti izskatās kā pilnīgs rokasspiediena solis.
Ārējā transporta pārslēgšana uz TCP šo slāni neiznīcina. Uzticams transports nozīmē mazāk atkārtotu pārraižu protokola līmenī, nevis to, ka iekārtojums pazūd vai plūsma kļūst par HTTP.
Datu paketes izmanto citu formātu
Kad sesija pastāv, lietderīgā slodze ierodas kā datu ziņojumi, kas pārvadā iekšējās IP paketes vai Ethernet kadrus. Tās ir aizsargātas ar savām atslēgām un savu apstrādi, un tās nav TLS lietojumprogrammas ieraksti nekādā nozīmē, ko pieņemtu TLS bibliotēka.
Šī atdalīšana ir redzama konfigurācijā: vadības kanālam un datu kanālam ir atsevišķi šifrēšanas iestatījumi, tāpēc žurnāla rinda, kas nosauc vienu, neko nepasaka par otru. Spēcīga vadības šifra lasīšana kā spēcīga datu šifra pierādījums ir izplatīta atskaišu kļūda.
Turiet arī saistītu nepareizu priekšstatu ārpus skaidrojuma. TLS nav publiskās atslēgas kanāls blakus simetriskam datu kanālam, jo pats TLS simetriski aizsargā savus ierakstus, tiklīdz atslēgas ir noteiktas. Īstā atšķirība ir loma un paketes formāts, nevis tas, kādu kriptogrāfiju katra puse izmanto.
Kāpēc HTTPS starpniekserveris nevar palīdzēt
Starpniekserveris, kas pārtrauc TLS, gaida TLS ierakstu straumi un pēc tam lietojumprogrammas protokolu tajā. Šī protokola vadības kanāls tiek pārvadāts sava iekārtojuma iekšienē ar uzticamības slāni ap to, tāpēc pārtraucošais starpniekserveris šo iekārtojumu lasa kā bojātu ievadi.
Caurspīdīgs pārsūtītājs, kas laiž cauri baitus vai datagrammas tos neinterpretējot, var darboties, ja tas nepārraksta un nepārmontē straumi. Jautājums, kas jāuzdod par jebkuru starpnieku, ir vai tas pārsūta faktisko transportu un iekārtojumu, nevis vai tas kaut kur atbalsta TLS. Uzdodiet to, pirms veltīt vakaru starpniekservera noteikumiem. Lielākā daļa neveiksmju šeit ir arhitektoniskas, nevis trūkstošs iestatījums.
Pēdas pareiza lasīšana
Gaidiet vispirms vadības apmaiņu, pēc tam daudz lielāku datu ziņojumu skaitu, abi koplieto vienu transportu. Ja vadības fāze beidzas un datu fāze apstājas, kļūme attiecas uz atslēgām, maršrutēšanu vai datu ceļa filtrēšanu, nevis uz rokasspiedienu. Uztveriet dažus datu ziņojumus un pārbaudiet, vai tie vispār atstāj klientu. Šis viens novērojums pārdala meklēšanu uz pusēm.
Vēsturiskie atslēgu metožu apraksti protokola dokumentācijā nenozīmē, ka konkrēts izlaidums joprojām atbalsta katru veco formātu. Pārbaudiet izpildīto versiju, pirms veidot cerības uz rindkopu, kas apraksta, kā lietas darbojās agrāk.