Update Microsoft certification authority zodat het SHA-2 hashing algorithme gebruikt wordt

Microsoft heeft een policy verandering aangekondigd (zie http://social.technet.microsoft.com/wiki/contents/articles/32288.windows-enforcement-of-authenticode-code-signing-and-timestamping.aspx).

Vanaf 1 januari 2016 is het voor root certification authorities niet meer toegestaan om X.509 certificates uit te geven volgens het SHA-1 hashing algoritme voor gebruik van SSL en code signing. Deze SHA-1 certificates worden niet meer als veilig beschouwd. Overigens is deze policy verandering breder. Ook de internetbrowser Chrome bijvoorbeeld, geeft nu al een waarschuwing bij SHA-1 certificates. De kans is groot dat browsers binnenkort geen websites meer accepteren die gebruik maken van SHA-1 certificates.

De Microsoft certification authority in Windows geeft ook standaard certificates uit volgens het SHA-1 hashing algoritme. Weliswaar kan bij nieuwere versies van Windows tijdens de installatie meteen gekozen worden voor het SHA-2 hashing algoritme, maar dat is zeker niet altijd gedaan. Duidelijk zal zijn dat het geen gewenste situatie meer is om het SHA-1 hashing algoritme te gebruiken.

Deze blog beschrijft hoe kan worden ingesteld dat de Microsoft certification authority in het vervolg certificates uitgeeft volgens het SHA-2 algoritme met een hashwaarde van 256 bits. Dit is mogelijk vanaf Windows server 2008. Deze certificates worden wel als veilig beschouwd. Uiteraard blijven bestaande certificates wel SHA-1 certificates. Door deze certificates opnieuw uit te geven na de aanpassing, worden het ook SHA-2 certificates.

Uitvoering

  • Open een Windows Powershell als administrator.
  • Voer het volgende commando uit: certutil –setreg cacspCNGHashAlgoritm SHA256
  • Restart de certification authority door in Windows Powershell achtereenvolgens op te geven:
    net stop certsvc
    net start certsvc

De certification authority  geeft nu SHA-2 certificates uit, maar het huidige root certificate gebruikt nog steeds het SHA-1 hash algorithme. Dit kan als volgt aangepast worden:

  • Open de certification authority MMC.
  • Selecteer de certification authority, rechtermuistoets, All Tasks en selecteer dan de optie Renew CA Certificate.
Figuur 1 - renew root certificate
  • Accepteer het verzoek om de Active Directory Certificate Services te stoppen.
  • Nu kan een nieuw certificate gegenereerd worden door op OK te klikken.
Figuur 2 - generate new signing key
  • Hierna wordt de Active Directory Certificate Services weer gestart.
Figuur 3 - controle hash algoritme

Controle
Op de volgende manier kan worden gecontroleerd of de aanpassing succesvol is:

  • Selecteer de certification authority, rechtermuistoets, selecteer dan de optie
  • Op de tab General kan het huidige Hash algoritme gecontroleerd worden onder Cryptographic settings, in dit geval SHA256.
  • Op de tab General zijn ook twee certificates te zien. Dit zijn de twee root certificates, het oude certificate met SHA-1 als hash algoritme en het nieuwe certificate met SHA-2 als hash algoritme. Door het nieuwe certificate te selecteren en hierna op de knop View Certificate te klikken en dan de tab Details te selecteren, kan gecontroleerd worden of dit inderdaad een SHA-2 certificate is.
    Figuur 4 - controle niew root certificate
26 november 2015
Ronald van Vugt