Hieruit blijkt in ieder geval het volgende:
- PKI is en blijft een lastig verhaal;
- SSL gaat helemaal niet wijzigen;
- ECC blijft nog achterwege.
http://equator.tweakblogs.net/blog/109/pki-(deel-1).html
http://equator.tweakblogs.net/blog/291/pki-(deel-2).html
Maar wat wijzigt er dan wel?
Aan SSL (Secure Sockets Layer) zal voorlopig niets wijzigen (uitgaande dat er geen grote problemen gevonden worden). Het enige wat zal wijzigen is de gebruikte sleutel lengte. Waar tot voor kort een sleutellengte van 1024bit voldoende was, blijkt dit tegenwoordig achterhaald. Met de laatste technieken (gebruik makend van de snelle wiskundige capaciteiten van de GPU - Graphic Processing Unit) is en sleutellengte van 1024bit gewoonweg te bruteforcen. Welliswaar nog niet realtime, maar een opgeslagen datastroom kan na veel rekenwerk alsnog gelezen worden.
Het advies is dan ook duidelijk. Blijf weg van de 1024bit sleutellengte's en ga kijken naar 2048 of zelfs 4096bits.
2048bits is een 2^32 keer grotere sleutellengte dan 1024bits. De kans dat deze ge-bruteforced wordt is voor de komende jaren nog verwaarloosbaar. Echter de snelheid waarmee de techniek ons inhaalt is dermate groot dat het niet echt mogelijk is om een tijdsspanne op te geven. NIST (Het National Institute of Standards & Technology) zegt in ieder geval dat het na 31 december 2010 niet meer aan te raden is om nog 1024bit te gebruiken.
Zie: http://csrc.nist.gov/publications/nistpubs/800-57/sp800-57_PART3_key-management_Dec2009.pdf
Waarom doen we dat dan niet?
Dat lijkt een valide vraag, en het antwoord is tweeledig. Het gebeurt gelukkig al. Steeds meer beveiligde internetpagina's worden voorzien van een certificaat met een 2048bit grote publieke sleutel.Aan de andere kant, bedrijven die een 1024bit certificaat hebben, welke nog valide is kunnen niet 1,2 3 overstappen. Een certificaat kan verlengd worden, maar een sleutelpaar niet. Overstappen betekend dus een nieuwe sleutelset aanmaken, en deze laten ondertekenen door een CA (Certification Authority). Hier komen weer kosten bij kijken, wat de overstap (vooral als de bestaande certificaten nog geldig zijn) lastiger te verkopen maakt.
Moeten we nog met andere zake rekening houden?
Ja, dat moeten we. Al dat geweld aan sleutellengte's kost simpelweg performance. (Tijdens de initiƫle sleuteluitwisselings fase) Bij een correcte implementatie wordt immers een aan volledige keten verificatie gedaan. (Dus alle certificaten in de keten tot aan het stamcertificaat). Een dergelijke keten akn zomaar 5 of 6 certificaten diep zijn. Gaan we ook nog eens gebruik maken van de client-certificaten voor de authentication van de werkplek of gebruiker, dan kan een webserver hier een behoorlijke taak aan krijgen.Een oplossing hiervoor is om alle beveiligde verbindingen te termineren bij een zogeheten SSL-offloader. Dit apparaat is gemaakt voor het doen van cryptografische berekeningen, en kan dus een behoorlijke ontlasting van de webservers leveren.
ECC ?
ECC - oftewel Elliptic Curve Cryptology - is een nieuwe manier van het verkrijgen van een asymmetrisch sleutelpaar. Maar dan gebaseerd op de zogeheten Elliptic Curve over Infinite Fields. (zie: http://en.wikipedia.org/wiki/Elliptic_curve_cryptography )Hieruit ontstaan sleutelparen die veel kleiner zijn, maar dezelfde veiligheid bieden als grotere RSA sleutelparen. (256bit ECC publieke sleutel zou vergelijkbaar moeten zijn met 3072bit RSA publieke sleutel)
Helaas is de implementatie en ondersteuning van ECC nog niet grootsverspreid. Maar zeker in de toekomst biedt ECC een grote uitkomst op de steeds groter wordende publieke sleutels.
Geen opmerkingen:
Een reactie posten