Udostępnij przez


Minidrivery inteligentnych kart

Minidriver dla kart inteligentnych zapewnia prostszą alternatywę dla opracowywania klasycznego dostawcy usług kryptograficznych (CSP), hermetyzując większość złożonych operacji kryptograficznych, dzięki czemu deweloperzy minidriverów nie muszą się nimi zajmować.

Aby uzyskać informacje o specyfikacji minidriverów kart inteligentnych, zobacz Specyfikacja minidrivera karty inteligentnej.

Począwszy od systemu Windows Vista, aplikacje mogą używać interfejsu API kryptografii firmy Microsoft: następnej generacji (CNG) na potrzeby usług kryptograficznych opartych na kartach inteligentnych. W ramach technologii kryptograficznej wykorzystującej krzywe eliptyczne (ECC), która została wprowadzona w systemie Windows Vista, karty inteligentne ECC są obsługiwane w nowej platformie kryptograficznej. Aplikacje i interfejsy, które współdziałają z istniejącymi minidriverami kart Rivest-Shamir-Adleman (RSA) za pośrednictwem starszego podsystemu CAPI, nadal działają bez modyfikacji.

Minidrivery inteligentnych kart RSA można również zarejestrować za pomocą dostawcy magazynu kluczy kart inteligentnych (KSP), aby można je było wywoływać za pośrednictwem interfejsu CNG. Żądania trybu podwójnego ECC/RSA oraz żądania tylko ECC są kierowane do KSP i, za jego pośrednictwem, do odpowiednich minidriverów kart. W przypadku klientów opartych na systemie Windows Vista karty z podwójnym trybem ECC i ECC/RSA są obsługiwane przy użyciu struktury kart inteligentnych systemu Windows. Dostęp do kart w trybie podwójnym można również uzyskać za pośrednictwem interfejsu CAPI, głównie w celu ujawnienia funkcji dotyczących tylko RSA.

Aplikacje używają interfejsu CAPI do usług kryptograficznych opartych na kartach inteligentnych. Z kolei capI kieruje te żądania do odpowiedniego dostawcy CSP w celu obsługi wymagań kryptograficznych.

Podstawowy podsystem CSP i podsystem KSP karty inteligentnej firmy Microsoft jest udoskonaleniem architektury, która oddziela często potrzebną funkcjonalność CSP opartego na protokole CAPI i KSP opartego na protokole CNG od szczegółów implementacji, które muszą zostać zmienione dla każdego producenta kart.

Chociaż podstawowy dostawca usług kryptograficznych (CSP) może korzystać z funkcji RSA karty inteligentnej tylko używając minidriver, dostawca kluczy oparty na CNG obsługuje zarówno karty ECC, jak i karty inteligentne w trybie ECC/RSA w Windows Vista i nowszych wersjach Windows.

Ostatecznie celem jest, aby nowa architektura obsługiwała wszystkie nowe karty inteligentne — RSA, ECC i cokolwiek nadchodzi. Dzieli implementację CSP na dwie części:

  • Podstawowy CSP/KSP (część wspólna), która obejmuje funkcjonalność tworzenia skrótów oraz operacje kryptograficzne z użyciem symetrycznego i publicznego klucza, a także wprowadzanie i buforowanie osobistego numeru identyfikacyjnego (PIN).
  • Seria wtyczek, które są znane jako "minidrivery kart", które przekładają cechy poszczególnych kart inteligentnych na jednolity interfejs, który jest taki sam dla wszystkich kart inteligentnych. Minidrivery kart komunikują się następnie z kartami przy użyciu usług menedżera zasobów karty inteligentnej (SCRM), które podobnie abstrakują cechy różnych czytników kart inteligentnych.

Pozostała część dla dostawców kart inteligentnych polega na zaimplementowaniu minidrivera karty, względnie ograniczonej warstwy interfejsu, która zapewnia abstrakcję karty dla podstawowego dostawcy usług kryptograficznych/KSP i jest zorganizowana jako system plików oraz zestaw podstawowych funkcji. Funkcjonalność wyższego rzędu, taka jak buforowanie (zapewnienie, że różne pliki na karcie mają spójną zawartość) lub obsługa kolizji nazw, jest obsługiwana na wyższym poziomie poza minidriverem karty.

Na poniższej ilustracji przedstawiono interfejsy między minidriverami kart i aplikacjami opartymi na protokole CAPI.

interfejsy między minidriverami kart i aplikacjami opartymi na CAPI.

Na poniższej ilustracji przedstawiono interfejsy między minidriverami kart i aplikacjami opartymi na protokole CAPI2.

interfejsy między minidriverami kart i aplikacjami opartymi na capi2.

Zaleca się, aby deweloperzy korzystali z bogatego zestawu bibliotek dostępnych przez firmę Microsoft na potrzeby operacji kryptograficznych wykonywanych przez minidriver. Dzięki temu deweloperzy mogą korzystać z infrastruktury usługi Microsoft Windows Update na potrzeby dystrybucji krytycznych aktualizacji zabezpieczeń.