Smart Card Middleware Minidriver versus SafeNet Authentication Client

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.

Das ganze nochmal mit … SAC

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

SafeNet MinidriverDer 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.

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

Quelle: SAC Admin Guide


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

Customizing SAC 1

Customizing SAC 2

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

Der Beitrag Smart Card Middleware SafeNet Minidriver versus SafeNet Authentication Client erschien zuerst auf Tec-Bite.