公鑰密碼標準(PKCS)

公鑰密碼標準(PKCS)最初是爲推進公鑰密碼系統的互操作性,由RSA實驗室與工業界、學術界和政府代表合作開發的。在RSA帶領下,PKCS的研究隨着時間不斷髮展,它涉及了不斷髮展的PKI格式標準、算法和應用程序接口。PKCS標準提供了基本的數據格式定義和算法定義,它們實際是今天所有PKI實現的基礎

PKCS標準的內容

PKCS標準如下:

(1)PKCS#1:RSA加密標準。PKCS#1定義了RSA公鑰函數的基本格式標準,特別是數字簽名。它定義了數字簽名如何計算,包括待簽名數據和簽名本身的格式;它也定義了PSA公/私鑰的語法。

(2)PKCS#2:涉及了RSA的消息摘要加密,這已被併入PKCS#1中。

(3)PKCS#3:Diffie-Hellman密鑰協議標準。PKCS#3描述了一種實現Diffie- Hellman密鑰協議的方法。

(4)PKCS#4:最初是規定RSA密鑰語法的,現已經被包含進PKCS#1中。

(5)PKCS#5:基於口令的加密標準。PKCS#5描述了使用由口令生成的密鑰來加密8位位組串併產生一個加密的8位位組串的方法。PKCS#5可以用於加密私鑰,以便於密鑰的安全傳輸(這在PKCS#8中描述)。

(6)PKCS#6:擴展證書語法標準。PKCS#6定義了提供附加實體信息的X.509證書屬性擴展的語法(當PKCS#6第一次發佈時,X.509還不支持擴展。這些擴展因此被包括在X.509中)。

(7)PKCS#7:密碼消息語法標準。PKCS#7爲使用密碼算法的數據規定了通用語法,比如數字簽名和數字信封。PKCS#7提供了許多格式選項,包括未加密或簽名的格式化消息、已封裝(加密)消息、已簽名消息和既經過簽名又經過加密的消息。

(8)PKCS#8:私鑰信息語法標準。PKCS#8定義了私鑰信息語法和加密私鑰語法,其中私鑰加密使用了PKCS#5標準。

(9)PKCS#9:可選屬性類型。PKCS#9定義了PKCS#6擴展證書、PKCS#7數字簽名消息、PKCS#8私鑰信息和PKCS#10證書籤名請求中要用到的可選屬性類型。已定義的證書屬性包括 E-mail地址、無格式姓名、內容類型、消息摘要、簽名時間、簽名副本(counter signature)、質詢口令字和擴展證書屬性。

(10)PKCS#10:證書請求語法標準。PKCS#10定義了證書請求的語法。證書請求包含了一個唯一識別名、公鑰和可選的一組屬性,它們一起被請求證書的實體簽名(證書管理協議中的PKIX證書請求消息就是一個PKCS#10)。

(11)PKCS#11:密碼令牌接口標準。 PKCS#11或“Cryptoki”爲擁有密碼信息(如加密密鑰和證書)和執行密碼學函數的單用戶設備定義了一個應用程序接口(API)。智能卡就是實現Cryptoki的典型設備。注意:Cryptoki定義了密碼函數接口,但並未指明設備具體如何實現這些函數。而且Cryptoki只說明了密碼接口,並未定義對設備來說可能有用的其他接口,如訪問設備的文件系統接口。

(12)PKCS#12:個人信息交換語法標準。PKCS#12定義了個人身份信息(包括私鑰、證書、各種祕密和擴展字段)的格式。PKCS#12有助於傳輸證書及對應的私鑰,於是用戶可以在不同設備間移動他們的個人身份信息。

(13)PDCS#13:橢圓曲線密碼標準。PKCS#13標準當前正在完善之中。它包括橢圓曲線參數的生成和驗證、密鑰生成和驗證、數字簽名和公鑰加密,還有密鑰協定,以及參數、密鑰和方案標識的ASN.1語法。

(14)PKCS#14:僞隨機數產生標準。 PKCS#14標準當前正在完善之中。爲什麼隨機數生成也需要建立自己的標準呢?PKI中用到的許多基本的密碼學函數,如密鑰生成和Diffie- Hellman共享密鑰協商,都需要使用隨機數。然而,如果“隨機數”不是隨機的,而是取自一個可預測的取值集合,那麼密碼學函數就不再是絕對安全了,因爲它的取值被限於一個縮小了的值域中。因此,安全僞隨機數的生成對於PKI的安全極爲關鍵。

(15)PKCS#15:密碼令牌信息語法標準。 PKCS#15通過定義令牌上存儲的密碼對象的通用格式來增進密碼令牌的互操作性。在實現PKCS#15的設備上存儲的數據對於使用該設備的所有應用程序來說都是一樣的,儘管實際上在內部實現時可能所用的格式不同。PKCS#15的實現扮演了翻譯家的角色,它在卡的內部格式與應用程序支持的數據格式間進行轉換。

PKCS主要用途

以上標準主要用於用戶實體通過RA的證書申請、用戶的證書更新過程。當證書作廢時,RA通過CA向目錄服務器中發佈證書撤銷列表CRL,用於擴展證書內容,以及數字簽名與驗簽過程和實現數字信封格式定義等一系列相關協議。

 

Note: PKCS #2 and PKCS #4 have been incorporated into PKCS #1
PKCS #1: RSA Cryptography Standard
PKCS #3: Diffie-Hellman Key Agreement Standard
PKCS #5: Password-Based Cryptography Standard
PKCS #6: Extended-Certificate Syntax Standard
PKCS #7: Cryptographic Message Syntax Standard
PKCS #8: Private-Key Information Syntax Standard
PKCS #9: Selected Attribute Types
PKCS #10: Certification Request Syntax Standard
PKCS #11: Cryptographic Token Interface Standard
PKCS #12: Personal Information Exchange Syntax Standard
PKCS #13: Elliptic Curve Cryptography Standard
PKCS #15: Cryptographic Token Information Format Standard
PKCS Mailing Lists
Workshopsi

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