Online Certificate Status Protocol (OCSP) och Certificate Revocation Lists (CRL) är två metoder för att underhålla Certifikatlivscykelhantering (CLM) för din organisation. Men innan vi går in på vilken metod som är bäst, låt oss diskutera varför du ens borde använda CLM från första början.
Som du kanske vet, när du använder HTTP/S på webbplatser som hanteras av organisationer, SSL-certifikat används vilka organisationer vinner på en Certifikatutfärdare (CA) vilket validerar om certifikatet är legitimt eller inte. Dessa certifikat har dock en giltighetsperiod under vilken de förblir aktiva och krypterar all kommunikation till och från servern, vilket skyddar användaraktivitet online från skurkar och Man-in-the-Middle-attacker (MitM).
Efter att nämnda certifikat har löpt ut måste ett nytt certifikat utfärdas och det tidigare certifikatet måste svartlistas så att det inte används för framtida kommunikation. För att föra register över sådana aktiviteter är organisationer skyldiga att använda CLM.
OCSP
Online Certificate Status Protocol (OCSP) är ett internetprotokoll som gör det möjligt för applikationer att fastställa återkallningsstatusen för identifierade certifikat utan att använda certifikatåterkallningslistor (CRL). Med OCSP är det möjligt att få mer aktuell information om återkallningsstatusen än vad som är möjligt med CRL.
Hur det fungerar
En OCSP-klient skickar en statusförfrågan till en OCSP-responder och väntar med att acceptera certifikaten tills respondern ger ett svar.
OCSP-begäran
En OCSP-begäran innehåller följande information:
- Protokollversion
- Serviceförfrågan
- Målcertifikatidentifierare
- Andra valfria tillägg.
När OCSP-svararen mottagit begäran kontrollerar den om de fördefinierade villkoren är uppfyllda. Dessa villkor är:
- Meddelandet ska vara välformulerat.
- Svararen bör konfigureras för att tillhandahålla den begärda tjänsten.
- Begäran ska innehålla den information som svararen behöver.
Den returnerar ett definitivt svar om alla ovanstående villkor är uppfyllda, och producerar annars ett felmeddelande.
OCSP-svar
Ett OCSP-svar kan vara av olika typer, men det finns bara en typ av OCSP-svar som stöds av alla OCSP-servrar och klienter. Ett grundläggande OCSP-svar innehåller följande information:
- Version av svarssyntaxen
- Identifierare för svararen
- Tidpunkt då svaret genererades
- Svar för vart och ett av certifikaten i en begäran
- Valfria tillägg
- Signaturalgoritm OID
- Signatur beräknad över en hash av svaret
Det finns 3 certifikatstatusvärden som kan returneras:
-
bra
Certifikatstatusen "bra" visar att certifikatet är giltigt för användning. Som ett minimum visar detta att ett certifikat med motsvarande serienummer och giltighetsperiod inte har återkallats.
-
återkallats
Tillståndet ”återkallat” indikerar att certifikatet har återkallats, antingen tillfälligt eller permanent. Om certifikatutfärdaren inte har någon registrering av att någonsin ha utfärdat ett certifikat med certifikatets serienummer i begäran, kan denna status också returneras.
-
Okänd
Tillståndet "okänt" indikerar att svararen inte känner till det begärda certifikatet, vanligtvis eftersom begäran indikerar en okänd utfärdare som inte betjänas av denna svarare.
OCSP-svaret signeras alltid av CA för att säkerställa att inga ändringar sker medan begäran besvaras.
OCSP häftning
OCSP-häftning förbättrar prestandan genom att konfigurera ett digitalt signerat och tidsstämplat OCSP-svar på webbservern. Detta OCSP-svar uppdateras sedan med vissa intervall som anges av certifikatutfärdaren. Det häftade OCSP-svaret låter webbservern inkludera OCSP-svaret i den initiala SSL-handskakningen, utan att användaren behöver göra en separat anslutning till certifikatutfärdaren.
Fördelar
- Jämfört med CRL innehåller ett OCSP-svar betydligt mindre data eftersom en klient med hjälp av OCSP kan fråga statusen för ett enskilt certifikat istället för att behöva ladda ner och analysera en hel lista.
- Eftersom den begärda datamängden är låg är belastningen på klienten och nätverket betydligt lägre än med CRL:er.
Nackdelar
- Eftersom begäran skickas för varje certifikat varje gång kan den överbelasta OCSP-respondern för webbplatser med hög trafik.
- Även om ovanstående kan lösas med hjälp av OCSP Stapling, stöds det ännu inte av alla webbläsare.
- Om serverns privata nyckel har komprometterats kan en angripare utge sig för att vara servern med hjälp av en "Man in the Middle"-attack.
CRL
En lista över återkallelse av certifiering (CRL) är en lista över digitala certifikat som har återkallats av den utfärdande certifikatutfärdaren (CA) före deras planerade utgångsdatum och inte längre bör vara betrodda. Det finns två olika tillstånd för återkallelse definierade:
återkallats
I detta tillstånd återkallas ett certifikat oåterkalleligt och kan inte återställas. Orsaken till återkallelsen kan vara något av följande:
- Ospecificerad
- Nyckelkompromiss
- CA-kompromiss
- Tillhörighet ändrad
- ersatt
- Upphörande av verksamheten
- Certifikatbevaring
- Borttagen från CRL
- Privilegiet återkallat
- CA-kompromiss
Den vanligaste orsaken till återkallelse är att användarens privata nyckel har komprometterats.
Håll
Ett certifikat som spärras tillfälligt och kan återinföras vid behov. Att spärra ett certifikat kan ske av flera anledningar, till exempel om en privat nyckel som tidigare tros vara förlorad hittades, kan statusen återinföras och certifikatet blir giltigt igen.
Hur det fungerar
En CRL fungerar i huvudsak som en svartlista för certifikat. En webbläsare gör en GET-förfrågan till en HTTPS-aktiverad sida, certifikatutfärdaren tar emot begäran och returnerar sedan en lista över alla återkallade certifikat. Webbläsaren analyserar sedan CRL:n för att säkerställa att certifikatet för den begärda webbplatsen inte finns i den.
När en webbläsare vill hämta en CRL för ett certifikat hämtar den den från en specificerad CRL-distributionspunkt (en CRL-distributionspunkt (CDP) är ett X.509 v3-certifikattillägg). Enkelt uttryckt är en CRL-distributionspunkt en delad plats i nätverket som används för att lagra CRL och certifikat. Det är också möjligt att ha två distributionspunkter, en som pekar på HTTP CRL-platsen och den andra som pekar på LDAP CRL-platsen. Både distributionspunkterna HTTP och LDAP kan peka på samma CRL.
Fördelar
Att använda en CRL är det näst bästa sättet att upprätthålla en certifikatlivscykel om OCSP av någon anledning inte är tillgängligt.
Nackdelar
- Generellt sett innehåller den returnerade CRL:n tusentals rader, vilket kan ha en avsevärd effekt på nätverks- och klientprestanda.
- Vanligtvis är publiceringen av en ny CRL mycket långsam, vilket kan göra klienten sårbar för attacker.
- Om en klient av någon anledning inte kan ladda ner CRL-filen kommer den som standard att lita på certifikatet.
| OCSP | CRL |
|---|---|
| OCSP kan användas för att hämta statusen för ett enskilt certifikat. | En CRL är en lista med flera rader som måste laddas ner av webbläsaren. |
| Status för ett certifikat hämtas genom att göra en begäran till en OCSP-responder. | En CRL distribueras med hjälp av en CDP-punkt som kan vara en HTTP-länk eller en LDAP-server. |
| Har mindre effekt på klient- och nätverksresurserna. | Har stor effekt på klientresurser. |
| Är för närvarande branschstandarden för hantering av certifikatlivscykel. | Brukade vara den enda lösningen för Certifikat Lifecycle Management. |
