Smartcard Minidriver
Der Smart Karte Minidriver bietet eine einfachere Alternative zur Entwicklung eines Legacy-Kryptografiedienstanbieters (CSP), indem die meisten komplexen kryptografischen Vorgänge aus dem Karte Minidriver-Entwickler gekapselt werden.
Informationen zur Spezifikation für smarte Karte Minidriver finden Sie unter Smart Card Minidriver Specification.
Ab Windows Vista können Anwendungen die Microsoft Cryptography API: Next Generation (CNG) für intelligente Karte-basierte kryptografische Dienste verwenden. Im Rahmen der in Windows Vista eingeführten Elliptic Curve Cryptography (ECC) werden ECC-Smartcards im neuen kryptografischen Framework unterstützt. Anwendungen und Schnittstellen, die mit vorhandenen Rivest-Shamir-Adleman (RSA) Karte Minidrivern über das Legacy-CAPI-Subsystem interagieren, funktionieren weiterhin ohne Änderungen.
RSA smart Karte Minidriver können auch beim Smart Karte Key Storage Provider (KSP) registriert werden, sodass sie über die CNG-Schnittstelle aufgerufen werden können. Anforderungen im dualen Modus ECC/RSA + ECC-only werden an den KSP und über ihn an die entsprechenden Karte Minidriver weitergeleitet. Für Windows Vista-basierte Clients werden ecc-only- und ECC/RSA-Dual-Mode-Karten mithilfe des Windows Smart Karte Frameworks unterstützt. Auf Dual-Mode-Karten kann auch über CAPI in erster Linie zugegriffen werden, um nur RSA-Features verfügbar zu machen.
Anwendungen verwenden CAPI für intelligente Karte-basierte kryptografische Dienste. CAPI wiederum leitet diese Anforderungen an den entsprechenden CSP weiter, um die kryptografischen Anforderungen zu verarbeiten.
Microsoft SmartCard Base CSP und KSP sind eine Verfeinerung der Architektur, die häufig benötigte CAPI-basierte CSP- bzw. CNG-basierte KSP-Funktionalität von den Implementierungsdetails trennt, die sich für jeden Karte Anbieter ändern müssen.
Base CSP kann zwar die RSA-Funktionen eines intelligenten Karte nur mithilfe des Minitreibers verwenden, der CNG-basierte KSP unterstützt jedoch nur ECC-basierte smartcards sowie ECC/RSA-Dualmodus-Smartcards in Windows Vista und höheren Versionen von Windows.
Letztendlich soll die neue Architektur alle neuen Smartcards unterstützen – RSA, ECC und was auch immer folgt. Die Implementierung des CSP wird in zwei Teile unterteilt:
- Der Basis-CSP/KSP (der gemeinsame Teil), der funktionen für Hashing, symmetrische und kryptografische Vorgänge mit öffentlichem Schlüssel sowie die Eingabe und Zwischenspeicherung der persönlichen Identifikationsnummer (PIN) umfasst.
- Eine Reihe von Plug-Ins, die als "Karte Minidriver" bezeichnet werden, die die Eigenschaften bestimmter Smartcards in eine einheitliche Schnittstelle übersetzen, die für alle Smartcards identisch ist. Karten-Minidriver kommunizieren dann mit ihren Karten, indem sie die Dienste des intelligenten Karte Resource Manager (SCRM) verwenden, der auf ähnliche Weise die Merkmale einer Vielzahl von intelligenten Karte Lesern abstrahiert.
Der verbleibende Teil für Anbieter von intelligenten Karte besteht darin, einen Karte Minidriver zu implementieren, eine einigermaßen begrenzte Schnittstellenebene, die eine Abstraktion der Karte für den Basis-CSP/KSP bereitstellt und als Dateisystem organisiert ist, sowie eine Reihe von primitiven Funktionen. Funktionen mit höherer Reihenfolge, z. B. zwischenspeichern (sicherstellen, dass verschiedene Dateien auf der Karte konsistente Inhalte aufweisen) oder die Behandlung von Benennungskonflikten werden auf einer höheren Ebene behandelt, außerhalb des Karte Minidrivers.
Die folgende Abbildung zeigt die Schnittstellen zwischen Karte Minidrivern und CAPI-basierten Anwendungen.
Die folgende Abbildung zeigt die Schnittstellen zwischen Karte Minidrivern und CAPI2-basierten Anwendungen.
Es wird empfohlen, dass Entwickler den umfangreichen Satz von Bibliotheken nutzen, die Microsoft für kryptografische Vorgänge bereitstellt, die der Minitreiber ausführt. Dadurch können Entwickler von der Microsoft Windows Update-Infrastruktur für die Verteilung kritischer Sicherheitsupdates profitieren.