智慧卡迷你驅動程式
智慧卡迷你驅動程式提供更簡單的替代方法,可藉由封裝卡片 minidriver 開發人員的大部分複雜密碼編譯作業, (CSP) 開發舊版密碼編譯服務提供者。
如需智慧卡迷你驅動程式規格的相關資訊,請參閱 智慧卡迷你驅動程式規格。
從 Windows Vista 開始,應用程式可以使用 Microsoft 密碼編譯 API:適用于智慧卡型密碼編譯服務的新一代 (CNG) 。 在 Windows Vista 中引進的省略號曲線密碼編譯 (ECC) 工作,新的密碼編譯架構支援 ECC 智慧卡。 透過舊版 CAPI 子系統與現有 Rivest-Shamir-Adleman 互動的應用程式和介面, (RSA) 卡迷你驅動程式繼續運作,而不需修改。
RSA 智慧卡迷你驅動程式也可以向智慧卡金鑰儲存提供者註冊, (KSP) ,以便透過 CNG 介面呼叫它們。 雙模式 ECC/RSA + 僅限 ECC 要求會路由傳送至 KSP,並透過該要求路由傳送至適當的卡片迷你驅動程式。 針對以 Windows Vista 為基礎的用戶端,使用 Windows 智慧卡架構支援僅限 ECC 和 ECC/RSA 雙模式卡片。 您也可以透過 CAPI 存取雙模式卡片,主要是公開僅限 RSA 的功能。
應用程式會針對智慧卡型密碼編譯服務使用 CAPI。 CAPI 接著會將這些要求路由傳送至適當的 CSP,以處理密碼編譯需求。
Microsoft 智慧卡基底 CSP 和 KSP 是一種精簡的架構,可分別區分需要 CAPI 型 CSP 和 CNG 型 KSP 功能的架構,以及每個卡片廠商必須變更的實作詳細資料。
雖然基底 CSP 只能使用迷你驅動程式來使用智慧卡的 RSA 功能,但 CNG 型 KSP 支援僅限 ECC,以及 Windows Vista 和更新版本中的 ECC/RSA 雙模式智慧卡。
最後,新架構的目的是要支援所有新的智慧卡,也就是 RSA、ECC,以及後續的任何專案。 它會將 CSP 的實作分割成兩個部分:
- 基底 CSP/KSP (通用部分) ,除了個人識別碼 (PIN) 專案和快取之外,還包含雜湊、對稱和公開金鑰密碼編譯作業的功能。
- 一系列的外掛程式,稱為「卡片迷你驅動程式」,可將特定智慧卡的特性轉譯為所有智慧卡相同的統一介面。 然後,卡片迷你驅動程式會使用智慧卡資源管理員的服務來與其卡片通訊, (SCRM) ,以類似抽象化各種智慧卡讀取器的特性。
智慧卡廠商的其餘部分是實作卡片迷你驅動程式,這是合理的有限介面層,可為基底 CSP/KSP 提供卡片抽象概念,並組織為檔案系統,以及一組基本功能。 較高的順序功能,例如快取 (確保卡片上的不同檔案在卡片上具有一致的內容) 或處理命名衝突,會在卡片迷你驅動程式之外較高層級處理。
下圖顯示卡片迷你驅動程式與 CAPI 型應用程式之間的介面。
下圖顯示卡片迷你驅動程式與 CAPI2 型應用程式之間的介面。
建議開發人員利用 Microsoft 針對 minidriver 執行的密碼編譯作業所提供的豐富程式庫集。 這可讓開發人員受益于 Microsoft Windows Update基礎結構,以散發重要的安全性更新。