Algoritmer

En algoritme er en serie af instrukser til at udføre en beregning hvor input vil have en bestemt output efter et antal trin. En metafor til virkningen af algoritmen er en madopskrift; man bruger nogle bestemte ingredienser til at lave en ret, og beskrivelsen af tilberedningen kan så sammenlignes med algoritmen. En algoritme bliver tit brugt til at løse matematiske problemer. Der eksistere forskellige krypteringsalgoritmer til hver af de forskellige krypteringsmetode og denne artikel beskriver dem som er mest relevant til PKI.

Symmetrisk kryptering

Symmetrisk kryptering anvender den samme kryptografiske nøgle til kryptering og dekryptering af information.

3DES

3DES blev udviklet i 1998 som en mere kompliceret udgave af dens forgænger; Data Encryption Standard (DES), som på det tidspunkt blev betragtet usikker. DES var en ofte brugt algoritme i langt tid. Da DES bruger nøgler med en begrænset længde, og derfor en begrænset antal kombinationer, er den følsom ovenfor brute force angreb. For at rette op på dette bliver der i 3DES lavet tre uafhængige DES beregninger efter hinanden for at kryptere data. Dette kan gøres på to forskellige måder: enten bruges der to nøgler på 56-bits, hvor den første og sidste beregning bliver lavet med den samme nøgle. Ved den anden måde bliver der brugt tre forskellige nøgler af 56 bits. Den totale nøglelængde som bliver brugt til at kryptere er således 112 bits eller 168 bits, hvor den sidste selvfølgelig er det mest sikre. 3DES bruges blandt andet i dankort systemet.

AES

Advanced Encryption Standard (AES) blev udviklet i slutning af '90 som et alternativt til DES. AES bruger en 128-bit nøgle og stammer fra Rijndael algoritmen som blev lavet af to flamske forskere. Programmer som WinRAR, WinZip og PowerArchiver tilbyder AES som krypteringsalgoritme.

Asymmetrisk kryptering

Asymmetrisk kryptering bruger to forskellige nøgler; en til at kryptere eller signere, og en anden til at dekryptere eller kontrollere afsenderens identitet.

RSA

Et år efter opfindelsen af asymmetrisk kryptografi af Whitfeld Diffie og Martin Hellman, blev det omsat til praksis for første gang i 1977 i form af RSA-algoritmen. RSA blev skabt af Ron Rivest, Adi Shamir og Len Adleman. RSA kryptering hviler på antagelsen at det efter primtal faktorisering stort set er umuligt at regne om til det primtal der blev brugt til at starte med. Jo større tallet man startede med, jo svære bliver det at spore sig tilbage. De fleste SSL certifikater gør brug af RSA.

Browser producenter og Certificate Authorities har aftalt at der ikke længere er tillid til SA-nøgler med en længde på 1024 bits fra 2014. Fra den 1. januar 2014, skal RSA nøglelængden som minimum være 2048 bit. Denne beslutning blev truffet for at holde trit med stadig mere kraftfulde kryptografiske angreb.

DSA

Digital Signatur Algoritme (DSA) blev udviklet af NSA (National Security Agency) som et alternativ til den nuværende standard RSA-krypteringsmetode. Denne metode bruger en anden algoritme til kryptering og signering, men kan sammenlignes med RSA med hensyn til hastighed og sikkerhed. DSA bliver mest brugt af den amerikanske regering. Hvis man skal overholde regeringsstandarder kan det derfor være nyttigt at bruge et SSL certifikat som understøtter både RSA og DSA kryptering.

ECC

Elliptic Curve Cryptography (ECC) algoritmen blev udviklet i 1985 af blandt andet IBM som alternativ til RSA. ECC bruger elliptiske kurver for at skabe nøgler til kryptering af data, som resulterer i kryptografisk stærke nøgler, som er relativt korte. ECC er hurtigere og mere effektiv end for eksempel RSA. Mest på grund af problemer med patenter, er ECC ikke særlig udbredt. Korte nøgler bliver mere og mere interessant på grund af en øget brug af SSL (på for eksempel mobile enheder), hvorfor der er en fornyet interesse i ECC. På det nuværende tidspunkt er det dog ikke muligt at skifte til brug af ECC certifikater, da ældre browsere ikke understøtter teknologien og fordi browsere som standard endnu ikke har tillid til ECC rodcertifikater.

