目前,我正在使用一個證書管理器,該證書管理器使我們的產品可以安全地連接到遠程Web服務(通過TLS / SSL)。為了安全起見,我們使用證書吊銷列表檢查(或CRL檢查)來確定某個證書是否已被吊銷。不過,我仍然不清楚一些問題:
- 我必須/應該獲取完整鏈的所有CRL來檢查證書的有效性嗎?
- 中級時我應該怎麼辦? CA被吊銷了嗎?是否還將其所有證書也添加到CRL?可以將證書替換為新的(完整的)版本嗎?
目前,我正在使用一個證書管理器,該證書管理器使我們的產品可以安全地連接到遠程Web服務(通過TLS / SSL)。為了安全起見,我們使用證書吊銷列表檢查(或CRL檢查)來確定某個證書是否已被吊銷。不過,我仍然不清楚一些問題:
必須/應該獲取完整鏈的所有CRL來檢查證書的有效性嗎?
絕對。 CA僅為其頒發的證書構建CRL。必須通過發布CA的CRL檢查CA本身的狀態。注意:這是遞歸搜索。在編寫代碼或測試系統時,請記住,可以有多個“一代”的發行CA,並檢查所有證書 自簽名根。根CA將沒有關聯的CRL-如果該根遭到破壞,則必須從任何信任存儲中手動刪除該根。 strong>
不信任CA簽署的任何。證書僅與頒發它的CA一樣好。如果CA變得不可信任,則該CA頒發的證書將不再可信任。如果CA處於活動狀態,則將創建一個過大的CRL,這對於傳輸,解析和執行任何操作都將非常痛苦。另外,如果CA的密鑰丟失了,則可能無法創建此CRL。
實際上,明智的做法是從任何信任存儲區中刪除CA。從信任庫中刪除CA會導致從信任庫中構建其CA鏈的任何應用程序迅速失敗證書驗證。證書鏈的建立通常是在進行任何OCSP / CRL檢查之前完成的,因此,通過修剪商店中已撤銷的CA,可以避免多餘的步驟和可能的帶寬佔用應用程序。
被撤銷的中間CA也是重大事件-老實說,我從未在現實世界中經歷過。如果我在一個高度安全的系統上工作,那麼我還將盡可能廣泛地發布撤銷CA的信息。特別是可能正在處理已長時間緩存的CRL的任何系統。
如果我持有由該CA簽署的證書,我將盡快制定我的重新認證策略。
是否還將所有證書也添加到CRL?
否。請注意,有兩種不同的CRL在起作用:-發行CA的CA(鏈中的根CA或另一個CA)-發行CRL以驗證發行CA的證書的狀態-發行CA-發行CRL進行驗證此CA頒發的證書的狀態。
如果您擁有從根到終端實體的n個證書的CA鏈,則將涉及n-1個CRL。
可以將證書替換為新的(安全的)版本嗎?
是的。妥協反映了CA私鑰的不可信性。 CA將需要一個新的私鑰,這實際上使其成為一個新的CA。
從技術上講,可以使用相同的專有名稱來重命名CA-如果具有可操作的價值。但是實際上,我的誘惑是用新的DN來建立一個新的CA,以使所有人都清楚區別。
這將是後端的主要痛苦。新CA的用戶將需要:-刪除受感染的證書,並用新的CA證書替換-用新CA簽名的證書重新認證所有最終實體證書。
請注意,有關安全政策的問題,例如您是重新認證還是密鑰您的最終實體。如果受感染的系統無法訪問任何終端實體的私鑰,則可以使用新的CA密鑰對同一私鑰進行重新簽名。如果您將證書請求存儲在文件中,則可以將其重新提交給新的CA並為自己節省一堆密鑰。
但是,在某些情況下,CA系統可能會將一些私鑰置於託管狀態-這意味著在某些中央位置(通常在CA系統附近),私鑰被安全地存儲,以防用戶鬆開其密鑰並需要更新。這在加密證書的情況下尤其普遍,因為即使在撤銷加密密鑰後,您可能仍需要檢索加密的數據。
在這些情況下,如果CA被洩密,密鑰託管就很有可能被洩密。這意味著,託管方中的所有密鑰用戶都應生成新的密鑰對並請求新的證書。
過去,這取決於是否允許重新認證。由於新證書將具有新的有效期,因此可能是由於安全權限無法充分限制有效期而將其稱為“不進行續訂/重新認證”。
是的,您應該獲取鏈中所有證書的所有CRL。僅當可以將證書插入有效證書鏈的末尾並且已確定其吊銷狀態時,才可以將證書視為可用於任何目的,包括驗證其他證書。當然,除非可以根據授權的公鑰驗證其簽名,否則不得信任CRL,這可能還意味著一些額外的證書鏈。
被吊銷的證書意味著其內容不存在。被認為是可用的。吊銷可以看作是頒發機構CA已添加到證書中的加密簽名上的“取消命令”:“即使從數學上看,該簽名也不能視為有效”。您也可以將吊銷視為在證書終止日期的替代。
如果吊銷了中間CA證書,則該證書將變得不可用。您不能將其用作鏈的一部分。因此,如果要驗證CA頒發的證書之一,則需要找到具有相同CA名稱和密鑰且未被吊銷的另一個中間CA證書。 / p>
可以出於任意原因撤消證書:最終,由於負責發布CRL聲明撤消狀態的人,證書被撤消。吊銷證書的可能原因之一是相應的私鑰已被盜用(被盜)。那時,用該密鑰簽名的任何東西都不再是可信任的,因為它可能已經由密鑰竊賊簽名了。在那種情況下(密鑰洩露),不僅將撤銷中間CA證書,而且中間CA將生成一個新密鑰,因此該中間CA的任何其他證書都將使用新密鑰。最終結果是,該中間CA先前頒發的證書將不再再次出現在有效鏈中。撤銷它們將毫無意義。