Overzicht
Publieke Sleutel Infrastructuur (PKI) is gebaseerd op de principes van asymmetrische geheimschrift: berichten worden gecodeerd met de publieke sleutel van de ontvanger, en de ontvanger decodeert het bericht met haar privésleutel. Maar hoe weten we dat de publieke sleutel die we gebruiken daadwerkelijk van de beoogde ontvanger is? Wat als de publieke sleutel een vervalsing is en toebehoort aan een imitator? digitaal certificaat helpt vaststellen of een openbare sleutel daadwerkelijk toebehoort aan de vermeende eigenaar.
Net als een fysiek identiteitsbewijs, zoals een rijbewijs of paspoort, biedt een digitaal certificaat informatie over een persoon, samen met zijn/haar openbare sleutel, en helpt het iedereen om de identiteit van die persoon te verifiëren. Het certificaat bevat ook een of meer digitale handtekeningen, die aangeven dat de informatie in het certificaat is bevestigd door een andere betrouwbare persoon of entiteit, bekend als een certificaat autoriteitIn een volgend artikel gaan we dieper in op certificeringsinstanties.
Soorten digitale certificaten
De belangrijkste typen digitale certificaten die tegenwoordig worden gebruikt, zijn:
- Servercertificaten: Deze implementeren de SSL/TLS (Secure Sockets Layer / Transport Layer Security) Standaarden worden op de server geïnstalleerd en staan erom bekend dat ze de explosie aan e-commerce-implementaties mogelijk hebben gemaakt door het communicatiekanaal tussen de client en de server te beveiligen. SSL-certificaten bestaan op hun beurt uit drie typen:
- Domeinvalidatiecertificaten (DV).: TDeze verifiëren alleen dat de certificaathouder het recht heeft om de domeinnaam te gebruiken; ze bevestigen echter niet wie de eigenaar is. Omdat ze slechts een basisvalidatie inhouden, zijn ze goedkoop en direct verkrijgbaar bij de certificaatverstrekker. DV-certificaten worden meestal gebruikt voor eenvoudige websites en webapplicaties.
- Organisatievalidatie (OV)-certificaten: Deze bieden extra garanties over de certificaathouder en omvatten validaties over de organisatie, domeineigendom en of de aanvrager bevoegd is om het certificaat aan te vragen. OV-certificaten zijn een goede optie voor e-commercewebsites.
- Extended Validation (EV)-certificaten: Deze bieden de hoogste niveaus van encryptie en volgen een strikt authenticatieproces voordat het certificaat wordt uitgegeven. EV-certificaten worden doorgaans gebruikt door banken en financiële instellingen, evenals in e-commercetoepassingen.
- Organisatiecertificaten: Deze worden doorgaans gebruikt door zakelijke entiteiten en helpen bij het identificeren van werknemers voor veilige webtransacties en e-mailcommunicatie.
- Client-/persoonlijke certificaten: Dit zijn 'digitale ID's' die helpen de identiteit van een individu te verifiëren en tevens de toegang van individuen tot informatie en gegevens te controleren. Over het algemeen is certificaatgebaseerde authenticatie veel beter dan een traditioneel authenticatiemechanisme op basis van gebruikers-ID's en wachtwoorden. Persoonlijke certificaten kunnen ook worden gebruikt voor het ondertekenen van documenten. Deze certificaten zijn ook nuttig in Business-to-Business (B2B)-scenario's – bijvoorbeeld om leveranciers en partners toegang te geven tot en specifieke informatie bij te werken, zoals verzenddata of voorraadbeschikbaarheid.
- Certificaten voor codeondertekening: Deze bieden de mogelijkheid om software digitaal te ondertekenen voordat deze wordt verspreid, meestal via internet, om te downloaden. Deze certificaten helpen ontvangers die software downloaden en installeren, te verifiëren dat de code afkomstig is van een betrouwbare bron en dat deze niet is gewijzigd, bijvoorbeeld door malware te installeren, voordat deze de ontvanger bereikt.
De X.509-standaard
De meeste digitale certificaten zijn tegenwoordig gebaseerd op de X.509-standaard, gedefinieerd door de Internationale Telecommunicatie-unie (ITU). X.509 specificeert een certificaatformaat met een standaardset velden, zoals hieronder aangegeven.
- Versienummer: Geeft aan op welke versie van de X.509-standaard het certificaat is gebaseerd
- Publieke sleutel: Dit is de openbare sleutel van de certificaathouder
- Serienummer: Dit is een uniek nummer om het certificaat te identificeren en te onderscheiden van andere certificaten die door dezelfde entiteit zijn uitgegeven.
- Unieke identificatie van de certificaathouder: Dit staat ook bekend als een Distinguished Name (DN) en is bedoeld om de certificaathouder op internet eenduidig te identificeren. De DN bestaat uit velden zoals Common Name (CN), Email, Organizational Unit (OU), Organization (O) en Country (C).
- Geldigheidsduur: Hieronder vallen de datum/tijd waarop het certificaat is uitgegeven en de vervaldatum/-tijd.
- Unieke naam van de uitgever: Dit is de unieke naam van de instantie die het certificaat heeft uitgegeven, meestal een certificeringsinstantie (CA). Door het certificaat te gebruiken, geeft u aan dat u de CA vertrouwt die het certificaat heeft uitgegeven.
- Digitale handtekening van de uitgever: Dit is de digitale handtekening van de CA, die wordt gegenereerd met behulp van de privésleutel van de CA en die kan worden geverifieerd via de openbare sleutel van de CA.
- Handtekeningalgoritme: Dit identificeert het algoritme dat de CA gebruikt om het certificaat te ondertekenen. Een voorbeeld van een populair algoritme voor het ondertekenen van certificaten is het Secure Hash Algorithm (SHA) met een hashlengte van 256, ook bekend als SHA256.
Certificaatuitbreidingen
Versie 3 van de X.509-standaard geïntroduceerd certificaatuitbreidingen, Deze kan worden gebruikt om aanvullende informatie over het onderwerp te verstrekken, naast de informatie in de standaardvelden. Voorbeelden van dergelijke aanvullende informatie zijn alternatieve onderwerpnamen of informatie over waarvoor het certificaat kan worden gebruikt, zoals het ondertekenen van een digitaal object. Uitbreidingen worden gekwalificeerd als kritisch en niet-kritiek en definiëren hoe de aanvullende informatie door de ontvanger moet worden verwerkt.
Certificaatsleutels
Zoals eerder in dit artikel beschreven, is PKI gebaseerd op asymmetrische cryptografie, die gebruikmaakt van een publiek-privé sleutelpaar. Het is belangrijk om te weten dat dit sleutelpaar wordt aangemaakt door de aanvrager en niet door de uitgevende instantie, zoals een CA. Aanvragers vragen een certificaat aan door hun publieke sleutel te delen met de CA. De CA neemt deze publieke sleutel op in het certificaat dat zij aan de aanvrager uitgeeft. Certificaathouders bevestigen hun identiteit door aan te tonen dat zij de privésleutel bezitten die overeenkomt met de publieke sleutel in het certificaat.
Sleutelbescherming en -beheer
Het meest kwetsbare aspect van PKI is de bescherming van privésleutels. Als privésleutels worden gecompromitteerd, is het hele systeem gecompromitteerd. Besturingssystemen bieden een aantal basisfuncties die kunnen worden gebruikt voor sleutelbescherming, een voorbeeld hiervan is de Data Protection API (DPAPI) in Windows. Voor verhoogde beveiliging is het echter een van de beste praktijken om speciale hardwareapparaten te gebruiken, zoals Hardwarebeveiligingsmodules (HSM's) en Vertrouwde platformmodules (TPM's).
Dergelijke hardwarematige sleutelbeveiligingsoplossingen zijn een goede optie voor grote organisaties die een groot aantal sleutels beheren. Voor kleinere organisaties kunnen HSM's en TPM's echter een dure optie zijn en kunnen alternatieven zoals virtuele apparaten en cloudoplossingen voor sleutelbeheer geschikter zijn.
Certificaatopslag
Een certificaatarchief is een opslagplaats die door de certificaathouder wordt gebruikt om digitale certificaten op te slaan. Dit is meestal een speciale locatie in het bestandssysteem van het besturingssysteem. Het Windows-besturingssysteem biedt bijvoorbeeld de volgende typen certificaatarchieven:
- Certificaatopslag van lokale machine: Dit is lokaal op de computer en globaal voor alle gebruikers. Het bevindt zich in het systeemregister onder HKEY_LOCAL_MACHINE, voorbeelden zijn: HKEY_LOCAL_MACHINESOFTWAREMicrosoftSysteemCertificaten en HKEY_LOCAL_MACHINESOFTWAREMicrosoftEnterpriseCertificaten
- Certificaatopslag huidige gebruiker: Dit is lokaal voor een gebruikersaccount op de computer en bevindt zich in het systeemregister onder HKEY_CURRENT_USER, een voorbeeld hiervan is HKEY_CURRENT_USERSoftwareMicrosoftSysteemCertificaten
- Vertrouwde root-CA-certificaatopslag: Dit bevat de rootcertificaten van alle CA's die door het Windows-besturingssysteem worden vertrouwd. Beheerders kunnen de standaardset vertrouwde CA's wijzigen en ook handmatig het rootcertificaat van hun eigen privé-CA installeren. CA.
- Vertrouwde uitgeverscertificaatwinkel: Dit bevat informatie over code ondertekening Certificaten van vertrouwde uitgevers die op een computer zijn geïnstalleerd. Beheerders kunnen de standaardset van vertrouwde uitgevers wijzigen en handmatig codeondertekeningscertificaten installeren in het certificaatarchief van vertrouwde uitgevers.
