Skener nebo kolega ukáže na počet bitů vytištěný uvnitř souboru statického klíče OpenVPN a ptá se, proč tunel nepoužívá šifru této velikosti. Otázka zní rozumně a odpověď není číslo: hlavička počítá uložený materiál klíče, zatímco šifra spotřebuje jen část, kterou vyžaduje její velikost klíče. Považovat tento součet za nastavení síly vede k úpravám, které nic nemění. Formát byl postaven tak, aby pojal více materiálu, než spotřebuje kterýkoli jednotlivý algoritmus.

Zde se mísí dvě otázky: kolik materiálu klíče soubor ukládá a jak silná je vyjednaná šifra. Tunel popisuje jen druhá z nich.

Co číslo v hlavičce skutečně počítá

Kontejner serializuje materiál šifry a materiál HMAC jako oddělené struktury a obousměrná forma drží dvě takové sady, aby každý směr nesl vlastní klíče. Zapisující kód odvozuje vytištěný počet z počtu serializovaných struktur, jejich velikosti a osmi bitů na bajt. To je aritmetika nad úložištěm, ne tvrzení, že jedna šifra spotřebuje každý uložený bajt. Hlavička také fixuje maximální přidělení materiálu šifry, aby změna knihovny nemohla tiše změnit rozměr formátu.

Srovnejte to s klíčem certifikátu, kde počet bitů opravdu popisuje velikost jednoho objektu. Klíč RSA o 4,096 bitech a soubor klíče, jehož hlavička uvádí 4,096 bitů, jsou různé artefakty s různými úkoly a jejich srovnávání jako dvou nastavení na jednom ciferníku vede ke špatným závěrům.

Dvě sady klíčů v jednom souboru

Každá polovina souboru dodává materiál pro šifrování a autentizaci, protože režim předem sdíleného klíče chrání pakety v obou směrech těmito oddělenými částmi. Aktivní šifra používá jen bajty, které vyžaduje její velikost klíče, a hash používá vlastní velikost výstupu, proto použitelná síla přichází z voleb, nikoli z délky souboru. Prodloužení šestnáctkového bloku nežádá nakonfigurovaný algoritmus o větší spotřebu. Úprava komentáře větším číslem mění ještě méně.

Pokud skutečně chcete delší klíč, nastavením, které je třeba změnit, je šifra nebo hash, a generátor vytvoří to, co zvolené algoritmy potřebují.

Přečtení profilu vám řekne, který režim máte

Stejný formát souboru slouží dvěma dosti odlišným úkolům a jen profil říká, který z nich máte. Starý řádek secret činí soubor jediným materiálem klíče tunelu, zatímco tls-auth nebo tls-crypt z něj dělá ochranu řídicího kanálu vedle certifikátů. Ani jedno použití z něj neudělá soukromý klíč klientského certifikátu, ať blok vypadá jakkoli podobně. Před vytvořením náhrady určete volbu a verzi a použijte zdokumentovaný generátor místo přidávání znaků.

Toto rozlišení také určuje reakci na vyzrazení. Uniklý klíč tls-auth nevyzradí relace klíčů, ale umožní útočníkovi vkládat provoz řídicího kanálu, takže je stále třeba jej vyměnit. Uniklý klíč secret je horší, protože byl materiálem, který chránil samotná data.

Co má bezpečnostní revize zaznamenat

Zaznamenejte tři věci odděleně: vyjednanou ochranu datového kanálu, ochranu řídicího kanálu a způsob, jakým se protějšky autentizují. Řádek jako data-ciphers AES-256-GCM popisuje jen první z nich a zpráva, která tam skončí, nedokáže odpovědět, zda je řídicí kanál vůbec chráněn. Soubor statického klíče patří do druhé kategorie, když se používá s tls-auth nebo tls-crypt, a do žádné, když se nepoužívá. Recenzenti, kteří kategorie směšují, žádají větší soubor klíče, když vlastně chtějí silnější šifru.

Pokud byl soubor vyzrazen, otočte jej a znovu distribuujte schváleným kanálem. Přidávání znaků ke kompromitovanému tajemství není rotace a ponechává vyzrazený materiál platný.

Uchovávejte záznam o rotaci u profilu, ke kterému patří. Příští revize se zeptá který klíč chránil které období, a hlavička na to neodpoví.

Související články