Vilka algoritmer används i Internetstandarder

Internet Crypto en sida skapad av säkerhetsexperten David McGrew samlar information om användning av olika typer av kryptofunktioner på Internet.

David A. McGrew
David A. McGrew

Med Internet avses i det här fallet huvudsakligen de standarder (Request For Comments – RFC) och förslag till standarder (Internet Draft – I-D) som publiceras av Internet Engineering Task Force – IETF.

Jag tycker att Internet Crypto är en bra sida eftersom den på ett bra sätt samlar och kategoriserar upp den stora mängden standarder och dokument som finns och gör det lätt att hitta. Om du exempelvis vill få reda på vilka standarder det finns för att autenticera meddelanden (Message Authentication Code – MAC) går det lätt att hitta under sin kategori. Det som dock inte finns är rekommendationer om vilka koder som är bra eller dåligt att använda.

Internet Crypto

En sak som finns är intressant kryptostatistik. Statistiken är frekvensen för hur ofta olika typer av kryptostandarder refereras i RFC:er och drafts. Detta ger i alla fall en hum om hur populära vissa algoritmer är. Tio i topp-listan ser ut som följer:

  1. Hashfunktionen MD5
  2. Hashfunktionen SHA-1
  3. Meddelandeautenticeringskoden HMAC
  4. Nyckelutbytesalgoritmen Diffie-Hellman (DH)
  5. Hashfunktionen SHA-2
  6. Blockkruptot AES
  7. Blockkryptot 3DES
  8. Asymmetriska kryptot ECC
  9. Signaturalgotritmen DSA
  10. Asymmetriska kryptot RSA

Att listan domineras av hashfunktioner samt följs av några krypton och metoder för att utbyta nycklar är inte så förvånande – detta är arbetshästarna som skapar säkerheten på Internet. Vi ser även hur AES som blockkrypto verkligen har blivit den stora de facto-standarden bland symmetriska krypton.

Däremot blir jag en aning beklämd när man klickar på listans förstaplats och tittar närmare på MD5. Hashfunktionen MD5 är en algoritm som sedan flera år tillbaka anses vara helt trasig, en algoritm kryptologer och experter rekommenderar att inte använda. MD5 är en gammal algoritm med stor spridning. Att den därför finns i många standarder (RFC:er) är inte speciellt konstigt.

Vad som gör mig beklämd är att det är så många nya, aktiva drafts, alltså förslag till standarder som refererar till MD5. Några av dessa är så kallade informations-drafts. Detta innebär att dom dokumenterar någon form av funktion på Internet, exempelvis ett specifikt applikationsprotoll någon utvecklat. Vidare finns det drafts där MD5 tas upp som varnande exempel. Men tyvärr är det fortfarande ett antal standard-drafts där MD5 pekas ut som komponent att använda.

Vill vi komma bort från en algoritm vi vet inte är säker måste sluta bygga in nya beroenden av algoritmen i framtida standarder. Att 2011 designa något som använder MD5 är fel och det borde ringa varningsklockor. Massor med klockor. Högt och ljudligt. Om du ser någon som ritar, skissar, skriver in MD5 i en ny konstruktion – hjälp denne att komma på bättre tankar. Att byta ut en algoritm är mycket billigare när konstruktionen bara är på designstadiet, inte ute i fält i miljontals burkar i skogen. Att tänka efter före är inte lätt, men i fallet MD5 är det inte så svårt.

Samtidigt sprang jag på en informations-RFC, RFC 5218 – What Makes for a Successful Protocol? som försöker förklara och beskriva varför vissa standarder blir framgångsrika (som MD5 och IPv4). Utan att avslöja för mycket kan jag säga att bästa tekniken inte alltid vinner.

En reaktion på ”Vilka algoritmer används i Internetstandarder

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *