Beheer

Security
slot encryptie

13 vragen over Elliptic Curve Encryptie

Wat stelt die concurrent van RSA nu precies voor?

© Shutterstock
23 november 2016

Wat stelt die concurrent van RSA nu precies voor?

Elliptische Curve Encryptie maakt stilletjes opgang, ten koste van bestaande methodes van encryptie. ECC wordt toegepast in onder meer TLS, PGP en SSH. De technologie wordt door diverse grote concerns als Google en Facebook ingezet en ook Bitcoin maakt er gebruik van. SURFnet, de IT-samenwerkingsorganisatie van het onderwijs en onderzoek in Nederland, gaat het nu als een van de eerste gebruiken voor de versleuteling van DNSSEC. 13 antwoorden op vragen over deze nog tamelijk onbekende versleutelingstechnologie.

1. Wat is Elliptic Curve Cryptography?

ECC is een vorm van public key-encryptie. Alle public key-encryptie is gebaseerd op de gedachte dat de sleutel om data te versleutelen openbaar gemaakt kan worden zolang de sleutel die nodig is om de data weer leesbaar te maken geheim blijft. Daarvoor heb je een algoritme nodig dat de ene kant op (het versleutelen) makkelijk werkt, en de andere kant op (het ontcijferen) heel moeilijk is.

Het bekendste en meest gebruikte algoritme is ontwikkeld door Ron Rivest, Adi Shamir en Leonard Adleman, het RSA-encryptiealgoritme. Dit algoritme maakt gebruik van het feit dat priemgetallen relatief makkelijk te vermenigvuldigen zijn, maar dat het resulterende getal heel moeilijk weer in factoren te ontbinden is.

ECC gebruikt een principe dat gebaseerd is op een vergelijking met de vorm y2=x3+ax+b. Uitgetekend levert dat een kromme waarbij de x-as de symmetrie-as is. Deze functie heeft een uitzonderlijke eigenschap: iedere lijn die zo’n curve op twee punten snijdt, snijdt de curve op nog precies één andere plek. Anders gezegd: twee punten op de grafiek definiëren een derde. Bij ECC wordt die eigenschap gebruikt om een aantal malen nieuwe punten te berekenen vanuit het beginpunt en het spiegelbeeld van een tweede punt aan de andere kant van de x-as. Dat is voor encryptie interessant omdat de vermenigvuldigingsfactor niet eenvoudig te achterhalen is, zelfs niet als beginpunt en eindpunt gegeven zijn.

2. Hoe lang bestaat ECC al?

ECC is ruim 30 jaar geleden bedacht. Twee Amerikaanse wetenschappers, Neal Koblitz en Victor S. Miller, stelden in 1985 onafhankelijk van elkaar voor elliptische curves te gebruiken voor cryptografische algoritmes. Pas rond 2004 werd het geleidelijk in gebruik genomen.

3. Wat zijn de voordelen van ECC?

ECC biedt een sterkere bescherming met een veel kleinere sleutel dan het veelgebruikte RSA. Dat komt doordat het wiskundige probleem waarop ECC berust veel moeilijker is op te lossen dan het ontbinden van grote getallen in priemfactoren, het algoritme waar RSA op leunt. De NSA maakte in 2009 de inschatting dat ECC bij een sleutel van 160 bits even veilig is als RSA bij een sleutel van 1024 bits. Voor DNSSEC wordt de RSA-sleutel momenteel verdubbeld naar 2048 bits. Met ECC zou verhoging naar 224 bits volstaan.

Bij DNSSEC voorkomt ECC ook een bepaald soort DDoS-aanval doordat de antwoorden die hierbij worden verzonden veel kleiner zijn dan bij gebruik van RSA. ECC heeft ook minder processorkracht nodig, waardoor het ook makkelijker in embedded systemen – en dus in het Internet of Things – toepasbaar is.

4. Wat zijn de nadelen?

Er wordt getwijfeld aan de betrouwbaarheid van sommige curves die zijn gestandaardiseerd door de Amerikaanse overheid. Die standaarden leggen de parameters van een ECC-implementatie vast – zoals sleutellengte en de grootte van de constanten a en b in de onderliggende functie - waarmee partijen hun versleuteling kunnen implementeren. Op basis van onthullingen van Edward Snowden werd vermoed dat de NSA een pseudo random generator op basis van ECC had gemanipuleerd.

De NSA zaaide vorig jaar ook nog eens twijfel aan de mate van beveiliging die ECC biedt. Na ECC lange tijd aangeraden te hebben als oplossing voor de beveiliging van ‘top secret’-bestanden adviseerde de Amerikaanse inlichtingendienst wie nog niet overgestapt was naar ECC, daar vanaf te zien en zich te concentreren op kwantumresistente algoritmes. Dat roept de vraag op of ze een methode hebben gevonden om ECC eenvoudig te kraken. Die vraag heeft NSA tot op heden niet beantwoord. Toonaangevende ECC-wetenschappers hebben al aannemelijk gemaakt dat er vrijwel zeker niets mis is met de curves zelf.

