Ab Version 10.8R2 des SafeNet Minidriver und des SafeNet Authentication Clients (SAC) werden beide Schnittstellen Microsofts Crypto-API (legacy CAPI und CNG) und PKCS#11 unterstützt. Neue Smart Card Typen werden über beide Middleware Varianten supported und es ist ein Unblock der Smart Card möglich, wenn der PIN vergessen wurde oder zu oft falsch eingegeben wurde. Der SafeNet Authentication Client (SAC) kommt nun im Thales Branding daher und der Minidriver erhält ein optionales Systemtray Icon.
Unblock oder Unlock einer Smart Card
Voraussetzung ist dabei ein zentrales Smart Card Management oder ein fest definierter Admin PIN. Damit gibt es eine weitere Alternative zum Unblocking der Smart Card im Windows Security Screen (Ctrl-Alt-Del).
Das Offline Unlock einer Smart Card oder das Unblocking sei hier kurz als Bildfolge dargestellt.
Einige Applikationen wie Firefox, einige VPN Clients, Entrust oder ähnliches aus der UX / Open Source Welt benötigen die PKCS#11. Neu unterstützen beide Middleware Varianten die PKCS#11. Siehe Cryptoki unter de.wikipedia.org/wiki/Public-Key_Cryptography_Standards
Bei der MS Crypto-API ist seit über 10 Jahren (seit Vista) die Cryptographic Next Generation API (CNG) verfügbar und damit die Key Storage Provider. Die legacy CAPI mit den CSPs sollte nicht mehr verwendet werden. Dennoch ist auch der Support dafür vorhanden.
New Smart Card Support in beiden Middleware Varianten
Die neuen Smart Cards für die Unterstützung der RSA Algorithmen mit 4096Bit und aktuellen FIPS (IDPrime 930/3930) und Common Criteria (IDPrime 940/3940) Zertifizierungen werden natürlich von beiden Middleware-Varianten unterstützt, wie auch die neuen eToken (SafeNet eToken 5300) und die FIDO Karte (Support for IDPrime 3940 FIDO).
Achtung bei Karten mit FIPS 140-2 Level 3!
Zu den neuen FIPS 140-2 Level 3 zertifizierten Karten IDPrime 930/3930 muss man die Einsatzzwecke sehr genau prüfen, da hier nur das neuere RSA Padding nach PKCS#1 Version 2.2 verwendet wird, was nicht mit Windows Smart Card oder RDP Login und Juniper VPN, Microsoft VPN, vSec CMS Enrollment and Open Trust Enrollment kompatible ist.
FIPS Level 3 verbietet neben PKCS# 1.5 auch SHA-1 Hashing, so dass veraltete Anwendungen unter Umständen nicht mehr funktionieren.
RSAES-OAEP – “Optimal Asymmetric Encryption Padding” wurde in PKCS#1 Version 2.2 erweitert. RFC 8017. RSAES – RSA Encryption Standard.
RSASSA-PSS – Probabilistic Signature Scheme wird mit «alternate signature algorithm» unterstützt. SSA – Signature Standard with Appendix, ist aber mit iOS und Firefox nicht kompatible.
Entsprechende Karten müssen explizit bestellt werden.
Das Lesen der Release Notes zu den Karten und den Middleware Versionen lohnt sich dieses Mal wirklich.
SafeNet Minidriver
Der neue Minidriver bringt zusätzlich zum Support von PKCS#11 auch noch eine Systemtray Icon mit, das PIN unlock oder ein unblock für Karten mit dem entsprechenden Backend-System unterstützt. Die Basis ist nun auch wirklich der Minidriver vom SAC selbst.
-
- Die Hinweise für die Cryptographic policy in den Release Notes geben eine gute Richtlinie für die Sicherheit der PINs.
- Secure messaging wäre ganz toll, also Karten/Token mit secure messaging verwenden, auch wenn diese nicht so super performant sind und man die Kompatibilität genauer prüfen muss. Nächstes Jahr wird Thales voraussichtlich eine IDPrime 930 mit L2+ mit secure messaging auf den Markt bringen. Oder Microsoft unterstützt irgendwann PKCS#1 version 2.2.
- Ein separates PIN Pad mit PIN Eingabe wäre zumindest bei einem HSM zu fordern
- PIN policy Minimum 8 Char, Admin PIN 16 Char
- Alle anderen Hinweise gehen in Richtung unserer goldenen Regeln (AV, patchen, UAC, …): www.tec-bite.ch/die-7-golden-rules-fuer-eine-sichere-it/
- Des Weiteren können veraltete Algorithmen beispielsweise für Windows mit einem Registry-key unterbunden werden. Disable-Crypto in HKEY_LOCAL_MACHINE\SOFTWARE\SafeNet\Authentication\SAC\Crypto
- Es gibt Möglichkeiten für erweitertes Logging.
- Die Hinweise für die Cryptographic policy in den Release Notes geben eine gute Richtlinie für die Sicherheit der PINs.
Fazit: Der SafeNet Minidriver hat mit der Version einen deutlichen Sprung gemacht.
Schauen wir nun, was das Original noch mehr zu bieten hat.
SafeNet Authentication Client (SAC)
Die Initialisierung von Token und Karten ist hier wohl das Auffälligste, was der SAC gegenüber dem Minidriver als zusätzliche Funktion bietet. Logon für den Admin und damit auch Reset User password (PIN) als Admin und einiges mehr bieten dem IT Operator Möglichkeiten auch im kleinen Umfeld die Karten umfänglich zu konfigurieren. Wer mehr braucht wie Offline PIN Reset oder das Ausstellen der Karte mit Initialisieren, Registrieren der Karte und Ausstellen der Zertifikate in einem Rutsch, der muss ein Smart Card Management System bemühen. Siehe versasec vSec:CMS. versasec.com/products/vsec-cms
Desweiteren muss die Lizenz nun nicht mehr installiert werden und der Support für LSA with code integrity und Credential Guard ist gegeben.
Secure Messaging
Der SafeNet Authentication Client verwendet immer eine verschlüsselte Kommunikation zwischen dem Client (Terminal) und dem IDPrime Chip. Dabei wird ein Thales predefined key verwendet, der via Customization Tool geändert werden kann, dazu muss natürlich auch der Chip ab Werk entsprechend personalisiert sein.
Übersicht zu den Schnittstellen und den Kommunikationswegen
SingleLogon versus Single Sign On (SSO)
Eigentlich sollte jedem Prozess explizit (durch Eingabe der PIN) erlaubt werden, eine Private Key Operation auszuführen. Das wäre aus Sicht der Security eigentlich notwendig. Aber die Usability für die Endbenutzer muss akzeptiert werden. Hier wird oft der Begriff «PIN Caching» verwendet, was so aber nicht ganz stimmt.
Bei diesen 3 Funktionen, SingleSignOn, SSO und PIN Caching, geht es also um die Reduzierung der PIN Eingabe für jede einzelne Funktion. Das kann man schon im Card Profile hinterlegen, ist dann aber für immer dort definiert und auf der Karte gibt es keine Uhr für zeitliche Begrenzungen. Das wird auch nicht mehr vom Hersteller unterstützt.
-
- Windows unterstützt ein PIN Caching per Default und ist ein Feature des Minidrivers.
- Im SAC wird Feature SingleLogon genannt und arbeitet über die Middleware (erfordert SACSrv).
- SSO ist ein Feature auf der IDPrime MD Karte und wird durch PowerOff für Smart Card Reader von Windows nach ca. 30 sec abgeschalten.
- Unterstützte API kann per Registry Key definiert und eingeschränkt werden (CAPI/CNG/Minidriver/PKCS#11).
- Per Machine or per User
PIN Caching ist ein Minidriver Feature für Microsoft Based CSP and CNG. Der Default Value ist enable und für das Windows Logon notwendig. Normal Mode ist aber pro Prozess und LogonID. Weitere Modi kann man im Admin Guide genau nachlesen. Also kann eine Malware nicht so einfach eine Private Key Operation auslösen. Der PIN wird dann verschlüsselt im Speicher vorgehalten.
Folgende Modi sind verfügbar: PinCacheNormal, PinCacheTimed, PinCacheAlwaysPrompt, PinCacheNone.
Deployment
Ab SAC 9.0 wird das inplace Upgrade durch SAC 10.8R2 unterstützt. Alle anderen Versionen Aladdin 3.5 bis SafeNet 8 müssen vorab deinstalliert werden. MSI Installationsoptionen haben sich erweitert oder man benutzt das SafeNet Authentication Client Customization Tool. Die Lizenz für den SAC muss nicht mehr explizit installiert werden.
Customizing SAC
Für die Anpassungen des SAC Installationspakets gibt es schon seit einigen Jahren das Customization Tool und GPO Erweiterungen. Das soll hier nur zur Anregung erwähnt sein.
-
- Admx
- SAC Customization Tool
Guideline für SAC configuration
-
- Page 27
Bei der Konfiguration des SAC Clients stösst man schnell auf den Punkt der Kartenprofile, deshalb seien sie hier kurz erläutert.
Profile typen
Non-managed
Bietet die Möglichkeit die Karte ohne Admin key zu resetten, wie das beim eToken der Standard ist, was wieder den Hinweis auf eine Smart Card Management hervorruft. Es sei denn, es ist egal, wenn die Hardware auch «anderweitig» genutzt werden kann. Dies wird also vor allem bei kleineren Stückzahlen und im Testumfeld verwendet.
Managed
Das Managed Profile wird durch einen Personalisierungsprozess beim Karten- bzw. beim Chip-Hersteller erreicht. Hier werden Parameter des Card Profiles definiert, wie zum Beispiel der Admin PIN, Initialization Key, PUK, PIN Policy, SSO Feature und weiteres. Das ist das normale übliche Verfahren bei zentral verwalteten Karten beim Einsatz in grösseren Stückmengen.
Welche Keys gibt es auf einer Smart Card?
Am Beispiel von IDPrime 930
AES 256-bit Initialization Key
Used on re-initializing
-
- Erase all the user’s RSA, ECC Keys
- Erase the EFs containing the certificates and the private data
- Update the PIN
- Optionally update the Admin password
- Optionally update the PIN Policies
mephisto
mephisto ist Security-Spezialist und langjähriger Mitarbeiter bei AVANTEC. Am liebsten beschäftigt er sich mit Authentication, Encryption und echtem Schutz gegen Malware. mephisto streitet sich gern, um die Lösungen richtig zu verstehen, denn: "Ich bin ein Teil von jener Kraft, die stets das Böse will und stets das Gute schafft."