題:
證書頒發機構如何存儲其私有根密鑰?
lynks
2012-12-03 20:12:40 UTC
view on stackexchange narkive permalink

對CA私鑰的了解將使MitM攻擊者可以透明地替換由該私鑰簽名的任何證書。這也將使網絡犯罪分子能夠開始偽造自己的受信任證書,並在黑市上出售它們。

鑑於利用這種知識可以賺取巨額利潤,而且事實證明,高度受信任和無處不在的證書(例如任何主要的Verisign鑰匙)都很難快速撤消,這是有原因的,原因是將會有積極性高,資金充足的犯罪分子試圖定期使用這種鑰匙。 p>

證書頒發機構如何應對這種威脅?這聽起來像是一場噩夢,不得不把鑰匙擋在所有人的目光之外,即使是系統管理員也是如此。一直以來,密鑰通常每天都必須通過互聯網連接的簽名服務來使用。

圖片:http://arstechnica.com/security/2012/11/inside-symantecs-ssl-certificate-vault/。技術詳細信息:http://blogs.technet.com/b/askds/archive/2009/09/01/designing-and-implementing-a-pki-part-i-design-and-planning.aspx
七 答案:
Thomas Pornin
2012-12-03 21:59:36 UTC
view on stackexchange narkive permalink

嚴重證書頒發機構使用繁瑣的程序。核心的CA密鑰將存儲在硬件安全模塊中;但這只是事情的一部分。 CA本身必須受到物理保護,其中包括 proactive retrospective 措施。

主動措施用於防止攻擊成功。例如,CA將存儲在帶有鋼門和防護裝置的保險庫中。機器本身已通過幾個掛鎖鎖定,沒有人持有多個掛鎖鑰匙。物理安全至關重要。 HSM只是最深的一層。

追溯措施是指事故後的恢復。 HSM將記錄所有簽名。該機器處於24/7全天候視頻監控之下,並具有異地記錄功能。這些措施是關於知道發生了什麼(如果您願意,先驗,如果發生問題,我們將能夠對它進行後驗分析)。例如,如果發出了“非法”證書,但可以重建此類證書的完整列表,則恢復就像撤銷有問題的證書一樣“容易”。

對於額外的恢復,CA通常是分為長期處於離線狀態的根CA和短暫的中間CA。這兩台機器都在籠子和掩體中。根CA從未連接到網絡。定期對根CA進行物理訪問,並進行雙重控制(至少兩個人在一起,並進行視頻錄製),以發出中間CA和CRL的證書。如果中間CA被徹底黑客入侵(以至於其私鑰被盜,或者偽造的證書列表無法重建),這將允許它撤銷中間的CA。


嚴重的根CA的

初始設置涉及一個關鍵儀式,其中有一群審計員用窺探的眼光,以及形式主義,這是中國皇帝不會嘲笑的。宋朝沒有任何數量的審核可以保證沒有漏洞;但是,可以使用這種儀式來知道做了什麼,表明已經考慮過安全問題,並且在可能的情況下找出罪魁禍首。麻煩出現了。我參與了一些這樣的儀式;他們確實是一個大型的“安全劇院”,但不僅具有展示活動的優點,而且還具有很多優點:它們迫使人們制定一切的書面程序。


問題是現在:按照上述方式,現有 CA是否真的很嚴重?以我的經驗,他們大多是。如果CA與VISA或萬事達卡有關係,那麼您可以確定HSM,鋼質和不耐高溫的底盤是安裝的一部分;否則,您將無法進行安裝。 VISA和萬事達卡(MasterCard)都是關於金錢的,因此必須非常重視。

對於包含在Web瀏覽器和操作系統中的CA,瀏覽器或OS供應商往往需要大量保險。再說一遍,這是關於金錢的。但是保險公司將需要採取所有物理措施以及會計和審計。正式地,這將使用像 WebTrust這樣的證書。

即使對於臭名昭著的CA(例如DigiNotar或Comodo),這也是正確的:請注意,儘管它們遭到黑客攻擊並頒發了虛假證書,但這些證書是眾所周知的,並且已被撤銷(並且Microsoft將它們添加到了“禁止證書”列表中,可以將其視為“已撤銷,我們的確是這樣” –軟件必須竭盡全力來接受它們)。

