Certificaatondertekeningsverzoeken (CSR's) zijn cruciaal voor webbeveiliging en -encryptie. Ze zijn integraal onderdeel van het proces om een Secure Socket Layer (SSL) of Transport Layer Security (TLS) certificaat van een Certificate Authority (CA)Deze blog helpt u bij het begrijpen en opstellen van een CSR, waarbij de nadruk ligt op het belang ervan voor het handhaven van de webbeveiliging.
Wat is een MVO?
Bij het aanvragen van een SSL-certificaat van een server wordt een blok gecodeerde tekst verzonden, bekend als een Certificate Signing Request. Certificate AuthorityHet wordt meestal gegenereerd op de server waar het certificaat wordt geïnstalleerd. Het bevat informatie over het certificaat, zoals de organisatienaam, de algemene naam (domeinnaam), de plaats en het land. Bovendien bevat het de openbare sleutel die wordt gebruikt om het certificaat te ondertekenen.
Waarom zijn MVO's belangrijk?
CSR's fungeren als een kanaal tussen de entiteit het aanvragen van de SSL-certificaat en de CA die deze uitgeeft. Door een CSR te genereren, creëert u twee essentiële items. De eerste is de public keys, die is opgenomen in de CSR. De tweede is de privésleutel, die gelijktijdig met de CSR wordt gegenereerd en op uw server blijft staan. De privésleutel moet geheim blijven, omdat deze de server in staat stelt om te authenticeren en informatie te decoderen zodra het SSL-certificaat operationeel is.
Overzicht van Luna Cloud HSM van Thales: kenmerken en voordelen
Luna Cloud HSM is een Hardwarebeveiligingsmodule (HSM) Aangeboden door Thales. Het onderdeel "Cloud HSM" geeft aan dat het een cloudgebaseerd aanbod is. U kunt het als service via internet gebruiken in plaats van een HSM fysiek in uw datacenter te installeren en te beheren. De Luna Cloud HSM maakt deel uit van de CipherTrust Cloud Key Manager-service van Thales.
Een HSM is een speciaal hardwareapparaat met gespecialiseerde cryptografische processoren, ontworpen om digitale sleutels te beheren en cryptografische bewerkingen uit te voeren. Ze bieden een veilige omgeving waarin u encryptiesleutels kunt genereren, beheren en gebruiken, en houden deze geïsoleerd van andere systeemonderdelen voor een betere beveiliging. HSM's worden doorgaans gebruikt om de meest gevoelige digitale activa van een organisatie te beveiligen.
De Luna Cloud HSM combineert het beste van de cloud met HSM: schaalbaarheid, toegankelijkheid en lagere initiële kosten. U krijgt de beveiliging van een traditionele HSM met de extra voordelen van een cloudservice.
De belangrijkste kenmerken van Luna Cloud HSM zijn:
-
Robuuste beveiliging
Luna Cloud HSM maakt gebruik van de sterke encryptie van Thales en sleutelbeheer mogelijkheden, wat een van de hoogste niveaus van cloudgegevensbescherming oplevert. De HSM's zijn fraudebestendig en bieden een veilige omgeving voor cryptografische bewerkingen.
-
Schaalbaarheid
Naarmate uw cryptografische behoeften toenemen, kan Luna Cloud HSM eenvoudig meeschalen. U hoeft zich geen zorgen te maken over de aanschaf en installatie van extra HSM-hardware.
-
Hoge beschikbaarheid
Luna Cloud HSM biedt hoge beschikbaarheid en automatische failovermogelijkheden om de bedrijfscontinuïteit te garanderen. U kunt HSM's in meerdere regio's implementeren om lokale uitval te beperken.
-
Compliant
Luna Cloud HSM helpt u te voldoen aan de wettelijke normen met betrekking tot cryptografische bewerkingen en sleutelbeheer, waaronder PCI DSS, GDPRen HIPAADe service wordt geleverd met uitgebreide audit- en loggingmogelijkheden.
-
Interoperabiliteit
Luna Cloud HSM ondersteunt een breed scala aan cryptografische API's, bibliotheken en integraties, zoals PKCS#11, Java (JCE), Microsoft CryptoAPI en Microsoft CNG, waardoor het compatibel is met een breed scala aan applicaties en services.
Bekijk ook de lijst met ondersteunde clientplatforms voor Luna Cloud HSM hier.
Hoe genereer ik een CSR?
Het genereren van een CSR kan verschillen, afhankelijk van de software die u gebruikt, maar de kernstappen blijven hetzelfde. Hier is een algemene schets van het proces:
-
Voorbereiding
U moet over alle relevante gegevens beschikken voordat u uw CSR genereert. Dit omvat uw domeinnaam, organisatienaam, plaatsnaam, staat of provincie en landcode.
-
Genereer een sleutelpaar
De eerste stap bij het genereren van een CSR is het aanmaken van een openbaar-privé sleutelpaar. Onthoud dat uw privésleutel veilig binnen de server of hardwaremodule moet blijven die deze genereert.
-
Genereer de CSR
Gebruik een tool voor het genereren van een CSR die is afgestemd op uw serversoftware. Deze tool vraagt u om de gegevens die u in stap 1 hebt verzameld en de persoonlijke sleutel die u in stap 2 hebt gegenereerd. De tool genereert vervolgens een gecodeerd bestand met de extensie .csr of .req.
Tijdens het genereren van het CSR wordt u gevraagd uw gegevens in te voeren (algemene naam, organisatie, plaats, enz.).
CSR genereren vanuit Luna HSM
We gaan een CSR genereren op Thales DPoD. Daarom moeten we eerst de Application Owner Configuration uitvoeren, wat betekent dat we een client moeten toevoegen en configureren.
De clientinstallatie gebruikt een .zip (Windows) of .tar (Linux) om de clientmaterialen te leveren die nodig zijn voor het configureren van de verbinding van uw systeem met de Luna Cloud HSM-serviceHet client .zip bestand bevat een vooraf geconfigureerd bestand crystoki-template.ini en een client archiefbestand met een bibliotheek en binaire bestanden.
De Service Client installeren
-
Ga naar de Servicepagina en klik op de service of partitienaam waarvoor u een client wilt genereren.

-
Klik Nieuwe serviceclient – het venster Serviceclient maken wordt weergegeven.

-
Voer in het venster Serviceclient maken een clientnaam in (bijvoorbeeld Pega-Macro) en selecteer Serviceclient maken.

De geïnstalleerde serviceclient configureren
- Een nieuwe klant (in dit geval, setup-PKI-Luna.zip) wordt gegenereerd en is beschikbaar voor downloaden en installeren op uw clientcomputer.
- De client is een zipbestand met systeeminformatie die nodig is om uw machine te verbinden met een HSM-partitie. Zie de sectie Clientinhoud voor meer informatie over de clientinhoud.
- Zet de client over naar uw computer. U kunt de client overzetten via SCP, PSCP, WinSCP, FTPS of andere beveiligingstools.
- Pak het bestand uit met behulp van de Windows GUI of een unzip-tool: setup-PKI-Luna.zip.
- Pak het bestand cvclient-min.zip uit.
- Pak het bestand cvclient-min.zip uit in de map die u in de vorige stap hebt aangemaakt. Deze locatie is vereist voor de opdracht setenv in stap 7. Pak het bestand niet uit in een nieuwe cvclient-min.zip-map.
-
Stel de omgevingsvariabele in. Open een opdrachtprompt voor beheerders – klik met de rechtermuisknop op Opdrachtprompt en selecteer Als administrator uitvoeren. Voer het volgende uit in de opdrachtprompt voor beheerders:

De SafeNet Key Storage Provider (KSP) configureren
-
Het systeem heeft toegang nodig tot de SafeNet Key Storage Provider (KSP). Kopieer het bestand SafeNetKSP.dll van uw gedownloade Luna Cloud HSM Service Client naar C:\\Windows\System32.
Let op: Als het bestand SafeNetKSP.dll niet wordt gekopieerd, is er geen toegang tot de SafeNet Key Storage Providers tijdens de integratie. Als u bijvoorbeeld Microsoft Active Directory Certificate Services configureert, zijn de SafeNet Key Storage Providers niet beschikbaar als optie bij het instellen van de cryptografie voor CA.
- Voer KspConfig.exe uit
- Navigeer naar de KSP-installatiemap.
- Dubbelklik op Registreer of bekijk de beveiligingsbibliotheek.
-
Klik Blader. Selecteer de cryptoki.dll bestand van de Luna Cloud HSM Service Client.
Klik Registreren.

-
Bij succesvolle registratie wordt een Succes! Bericht wordt weergegeven. Klik OK.

- Dubbelklik op HSM-slots registreren.
-
Registreer de HSM voor de beheerder. Open hiervoor de Registreer voor gebruiker vervolgkeuzemenu en selecteer Beheerder; open de Domein vervolgkeuzemenu en selecteer uw domein. Open de Beschikbare slots vervolgkeuzemenu, selecteer het servicelabel, voer de Slotwachtwoorden klik Registratiesleuf.

-
Bij succesvolle registratie wordt een Succes! Bericht wordt weergegeven. Klik OK.

-
Registreer de HSM voor de systeemgebruiker. Open het dropdownmenu 'Registreren voor gebruiker' en selecteer 'SYSTEEM', 'Domein' en 'NT AUTHORITY'. Open het dropdownmenu 'Beschikbare slots', selecteer het servicelabel, voer het slotwachtwoord in en klik op 'Slot registreren'.

-
Bij succesvolle registratie verschijnt het bericht 'Geslaagd!'. Klik op OK.

Het CSR genereren in de Service Client
-
Maak een bestand met de naam verzoek.inf en vul het in met de volgende gegevens om een aanvraag te genereren voor een SSL-certificaat dat is verbonden met een RSA sleutel. De inhoud is:
[Version]
Signature = "$Windows NT$"
[NewRequest]
Subject = "C=US, S=Dallas, L=Texas, O=Encryption Consulting LLC, OU=Dev, [email protected], CN=ECIssued"
HashAlgorithm = SHA256
KeyAlgorithm = RSA
KeyLength =2048
ProviderName = "Safenet Key Storage Provider"
KeyUsage = 0xf0
MachineKeySet =True
[EnhancedKeyUsageExtension]
OID=1.3.6.1.5.5.7.3.
Let op: De algemene naam (CN) van het onderwerp wordt willekeurig gekozen voor deze aanvraag en kan worden gewijzigd.
De parameters zijn:
-
Signature
“$Windows NT$” geeft aan dat het INF-bestand bedoeld is voor gebruik met Windows NT en latere versies van Windows.
-
Onderwerp
- C - Definieert de tweeletterige landnaam voor de DN (Distinguished Subject Name) van de certificaataanvraag. Deze parameter moet aanwezig zijn in de DN van het onderwerp.
- S - Definieert de statusnaam voor de DN (Distinguished Subject Name) van de certificaataanvraag. Deze parameter moet aanwezig zijn in de DN van het onderwerp.
- L - Definieert de locatie (meestal de stad) voor de DN van het certificaataanvraagonderwerp. Deze parameter kan aanwezig zijn in de DN van het onderwerp.
- O - Definieert de organisatienaam voor de DN (Distinguished Subject Name) van de certificaataanvraag. Deze parameter moet aanwezig zijn in de DN van het onderwerp.
- OF - Definieert de naam van de organisatie-eenheid voor de DN (Distinguished Subject Name) van de certificaataanvraag. Deze parameter kan aanwezig zijn in de DN van het onderwerp.
- en - is het officiële e-mailadres of contact-e-mailadres van de certificeringsinstantie.
- CN- Definieert de algemene naam voor de DN (Distinguished Subject Name) van de certificaataanvraag. Deze parameter moet aanwezig zijn in de DN van het onderwerp.
-
Hash-algoritme
SHA256 stelt het hash-algoritme in op SHA256, een standaard en veilige keuze.
-
Sleutelalgoritme
RSA stelt het sleutelalgoritme in op RSA, een veelgebruikt algoritme voor openbare sleutels.
-
Sleutellengte
2048 stelt de lengte van de sleutel in op 2048 bits. Dit is de huidige industriestandaard voor RSA-sleutels.
-
Provider naam
“SafeNet-sleutelopslagprovider” Geeft de te gebruiken Cryptographic Service Provider (CSP) aan. De CSP is een softwarebibliotheek die cryptografische functies implementeert. In dit geval wordt de SafeNet Key Storage Provider gebruikt.
-
Sleutelgebruik
0xf0 specificeert het doel van de sleutel in het certificaat. De hexadecimale waarde 0xf0 komt overeen met de binaire waarde 11110000, die staat voor het gebruik van digitale handtekeningen (0x80), sleutelcodering (0x20), gegevenscodering (0x10) en sleutelovereenkomsten (0x08).
-
MachineKeySet
True geeft aan dat de persoonlijke sleutel is opgeslagen in het certificaatarchief van de lokale computer en niet in dat van de huidige gebruiker.
-
EnhancedKeyUsageExtension
OID=1.3.6.1.5.5.7.3.1 is een object-ID (OID) die een gebruik voor het certificaat specificeert. OID 1.3.6.1.5.5.7.3.1 staat voor "Serverauthenticatie", wat betekent dat het certificaat bedoeld is voor het authenticeren van servers in SSL/TLS-communicatie.
-
- Open een nieuw opdrachtpromptvenster als beheerder. Dit doet u door te zoeken naar "cmd" in het menu Start, met de rechtermuisknop op Opdrachtprompt te klikken en "Als administrator uitvoeren" te selecteren.
- Navigeer naar het pad waar requested.inf staat en druk op Enter.
-
Genereer nu de certificaataanvraag met de volgende opdracht:
certreq -new request.inf request.req
Met deze opdracht wordt een nieuw Certificate Signing Request (CSR)-bestand met de naam `request.req` aangemaakt, gebaseerd op de configuratie in uw bestand `request.inf`. U kunt dit CSR-bestand naar een certificeringsinstantie (CA) voor uw SSL-certificaat sturen.
Onderteken de CSR met Microsoft CA
Er zijn twee verschillende manieren om een CSR te ondertekenen:
Certificaataanvraag accepteren
-
Draag het CSR-bestand over aan de uitgevende CA en voer de opdracht uit:
certreq -submit -attrib "CertificateTemplate:<Template Name>" "C:\MacroSign.csr"Hier is sjabloonnaam = "EncryptionConsuCodeSigning"

-
Na het selecteren van de Certificate Authority Sla het certificaat op in de lijst met certificeringsinstanties en geef het een passende naam. (Bijvoorbeeld: ECMacro, met de extensie .crt of .cer)

-
Bij succesvolle uitvoering vindt u het Certificaat in de Uitgegeven Certificaten in Certificeringsinstantie

-
Controleer of 'Code Signing' zich in het kenmerk bevindt Verbeterd sleutelgebruik van het nieuw gegenereerde certificaat.

Via webinschrijving
-
De beschikbare sjablonen in de certificeringsinstantie

-
Voer nu de webinschrijving uit nadat u een sjabloon hebt geselecteerd – “Code Signing.” (in ons geval – https://ca02.encon.com/certsrv/)

-
Na het selecteren Vraag een certificaat aan, dit scherm zal verschijnen. Selecteer Geavanceerd certificaataanvraag(In ons geval – https://ca02.encon.com/certsrv/certrqus.asp)

-
Plak de inhoud van de CSR erin Opgeslagen verzoek en selecteer Code ondertekening in de CertificaatsjabloonKlik daarna op Verzenden.

-
Dit zal twee opties opleveren: Certificaat downloaden en Certificaatketen downloadenKies de laatste optie en download de keten naar uw lokale systeem.

-
Dit is wat de Certificaatketen eruit zal zien.

De persoonlijke sleutel toevoegen aan het certificaat
-
Het certificaat accepteren en installeren, zodat het beschikbaar is in de Windows-omgeving.

-
Voeg vervolgens het certificaat toe aan de 'Persoonlijke' certificaten van Certificaten – Lokale computer met behulp van het commando –
certutil -store MY “<thumbprint of the certificate>”
Problemen oplossen
-
Om de lijst met CA-sjablonen in de uitgevende CA te controleren:
certutil -CATemplates
-
Als de persoonlijke sleutel niet aan het certificaat is gekoppeld, probeer dan deze opdracht 'repairstore'

-
CSP/KSP-registratie mislukt in Windows.
CSP/KSP-registraties kunnen mislukken als Windows Update ontbreekt, omdat Windows Update een stap bevat die verifieert dat de DLL's zijn ondertekend door het certificaat van Thales dat terug te voeren is op de DigiCert root of trust G4 (in overeenstemming met de industriële beveiligingsnormen).
Deze stap kan alleen slagen als uw Windows-besturingssysteem over het vereiste certificaat beschikt. Als uw Windows-besturingssysteem is bijgewerkt, zou u dat certificaat al moeten hebben.
Als uw Luna HSM Client-host is verbonden met internet, gebruikt u de volgende opdrachten om het certificaat handmatig bij te werken:
certutil -urlcache -f http://cacerts.digicert.com/DigiCertTrustedRootG4.crt DigiCertTrustedRootG4.crt
certutil -addstore -f root DigiCertTrustedRootG4.crtEen niet-verbonden host handmatig bijwerken
- Download de DigiCert Trusted Root G4 (http://cacerts.digicert.com/DigiCertTrustedRootG4.crt DigiCertTrustedRootG4.crt) naar een aparte computer met internetverbinding.
- Transporteer het certificaat met behulp van uw goedgekeurde middelen naar de Luna Client-host in een locatie naar keuze
-
Voeg het certificaat toe aan het certificaatarchief met de opdracht:
certutil -addstore -f root <downloaded cert path>
-
Indien de Onderwerp Als de certificaataanvraag niet op het certificaat wordt weergegeven, probeert u de volgende stappen.
- Open de console met certificaatsjablonen: Open op de AD CS-server de console met certificaatsjablonen door `certtmpl.msc` uit te voeren in het dialoogvenster Uitvoeren (Win + R).
- Een bestaande sjabloon dupliceren: Het is over het algemeen een beter idee om een bestaande sjabloon te dupliceren dan deze te wijzigen. Zoek een sjabloon die lijkt op wat u zoekt, klik er met de rechtermuisknop op en selecteer 'Sjabloon dupliceren'.
-
De sjabloon configureren: In het eigenschappenvenster voor de nieuwe sjabloon kunt u verschillende instellingen configureren. Om de velden Sleutelgebruik en Uitgebreid sleutelgebruik in te stellen:
Sleutelgebruik: Ga naar het tabblad 'Extensies', selecteer 'Sleutelgebruik' in de lijst en klik op 'Bewerken'. Hier kunt u het sleutelgebruik selecteren dat u wilt opnemen, zoals 'Digitale handtekening', 'Sleutelcodering', etc.
Verbeterd sleutelgebruik: Selecteer op het tabblad 'Extensies' de optie 'Toepassingsbeleid' en klik op 'Bewerken'. Hier kunt u de uitgebreide sleutelgebruiken toevoegen die u wilt opnemen, zoals 'Codeondertekening', 'Serverauthenticatie', enz.
- Sjabloon opslaan: Nadat u de sjabloon naar wens hebt geconfigureerd, geeft u deze een naam en slaat u deze op.
- Sjabloon uitgeven: De nieuwe sjabloon is nu beschikbaar, maar moet worden uitgegeven voordat deze kan worden gebruikt. Klik in de console van de certificeringsinstantie (`certsrv.msc`) met de rechtermuisknop op `Certificaatsjablonen`, selecteer `Nieuw`, vervolgens `Te verstrekken certificaatsjabloon` en selecteer uw nieuwe sjabloon.
Als u een certificaat wilt vereisen met behulp van deze sjabloon, moet u de velden Sleutelgebruik en Uitgebreid sleutelgebruik opnemen zoals u ze hebt geconfigureerd.
Conclusie
Zodra de CSR is aangemaakt, kan deze worden gebruikt om een SSL-certificaat aan te vragen bij een certificeringsinstantie. De gegevens van de CSR worden door de certificeringsinstantie gebruikt om het certificaat te genereren, waardoor de beveiliging van uw website en de veilige overdracht van informatie worden gewaarborgd.
Hoewel de procedures en protocollen misschien ingewikkeld lijken, is het gebruik van een SSL-certificaat om uw website te beveiligen essentieel om het vertrouwen van bezoekers te winnen en belangrijke informatie te beschermen. Een CSR is essentieel om ervoor te zorgen dat de juiste gegevens in uw SSL-certificaat staan.