Alle certificeringstjenesteudbydere (CSP'er) udgiver certifikater som bruger RSA. Fornyeligt er Symantec begyndt at levere et DSA certifikat sammen med et RSA certifikat og et ECC certifikat sammen med 'Premium' certifikater. Følgende certifikater er Symantec Premium certifikater:

  • Secure Site Pro
  • Secure Site Pro EV

Det forventes at andre CSP'er også vil begynde at levere ECC certifikater.

ECDSA

Den elliptisk kurve Digital Signatur Algorithm (ECDSA) er en anden version af ovennævnte er en anden version af ovennævnte Elliptic Curve Cryptography, som deler den fordelagtige egenskab af korte nøgler med det. ECDSA bruges for eksempel af Sony til Playstation 3 og den virtuelle valuta Bitcoin.

Hash algoritmer

Hashing ligner kryptering via en kryptografisk funktion, men i modsætning til kryptering, kan hashing ikke gøres i en to- men kun envejs retning. En hash-funktion benytter en hash-kode, der ikke kan beregnes tilbage til dens oprindelse. Karakteristik for en god hashfunktion er at der er få kollisioner, det vil sige at chancen for at to forskellige inputværdier resultere i den samme output er meget lille. Hashing bruges, for eksempel, til sikkert opbevaring (hashet) af adgangskoder og til digital signatur på dokumenter.

MD5

MD5 (Message Digest Algorithm 5) er en ofte brugt kryptografisk hashfunktion. MD5 er en internetstandard som både bliver brugt i mange sikkerhedsprogrammer og til at kontrollere integriteten af filer. MD5 er designet af Ronald Rivest i 1991 for at erstatte den tidligere anvendte hash-funktion MD4. I 1996 blev der fundet en fejl i MD5-designet, og selvom fejlen ikke var alvorlig blev der fra det tidspunkt anbefalet at bruge andre algoritmer såsom SHA-1.

SHA-1

SHA-1 er en kryptografisk hashfunktion, designet af National Security Agency (NSA), og udgivet i 1995 af National Institute of Standards and Technology (NIST) som en standard for behandling af føderale oplysninger. SHA står for Secure Hash Algorithmog der eksisterer i alt 4 forskellige SHA algoritmer, hver med en anden struktur. De fire forskellige SHA algoritmer er kendt som: SHA-0, SHA-1, SHA-2 og SHA-3. Den originale SHA-0 algoritme er meget sårbare. I SHA-1 har man rettet sårbarheden og dermed blev det den mest anvendte algoritme. I teorien er det muligt at hacke SHA-1 med tilstrækkelig regningskraft, og derfor anslås det, at SHA-1 ikke vil være tilstrækkeligt sikker inden for en overskuelig fremtid.

SHA-2

I 2005 blev der opdaget nogle sikkerhedshuller i SHA-1, hvilket gjorde at der var brug for en stærkere hashfunktion. SHA-2 omfatter flere væsentlige forbedringer på sin forgænger. SHA-2 kan sammenlignes med SHA-1 på nogle punkter, dog er der ingen lignende svagheder fundet i SHA-2. SHA-2 har erstattet SHA-1 ved udgangen af 2014.

SHA-3

SHA-3, oprindelig kendt som Keccak, blev designet i oktober 2012 af Guido Bertoni, Joan Daemen, Michaël Peeters og Gilles Van Assche. Keccak blev dengang valgt som vinder af NIST hashfunktion konkurrencen. Det er ikke meningen at SHA-3 erstatter SHA-2, eftersom der ikke har været succesfulde angreb på SHA-2 endnu. Fordi der har været succesfulde angreb på MD5, SHA-0 og teoretisk succesfulde angreb på SHA-1, havde NIST behov for en alternativ hashfunktion. Denne alternative hashfunktion blev SHA-3 (Keccak).

SSLCheck

SSLCheck kontrollerer, om dit certifikat er korrekt installeret på din server og om der potentielt er problemer.

point up