“弱” CA主要是國家控制的根CA。如果Microsoft認為尚未提供足夠的保險,則Microsoft可以拒絕包括私人企業的根密鑰(他們希望確保CA在財務上很穩健,以便可以維持運營);我知道有一家擁有數百萬客戶的銀行,他們試圖將其根密鑰包含在Windows中,並因他們“太小”而被解僱。但是,微軟在對抗主權國家官方CA方面要弱得多。如果他們想在X國開展業務,他們真的負擔不起拒絕政府X的根CA密鑰。不幸的是,在保護其CA密鑰時,並非所有政府都“認真” ...

感謝您提供的大量信息。我有連帽長袍和蠟燭的圖像。但認真的說,這聽起來非常令人印象深刻。
即,儘管我沒有足夠的信息要說,但政府管理的MSFT審計要求與商業CA有所不同。[(source)](http://technet.microsoft.com/en-us/library/cc751157.aspx)如果基於狀態的CA的要求和審核“較弱”或“更強”
Diginotar上的信息不正確;您會發現,Diginotar甚至不知道發出了什麼,以及就憑據而言未發出的內容。處理Diginotar折衷之所以如此困難的原因是缺乏知識。後來,證書被廣泛使用,但即使現在也不能確定這是創建的證書的完整列表。可以在FoxIT報告中閱讀此信息,也可以了解Diginotar的機制和較差的安全性做法。
@Brennan是否就是這一差異,是因為在Diginotar破產並處於清算狀態時Comodo仍然從事證書業務的主要原因。還是在Comodo案中還有其他令人沮喪的情況允許他們繼續經營?
那麼,通常所有這些費用要花多少錢?當然,維護安全性的東西非常昂貴,但是知道每個部分的成本將是很好的。
@DanNeely Comodo在PKI / CA方面擁有世界上最重要的專業知識,即PHB。幾乎所有組織都搞砸了,但是有些錯誤是無法恢復的。先前的Comodo錯誤之一包括RA的危害。 RA可以在線訪問並處理最終用戶數據,因此很容易遭到破壞,但它不會破壞PKI的整體安全性。根對CA私鑰的暴露,或者未經授權使用未經審核的記錄(例如Diginotar),就導致了政府贊助的針對伊朗境內和境外異議人士的攻擊。是的,確實確實殺死了Diginotar。
這是一個非常準確的描述。我在PKI領域(政府部門和私營部門)工作了15年以上,圍繞保護CA(根CA和從屬CA)的偏執程度非常出色。必須對所有內容進行兩人控制。生物識別(多種因素)通常用於保護數據中心。在政府方面,妄想症甚至超過了此答案中描述的措施。
JZeolla
2012-12-03 20:57:31 UTC
view on stackexchange narkive permalink

在物理方面,他們首先使根CA完全脫機。通常發生的情況是,他們設置了根CA,使從屬完全脫離,然後使根CA完全脫機,並使硬盤驅動器和HSM(有時甚至是整個服務器)從本質上鎖定了它們的安全。

接下來,他們對網絡進行分段以確保從屬/發行CA的安全。

最後,在這些下屬上,他們使用HSM來存儲證書。

OCSP和CRL用於吊銷證書,但這不僅如此簡單。

在程序方面,它們有很多層,其中包括帶鎖的房間,需要多個人同時撤消/簽署下屬或根(A Key Signing Ceremony)。這些都是24/7錄製的(音頻和視頻),除了管理員和行政人員外,還需要CA的信任人。這是很大的一筆。 這是視頻

編輯:與多項式所說的相反,據我所知,HSM對於CA甚至對於內部CA的大型實現都是司空見慣的。

是的,這並不是說diginotar被黑客入侵,而且comodo在此之前已經失去了對其附屬證書之一的控制。據推測,它們是在經過主要瀏覽器信任之前進行審核的,但是系統並不是完美無缺的,只需要一個不良的CA就可以破壞整個系統。而且我希望即使在聲譽卓著的CA公司,高管們也會竭盡所能地降低成本和成本。
精彩的視頻,對正在發生的事情有高水平的了解。一注;關鍵的簽字儀式是為“根DNS證書頒發機構”提供的; “一張證書來統治所有人”。如果有人獲得了該私鑰,他們可以通過偽裝成DNS根目錄並用自己的DNS替換網絡上所有受信任的DNS服務器來關閉整個Internet。根據Thomas Pornin的回答,這是需要“嚴重”保護的鑰匙的最主要示例。
@KeithS我注意到他們似乎都穿著DNS-標記的衣服,我沒有意識到DNS使用的是PKI,儘管現在我想到了。
@lynks並非所有的DNS都使用PKI。請參閱:DNSSec。 https://zh.wikipedia.org/wiki/域名_系統_安全_擴展
goodguys_activate
2012-12-03 21:56:25 UTC
view on stackexchange narkive permalink

並非每個CA(政府,商業或私有)都以相同的方式存儲私鑰。大多數合法的運營商都使用HSM。供應商可能使用從根到SubCa的單向鏈接發布CRL吊銷列表。 (僅傳輸的串行電纜,音頻電纜,QR碼,僅連接了幾個引腳的以太網等等。)

要確定具體信息,則實際上取決於您所談論的產品。

例如,每部電話(Android,iPhone,Blackberry),操作系統(Linux,Windows等),甚至某些Web瀏覽器(Firefox)都維護獨立的信任庫。

每個供應商對於在給定產品中哪些CA有資格成為“根CA”有不同的標準。具體來說,每個供應商都有不同的證書,流程和程序(例如冷存儲要求),每個CA都必須遵循這些證書,證書和流程和過程,才能被包括在該根信任列表中。

Microsoft具有 Root Certificate Program(根證書計劃) a a>,這要求每個CA遵循以下審核標準(應解決您的所有技術和程序問題)

  • ETSI 102 042
  • ETSI 101 456
  • 用於CA的WebTrust
  • WebTrust EV就緒審核
  • ISO 21188(請注意,它們不接受ISO 27001)

具體來說, CA必須完成審核,並每十二(12)個月將審核結果提交給Microsoft。審核必須涵蓋Microsoft將通過分配擴展密鑰用法(EKU)啟用的完整PKI層次結構。我們啟用的所有證書使用情況都必須定期審核。審核報告必須記錄PKI層次結構的全部範圍,包括發布審核所涵蓋的特定類型證書的任何子CA。合格的審核包括:

(請注意,這些審核要求不適用於政府CA,並且可能有所不同)

在此處詳細了解關於MSFT根源的技術和審核指南

另外:

肯定有可能在不公開私鑰的HSM中存儲私鑰(將請求卸載到密鑰)並永久跟踪該私鑰的每次使用。我不記得這些標準中是否有任何一項都要求HSM,但是考慮到HSM的成本相對較低,我無法想像為什麼它沒有完成。

感謝所有鏈接和谷歌的東西,那是一個很大的幫助。我假設“供應商”是指“瀏覽器/設備供應商”?換句話說:將證書集成到其產品中的人。
每個電話(Android,iPhone,Blackberry),操作系統(Linux,Windows等),甚至某些Web瀏覽器(Firefox)都維護獨立的信任庫。我沒有全部介紹,但還有更多。我不知道列入的要求是什麼。
是的,謝謝,是在澄清我理解您對賣方的意思。
Callum Wilson
2012-12-04 17:10:48 UTC
view on stackexchange narkive permalink

雖然我同意@Thomas的上述非常詳盡的答复,但我想補充一點,我為英國銀行自己的借記卡系統安裝了根CA系統(卡上的每個小芯片)實際上是證書。)

