Antalet bitar i en statisk nyckelfil är inte OpenVPN-chifferts styrka
Antalet bitar i en statisk nyckelfil mäter lagrat material, inte chifferstyrka. Läs bannern, profilläget och det förhandlade chiffert var för sig.
En skanner eller en kollega pekar på antalet bitar som är tryckt inne i en statisk OpenVPN-nyckelfil och frågar varför tunneln inte använder ett chiffer av den storleken. Frågan låter rimlig, och svaret är inte en siffra: bannern räknar lagrat nyckelmaterial, medan ett chiffer bara förbrukar den del som dess nyckelstorlek kräver. Behandlar man summan som en styrkeinställning leder det till ändringar som inte ändrar något. Formatet byggdes för att rymma mer material än någon enskild algoritm använder.
Här blandas två frågor: hur mycket nyckelmaterial filen lagrar, och hur starkt det förhandlade chiffert är. Bara det andra beskriver tunneln.
Vad siffran i bannern egentligen räknar
Behållaren serialiserar chiffermaterial och HMAC-material som separata strukturer, och den dubbelriktade formen håller två sådana uppsättningar så att varje riktning kan bära sina egna nycklar. Skrivkoden härleder den tryckta siffran från antalet serialiserade strukturer, deras storlek och åtta bitar per byte. Det är aritmetik över lagring, inte ett påstående att ett chiffer förbrukar varje lagrad byte. Huvudet fastställer också en maximal tilldelning av chiffermaterial, så att en biblioteksändring inte tyst kan ändra formatets mått.
Jämför det med en certifikatnyckel, där antalet bitar verkligen beskriver storleken på ett objekt. En RSA-nyckel på 4,096 bitar och en nyckelfil vars banner visar 4,096 bitar är olika artefakter med olika uppgifter, och att ställa upp dem som två inställningar på en ratt ger dåliga slutsatser.
Två nyckeluppsättningar i en fil
Vardera halvan av filen levererar material för kryptering och autentisering, eftersom läget med fördelad nyckel skyddar paket i båda riktningarna med dessa separata delar. Det aktiva chiffert använder bara de byte som dess nyckelstorlek kräver, och digesten använder sin egen utdatastorlek, därför kommer den användbara styrkan från alternativen och inte från filens längd. Att förlänga det hexadecimala blocket ber inte den konfigurerade algoritmen att förbruka mer av det. Att redigera kommentaren med ett större tal ändrar ännu mindre.
Om du verkligen vill ha en längre nyckel är inställningen som måste ändras chiffert eller digesten, och generatorn producerar det de valda algoritmerna behöver.
Att läsa profilen säger vilket läge du har
Samma filformat tjänar två helt olika uppgifter, och bara profilen säger vilken du har. En gammal secret-rad gör filen till tunnelns enda nyckelmaterial, medan tls-auth eller tls-crypt gör den till skydd av kontrollkanalen vid sidan av certifikat. Ingen av användningarna gör den till en klients certifikatprivata nyckel, hur likt blocket än ser ut. Identifiera alternativet och versionen innan du genererar en ersättning, och använd den dokumenterade generatorn i stället för att lägga till tecken.
Den skillnaden avgör också svaret på en exponering. En tls-auth-nyckel som läcker avslöjar inte sessionsnycklarna, men den låter en angripare injicera trafik i kontrollkanalen, så den måste ändå bytas. En läckt secret-nyckel är värre, eftersom den var materialet som skyddade själva data.
Vad en säkerhetsgranskning bör registrera
Registrera tre saker var för sig: det förhandlade skyddet av datakanalen, skyddet av kontrollkanalen och hur parter autentiserar varandra. En rad som data-ciphers AES-256-GCM beskriver bara det första, och en rapport som stannar där kan inte svara på om kontrollkanalen alls är skyddad. Den statiska nyckelfilen hör till den andra kategorin när den används med tls-auth eller tls-crypt, och till ingen av dem när den inte används. Granskare som blandar kategorierna ber om en större nyckelfil när det de vill ha är ett starkare chiffer.
Om filen har exponerats, rotera den och distribuera den igen via den godkända kanalen. Att lägga till tecken i en komprometterad hemlighet är inte rotation, och det lämnar det exponerade materialet giltigt.
Förvara rotationsnoteringen tillsammans med den profil den hör till. Nästa granskning kommer att fråga vilken nyckel som skyddade vilken period, och bannern kommer inte att svara på det.