Hoppa till innehåll

Webinar: Registrera dig för vårt kommande webbinarium

Registrera nu

Säkerställ att de bästa krypteringsmetoderna implementeras för din organisation med elliptisk kurvkryptografi

Säkerställ att de bästa krypteringsmetoderna implementeras för din organisation med elliptisk kurvkryptografi

Elliptisk kurvkryptografi (ECC) erbjuder en motsvarande nivå och typ av säkerhet som RSA (eller Diffie-Hellman) med kortare nycklar. Tabell 1 jämför de mest effektiva aktuella uppskattningarna av nyckelstorlekarna för tre olika krypteringsmetoder för jämförbara säkerhetsnivåer mot brute-force-attacker.

Bruteforcering , en symmetrisk nyckelchifferliknande AES, antyder att genomsökning av hela nyckelutrymmet innebär heltalsfaktorisering för en algoritm som RSA och lösning av digitallogaritmproblemet för en algoritm som ECC. Denna tabell är mycket mer betydelsefull på grund av att processbördorna för RSA och ECC är jämförbara för jämförbara nyckellängder, vilket innebär att det krävs en sjättedel av bearbetningsansträngningen med ECC för att leverera en motsvarande nivå av kryptografisk säkerhet som vi brukar få med 1024-bitars RSA.

Symmetrisk kryptering i bitar RSA- och Diffie-Hellman-nyckelstorlek i bitar ECC-nyckelstorlek i bitar
80 1024 160
112 2048 224
128 3072 256
192 7680 384
256 15360 512

Tabell 1: Bästa uppskattningar av nyckelstorlekar som behövs för att uppnå en likvärdig säkerhetsnivå med tre olika metoder.

Eftersom nyckelstorlekarna är mycket mindre kan smartkort använda ECC-algoritmer utan matematiska hjälpprocessorer. Kontaktlösa smartkort fungerar endast med ECC, eftersom andra system kräver för mycket induktionsenergi. Eftersom kortare nyckellängder leder till snabbare handskakningsprotokoll blir ECC allt viktigare för trådlös kommunikation. Av samma skäl kan vi också förvänta oss att ECC kommer att bli avgörande för trådlösa sensornätverk.

ECDH-kryptosystem

Elliptic Curve Diffie-Hellman (ECDH) är en version av Diffie-Hellman-nyckelutbytesalgoritmen för elliptiska kurvor som bestämmer hur två kommunikationsdeltagare, A och B, kan generera nyckelpar och utbyta sina publika nycklar via osäkra kanaler. Algoritmen bestämmer endast hur nyckelpar genereras, och användaren definierar relationen mellan krypteringsnycklar och data som ska krypteras. Efter att nycklarna har utbytts är det vanligt att använda symmetriska krypteringsmetoder. I praktiken kan ECDH-kryptosystemet framgångsrikt anpassas till olika datasäkerhetslösningar.

ECDSA-kryptosystemet

Elliptisk kurva Digital signaturalgoritm (ECDSA) är en DSA (Digital Signature Algorithm) digital signaturstandardanalog för elliptiska kurvor. I likhet med DSA är målet med ECDSA att tillhandahålla verifierbara digitala signaturer för datameddelanden. Författaren signerar datameddelandet med sin privata nyckel, och den digitala signaturen läggs till i meddelandets innehåll och kan valideras fritt med hjälp av meddelandeförfattarens publika nyckel. Privata nycklar genereras på ungefär samma sätt som ECDH-kryptosystemet. Om P och Q är två punkter på en elliptisk kurva är den privata nyckeln den diskreta logaritmen m=logPQ.

Implementeringsfrågor