我們使用了Thales HSM設備(成本為6英鎊),該設備具有針對傾斜,溫度,物理攻擊等方面的防篡改系統。

(如Thomas所描述的那樣)關鍵儀式,有一群審核員站在冷機房周圍,這比這複雜得多。您需要確保密鑰生成活動和密鑰到HSM的傳輸是分開的活動,並且密鑰不能被共謀破壞。 Thales HSM工具允許將密鑰分為多個部分,每個部分都用運輸密鑰進行加密,這樣,各個密鑰持有人就可以通過不同的運輸方式(為了天才,無需汽車共享)分別進入密鑰儀式。位置,通常在生產服務器機房中的HSM上。

請不要認為成為根CA很簡單-是的,我知道您可以使用以下方法創建根CA免費使用的工具-您需要確定自己的風險承受能力,以及是否可以建立根CA來匹配威脅模型。例如對於借記卡證書(其後果可能是“整個銀行”),花費的總金額是巨大的,並且有很多人四處奔波,以確保沒有一個人可以串通或控制鑰匙。

如果您只是將Root CA創建為本地測試系統,那麼顯然風險模型是不同的。

我的建議是,除非您的規模與大型組織(財富500強),或者成為根CA是您的實際業務,然後外包。

我忘了補充一點,當運輸鑰匙無法正確輸入時,我們的一項關鍵儀式變得非常緊張。因為我們看不到密鑰持有者正在輸入的內容-我們讓他們繼續嘗試以防輸入錯誤。然後,燈泡瞬間“鑰匙上有I或字母O了嗎?” “是”,它解釋了問題,因為它是十六進制代碼!
大聲笑著涉及互聯網安全級別的人員在看到十六進制代碼時沒有意識到:)
Anthony Palmer
2012-12-04 06:56:35 UTC
view on stackexchange narkive permalink

