Översikt
Public Key Infrastructure (PKI) är baserad på principerna om asymmetrisk kryptografiMeddelanden kodas med mottagarens offentliga nyckel, och mottagaren avkodar meddelandet med sin privata nyckel. Men hur vet vi att den offentliga nyckeln vi använder verkligen tillhör den avsedda mottagaren? Vad händer om den offentliga nyckeln är en förfalskning och tillhör en imitatör? digitalt certifikat hjälper till att fastställa om en offentlig nyckel verkligen tillhör den påstådda ägaren.
Precis som ett fysiskt identitetsbevis, såsom ett körkort eller pass, ger ett digitalt certifikat information om en individ tillsammans med hennes/hennes offentliga nyckel och hjälper andra att verifiera individens identitet. Certifikatet innehåller också en eller flera digitala signaturer, vilket indikerar att informationen i certifikatet har bestyrkts av någon annan pålitlig person eller enhet, så kallad en certifikatmyndighetVi kommer att gå igenom mer om certifikatutfärdare i en senare artikel.
Typer av digitala certifikat
De huvudsakliga typerna av digitala certifikat som används idag är:
- Servercertifikat: Dessa implementerar SSL/TLS (Secure Sockets Layer/Transport Layer Security) standarder, installeras på servern och är mest kända för att ha möjliggjort boomet inom e-handelsimplementeringar genom att hjälpa till att säkra kommunikationskanalen mellan klienten och servern. SSL-certifikat finns i sin tur av tre typer:
- Domain Validation (DV) certifikat: TDessa verifierar bara att certifikatinnehavaren har rätt att använda domännamnet; de certifierar dock inte vem ägaren är. Eftersom de bara involverar grundläggande validering är de billiga och kan erhållas direkt från certifikatleverantören. DV-certifikat används vanligtvis för enkla webbplatser och webbapplikationer.
- Organisationsvalideringscertifikat (OV): Dessa ger ytterligare garantier om certifikatinnehavaren och inkluderar valideringar om organisationen, domänägande och huruvida sökanden är behörig att ansöka om certifikatet. OV-certifikat är ett bra alternativ för e-handelswebbplatser.
- Utökad validering (EV) certifikat: Dessa erbjuder de högsta nivåerna av kryptering och följa en strikt autentiseringsprocess innan certifikatet utfärdas. EV-certifikat används vanligtvis av banker och finansinstitut, såväl som e-handelsapplikationer.
- Organisationscertifikat: Dessa används vanligtvis av företag och hjälper till att identifiera anställda för säkra webbtransaktioner och e-postkommunikation.
- Klient- / Personliga certifikat: Dessa är "digitala ID:n" som hjälper till att verifiera en individs identitet och även kontrollera individers åtkomst till information och data. I allmänhet är certifikatbaserad autentisering vida överlägsen en traditionell autentiseringsmekanism baserad på användar-ID och lösenord. Personliga certifikat kan också användas för dokumentsignering. Dessa certifikat är också användbara i Business-to-Business (B2B)-scenarier – till exempel genom att låta leverantörer och partners komma åt och uppdatera specifik information såsom leveransdatum eller lagertillgänglighet.
- Kodsigneringscertifikat: Dessa ger möjlighet att digitalt signera programvara innan den distribueras, vanligtvis via internet, för nedladdning. Dessa certifikat hjälper mottagarna som laddar ner och installerar programvara att verifiera att koden kommer från en autentisk källa och att den inte har ändrats, t.ex. genom införande av skadlig kod, innan den når mottagaren.
X.509-standarden
De flesta digitala certifikat idag är baserade på X.509-standarden, definierad av Internationella telekommunikationsunionen (ITU). X.509 specificerar ett certifikatformat med en standarduppsättning fält enligt nedan.
- Versionsnummer: Identifierar vilken version av X.509-standarden som certifikatet är baserat på
- Offentlig nyckel: Detta är certifikatinnehavarens offentliga nyckel
- Serienummer: Detta är ett unikt nummer för att identifiera certifikatet och skilja det från andra certifikat utfärdade av samma enhet.
- Certifikatinnehavarens unika identifierare: Detta kallas även för ett unikt namn (DN) och är avsett att unikt identifiera certifikatinnehavaren över internet. DN:et består av fält som Common Name (CN), E-post, Organisationsenhet (OU), Organisation (O) och Land (C).
- Giltighetsperiod: Detta inkluderar datum/tid då certifikatet utfärdades och utgångsdatum/-tid.
- Utgivarens unika namn: Detta är det unika namnet på den enhet som utfärdade certifikatet, vanligtvis en certifikatutfärdare (CA). Att använda certifikatet innebär att du litar på den certifikatutfärdare som utfärdade certifikatet.
- Utgivarens digitala signatur: Detta är CA:s digitala signatur, genererad med hjälp av CA:s privata nyckel som kan verifieras genom CA:s publika nyckel.
- Signaturalgoritm: Detta identifierar den algoritm som används av CA:n för att signera certifikatet. Ett exempel på en populär algoritm som används för att signera certifikat är Secure Hash Algorithm (SHA) med en hashlängd på 256, även känd som SHA256.
Certifikattillägg
Version 3 av X.509-standarden introducerades certifikattillägg, som kan användas för att ge ytterligare information om ämnet, utöver den som finns i standardfälten. Exempel på sådan ytterligare information inkluderar alternativa ämnesnamn eller information om vad certifikatet kan användas till, till exempel att signera ett digitalt objekt. Tillägg klassificeras som kritiska och icke-kritiska och detta definierar hur den ytterligare informationen ska behandlas av mottagaren.
Certifikatnycklar
Som beskrivits tidigare i den här artikeln är PKI baserad på asymmetrisk kryptografi, som använder ett offentligt-privat nyckelpar. Det är viktigt att notera att detta nyckelpar skapas av den som begär certifikatet och inte av den utfärdande myndigheten, såsom en CA. Begärande certifikatgivare ansöker om ett certifikat genom att dela sin offentliga nyckel med CA:n. CA:n inkluderar denna offentliga nyckel i det certifikat som den utfärdar till den som begär certifikatet. Certifikatinnehavare bekräftar sin identitet genom att bevisa att de innehar den privata nyckel som motsvarar den offentliga nyckeln i certifikatet.
Nyckelskydd och hantering
Den mest sårbara aspekten av PKI är skyddet av privata nycklar. Om privata nycklar komprometteras, komprometteras hela systemet. Operativsystem erbjuder några grundläggande funktioner som kan användas för nyckelskydd, ett exempel är Data Protection API (DPAPI) i Windows. För ökad säkerhet är dock en av de bästa metoderna att använda dedikerade hårdvaruenheter som Hårdvarusäkerhetsmoduler (HSM:er) och Pålitliga plattformsmoduler (TPM:er).
Sådana dedikerade hårdvarubaserade nyckelskyddslösningar är ett bra alternativ för stora organisationer som hanterar ett stort antal nycklar. För mindre organisationer kan dock HSM:er och TPM:er vara ett dyrt alternativ och alternativ som virtuella enheter och molnbaserade nyckelhanteringslösningar kan vara mer lämpliga.
Certifikatbutiker
Ett certifikatarkiv är ett arkiv som används av certifikatinnehavaren för att lagra digitala certifikat. Detta är vanligtvis en speciell plats i filsystemet som tillhandahålls av operativsystemet. Windows-operativsystemet tillhandahåller till exempel följande typer av certifikatarkiv:
- Lokal maskincertifikatarkiv: Detta är lokalt för datorn och globalt för alla användare. Det finns i systemregistret under HKEY_LOCAL_MACHINE, till exempel HKEY_LOCAL_MACHINESOFTWAREMicrosoftSystemCertifikat och HKEY_LOCAL_MACHINESOFTWAREMicrosoft Enterprise-certifikat
- Nuvarande användarcertifikatarkiv: Detta är lokalt för ett användarkonto på datorn och finns i systemregistret under HKEY_CURRENT_USER, ett exempel är HKEY_CURRENT_USERSjukvaraMicrosoftSystemCertifikat
- Certifikatarkiv för betrodd rot-CA: Detta innehåller rotcertifikaten för alla certifikatutfärdare som är betrodda av Windows operativsystem. Administratörer kan ändra standarduppsättningen av betrodda certifikatutfärdare och även manuellt installera rotcertifikatet för sina egna privata certifikatutfärdare. CA.
- Certifikatarkiv för betrodda utgivare: Detta innehåller information om kodsignering certifikat för betrodda utgivare som är installerade på en dator. Administratörer kan ändra standarduppsättningen för betrodda utgivare och manuellt installera kodsigneringscertifikat i certifikatarkivet för betrodda utgivare.
