Hoe gaan browsers om met ingetrokken SSL /TLS Certificaten?

Details van huidige browserprogramma's voor het controleren van de intrekkingsstatus van SSL /TLS certificaten, inclusief een cross-browser test.

Introductie

De intrekkingsstatus van SSL /TLS certificaten aangeboden door HTTPS websites is een continu probleem in webbeveiliging. Tenzij een server is geconfigureerd om te gebruiken OCSP-nieten, is het online controleren van herroepingen door webbrowsers zowel traag als inbreuk op de privacy. Omdat online OCSP-zoekopdrachten zo vaak mislukken en in sommige situaties onmogelijk zijn (zoals bij captive portals), implementeren browsers OCSP-controle over het algemeen in de "soft-fail" -modus, waardoor het niet effectief is om een ​​vastberaden aanvaller af te schrikken. (Voor een meer complete geschiedenis van dit probleem, lees het artikel van SSL.com, Optimalisatie van pagina laden: OCSP-nieten).

Om deze redenen hebben webbrowsers een reeks oplossingen geïmplementeerd om de noodzaak van online intrekkingscontrole te verminderen of te elimineren. De exacte details verschillen tussen providers, maar deze oplossingen omvatten over het algemeen het verzamelen van lijsten met ingetrokken certificaten van certificeringsinstanties (CA's) en deze naar browsers pushen.

Dit artikel biedt samenvattingen op hoog niveau van de validatiecontrolestrategieën die worden gebruikt door de belangrijkste desktopbrowsers (Chrome, Firefox, Safari en rand), en vergelijkt de reacties van deze browsers met een aantal voorbeelden ingetrokken certificaten gehost door SSL.com.

Voor voorbeelden van browserfoutmeldingen als gevolg van ingetrokken certificaten verwijzen wij u naar Deze gids. U kunt de intrekkingsstatus van een certificaat controleren op certificaat.revocationcheck.com

Google Chrome

Chrome vertrouwt op CRL-sets voor controle op intrekking. Een CRLSet is gewoon een lijst met ingetrokken certificaten die als software-update naar de browser wordt gepusht. Volgens de Chromium Projects-website, de processen waarmee Google CRLSets genereert, zijn eigendom, maar ook dat

CRLSets… zijn in de eerste plaats een middel waarmee Chrome snel certificaten kan blokkeren in noodsituaties. Als secundaire functie kunnen ze ook een aantal niet-dringende herroepingen bevatten. Deze laatste intrekkingen worden verkregen door CRL's te crawlen die zijn gepubliceerd door CA's.

De bovenstaande verklaring geeft dat tenminste aan sommige ingetrokken eindentiteitscertificaten met lage prioriteit kunnen in CRLSets terechtkomen, maar zijn een secundaire overweging.

U kunt de CRLSet-versie controleren die momenteel is geïnstalleerd in een exemplaar van Chrome door naar te navigeren chrome://components/:

CRLSet-versie

Opmerking: De op Chromium gebaseerde Opera-browser gebruikt ook CRL-sets voor controle op intrekking. U kunt de geïnstalleerde versie controleren door naar te navigeren opera://components. Zoals opgemerkt onderis de huidige versie van de Edge-browser van Microsoft ook gebaseerd op Chromium en maakt gebruik van CRLSets.

Het is momenteel niet mogelijk om Chrome rechtstreeks te configureren om online geldigheidsvragen voor certificaten uit te voeren. Afhankelijk van het besturingssysteem kunnen deze controles echter worden uitgevoerd door de onderliggende certificaatbibliotheek die door het besturingssysteem wordt gebruikt. (Zoals te zien is onder in de resultaten van beperkte browsertests ontdekten we dat installaties van Chrome met hetzelfde versienummer en CRLSet feitelijk anders reageerden op twee ingetrokken certificaten op Windows dan op macOS.)


Mozilla Firefox

Net als Google houdt Mozilla een gecentraliseerde lijst bij van ingetrokken certificaten, genaamd EénCRL. OneCRL is een lijst met tussenliggende certificaten die zijn ingetrokken door CA's in het rootprogramma van Mozilla, en die in applicatie-updates naar Firefox-gebruikers worden gepusht. Wat betreft eindentiteitscertificaten, Mozilla's intrekkingsplan merkt op dat "in de toekomst, zodra de initiële implementatie werkt, we kunnen overwegen om EE-certificaten te dekken met OneCRL, waarbij we ons in eerste instantie mogelijk richten op specifieke klassen (bijv. EV-certificaten)."

OneCRL kan worden gedownload als een JSON-object hier., of bekeken als een webpagina op crt.sh.

In tegenstelling tot Chrome vragen de standaardinstellingen van Firefox ook OCSP-responders om de geldigheid van SSL /TLS certificaten. (U kunt deze instelling wijzigen in de beveiligingsvoorkeuren van Firefox.)

Vraag OCSP-responderservers

Omdat OCSP-queryfouten echter zo vaak voorkomen, implementeert Firefox (net als andere browsers) een "soft-fail" -beleid. Als u wilt, kunt u een strikte OCSP-controle eisen door naar about:config en wisselen security.OCSP.require naar true.


Apple Safari

Apple's huidige benadering van herroeping wordt behandeld door Bailey Basile in haar WWDC-lezing van 2017, Uw apps en evoluerende netwerkbeveiligingsnormen. Apple verzamelt informatie over het intrekken van certificaten van de CA's die op zijn apparaten worden vertrouwd en voegt dit allemaal samen in een enkele bundel die periodiek wordt opgehaald door de clientsoftware van Apple (klinkt dit als een bekend plan?).

Wanneer een clienttoepassing een certificaat tegenkomt dat in de lijst van Apple wordt weergegeven, voert het een OCSP-controle uit om te bevestigen dat het certificaat in feite is ingetrokken (tenzij de server een geniet OCSP-antwoord geeft). Merk op dat online OCSP-controles alleen worden uitgevoerd in het geval van certificaten waarvan Apple al denkt dat ze zijn ingetrokken; certificaten die niet in de bij Apple opgevraagde bundel staan, worden niet gecontroleerd.

Een link naar de intrekkingslijst van Apple en de code om deze te ontleden is beschikbaar hier..


Microsoft Edge

Windows houdt een lijst bij van ingetrokken of anderszins op de zwarte lijst geplaatste certificaten in een bestand met de naam disallowedcert.stl. Deze blogbericht biedt informatie over het dumpen van de inhoud van het bestand met PowerShell. crt.sh geeft ook informatie over de vraag of een bepaald certificaat wordt vermeld in disallowedcert.stl.

Net als Firefox is Windows standaard ingesteld om te controleren op intrekking van certificaten. Deze instelling kan worden bekeken en gewijzigd in het Eigenschappen voor het Internet Controlepaneel:

De huidige (op Chromium gebaseerde) versie van Edge, zoals Chrome, vertrouwt echter op CRLSets voor intrekkingscontrole en blijkt uit onze tests onder onafhankelijk zijn van instellingen voor intrekkingcontrole in interneteigenschappen. ​Opmerking: In een eerdere versie van deze tests, gedaan in september 2019, Internet Explorer en een pre-Chromium-versie van Edge deed volg deze instellingen in Interneteigenschappen.)


