Skip to main content

Certifikat – ett år kvar att uppgradera

Blogginlägg   •  Okt 08, 2012 09:40 CEST

Microsoft annonserar i dagarna att de kommer att begränsa användandet av certifikat med nyckellängd kortare än 1024 bitar. Innebörden av detta är inte helt uppenbar och vi skall dyka ned i en djupare analys. I artikeln kommer vi att använda ordet certifikat, vilket är en förenkling och egentligen menas certifikatet och det publika/privata nyckelpar som certifikatet representerar.

NIST är en organisation finansierad av den amerikanska staten. De tar fram standarder och är de facto standard inom kryptering. De lägger mycket pengar på driva på bland annat säker IT. De är ansvariga för framtagandet av den mycket populära krypteringsalgoritmen AES.

Vad NIST också gör är att genom påkostade analyser ta fram underlag för amerikanska staten, men används överallt, kring vilken styrka kryptografiska skydd måste ha för att garantera att skyddet står emot tidens tand. Mycket av det utmynnar till exempel i standarden FIPS, som slaviskt följs i finanssektorn och blir mer och mer påtvingat inom e-handel världen över.

Hur och när skall säkerhetsnivån väljas?

Inom informationshantering gäller devisen att skyddsnivån på information inte kan förändras när den väl har lämnat ägarens kontroll. Här uppstår ofta missförstånd om vad kontroll innebär och vi illustrerar med några exempel.

Exempel 1

En användare laddar upp ett foto till facebook. När väl fotot är uppladdat har användaren lämnat över kontrollen till facebook och kan därför inte längre vara säker på att lyckas ta bort alla potentiella kopior av fotot om han ångrar sig och vill göra det  privat igen. Ett exempel på problematiken har kartlagts i en artikel om borttagning av bilder i olika molntjänster.

Exempel 2

En krypterad fil med ett svagt kryptografiskt skydd och som har lagrats i en molntjänst, t.ex. gmail, har i sin krypterade form lämnat ägarens kontroll. Den krypterade filen kan utan ägarens medvetande kopieras av t.ex. tjänsteleverantören. Om ägaren senare vill höja sin säkerhetsnivå genom att lägga på ett starkare krypto på samma information så höjs inte den faktiska säkerhetsnivån. Det beror på att en svag nivå redan valts vid den första publiceringen och den redan publicerade kopian är spridd utanför ägarens kontroll.

Kontroll har man således endast när man är helt säker på att man kan utföra godtyckliga förändringar utan någon annan parts inverkan. Det är alltså omöjligt att garantera att säkerhetsnivån kan höjas från den initiala nivån om man inte har full kontroll på samtliga kopior och därför måste rätt nivå väljas från start.

Man vill inte heller välja en onödigt hög säkerhetsnivå då säkerhetsnivån är direkt kopplad till kostnadsökningar i form av försämrat resursutnyttjande. Därför är det viktigt att först klassificera sin information och därefter bedöma vilken säkerhetsnivå man behöver för sitt krypto och eventuella övriga säkerhetsmekanismer i IT-miljön.

Vad är det som ändras med säkerhetsnivåerna?

NIST höjer sin rekommendition om kryptografisk styrka. Från årsskiftet 2013/2014 skall man använda kryptering som har en säkerhetsnivå om  minst 112 bitar. För alla typer av krypto gör man en omräkning till motsvarande oförsvagad symmetrisk säkerhet och resultatet är individuellt per algoritm. NISTs säkerhetsnivåer är valda för att fortsatt erbjuda ett garanterat kryptografiskt skydd fram till år 2030.

Om man har behov av att bevara en hemlighet hemlig eller om man vill bevisa datas äkthet kortare tid än så kan man välja en kryptografisk styrka som är svagare än rekommendationen. Hur mycket svagare är individuellt per verksamhetsområde och är en komplicerad riskbedömning som bör göras av en säkerhetsspecialist.

Vilka är de vanligaste formerna av kryptografi?

Tre typiska situationer där kryptografiskt skydd är viktigt är:

Äkthetsintyg. T.ex. kan en rapport om teknisk bevisföring i en juridisk verksamhet signeras med ett certifikat för att onekligen bevisa ursprunget av rapporten. Detta äkthetsintyg kan vara relevant om ett rättsfall tas upp på nytt efter mycket lång tid, som t.ex.  det olösta Palmemordet, och ursprunget av rapporten behöver därför vara bevisbart under mycket lång tid. En mycket vardagligare variant kan vara godkännandet av betalningar i den privata internetbanken där man behöver kunna bevisa under lång tid att du har medgivit att betalningen utförs.

Kommunikationsskydd (data in transit). Webb-  och e-postservrar använder alltid certifikat för att upprätta en skyddad kommunikation med användarens webbläsare om anslutningen görs över https. Kommunikationen i sig är skyddad med en symmetrisk form av kryptering, men upprättandet av kommunikationen baseras ändå på ditt certifikat. Certifikatet måste därför ha en styrka som matchar den symmetriska krypteringens styrka för att man skall få den önskade säkerhetsnivå.

