Onderzoekers demonstreren downgrade-aanval op TLS 1.3

Onderzoekers hebben een downgrade-aanval op TLS 1.3 gedemonstreerd, alsmede meerdere lekken in grote TLS-libraries ontdekt, waardoor een aanvaller toegang tot gevoelige gegevens kan krijgen. Voor het opzetten van een versleutelde verbinding

maken websites gebruik van het TLS (Transport Layer Security) protocol.

De meestgebruikte versie op dit moment is TLS-versie 1.2. Deze versie kent echter verschillende tekortkomingen die in TLS 1.3 zijn verholpen. Websites kunnen voor het opzetten van een versleutelde verbinding uit verschillende TLS-implementaties kiezen. Onderzoekers van securitybedrijf NCC Group vonden vijf kwetsbaarheden in zeven grote TLS-libraries, te weten: OpenSSL, Amazon s2n, MbedTLS, Apple CoreTLS, Mozilla NSS, WolfSSL en GnuTLS. Deze libraries bleken kwetsbaar voor cache-aanvallen waarmee het mogelijk is om de RSA-sleuteluitwisseling van TLS-implementaties te breken.

De aanval raakt alle TLS-versies, waaronder het nieuwe TLS 1.3. TLS kan een RSA-sleuteluitwisseling gebruiken tijdens het opzetten van een verbinding, om zo een gedeeld geheim af te spreken. De client versleutelt het gedeelde geheim met de publieke RSA-sleutel van de server. Vervolgens ontvangt de server het versleutelde geheim en ontsleutelt het. Als het mogelijk is om deze waarde te ontsleutelen, kan de sessie passief worden ontsleuteld en kunnen er bijvoorbeeld cookies worden onderschept of kan de aanvaller de client of server imiteren.

Het gebruik van RSA maakt het ook mogelijk om TLS 1.3-verbindingen te downgraden. Op deze manier kan een aanvaller ervoor zorgen dat voor het opzetten van de verbinding tussen gebruiker en website een zwakkere beveiliging wordt gebruikt, die mogelijk te kraken is. Op deze manier kunnen weer gevoelige gegevens worden gestolen.

Om de downgrade-aanval tegen TLS 1.3 uit te voeren moet de server waar de gebruiker mee verbinding maakt wel een oudere TLS-versie ondersteunen. Vervolgens kan een aanvaller twee technieken toepassen om TLS 1.3 te downgraden. De eerste techniek maakt gebruik van het feit dat de publieke sleutel van de server een RSA-sleutel is die wordt gebruikt om de encryptiesleutels te signeren tijdens het opzetten van de verbinding, en dat de oudere TLS-versie die de server ondersteunt dezelfde sleutels hergebruikt.

De tweede techniek maakt gebruik van het feit dat beide partijen een oudere TLS-versie ondersteunen die een RSA-sleuteluitwisseling ondersteunt. TLS 1.3 maakt geen gebruik van het RSA-algoritme voor het uitwisselen van sleutels. Wel maakt het gebruik van het handtekeningalgoritme van RSA. Als het certificaat van de server een RSA publieke sleutel bevat, zal die worden gebruikt voor het signeren van de encryptiesleutels bij het opzetten van de verbinding.

Om de aanval uit te voeren moet een aanvaller tussen de gebruiker en het internet zitten en JavaScript kunnen toevoegen dat door de browser van de gebruiker wordt uitgevoerd. De onderzoekers noemen in een paper over de aanval verschillende mitigaties, maar ze stellen dat het de hoogste tijd is om RSA niet meer in TLS te gebruiken. Iets dat ook door één van de uitvinders van RSA, Adi Shamir, wordt aangeraden. De kwetsbaarheden in TLS-libraries zijn eind november aan de betreffende ontwikkelaars gemeld.

Image

Op deze website gebruikt VM4 cookies en vergelijkbare technieken om de website goed te kunnen laten werken en om te analyseren hoe de website wordt gebruikt.