Variatie tussen browsers

Omdat SSL.com een ​​groep webservers onderhoudt die voorbeelden van ingetrokken certificaten hosten, hebben we besloten om ze te testen met een reeks desktopbrowsers. Deze kleine, niet erg wetenschappelijke test werd uitgevoerd op 23 februari 2020. De gebruikte browsers waren:

  • Chrome 88.0.4324.182, CRLSet-versie 6444 (macOS 10.15.7)
  • Chrome 88.0.4324.182, CRLSet-versie 6444 (Windows 10 Pro)
  • Edge 88.0.705.74, CRLSet-versie 6444 (Windows 10 Enterprise)
  • Firefox 86.0 - OCSP-zoekopdrachten op (macOS 10.15.7)
  • Firefox 86.0 - OCSP-zoekopdrachten uitgeschakeld (macOS 10.15.7)
  • Safari 14.0.3 (macOS 10.15.1)

Daarnaast hebben we Chrome en Edge in Windows getest met online intrekkingscontrole uitgeschakeld in het configuratiescherm van Internet-eigenschappen, en (voor Chrome, Firefox en Edge) gecontroleerd of het relevante certificaat werd vermeld als ingetrokken met een bepaald browserprogramma in crt.sh.

  Chrome (macOS) Chroom (Windows) Rand (Windows) Firefox (Mac) (OCSP ingeschakeld) Firefox (Mac) (OCSP uitgeschakeld) Safari (Mac)
