加密服務提供程序 (CSP)

加密服務提供程序 (CSP) 是 Windows 操作系統中提供一般加密功能的硬件和軟件組件。

可以編寫這些 CSP 以提供各種加密和簽名算法。

配置爲由某個證書模板使用的每個 CSP 都可以潛在支持不同的加密算法,因此,可以支持不同的密鑰長度。

這意味着,必須將證書模板配置爲支持一個或多個 CSP。

選擇特定的 CSP,可讓管理員控制此證書使用的算法和密鑰長度。

Windows Server 2003 家族包含許多 CSP,但還可添加其他 CS。

微軟制訂的CSP接口(Cryptographic Service Provider),是爲Windows系列操作系統制訂的底層加密接口,實現數據的加密、解密、數字簽名、驗證和數據摘要等密碼操作。

應用通過CryptoAPI系列函數調用,其操作對象爲容器,一個容器內有加密公私鑰對、加密證書、簽名公私鑰對和簽名證書。

可以通過容器完成加解密、簽名驗籤等操作。

 

CSP加密服務提供者(Cryptographic Service Provider)具有一下幾個特點:

CSP是真正執行密碼運算的獨立模塊

物理上一個CSP由兩部分組成:一個動態連接庫,一個簽名文件

簽名文件保證密碼服務提供者經過了認證,以防出現攻擊者冒充CSP

若加密算法用硬件實現,則CSP還包括硬件裝置

Microsoft通過捆綁RSA Base Provider,在操作系統中提供一個CSP,使用RSA公司的公鑰加密算法,更多的CSP可以根據需要增加到應用中。

Windows 2000以後自帶了多種不同的CSP

 

 

CSP服務體系從系統結構,系統調用層次方面來看,分爲相互獨立的三層(如上圖:服務分層體系)

    1)最底層是加密服務提供層,即具體的一個CSP,它是加密服務提供機構提供的獨立模塊,擔當真正的數據加密工作,包括使用不同的加密和簽名算法產生密鑰,交換密鑰、進行數據加密以及產生數據摘要、數字化簽名它是獨立於應用層和操作系統,其提供的通用的SPI編程接El與操作系統層進行交互;有些CSP使用特殊硬件一起擔當加密工作,而有些則通過RPC分散其功能,以達到更爲安全。

    2)中間層,即操作系統(0S)層,在此是指具體的Win9XNT2K及更高版本的32位操作平臺,在CSP體系中,以及爲應用層提供統一的API接口,爲加密服務提供層提供SPI接口,操作系統層爲應用層隔離了底層CSP和具體加密實現細節,用戶可獨立各個CSP進行交互它擔當一定管理功能,包括定期驗證CSP等。

    3)應用層,也就是任意用戶進程或線程具體通過調用操作系統層提供的Crypto API使用加密服務的應用程序。

    根據CSP服務分層體系,應用程序不必關心底層CSP的具體實現細節,利用統一的API接口進行編程,而由操作系統通過統一的SPI接口來與具體的加密服務提供者進行交互,由其他的廠商根據服務編程接口SPI實現加密、簽名算法,有利於實現數字加密與數字簽名。

應用程序中要實現數字加密與數字簽名時,一般是調用微軟提供的應用程序編程接口Crypto API。應用程序不能直接與加密服務提供者(CSP)通信,只能通過Crypto API操作系統界面過濾後,經過Crypto SPI系統服務接口與相應的CSP通信。CSP纔是真正實現所有加密操作的獨立模塊。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章