SHA-256, SHA-1 Abschaltung und Keylänge
Langsam wird es Zeit, da schwache Verschlüsselungs- und Signierungsverfahren nach und nach geblockt werden. Wer also noch ein "schwaches" Zertifikat mit zu kurzen Schlüssel oder schwacher Codierung verwendet, sollte diese aus eigenem Interesse bald austauschen.
Achtung: Nicht alle Clients können mit SHA2 bzw. SHA256 umgehen. Dies betrifft einige ältere Mobiltelefone (z.B. Nokia ActiveSync), aber auch Windows 2003/XP-Clients)
Beachte dazu auch Get-TCPCert.
- 968730 Windows Server 2003 and Windows XP clients cannot obtain certificates from a Windows Server 2008-based certification authority (CA) if the CA is configured to use SHA2 256 or higher encryption
- 938397 Applications that use the Cryptography API cannot validate an X.509 certificate in Windows Server 2003
- Windows Enforcement of Authenticode Code
Signing and Timestamping
http://social.technet.microsoft.com/wiki/contents/articles/32288.windows-enforcement-of-authenticode-code-signing-and-timestamping.aspx - SHA-1 deprecation countdown
https://blogs.windows.com/msedgedev/2016/11/18/countdown-to-sha-1-deprecation/ - Windows Enforcement of SHA1 Certificates
https://aka.ms/sha1
http://social.technet.microsoft.com/wiki/contents/articles/32288.windows-enforcement-of-sha1-certificates.aspx
Die Problemstellung
Vielleicht ist es bei ihnen noch nicht angekommen, aber die Signierung mit dem SHA-1 Verfahren gilt als unsicher und es ist nur eine Frage der Zeit, bis Sie als Anwender bei einem Zugriff per HTTPS nicht mehr sicher sein können, dass nicht mitgelesen wird. Daher das das CA Council, ein Zusammenschluss der CAs schon 2013 das Ende von SHA-1 verkündet.
- https://casecurity.org/2014/01/30/why-we-need-to-move-to-sha-2/
- https://casecurity.org/2013/12/16/sha-1-deprecation-on-to-sha-2/
Mozilla und andere akzeptieren schon heute keine SHA-1 Zertifikate mehr, wenn diese nach dem 1. Jan 2016 ausgestellt wurden. Zum 1.1.2017 machen einige Browser und Clients ernst und per SHA-1 signierte Zertifikate werden nicht mehr vertrauenswürdig angesehen. Spätestens jetzt fällt jedem Anwender etwas auf und es wird Rückfragen im Support geben. Bitte sagen Sie den Anwendern nie, dass Sie die Warnung ignorieren sollen. Damit schwächen Sie das ohnehin schon angeschlagene System der CAs.
Sorgen Sie dafür, dass ihre WebServer alles ein aktuellen SHA-256-signiertes Zertifikat nutzen.
Ehe Sie das aber tun, müssen Sie ihre CA-Infrastruktur ggfls. anpassen und die Kompatibilität mit Servern und Clients sicherstellen. Das ist gar nicht so einfach. Ansonsten passiert nichts mehr.
- Server, die kein SHA-2/SHA-256 unterstützen, bieten kein SSL mehr an bzw. starten die Dienste einfach nicht mehr.
- Clients, die kein SHA-2/SHA-256 unterstützen, können sich nicht mehr per TLS mit dem Backend verbinden.
Nichts zu tun geht aber auch nicht, da dann sehr viele Clients ab dem 1. Januar.2017 mit Warnungen reagieren.
Die Logik der Warnung ist schon vor längerer Zeit durch Updates auf ihren Client gekommen. Die Warnung wird allein durch das Datum aktiviert. Es hilft nicht, wenn Sie nach dem 1.1.2017 keine Windows Updates mehr installieren würden.
Das Ziel ist also eine möglichst umfangreiche Umstellung mit eine Fall-Back Option für inkompatible Clients und Server
Eignung von Client und Server
Das Backend eines Servers muss mit den neuen Zertifikaten und dem aktuellen Hash-Verfahren zurecht kommen. Aber auch die Clients müssen die neuen Zertifikate natürlich verstehen. Leider ist es aber gute Praxis, dass immer noch viele "Alt-Geräte" im produktiven Einsatz sind, sei es aus Lizenzfragen oder einfach Kompatibilitätsanforderungen. Hier ist das Augenmerk insbesondere auf Windows XP und Windows Server 2003 zu lenken. Hier gibt es Updates und Patches
OS | Eignung | Bemerkung |
---|---|---|
Windows 2000 und früher |
|
Keine Unterstützung von SHA-2, Kein Update oder Patch verfügbar |
Windows XP |
|
Servicepack 3 bringt die SHA-2 Unterstützung Prior to
Windows XP Service Pack 3,
there was no SHA2
functionality within Windows
XP. With the release of
Service Pack 3 some limited
functionality was added to
the crypto module
rsaenh.dll. This includes
the following SHA2 hashes:
SHA-256, SHA-384, SHA-512.
SHA-224 was not included. |
Windows 2003 |
|
Windows Server 2003 Service Pack 2 hat noch keinen SHA2 Support. Es gibt aber einen Hitfix hierfür und ebenso für die Anforderung von Zertifikaten von einer Windows 2008 CA Windows
Server 2003 Service Pack 2
does not ship with support
for SHA2. This limitation
can become an important
concern when processing
smart card logons and for
mutual TLS authentications
to web servers. As unlike
other technologies, smart
card logon and mutual TLS
both use strict revocation
checking; so should either
the certificate itself or
the revocation information
(CRL/OCSP) use SHA2, the
logon would fail.
|
Vista, 7,8,10, Server 2008 und höher |
|
SHA2/SHA-256 Support eingebaut. In order
to validate SHA2 messages,
Windows Vista with Outlook
2003 (or newer) is needed.
In order to both sign and
validate SHA2 messages,
Windows Vista or 7 with
Outlook 2007 or 2010 is
needed. |
IOS 10.2 |
|
Ein manuell auf 15. März 2017 gestelltes Telefon hat auch mit einem SHA-1 Zertifikat weiter ActiveSync ohne Warnung genutzt. Hier gibt es noch keine Deadline |
Windows Phone 8.1 |
|
Ein manuell auf 15. März 2017 gestelltes Telefon hat auch mit einem SHA-1 Zertifikat weiter ActiveSync ohne Warnung genutzt. Hier gibt es noch keine Deadline |
Windows Phone 10 |
|
Ein manuell auf 15. März 2017 gestelltes Telefon hat auch mit einem SHA-1 Zertifikat weiter ActiveSync ohne Warnung genutzt. Hier gibt es noch keine Deadline |
Nokia Symbian |
|
Ein manuell auf 15. März 2017 gestelltes E52 hat mit einem SHA-1 Zertifikat ActiveSync ohne Warnung genutzt. Eine Verbindung zu einer Sha-256 Site hat nicht funktioniert |
Android |
|
Offen |
Andere Betriebssysteme und insbesondere Clients sind natürlich ebenfalls zu prüfen. Allerdings habe ich bislang wenige Drucker, Scanner, Router, ThinClients etc. gesehen, die Alarmmails per TLS versenden. Anwender werden solche System auch kaum ansurfen, so dass das Störpotential vermutlich geringer ist.
Timeline
Ich versuche die Zeitpunkte zu protokollieren, wann welche Schlüssellängen und Verfahren wo abgeschaltet werden:
Zeitpunkt | OS | Client | Beschreibung |
---|---|---|---|
14. Feb 2017 |
Win7 |
SHA1-Code Signing ungültig |
Starting on February
14th, 2017, Microsoft Edge and Internet Explorer
11 will prevent sites that are protected with
a SHA-1 certificate from loading and will
display an invalid certificate warning. Though
we strongly discourage it, Users will have the
option to ignore the error and continue to the
website. Spätestens hier müssen auch Code-Entwickler ihre Programme, Installer und Makros mit SHA256 signieren. |
1. Jan 2017 |
Chrome |
SHA1-Code Warnung |
Im Browser wird neben dem Schloss ein gelbes Dreieck angezeigt. |
1. Jan 2016 |
Microsoft |
SHA1 TLS |
Server Authentication certificates: CAs must
begin issuing new certificates using only the
SHA-2 algorithm after January 1, 2016. Windows
will no longer trust certificates signed with
SHA-1 after January 1, 2017 |
Sommer 2016 |
IE |
Browser |
Anzeige von SSL-Symbol mit SHA1 |
1. Jan 2016 |
CodeSigning |
Installer |
SHA1- nicht mehr unterstützt für neuere Betriebssysteme |
1. Jan 2016 |
Windows |
OCSP |
|
31. Mrz 2014 |
CAs |
Any |
Am Beispiel von Global Sign (Andere auch)
|
26. Sep 2014 |
Chrome 39 |
SHA1-Code Warnung |
Im Browser wird neben dem Schloss ein gelbes Dreieck angezeigt. |
2011 |
Alle |
SHA1 ist decpreciated. |
SHA-1's use on the Internet has been
deprecated since 2011, |
- SHA1 Deprecation Policy
https://aka.ms/sha1
http://blogs.technet.com/b/pki/archive/2013/11/12/sha1-deprecation-policy.aspx - Chromium Blog - Gradually Sunsetting
SHA-1
https://blog.chromium.org/2014/09/gradually-sunsetting-sha-1.html - Windows Enforcement of Authenticode Code Signing and Timestamping
http://social.technet.microsoft.com/wiki/contents/articles/32288.windows-enforcement-of-authenticode-code-signing-and-timestamping.aspx - Windows PKI blog: SHA2 and Windows
https://blogs.technet.microsoft.com/pki/2010/09/30/sha2-and-windows/ - GlobalSign Der Übergang zu SHA-256
https://www.globalsign.com/de-de/ssl-information-center/uebergang-zu-sha256/
Eigene PKI umstellen
Die großen bekannten Zertifizierungsstellen haben ihre Infrastrukturen schon entsprechend umgestellt und die Stammzertifikate werden von Microsoft, Chrome, FireFox etc. auch schon verteilt. Wer aber eine eigene PKI betreibt, muss hier vielleicht tätig werden und erst einmal die Zertifizierungsstelle umkonfigurieren, damit sie SHA-256-Zertifikate ausstellt. Wenn die PKI halbwegs Standard installiert ist, dann geht das durch folgenden Dreizeiler:
net stop certsrv certutil -setreg ca\csp\CNGHashAlgorithm SHA256 net start certsrv
Danach sollte die PKI per Default Zertifikate mit SHA256 ausstellen. Ihr eigenes Stammzertifikat ist aber noch weiterhin SHA1 oder das, was sie damals bei der Einrichtung ausgewählt haben. Hier gibt es von Microsoft noch keine mir bekannte Frist. Sie können aber dennoch natürlich auch das Zertifizierungsstellen-Zertifikat auf SHA256 umstellen.
Das ist dann aber ein "neues" Zertifikate, welches auf allen Clients wieder als "Trusted" addiert werden muss. Insofern sollten Sie nach dieser Änderung möglich schnell das neue Stammzertifikat auf möglichst viele Clients bringen, ehe Sie Zertifikate mit diesem neuen Zertifikat signieren.
Es kann in diesem Zuge interessant sein, besser parallel eine neue PKI aufzubauen, bei der dann auch viele der früheren Fehler mit einer richtigen Planung nicht mehr gemacht werden. Dann haben Sie eine neue PKI, deren Stammzertifikat verteilt wird, während die alte PKI noch einige Zeit aktiv sein kann.
BRK3197 - Find out everything you wanted
to know about SHA-1 to SHA-2 migrations (Microsoft Ignite)
https://channel9.msdn.com/Events/Ignite/2016/BRK3197
- What makes a CA capable of issuing
certificates that uses SHA-2?
https://blogs.technet.microsoft.com/pki/2013/09/19/upgrade-certification-authority-to-sha256/ - Upgrade Certification Authority to
SHA256
https://blogs.technet.microsoft.com/pki/2013/09/19/upgrade-certification-authority-to-sha256/ - Migration Stammzertifizierungsstelle
SHA1 zu SHA256 (Hashalgorithmus)
https://www.frankysweb.de/migration-stammzertifizierungsstelle-sha1-zu-sha256-hashalgorithmus/ - SHA1 Key Migration to SHA256 for a two
tier PKI hierarchy
https://blogs.technet.microsoft.com/askds/2015/10/26/sha1-key-migration-to-sha256-for-a-two-tier-pki-hierarchy/ - Migrating your Certification Authority
Hashing Algorithm from SHA1 to SHA2
https://blogs.technet.microsoft.com/askds/2015/04/01/migrating-your-certification-authority-hashing-algorithm-from-sha1-to-sha2/ - Migrating a Certification Authority Key
from a Cryptographic Service Provider (CSP)
to a Key Storage Provider (KSP)
http://technet.microsoft.com/en-us/library/dn771627.aspx - Implementing SHA-2 in Active Directory
Certificate Services
http://social.technet.microsoft.com/wiki/contents/articles/31296.implementing-sha-2-in-active-directory-certificate-services.aspx - Migrieren eines
Zertifizierungsstellenschlüssels von einem
Kryptografiedienstanbieter (Cryptographic
Service Provider, CSP) zu einem
Schlüsselspeicheranbieter (Key Storage
Provider, KSP)
https://technet.microsoft.com/de-de/library/dn771627(v=ws.11).aspx - Q: how to upgrade from the "Microsoft
Strong Cryptographic Provider" to the
"Microsoft Software Key Storage Provider"
which supports SHA2 (SAH256,SHA512).
A: The only way you can do so is by installing a new CA
Quelle: http://ammarhasayen.com/2015/02/04/what-makes-a-ca-capable-of-issuing-certificates-that-uses-sha-2/
Webserver, Exchange, Skype for Business
Ihre eigene PKI hat sicherlich Zertifikate für ihre Dienste ausgestellt. Auch hier sollten Sie prüfen, ob diese Zertifikate noch SHA-1-Zertifikate nutzen. Allein mit der Umstellung der PKI ist es nicht getan. Die Clients verbinden sich per TLS mit dem Server und wenn die Clients dem Zertifikat nicht mehr vertrauen, weil es mit SHA1 aus deren Sicht zu "Unsicher" ist, dann muss das Zertifikat auf dem Server getauscht werden.
Wenn im Rahmen des SHA1-Wechsels auch die PKI getauscht wurde, sollte man das neuen "frische" Zertifikat der neuen PKI erst dann aktivieren, wenn alle Clients auch der neuen PKI vertrauen.
Vergessen Sie aber nicht die "alten Zertifikate" nach dem Tausch auch sauber zurück zu rufen.
Zertifikate "finden"
Bislang war ja alles eigentlich "gut verständlich" aber eine knifflige Frage bleibt natürlich immer: Wo kommen die Zertifikate denn überall zum Einsatz. Hier kommt ihnen zugute, dass die Zertifizierungsstelle eine Liste der ausgestellten Zertifikate führt, die auch exportiert werden kann. Per PowerShell kann diese Information anscheinend noch nicht ausgelesen werden aber CERTUTIL kann CSV-Dateien schreiben.
certutil -view -out "RequestID,RequesterName,RequestType,NotAfter,CommonName,Certificate Template" csv > c:\temp\certlist.csv
Die CSV-Datei kann dann einfach per PowerShell (Import-CSV) , Excel oder andere Tools ausgewertet werden. So können Sie sich eine Liste der Zertifikate erstellen und Server für Server abgehen.
Es ist nicht hinreichend per PortScan ein Netzwerk nach TLS-Ports abzufragen. Zertifikate werden nicht nur auf den Port 443 und 5061 genutzt. Auch POP und IMAP (993/995) sind Kandidaten. Zertifikate kommen aber auch auf "Nicht Standard Ports" zum Einsatz oder sogar zur Client-Authentifizierung. Der einzige Weg ist hier wirklich die Bearbeitung der Liste. Dies ist übrigends auch ein guter Startpunkt zum Aufräumen nicht mehr vorhandener Systeme.
- Working with Active Directory
Certificate Services from Windows PowerShell
http://blog.powershell.no/2011/01/09/working-with-active-directory-certificate-services-from-windows-powershell/ - How to determine all certificates that
will expire within 30 days
https://blogs.technet.microsoft.com/pki/2008/04/24/how-to-determine-all-certificates-that-will-expire-within-30-days/
Weitere Links
-
Get-TCPCert
Per Powershell eine Übersicht über die verwendeten Netzwerkzertifikate erhalten - SHA-1 deprecation countdown
https://blogs.windows.com/msedgedev/2016/11/18/countdown-to-sha-1-deprecation/ - Windows Enforcement of SHA1 Certificates
https://aka.ms/sha1
http://social.technet.microsoft.com/wiki/contents/articles/32288.windows-enforcement-of-sha1-certificates.aspx - Windows Enforcement of Authenticode Code
Signing and Timestamping
http://social.technet.microsoft.com/wiki/contents/articles/32288.windows-enforcement-of-authenticode-code-signing-and-timestamping.aspx - Migration Stammzertifizierungsstelle
SHA1 zu SHA256 (Hashalgorithmus)
https://www.frankysweb.de/migration-stammzertifizierungsstelle-sha1-zu-sha256-hashalgorithmus/ - When Will We See Collisions for SHA-1
https://www.schneier.com/blog/archives/2012/10/when_will_we_se.html - SHA-1 Deprecation and Changing the Root
CA’s Hash Algorithm
https://blogs.technet.microsoft.com/askpfeplat/2015/03/15/sha-1-deprecation-and-changing-the-root-cas-hash-algorithm/ - How to create SHA2 CSR on windows server
http://day.ir/en-us/articles/ssl/create-csr-sha2-algorithm - Attacken auf SHA-1 weiter vereinfacht
https://www.heise.de/security/meldung/Attacken-auf-SHA-1-weiter-vereinfacht-180587.html - Firefox: Mozilla schaltet SHA-1 ab … und
direkt wieder an
https://www.heise.de/security/meldung/Firefox-Mozilla-schaltet-SHA-1-ab-und-direkt-wieder-an-3066832.html - Admins aufgepasst: SHA1-Zertifikate vor
dem endgültigen Aus
https://www.heise.de/security/meldung/Admins-aufgepasst-SHA1-Zertifikate-vor-dem-endgueltigen-Aus-3460868.html - SHA-1 Deprecation Update
https://blogs.windows.com/msedgedev/2016/04/29/sha1-deprecation-roadmap/#juGJbDuSw5VzpXA0.97 - PKI Certificate Services
SHA-1 Deprecation
https://ammarhasayen.com/2015/02/02/pki-certificate-services-sha-1-deprecation/ - Cryptographic Providers: SHA-1
& SHA-2 support
https://ammarhasayen.com/2015/02/03/cryptographic-providers-sha-1-sha-2-support/ - Countdown für SHA-1
Zertifikate
https://blog.sievers-group.com/countdown-fuer-sha-1-zertifikate/ - RC4 cipher is no longer supported in
Internet Explorer 11 or Microsoft Edge
https://support.microsoft.com/en-us/help/3151631/rc4-cipher-is-no-longer-supported-in-internet-explorer-11-or-microsoft - RC4 will no longer be supported in
Microsoft Edge and IE11 [Updated]
https://blogs.windows.com/msedgedev/2016/03/16/rc4-will-no-longer-be-supported-in-microsoft-edge-and-ie11-beginning-in-april/