ingetrokken-rsa-dv.ssl.com Ingetrokken Niet ingetrokken Niet ingetrokken Ingetrokken Niet ingetrokken Ingetrokken
ingetrokken-rsa-ev.ssl.com Ingetrokken Ingetrokken Ingetrokken Ingetrokken Niet ingetrokken Ingetrokken
ingetrokken-ecc-dv.ssl.com Ingetrokken Niet ingetrokken Niet ingetrokken Ingetrokken Niet ingetrokken Ingetrokken
ingetrokken-ecc-ev.ssl.com Ingetrokken Ingetrokken Ingetrokken Ingetrokken Niet ingetrokken Ingetrokken

Discussie over resultaten

Chrome: In Windows liet Chrome ten onrechte twee van de ingetrokken certificaten zien (ingetrokken-rsa-dv.ssl.com en ingetrokken-ecc-dv.ssl.com) als geldig en de andere als ingetrokken. Het uitschakelen van validatiecontrole in het besturingssysteem veranderde deze reactie niet. Interessant is dat geen van de vier certificaten werd getoond als ingetrokken in CRLSet in crt.sh op het moment van de test, met verdere vragen over de intrekkingscontroleprocessen van Chrome. Op macOS gaf Chrome alle vier certificaten correct weer als ingetrokken, wat de platformgebaseerde verschillen in het gedrag van Chrome illustreert.

Edge: De huidige (op Chromium gebaseerde) versie van Edge mirrored Chrome wordt weergegeven ingetrokken-rsa-dv.ssl.com en ingetrokken-ecc-dv.ssl.com als geldig. Net als Chrome liet Edge dezelfde resultaten zien, ongeacht of validatiecontrole was ingeschakeld in het besturingssysteem. Geen van de vier certificaten werd weergegeven zoals vermeld in disallowedcert.stl on crt.sh.

Firefox: Zoals mag worden verwacht van de door OneCRL verklaarde focus op tussenliggende certificaten, herkende Firefox alleen alle vier de certificaten als ingetrokken met OCSP-query's ingeschakeld in de voorkeuren van de browser, maar accepteerde ze alle vier als geldig als OCSP-query's waren uitgeschakeld. ​Opmerking: Alle vier deze ingetrokken certificaten van eindentiteiten zijn afkomstig van geldige, niet-ingetrokken tussenproducten.) Net als bij Chrome, crt.sh toont geen van de certificaten zoals ingetrokken in OneCRL.

Safari: Safari op macOS herkende alle vier de certificaten correct als ingetrokken. crt.sh geeft geen informatie over intrekking van Apple weer en we hebben niet gecontroleerd of deze specifieke certificaten worden vermeld als ingetrokken door Apple.

Conclusie

De resultaten lijken erop te wijzen dat intrekking nog steeds een problematisch probleem is voor desktopwebbrowsers (mobiele apparaten vertegenwoordigen een hele andere wereld, maar dat is een onderwerp voor een ander artikel). Het inschakelen van (langzame, onveilige) online OCSP-controle was nodig om certificaten te herkennen als ingetrokken in Firefox, terwijl Chrome en Edge twee ingetrokken certificaten op Windows niet konden herkennen, ongeacht of intrekkingscontrole was ingeschakeld in het besturingssysteem.

Voor website-eigenaren lijkt het verstandig om aan te nemen dat de verschillende browserprogramma's gericht zijn op incidenten met hoge prioriteit / noodsituaties zoals ingetrokken root- en tussenliggende CA-certificaten, en dat intrekkingen van certificaten van eindentiteiten in de tuin waarschijnlijk onopgemerkt blijven voor een onbepaalde tijd. Om deze reden implementeren OCSP-nieten en nieten lijkt de meest persoonlijke, veilige en effectieve manier te zijn om ervoor te zorgen dat eindgebruikers nauwkeurige informatie ontvangen over intrekking van certificaten van eindentiteiten.

 

SSL.com biedt een breed scala aan SSL /TLS server certificaten voor HTTPS-websites.

VERGELIJK SSL /TLS CERTIFICATEN

Abonneer u op de nieuwsbrief van SSL.com

Mis geen nieuwe artikelen en updates van SSL.com

We willen graag uw feedback

Vul onze enquête in en laat ons uw mening over uw recente aankoop weten.