Uvidieť slovo TLS v popise VPN a usúdiť, že webová proxy tejto prevádzke porozumie, je bežná skratka. Vnútri tohto protokolu si protistrany vymieňajú vlastné pakety a TLS beží ako súčasť jedného kanála v rámci tejto výmeny. Užitočný obsah, na ktorom používateľovi záleží, putuje v inom formáte správ, a preto sa oboje nikdy nezhoduje s bežnou reláciou HTTPS.

Obal prichádza prvý

Každý paket tunela sa začína vlastnou hlavičkou protokolu: typom správy, identifikátorom kľúča a pri transporte bajtového toku dĺžkovým prefixom, ktorý označuje, kde sa paket končí. Čitateľ, ktorý tento obal neparsuje, nemôže vedieť, kde začína ďalšie pole.

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)

Tento náčrt je mapa, nie bajtová tabuľka, pretože presné polia závisia od typu správy, hoci prvý oktet vždy spoločne balí opkód a identifikátor kľúča. Hádanie typu správy z čísla portu je spôsob, akým dekodéry nakoniec nesprávne pomenujú to, čo vidia. Pre diagnostiku je dôležité poradie: transport, potom obal protokolu, potom jeden z dvoch druhov práce. Prečítajte si obal, skôr než si utvoríte názor na to, čo nasleduje. Dekodér, ktorý začne na nesprávnom mieste, vytvára sebavedomý nezmysel.

Vrstva spoľahlivosti patrí protokolu

Riadiace správy potrebujú usporiadané doručenie s potvrdením a protokol to sám zabezpečuje potvrdeniami a opakovanými prenosmi. Potvrdenie môže prísť ako samostatná správa alebo cestovať s inou riadiacou správou, čo robí stopy nepravidelnými pre každého, kto očakáva jednu čistú výmenu.

Výhodou je, že TLS handshake dostane spoľahlivého nositeľa, aj keď je vonkajší transport UDP. Cenou je, že jeden datagram môže obsahovať len časť tohto rozhovoru, takže jeho spracovanie ako samostatného TLS záznamu vytvára nezmysel. Opätovné zostavenie musí prebehnúť na vrstve protokolu. Preto zachytený paket málokedy vyzerá ako kompletný krok handshake.

Prepnutie vonkajšieho transportu na TCP túto vrstvu neodstráni. Spoľahlivý transport znamená menej opakovaných prenosov na úrovni protokolu, nie že zmizne rámovanie alebo že sa prevádzka stane HTTP.

Dátové pakety používajú iný formát

Keď relácia existuje, užitočný obsah prichádza ako dátové správy nesúce vnútorné IP pakety alebo Ethernetové rámce. Sú chránené vlastnými kľúčmi a vlastným spracovaním a nie sú TLS aplikačnými záznamami v žiadnom zmysle, ktorý by TLS knižnica prijala.

Toto oddelenie je vidieť v konfigurácii: riadiaci kanál a dátový kanál majú oddelené nastavenia šifry, takže riadok logu, ktorý pomenúva jeden, nehovorí nič o druhom. Čítať silnú riadiacu šifru ako dôkaz silnej dátovej šifry je častá chyba v správach.

Držte z vysvetlenia aj súvisiacu mylnú predstavu. TLS nie je kanál s verejným kľúčom sediaci vedľa symetrického dátového kanála, pretože TLS sám chráni svoje záznamy symetricky, keď sú kľúče ustanovené. Skutočný rozdiel je rola a formát paketu, nie to, aký druh kryptografie používa každá strana.

Prečo HTTPS proxy nemôže pomôcť

Proxy, ktoré ukončuje TLS, očakáva prúd TLS záznamov a v ňom aplikačný protokol. Riadiaci kanál tohto protokolu je nesený vnútri vlastného rámovania s vrstvou spoľahlivosti okolo neho, takže ukončujúce proxy číta toto rámovanie ako poškodený vstup.

Transparentný preposielač, ktorý prepúšťa bajty alebo datagramy bez ich interpretácie, môže fungovať, ak neprepisuje ani znovu nezostavuje prúd. Otázka, ktorú treba položiť o každom sprostredkovateľovi, je, či preposiela skutočný transport a rámovanie, nie či niekde podporuje TLS. Opýtajte sa na to, skôr než strávite večer nad pravidlami proxy. Väčšina zlyhaní je tu architektonická, nie chýbajúce nastavenie.

Ako správne čítať stopu

Očakávajte najprv riadiacu výmenu, potom oveľa väčší počet dátových správ, oboje na jednom transporte. Ak sa riadiaca fáza dokončí a dátová fáza sa zasekne, závada sa týka kľúčov, smerovania alebo filtrovania dátovej cesty, nie handshake. Zachyťte niekoľko dátových správ a skontrolujte, či vôbec opúšťajú klienta. Toto jediné pozorovanie rozdelí hľadanie na polovicu.

Historické opisy metód kľúča v dokumentácii protokolu neznamenajú, že dané vydanie stále podporuje každý starý formát. Skontrolujte verziu, ktorú spúšťate, skôr než postavíte očakávanie na odstavci, ktorý opisuje, ako veci fungovali predtým.

Súvisiace články