Co mi na TLS 1.3 není jasné je to, že podle specifikace musí být zapnuta podpora secp256r1 a AES128 (konkrétně TLS_AES_128_GCM_SHA256), které jsou dnes považovány za bezpečné, ale rozhodně ne už na špici bezpečnosti.
Přemýšlím, jakým způsobem bude TLS 1.3 reagovat na požadavky vývoje, až bude AES128 definitivně považován za slabý. V tu chvíli, jestli tomu správně rozumím, bude muset vzniknout TLS 1.4 s novou specifikací, reflektující dobu...? Neví někdo, jak je to míněno?
> Přemýšlím, jakým způsobem bude TLS 1.3 reagovat na požadavky vývoje, až
> bude AES128 definitivně považován za slabý. V tu chvíli, jestli tomu správně
> rozumím, bude muset vzniknout TLS 1.4 s novou specifikací, reflektující dobu...?
> Neví někdo, jak je to míněno?
Reakce může být podobná jako v případě TLS 1.2, tzn. vznikne nové RFC (viz např. RFC 7465 zakazující RC4 pro TLS 1.2).
Přijde mi rozumné, že do povinných šifrovacích sad zahrnuli jak blokovou (AES), tak proudovou šifru (Chacha).
Mé postřehy:
-úzká skupina šifer, nejsou to jen ty "americké":)?
-AEAD , není "možnost nešifrovaného přílepku" iniciativa NSA
-snížení roundtrip - vidím v tom nebezpečí, že není klient vykecá inicializační údaje k šifrování hned. Předtím čekal odpoveď serveru a mohl se rozhodnout, jestli vůbec bude dál pokračovat v komunikaci
> úzká skupina šifer, nejsou to jen ty "americké":)?
Pokud vím, ChaCha20 je příbuzná k Salsa20, která je součástí eSTREAM portfolia (EU CRYPT). Obě navíc pocházejí od stejného autora.
> snížení roundtrip - vidím v tom nebezpečí, že není klient vykecá inicializační údaje k šifrování hned. Předtím čekal odpoveď serveru a mohl se rozhodnout, jestli vůbec bude dál pokračovat v komunikaci
Klient se stále může rozhodnout 0-RTT nevyužít. RFC 8446 dokonce uvádí, že by klienti měli 0-RTT použít, pouze pokud jim nevadí možný replay útok. Souhlasím, že v budoucnu si s touto vlastností ještě "užijeme".
Ešte sme s aplikáciou, ktorú mám na starosti, neprešli skoro nikde ani na TLSv1.2, a už je tu 1.3. To zas bude šialených požiadaviek od niektorých byrokratických zákazníkov...
Aby nedošlo k nedorozumeniu, je to IT managementová aplikácia, kde komunikácia prebieha medzi servrami výlučne vo vnútorných sieťach zákazníkov (veľkých firiem) a nemá nijakú časť vystrčenú do verejného Internetu.
Je to zložitá pavučina závislostí.
Funguje to na klient-server princípe, kde jeden management server má tak do 2000 klientov, aby sa dalo zapnúť TLSv1.2, musia to podporovať všetci klienti. To je podporované až od istej verzie klienta, čiže je potrebné upgradnúť všetkých klientov, čo sú projekty s kopou byrokracie. Nová verzia zas nepodporuje niektoré staršie OS platformy, atď. atď.
A ešte taký drobný postreh, najviac na uplatňovanie najnovších a najprísnejších štandardov tlačia tie firmy (napr. jedna veľká banka), ktoré majú beztak celú infraštruktúru obrazne zakopanú pod zemou, prístup len cez rôzne CyberArky a pod.
Namiesto pokúšania sa o hacknutie HTTPS komunikácie, ktorá je hypoteticky o 0,0nič zraniteľnejšia (lebo sa nepoužila šifra TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 ale len TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA) - a dostať sa k nej by bolo 99% úspechu - je omnoho jednoduchšie sa v tej firme alebo u dodávateľa proste zamestnať.
Předpokládám, že Gregor Fefor myslel nejnižší podporovanou verzi. To je totiž to podstatné – je hezké že klient a server teoreticky podporují TLS 1.3, ale pokud je útočník donutí použít TLS 1.0, je podpora TLS 1.3 k ničemu. Jakmile se pohybujete v prostředí, kde jsou možné různé stupně zabezpečení, je útok na snížení zabezpečení to největší riziko. Proto je pro web takový problém, že je stále podporováno HTTP bez šifrování, proto je problém každá jedna starší verze TLS , kterou musíte podporovat.
To je komplikovanější. Teoreticky by to problém být neměl – TLS má mechanismy, jak takový downgrade detekovat (např. TLS_FALLBACK_SCSV) a stará verze TLS by teoreticky neměla znamenat bezpečnostní riziko…
…podobně jako kdysi bylo SSL2. To si dnes klienti (snad) nevyjednají (dost možná nebudou mít ani kód na jeho podporu…), ale jeho podpora na straně serveru znamená zranitelnost na DROWN.
Tedy ano, zbavme se legacy protokolů, pokud je to možné. Zakázat SSL2 je dnes nutnost (DROWN), u SSL3 je to dobrá praktika (jeho podpora by teoteticky nemusela, když si to protistrana nevyjedná, ale…). TLS 1.0 dnes zakazují ti trochu odvážnější. TLS 1.1 se asi typicky bere s 1.0 – kdo umí 1.1, typicky umí i 1.2, takže 1.1 se snad nikdy moc nepoužívalo a mělo smysl hlavně pro mechanismy prevence downgrade. TLS 1.2 by dnes šlo zakázat asi hlavně ve specifických případech, kdy víme, že bude podporováno 1.3.
TLS_FALLBACK_SCSV je myslím volitelné rozšíření, takže to klient nemusí podporovat. Stará verze znamená bezpečnostní riziko, dnes cokoli staršího než TLS 1.2 není považováno za bezpečné.
Zakazovat starší protokoly na serveru není jen dobrá praktika, je to nutnost. Nejde jen o bezpečnost ostatních, ale hlavně o bezpečnost mojí komunikace. Pokud klient použije SSLv3, má jen iluzi bezpečné komunikace – ať pak radši komunikuje nešifrovaně, aby si byl plně vědom situace. Dokud ten nebezpečný protokol nezakážete, některé klienty nedonutíte přejít. Ponechat třeba to TLS 1.0 má smysl v případě, o kterém tady diskutujeme – klienty máte pod kontrolou a z nějakého vážného důvodu zatím přejít na novější TLS nemohou. Vypnutí podpory TLS 1.0 by pak znamenalo jenom odstřihnout tyto klienty bez náhrady, což často není možné.
Když server i klient budou uměl SSLv3 a TLS 1.0 (se všemi nutnými workaroundy proti BEAST apod.) a budou umět TLS_FALLBACK_SCSV, mělo by to být teoreticky bezpečná (ačkoli ne zrovna moderní a doporučeníhodná) konfigurace. Jednostranná nepodpora TLS 1.0 nebo TLS_FALLBACK_SCSV může být brána jako zranitelnost na té straně, kde chybí podpora.
TLS_FALLBACK_SCSV sice je jen volitelná věc, ve skutečnosti je slabší alternativou k TLS maxversion. Nebylo by to potřeba, kdyby v prohlížečích podpora maxversion nebyla rozbitá workaroundy pro kompatibilitu s rozbitými servery, které nepobraly vyšší maxversion.
Typicky dnes samozřejmě není pro SSL3 důvod.
> Pokud klient použije SSLv3, má jen iluzi bezpečné komunikace – ať pak radši komunikuje nešifrovaně, aby si byl plně vědom situace.
Může být, ale netroufám si to tvrdit obecně. SSL3 je sice zranitelné na POODLE, což může ohrozit obsah přenášených dat (a to jen v omezené míře), ale neznám tu žádný útok na autenticitu zprávy.
Pokud mluvíme o TLS 1.3, ta má vlastní ochranu před downgrade. Nechce se mi to rozepisovat, zde jeden z mnoha popisu:
https://blog.gypsyengineer.com/en/security/how-does-tls-1-3-protect-against-downgrade-attacks.html
Zajímavé, nicméně nevidím nic podstatného nového:
1. Finished v TLS bylo již dříve: https://tools.ietf.org/html/rfc5246#page-63
2. DOWNDGR je sice novinka, ale v čem je to lepší než již existující TLS_FALLBACK_SCSV?
Bohužel dnes jsou závislosti tak mohutné, že dřívější teze: "provozuj staré verze a nehrab se v tom dokud to není nutné" už dávno neplatí. Navíc možnosti narušení bezpečnosti existují i zevnitř, dnes s malou krabičkou velikosti cigaretové můžete klidně hackovat i uvnitř sítě.
Existují případy, kdy lze staré verze provozovat bezpečně ve vnitřní síti, ale pak se to povětšinou izoluje do VLAN, do virtuálních strojů atd., aby se zacpalo co nejvíc skulinek.
IT se stává neuvěřitelně drahým oborem a zdá se, že dlouhodobě přežijí jen ti, kteří zvládnou udržet tempo.