一個人可以簡單地破解私鑰,而不是全力闖入掩體並竊取私鑰任務不可能的風格。這一切都可以在自己舒適的家中完成。您只需要CA公鑰,一些已簽名的數據,示例簽名和一台量子計算機。我已經有75%的東西了,如果有人願意,我很樂意將戰利品分成50/50。

很爛有點不切實際,但很笨拙。
抱歉,我用我的時間機器檢查了一下,您的Quantum計算機有缺陷,它變成了一隻死貓
AJ Henderson
2012-12-03 20:38:14 UTC
view on stackexchange narkive permalink

許多人要做的一件事是使用子證書和吊銷列表。這並不意味著不會發生任何問題,並且私鑰已被信任的CA竊取,但是,如果CA從未使其私鑰可訪問,則它們將獲得一定程度的保護。相反,他們可以使用私鑰對派生的CA證書進行簽名,然後使用該CA證書(有效期要少得多)對要分發的證書進行簽名。這樣,就不必再將主私鑰暴露給網絡了。

如果確實發生了洩露,因為他們知道子證書必須指定受其控制的吊銷列表才是有效的,因此他們可以

一種檢查特定CA是否這樣做的簡單方法是檢查證書上的信任鏈。通常,在給定證書和受信任的根CA證書之間會存在一個甚至幾個CA證書。

Polynomial
2012-12-03 20:16:26 UTC
view on stackexchange narkive permalink

一個簡單(但很不幸)的答案是,他們確實沒有。系統管理員被認為是安全的,他們以保護任何敏感公司服務器相同的方式來保護其簽名框。在執行CSR的情況下,可能需要人為操作,但是如果他們投入足夠的時間和精力,絕對沒有什麼可以阻止堅定的攻擊者破壞CA網絡的。最多,他們會使用 HSM存儲私鑰,儘管我敢打賭這並不常見。

HSM的使用使我無所適從。我想在這種情況下,沒有人可能會知道鑰匙。就在盒子裡。但是似乎仍然如此有價值的目標每天都會受到嚴重的(外國政府)攻擊。而且考慮到每個網絡最終都被破壞了,我想知道為什麼我從未聽說過這樣的破壞。我是否高估了價值(感謝喬治)?
外國政府攻擊它的問題是,如果可以追溯到外國政府,它們將陷入重大政治困境。沒有足夠的收益。
@lynks我認為AJ基本上就在這裡。如果獲得歸因,就會使他們陷入令人討厭的政治局勢。對於他們來說,讓自己的國內CA頒發一個偽造的證書,讓公民的瀏覽器很樂意接受,這樣做更便宜,更安全。
有沒有投票支持者願意實際解釋他們的投票?如果沒有人知道為什麼,則給-1並沒有多大意義。
我想這是因為您的賭注以及似乎可以猜測的東西與其他答案和評論相矛盾...


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...