Lagringsskydd (data at rest). Diskkryptering, filkryptering och databaskryptering är vanligt förekommande former av detta skydd. Här kan certifikat involveras, men det är inte ovanligt att man istället använder lösenord som transformeras till en symmetrisk krypteringsnyckel. Lösenordsbaserad symmetrisk kryptering skall vi titta närmare på i en senare artikel.

Autentisering, identifiering, kan tyckas vara en vanlig form. Här är den en del av äkthetsintyg.

Vilken nyckellängd rekommenderas för certifikat och vad mer skall beaktas?

NIST rekommenderar att för ett fullgott skydd av din information inom överskådlig framtid skall ditt certifikat från det kommande årsskiftet ha en styrka om minst 2048 bitar.

Microsoft slutar nu med att använda certifikat svagare än 1024 bitar men fortsätter använda 1024-bitars certifikat. De har gjort en klassificering av tjänster och funktioner och gjort en bedömning som resulterar i ett kortvarigt grundskydd. De organisationer som har krav på sin säkerhet antas vara medvetna om sina krav och anlitar säkerhetsspecialister som tar fram ett behovsanpassat skydd.

Exempel 3

En organisation använder certifikat på smarta kort för att identifiera användare. Certifikatet används inte direkt till kryptografiskt informationsskydd och är giltigt i 5 år.Organisationen väljer korta nycklar, 1024 bitar.

Det är full tillräckligt då det anses vara osannolikt att dessa kan knäckas under de kommande 5 åren och det finns ingen känslig information skyddad av certifikatet, så man behöver inte ta hänsyn till att någon efter 5 år knäcker certifikatet och får reda på den privata krypteringsnyckeln.

Exempel 4

Ett företag inom ekonomisk rådgivning ansluter till sin Exchangeserver från laptops för åtkomst till bland annat epost. Eposten innehåller ofta information om kunder och är därför viktig att hållas hemlig. En krypterad förbindelse med 256 bitar AES används i syfte att vara säker på att kommunikationen är säker. Ett certifikat om 1024-bitar RSA är installerat på Exchange-servern och används för att upprätta anslutningen.

Anslutningen har varken 1024 eller 256 bitars säkerhet utan endast 80 bitar. Varför?

Certifikatet använder sig av algoritmen RSA, vilket med längden 1024 bitar endast har en symmetrisk styrka på 80 bitar. Här har man underdimensionerat certifikatet (eller överdimensionerat kommunikationsskyddet).

Det är alltså viktigt att förstå vad algoritmer etc. innebär för påverkan på säkerheten och efter en genomförd informationsklassificering låta en säkerhetsspecialist ta fram en policy kring  informationsskyddet för de olika klasserna.

Certifikat interagerar i princip alltid med symmetrisk kryptering för att skydda information.

Vad är rekommendationen för symmetrisk kryptering?

NISTs rekommendationer för symmetrisk kryptering är att den måste vara minst 112 bitar för att ge gott skydd fram till 2030 (men inte bortom 2030). Det betyder alltså att 256-bitarskryptering som det pratas populärt om är ett resursslöseri och en kostnad som en verksamhet aldrig behöver.

Exempel 5

256 bitar AES kräver 40% mer processorkraft och tar därför 40% längre tid än 128 bitar AES för att kryptera samma data, men båda styrkorna garanterar enligt NIST full säkerhet för din information fram till och bortom år 2030.

AES är en krypteringsalgoritm som utför ett antal transformationer av data i en serie iterationer som alla ta lika lång tid. AES 256 tar 40% längre tid än AES 128 eftersom den använder 14 iterationer istället för 10. Vilken skillnad det gör i praktiken varierar mellan olika tillämpningar och hårdvara och är omöjligt att säga rent generellt. Jag har sett 1-20% av den totala processorkraften frigöras i olika system.

Vad skall jag då välja?

Som tidigare sagt är det viktigt att förstå vad behovet är och utifrån det göra bedömningen av teknik.

Rent generellt kan man säga att certifikat bör vara 2048 bitar om de använder sig av den mycket vanliga RSA-algortimen. Nedsidan med så lång nyckellängd är lägre prestanda. De långa certifikaten gör en märkbar negativ skillnad på användarupplevelsen vid nätverksuppkopplingar eller inloggningar mot olika tjänster. Det finns nyare, inte lika välspridda algoritmer, som inte har negativ påverkan på användarupplevelsen och samtidigt kan ge ett starkare skydd man bör överväga.

För symmetrisk kryptering skall man välja AES 128. Det är enligt NIST säkert bortom år 2030 och är även resurseffektivt då det undviker  överdimensionering av styrkan och även åtnjuter ett utbrett hårdvarustöd.

I kombination med certifikatrekommendationen ovan, för t.ex. TLS/SSL, ger AES 128 inte fullt 128 bitars styrka, men fortfarande något som garanteras hålla din hemlighet hemlig fram till år 2030.

När förändringar av nyckellängder görs bör man också revidera IT-portföljen för att se om något system behöver uppgraderas eller konfigureras om för att klara den ökade säkerheten.

// Jesper Andersson
Informationssäkerhetskonsult SAFESIDE SOLUTIONS AB


Kommentarer (0)

Lägg till kommentar

Kommentera