Een laatste potentieel nadeel is, dat nog steeds onduidelijk is of op onderdelen van ECC nog patenten gelden.

5. Waar is ECC bruikbaar voor?

ECC is goed te gebruiken voor de encryptie van apparaten met weinig geheugencapaciteit. Het is daarom ook erg aantrekkelijk voor het Internet of Things. Juist omdat de sleutels klein zijn, kan goed geïmplementeerd worden op wat minder krachtige systemen. Daar worden nu specifieke curves voor ontwikkeld.

6. Waarom wordt ECC nog zo weinig gebruikt?

Het is nog tamelijk nieuw, dus relatief onbekend. Ook rustten er tot voor kort veel patenten op toepassingen van ECC. Er zijn ook nog weinig best practices om te volgen. Bovendien is de positie van RSA ijzersterk en is een overstap niet eenvoudig.

7. Wie zijn de grote voortrekkers van ECC?

Binnen de academische wereld zijn onder meer Daniel Bernstein en Tanja Lange van de TU Eindhoven voorstanders en ook enkele experts van de Radboud Universiteit. Vanaf het eerste uur waren Hendrik Lenstra, hoogleraar wiskunde aan de Leidse universiteit, en René Schoof, inmiddels hoogleraar bij de universiteit van Rome, grote voortrekkers van ECC met enkele invloedrijke papers die zij rond 1985 uitbrachten.

8. Waar wordt ECC al gebruikt?

ECC wordt onder meer gebruikt voor beveiliging van HTTPS. Ook voor de Bitcoin is ECC van groot belang. Hier wordt het gebruikt in de vorm van het Elliptic Curve Digital Signature Algorithm dat zekerheid moet bieden dat de Bitcoins alleen uitgegeven kunnen worden door hun rechtmatige eigenaren.

9. Hoe implementeer je ECC?

Er zijn al standaard cryptografische libraries ontwikkeld, maar voor specifieke toepassingen zijn die er nog niet. Dat gaat nog enige tijd duren. OpenSSL ondersteunt ECC wel al jaren en ook de standaardlibraries op Microsoft Windows-besturingssystemen ondersteunen ECC out-of-the-box.

 

10. Waarom is er nu meer belangstelling voor?

ECC’s bestaan is al 30 jaar bekend, maar nu pas wordt het vaker’ geïmplementeerd in het publieke domein. Alle Linux-distributies bijvoorbeeld zijn nu ECC-enabled. Dat was een paar jaar geleden niet zo, mede doordat er nog veel patenten op zaten. Daarvan verlopen er nu op korte termijn een groot aantal. Vooral het Internet Engineering Task Force (IETF) heeft zich erg ingespannen om patentvrije versies van ECC te standaardiseren.

 

11. Biedt ECC bescherming tegen kwantumcomputers?

Geen enkele vorm van public key-encryptie is kwantumresistent en ECC dus ook niet. Als de kwantumcomputers er werkelijk zijn, is er een alternatief voor ECC nodig. Voor DNSSEC is dat bepaald niet triviaal, want men is gebaat bij kleine sleutels en post-kwantum algoritmes zullen juist veel grotere sleutels nodig hebben dan zelfs RSA.

12. Is er een standaard voor ECC?

Ja. Er zijn diverse elliptische curves die goedgekeurd zijn door onder meer het Amerikaanse overheidsinstituut NIST en het IETF. Er is bijvoorbeeld een standaard van het IETF voor de wijze waarop ECC gebruikt kan worden bij DNSSEC met gestandaardiseerde curves.

 

13. Hoe lang kan ECC nog mee?

De gestandaardiseerde curves bieden allemaal 128-bit security of meer. Dat betekent dat ze conform de eisen die zowel Europese als Amerikaanse overheden hieraan stellen tenminste de komende 30 jaar veilig mee kunnen, als er geen doorbraken zijn op het gebied van kwantumcomputers.

Lees meer over Beheer OP AG Intelligence
1
Reacties
Anoniem 23 november 2016 13:51

"...iedere lijn die zo’n curve op twee punten snijdt, snijdt de curve op nog precies één andere plek".

Dat lijkt me wat kort door de bocht. Een lijn als x=n, met n zodanig dat de curve twee maal gesneden wordt, snijdt de curve echt geen derde keer meer.

Reactie toevoegen
De inhoud van dit veld is privé en zal niet openbaar worden gemaakt.