專利名稱:批處理ocsp和批處理分布式ocsp的制作方法
相關(guān)申請交叉索引本申請要求2004年1月9日申請的美國臨時申請60/535,666和2004年1月15日申請的美國臨時申請60/536,817的優(yōu)先權(quán),兩個申請均通過引用組合于此。
背景技術(shù):
1.技術(shù)領(lǐng)域本申請涉及數(shù)字證書領(lǐng)域,特別是涉及驗證和確認數(shù)字證書及其它信息的領(lǐng)域。
2.背景技術(shù)數(shù)字簽名提供有效形式的因特網(wǎng)鑒別。不像傳統(tǒng)的密碼和PIN,數(shù)字簽名以到處可證實的方式鑒別事務(wù)。因此,否定已被數(shù)字簽署的事務(wù)是很難的,但并非不可能。數(shù)字簽名經(jīng)簽署密鑰SK產(chǎn)生,并經(jīng)相配的驗證密鑰PK進行驗證。用戶U保密其自己的SK,從而只有U可代表U簽署。幸運地,密鑰PK不會“背叛”相配的密鑰SK;即PK的知識在計算SK時并不提供任何實際的優(yōu)點。因此,用戶U可使其自己的PK盡可能的公開,從而每個人均可驗證U的簽名。為此,PK被稱為公鑰。
數(shù)字證書是字母數(shù)字串,其通過保證給定密鑰PK真地是用戶U的公鑰而使能數(shù)字簽名。認證機構(gòu)(CA)產(chǎn)生并發(fā)出證書給用戶,但通常僅在確定用戶的身份之后進行。因此,證書證明CA已驗證持有人的身份以及其它屬性。證書在指定時間后過期,在公共CA的情況下通常為一年。
大體上,數(shù)字證書C由將幾個數(shù)安全綁定在一起的CA數(shù)字簽名組成,所述幾個數(shù)為對證書唯一的序號SN、用戶的公鑰PK、用戶名U、發(fā)出日期D1、期滿日期D2、及其它數(shù)據(jù)。表示成符號
C=SIGCA(SN,PK,U,D1,D2,...)能夠確定數(shù)字證書的狀態(tài)是有用的,包括確定特定證書是否被有效發(fā)出和/或確定在證書過期之前其是否已被廢除。有很多技術(shù)可用于確定單個數(shù)字證書的狀態(tài)。例如,美國專利5,666,416和5,717,758描述了提供單個證書狀態(tài)的技術(shù)。其它用于散布和確定證書狀態(tài)的技術(shù)也是眾所周知的,包括證書廢除列表(CRL),其是數(shù)字簽署的廢除證書的列表,及包括在線證書狀態(tài)協(xié)議(OCSP),其規(guī)定查詢特定證書的狀態(tài)的機制。
CRL通過使每一CA定期發(fā)出載明適當日期且數(shù)字簽署的列表(CRL)而進行工作,所述列表包含作廢證書的序號。在某些實踐中,CRL包含給定證書組的所有作廢證書。因此,數(shù)字證書可和與最近CRL比較的電子事務(wù)一起呈現(xiàn)。如果給定證書未過期但在已被廢除證書的列表中,則從CRL可知道證書無效且證書持有人不再有權(quán)執(zhí)行由數(shù)字證書使能的事務(wù)。另一方面,如果證書沒有出現(xiàn)在CRL中,則證書被視為有效?;蛘撸珻RL可與每一事務(wù)的其它記錄一起存檔,以在將來能夠證明事務(wù)的有效性,或在作廢證書的情況下,證明拒絕服務(wù)是正確的。
假定作廢率為10%,則平均10個數(shù)字證書就有1個在其期滿前被廢除。根據(jù)這樣的作廢率,具有1000萬證書的系統(tǒng)將產(chǎn)生包含100萬序號的CRL,這可能使得CRL很難處理。盡管可通過最近出現(xiàn)的CRL分區(qū)技術(shù)減輕該問題,但將許多證書的作廢信息打包在一起的基本策略依然可能產(chǎn)生不方便和成本。如果序號是24位長(以處理幾百萬證書),1000個證書的子CRL將是24000位(3000字節(jié))長。在某些部署中,由于開銷,每一證書的CRL條目為22位長,因而1000證書的子CRL為22000位長。但在某些情形下這是不可接受的,例如,在無線事務(wù)情形下,必須傳送這么多位(保護未來的爭議及可能的合法要求)是不切實際的。
CRL逐漸變大,因為它們提供關(guān)于集中在一起的許多證書的作廢證明(因而間接地提供有效性證明)。通過比較,OCSP可提供各個證書的有效性證明。傳統(tǒng)的OCSP服務(wù)使用可從客戶(即依賴方)接收問題的OCSP應(yīng)答器,所述問題關(guān)于給定CA發(fā)出的給定證書的有效性,響應(yīng)于此,OCSP可提供數(shù)字簽署的答案,其指明證書的狀態(tài)及關(guān)于該答案的時間信息。
為能夠提供OCSP服務(wù),傳統(tǒng)的OCSP應(yīng)答器被提供以關(guān)于CA的所有證書的狀態(tài)的信息。由于通常CA可確定其自己的證書的狀態(tài),如果OCSP應(yīng)答器是CA自身,則OCSP應(yīng)答器/CA已經(jīng)具有關(guān)于證書作廢狀態(tài)的信息。另一方面,如果OCSP應(yīng)答器不是CA,則OCSP應(yīng)答器可被保持更新CA的證書狀態(tài)。例如,可參見美國專利5,717,758基于證據(jù)的證書廢除系統(tǒng)。
CA可通過發(fā)送最近的CRL而更新OCSP應(yīng)答器。OCSP應(yīng)答器可查閱該CRL以推斷感興趣的特定證書在當前有效還是已被廢除,從而OCSP應(yīng)答器可向依賴方提供簽署的響應(yīng),其指明當前CRL的時間、下一次更新的時間及實際處理的時間。
當然,惡意/被損害的OCSP應(yīng)答器可提供任意簽署的關(guān)于給定CA的證書的答案,查閱或不查閱任何CRL。因此,為使依賴方安全依賴OCSP應(yīng)答器數(shù)字簽署的關(guān)于給定CA的證書的答案,OCSP包括機制CA向OCSP應(yīng)答器提供應(yīng)答器證書,由CA簽署的特殊數(shù)字證書,其實質(zhì)上向其它方擔保CA信任該OCSP應(yīng)答器以提供關(guān)于CA的證書的準確證明。應(yīng)注意,為使該過程適當?shù)毓ぷ鳎恳籓CSP應(yīng)答器(及每一CA)必須具有秘密簽署的密鑰,且該密鑰必須被保護(如通過將實現(xiàn)該應(yīng)答器的服務(wù)器放在保險庫中進行保護)。
參考圖1,示意圖40示出了傳統(tǒng)OCSP環(huán)境中的信息流。示意圖40包括CA42、傳統(tǒng)OCSP應(yīng)答器44、及依賴方46。用于CA42和OCSP應(yīng)答器44的粗線表明存在必須被保護的密鑰以使系統(tǒng)可靠運行。CA42向OCSP應(yīng)答器44提供有效性信息48(如CRL)。依賴方46向OCSP應(yīng)答器44其它OCSP請求52。OCSP應(yīng)答器44檢查CA42提供的有效性信息(如CRL形式)并確定所涉及證書的有效性狀態(tài)。之后,OCSP應(yīng)答器44準備相應(yīng)的響應(yīng),數(shù)字簽署該響應(yīng)并將其作為OCSP應(yīng)答器54的結(jié)果提供給依賴方46。在某些情況下,OCSP應(yīng)答器44還可向依賴方46提供應(yīng)答器證書56,其指明OCSP應(yīng)答器44被CA42授權(quán)和委托。
但OCSP有很大的缺陷。首先,數(shù)字簽名是計算集中的運算。由傳統(tǒng)OCSP應(yīng)答器在每一OCSP響應(yīng)上建立的數(shù)字簽名在請求時產(chǎn)生,并可能是確認運算的最計算集中的部分。例如,產(chǎn)生數(shù)字簽名可增加50毫秒到1秒的事務(wù)處理時間。即使傳統(tǒng)的OCSP應(yīng)答器在數(shù)字證書C第一次被詢問之后緩存關(guān)于C的數(shù)字簽名,并在以后詢問C時發(fā)送所緩存的簽名,由于產(chǎn)生初始數(shù)字簽名,對詢問C的第一用戶的回答仍然會被大大延遲。
此外,如果只有一個OCSP應(yīng)答器,則所有證書有效性查詢實際上均被發(fā)送給該單一OCSP應(yīng)答器,之后,其變?yōu)橹饕W(wǎng)絡(luò)瓶頸并導致相當?shù)膿砣脱舆t。如果大量的誠實用戶突然查詢該OCSP應(yīng)答器,則中斷拒絕服務(wù)的情形將跟著發(fā)生。
另一方面,為防止集中實施OCSP的問題,機構(gòu)可考慮跨幾個適當證明的、傳統(tǒng)OCSP應(yīng)答器分布請求負載(關(guān)于其證書的有效性)??偟貋碚f,跨幾個(如100個)戰(zhàn)略分布在全球(以避免傳輸瓶頸)的服務(wù)器分布單一服務(wù)器的負載可減輕網(wǎng)絡(luò)擁塞。然而,對于OCSP,負載分布可導致另外的問題,因為,為提供針對證書有效性查詢的簽署的響應(yīng),100個分布式傳統(tǒng)OCSP應(yīng)答器中的每一個均具有其自己的秘密簽署的密鑰。因此,泄密100個服務(wù)器中的任一個均可有效地使整個幾個泄密。實際上,如果傳統(tǒng)OCSP應(yīng)答器被泄密,則攻擊者可使用已發(fā)現(xiàn)的秘密簽署的密鑰不實地簽署響應(yīng),其指明(1)有效證書已被廢除,或(2)作廢證書依然有效。該后一類型的假陽性響應(yīng)可允許已被解雇的雇員重新獲得進入系統(tǒng)的權(quán)利。
防止應(yīng)答器被泄密的一種辦法是從安全的保險庫運行應(yīng)答器,其具有全天候監(jiān)視。不幸的是,這是成本非常高昂的選擇。真正安全的保險庫,比如滿足金融CA的所有要求的保險庫,僅建立就須100萬美元以上,且每年的運行費用也在100萬美元左右。此外,即使機構(gòu)愿意支付這樣的支出,保險庫也不可能在一夜之間建成。因此,如果CA需要幾個保險庫來減輕其當前傳統(tǒng)OCSP應(yīng)答器的負荷,在新的適當保護的OCSP應(yīng)答器建好之前將有幾個月的延遲。
此外,招致幾個保險庫的花費并不能解決OCSP安全問題。這是因為,OCSP機制要求傳統(tǒng)OCSP應(yīng)答器接收來自非置信來源(依賴方)的請求,并使用應(yīng)答器的秘密簽署的密鑰服務(wù)于該請求。因此,懷惡意的依賴方(或佯裝依賴方的懷惡意的代理)更喜歡通過在基本操作系統(tǒng)中發(fā)現(xiàn)可能的弱點而曝光OCSP應(yīng)答器簽署的密鑰。
而且,在服務(wù)于源自不同安全域的證書有效性請求時,有幾個困難與OCSP有關(guān)。例如,由機構(gòu)A運行的傳統(tǒng)的OCSP應(yīng)答器可容易地提供關(guān)于機構(gòu)A的CA的證書狀態(tài)的響應(yīng),但由另一機構(gòu)運行的OCSP應(yīng)答器并沒有足夠的信息來提供關(guān)于“外來”證書的響應(yīng)。
源于缺乏特定知識的該問題可能以下述兩種方式之一進行處理。第一,來自機構(gòu)B的依賴方可從機構(gòu)A的應(yīng)答器獲得機構(gòu)A的CA的證書狀態(tài)。然而,這限制了性能,因為來自機構(gòu)A的OCSP應(yīng)答器可能在地理上遠離機構(gòu)B的依賴方,從而網(wǎng)絡(luò)時間可大大減慢整個確認處理。第二種方式是允許來自機構(gòu)B的應(yīng)答器可做出關(guān)于機構(gòu)A的證書的響應(yīng),其通過使來自機構(gòu)A的CA將機構(gòu)A的CRL轉(zhuǎn)發(fā)給外來應(yīng)答器而實現(xiàn)。實際上,CRL被數(shù)字簽署因而不必保密,且機構(gòu)A的CA按理應(yīng)希望將機構(gòu)A的證書的有效性狀態(tài)通知給盡可能多的受眾。該第二方式向機構(gòu)B的OCSP應(yīng)答器提供足夠的信息以回答來自依賴方的、關(guān)于機構(gòu)A的證書的請求。要不是依賴方重視機構(gòu)B的OCSP應(yīng)答器的數(shù)字簽署的答案,機構(gòu)A的CA還應(yīng)證明外來應(yīng)答器在回答關(guān)于機構(gòu)A的證書的有效性查詢方面是可信賴的。
參考圖2,示意圖60示出了圖1的示意圖40中所示的CA42、傳統(tǒng)OCSP應(yīng)答器44、及依賴方46。然而,在示意圖60所示的情形下,依賴方46提供關(guān)于證書的OCSP請求62,其不由CA42管理,而是由不同的CA64發(fā)出和管理。在這種情況下,OCSP應(yīng)答器44不可單獨基于CA42提供的CRL48內(nèi)的信息向OCSP應(yīng)答器44提供OCSP響應(yīng)。而是,CA64提供不同的CRL66和不同的應(yīng)答器證書給OCSP應(yīng)答器44。之后,OCSP應(yīng)答器44使用不同的CRL66制訂關(guān)于外來證書的OCSP響應(yīng)72。在某些情況下,OCSP應(yīng)答器44還可向依賴方46提供應(yīng)答器證書68。
該第二種方式可提供更好的可擴縮性和性能,但其使兩個機構(gòu)之間的安全和信任流混亂。在示意圖60中,OCSP應(yīng)答器44正給予依賴方權(quán)威響應(yīng),即CA64的證書依然有效。如果OCSP應(yīng)答器44因為任何原因(誤配置、敵對攻擊、或直接不誠實)而給出不正確的響應(yīng),則OCSP應(yīng)答器44可消極影響CA64的機構(gòu)。通過允許OCSP應(yīng)答器44做出關(guān)于CA64的機構(gòu)的證書的權(quán)威聲明,CA64的機構(gòu)放棄其先前擁有的某些信任。
作為例子,假設(shè)機構(gòu)為信用卡發(fā)行人。來自機構(gòu)A的銀行廢除用戶的證書,且銀行確保機構(gòu)A的傳統(tǒng)OCSP應(yīng)答器是安全且可靠的。假定機構(gòu)B的OCSP應(yīng)答器被誤配置,當機構(gòu)B的商戶依賴方詢問用戶的有效性時,機構(gòu)B的應(yīng)答器不正確地回答用戶有效。商戶接受該回答并允許進行作廢用戶的交易。機構(gòu)之間的這種類型的信任授權(quán)在某些情況下是可接受的,但對于任何大規(guī)模的傳統(tǒng)OCSP的不同種類部署,其幾乎沒有用。
因此希望提供可解決上述困難的系統(tǒng)。
發(fā)明內(nèi)容
根據(jù)本發(fā)明,提供關(guān)于數(shù)字證書有效性的信息包括為一組數(shù)字證書中的多個數(shù)字證書的每一個確定數(shù)字證書有效性狀態(tài),產(chǎn)生關(guān)于多個數(shù)字證書的數(shù)字證書集的至少一子集的有效性狀態(tài)的多個人工預(yù)計算的消息,其中至少一消息指明一個以上數(shù)字證書的有效性狀態(tài),及數(shù)字簽署人工預(yù)計算的消息以提供OCSP格式響應(yīng),其響應(yīng)于關(guān)于數(shù)字證書集中的特定數(shù)字證書的OCSP查詢,其中至少一數(shù)字簽名連同OCSP格式響應(yīng)用于一個以上數(shù)字證書。產(chǎn)生并數(shù)字簽署可在任何OCSP查詢被任一OCSP格式響應(yīng)回答之前進行。確定數(shù)字證書有效性狀態(tài)包括獲得關(guān)于數(shù)字證書的經(jīng)鑒定的信息。關(guān)于數(shù)字證書的經(jīng)鑒定的信息可由廢除證書的實體產(chǎn)生。關(guān)于數(shù)字證書的經(jīng)鑒定的信息可以是CRL。產(chǎn)生多個人工預(yù)計算的響應(yīng)可包括為數(shù)字證書集中至少所有未作廢的數(shù)字證書產(chǎn)生響應(yīng)。提供關(guān)于數(shù)字證書有效性的信息還可包括,在數(shù)字簽署人工預(yù)計算的消息之后,將其結(jié)果轉(zhuǎn)發(fā)給服務(wù)于依賴方的請求的多個應(yīng)答器,所述依賴方詢問數(shù)字證書集中的數(shù)字證書的有效性狀態(tài)。提供關(guān)于數(shù)字證書有效性的信息還可包括,使包含公開驗證密鑰的特殊數(shù)字證書可為應(yīng)答器所用,所述密鑰用于驗證在數(shù)字簽署人工預(yù)計算的響應(yīng)時提供的數(shù)字簽名。發(fā)出特殊數(shù)字證書的實體還可發(fā)出數(shù)字證書集的證書。產(chǎn)生多個人工預(yù)計算的響應(yīng)及數(shù)字簽署人工預(yù)計算的響應(yīng)可周期性地執(zhí)行。人工預(yù)計算的響應(yīng)可包括對應(yīng)于人工預(yù)計算的響應(yīng)在何時產(chǎn)生的時間信息。
根據(jù)本發(fā)明,保存在計算機可讀介質(zhì)上的、提供關(guān)于數(shù)字證書有效性信息的計算機軟件包括為一組數(shù)字證書中的多個數(shù)字證書的每一個確定數(shù)字證書有效性狀態(tài)的可執(zhí)行代碼,產(chǎn)生關(guān)于多個數(shù)字證書的數(shù)字證書集的至少一子集的有效性狀態(tài)的多個人工預(yù)計算的消息的可執(zhí)行代碼,其中至少一消息指明一個以上數(shù)字證書的有效性狀態(tài),及數(shù)字簽署人工預(yù)計算的消息以提供OCSP格式響應(yīng)的可執(zhí)行代碼,其響應(yīng)于關(guān)于數(shù)字證書集中的特定數(shù)字證書的OCSP查詢,其中至少一數(shù)字簽名連同OCSP格式響應(yīng)用于一個以上數(shù)字證書。確定數(shù)字證書有效性狀態(tài)的可執(zhí)行代碼包括獲得關(guān)于數(shù)字證書的經(jīng)鑒定的信息。關(guān)于數(shù)字證書的經(jīng)鑒定的信息可由廢除證書的實體產(chǎn)生。關(guān)于數(shù)字證書的經(jīng)鑒定的信息可以是CRL。產(chǎn)生多個人工預(yù)計算的響應(yīng)的可執(zhí)行代碼可包括為數(shù)字證書集中至少所有未作廢的數(shù)字證書產(chǎn)生響應(yīng)。計算機軟件還可包括將數(shù)字簽署的人工預(yù)計算消息轉(zhuǎn)發(fā)給服務(wù)于依賴方的請求的多個應(yīng)答器的可執(zhí)行代碼,所述依賴方詢問數(shù)字證書集中的數(shù)字證書的有效性狀態(tài)。計算機軟件還可包括使包含公開驗證密鑰的特殊數(shù)字證書可為應(yīng)答器所用的可執(zhí)行代碼,所述密鑰用于驗證在數(shù)字簽署人工預(yù)計算的響應(yīng)時提供的數(shù)字簽名。發(fā)出特殊數(shù)字證書的實體還可發(fā)出數(shù)字證書集的證書。產(chǎn)生多個人工預(yù)計算的響應(yīng)及數(shù)字簽署人工預(yù)計算的響應(yīng)的可執(zhí)行代碼可周期性地產(chǎn)生和簽署響應(yīng)。
根據(jù)本發(fā)明,提供關(guān)于數(shù)字證書有效性的信息包括獲得多個簽署密鑰/驗證密鑰對,其中每一簽署密鑰提供數(shù)字簽名及相應(yīng)的驗證密鑰驗證該數(shù)字簽名,其中使用簽署密鑰一起數(shù)字簽署多個數(shù)據(jù)元相較個別地數(shù)字簽署每一數(shù)據(jù)元在計算上效率更高,為一組數(shù)字證書中的每一證書確定數(shù)字證書有效性狀態(tài),產(chǎn)生關(guān)于數(shù)字證書集的至少一子集的有效性狀態(tài)的多個人工預(yù)計算的消息,并使用來自密鑰對的簽署密鑰一起數(shù)字簽署人工預(yù)計算的消息。確定數(shù)字證書有效性狀態(tài)可包括獲得關(guān)于數(shù)字證書的經(jīng)鑒定的信息。關(guān)于數(shù)字證書的經(jīng)鑒定的信息可由廢除證書的實體產(chǎn)生。關(guān)于數(shù)字證書的經(jīng)鑒定的信息可以是CRL。人工預(yù)計算的響應(yīng)可以是OCSP格式響應(yīng)。產(chǎn)生多個人工預(yù)計算的響應(yīng)包括為數(shù)字證書集中至少所有未作廢的數(shù)字證書產(chǎn)生響應(yīng)。提供關(guān)于數(shù)字證書有效性的信息還可包括,在數(shù)字簽署人工預(yù)計算的消息之后,將其結(jié)果轉(zhuǎn)發(fā)給服務(wù)于依賴方的請求的多個應(yīng)答器,所述依賴方詢問數(shù)字證書集中的數(shù)字證書的有效性狀態(tài)。產(chǎn)生多個人工預(yù)計算的響應(yīng)及數(shù)字簽署人工預(yù)計算的響應(yīng)可周期性地執(zhí)行。人工預(yù)計算的響應(yīng)可包括對應(yīng)于人工預(yù)計算的響應(yīng)在何時產(chǎn)生的時間信息。提供關(guān)于數(shù)字證書有效性的信息可包括鑒定驗證密鑰。鑒定驗證密鑰包括在單一數(shù)字證書中提供驗證密鑰。鑒定驗證密鑰可包括在分開數(shù)字證書中提供每一驗證密鑰。
根據(jù)本發(fā)明,保存在計算機可讀介質(zhì)上的、提供關(guān)于數(shù)字證書有效性信息的計算機軟件包括獲得多個簽署密鑰/驗證密鑰對的可執(zhí)行代碼,其中每一簽署密鑰提供數(shù)字簽名及相應(yīng)的驗證密鑰驗證該數(shù)字簽名,其中使用簽署密鑰一起數(shù)字簽署多個數(shù)據(jù)元相較個別地數(shù)字簽署每一數(shù)據(jù)元在計算上效率更高,為一組數(shù)字證書中的每一證書確定數(shù)字證書有效性狀態(tài)的可執(zhí)行代碼,產(chǎn)生關(guān)于數(shù)字證書集的至少一子集的有效性狀態(tài)的多個人工預(yù)計算的消息的可執(zhí)行代碼,及使用來自密鑰對的簽署密鑰一起數(shù)字簽署人工預(yù)計算的消息的可執(zhí)行代碼。確定數(shù)字證書有效性狀態(tài)的可執(zhí)行代碼可包括獲得關(guān)于數(shù)字證書的經(jīng)鑒定的信息的可執(zhí)行代碼。關(guān)于數(shù)字證書的經(jīng)鑒定的信息可由廢除證書的實體產(chǎn)生。關(guān)于數(shù)字證書的經(jīng)鑒定的信息可以是CRL。人工預(yù)計算的響應(yīng)可以是OCSP格式響應(yīng)。產(chǎn)生多個人工預(yù)計算的響應(yīng)的可執(zhí)行代碼包括為數(shù)字證書集中至少所有未作廢的數(shù)字證書產(chǎn)生響應(yīng)的可執(zhí)行代碼。計算機可包括鑒定驗證密鑰的可執(zhí)行代碼。鑒定驗證密鑰的可執(zhí)行代碼可在單一數(shù)字證書中提供驗證密鑰或在分開數(shù)字證書中提供每一驗證密鑰。
根據(jù)本發(fā)明,幫助第一方和第二方之間的交易包括,在開始交易之前,交易方之一獲得關(guān)于特定數(shù)字證書的人工預(yù)計算的OCSP響應(yīng),其中人工預(yù)計算的OCSP響應(yīng)由不同于第一方和第二方的實體產(chǎn)生,交易方之一開始交易,在交易時,第一方提供特定數(shù)字證書給第二方,第二方使用人工預(yù)計算的OCSP響應(yīng)驗證該特定數(shù)字證書。第二方可在交易開始之前獲得人工預(yù)計算的OCSP響應(yīng)。第二方可緩存人工預(yù)計算的OCSP響應(yīng)以用于將來交易。第一方可在交易開始之前獲得人工預(yù)計算的OCSP響應(yīng)。第一方可緩存人工預(yù)計算的OCSP響應(yīng)以用于將來交易。幫助第一方和第二方之間的交易還可包括在交易開始之后第一方提供人工預(yù)計算的OCSP響應(yīng)給第二方。
根據(jù)本發(fā)明,確定數(shù)字證書的有效性包括檢查數(shù)字簽署的關(guān)于數(shù)字證書有效性的消息,其中消息由不同于發(fā)出數(shù)字證書的實體的特殊實體數(shù)字簽署,且還包括使用來自至少下述之一的信息驗證數(shù)字簽署的消息數(shù)字證書和鑒定發(fā)出數(shù)字證書的實體的證書。信息可以是對應(yīng)于用于數(shù)字簽署消息的秘密密鑰的公鑰。信息可對應(yīng)于鑒定數(shù)字簽署消息的特定實體的特定數(shù)字證書。
根據(jù)本發(fā)明,為數(shù)字證書集中的每一證書確定數(shù)字證書有效性狀態(tài)包括定期產(chǎn)生多個數(shù)字簽署的關(guān)于數(shù)字證書集的至少一子集的有效性狀態(tài)的人工預(yù)計算消息,并定期將數(shù)字簽署的人工預(yù)計算消息轉(zhuǎn)發(fā)給多個服務(wù)于依賴方的請求的應(yīng)答器,所述依賴方詢問數(shù)字證書集中的數(shù)字證書的有效性狀態(tài),其中關(guān)于一些證書的消息以不同于關(guān)于其它證書的消息的頻率進行轉(zhuǎn)發(fā)。相較關(guān)于有效證書的消息,關(guān)于作廢證書的消息可相對不頻繁地進行轉(zhuǎn)發(fā)。
根據(jù)本發(fā)明,保存在計算機可讀介質(zhì)中的、確定數(shù)字證書有效性的計算機軟件包括檢查數(shù)字簽署的關(guān)于數(shù)字證書有效性的消息的可執(zhí)行代碼,其中消息由不同于發(fā)出數(shù)字證書的實體的特殊實體數(shù)字簽署,且還包括使用來自至少下述之一的信息驗證數(shù)字簽署的消息的可執(zhí)行代碼數(shù)字證書和鑒定發(fā)出數(shù)字證書的實體的證書。信息可以是對應(yīng)于用于數(shù)字簽署消息的秘密密鑰的公鑰。信息可對應(yīng)于鑒定數(shù)字簽署消息的特殊實體的特殊數(shù)字證書。
根據(jù)本發(fā)明,保存在計算機可讀介質(zhì)中的、提供關(guān)于數(shù)字證書有效性的信息的計算機軟件包括為數(shù)字證書集的每一證書確定數(shù)字證書有效性狀態(tài)的可執(zhí)行代碼,定期產(chǎn)生多個數(shù)字簽署的關(guān)于數(shù)字證書集的至少一子集的有效性狀態(tài)的人工預(yù)計算消息的可執(zhí)行代碼,及定期將數(shù)字簽署的人工預(yù)計算消息轉(zhuǎn)發(fā)給多個服務(wù)于依賴方的請求的應(yīng)答器的可執(zhí)行代碼,所述依賴方詢問數(shù)字證書集中的數(shù)字證書的有效性狀態(tài),其中關(guān)于一些證書的消息以不同于關(guān)于其它證書的消息的頻率進行轉(zhuǎn)發(fā)。相較關(guān)于有效證書的消息,關(guān)于作廢證書的消息可相對不頻繁地進行轉(zhuǎn)發(fā)。
在此描述的系統(tǒng)是節(jié)省成本的、安全的、可升級的、且整體有效的確認系統(tǒng),其大大提高了傳統(tǒng)的方法。在此描述的系統(tǒng),即使在保持與OCSP標準的兼容性時,仍較傳統(tǒng)OCSP有很明顯的優(yōu)點,從而在質(zhì)量上提供超級安全性和可擴縮性。
在此描述的系統(tǒng)是獨立于傳統(tǒng)OCSP工作的一般、獨立系統(tǒng)。然而,在一些實施例中,該系統(tǒng)可以是OCSP兼容的,其中根據(jù)在此描述的系統(tǒng)的有效性的每一證明均被構(gòu)造成句法正確的數(shù)字簽署的OCSP響應(yīng),使得依賴方請求并繼而根據(jù)OCSP格式驗證證書有效性信息等。數(shù)字簽名是計算集中的運算,但在此描述的系統(tǒng)將該困難集中在單一專用服務(wù)器上,或者,在其它實施例中,集中在少量的專用服務(wù)器上。因此,裝備單一專用服務(wù)器(或少量服務(wù)器)非常容易且相對便宜,其具有足夠計算能力以在每一更新時處理所有必需的數(shù)字簽名。在于此描述的系統(tǒng)中使用的應(yīng)答器僅需執(zhí)行普通的讀取-轉(zhuǎn)發(fā)操作,因而可較傳統(tǒng)OCSP應(yīng)答器更快地服務(wù)于輸入的依賴方查詢,因為傳統(tǒng)OCSP應(yīng)答器必需執(zhí)行復(fù)雜的數(shù)字簽名。
由于用于在此描述的系統(tǒng)的應(yīng)答器可采用普通硬件且不需保護,因而可相對便宜地購買和運行應(yīng)答器。因此,相對大量的應(yīng)答器可以相對低的開銷進行部署。因此,即使在短時間內(nèi)產(chǎn)生了大量的證書有效性狀態(tài)請求,該負荷可被分散到許多應(yīng)答器,從而在不產(chǎn)生太多花費的情況下消除擁塞及良性拒絕服務(wù)的風險。應(yīng)注意,用于在此描述的系統(tǒng)的數(shù)字簽名的數(shù)量取決于證書的數(shù)量并相對獨立于有效性狀態(tài)請求的數(shù)量。因此,即使預(yù)計有相當大量的有效性請求,也可使用單一服務(wù)器提供數(shù)字簽署的響應(yīng)。
在于此描述的系統(tǒng)中,只有一個專用服務(wù)器(或少量專用服務(wù)器)及CA(如果不同于單一專用服務(wù)器)需要被保護/放入保險庫。實際上,在此描述的系統(tǒng)的應(yīng)答器不保存任何秘密密鑰它們僅保存提供給應(yīng)答器的預(yù)計算響應(yīng)的數(shù)字簽名,其一旦被計算,則不可能被惡意修改,因而不需要保密。作為對比,所有傳統(tǒng)OCSP應(yīng)答器均需要保護,因為傳統(tǒng)OCSP應(yīng)答器中的每一個均具有秘密簽署的密鑰,其中之一泄密將使整個系統(tǒng)泄密。因此,在此描述的系統(tǒng)比OCSP更安全,因為保護一個站點(或少量站點)比保護許多且同等重要的站點更可取且更容易。
此外,與OCSP情形不同,依賴方不能容易地在于此描述的系統(tǒng)上安裝軟件攻擊程序。即使依賴方成功地在其查詢中嵌入某種類型的特洛伊木馬,其也不能使任何秘密公開,因為在此描述的系統(tǒng)的應(yīng)答器不擁有任何秘密應(yīng)答器僅保存和返回提供給應(yīng)答器的預(yù)計算的數(shù)字簽名。因此,所有懷惡意的依賴方希望公開是全部的、準確的、及數(shù)字簽署的賬戶,包括在給定時間間隔內(nèi)哪些證書有效和哪些已作廢。然而,這不僅不是秘密信息,且實際上,其是CA希望廣為人知的信息,以防止依賴方不正確地依賴于CA發(fā)出的已作廢的證書。
此外,應(yīng)注意,軟件攻擊程序不能容易地針對數(shù)字簽署預(yù)計算響應(yīng)的單一專用服務(wù)器(或少量專用服務(wù)器)進行安裝。在一些實施例中,單一專用服務(wù)器(或少量專用服務(wù)器)不處理非置信來源的請求,而是僅接收來自CA的信息并提供數(shù)字簽署的信息給應(yīng)答器。因此,不可能在于此描述的系統(tǒng)中插進特洛伊木馬。
除了這些優(yōu)點外,在此描述的系統(tǒng)還使在包括多個機構(gòu)的異機種部署內(nèi)能具有很大的靈活性。來自一機構(gòu)的應(yīng)答器可將人工預(yù)計算的響應(yīng)轉(zhuǎn)發(fā)給另一機構(gòu),而無須向另一機構(gòu)分布任何信任。第一機構(gòu)可使另一機構(gòu)的應(yīng)答器為第一機構(gòu)提供可相信的有效性證明,而不用放棄對第一機構(gòu)的證書的有效性狀態(tài)的任何數(shù)量的控制。即,在于此描述的系統(tǒng)中,信任可從一機構(gòu)流到另一機構(gòu),而不會損失任何安全性或控制。在一些實施例中,應(yīng)答器可被處理為透明的網(wǎng)絡(luò)基礎(chǔ)設(shè)施,而不是硬化的信任點。這類似于因特網(wǎng)的DNS基礎(chǔ)設(shè)施提供的服務(wù)云,因為其允許名稱服務(wù)器的異類集合,這些名稱服務(wù)器相互透明地合作運行以發(fā)現(xiàn)和緩存對查詢的有效響應(yīng)。
安全的異機種性是在此描述的系統(tǒng)相對于傳統(tǒng)OCSP的主要優(yōu)點。安全的異機種性允許多種機構(gòu)合作運行,從而來自不同機構(gòu)的依賴方可以安全、可靠、有效的方式交叉確認來自其它機構(gòu)的證書。
在此描述的系統(tǒng)將所有確認信任提供在單一權(quán)力機構(gòu)(或少量權(quán)力機構(gòu))中,同時跨任意數(shù)量的無保護的應(yīng)答器分布查詢負荷。在此描述的系統(tǒng)不會降低安全性,即使所分布的實施依賴于相當大量的即使未受保護的應(yīng)答器也是如此。在此描述的系統(tǒng)改善了對查詢的響應(yīng)時間。在此描述的系統(tǒng)不會授權(quán)信任給異機種環(huán)境中的外來應(yīng)答器。
圖1所示為提供OCSP響應(yīng)給依賴方的現(xiàn)有技術(shù)系統(tǒng)。
圖2所示為在異機種環(huán)境中提供OCSP響應(yīng)的現(xiàn)有技術(shù)系統(tǒng)。
圖3所示為根據(jù)在此描述的系統(tǒng)的實施例的RTC系統(tǒng)。
圖4為根據(jù)在此描述的系統(tǒng)的實施例初始化RTCA的流程圖。
圖5為根據(jù)在此描述的系統(tǒng)的實施例在CA和RTCA之間進行通信的流程圖。
圖6為根據(jù)在此描述的系統(tǒng)的實施例將數(shù)據(jù)從RTCA進棧到RTC應(yīng)答器的流程圖。
圖7為根據(jù)在此描述的系統(tǒng)的實施例RTC應(yīng)答器從RTCA獲取數(shù)據(jù)的流程圖。
圖8為根據(jù)在此描述的系統(tǒng)的實施例RTC應(yīng)答器提供信息給依賴方的流程圖。
圖9為根據(jù)在此描述的系統(tǒng)的實施例RTC應(yīng)答器獲取有效性信息的流程圖。
圖10為根據(jù)在此描述的系統(tǒng)的另一實施例RTC應(yīng)答器獲取有效性信息的流程圖。
圖11為根據(jù)在此描述的系統(tǒng)的實施例幫助雙方交易時所執(zhí)行步驟的流程圖。
圖12為根據(jù)在此描述的系統(tǒng)的實施例數(shù)字證書的示意圖。
圖13為根據(jù)在此描述的系統(tǒng)的實施例CA、RTCA、RTC應(yīng)答器和依賴方之間的數(shù)據(jù)流的示意圖。
圖14為根據(jù)在此描述的系統(tǒng)的實施例,第一系統(tǒng)的CA、RTCA、RTC應(yīng)答器及依賴方和第二系統(tǒng)的CA、RTCA、RTC應(yīng)答器及依賴方之間的數(shù)據(jù)流的示意圖。
圖15為根據(jù)在此描述的系統(tǒng)的實施例RTC應(yīng)答器的異類云的示意圖。
圖16為根據(jù)在此描述的系統(tǒng)的實施例進行優(yōu)化的流程圖。
圖17為根據(jù)在此描述的系統(tǒng)的實施例的特許機構(gòu)的示意圖。
圖18為根據(jù)在此描述的系統(tǒng)的實施例在CA、SERTCA、RTC應(yīng)答器和依賴方之間的數(shù)據(jù)流的示意圖。
圖19為根據(jù)在此描述的系統(tǒng)的實施例,為成批OCSP處理提供信息給RTCA/SERTCA/OCSP應(yīng)答器的流程圖。
圖20為根據(jù)在此描述的系統(tǒng)的實施例,為成批OCSP處理提供信息給RTC應(yīng)答器的流程圖。
具體實施例方式
在此描述的系統(tǒng)使用實時憑證(RTC),也被稱為分布式OCSP(DOCSP),并使用稱為RTC權(quán)力機構(gòu)(RTCA)的實體。RTCA可以也可不與給定企業(yè)的CA相一致。在一些實施例中,每一CA向其自己的RTCA提供以特殊證書,RTCA證書。CA可數(shù)字簽署RTCA證書,以表明CA信任并授權(quán)RTCA提供關(guān)于CA發(fā)出的證書的有效性信息。RTCA證書可將RTCA狀態(tài)傳給給定實體(如由給定標識符、OID號等確定的實體)并可將特定驗證密鑰PK(特定實體擁有相應(yīng)的秘密簽署的密鑰)賦值給特定實體。
在CA和RTCA一致的情況下,RTCA具有不同于CA的簽署密鑰是有利的。因此,如果CA和RTCA為同一實體,實體的CA部分實際上僅發(fā)出證書而實體的RTCA部分僅通過證明特定證書是有效還是已作廢而管理證書。因此,即使CA和RTCA重合,依然可使用RTCA證書。
在一些實施例中,每一CA與唯一一個RTCA相關(guān)聯(lián)。在其它實施例中,也可能每一CA與一個以上RTCA相關(guān)聯(lián),其中每一RTCA具有不同的簽署密鑰,或者,部分或所有RTCA共享簽署密鑰。使多個RTCA與CA相關(guān)聯(lián)對冗余目的而言是有利的。在其它實施例中,也可能使一個或多個RTCA與多個CA相關(guān)聯(lián)。
正象CA保護其簽署密鑰那樣,RTCA保護其簽署密鑰,例如借助于保險庫、安全設(shè)施或安全的硬件。在一些實施例中,RTCA可被放入受保護的設(shè)施中,其包括一個以上具有秘密簽署密鑰的服務(wù)器。設(shè)施可安全地保存秘密簽署密鑰的拷貝。RTCA可包括一個以上服務(wù)器,每一服務(wù)器均具有由CA適當證明的秘密簽署密鑰。
CA可保持RTCA知道CA的證書的有效性狀態(tài),例如通過使用CRL或使用任何其它機制。CA可(1)只要發(fā)生變化,即以在線方式將證書有效性的任何變化通知給RTCA;和/或(2)以固定時間間隔和/或在CA產(chǎn)生新CRL時將CRL發(fā)送給RTCA。CA可使用大量技術(shù)中的任一或多個(單獨或組合)來提供各個證書狀態(tài)信息。例如,參見美國專利5,420,927、5,604,804、5,610,982、6,097,811、6,301,659、5,793,868、5,717,758、5,717,757、6,487,658及5,717,759中提供的內(nèi)容,所有這些專利均通過引用組合于此。在此描述的系統(tǒng)可使用這些專利中的一個或多個公開的技術(shù),也可與一個或多個其它適當?shù)募夹g(shù)相結(jié)合。可被單獨或結(jié)合使用的技術(shù)包括全部CRL、分割的CRL、CRL增量、OCSP響應(yīng)(單獨或成組)、迷你CRL(逐位壓縮的CRL)、VTokens(單向散列鏈)、及各種Merkle樹或其它樹形。
在一連串日期D1、D2、…的任一日期Di,RTCA,基于其當前的有效性狀態(tài)的知識(如基于CA的最新CRL)并獨立于任何依賴方請求,可通過處理CA的每一未完成的證書并數(shù)字簽署說明每一證書的狀態(tài)的聲明而執(zhí)行更新。例如,每一證書的狀態(tài)可被視為有效、已作廢、或延緩決定(及可能“不知道”)。簽署的聲明可指定時間間隔T。在一些實施例中,在每一更新時,每一簽署的聲明均指定相同的時間間隔T,而在一些實施例中,全體時間間隔是連續(xù)的。例如,在每一更新日期Di,時間間隔可以是T=Di+1-Di,其中可能Di和Di+1中只有一個是T的一部分,而其它日期是相鄰時間間隔的一部分。在一些實施例中,如果RTCA當前關(guān)于證書狀態(tài)的知識是基于CRL,則每一Di可與一CRL的日期一致,且Di+1與下一CRL的日期一致,依此類推。應(yīng)意識到的是,這樣嚴格的時間依存并不是必需的。例如,RTCA處理或開始處理其聲明的日期可以是D1、D2等,而在聲明內(nèi)指定的時間間隔可以是D1’、D2’等,其中Di和Di’可以不同和/或相互獨立。例如,Di可早于Di’,在這種情況下,RTCA可在聲明的時間間隔開始之前開始處理聲明一例如,因為RTCA希望在間隔T開始之前完成其處理。
在一些實施例中,如果CRL被用于來自CA的RTCA更新,聲明時間和CRL時間也可不同。在處理時間、CRL時間和聲明時間之間可能缺乏同步對在此描述的相同并不至關(guān)重要。在實踐中,“實時”是抽象,因為需要一些額外的時間來通知并對事件做出適當?shù)胤磻?yīng)。首先,應(yīng)注意,雖然推進RTCA進程,但CRL可能不被實時產(chǎn)生。此外,廢除證書的過程也可能不是實時的。例如,用戶可能已認識到其秘密密鑰已被泄密—因而請求廢除其自己的證書—僅在泄密實際發(fā)生后一天內(nèi)。因此,用戶證書的廢除有1天的延遲,相比較而言,由于RTCA計算引起的與實時的偏差可以忽略不計。
RTCA預(yù)計算數(shù)字簽名,其指明每一證書在特定時間間隔T期間的狀態(tài)。這樣的預(yù)計算可獨立于任何一方關(guān)于證書有效性的請求進行。在一些實施例中,在做出關(guān)于C的任何狀態(tài)查詢之前,甚至可能在時間間隔開始之前,RTCA預(yù)計算在特定時間間隔中證書C的狀態(tài)的簽署的聲明。
在一些實施例中,RTCA簽署的證書狀態(tài)聲明可以是標準OCSP格式。這在OCSP軟件已經(jīng)到位的情況下是有用的,從而可方便地利用RTC系統(tǒng),而不需修改任何現(xiàn)有的依賴方OCSP軟件。在一些實施例中,OCSP一致可通過特別選擇有關(guān)的數(shù)量、數(shù)字簽名算法、OID等而實現(xiàn)。
在許多情況下,RTCA需要為每一發(fā)出的證書產(chǎn)生響應(yīng),而不是僅對作廢證書產(chǎn)生響應(yīng)。為確定每一發(fā)出的證書序號的存在,RTCA可由CA或另一實體給予每一證書的拷貝以用于內(nèi)部跟蹤,或者RTCA可通過另一機制給予發(fā)出的序號,所述機制不包括傳送各個證書。在一些實施例中,在證書序號是按連續(xù)順序發(fā)出的特殊情況下,發(fā)出的證書信息可不必明確地提供給RTCA。當使用連續(xù)序號時,RTCA可選擇僅使用當前CRL推斷每一證書序號的存在。這可通過確定CRL中的最低和最高序號完成。在高和低序號之間的范圍中的任何中間號均由CA發(fā)出。如果范圍中的號出現(xiàn)在CRL中,則可知道其狀態(tài)為已作廢。如果范圍中的中間號沒有出現(xiàn),則可確定相應(yīng)的證書尚未被廢除,在OCSP標準中其被定義為“有效”。
上述技術(shù)可處理所發(fā)出證書的大部分,盡管仍然有少量被發(fā)出的證書具有或低于最低CRL條目或高于最高CRL條目的序號。RTCA可通過可配置參數(shù)包括這些另外的序號,所述參數(shù)假定在CRL中第一條目之前和最后條目之后有固定數(shù)量的有效序號。例如,RTCA可指定在最低CRL條目之前有100個序號及在最高CRL條目之后有500個序號代表有效證書。這種優(yōu)化允許RTCA取回一個數(shù)據(jù)元(CRL)而不是大量數(shù)據(jù)元(各個證書)。在證書是按從低到高的連續(xù)序號發(fā)出的情況下,在高端使用的較高號碼可用于容納新發(fā)出的證書。在其它實施例中,所發(fā)出證書的最低和最高序號可被明確地提供給RTCA,且在一些實施例中,該信息可被數(shù)字簽署。
應(yīng)注意,預(yù)計算的句法正確的OCSP響應(yīng)在技術(shù)上可被視為不是OCSP響應(yīng),因為這些響應(yīng)并不是響應(yīng)于任何原始/初始請求而進行計算的。實際上,RTCA對尚未產(chǎn)生且可能永遠也不會產(chǎn)生的OCSP請求預(yù)計算依從OCSP的響應(yīng)。因此,RTCA響應(yīng)可被視為人工預(yù)計算的響應(yīng)。還可能使用術(shù)語人工預(yù)計算的響應(yīng)表示任何數(shù)字簽署的RTCA聲明,即使在不依從OCSP的情形也可能使用。
在產(chǎn)生人工預(yù)計算的響應(yīng)之后,RTCA可給出可用于其它方的響應(yīng)。具體地,RTCA可響應(yīng)于有效性狀態(tài)查詢返回響應(yīng)給依賴方。然而,在其它實施例中,RTCA可給出可用于RTC應(yīng)答器的人工預(yù)計算響應(yīng)。RTC應(yīng)答器不必保護,因為在實踐中RTCA簽署的消息(人工預(yù)計算響應(yīng))不可能以不可檢測的方式進行欺騙性地修改或纂改。因此,RTCA可發(fā)送人工預(yù)計算響應(yīng)給外來應(yīng)答器(屬于其它機構(gòu)的應(yīng)答器),而不會危害安全性。
在一些實施例中,RTCA可通過以適當組織的方式將人工預(yù)計算響應(yīng)呈現(xiàn)給RTC應(yīng)答器而幫助RTC應(yīng)答器進行的處理。例如,RTCA可呈現(xiàn)根據(jù)證書序號或根據(jù)長度等排序的人工預(yù)計算響應(yīng)。為確保所有有關(guān)的人工預(yù)計算響應(yīng)均已被接收,在每一次更新時,RTCA可通過簽署全體人工預(yù)計算響應(yīng)并注明日期而向RTC應(yīng)答器提供另外的簽名。在一些實施例中,可使用人工預(yù)計算響應(yīng)的數(shù)量的計數(shù)或類似機制,具有也可沒有數(shù)字簽名。
此外,RTCA可將CA產(chǎn)生的RTCA證書發(fā)送給RTC應(yīng)答器以證明CA信任和授權(quán)RTCA提供關(guān)于CA發(fā)出的證書的有效性信息。在一些實施例中,不必在每次更新時均進行該發(fā)送。在一些情況下,RTCA僅在開始或以某一固定周期或基于請求發(fā)送RTCA證書給RTC應(yīng)答器。
RTC應(yīng)答器可將所接收的RTCA的人工預(yù)計算響應(yīng)保存足夠長的時間。在一些實施例中,如果RTCA的簽名涉及特定時間間隔T,RTC應(yīng)答器可將人工預(yù)計算響應(yīng)至少保存到T結(jié)束為止。在一些實施例中,至少部分RTC應(yīng)答器,如那些與RTCA屬于同一機構(gòu)的應(yīng)答器,可定期采取措施以確保信息是正確且最新的。例如,RTC應(yīng)答器可驗證關(guān)于時間間隔T的人工預(yù)計算響應(yīng)是在T或其它與T有關(guān)的適當時間開始之前接收的,驗證所有接收的RTCA簽名(還可能驗證適當?shù)腞TCA證書),驗證RTC應(yīng)答器是否已接收所有簽名(如不少于預(yù)期數(shù)量的簽名,不少于已經(jīng)發(fā)出的證書的最后傳輸?shù)暮灻?,驗證RTC應(yīng)答器是否已接收指示先前已被聲明作廢的證書的有效性的信息,驗證RTCA證書本身是否已被廢除(如因為安全泄密)等。如果檢測到任何問題,則RTC應(yīng)答器可通知RTCA或其它適當實體。
依賴方可向RTC應(yīng)答器詢問證書的有效性狀態(tài)。在一些實施例中,請求是OCSP格式。當詢問特定證書的有效性時,RTC應(yīng)答器可從存儲器取回RTCA產(chǎn)生的特定證書的人工預(yù)計算響應(yīng)并將其返回給依賴方。在一些實施例中,RTC應(yīng)答器還可轉(zhuǎn)發(fā)簽署人工預(yù)計算響應(yīng)的RTCA證書。在一些實施例中,依賴方可發(fā)出信號表明其對接收RTCA證書不感興趣(例如因為依賴方已經(jīng)有拷貝),或RTC應(yīng)答器可知道或假定依賴方已經(jīng)有證書的拷貝。依賴方可處理所接收的響應(yīng)以確定感興趣的證書的有效性狀態(tài)。在一些實施例中,如果人工預(yù)計算的響應(yīng)是OCSP格式,則依賴方可使用OCSP軟件用于這樣的處理。在一些實施例中,依賴方可驗證適當?shù)腞TCA證書。在依從OCSP的情形下,依賴方可將RTCA證書作為OCSP應(yīng)答器證書進行驗證。在一些實施例中,RTCA證書可在句法上構(gòu)造成OCSP應(yīng)答器證書。
有各種可被執(zhí)行的優(yōu)化。例如,假設(shè)U是具有證書Cu的一方。作為與V方交易的一部分,U可發(fā)送Cu給V(除非V已有Cu),并可能執(zhí)行另外的任務(wù)(如展示與在Cu中證明屬于U的公開驗證密鑰有關(guān)的數(shù)字簽名,或通過解密由V使用在Cu中證明屬于U的公開加密密鑰加密的隨機難題而被識別)。為使交易安全,V可確定Cu的當前有效性并向RTC應(yīng)答器進行有效性查詢。應(yīng)答器可通過取回并返回關(guān)于Cu的最新RTCA簽署的聲明(人工預(yù)計算響應(yīng))而回答所述查詢。然而,查詢RTC應(yīng)答器將第三方加入本來是兩方的交易中,這增加了交易的時間和復(fù)雜性。
一種解決辦法是使U方在每一時間間隔T開始時或至少在每一時間間隔T期間接收RTCA簽署的聲明Du(人工預(yù)計算的響應(yīng)),其表明Cu在整個T期間均是有效的。U可響應(yīng)于對RTC應(yīng)答器的請求接收Du(例如通過進行一般的依賴方請求)?;蛘撸珼u可被進棧給U及可能其它方,例如通過RTC應(yīng)答器或RTCA在每次更新時和/或在自動基礎(chǔ)上進行。在任何情況下,在間隔T期間與V交易時,除了交易必需的所有其它步驟或任務(wù)以外,U可轉(zhuǎn)發(fā)Du給V。因此,U-V之間的交易可得以很大程度地加快,因為V不需要訪問任何第三方(如RTC應(yīng)答器)來確定U的證書的當前有效性。
應(yīng)注意,即使包括U獲取Du的總體時間不被加快,U-V之間的交易也被加快。然而,還應(yīng)注意,僅加快U-V之間的交易而沒有節(jié)約總體時間依然是有用且有效率的。例如,如果假定RTCA聲明(人工預(yù)計算的響應(yīng))在午夜進行計算并指定一整天為時間間隔,則U可在大清早(此時交易相當少)獲得Du并繼而在時間敏感的U-V交易執(zhí)行期間將Du轉(zhuǎn)發(fā)給V,而此時交易相當多,因而節(jié)約時間是有用的。還應(yīng)注意,在獲得并緩存Du之后,通過使U在全天與其它方交易時轉(zhuǎn)發(fā)Du也可獲得另外的效率。這樣,例如,單一依賴方查詢(U自身的查詢,可能在相對不忙的時間做出)可成功地代替大量依賴方請求(可能在更忙的時間)。
上述優(yōu)化還可由V方完成。在從RTC應(yīng)答器獲得針對關(guān)于U方的證書Cu的有效性查詢返回的Du之后,V方可將Du給予U,或使Du可為其它方使用。
應(yīng)注意,在此討論的優(yōu)化應(yīng)用于在此描述的系統(tǒng)的依從OCSP的實施例。應(yīng)注意,還可能將類似的優(yōu)化應(yīng)用于傳統(tǒng)的OCSP實施。對于這樣的實施,用戶請求并獲得關(guān)于其自己的證書的OCSP響應(yīng),之后,將該OCSP響應(yīng)作為其交易的一部分以適當時間間隔轉(zhuǎn)發(fā)給交易的其它方?;蛘撸斠蕾嚪降谝淮卧儐朥方的證書Cu的有效性時,OCSP應(yīng)答器可計算響應(yīng)Ru,將Ru返回給發(fā)出查詢的依賴方,且還將Ru轉(zhuǎn)發(fā)給U,使得U可緩存Ru,至少暫時緩存(直到下一次更新為止),并可將Ru作為基于Cu的交易的一部分進行轉(zhuǎn)發(fā)。
在一些實施例中,在此描述的系統(tǒng)可使用在各個證書中發(fā)現(xiàn)的數(shù)據(jù)進行實施,從而節(jié)約另外的證書和/或響應(yīng)長度。如上所述,CA可發(fā)出RTCA證書,其授權(quán)特定RTCA提供關(guān)于CA發(fā)出的證書有效性的權(quán)威答案。這樣的RTCA證書可指定公鑰用于驗證RTCA簽署的響應(yīng)(人工預(yù)計算的響應(yīng))。然而,在一些實施例中,CA可將RTCA公鑰嵌入在CA發(fā)出的證書內(nèi)或該信息可被嵌入在CA證書自身內(nèi)。即,CA(具有適當?shù)母袷?,OID等)可在證書Cu中包括公鑰PK,其可用于驗證數(shù)字簽署的關(guān)于Cu的有效性的響應(yīng)。對于這些實施例,依賴方不必接收單獨的RTCA證書。當向RTC應(yīng)答器詢問Cu的有效性的最新證明時,依賴方僅可獲得(如因為其那樣詢問)RTCA簽署的響應(yīng)(人工預(yù)計算的響應(yīng))。實際上,Cu可指定依賴方可用以驗證Cu的有效性證明的公開驗證密鑰。在其它實施例中,整個RTCA證書(或指向其的指針)可被嵌入在用戶證書和/或CA證書中。這些實施例可產(chǎn)生相當?shù)膫鬏敼?jié)約(因為RTC應(yīng)答器不必發(fā)送單獨的RTCA證書,其可能比RTCA響應(yīng)長很多)及存儲器節(jié)約(因為依賴方不必將RTCA證書與RTCA響應(yīng)保存在一起)。
類似地,證書Cu可指定時間間隔。對于這些實施例,RTCA響應(yīng)不必指定時間間隔T的開始和結(jié)束。在一些實施例中,單獨T的開始(或其它更簡單的規(guī)約)可適當?shù)刂付═。例如,如果Cu指定每日更新,則特定天內(nèi)的任何時間均足以指定響應(yīng)所涉及的全天?;蛘?,如果已了解(如從CA的總體政策)證書具有由全天組成的有效性間隔,則沒必要將這樣的信息在證書內(nèi)指出,因而節(jié)約了RTCA響應(yīng)。
應(yīng)注意,在特定證書C的有效性或延緩決定的RTCA證明可指定證明涉及的時間間隔的同時,作廢證明不必指定任何時間間隔。而是,對于這樣的證明,指定單一時間點(如廢除時間)通常就足夠了,因為不像有效性和延緩決定,廢除通常是不可撤回的過程。因此,僅廢除時間rt即可足以證明證書已作廢。應(yīng)注意,rt不必須是任何時間間隔T的開始,而是可指任何時間。因此,在證書C永久作廢的情況下,RTCA不必在所有更新日期(如D1、D2等)發(fā)送C的作廢證明。而是,作廢證明可被僅發(fā)送一次(或為了冗余發(fā)送幾次)并由RTC應(yīng)答器緩存以在依賴方進行關(guān)于C的查詢時返回給依賴方。
還應(yīng)注意,RTCA可被立即通知證書C已被廢除。例如,C己被廢除的信息可在時間間隔T的中間轉(zhuǎn)發(fā),其時RTCA已經(jīng)產(chǎn)生并轉(zhuǎn)發(fā)C的有效性證明給RTC應(yīng)答器。在這種情況下,到下一更新之前,將不為C計算有效性證明。然而,到那時(即直到T結(jié)束),不正確的、但表面上有效的、C的有效性證明由RTC應(yīng)答器保存。可能的對策包括使作廢證明優(yōu)先于有效性證明。在這種情況下,既看見C在某一時間間隔T的有效性證明又看見C的作廢證明(在任何時間t)的誠實依賴方應(yīng)將C視作已廢除(在時間t之后)。
在某些情形下,某些依賴方永遠不會看見作廢證明,因而即使C已被廢除,C可被這些依賴方視為仍然有效,直到T結(jié)束為止。只要RTCA獲知C已被廢除(如直接從CA那知道,不用等待下一次CRL更新),這樣的問題可通過使RTCA計算C的廢除證明并發(fā)送給所有RTC應(yīng)答器而得以減輕(獨立于預(yù)定的日期D1、D2等或D1’、D2’等)。之后,所有適當運行的RTC應(yīng)答器可從存儲器刪除C的任何有效性證明并用新接收的廢除證明替代。在這種情況下,RTC應(yīng)答器更可能向依賴方提供關(guān)于C的有效性的準確證明。
參考圖3,示意圖80示出了實施在此描述的系統(tǒng)的體系結(jié)構(gòu)。CA82連到RTCA84并向其提供確認信息(如CRL)。RTCA84連到多個RTC應(yīng)答器86-88,RTC應(yīng)答器從RTCA接收人工預(yù)計算的響應(yīng)。如本說明書別處所述,CA82和RTCA84中的每一個均使用秘密簽署的密鑰。在一些實施例中,CA82和RTCA84可以是同一實體,如框85所示。
RTCA84提供人工預(yù)計算的響應(yīng)給RTC應(yīng)答器86-88。如本說明書別處所述,RTC應(yīng)答器不需要它們自己的秘密簽署的密鑰且不需要被保護,因為由RTC應(yīng)答器86-88之一提供給依賴方的任何信息均已由RTCA84數(shù)字簽署并是公開信息。
在其它實施例中,可使用一個以上RTCA,其由RTCA92和RTCA94示出,它們代表多個另外的RTCA。每一另外的RTCA92、94可連到由RTCA84服務(wù)的應(yīng)答器86-88?;蛘撸硗獾腞TCA92、94中的一個或多個可連到另外的、不同的多個應(yīng)答器96-98。
參考圖4,流程圖100示出了在初始化RTCA時CA所執(zhí)行的步驟。流程圖100的步驟可在新的RTCA被添加到系統(tǒng)時或在先前的RTCA被發(fā)給新證書時執(zhí)行,或因為舊RTCA證書已期滿或因為RTCA的密鑰已被泄密。
處理開始于第一步驟102,CA驗證RTCA。在步驟102驗證RTCA取決于系統(tǒng)的拓撲學和安全性要求,并可能要求管理員在物理上檢查RTCA并驗證RTCA在適當?shù)奈恢们沂前踩?。當然,在步驟102也可執(zhí)行其它適當?shù)奶幚硪则炞CRTCA是安全的。在步驟102之后是步驟104,CA為RTCA產(chǎn)生密鑰。在步驟104,CA既為RTCA產(chǎn)生秘密密鑰,也為RTCA產(chǎn)生公鑰。
在步驟104之后是步驟106,CA基于在步驟104產(chǎn)生的密鑰為RTCA產(chǎn)生證書。在步驟106產(chǎn)生的證書是RTCA證書。在步驟106之后是步驟108,秘密密鑰被提供給RTCA。在一些實施例中,為安全目的,使秘密密鑰以離線方式(如用戶將秘密密鑰寫在一張紙上,之后在RTCA處輸入該秘密密鑰)提供給RTCA是有用的。
在步驟108之后是步驟112,在步驟106產(chǎn)生的證書被提供給RTCA。在步驟112,可能以在線(甚至不安全的)方式將證書提供給RTCA,因為RTCA證書將被公開,實際上,沒有CA的秘密密鑰(通常不同于在步驟104產(chǎn)生的秘密密鑰)的知識,其將不能被纂改。在步驟112之后是步驟114,關(guān)于由CA管理的證書的初始證書數(shù)據(jù)從CA提供給RTCA。在步驟114提供的初始數(shù)據(jù)可包括初始CRL。此外,如本說明書別處所述,在步驟114提供的初始數(shù)據(jù)還可包括關(guān)于有效、未過期證書的信息,從而RTCA可為有效未過期的證書提供適當?shù)捻憫?yīng)。在步驟114之后,處理結(jié)束。
在一些實施例中,步驟104由RTCA執(zhí)行,使得RTCA是具有秘密密鑰的知識的唯一實體。在這種情況下,RTCA將相應(yīng)的公鑰呈現(xiàn)給CA(或在線或離線方式),使得CA可在步驟106產(chǎn)生證書。當然,在這樣的情況下,不必執(zhí)行如上所述的步驟108。這可由流程圖100中示出的從步驟106到步驟112的另一流程116說明。
應(yīng)注意,流程圖100的步驟甚至可在CA和RTCA為同一實體的情況下執(zhí)行。當然,在這樣的情況下,在步驟102驗證RTCA是沒有價值的。此外,對于RTCA/CA將使用同一公鑰和秘密密鑰對用于CA運行和RTCA運行的實施例,步驟104、106、108和112不需要被執(zhí)行,因為RTCA證書將簡單地是CA的證書。然而,在使RTCA證書格式不同于CA證書格式(如OCSP應(yīng)答器證書格式)有用的情況下,步驟106可在為RTCA證書產(chǎn)生不同格式的證書時執(zhí)行。
參考圖5,流程圖120示出了在定期將證書有效性數(shù)據(jù)從CA傳送給RTCA時執(zhí)行的步驟。流程圖120的步驟或可定期執(zhí)行,或可基于RTCA的專用請求執(zhí)行。處理開始于第一測試步驟122,確定最近是否有任何證書已被廢除(即自上一次迭代以來)。如果是,則控制從測試步驟122轉(zhuǎn)到步驟124,作廢信息被發(fā)送給應(yīng)答器。如本說明書別處所述,在一些實施例中,作廢信息被立即(盡可能接近立即)從CA發(fā)送給RTCA。在一些實施例中,在步驟124從CA發(fā)送給RTCA的作廢信息被數(shù)字簽署或被鑒定。
在步驟124之后或測試步驟122之后(如果最近沒有證書被廢除)是測試步驟126,確定當前時間是否對應(yīng)于用于更新證書信息的新的時間間隔。如本說明書別處所述,在一些實施例中,CA以周期性的間隔將新的確認信息進棧到RTCA。因此,如果在測試步驟126確定當前時間不對應(yīng)于新間隔,則控制從測試步驟126轉(zhuǎn)回到前述的步驟122。否則,如果當前時間對應(yīng)于新間隔,則控制從測試步驟126轉(zhuǎn)到步驟128,新的確認信息由CA產(chǎn)生,在一些實施例中,其包括數(shù)字簽署或鑒定該信息。如本說明書別處所述,新的確認信息可以是多種形式中的任何一種,包括CRL。
在步驟128之后是步驟132,在步驟128產(chǎn)生的新確認信息被提供給RTCA。在步驟132之后是測試步驟134,其確定RTCA是否已確認接收在步驟132發(fā)送的信息。如果否,則控制從步驟134轉(zhuǎn)到步驟136,執(zhí)行錯誤處理。在步驟136執(zhí)行的錯誤處理可包括通知系統(tǒng)管理員。應(yīng)注意,在步驟134確定RTCA是否已接收新信息是有用的,因為懷惡意的攻擊者可能使RTCA停用,以作為防止關(guān)于最近廢除的證書的信息被傳播的手段。在步驟136之后,處理結(jié)束。
如果在測試步驟134確定RTCA已確認接收在步驟132發(fā)送的信息,則控制從步驟134轉(zhuǎn)回到步驟122以處理下一迭代。在一些實施例中,數(shù)據(jù)被定期從CA提供給RTCA,而不管RTCA是否確認數(shù)據(jù)的接收。這由另一路徑137圖示。
在一些實施例中,流程圖120的步驟不定期執(zhí)行,而是僅響應(yīng)于RTCA請求數(shù)據(jù)的特定請求執(zhí)行。這由另外的路徑138圖示,其使得控制從步驟122或步驟124直接轉(zhuǎn)到步驟128。還應(yīng)注意,另外的路徑142對應(yīng)于在步驟134的確認的接收。因此,在流程圖120的步驟不定期執(zhí)行的實施例中,當在測試步驟134確定RTCA已確認接收在步驟132發(fā)送的信息,則路徑142指示處理結(jié)束。當然,還可能有RTCA不確認接收來自CA的信息的實施例。這由另一路徑144圖示。
參考圖6,流程圖150示出了在數(shù)據(jù)被定期從RTCA進棧到RTC應(yīng)答器的實施例中,由RTCA所執(zhí)行的處理。處理開始于第一步驟152,RTCA確定自先前進棧以來是否已接收新數(shù)據(jù)。如果否,則控制轉(zhuǎn)回到步驟152以繼續(xù)循環(huán)和輪詢,直到新的數(shù)據(jù)被接收為止。一旦在測試步驟152確定新的數(shù)據(jù)已被接收,則控制從步驟152轉(zhuǎn)到步驟154,數(shù)據(jù)被從RTCA傳到RTC應(yīng)答器。在步驟154之后,控制轉(zhuǎn)回到步驟152以繼續(xù)輪詢等待新數(shù)據(jù)。
參考圖7,流程圖160示出了在響應(yīng)于RTC應(yīng)答器的請求而將數(shù)據(jù)從RTCA提供給RTC應(yīng)答器的實施例中RTCA執(zhí)行的步驟。如本說明書別處所述,RTC應(yīng)答器自身可定期從RTCA請求數(shù)據(jù),而不是依賴于使數(shù)據(jù)被定期從RTCA自動進棧到RTC應(yīng)答器。
處理開始于第一步驟162,RTCA從RTC應(yīng)答器接收查詢(請求數(shù)據(jù))。在步驟162之后是測試步驟164,其確定RTC應(yīng)答器是否請求RTCA證書。如本說明書別處所述,RTCA證書用于說明CA信任并授權(quán)RTCA提供確認信息。在一些實施例中,每一RTC應(yīng)答器可緩存RTCA證書(將被提供,如果被請求和/或依賴方需要的話),在這種情況下,只需請求RTCA證書一次。在其它實施例中,RTC應(yīng)答器可定期請求RTCA證書,或者在某些情況下,一直請求RTCA證書。
如果在測試步驟164確定RTC應(yīng)答器已請求RTCA證書,則控制從測試步驟164轉(zhuǎn)到步驟166,RTCA提供RTCA證書給RTC應(yīng)答器。在步驟166之后或在測試步驟164之后(如果RTC應(yīng)答器尚未請求RTCA證書)是測試步驟168,其確定其它信息(即人工預(yù)計算的響應(yīng))是否已被請求。如果否,則處理結(jié)束。否則,控制從測試步驟168轉(zhuǎn)到測試步驟172,其確定另一信息是否可在RTCA獲得。在某些情況下,由RTC應(yīng)答器請求的另一信息不可在RTCA獲得。例如,如果RTC應(yīng)答器請求關(guān)于外來證書的信息,人工預(yù)計算的響應(yīng)不可在RTCA獲得。
如果在測試步驟172確定所請求的信息不可獲得,則控制從測試步驟172轉(zhuǎn)到步驟174,RTCA提供數(shù)據(jù)給RTC應(yīng)答器,其指明所請求的信息不能得到。在步驟174之后,處理結(jié)束。如果在測試步驟172確定所請求的另一信息可得到,則控制從測試步驟172轉(zhuǎn)到步驟176,所請求的信息由RTCA提供給RTC應(yīng)答器。在步驟176之后,處理結(jié)束。
參考圖8,流程圖190示出了在從依賴方接收請求人工預(yù)計算響應(yīng)(OCSP響應(yīng))的請求時RTC應(yīng)答器所執(zhí)行的步驟。處理開始于第一步驟192,接收請求。在步驟192之后是步驟194,RTC應(yīng)答器獲得適于該請求的RTCA數(shù)據(jù)。在步驟194獲得RTCA數(shù)據(jù)將在本說明書別處詳細描述。在步驟194之后是測試步驟196,確定是否可得到所請求的數(shù)據(jù)。如果否,則控制從測試步驟196轉(zhuǎn)到步驟198,RTC應(yīng)答器提供響應(yīng)給依賴方,其指明不知道特定證書的狀態(tài)。在步驟198之后,處理結(jié)束。
如果在測試步驟196確定最新的有效性數(shù)據(jù)可用于感興趣的證書,則控制從測試步驟196轉(zhuǎn)到步驟202,對數(shù)據(jù)執(zhí)行檢查。如本說明書別處所述,在步驟202執(zhí)行的檢查可包括下述任一或多個確定數(shù)據(jù)的當前性,確定RTCA證書尚未被纂改并依然有效,及任一或多個可對步驟194獲得的數(shù)據(jù)執(zhí)行的其它檢查。
在步驟202之后是測試步驟204,其確定在步驟202執(zhí)行檢查的結(jié)果是否指示一切正常。如果否,則控制從步驟204轉(zhuǎn)到步驟206,向依賴方提供表明有效性數(shù)據(jù)不能認可的指示。可在步驟206執(zhí)行其它適當?shù)奶幚?,例如包括將錯誤通知給系統(tǒng)管理員。在步驟206之后,處理結(jié)束。
如果在測試步驟204確定有效性數(shù)據(jù)可以認可,則控制從測試步驟204轉(zhuǎn)到測試步驟208,確定依賴方是否請求RTCA證書。如果否,則控制從測試步驟208轉(zhuǎn)到步驟212,向依賴方提供有效性數(shù)據(jù)(人工預(yù)計算響應(yīng))。在步驟212之后,處理結(jié)束。否則,如果在測試步驟208確定RTCA證書連同有效性數(shù)據(jù)一起被請求,則控制從測試步驟208轉(zhuǎn)到步驟214,有效性數(shù)據(jù)(人工預(yù)計算的響應(yīng))和RTCA證書被提供給依賴方。在步驟214之后,處理結(jié)束。
對于某些實施例,依賴方可執(zhí)行其自己的有效性數(shù)據(jù)檢查,在這種情況下,不必執(zhí)行步驟202的檢查或步驟204的相應(yīng)測試。這可由從步驟196到步驟208的另一流程路徑216圖示說明。
參考圖9,流程圖230更詳細地示出了在圖8的流程圖190的步驟194獲取RTCA數(shù)據(jù)時由RTC應(yīng)答器執(zhí)行的步驟。流程圖230對應(yīng)于RTCA數(shù)據(jù)由RTCA自動進棧到RTC應(yīng)答器的實施例,RTC應(yīng)答器不必明確請求數(shù)據(jù)。對于這些實施例,應(yīng)答器總是自動擁有最新(或接近于最新)的RTCA數(shù)據(jù)。
處理開始于第一測試步驟232,RTC應(yīng)答器確定所請求的數(shù)據(jù)是否可在RTC應(yīng)答器得到。如果是,則控制從測試步驟232轉(zhuǎn)到測試步驟234,其確定在RTC應(yīng)答器的所請求的數(shù)據(jù)是否是最新數(shù)據(jù)。如本說明書別處所述,人工預(yù)計算的響應(yīng)可包括人工預(yù)計算響應(yīng)在其期間均有效的時間間隔,在該時間間隔之后,需要獲取新的人工預(yù)計算響應(yīng)。不管用于確定人工預(yù)計算響應(yīng)的時間間隔的特殊機制,在測試步驟234確定由依賴方請求的特殊的人工預(yù)計算響應(yīng)是否是最新的,其通過比較當前時間和與人工預(yù)計算響應(yīng)相關(guān)聯(lián)的時間間隔而進行確定。
如果數(shù)據(jù)是最新的,則控制從測試步驟234轉(zhuǎn)到步驟236,其確定RTCA證書是否有效。在某些情況下,RTCA證書將被廢除(或?qū)⒁跐M)也是可能的,從而RTCA提供的數(shù)據(jù)可能不可靠。例如,如果RTCA的秘密密鑰已泄密,則RTCA證書可變?yōu)橐炎鲝U。在步驟236確定RTCA證書的有效性可使用多種已知技術(shù)中的任一一種執(zhí)行,包括在此描述的技術(shù)。如果在測試步驟236確定RTCA證書有效,則控制從測試步驟轉(zhuǎn)到步驟238,提供所請求的人工預(yù)計算響應(yīng)以用于進一步處理,如結(jié)合圖8的流程圖190所述的。在步驟238之后,處理結(jié)束。
如果在測試步驟232確定不能得到數(shù)據(jù),或如果在測試步驟234確定所請求的數(shù)據(jù)不是最新的,或如果在測試步驟236確定RTCA證書不是有效的,則控制轉(zhuǎn)到步驟242,其表明在圖8的流程圖190的步驟處理之后不能得到數(shù)據(jù)。在一些實施例中,在步驟242提供的信息可包括不能得到所請求信息的原因。在步驟242之后,處理結(jié)束。
在一些實施例中,可能不希望在每一迭代時均檢查RTCA證書的有效性。對于這些實施例,步驟236可被省略,這由另一路徑244圖示說明。
還應(yīng)注意,還可能使用流程圖230所示的處理,其用于RTC應(yīng)答器定期從RTCA請求新數(shù)據(jù)的實施例。在這樣的情況下,數(shù)據(jù)可能不可得到或不是最新的,因為其尚未由RTC應(yīng)答器從RTCA請求。
參考圖10,流程圖260更詳細地示出了在圖8的流程圖190的步驟194獲取RTCA數(shù)據(jù)時所執(zhí)行的步驟,其用于RTC應(yīng)答器從RTCA請求數(shù)據(jù)的實施例。處理開始于第一步驟262,確定依賴方是否已請求RTCA證書。如果是,則控制從步驟262轉(zhuǎn)到步驟264,確定RTCA證書是否被RTC應(yīng)答器緩存。如果否,則控制從測試步驟264轉(zhuǎn)到步驟266,RTC應(yīng)答器從RTCA請求RTCA證書。
在步驟266之后、或在步驟262之后(如果RTCA證書未被請求)、或在步驟264之后(如果所請求的證書不能得到)是測試步驟268,確定人工預(yù)計算響應(yīng)是否已被請求。如果是,則控制從測試步驟268轉(zhuǎn)到測試步驟272,確定所請求的人工預(yù)計算響應(yīng)是否被緩存(當然是最新的)在RTC應(yīng)答器。如果否,則控制從測試步驟272轉(zhuǎn)到測試步驟274,RTC應(yīng)答器從RTCA請求人工預(yù)計算響應(yīng)。在步驟274之后、或在步驟268之后(如果沒有人工預(yù)計算響應(yīng)被請求)、或在步驟272之后(如果所請求的人工預(yù)計算響應(yīng)被緩存)是步驟276,獲取所請求信息的結(jié)果被提供以繼續(xù)圖8的流程圖190的步驟的處理。在步驟276之后,處理結(jié)束。
參考圖11,流程圖300示出了在建立雙方交易以避免第三方交易的額外步驟和處理的實施例中,由用戶或用戶與其交易的依賴方執(zhí)行的步驟。處理開始于第一測試步驟302,確定用戶和/或依賴方已緩存的信息(人工預(yù)計算響應(yīng))是否是最新的(或根本存在于本地)。如果是,則控制轉(zhuǎn)回到測試步驟302以繼續(xù)輪詢直到信息不是最新時為止。一旦在測試步驟302確定緩存的信息不是最新的,則控制從測試步驟302轉(zhuǎn)到步驟304,實體(用戶和/或依賴方)獲取最新信息,如本說明書別處所述。在步驟304之后是步驟306,在步驟304獲得的信息被本地保存(緩存)。在步驟306之后,控制轉(zhuǎn)回到步驟302以繼續(xù)輪詢直到所緩存的信息不再是最新的時候為止。
參考圖12,證書320被示作包括傳統(tǒng)的證書信息322和RTCA證書信息324。證書320可以是用戶證書或CA證書。如上所述,在一些實施例中,可能將RTCA證書324證明的公鑰嵌入在證書中。當依賴方查看證書320(或用戶證書或CA證書)時,不必單獨獲取RTCA證書。在其它實施例中,RTCA證書信息324包括整個RTCA證書或指向其的指針。
參考圖13,示意圖400示出了CA402、RTCA404、RTC應(yīng)答器406、和依賴方408之間的信息流。如本說明書別處所述,CA402提供確認信息(如CRL)412給RTCA404。RTCA404產(chǎn)生多個人工預(yù)計算響應(yīng)416,其被提供給RTC應(yīng)答器406。在某些情況下,RTCA404還可提供RTCA證書414給RTC應(yīng)答器406。然而,如本說明書別處所述,RTCA證書414可僅被提供一次或獨立于RTCA404定期提供,RTCA404提供人工預(yù)計算響應(yīng)416給RTC應(yīng)答器406。
依賴方408產(chǎn)生依賴方408提供給RTC應(yīng)答器406的OCSP請求418(或某些其它類型的請求有效性信息的請求)。RTC應(yīng)答器406通過提供人工預(yù)計算的OCSP響應(yīng)422而服務(wù)于OCSP請求418,所述響應(yīng)是先前從RTCA404提供給RTC應(yīng)答器406的人工預(yù)計算OCSP響應(yīng)422之一。之后,依賴方可使用人工預(yù)計算響應(yīng)422基于所涉及證書的有效性狀態(tài)而采取適當?shù)倪M一步行動。如本說明書別處所述,在一些情況下,RTC應(yīng)答器406可提供RTCA證書414給依賴方408。
參考圖14,示意圖430示出了在兩個另外的獨立數(shù)字證書系統(tǒng)之間傳送確認信息。示意圖430示出了圖13的示意圖400的CA402、RTCA404、RTC應(yīng)答器406、及依賴方408。示意圖430還示出了由CA402提供給RTCA404的確認信息412,并示出了從RTCA404傳給RTC應(yīng)答器406的RTCA證書414和人工預(yù)計算響應(yīng)416。
示意圖430還示出了第二CA432、第二RTCA434、第二RTC應(yīng)答器436、及第二依賴方438。第二CA432提供確認信息442給第二RTCA434。第二RTCA434提供人工預(yù)計算響應(yīng)446給第二RTC應(yīng)答器436。然而,假定CA402和第二CA432管理獨立的數(shù)字證書集,則CRL412包含關(guān)于不同于CRL442的證書的信息,且人工預(yù)計算響應(yīng)416包含不同于人工預(yù)計算響應(yīng)446的證書的信息。因此,當?shù)诙蕾嚪?38提供OCSP請求448給關(guān)于CA402管理的證書的第二應(yīng)答器436時,由第二RTCA434提供的人工預(yù)計算響應(yīng)446中沒有響應(yīng)可適于滿足OCSP請求448。
如果RTCA404已提供人工預(yù)計算響應(yīng)416給第二RTC應(yīng)答器436且如果RTCA404先前已提供RTCA證書414給第二RTC應(yīng)答器436,則上述困難可得以解決,第二RTC應(yīng)答器436可通過將RTCA證書414及RTCA404產(chǎn)生的人工預(yù)計算響應(yīng)422提供給第二依賴方438而滿足OCSP請求。應(yīng)注意,如本說明書別處所述,從RTCA404到第二RTC應(yīng)答器436的傳輸不必須是安全的,因為在傳輸給第二應(yīng)答器436之前,RTCA證書414和人工預(yù)計算響應(yīng)436已被數(shù)字簽署。
參考圖15,示意圖460示出了產(chǎn)生圖14的示意圖430所示的系統(tǒng)。在示意圖460中,RTCA404提供人工預(yù)計算響應(yīng)416給RTC應(yīng)答器的異類云462。類似地,第二RTCA434提供人工預(yù)計算響應(yīng)446給RTC應(yīng)答器的異類云462。RTCA404、434還可將其各自的RTCA證書(未示出)提供給RTC應(yīng)答器的異類云462。應(yīng)注意,任何數(shù)量的RTCA均可將人工預(yù)計算響應(yīng)和/或RTCA證書提供給RTC應(yīng)答器的異類云462。因此,依賴方408、第二依賴方438、或某些其它依賴方可接收人工預(yù)計算響應(yīng)中的適當響應(yīng),可選地,還可響應(yīng)于OCSP請求(或某些其它類型的請求)接收RTCA證書,所述請求是對于其人工預(yù)計算響應(yīng)被提供給異類云462的任何證書的請求。
在于此描述的技術(shù)解決了傳統(tǒng)OCSP的許多缺陷的同時,如成本高昂的計算、高通信量及花費高昂的安全服務(wù)器復(fù)制,另外的優(yōu)化甚至可減少更多的計算和通信成本。具體地,在RTCA和RTC應(yīng)答器之間的通信量可通過適當?shù)膲嚎s而減少,如下所述。因下述技術(shù)的組合所得的節(jié)約非常明顯,特別是使用標準OCSP語法時更是如此。
如上所述,RTCA發(fā)送人工預(yù)計算響應(yīng)給每一RTC應(yīng)答器,每一人工預(yù)計算響應(yīng)可由多個數(shù)據(jù)元組成,如響應(yīng)類型、計算響應(yīng)的時間、數(shù)字簽名算法標識符、RTCA的id、證書號、證書是有效還是無效、及數(shù)字簽名本身。這些項目中的許多項目是相同的、或類似的、跨多個響應(yīng)。例如,對于所有響應(yīng),計算響應(yīng)的時間及RTCA的id均是相同的。當所有響應(yīng)被共同從RTCA發(fā)送給RTC應(yīng)答器時,共同的數(shù)據(jù)元可僅被傳輸一次。當回答依賴方請求時,RTC應(yīng)答器還可重新構(gòu)造適當?shù)捻憫?yīng)。此外,當數(shù)據(jù)項目類似但不相同時,可使用適當?shù)膲嚎s算法以利用類似處并僅傳送相差的地方。
此外,為進一步降低計算響應(yīng)并傳送給應(yīng)答器的成本,基于部分而不是所有證書的有效性狀態(tài)更新應(yīng)答器是有利的。例如,所有證書的有效性狀態(tài)可能按小時更新,而部分高優(yōu)先性(如高安全性)證書可能使其狀態(tài)每分鐘更新?;蛘?或此外),新近作廢的證書可使其有效性狀態(tài)被立即向應(yīng)答器更新以降低不適當使用的風險?;蛘撸琑TCA可向應(yīng)答器提供其狀態(tài)已改變的證書的每一分鐘的更新,同時還提供每日(或每小時)簽署的所有證書的有效性狀態(tài)信息。
可使用標準普通壓縮技術(shù)(如Lempel-Ziv)進一步降低通信成本。壓縮技術(shù)可在上述優(yōu)化已經(jīng)降低通信量之后應(yīng)用。
上述優(yōu)化降低了RTCA上的計算負載及RTCA和應(yīng)答器之間的通信成本,因為,在許多情況下,只需計算更少量的簽名。實際上,通過減少計算和通信引起的等待時間,該方法增大了安全性如果RTCA不得不一直處理和發(fā)送所有數(shù)字證書的有效性狀態(tài),應(yīng)答器具有較其應(yīng)有的更多的當前信息。
參考圖16,流程圖470示出了壓縮RTCA和RTC應(yīng)答器之間通信的數(shù)據(jù)的步驟。處理開始于第一步驟472,移除計劃外的項目,不進行傳輸。如上所述,可能的優(yōu)化之一是以不同的頻率更新關(guān)于證書的信息,越重要的證書,更新越頻繁。因此,在每一更新周期,關(guān)于較不重要的、計劃外的證書的信息被從將從RTCA發(fā)送給RTC應(yīng)答器的信息中刪除。
在步驟472之后是步驟474,從剩余的數(shù)據(jù)中刪除多余的項目。如上所述,多余的項目包括對正被傳輸?shù)男畔⒕粯拥捻椖?。例如,對從RTCA傳給RTC應(yīng)答器的所有信息,RTCA的身份和更新時間均是一樣的。在步驟474之后是步驟476,對剩下的信息應(yīng)用壓縮算法。各種可能的壓縮算法如上所述。在步驟476之后,處理結(jié)束。
證明證書的有效性在證明一個聲稱的身份時是有價值的。然而,在某些情況下,證明一個聲稱的身份通常與訪問特定的物理位置、邏輯實體或服務(wù)的特權(quán)相關(guān)聯(lián)。身份和特權(quán)的關(guān)聯(lián)可以是不言明的,并可不適應(yīng)控制同一用戶的多個獨立特權(quán)的需要。不同的方法將采用每一獨立特權(quán)的分開的特權(quán)狀態(tài)。RTCA可被擴展以除提供證書狀態(tài)以外還提供多個特權(quán)的特權(quán)狀態(tài)。
特權(quán)可由一個或多個授權(quán)機構(gòu)授予。這可以是暗含的過程,其中授權(quán)機構(gòu)和CA為同一實體。在這樣的情形下,證明其身份的用戶可建立訪問特定位置、邏輯實體或服務(wù)的用戶權(quán)限。然而,該方法的缺陷在于特權(quán)狀態(tài)可能與證書或身份有效性狀態(tài)是一樣的,因而對所有暗指的特權(quán)均導致單純的是/否回答。如下所述,這可通過擴展RTCA以為各個用戶提供個別的、獨立的特權(quán)狀態(tài)而得以解決。
在開始,CA證明RTCA為特權(quán)管理機構(gòu)。例如,這可作為在本說明書別處描述的一般CA證明過程的一部分執(zhí)行。CA可數(shù)字簽署證書,其指明CA信任并授權(quán)RTCA除證書有效性狀態(tài)以外還提供多個獨立的特權(quán)狀態(tài)。授權(quán)或可以是暗含的,或在RTCA證書中明確指出。
在證明之后,授權(quán)機構(gòu)可將各個特權(quán)狀態(tài)的當前狀態(tài)通知給RTCA。授權(quán)機構(gòu)可保持將特權(quán)的有效性狀態(tài)通知給RTCA,所述特權(quán)被授予授權(quán)機構(gòu)可對其控制的每一用戶。例如,授權(quán)機構(gòu)可(1)只要發(fā)生變化,以在線方式將任何特權(quán)狀態(tài)變化通知給RTCA,或(2)將指示變化的數(shù)字簽署的消息發(fā)送給RTCA。
確定實體為有授權(quán)的授權(quán)機構(gòu)可通過使用由適當信任和授權(quán)的CA發(fā)出的數(shù)字簽署的證書進行。由每一授權(quán)機構(gòu)控制的特權(quán)可在證書自身內(nèi)(即由CA)或在位于RTCA的數(shù)據(jù)庫中或通過一些其它適當?shù)氖侄闻c機構(gòu)綁定。
當RTCA產(chǎn)生單獨簽署的證書有效性狀態(tài)消息時,RTCA可包括與特定證書相關(guān)聯(lián)的每一特權(quán)的狀態(tài)。作為提供證書的有效性狀態(tài)的過程的一部分,RTCA可包括與所涉及證書相關(guān)聯(lián)的每一特權(quán)的標識符和當前狀態(tài)。與特權(quán)狀態(tài)相關(guān)聯(lián)的時間間隔可與應(yīng)用到證書有效性狀態(tài)的一樣。在這方面,預(yù)計算各個特權(quán)狀態(tài)可與如上所述的用于證書狀態(tài)確認的技術(shù)一樣并同時發(fā)生。特權(quán)狀態(tài)可被包括在與證書狀態(tài)確認一樣的數(shù)字簽署的消息中。
RTCA可將預(yù)計算的特權(quán)有效性狀態(tài)發(fā)送給未保護的RTC應(yīng)答器。分布各個特權(quán)狀態(tài)的過程可與用于如上所述的證書狀態(tài)確認的一樣并同時發(fā)生。之后,應(yīng)答器可保存RTCA預(yù)計算的特權(quán)狀態(tài)。在特權(quán)狀態(tài)確認信息被包括為證書狀態(tài)確認信息的一部分時,特權(quán)狀態(tài)信息可由如上所述的應(yīng)答器保存為單一響應(yīng)和/或可與證書確認信息一起保存。
如上所述,當依賴方向應(yīng)答器詢問證書的有效性狀態(tài)信息時,RTC應(yīng)答器可提供RTCA預(yù)計算的響應(yīng),其包括證書有效性狀態(tài)及所有相關(guān)的特權(quán)狀態(tài)。之后,依賴方可驗證預(yù)計算的響應(yīng)(及,如果合適,還驗證RTCA證書)。依賴方對所接收響應(yīng)的處理與上述類似,除了現(xiàn)在任何相關(guān)的特權(quán)狀態(tài)也可得到以外。特權(quán)狀態(tài)可被讀取和使用以確定是否授權(quán)所請求的訪問。擴展到提供多個清楚的特權(quán)狀態(tài)的RTC系統(tǒng)可類似于在本說明書別處描述的用于提供證書狀態(tài)的系統(tǒng),除了預(yù)計算的OCSP響應(yīng)現(xiàn)在可被知道包含特權(quán)有效性狀態(tài)及證書有效性狀態(tài)信息以外。
參考圖17,示意圖480示出了授權(quán)機構(gòu)的實施。示意圖480示出了連到RTCA484的CA482。如本說明書別處所述,CA482提供信息給RTCA484。RTCA484連到多個RTC應(yīng)答器486-488以向其提供信息,如本說明書別處所述。
示意圖480還示出了提供授權(quán)信息給RTCA484的授權(quán)機構(gòu)492??蛇x地,CA482可以直接連到授權(quán)機構(gòu)492以提供初始授權(quán)信息、授權(quán)機構(gòu)證書、及任何其它適當?shù)男畔ⅰH绫菊f明書別處所述,CA482和授權(quán)機構(gòu)492可以是同一實體,其由在CA482和授權(quán)機構(gòu)492周圍的框496圖示。盡管未在示意圖480中示出,在此與授權(quán)機構(gòu)492一起描述的系統(tǒng)可包括另外的RTCA、應(yīng)答器等,如本說明書別處所述(例如,參見圖3及相應(yīng)的描述)。
應(yīng)注意,在一些實施例中,CA482可將授權(quán)機構(gòu)證書直接提供給RTCA484,而不用從CA482提供證書給授權(quán)機構(gòu)492。還應(yīng)注意,授權(quán)機構(gòu)證書(或其它授權(quán)證據(jù))可在由CA482發(fā)出的證書中提供(類似于上面圖12中所示的那樣)或由CA482提供給RTCA484的其它信息提供。
在RTC系統(tǒng)解決了許多OCSP缺陷的同時,進一步的優(yōu)化也是可能的。具體地,RTCA的計算成本可通過一次處理多個數(shù)字簽名而得以降低。對于上述系統(tǒng),RTCA簽署每一數(shù)字證書的狀態(tài)。即使這被提前完成,甚至可能在做出狀態(tài)查詢之前,也可能希望降低該過程的計算成本,特別是因為數(shù)字簽名的產(chǎn)生是計算集中的運算。
如下面將詳述的,通過使簽名有效RTCA(SERTCA)將多個證書的狀態(tài)結(jié)合在單一聲明中并繼而簽署并注明該聲明的日期而提供改進,從而使用單一簽名即可鑒定多個證書在特定時間點的狀態(tài)。其狀態(tài)被那樣鑒定的證書的數(shù)量可以是固定的(每一聲明總是包含同樣數(shù)量證書的狀態(tài)信息),也可以是變化的。在單一聲明中確定的證書也可在其它聲明中確定。例如,一聲明可代表屬于特定個體的所有證書的有效性狀態(tài),另一聲明可代表具有某一整數(shù)間隔內(nèi)的序號的所有證書的有效性。同一證書可能屬于兩個集合,因而屬于兩個單獨的鑒定聲明。
在鑒定特定時間間隔的所有聲明之后,SERTCA可發(fā)送聲明給一個或多個RTC應(yīng)答器,其保存聲明以服務(wù)于依賴方的查詢。當接收關(guān)于證書X的查詢時,RTC應(yīng)答器可取回包含X的有效性狀態(tài)的SERTCA簽署的聲明并將該聲明返回給依賴方。依賴方可驗證SERTCA簽名并在聲明中搜索關(guān)于X的信息,因而以經(jīng)鑒定的方式獲知X的狀態(tài)。
當然,SERTCA還可發(fā)出關(guān)于單一證書的狀態(tài)的聲明,因此,如果SERTCA發(fā)出僅關(guān)于單一證書的聲明,則SERTCA可提供與RTCA一樣的信息。特定的SERTCA可某些時候可用作RTCA并在其它時候不用作RTCA(例如,根據(jù)特定時間的計算限制和需要)。系統(tǒng)可結(jié)合RTCA和SERTCA。
在開始,CA以類似于上面證明RTCA的方式證明SERTCA,如上所述。正象RTCA那樣,SERTCA是可以也可不與特定機構(gòu)的CA一致的實體。每一CA提供其自己的一個或多個SERTCA,其中每一SERTCA具有特殊證書,即SERTCA證書。CA可數(shù)字簽署SERTCA證書,以表明CA信任并授權(quán)SERTCA提供關(guān)于CA的證書的有效性信息。這樣的證書將SERTCA狀態(tài)傳給特定實體(如由特定標識符、OID號等確定的實體),并可將特定驗證密鑰PK(特定實體擁有其相應(yīng)的秘密簽署的密鑰)與特定實體綁定。
正象RTCA那樣,即使CA和SERTCA一致,CA和SERTCA具有不同的簽署密鑰也是有利的。因此,無論CA和SERTCA是否代表同一實體,CA發(fā)出證書及SERTCA管理證書(如證明證書有效/已作廢/延緩決定)。這樣,即使CA和SERTCA一致,也可能依然使用單獨的SERTCA證書。在一些實施例中,每一CA僅具有一個SERTCA,盡管因為冗余或其它目的,具有一個以上是有利的,無論是否使用同一簽署密鑰。如果有多個SERTCA,則其中部分可簡單地用作RTCA。
應(yīng)注意,正象RTCA那樣,SERTCA保護其簽署密鑰。例如借助于保險庫、安全設(shè)施、或安全硬件。CA保持將其證書的有效性狀態(tài)通知給SERTCA。例如,CA可(1)只要發(fā)生變化,以在線方式將證書有效性的任何變化通知給SERTCA,或者(2)當產(chǎn)生時將其CRL發(fā)送給SERTCA。在一連串日期D1、D2、…的任一日期Di,SERTCA基于其當前的確認狀態(tài)知識(如基于CA的最新CRL)并獨立于任何依賴方請求而執(zhí)行更新,其通過處理CA的每一未完成(最好未過期)證書、將關(guān)于證書的有效性狀態(tài)的信息結(jié)合成集、并為每一集合數(shù)字簽署指明集合中每一證書的狀態(tài)的聲明(人工預(yù)計算響應(yīng))而實現(xiàn)。例如,這樣的狀態(tài)可以是有效、已作廢、或延緩決定(或可能是“不知道”、或“未發(fā)出”或另外的狀態(tài)指示)。簽署的聲明可指定時間間隔T。在一些實施例中,在每一更新時,每一簽署的聲明可指定相同的時間間隔T,且這些時間間隔的總數(shù)可覆蓋整個“時間線”。例如,在每一更新日期Di,時間間隔T=Di+1-Di-其中可能只有Di和Di+1之一是T的一部分,而另一日期是相鄰時間間隔的一部分。
作為例子,聲明例子可具有形式SIG-SERTCA(“X有效;Y已作廢;Z延緩決定;日期Di;下一日期Di+1”),其中X、Y和Z代表確定特定證書的信息(如序號),及“有效”、“無效”、“已作廢”是相應(yīng)證書狀態(tài)的指示符。如果SERTCA當前關(guān)于證書狀態(tài)的知識是基于CA的CRL,則每一Di可與一CRL的日期一致,Di+1與下一CRL的日期一致。應(yīng)意識到,這樣嚴格的時間依存不是必需的。例如,在SERTCA處理或開始處理其聲明的日期可以是D1、D2等,而在聲明內(nèi)指定的時間間隔可以是D1’、D2’等,其中Di和Di’可以不同。例如,Di可以早于Di’,在這種情況下,RTCA可在開始聲明的時間間隔之前開始處理聲明一例如,因為SERTCA希望在間隔T開始之前完成其處理。類似地,如果CRL在SERTCA更新時使用,聲明時間和CRL時間也可不同。
因此,實際上,SERTCA預(yù)計算的數(shù)字簽名指明所有證書在特定時間間隔T的狀態(tài)。這樣的預(yù)計算可獨立于任何關(guān)于證書有效性的依賴方請求進行執(zhí)行。SERTCA可在時間間隔中做出任何狀態(tài)查詢之前甚至在該時間間隔開始之前為該特定時間間隔預(yù)計算簽署的聲明。證書狀態(tài)的SERTCA簽署的聲明(人工預(yù)計算響應(yīng))可以是標準OCSP格式,也可以是與現(xiàn)有依賴方軟件兼容的格式。在OCSP軟件已經(jīng)在其位時,這對最小化或消除對現(xiàn)有依賴方軟件的修改是有用的。例如,為確保依從OCSP的所有有關(guān)數(shù)量,可適當?shù)剡x擇數(shù)字簽名算法、OID等。
然而,應(yīng)注意,SERTCA的句法正確的OCSP響應(yīng)不必須是傳統(tǒng)的OCSP響應(yīng),因為SERTCA響應(yīng)不響應(yīng)于任何請求進行計算。實際上,SERTCA對尚未產(chǎn)生且可能永遠不會產(chǎn)生的OCSP請求預(yù)計算OCSP依從的響應(yīng)。SERTCA響應(yīng),無論是否是OCSP格式,均是人工預(yù)計算的響應(yīng)。
在預(yù)計算響應(yīng)之后,SERTCA可使響應(yīng)可用于其它方。盡管SERTCA可響應(yīng)于有效性狀態(tài)查詢將響應(yīng)返回給依賴方,在其它實施例中,SERTCA可提供預(yù)計算的響應(yīng)給RTC應(yīng)答器,其與上述連同RTCA使用的RTC應(yīng)答器相似。
SERTCA可通過以適當組織的方式將簽名呈現(xiàn)給RTC應(yīng)答器而幫助RTC應(yīng)答器處理簽名。為確保所有有關(guān)的預(yù)計算響應(yīng)均已接收,在每一次更新時,SERTCA可向RTC應(yīng)答器提供另外的簽名,其通過簽署并注明RTC應(yīng)答器接收的人工預(yù)計算響應(yīng)的總體的日期而進行。此外,SERTCA可發(fā)送SERTCA證書給RTC應(yīng)答器。該傳送不必在每次更新時都發(fā)生,其可僅在開始時或定期執(zhí)行。
RTC應(yīng)答器可將所接收的SERTCA的人工預(yù)計算響應(yīng)保存足夠長的時間。在一些實施例中,如果簽名涉及特定時間間隔T,則RTC應(yīng)答器可將人工預(yù)計算響應(yīng)至少保存到T結(jié)束為止。在一些實施例中,RTC應(yīng)答器(特別是那些與SERTCA屬于同一組織的應(yīng)答器)可檢查以具有正確信息。例如,RTC應(yīng)答器可驗證在T開始之前(或其它與T有關(guān)的適當時間)接收的關(guān)于時間間隔T的人工預(yù)計算響應(yīng),驗證所有所接收的SERTCA簽名(可能及適當?shù)腟ERTCA證書),驗證RTC應(yīng)答器是否已接收關(guān)于所有證書的信息(如不少于預(yù)期數(shù)量的證書,不少于上一傳輸已經(jīng)發(fā)出的證書),驗證RTC應(yīng)答器是否已接收先前被聲明作廢的證書的有效性的DERTCA簽署的聲明等。如果檢測到任何問題,RTC應(yīng)答器通知SERTCA或另一適當?shù)膶嶓w。
依賴方可向RTC應(yīng)答器詢問證書的有效性狀態(tài)。在一些實施例中,依賴方使用OCSP格式用于請求。如果同一證書狀態(tài)上的信息出現(xiàn)在一個以上聲明中,依賴方可向RTC應(yīng)答器指明哪一聲明是依賴方的首選。例如,如果SERTCA提供代表屬于特定個體的所有證書的有效性狀態(tài)的聲明,并提供代表具有某一整數(shù)間隔內(nèi)的序號的所有證書的有效性狀態(tài)的聲明,且依賴方主要對屬于個體I的具有序號X的證書的有效性狀態(tài)感興趣,則依賴方可提供指示優(yōu)先選擇的指示符以接收(a)SERTCA簽署的聲明,其包括關(guān)于序號接近于X的證書的信息,或(b)SERTCA簽署的聲明,其包括關(guān)于I的其它證書的信息,或(c)非常短的SERTCA簽署的聲明,或(d)包括關(guān)于X的狀態(tài)的信息的SERTCA簽署的聲明(即沒有優(yōu)先選擇)。根據(jù)情況選擇其中之一是有優(yōu)點的。
當詢問特定證書的有效性時,RTC應(yīng)答器可從存儲器取回SERTCA人工預(yù)計算響應(yīng),其包括該證書的信息。RTC應(yīng)答器可返回人工預(yù)計算響應(yīng)。RTC應(yīng)答器還可為SERTCA轉(zhuǎn)發(fā)已簽署人工預(yù)計算響應(yīng)的適當證書。應(yīng)注意,依賴方可提供指示以接收SERTCA證書,或RTC應(yīng)答器可能知道或假定依賴方已經(jīng)有SERTCA證書的拷貝。如果有多個預(yù)計算的答案包含關(guān)于同一證書的信息,RTC應(yīng)答器可根據(jù)依賴方的偏愛或某些指定算法或根據(jù)一些其它規(guī)則選擇返回哪一答案。
依賴方處理所接收的響應(yīng)以確定感興趣證書的有效性。在一些實施例中,如果響應(yīng)是OCSP格式,RTC應(yīng)答器使用OCSP軟件用于這樣的處理。RTC應(yīng)答器可驗證適當?shù)腟ERTCA證書。在OCSP依從的實施例中,RTC應(yīng)答器可將SERTCA證書驗證為OCSP應(yīng)答器證書。在一些實施例中,SERTCA證書可在句法上構(gòu)造成OCSP應(yīng)答器證書。
參考圖18,示意圖500示出了在CA502、SERTCA504、RTC應(yīng)答器506和依賴方508之間的數(shù)據(jù)流。CA502提供確認信息(如CRL)給SERTCA504。SERTCA504使用確認信息產(chǎn)生多個多證書人工預(yù)計算響應(yīng)516。SERTCA504還有其自己的證書514,其可由CA502提供給SERTCA504。
依賴方508產(chǎn)生依賴方508提供給RTC應(yīng)答器506的OCSP請求518。響應(yīng)于此,RTC應(yīng)答器506提供多證書人工預(yù)計算響應(yīng)522,其是最初由SERTCA504提供給應(yīng)答器506的多證書人工預(yù)計算響應(yīng)516之一。此外,如本說明書別處所述,在某些情況下,應(yīng)答器506提供SERTCA證書514給依賴方508。
應(yīng)注意,上述RTCA系統(tǒng)的處理同樣可適于與SERTCA系統(tǒng)和/或混合系統(tǒng)一起使用,包括使用授權(quán)機構(gòu),如上所述,以及提供上面連同圖16所述的壓縮優(yōu)化。類似地,上述SERTCA系統(tǒng)的處理同樣適于與RTCA系統(tǒng)和/或混合系統(tǒng)一起使用。
另一技術(shù),批處理OCSP可用于降低RTCA或SERTCA計算成本。批處理OCSP可單獨使用,也可與在此描述的一個或多個其它機制結(jié)合使用。
當在響應(yīng)中使用的特殊數(shù)字簽名是RSA數(shù)字簽名時可采用批處理OCSP。在SERTCA通過鑒定單一簽名中的多個證書的狀態(tài)而提高簽名效率時,批處理OCSP可借助于單一計算產(chǎn)生多個單證書OCSP響應(yīng)而提高效率,使每響應(yīng)成本大大低于單一OCSP響應(yīng)的成本。例如,如果10個單證書OCSP響應(yīng)單獨產(chǎn)生,成本大概是RTCA(或傳統(tǒng)OCSP應(yīng)答器)的10個RSA簽名的成本。如上所述,SERTCA機制可將成本降低到一個RSA簽名的成本,其通過將10個證書上的信息組合在單一聲明中實現(xiàn)。然而,使用SERTCA的缺陷在于相應(yīng)的聲明變得更長。批處理OCSP可以低于10個RSA簽名的成本的總成本(在一些情況下,大約為2個RSA簽名的成本)產(chǎn)生10個不同的單證書,單獨簽署的OCSP響應(yīng)。
如下所述,批處理OCSP基于Fiat的批處理RSA計算。RSA的公鑰PK由兩個整數(shù)組成,即(N,e),其分別為公知的模數(shù)及驗證指數(shù)。模數(shù)是兩個大的秘密質(zhì)數(shù)p和q的積,RSA的安全性依賴于從模數(shù)N發(fā)現(xiàn)其組成質(zhì)數(shù)的難度。相應(yīng)的秘密密鑰SK由(N,d)組成,其中d具有下述特性對于所有小于N的正整數(shù)b,如果s等于b與以N為模的冥d自乘,則b等于s與以N為模的冥e自乘。換言之,將整數(shù)與以N為模的冥e自乘的運算和將整數(shù)與以N為模的冥d自乘的運算正好相反。
RSA數(shù)字簽名的計算包括(可能隨機地)格式化消息m的散列以獲得b,繼而通過使b與冥d自乘而獲得簽名的計算,之后得到以N為模的結(jié)果。相應(yīng)的驗證過程從s計算b,通過使s與以N為模的冥e自乘進行,并檢查b實際上是否正確地從m產(chǎn)生。Fiat批處理RSA簽名的評論如下所述。假如具有多個值b1、…、bi,多個驗證指數(shù)e1、…、ei,及相應(yīng)的簽署指數(shù)d1、…、di。之后,通過使用號碼理論算法(未在此描述,但在本領(lǐng)域是公知的),s1對以N為模的冥d1、s2對以N為模的冥d2、…、si對以N為模的冥di的計算可比i個單獨的個別計算更有效率地執(zhí)行(假定e1、…、ei不同且滿足某些其它條件)。
如上所述,SERTCA(及RTCA)具有由CA發(fā)出的數(shù)字證書,其證明SERTCA在預(yù)計算OCSP響應(yīng)上簽名使用的公鑰,所述預(yù)計算OCSP響應(yīng)指明數(shù)字證書的有效性信息。同樣如上所述,SERTCA數(shù)字證書由將幾個數(shù)如SN、對證書獨一無二的序號、PK、SERTCA的公鑰、標識符、發(fā)出日期、期滿日期、及另外的數(shù)據(jù)安全綁定在一起的CA的數(shù)字簽名組成。表示成符號C=SIGCA(SERTCA,SN,PK,ID,D1,D2,...)。在RSA數(shù)字簽名由SERTCA使用的情況下,SERTCA的公鑰PK采用(n,e)的形式,其中n是模數(shù),e是驗證指數(shù),且證書采取形式C=SIGCA(SERTCA,SN,(n,e),ID,D1,D2,…)RTC應(yīng)答器和依賴方可以經(jīng)鑒定的方式從SERTCA證書獲知SERTCA公鑰。然而,由于傳統(tǒng)的證書僅包含單一指數(shù)e,傳統(tǒng)的證書不適于與使用多個不同指數(shù)的批處理RSA一起使用。除非驗證人(RTC應(yīng)答器和/或依賴方)知道在鑒定數(shù)字證書的有效性信息的特定簽名中使用的驗證指數(shù),驗證人將不能驗證簽名。下面使用批處理OCSP內(nèi)的批處理RSA克服了該問題。
在一方法中,SERTCA首先產(chǎn)生傳統(tǒng)RSA簽名中那樣的模數(shù)n,并將n呈現(xiàn)給CA用于驗證為SERTCA的公鑰。SERTCA保護其秘密密鑰,其由質(zhì)數(shù)p和q組成。之后,CA向SERTCA發(fā)出用于僅由n組成的公鑰的數(shù)字證書。例如,SERTCA證書可采取C=SIGCA(SN,n,ID,D1,D2,...)的形式。之后,CA將SERTCA的用戶證書的狀態(tài)通知給SERTCA。接著,SERTCA產(chǎn)生i個簽署指數(shù)d1、…、di及相應(yīng)的驗證指數(shù)e1、…、ei。獨立于任何依賴方請求,SERTCA產(chǎn)生關(guān)于一個或多個證書在特定時間間隔的有效性狀態(tài)的聲明,并將這些聲明結(jié)合為大小為i的一批,并在每一批內(nèi)用指數(shù)d1、…di使用批處理RSA,為每一聲明產(chǎn)生數(shù)字簽名。接著,SERTCA將有效性狀態(tài)的預(yù)計算簽名發(fā)送給未保護的應(yīng)答器,另外包括允許應(yīng)答器和/或依賴方確定用于驗證每一聲明的指數(shù)ej的信息。之后,應(yīng)答器保存SERTCA人工預(yù)計算的響應(yīng)。
當依賴方向應(yīng)答器詢問有效性狀態(tài)信息時,RTC應(yīng)答器用人工預(yù)計算響應(yīng)回答查詢。每一響應(yīng)包括驗證響應(yīng)需要的驗證指數(shù)ej及SERTCA證書(如果需要)。之后,依賴方可使用具有從SERTCA證書獲得的模數(shù)n和從RTC應(yīng)答器獲得的驗證指數(shù)ej的RSA驗證來驗證人工預(yù)計算的響應(yīng)。
對該方法變化也是可能的。例如,如果指數(shù)是任意的(且在發(fā)出RSA簽名前沒有使用特殊的消息格式),已從SERTCA證書獲知SERTCA模數(shù)n的敵人可尋找使敵人能夠產(chǎn)生相對于n和e的假聲明的RSA簽名的指數(shù)e。為提高安全性,SERTCA指數(shù)e1、…、ei可被提前固定(并不必每次均可由應(yīng)答器得到)。具體地,指數(shù)可被指定為由CA簽署的SERTCA證書的一部分。接著,SERTCA證書可采取形式C=SIGCA(SERTCA,SN,(n,e1,...,ei),ID,D1,D2,...)依賴方還可從SERTCA證書或另一來源獲得驗證指數(shù),而不是從應(yīng)答器獲得。
使應(yīng)答器和/或依賴方能夠推斷哪一指數(shù)ej被用于特定聲明而不是清楚地指明該信息是有利的。例如,如果在每一批中確認的第j證書總是具有適合以i為模的j的序號,則可進行這樣的推斷。接下來,應(yīng)答器和/或依賴方能夠簡單地從其有效性正被驗證的證書的序號推導指數(shù)的冥j。
應(yīng)注意,在該方法中,依賴方驗證實施可能不遵循標準RSA簽名驗證范例,因為SERTCA的公鑰可不按對(n,e)呈現(xiàn)給依賴方。修改現(xiàn)有依賴方RSA實施的成本在某些應(yīng)用中是不允許的。這可由下述另外的方法解決。
對于第二方法,SERTCA在開始產(chǎn)生與傳統(tǒng)RSA簽名中一樣的模數(shù)n、及i個驗證指數(shù)e1、…、ei,SERTCA將其呈現(xiàn)給CA用于證明。對于SERTCA,保護n的素數(shù)因素分解是有利的。之后,CA可發(fā)出i個用于公鑰的數(shù)字證書,公鑰由PK1=(n,e1)、PK2=(n,e2)、...PKi=(n,ei)組成。例如,i個SERTCA證書可采取形式C1=SIGCA(SERTCA,SN,(n,e1),ID,D1,D2,…)、…、Ci=SIGCA(SERTCA,SN,(n,ei),ID,D1,D2,…)。之后,CA可將其用戶證書的狀態(tài)通知給SERTCA。在其之后,且獨立于任何依賴方請求,SERTCA產(chǎn)生關(guān)于一個或多個證書在特定時間間隔的有效性狀態(tài)的聲明,并將這些聲明結(jié)合為大小為i的一批,并在每一批內(nèi)用指數(shù)d1、…di使用批處理RSA,為每一聲明產(chǎn)生數(shù)字簽名。接著,SERTCA將有效性狀態(tài)的預(yù)計算簽名發(fā)送給未保護的應(yīng)答器,另外包括允許應(yīng)答器和/或依賴方確定用于驗證簽署每一聲明的指數(shù)ej的信息。應(yīng)答器保存SERTCA預(yù)計算的響應(yīng)。
當依賴方向應(yīng)答器詢問有效性狀態(tài)信息時,RTC應(yīng)答器用預(yù)計算響應(yīng)回答查詢。用指數(shù)ej簽署的每一響應(yīng)包括第j個SERTCA證書Cj(如果需要或被請求)。依賴方使用具有從SERTCA證書獲得的公鑰(n,ej)的RSA驗證來驗證預(yù)計算的答案。應(yīng)注意,依賴方驗證與標準RSA驗證在句法上一樣,因為標準形式的RSA公鑰是從SERTCA證書獲得。因此,對依賴方而言,不需修改標準RSA實施。實際上,依賴方可能完全不知道SERTCA正使用批處理OCSP。
對上述方法進行變化也是可能的。例如,不是選擇指數(shù)e1、…、ej并呈現(xiàn)給CA-這樣的指數(shù)可被CA提前推斷或知道—例如,因為這些指數(shù)是系統(tǒng)的固定參數(shù)?;蛘?,應(yīng)答器和/或依賴方能夠推斷哪一指數(shù)ej被用于特定聲明而不是清楚地指明該信息是有利的。例如,如果在每一批中確認的第j證書總是具有適合以i為模的j的序號,則可進行這樣的推斷。接下來,應(yīng)答器和/或依賴方能夠簡單地從其有效性正被驗證的證書的序號推導指數(shù)的冥j。
參考圖19,流程圖600示出了在初始化SERTCA(或適當?shù)腞TCA或OCSP應(yīng)答器)以執(zhí)行批處理OCSP時執(zhí)行的步驟。處理開始于低于步驟602,CA證明模數(shù)n。在步驟602之后是步驟604,產(chǎn)生i個指數(shù)對(驗證指數(shù)和簽署指數(shù))。在于此的實施例中,指數(shù)對由SERTCA使用一對秘密質(zhì)數(shù)產(chǎn)生,秘密質(zhì)數(shù)的積等于n。然而,對于其它實施例,使其它實體產(chǎn)生步驟604的指數(shù)對及使用其它算法產(chǎn)生這些對也是可能的。
對于某些實施例,處理可在步驟604之后結(jié)束。然而,其它實施例可包括由CA進行另外的證明,如上所述,包括使CA證明驗證指數(shù)e1、e2、…、ei。在一實施例中,如步驟606所示,CA證明單一證明中的i個驗證指數(shù),如上所述。在另一實施例中,如步驟608所示,CA證明表示n、ek的RSA風格公鑰的i個單獨證書,其中ek是i個驗證指數(shù)之一。
參考圖20,流程圖620示出了在產(chǎn)生人工預(yù)計算響應(yīng)時SERTCA(或適當?shù)腞TCA或OCSP應(yīng)答器)執(zhí)行的步驟。處理開始于第一步驟622,CA提供確認信息給SERTCA,如本說明書別處所述。在步驟622之后是步驟624,SERTCA使用簽署指數(shù)d1、d2、…、di產(chǎn)生人工預(yù)計算響應(yīng)。在步驟624之后是步驟626,SERTCA以類似于本說明書別處所述的方式將人工預(yù)計算響應(yīng)提供給RTC應(yīng)答器。
在一些實施例中,SERTCA可提供另外的指數(shù)信息給RTC應(yīng)答器。這由圖20的流程圖620中所示的可選步驟圖示說明。另外的指數(shù)信息可由正使用的特定指數(shù)的一個或多個證明和/或指示哪些特定指數(shù)用于哪些人工預(yù)計算響應(yīng)的信息組成。當然,如本說明書別處所述,也可有其它機制確定哪些指數(shù)用于哪些人工預(yù)計算響應(yīng),從而對于SERTCA,不必單獨提供那樣的信息。類似地,可以有用于將指數(shù)信息通信給RTC應(yīng)答器(最終通信給依賴方)的機制,從而不必為指數(shù)單獨提供任何另外的證明。
應(yīng)注意,上述批處理OCSP技術(shù)可代替SERTCA與RTCA一起使用,也可與傳統(tǒng)的OCSP框架一起使用,其中OCSP應(yīng)答器基于從依賴方接收查詢而計算數(shù)字簽署的證書狀態(tài)信息。具體地,如果OCSP應(yīng)答器接收孤立的查詢,則OCSP應(yīng)答器可產(chǎn)生單個RSA簽署的響應(yīng),但如果OCSP應(yīng)答器在很短時間內(nèi)接收許多查詢,OCSP可以上述批處理的方式回答所有或部分查詢。下面將對此進行闡述。
最初,CA將其用戶證書的狀態(tài)以與OCSP相容的方式通知給OCSP應(yīng)答器。在接收多個證書狀態(tài)查詢的基礎(chǔ)上,應(yīng)答器可使用批處理RSA計算獨立的單證書,對第i查詢的傳統(tǒng)OCSP響應(yīng),每一均與指數(shù)ej有關(guān)。OCSP應(yīng)答器還可指定一致的指數(shù)和/或包括CA簽署的應(yīng)答器證書,其鑒定ej(及適當?shù)腞SA模數(shù)n)可用于驗證應(yīng)答器簽名。CA可向OCSP應(yīng)答器提供單一OCSP應(yīng)答器證書,其指出只有RSA模數(shù)n由應(yīng)答器用于其批處理RSA簽名。例如,表示成符號C=SIGCA(responder,SN,n,ID,D1,D2,...)應(yīng)注意,如果OCSP應(yīng)答器使用的指數(shù)是固定的,則這特別準確和安全?;蛘?,CA可向OCSP應(yīng)答器提供應(yīng)答器證書,其指定應(yīng)答器可用于批處理RSA簽署的多個指數(shù)。例如,表示成符號C=SIGCA(responder,SN,(n,e1,...ek),ID,D1,D2,...)或者,對于特定OCSP應(yīng)答器,CA可發(fā)出k個不同的應(yīng)答器證書,每一證書對于應(yīng)答器可用于批處理RSA簽署的每一指數(shù)。例如,表示成符號C1=SIGCA(responder,SN,(n,e1),ID,D1,D2,...)、...、Ck=SIGCA(responder,SN,(n,ek),ID,D1,D2,...)在此的整個描述中,CA、RTCA、應(yīng)答器、交易方、用戶可以是任何實體(如個人、機構(gòu)、服務(wù)器、設(shè)備、計算機程序、計算機文件)或?qū)嶓w的集合。證書應(yīng)被理解為包括所有種類的證書,具體地,包括分級證書和平面證書。例如,參見美國專利5,420,927,其通過引用組合于此。有效性狀態(tài)和有效性狀態(tài)的證明可包括分級證書的有效性狀態(tài)和有效性狀態(tài)的證明(如一系列證書中所有證書的有效性狀態(tài)和有效性狀態(tài)的證明)。驗證證書C的有效性可包括驗證已發(fā)出C的CA的CA證書的有效性及提供關(guān)于C的有效性狀態(tài)的簽署響應(yīng)的RTCA/SERTCA的RTCA/SERTCA證書的有效性。
在適當?shù)那闆r下,數(shù)字簽署和數(shù)字簽名在此可被理解為包括任何適當?shù)男畔㈣b定。
盡管證書描述將特定密鑰與特定用戶綁定的數(shù)字簽署的文檔,在美國專利5,666,416(通過引用組合于此)之后,證書還應(yīng)被理解為包括所有類型的數(shù)字簽署的文檔。例如,充作CA的賣主可通過數(shù)字簽署價格表(可能連同日期信息一起)而證明價格表在其控制之下。知道這樣的證書的有效性狀態(tài)是有用的。例如,賣主可能想證明價格表的當前有效性(并拒絕價格表中的特定價格,除非展示其當前有效性的證明)。因此,客戶可能希望確定價格表文檔的當前有效性。在此描述的系統(tǒng)可用于此。在此描述的系統(tǒng)可用于證明網(wǎng)頁的當前有效性。在一些實施例中,RTCA/SERTCA產(chǎn)生的當前有效性的證明可與網(wǎng)頁本身一起保存(或與其關(guān)聯(lián))。在這樣的情況下,交易方可被視作計算機文件。
發(fā)送一塊數(shù)據(jù)D(給交易方X)應(yīng)被理解為包括使D可用(或使X接收D)。
應(yīng)注意,在此描述的系統(tǒng)可使用硬件、軟件或其某種結(jié)合進行實施,包括但不限于通用計算機編程,以與專用硬件如數(shù)字信號處理硬件結(jié)合而提供在此描述的功能。
當本發(fā)明已結(jié)合多個實施例進行公開的同時,對本領(lǐng)域技術(shù)人員而言其修改是非常顯然的。因此,本發(fā)明的精神和范圍由下述權(quán)利要求提出。
權(quán)利要求
1.提供關(guān)于數(shù)字證書有效性的信息的方法,包括獲得多個簽署密鑰/驗證密鑰對,其中每一簽署密鑰提供數(shù)字簽名及相應(yīng)的驗證密鑰驗證該數(shù)字簽名,且其中使用簽署密鑰一起數(shù)字簽署多個數(shù)據(jù)元相較個別地數(shù)字簽署每一數(shù)據(jù)元在計算上效率更高;為一組數(shù)字證書中的每一證書確定數(shù)字證書有效性狀態(tài);產(chǎn)生關(guān)于數(shù)字證書集的至少一子集的有效性狀態(tài)的多個人工預(yù)計算的消息;及使用來自密鑰對的簽署密鑰一起數(shù)字簽署人工預(yù)計算的消息。
2.根據(jù)權(quán)利要求1的方法,其中確定數(shù)字證書有效性狀態(tài)包括獲得關(guān)于數(shù)字證書的經(jīng)鑒定的信息。
3.根據(jù)權(quán)利要求2的方法,其中關(guān)于數(shù)字證書的經(jīng)鑒定的信息由同樣廢除證書的實體產(chǎn)生。
4.根據(jù)權(quán)利要求2的方法,其中關(guān)于數(shù)字證書的經(jīng)鑒定的信息是CRL。
5.根據(jù)權(quán)利要求1的方法,其中人工預(yù)計算的響應(yīng)是OCSP格式響應(yīng)。
6.根據(jù)權(quán)利要求5的方法,其中產(chǎn)生多個人工預(yù)計算的響應(yīng)包括為數(shù)字證書集中至少所有未作廢的數(shù)字證書產(chǎn)生響應(yīng)。
7.根據(jù)權(quán)利要求5的方法,還包括在數(shù)字簽署人工預(yù)計算的消息之后,將其結(jié)果轉(zhuǎn)發(fā)給服務(wù)于依賴方的請求的多個應(yīng)答器,所述依賴方詢問數(shù)字證書集中的數(shù)字證書的有效性狀態(tài)。
8.根據(jù)權(quán)利要求1的方法,其中產(chǎn)生多個人工預(yù)計算的響應(yīng)及數(shù)字簽署人工預(yù)計算的響應(yīng)被周期性地執(zhí)行。
9.根據(jù)權(quán)利要求8的方法,其中人工預(yù)計算的響應(yīng)包括對應(yīng)于人工預(yù)計算的響應(yīng)在何時產(chǎn)生的時間信息。
10.根據(jù)權(quán)利要求1的方法,還包括鑒定驗證密鑰。
11.根據(jù)權(quán)利要求10的方法,其中鑒定驗證密鑰包括在單一數(shù)字證書中提供驗證。
12.根據(jù)權(quán)利要求10的方法,其中鑒定驗證密鑰包括在分開的數(shù)字證書中提供每一驗證密鑰。
13.保存在計算機可讀介質(zhì)上的計算機軟件,其提供關(guān)于數(shù)字證書有效性的信息,包括獲得多個簽署密鑰/驗證密鑰對的可執(zhí)行代碼,其中每一簽署密鑰提供數(shù)字簽名及相應(yīng)的驗證密鑰驗證該數(shù)字簽名,其中使用簽署密鑰一起數(shù)字簽署多個數(shù)據(jù)元相較個別地數(shù)字簽署每一數(shù)據(jù)元在計算上效率更高;為一組數(shù)字證書中的每一證書確定數(shù)字證書有效性狀態(tài)的可執(zhí)行代碼;產(chǎn)生關(guān)于數(shù)字證書集的至少一子集的有效性狀態(tài)的多個人工預(yù)計算消息的可執(zhí)行代碼;及使用來自密鑰對的簽署密鑰一起數(shù)字簽署人工預(yù)計算消息的可執(zhí)行代碼。
14.根據(jù)權(quán)利要求13的計算機軟件,其中確定數(shù)字證書有效性狀態(tài)的可執(zhí)行代碼包括獲得關(guān)于數(shù)字證書的經(jīng)鑒定的信息的可執(zhí)行代碼。
15.根據(jù)權(quán)利要求14的計算機軟件,其中關(guān)于數(shù)字證書的經(jīng)鑒定的信息由同樣廢除證書的實體產(chǎn)生。
16.根據(jù)權(quán)利要求14的計算機軟件,其中關(guān)于數(shù)字證書的經(jīng)鑒定的信息是CRL。
17.根據(jù)權(quán)利要求13的計算機軟件,其中人工預(yù)計算的響應(yīng)是OCSP格式響應(yīng)。
18.根據(jù)權(quán)利要求17的計算機軟件,其中產(chǎn)生多個人工預(yù)計算響應(yīng)的可執(zhí)行代碼包括為數(shù)字證書集中至少所有未作廢的數(shù)字證書產(chǎn)生響應(yīng)的可執(zhí)行代碼。
19.根據(jù)權(quán)利要求12的計算機軟件,還包括鑒定驗證密鑰的可執(zhí)行代碼。
20.根據(jù)權(quán)利要求19的計算機軟件,其中鑒定驗證密鑰的可執(zhí)行代碼在單一數(shù)字證書中提供驗證密鑰。
21.根據(jù)權(quán)利要求19的計算機軟件,其中鑒定驗證密鑰的可執(zhí)行代碼在分開的數(shù)字證書中提供每一驗證密鑰。
全文摘要
提供關(guān)于數(shù)字證書有效性的信息包括獲得多個簽署密鑰/驗證密鑰對,其中每一簽署密鑰提供數(shù)字簽名及相應(yīng)的驗證密鑰驗證該數(shù)字簽名,且其中使用簽署密鑰一起數(shù)字簽署多個數(shù)據(jù)元相較個別地數(shù)字簽署每一數(shù)據(jù)元在計算上效率更高;為一組數(shù)字證書中的每一證書確定數(shù)字證書有效性狀態(tài);產(chǎn)生關(guān)于數(shù)字證書集的至少一子集的有效性狀態(tài)的多個人工預(yù)計算的消息;及使用來自密鑰對的簽署密鑰一起數(shù)字簽署人工預(yù)計算的消息。確定數(shù)字證書有效性狀態(tài)包括獲得關(guān)于數(shù)字證書的經(jīng)鑒定的信息。關(guān)于數(shù)字證書的經(jīng)鑒定的信息由同樣廢除證書的實體產(chǎn)生。關(guān)于數(shù)字證書的經(jīng)鑒定的信息是CRL。人工預(yù)計算的響應(yīng)是OCSP格式響應(yīng)。
文檔編號H04L9/32GK1998181SQ200580002152
公開日2007年7月11日 申請日期2005年1月10日 優(yōu)先權(quán)日2004年1月9日
發(fā)明者戴維·恩貝里, 菲爾·利賓, 西爾維奧·米卡利 申請人:科爾街有限公司