Implementeringsproblem för kryptosystem baserade på elliptiska kurvor kan delas in i fyra abstrakta kategorier.

  • Den första kategorin omfattar tekniska fel gällande hårdvaru- och mjukvaruimplementeringar i form av bristande autentisering, otillräckligt RAM- och medieskydd, fel i algoritmer, felaktig nätverksinfrastruktur etc. För dessa säkerhetsproblem förväntas det att känslig information, inklusive privata krypteringsnycklar, kan komma till tredje parts förfogande utan försök att bryta kryptosystemets grundläggande säkerhetsbakgrund, utan genom att åtkomst till informationen direkt genom hårdvaru- och mjukvarusäkerhetsluckorna.

    Detta är det vanligaste implementeringsproblemet och är inte relaterat till säkerheten för de grundläggande delarna av ett kryptosystem, och det är förknippat med otillräcklig programvarutestning och säkerhetsrevisioner av datorsystem.

  • Den andra typen av implementeringsproblem är förknippat med att välja underliggande elliptiska kurvor och primtal. Det finns klasser av svaga elliptiska kurvor. Till exempel är det möjligt att lösa problemet med diskret logaritm i polynomtid för en specifik typ av kurva där #E(Fp) = p – antalet punkter på en kurva är lika med antalet element i ett ändligt fält. Det är också viktigt att välja tillräckligt stora undergrupper av E(Fp) för att undvika genomförbar beräkning av diskreta logaritmer med metoder som Pollard-p-metoden.

    För att säkerställa maximal säkerhet för kryptosystemet är det lämpligt att använda verifierbart slumpmässiga elliptiska kurvor och primtal så att ordningen för gruppen #E(Fp) är delbar med ett tillräckligt stort primtal n, där n > 2160.

  • Den tredje typen av implementeringsproblem är förknippade med prestandan för E(Fp)-gruppoperationer som addition och skalär multiplikation. Det är lämpligt att använda Mersenne-primtal, vilket avsevärt kan förbättra den skalära multiplikationsoperationen. Detta resultat är relaterat till processorarkitekturen som möjliggör effektiv exekvering av modulära aritmetiska operationer med binär representation av talet, vilket är nära en tvåpotens. Det är också viktigt att välja det lämpligaste koordinatsystemet för att förbättra prestandan för gruppoperationer.

    Beroende på valt koordinatsystem kan prestandan för gruppoperationer variera. Till exempel kan prestandan för skalär multiplikation förbättras genom att använda Jacobi-koordinatsystemet när den skalära multiplikationen sker med ett jämnt tal (punktfördubbling).

  • Den fjärde typen av implementeringsproblem är förknippad med hantering av privata nycklar. Det krävs att man säkerställer att de privata nycklarna omräknas och utfärdas regelbundet. Användningen av konstanta privata nycklar ökar allvarligt risken för att nycklar avlyssnas av en tredje part. Det mest typiska exemplet är avlyssningen av en privat nyckel från 2010 med Sony PlayStation-applikationssignaturkryptosystemet, där en konstant privat nyckel användes för alla utfärdade digitala signaturer.

Skräddarsydda krypteringstjänster

Vi utvärderar, strategiserar och implementerar krypteringsstrategier och lösningar.

Fördelar med elliptiska kurvbaserade kryptosystem jämfört med RSA-kryptosystemet

  • Nyckelstorlek

    Nyckeln i ett kryptosystem baserat på elliptiska kurvor tar upp betydligt mindre minne, och förhållandet ökar snabbt med ökande säkerhetsnivåer. Till exempel motsvarar ett RSA-kryptosystem med en nyckellängd på 1024 bitar ett kryptosystem baserat på elliptiska kurvor med en nyckellängd på 160 bitar.

  • Prestanda för kryptografiska operationer

    Kryptografiska operationer som nycklar och digitala signaturer genereras betydligt snabbare tack vare de mindre nycklarna. Till exempel motsvarar ett elliptiskt kurvkryptosystem med en nyckellängd på 233 bitar RSA-kryptosystemet med 2240 bitar. I det första fallet genereras nyckeln ungefär 40 gånger snabbare.

  • Resursbesparingar

    På grund av de mindre nyckelstorlekarna kan algoritmer för kryptosystem baserade på elliptiska kurvor exekveras med minimala resurser.

Nackdelar med elliptiska kurvbaserade kryptosystem jämfört med RSA-kryptosystemet

  • Betydligt mer komplexa matematiska bakgrunder.
  • En relativt stor grupp av svaga elliptiska kurvor.
  • Brist på forskning.

Slutsats

Trots ECC:s flera decennier långa historia saknas det fortfarande forskning. Den populära RSA Kryptosystem studeras mer allmänt. En betydande brist på forskning är en av de främsta anledningarna till att kryptosystem baserade på elliptiska kurvor har visat låg popularitet nuförtiden. Det är möjligt att dra slutsatsen att bristen på forskning är relaterad till den relativt komplexa matematiska grunden för elliptiska kurvor och bristen på intresse från systemutvecklare. Det förväntas att elliptiska kurvor kommer att spela en växande roll i olika implementeringar.

Det diskreta logaritmproblemet är algoritmiskt mer komplext än heltalsfaktoriseringsproblemet, vilket möjliggör en betydande minskning av den kryptografiska nyckelstorleken för den offentliga nyckeln, vilket påskyndar olika kryptografiska operationer.

Kryptosystem baserade på elliptiska kurvor kan effektivt användas på systemlösningar med låga resurser och begränsad strömförbrukning, såsom smartkort, mobila enheter, sensorer och så vidare.