摘要:傳遞與雙向聯邦和具有與聯邦相同的,稱為跨領域信任。在中,彼此不完全信任的組織可能仍希望聯邦其信任域。為此,他們聯邦各自的信任域。這意味著檢查百事可樂不是被可口可樂的簽名。
作者:Daniel Feldman
介紹聯邦信任域是SPIFFE和SPIRE最高需求和活躍開發的功能之一。在這篇博文中,我將概述我們當前的計劃以及實施它的挑戰。
什么是聯邦?SPIFFE信任域中的證書共享一個信任根。 這是一個根信任捆綁包,由使用非標準化格式和協議在控制平面之間和內部共享的多個證書組成。
然而,這還不夠好。許多組織都有多個信任根源:可能是因為他們與不同的管理員有不同的組織劃分,或者因為他們有偶爾需要溝通的獨立的臨時和生產環境。類似的用例是組織之間的SPIFFE互操作性,例如云供應商與其客戶之間的互操作性。這兩種用例都需要一個定義明確、可互操作的方法,以便一個信任域中的工作負載對不同信任域中的工作負載進行身份驗證。這是聯邦。
聯邦設計要實現聯邦,我們必須在不同的SPIFFE服務器之間共享公鑰。這不是一次性操作;由于密鑰輪換,每個信任域的公鑰會定期更改。每個聯邦域必須定期下載其他域的公鑰,其頻率至少與密鑰輪換一樣快。
定期下載證書的數據格式尚未最終確定。我們目前的想法是讓SPIFFE的實現去使用JWKS格式,在一個眾所周知的URL上公開發布證書。然后,要啟動聯邦關系,實現可以下載JWKS數據,并從中導入證書。
我們喜歡JWKS,因為它是一種通用的、可擴展的格式,用于共享可以容納JWT和X.509證書的密鑰信息。(出于安全原因,SPIFFE需要不同的JWT和X.509標識的密鑰材料 - 它們不能只是以不同格式編碼的相同公鑰。)JWKS的靈活性允許單個聯邦API支持JWT和X.509 。
工作負載APISPIFFE工作負載API提供用于讀取聯邦公鑰的端點。此API與用于讀取當前信任域的證書的API不同,所以應用程序可以區分本地和聯邦域的客戶端。
SPIRE的實驗支持雖然它尚未正式標準化為SPIFFE的一部分,但是SPIRE已經可以提供JWKS的實驗性實施。
挑戰 外部SPIFFE服務器的初始身份驗證聯邦API存在引導問題:如果雙方都沒有共享信任根,則無法建立初始安全連接。其一種解決方案,是使用兩個SPIFFE服務器信任的證書頒發機構的Web PKI。另一種解決方案,是使用手動身份驗證機制來消除對公共證書頒發機構(CA)的需求。
SPIRE使用與節點和工作負載注冊類似的方式實現聯邦。隨著我們擴展注冊API,可以通過該API操作聯邦,就像節點和工作負載注冊一樣。
網絡中斷容錯每次SPIFFE實現,從同等的SPIFFE實現,導入新證書時,它都會使用上一個已知捆綁包對連接進行身份驗證。如果網絡中斷很長,并且兩個SPIFFE實現無法通信,超過完整的密鑰輪換周期,那么它們將無法繼續進行通信,從而破壞了聯邦關系。
其一種解決方案,是將密鑰輪換間隔,設置為長于可能的最長網絡中斷長度(或者如果發生長中斷,則重新初始化聯邦)。這是設計權衡:如果密鑰輪換間隔較長,則受損密鑰也將在較長時間內保持有效。
或者,如果Web PKI可用于SPIFFE服務器,則可用于保護聯邦連接。我們相信聯邦SPIFFE服務器之間的Web PKI,將是一種常見的設計模式,因為它避免了長網絡中斷導致密鑰輪換的問題。
傳遞與雙向聯邦Kerberos和Active Directory具有與聯邦相同的,稱為“跨領域信任”。在大多數情況下,跨領域信任是雙向的(雙方互相信任)和傳遞(如果A信任B,B信任C,然后A信托C)。
SPIFFE中的雙向聯邦通常(但并非總是如此)是可取的。對于公共API,API提供程序可能希望使用Web PKI來保護連接的服務器端,并使用SPIFFE來保護客戶端。因此,我們不會自動配置雙向聯邦。
對于具有許多信任域的大型組織,傳遞聯邦可以簡化實現復雜性。但是,傳遞聯邦可能難以推斷SPIFFE實現的安全屬性。出于這個原因,我們現在沒有在SPIFFE中實現傳遞聯邦。
目前,用戶必須通過添加更多聯邦關系,來手動配置傳遞和雙向聯邦。
聯邦信任域SVID的范圍在Web PKI中,每個人都信任相同的根證書頒發機構。在SPIFFE中,彼此不完全信任的組織可能仍希望聯邦其信任域。應用程序必須驗證每個SVID是否由擁有該信任域的SPIFFE服務器頒發。
想象一個奇怪的世界,可口可樂和百事可樂必須交換數據。為此,他們聯邦各自的信任域??煽诳蓸返腟PIFFE證書根,添加到百事可樂的信托商店,反之亦然。在證書驗證的簡單實現中,可口可樂服務器可以欺騙性地冒充百事可樂網絡上的百事可樂服務器,因為百事可樂信任可口可樂的根證書!
這是問題所在:根證書沒有“范圍”。任何CA都可以為任何名稱簽署證書。如果所有CA都受信任,例如在單個公司內,則可以。在具有多個CA的環境中,每個CA都應該只允許簽署具有特定名稱的證書,不然這會導致安全漏洞。
防止這種情況的一種方法是使用X.509名稱約束擴展。名稱約束擴展允許將CA證書限制為為特定域名頒發證書。但是,在TLS庫中對名稱約束擴展的支持是有限的,并且它不能解決未來SPIFFE身份格式(如JWT)的問題。由于這些原因,SPIFFE不包括名稱約束擴展。
這意味著所有使用SVID的應用程序都必須檢查SVID中的SPIFFE ID,是否與簽署證書的實際CA的信任域匹配。這意味著檢查百事可樂SVID不是被可口可樂的CA簽名。當前廣泛使用的應用程序(例如Web服務器和代理)不執行此檢查。
結論聯邦對于SPIFFE的成功實施至關重要。但是,以安全和可用的方式實施它仍然存在挑戰。我們正在努力與社區一起努力應對這些挑戰,如果您有遠見,我們很樂意聽取您的意見!
要了解有關SPIFFE聯邦的更多信息:
查看新的Java SPIFFE Federation Demo,它演示了在Tomcat服務器環境中使用SPIRE在兩個域之間進行聯邦。
加入SPIFFE Slack與專家討論SPIFFE。
加入SPIFFE SIG-SPEC雙月會議,設計SPIFFE聯邦會的未來。 (不久將有一個多帶帶的聯邦工作組。)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/11426.html
摘要:傳遞與雙向聯邦和具有與聯邦相同的,稱為跨領域信任。在中,彼此不完全信任的組織可能仍希望聯邦其信任域。為此,他們聯邦各自的信任域。這意味著檢查百事可樂不是被可口可樂的簽名。 作者:Daniel Feldman showImg(https://segmentfault.com/img/bVbld8P?w=1600&h=1066); 介紹 聯邦信任域是SPIFFE和SPIRE最高需求和活躍開...
摘要:美國國家標準與技術研究所近期公布了云計算技術路線圖卷一和卷二的最終版本。報告指出云計算目前仍處于最初部署階段。據悉的報告代表了來自聯邦政府部門工業高等教育和云計算標準研發組織等領域多名專家的意見。 美國國家標準與技術研究所(NIST)近期公布了《云計算技術路線圖》卷一和卷二的最終版本。此前,NIST已經花了三年時間評估和為政府機構加快部署云計算設定目標。最終版本的公布使得這三年的時間沒有白費...
摘要:跨集群服務能夠分布在不同的地理位置,使得混合和多云成為可能,相對于單一集群多可用區部署,更好地保證高可用。注例子中,我們利用谷歌容器引擎提供的集群,在該平臺上,你可以把部署到想要的地區。 編者按:這篇文章是關于Kubernetes 1.3新功能的一系列深入文章的一部分。本文是第七篇。 用戶使用Kubernetes 對生產環境上的部署進行彈性伸縮,同時我們聽到一個明確的聲音:希望跨區域、...
摘要:中華人民共和國數據安全法關鍵信息基礎設施安全保護條例都將于年月日起開始施行,中華人民共和國個人信息保護法也在最近正式發布,將于年月日起施行。毫無疑問,隱私計算是一塊市場大蛋糕。 《中華人民共和國數據安全法》、《關鍵信息基礎設施安全保護條例》都將于2021年9月1日起開始施行,《中華人民共和國個人信息保護法》也在最近正式發布,將于2021年11月1日起施行。我國在安全立法方面三箭齊發,顯示出...
閱讀 1419·2021-10-08 10:04
閱讀 742·2021-09-07 09:58
閱讀 2921·2019-08-30 15:55
閱讀 2472·2019-08-29 17:21
閱讀 2174·2019-08-28 18:04
閱讀 3083·2019-08-28 17:57
閱讀 727·2019-08-26 11:46
閱讀 2260·2019-08-23 17:20