Antallet bit i en statisk nøglefil er ikke OpenVPN-chifferets styrke
Antallet bit i en statisk nøglefil måler lagret materiale, ikke chifferstyrke. Læs banneret, profiltilstanden og det forhandlede chiffer hver for sig.
En scanner eller en kollega peger på det antal bit, der er trykt inde i en statisk OpenVPN-nøglefil, og spørger, hvorfor tunnelen ikke bruger et chiffer af den størrelse. Spørgsmålet lyder rimeligt, og svaret er ikke et tal: banneret tæller lagret nøglemateriale, mens et chiffer kun forbruger den del, dets nøglestørrelse kræver. Behandler man den sum som en styrkeindstilling, fører det til ændringer, der ikke ændrer noget. Formatet blev bygget til at rumme mere materiale, end nogen enkelt algoritme bruger.
Her blandes to spørgsmål: hvor meget nøglemateriale filen gemmer, og hvor stærkt det forhandlede chiffer er. Kun det andet beskriver tunnelen.
Hvad tallet i banneret egentlig tæller
Containeren serialiserer chiffermateriale og HMAC-materiale som adskilte strukturer, og den tovejs form rummer to sådanne sæt, så hver retning kan bære sine egne nøgler. Den skrivende kode udleder det trykte tal af antallet af serialiserede strukturer, deres størrelse og otte bit pr. byte. Det er aritmetik over lager, ikke en påstand om, at ét chiffer forbruger hver lagret byte. Headeren fastlægger også en maksimal tildeling af chiffermateriale, så en biblioteksændring ikke stiltiende kan ændre formatets dimensioner.
Sammenlign det med en certifikatnøgle, hvor antallet bit faktisk beskriver ét objekts størrelse. En RSA-nøgle på 4,096 bit og en nøglefil, hvis banner viser 4,096 bit, er forskellige artefakter med forskellige opgaver, og at stille dem op som to indstillinger på én knap giver dårlige konklusioner.
To nøglesæt i én fil
Hver halvdel af filen leverer materiale til kryptering og autentificering, fordi tilstanden med forudelt nøgle beskytter pakker i begge retninger med disse adskilte stykker. Det aktive chiffer bruger kun de byte, dets nøglestørrelse kræver, og digesten bruger sin egen outputstørrelse, og derfor kommer den brugbare styrke fra indstillingerne og ikke fra filens længde. At forlænge den hexadecimale blok beder ikke den konfigurerede algoritme om at forbruge mere af den. At redigere kommentaren med et større tal ændrer endnu mindre.
Hvis du faktisk vil have en længere nøgle, er indstillingen, der skal ændres, chifferet eller digesten, og generatoren producerer, hvad de valgte algoritmer behøver.
At læse profilen fortæller dig, hvilken tilstand du har
Det samme filformat tjener to ret forskellige opgaver, og kun profilen siger, hvilken du har. En gammel secret-linje gør filen til tunnelens eneste nøglemateriale, mens tls-auth eller tls-crypt gør den til beskyttelse af kontrolkanalen ved siden af certifikater. Ingen af de to anvendelser gør den til en klients certifikatprivate nøgle, hvor ens blokken end ser ud. Fastslå indstillingen og versionen, før du genererer en erstatning, og brug den dokumenterede generator i stedet for at tilføje tegn.
Den forskel afgør også svaret på en eksponering. En tls-auth-nøgle, der lækker, afslører ikke sessionsnøglerne, men den lader en angriber injicere trafik i kontrolkanalen, så den skal stadig udskiftes. En lækket secret-nøgle er værre, fordi den var materialet, der beskyttede selve dataene.
Hvad en sikkerhedsgennemgang bør registrere
Registrer tre ting hver for sig: den forhandlede beskyttelse af datakanalen, beskyttelsen af kontrolkanalen og hvordan parter autentificerer hinanden. En linje som data-ciphers AES-256-GCM beskriver kun det første, og en rapport, der stopper der, kan ikke svare på, om kontrolkanalen overhovedet er beskyttet. Den statiske nøglefil hører i den anden gruppe, når den bruges med tls-auth eller tls-crypt, og i ingen af dem, når den ikke bruges. Bedømmere, der blander grupperne, beder om en større nøglefil, når det, de vil have, er et stærkere chiffer.
Hvis filen blev eksponeret, skal du rotere den og redistribuere den via den godkendte kanal. At tilføje tegn til en kompromitteret hemmelighed er ikke rotation, og det efterlader det eksponerede materiale gyldigt.
Opbevar rotationsnotatet sammen med den profil, det hører til. Den næste gennemgang vil spørge hvilken nøgle der beskyttede hvilken periode, og banneret vil ikke svare på det.