De FreeBSD-ontwikkelaars vertrouwen niet meer op Intels- en Via’s hardware als enige bron voor willekeurige getallen. Er zijn steeds meer aanwijzingen dat de NSA een backdoor heeft gestoken in het algoritme Dual EC DRBG. Deze en andere beveiligingsnieuwtjes lees je in Focus op veiligheid.

Processorfabrikanten Via en Intel bieden in hun processoren een instructie aan om willekeurige getallen te genereren -de technologieën heten Padlock respectievelijk RDRAND. Zo’n ‘random number generator’ (RNG) speelt een belangrijke rol in heel wat cryptografische algoritmes. Doorgaans gebeurt het genereren van (pseudo)willekeurige getallen in software, maar het voordeel van een hardware-implementatie is dat die sneller is. Eén belangrijk nadeel: je weet nooit zeker wat de instructie precies doet en of er geen backdoor in zit. Wanneer je een open source besturingssysteem zoals Linux of FreeBSD draait, wil je kunnen vertrouwen op wat je computer doet. Maar als je besturingssysteem van Padlock of RDRAND gebruikmaakt, ben je nog altijd niet zeker of de NSA niet door een backdoor je encryptie verzwakt, zodat ze die kunnen kraken.

 Unixachtige besturingssystemen gebruiken traditioneel het speciale bestand /dev/random als bron van willekeurige getallen voor alle software die daar om vraagt. Dat is een software-implementatie van een RNG, die zich baseert op zo willekeurig mogelijke gebeurtenissen zoals netwerkverkeer en schijfaanroepen. Als er een hardware-RNG -zoals Padlock of RDRAND- aanwezig is, gebruikt de Linux-kernel die ook als bron van willekeurige getallen voor /dev/random, maar dit is nooit als enige bron. In FreeBSD werd sinds de zomer van 2013 een aanwezige hardware-RNG als enige bron van willekeurige getallen gebruikt, maar in FreeBSD 10 zijn de ontwikkelaars daarvan afgestapt. In plaats van de willekeurige getallen van de hardware-RNG rechtstreeks aan /dev/random toe te kennen, worden die als ‘seed’ aan een software-RNG, het algoritme Yarrow, gevoed. De verklaring van de FreeBSD-ontwikkelaars: “We kunnen Intel en Via niet vertrouwen”. De nieuwe aanpak moet voorkomen dat een backdoor in een hardware-RNG voorspelbare ‘willekeurige’ getallen veroorzaakt. De beslissing was onder andere gebaseerd op de lekken door Snowden die duidelijk hebben gemaakt dat de NSA kosten noch moeite spaart om backdoors in hardware en software te plaatsen.

 Heeft de NSA een backdoor in Dual EC DRBG?

De laatste maanden is heel wat te doen over een potentiële backdoor die de NSA in de pseudo-RNG Dual EC DRBG gesmokkeld zou hebben. Dual EC DRBG behoort willekeurige getallen te genereren, wat belangrijk is voor allerlei encryptie-algoritmes. De werking is gebaseerd op een ingewikkeld wiskundig concept, genaamd elliptische krommen. Dual EC DRBG heeft twee parameters, punten P en Q op de kromme. Die zijn in de standaard SP 800-90A van het Amerikaanse NIST (National Institute of Standards and Technology) gedefinieerd, maar er wordt niet uitgelegd hoe de ontwerpers aan die exacte waardes komen. En wie zijn die ontwerpers van die standaard? Voornamelijk werknemers van het NIST en… de NSA, de Amerikaanse geheime dienst. Het probleem is: Dual EC DRBG is slechts veilig als P en Q willekeurig gegenereerd zijn. P en Q kunnen echter zo opgesteld zijn dat ze een backdoor vormen. In 2007 werd die mogelijkheid al door Microsoft-werknemers Dan Shumow en Niels Ferguson geopperd. Niemand leek dat toen echter als een echte bedreiging te beschouwen. Als reactie werd de standaard wel aangepast zodat producenten hun eigen P en Q konden genereren. In de praktijk deed echter niemand dat.

 Fast forward naar 2013. Door de onthullingen van klokkenluider Edward Snowden werden alle voorgaande acties van de NSA in een ander licht bekeken. De dreiging dat de NSA effectief een backdoor in Dual EC DRBG had gestoken, werd nu wel serieus genomen. Er werd ook duidelijk dat RSA Dual EC DRBG als de standaard RNG in zijn BSAFE-library gebruikte. Het NIST reageerde zelfs publiekelijk door iedereen aan te raden om Dual EC DRBG niet meer te gebruiken. RSA raadde zijn klanten hetzelfde aan. Maar in december 2013 kregen de verdachtmakingen nog een staartje. Volgens ingewijden accepteerde RSA in 2004 tien miljoen dollar van de NSA om Dual EC DRBG de standaard RNG in zijn BSAFE-library te maken — zelfs nog voordat het algoritme een NIST-standaard was.

 Ondertussen is, door wat historisch onderzoek te doen, ook duidelijk dat al veel eerder dan 2007 bekend was dat mogelijk een backdoor in Dual EC DRBG zat. Certicom-werknemers Dan Brown en Scott Vanstone vroegen in 2005 een octrooi aan op ‘escrow keys’ in een RNG met elliptische krommen. Ze beschrijven hoe zo’n escrow key als backdoor gebruikt kan worden. En beide onderzoekers zaten ook in het ANSI-comité, dat de standaard voor Dual EC DRBG vanaf 2004 ontwikkelde. Enkele partijen hebben dus heel dubieuze beslissingen genomen die de NSA goed uitkwamen. Wie zelf eens wil uitproberen hoe de backdoor in de praktijk door de NSA gebruikt kan worden, moet eens op de blog van de Belg Aris Adamantiadis (ontwikkelaar van libssh) kijken. Hij heeft een ‘proof of concept’ ontwikkeld, dat je kunt uitproberen op zelfgekozen P en Q. Wie weet is al die ongerustheid niet nodig en zit er echt geen backdoor in Dual EC DRBG, maar dat zullen we nooit zeker weten. Als de NSA onschuldig is, hadden ze P en Q willekeurig moeten kiezen, bijvoorbeeld als uitvoer van een hashfunctie.

