?? rfc3029.txt
字號:
組織:中國互動出版網(http://www.china-pub.com/)
RFC文檔中文翻譯計劃(http://www.china-pub.com/compters/emook/aboutemook.htm)
E-mail:ouyang@china-pub.com
譯者:郭大剛(guodagang guodagang@tyut.edu.cn)
譯文發布時間:2001-11-7
版權:本中文翻譯文檔版權歸中國互動出版網所有。可以用于非商業用途自由轉載,但必須
保留本文檔的翻譯及版權信息。
Network Working Group C. Adams
Request for Comments: 3029 Entrust Technologies
Category: Experimental P. Sylvester
EdelWeb SA - Groupe ON-X Consulting
M. Zolotarev
Baltimore Technologies Pty Limited
R. Zuccherato
Entrust Technologies
February 2001
Internet X.509 公鑰基礎結構
數據有效性和驗證服務器協議
(RFC3029——Internet X.509 Public Key Infrastructure
Data Validation and Certification Server Protocols
這個備忘錄的狀態
這個備忘錄為Internet團體定義了一個實驗協議。它并沒有指定某種形式的Internet
標準。希望提出改進的建議和討論。本備注的發行使沒有限制的。
版權聲明
Copyright (C) The Internet Society (2001)。版權所有。
摘要
這個文檔描述了一個通用的數據有效性和驗證服務器(Data Validation and
Certification Server,DVCS),以及和它通訊時使用的協議。數據有效性和驗證服務器是
一個可信任的第三方,用來作為構造可靠的不可否認服務的一部分。
PKI中數據有效性和驗證服務器的用處在于驗證簽名文檔、公鑰證書和數據擁有或存在
的有效性。協議產生的驗證聲明稱做數據有效性證書(Data Validation Certificates,
DVC) 。
我們給出了如何使用數據有效性和驗證服務器的例子,它們不僅擴展了簽名的使用范
圍,使其不局限于密鑰的終止或撤消,而且質詢了關于公鑰證書地位的數據有效性和驗證服
務器。文檔包含一個完整的時間戳事物的例子。
目錄
1. 介紹 2
2. DVCS提供的服務 3
2.1 數據擁有證書Certification of Possession of Data 3
2.2 數據擁有聲明證書Certification of Claim of Possession of Data 4
2.3數字簽名文檔有效性Validation of Digitally Signed Documents 4
2.4公鑰證書有效性Validation of Public Key Certificates 4
3. 數據證書服務器的使用和Scenarii. 4
4. DVCS功能需求 5
5. 數據證書服務器事務處理過程Data Certification Server Transactions 5
6. DVCS的定義 6
7. 普通數據類型 6
7.1 version類: 6
7.2 DigestInfo類: 7
7.3. 時間值 7
7.4. PKIStatusInfo 7
7.5. TargetEtcChain 7
7.6. DVCSRequestInformation 8
7.7. GeneralName 和GeneralNames 9
8. 數據有效性和證書請求 9
9. DVCS響應 11
9.1. 數據有效性證書 11
9.2. DVCS 錯誤通告 13
10. 傳輸 14
10.1 通過HTTP或HTTPS實現的DVCS協議 14
10.2 使用電子郵件的DVCS協議 14
11. 需要考慮的安全問題 14
12. 專利信息 15
13. 參考文獻 15
14. 作者地址 16
附錄 A - PKCS #9 屬性 17
附錄 B – 簽名文檔確認 17
B.1簽名文檔確認 17
附錄 C – 驗證公鑰證書的狀況 18
附錄 D - MIME 注冊 19
附錄 E – 使用1988語法的ASN.1 模塊 19
附錄 F –范例 23
附錄 G – 致謝 40
完整版權說明 40
致謝 40
1. 介紹
這個文檔是已在IETF PKIX工作組中提議和討論的工作的結果。作者和組中一些成員認
為提升這些還相當新的概念為標準過程還為時尚早。這里表述的概念已經穩定了一段時間,
并且有部分已經實現。大家同意發表在諸如實驗性RFC刊物是一個合適的方法,以便為其它
實現提供穩定的參考文檔。
這個文檔中的關鍵詞“MUST”、“MUST NOT”、“REQUIRED”、“SHOULD”、“SHOULD NOT”、
“RECOMMENDED”、“MAY”和“OPTIONAL”(如所見為大寫)按照RFC2119的描述進行解釋。
數據有效性和驗證服務器是可信任的第三方,提供諸如數據有效性服務、聲明數據簽名
文檔的正確性、公鑰證書和數據擁有及存在的有效性服務。
作為有效性的結果,DVCS產生一個數據有效性證書(DVC)。此證書可用來構建有關一
個聲稱擁有數據的實體的有效性和正確性、一個實體公鑰證書有效性和恢復狀態和一個數字
簽名文檔的有效性和正確性。
DVCS提供的服務并不能取代在大型開放環境中檢查公鑰證書撤消使CRLs和OCSP的使
用,因為這關系到協議的可量測性。
它更應該應用于支持關于無紙文檔環境的不可否認性或對更多傳統服務的補充。DVC中
通過提供有效的數字簽名文檔或公鑰證書,使數據有效性證書的存在支持不可否認性。
即使在公鑰證書到期,沒有或很難得到恢復信息的情況下,使公鑰證書有效的DVC仍可
以使用。例如,確定一個DVC的有效性被認為是一件較為容易的事情,因為擁有DVCS的人
數遠比擁有公鑰證書的人少。
協議的一個重要特性是通過使用同樣的協議(不需要使用相同的服務)和有效的簽名文
檔使DVCs生效。對于一個特定的DVC,我們可以不驗證簽名,也就是說,通過和一個文檔
比較來確定其有效性。
響應簽名文檔或公鑰證書有效性簽名請求的數據有效性證書的產品同時也提供證據,表
明驗證數據簽名或公鑰證書有效性的請求者執行了預期的diligence 。
這個文檔定義了數據簽名的使用,以確保文檔和DVCs的真實性,還定義了對應的術語;
還定義了提供驗證證據的其他方法,尤其是這可能取代SignedData 安全信封。
2. DVCS提供的服務
現有詳述定義了四類有效性和證書服務:
- 數據擁有證書 Certification of Possession of Data (cpd),
- 數據擁有聲明證書 Certification of Claim of Possession of Data (ccpd),
- 數字簽名文檔有效性 Validation of Digitally Signed Document (vsd),
- 公鑰證書有效性 Validation of Public Key Certificates (vpkc).
DVCS必須至少支持這些服務的一個子集。DVCS可以支持有限的vsd服務,以便確認數
據有效性證書。
完成每一步后,DVCS產生一個數據有效性證書-一個包含有效性結果和可信任的時間
信息的簽名文檔。
2.1 數據擁有證書Certification of Possession of Data
數據擁有證書服務提供證據表明,在指定的時間請求者擁有數據以及數據有效性服務器
上是真實的數據。
2.2 數據擁有聲明證書Certification of Claim of Possession
of Data
此服務除了表明請求者用的不是數據而是用消息摘要外,其他和上明的服務是一樣的。
2.3數字簽名文檔有效性Validation of Digitally Signed
Documents
此服務用于宣稱簽名文檔的有效性。
DVCS使用一切合適的狀態信息和公鑰證書來驗證所有包含在簽名文檔中的簽名。DVCS
驗證所有包含在文檔中簽名,還檢驗簽名實體是否可信,例如驗證簽名實體的整個證書路徑
有可信的來源(如,DVCS's CA, 或同層的根CA)。
DVCS可能需要參考相關的CRLs或通過訪問CAs更新的狀態信息進行補充,例如訪問
OCSP服務,可信任的目錄服務或其他DVCS服務。
DVCS會對所有簽名文檔中的簽名執行驗證。一個簽名驗證的失敗不會導致整個有效性
驗證的失敗,相反,如果沒有足夠的簽名數量將可能導致全部失敗。
2.4公鑰證書有效性Validation of Public Key Certificates
此服務用來驗證和聲明在指定時間一個或多個公鑰證書的有效性(根據[RFC2459])。
驗證公鑰證書時,DVCS驗證請求中包含的證書是有效的,并在指定的時間決定它的撤
銷狀態。DVS從證書的發布者到一個可信任的地方,檢驗整個證書的路徑。而且DVCS可能
會依賴于外部信息(CRL,OCSP,DVCS)。
3. 數據證書服務器的使用和Scenarii.
完全描述不同的可操作的DVCS scenarii 或用法超過了本文檔的討論范圍。
參見附錄B和C,一套基礎范例和使用實例。
確認簽名文檔服務可用來支持不可否認服務,使簽名文檔不僅可用在公鑰證書恢復或超
期,還可用在簡單地將簽名有效性授權給一個可信任地(公司范圍)主要服務。
確認公鑰證書服務可用在需要關于證書撤銷狀態的及時信息(如,傳輸很高價值資金或
高度敏感密鑰)或用在需要支持不可否認的證據時。
數據有效性證書可用來簡化簽名證書超期或隨之而來的證書撤銷后簽名的有效性驗證:
數據有效性證書可用作一個簽名中驗證屬性,包括一個關于在簽名時使用的證書可用性的追
加聲明。為了驗證這樣的簽名,只確認數據有效性證書的有效性就足夠了。
DVCS還可能在數據有效性證書中包括附加的密鑰交換證書,來確認一個密鑰交換證
書 ,給應用程序提供一套附加授權接受者,其會話密鑰也應當被加密。例如,這可被用來
提供公司范圍內恢復計劃的中央管理。注意,附加證書不僅依靠請求的證書,還依靠請求者
的身份。
數據擁有聲明證書服務也可稱作時間戳。
數據擁有證書服務可用來聲明合法的文檔存放,或實現作為一個可信任第三方服務的文
檔歸檔服務。
數據有效性和證書服務器協議可用在不同的服務范圍。例如,全公司內的集中服務(簽
名驗證、公司證書確認)、多組織機構間合作服務、或時間戳或數據文檔的通用第三方服務。
DVCS的一個重要應用是在一個所有安全考慮都基于整個公司規范的企業環境中。一個
公司的DVCS服務可以授權一個重要管理服務機構來作出所有的技術決定(如,有效路徑,
確認的配置)。
不論何種情況,數據有效性和證書服務器中PKI實體具有的信任信息都會傳遞到數據有
效性證書的內容中(就像CA的信任信息會傳遞到其發布的公鑰證書中一樣)。
DVCS服務可以和歸檔和日志系統結合使用為不可否認服務提供加強的安全保障服務。
從這點考慮,DVCS可被認為是一個Evidence Recording Authority [ISO-NR]。
4. DVCS功能需求
DVCS必須:
1. 按照策略的定義,為請求者提供一個數據有效性證書形式的簽名響應,或者一個錯
誤響應。DVCS服務的定義和策略定義了產生響應的DVCS所使用的信息中有多少將包括再數
據有效性證書中,例如,公鑰證書、CRL、其他OCSP服務器響應、DVCS、或其他。
2. 數據有效性證書顯示了簽名文檔、公鑰證書或數據是否有效;如果無效,顯示驗證
失敗的原因是什么。
3. 每個數據有效性證書中包括一個嚴格單調連續增長的數字。
4. 每個數據有效性證書包括一個時間值或一個時間戳標記。
5. 用密鑰簽署數據證書標記,此密鑰被授權用作dvcs簽名擴展密鑰。還包括證書的說
明,作為簽名的簽署屬性。
6. 在分發數據有效性證書前,檢查其自己簽名密鑰和證書的有效性。如果檢查沒有通
過,絕對不能分發證書。
在每個數據有效性證書中,DVCS都應當包含一個策略標識符,以確定DVCS簽名的可信
度和使用的有效策略。
5. 數據證書服務器事務處理過程Data Certification Server
Transactions
DVCS事務處理過程以客戶端預備數據有效性和證書請求開始。請求總是包含在需要鑒
別有效性、正確性和合法性的數據中。
請求可以用安全信包封裝,為請求者和服務器提供證明。請求者的證明可用CMS中描述
的集中格式歸檔,尤其是簽名數據signedData。
DVCS客戶端選擇一個合適傳輸機制把請求傳遞到DVCS。還有必要選擇一種傳輸機制,
提供機密性,尤其是為請求者提供一種DVCS證明,如TLS、CMS或S/MIME 加密法。
如果請求有效,DVCS執行所有必須的驗證步驟,產生數據有效性證書,給請求者發回
一個包含DVC的響應消息。
數據有效性證書的形式是一個簽名文檔(CMS SignedData)。
和請求一樣,也必須選擇一種傳輸機制為承載DVC提供機密性。DVCs不一定以和請求
同樣的方式來傳輸,比如,它們可以在通過HTTPS接收到一個在線請求后用電子郵件返回。
如果請求有效,DVCS產生一個包含適當錯誤通告的響應消息。
接收到響應后,請求實體應當驗證其有效性,也就是說,檢驗其是否包含一個可接收的
時間、正確的DVCS名字、正確的請求信息和消息印記、有效簽名以及令人滿意的狀態、服
務和策略字段。
當驗證DVC有效性時,是由請求者的應有程序來檢查一個DVCS簽名證書是否有效。根
據使用環境,可能使用不同的在線或out of band方法,如CRLs、DVCS或OCSP。
通過所有的檢查,數據有效性證書就可用來鑒別相應數據的正確性和合法性。
針對一個請求,DVCS可能返回多個DVC。在這種情況下,除了一個請求外,其余的請求
都處于全局“等待”狀態。
6. DVCS的定義
為了能從dvcs中引入元素,使用以下對象標識符作為ASN.1模塊標識符。
id-mod-dvcs OBJECT IDENTIFIER ::= {iso(1) identified-organization(3) dod(6)
internet(1) security(5) mechanisms(5) pkix(7) id-mod(0) 15}
使用SignedData為DVC提供驗證的DVCS 必須用密鑰簽署所有數據證書消息。密鑰對
應的證書必須包含[RFC2459] 4.2.1.14節中定義的擴展的密鑰使用字段擴展名,其中
KeyPurposeID的值為id-kp-dvcs。這個擴展被標記為關鍵性的。
數據有效性證書必須包含一個DVCS用來簽名的ESSCertID證書鑒別屬性。
id-kp-dvcs OBJECT IDENTIFIER ::= {iso(1) identified-organization(3) dod(6)
internet(1) security(5) mechanisms(5) pkix(7) kp(3) 10}
Consistent KeyUsage bits:
digitalSignature, nonRepudiation, keyCertSign, cRLSign
DVCS的證書可能包含一個授權信息訪問擴展(Authority Information Access
extension [RFC2459] ),用來傳送和DVCS聯系的方法。擴展中的accessMethod字段必須
包含OID id-ad-dvcs:
id-ad-dvcs OBJECT IDENTIFIER ::= {iso(1) identified-organization(3) dod(6)
internet(1) security(5) mechanisms(5) pkix(7) ad(48) 4}
'accessLocation'字段的值定義了用來訪問DVCS的傳輸方式(如,URI)。
7. 普通數據類型
請求和響應數據結構中有幾種普通的數據類型。這些數據類型或在本文檔中定義,或來
自其他地方。本章定義和描述了這些類型,并列舉了它們的用法。
7.1 version類:
請求和響應包含一個可選的證書字段,指定數據結構的版本。在協議的這個版本中,兩
個字段都為1,或者根本沒有這個字段。
7.2 DigestInfo類:
這個元素在 [RFC2315]中定義。由于RFC2315是報告文檔,所以在這里重復一下其定義:
DigestInfo ::= SEQUENCE {
digestAlgorithmDigestAlgorithmIdentifier,
digestDigest }
Digest ::= OCTET STRING
DigestInfo類各個字段的意思如下:
- 字段'digestAlgorithm'標識數據摘要時使用的消息摘要算法(以及相關參數)。
- 字段'digest'是消息摘要過程的結果。
DigestInfo在兩個地方使用:
- 作為ccpd服務的數據部分;
- 在數據有效性證書中保持一個對應請求數據部分的摘要或一個ccpd服務數據字段的
拷貝。
7.3. 時間值
時間指示器可在請求和響應中出現。最簡單的形式是,時間用格林威治時間表示,后面
是秒的分數部分。.
另一種可替換的形式是TSA時間戳標記,或來自其他第三方服務的DVC(或其他記號)。
由策略決定DVCS是解釋請求中的時間值,還是確認請求中的時間值。
DVCSTime ::= CHOICE {
genTime GeneralizedTime,
timeStampTokenContentInfo }
協議的未來版本也許包含其他時間格式。
DVCS產生的時間值是漸增的,但并不是唯一的,DVC的順序由連續的數字定義。
7.4. PKIStatusInfo
這個數據結構在[RFC2510]中定義,作為TargetEtcChain數據結構'chain'字段的組成
部分使用。PKIStatusInfo的每一次出現都是由響應的DVCS產生,反映了本地驗證的結果。
7.5. TargetEtcChain
TargetEtcChain數據結構包含證書和其它指示器,或描述需要確認的信息(在cpkc服
務中的請求),或描述驗證的結果,也可能包含策略和策略映射的信息。
關于如何填值和解釋這個數據結構的細節在后面每個服務的含義中定義。
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -