En løsning som skal hindre misbruk av krypteringsteknologi på weben, har vist seg å kunne føre til dramatiske konsekvenser for nettsteder som bruker den.
En løsning som skal hindre misbruk av krypteringsteknologi på weben, har vist seg å kunne føre til dramatiske konsekvenser for nettsteder som bruker den. (Bilde: Colourbox/Knud Erik Christensen )

HTTP-basert Public Key Pinning

Google vil fjerne problematisk sikkerhetsteknologi fra Chrome

Glem anbefalingene. Forfatterne av spesifikasjonen angrer seg.

Noen ganger kan gode ideer få uante konsekvenser. Google har i flere år arbeidet med en løsning som skal sikre kunne hindre avlytting av HTTPS-forbindelser ved å bruke falske sertifikater. Denne kalles for «Public Key Pinning Extension for HTTP»  eller HTTP-basert PKP (HPKP), og støttes av Chrome og Chromium-baserte nettlesere som Opera, men også av Firefox. 

Nå vil Google fjerne støtten for HPKP i Chrome.

Hindrer misbruk

Når man med en av de nevnte nettleserne for første gang besøker et nettsted som har tatt i bruk HPKP, forteller nettstedet at nettleseren kun skal godta nettstedet sertifikater dersom disse er signert med én av de nøklene som er indikert i en egen HTTP-header i form av en hashverdi for hver nøkkel, en såkalt «digest».

Dette hindrer at det blir brukt sertifikater utstedt av andre enn de sertifikatutstederne som eier de nevnte nøklene. 

Nedenfor vises et eksempel på en HPKP-header med utløpstid på 365 døgn (oppgitt i antallet sekunder) og to ulike nøkkel-digester.

Public-Key-Pins:
    pin-sha256="d6qzRu9zOECb90Yez27xWltNsj0e1Md7GkYYkVoZWmM=";
    pin-sha256="LPJNul+wow4m6MsqxbninhsWHlwfp0JecwQzYpOLmCQ=";
    max-age=31536000

Sammen med nøkkelen eller nøklene, er det også oppgitt et tidspunkt, for eksempel et år fram i tid. Dermed vil nettleseren huske denne informasjonen i et år, før den vil lese informasjonen på nytt. 

Men ikke uten en viss risiko

Men dersom nettstedet i løpet av dette året, av en eller annen grunn, må ta i bruk sertifikater som er signert med en ny nøkkel, vil nettleseren vise feilmeldinger til brukeren inntil tidsperioden er over eller til brukeren selv har slettet informasjonen i nettleseren. 

Dette opplevde nylig nettstedet Smashing Magazine i forbindelse med at eierne skulle erstatte et TLS-sertifikat som var i ferd med å utløpe. Det nye sertifikatet var blitt signert med en annen nøkkel enn det tidligere. Også digesten av denne nøkkelen ble lagt til HPKP-headeren. Men fordi utløpsdatoen var satt 365 dager fram i tid, ble ikke dette nye sertifikatet godtatt av nettleseren til alle som hadde besøkt Smashing Magazine det siste året.

Dette ble først oppdaget etter at sertifikatet var blitt skiftet ut, trolig fordi det da ble bråstopp i trafikken til nettstedet. Smashing Magazine kunne ikke rulle tilbake det gamle sertifikatet heller, for dette hadde i mellomtiden utløpt. 

Problemet ble til slutt løst ved at det ble lagd et nytt sertifikat med den gamle nøkkelen. Hvordan dette ble gjort, er beskrevet her. I tillegg ble utløpstiden for HPKP-informasjonen redusert til ett døgn. Om dette er lenge nok til å kunne gi noen beskyttelse mot falske sertifikater, kan nok diskuteres.

I dette tilfellet kan man nok konkludere med at det ble gjort en tabbe som kunne ha fått store konsekvenser for nettstedeiere som er økonomisk avhengige av at nettstedene er tilgjengelige.

Les også: Slik kan nettstedet gjøres sikrere

Hovedbegrunnelsen

Men det er også aspekter ved sertifikatutstedelsene som ligger utenfor nettstedeiernes kontroll. For eksempel kan en nettleserleverandør velge å fjerne støtten for utstederen av det sertifikatet et nettsted bruker. Googles plan om å trekke tilbake støtten for sertifikater fra Symantec, er et eksempel på dette.

Da vil en HPKP som først forfaller langt fram i tid, kunne forårsake en uopprettelig katastrofe for de berørte nettstedene. 

Det er dette og lignende forhold som har fått Google til å revurdere støtten for HPKP i Chrome. Selskapets Chris Palmer skriver at disse forholdene gjør at det er vanskelig for nettstedoperatører å bruke løsningen på en måte som garantert vil fungere. Han konkluderer også med at dette er årsaken til at bruken av HPKP er temmelig liten. 

I en undersøkelse som ble offentliggjort av sikkerhetsforskeren Scott Helme i fjor, viste det seg at bare 375 av 1 million største nettsteder hadde tatt i bruk HPKP.

Palmer er blant dem som har skrevet HPKP-spesifikasjonen. En annen av forfatterne, Ryan Sleevi, publiserte i august følgende tvitring: 

Chrome 67

Planen til Google er derfor å fjerne støtte for HPKP i Chrome 67, som trolig kommer i mai 2018. Støtten for innebygd PKP, som Chrome har for blant for blant annet en del av Googles egne domener, skal etter planen fjernes på et senere tidspunkt. 

Dette vil også berøre nettlesere som Opera og Vivaldi, dersom de ikke velger å reversere endringen på egenhånd. 

For nettstedeiere betyr endringen egentlig bare at de like gjerne kan fjerne HPKP-headerne, siden de fra mai 2018 bare vil bli støttet av Firefox, dersom ikke også Mozilla bestemmer seg for å gjøre som Google i dette tilfellet. Apple Safari og Microsofts nettlesere har ifølge Palmer ikke støtte for HPKP.

For å hindre misbruk av sertifikater, bør webutviklere bruke den temmelig ferske Expect-CT-headeren (Certificate Transparency) i stedet for HPKP. 

– Expect-CT er tryggere enn HPKP på grunn av fleksibiliteten det gir nettstedoperatører til å gjenopprette etter konfigurasjonfeil, og på grunn av den innebygde støtten som tilbys av et antall CA-er (Certificate Authority, journ. anm), skriver Palmer. 

Nevne Scott Helme har skrevet mer om Expect-CT her.

Sikkerhetsanalytiker:  – HTTPS er positivt, men kan bidra til å skjule skadevare

Kommentarer (1)

Kommentarer (1)
Til toppen