Dual_Ec_Drbg backdoor: a proof of concept

 Meer versleuteld chatten met XMPP

Een groep sleutelpersonen uit de XMPP-community (Extensible Messaging and Presence Protocol, voorheen Jabber) heeft een manifest gepubliceerd waarin ze zich ertoe verbinden om ‘ubiquitous encryption’ op het XMPP-netwerk mogelijk te maken. Het gaat zowel om ontwikkelaars van chat software als om operators van publieke XMPP-servers. Hoewel encryptie van XMPP-berichten met SSL of TLS al jaren mogelijk is, blijft het optioneel. De ondertekenaars van het manifest willen encryptie in hun software en servers verplicht maken. De software zou ook moeten tonen of de verbinding versleuteld, geauthenticeerd of beide is. Daarnaast moet de software de versie van TLS en de gebruikte ‘cipher suite’ tonen, evenals details over het certificaat van de server. Bij elke wijziging aan het certificaat moet de software ook een waarschuwing geven.

 

Aan de server kant zou TLS zowel voor client-to-server als server-to-server verbindingen verplicht moeten zijn, bij voorkeur met een cipher suite die ‘forward secrecy’ ondersteunt. Als iemand dan een gebruikte sleutel onderschept, zijn de voorgaande sleutels en dus ook je voorgaande gesprekken niet te ontcijferen. Tegen 19 mei 2014 willen alle partijen dit geïmplementeerd hebben. Op die datum wordt ook Open Discussion Day gevierd, een initiatief om open communicatiesystemen en -protocols te promoten. Tot de ondertekenaars van het manifest behoren onder andere ontwikkelaars van de clients Adium, Miranda NG, Jappix, Jitsi, Gajim en ChatSecure en de beheerders van jabber.org en linuxlovers.at, evenals de ontwikkelaars van de serversoftware Prosody IM en ejabberd.

 

Versleutelde sms-berichten in CyanogenMod

TextSecure is een open source app voor Android en iOS die sms-berichten niet enkel lokaal versleuteld, maar ook in de lucht. Niet alleen als u uw smartphone verliest, maar ook als iemand het onveilige gsm-netwerk afluistert, vallen uw gevoelige sms-berichten nooit in verkeerde handen. De app wordt ontwikkeld door Open WhisperSystems. Ontwikkelaar Moxie Marlinspike heeft nu ook een versie voor CyanogenMod gemaakt, die in de sms middleware inhaakt. Daardoor krijg je op CyanogenMod in eender welke sms-app automatisch versleuteling van je sms-berichten. Als je een sms-bericht naar een andere gebruiker van CyanogenMod of TextSecure (op Android of iOS) stuurt, wordt het bericht automatisch versleuteld. Gebruikt de ontvanger daarentegen geen TextSecure, dan zal de app volledig transparant een gewone sms sturen. De nieuwe functionaliteit is aan CyanogenMod 10.2 nightly-versies toegevoegd en zal in CyanogenMod 11 (gebaseerd op Android 4.4 KitKat) standaard aanwezig zijn.

 En verder

Na tweeëneenhalf jaar is een nieuwe versie van libssh uitgekomen. Versie 0.6.0 ondersteunt ECDSA en ECDH en heeft een nieuwe API voor het beheren van publieke sleutels gekregen. Ook nieuw is de ondersteuning van GSSAPI, die door Red Hat getest is tegen FreeIPA en gssproxy, evenals ssh agent forwarding en een verbeterd logsysteem. Volgens de Noorse krant Aftenposten werd de A5/1-encryptie van gsm-signalen onder druk van Groot-Brittannië bewust zwak gemaakt, zodat de veiligheidsdiensten die konden kraken. Aftenposten sprak met vier personen die nauw betrokken waren bij de ontwikkeling van de gsm-standaard. Volgens één van hen werd origineel een sleutellengte van 128 bits voorgesteld, terwijl die uiteindelijk onder politieke druk naar 54 bits gereduceerd werd. En Oracles’ Alan Coopersmith ontdekte in libXfont een buffer overflow die al sinds 1991 aanwezig is in alle X-servers vanaf release X11R5. De X-server draait vaak als root of met setuid root om de benodigde toegangsrechten op de hardware te verkrijgen, dus een uitbuiting van de al bijna 23 jaar aanwezige fout kon een normale gebruiker rootprivileges geven.