深度解讀零信任身份安全—— 全面身份化:零信任安全的基石
在2018 ISC網際網路安全大會的身份安全分論壇上,《零信任網路》作者Evan Gilman以“工作負載的身份:零信任資料中心網路的基石”為題發表了演講。
Evan從零信任的理論基礎出發,提出資料中心零信任網路的信任重構依賴於全新身份標識的構建,依賴於全面的身份化。Evan重點以SPIFFE(Secure Product Identity Framework For Everyone,通用安全身份框架)和開源專案SPIRE為例,分享了這種全新的、具備高度相容性的工作負載身份標識原理及其實現。
事實上,無論是零信任安全在資料中心的實踐,還是通用的零信任安全架構實踐,全面身份化都是至關重要的,是“企業邊界正在瓦解,基於邊界的安全防護體系正在失效”這一大背景下,構築全新的零信任身份安全架構的基石。
本文將對“全面身份化”的必要性和範疇進行分析,並基於Evan的演講內容,整理、分享全面身份化在零信任資料中心網路的實踐。
零信任安全的本質是以身份為中心進行動態訪問控制
要理解零信任安全架構下“全面身份化”的必要性,首先需要理解零信任安全是什麼?其本質是以身份為中心的動態訪問控制。
傳統的基於邊界的網路安全架構某種程度上假設、或默認了內網是安全的,認為安全就是構築企業的數字護城河,通過防火牆、WAF、IPS等邊界安全產品/方案對企業網路出口進行重重防護而忽略企業內網的安全。
在“企業邊界正在瓦解,基於邊界的安全防護體系正在失效”這一大背景下,零信任安全針對傳統邊界安全架構思想進行了重新評估和審視,並對安全架構思路給出了新的建議,其核心思想是:預設情況下不應該信任網路內部和外部的任何人/裝置/系統,需要基於認證和授權重構訪問控制的信任基礎。零信任對訪問控制進行了正規化上的顛覆,引導安全體系架構從網路中心化走向身份中心化,其本質訴求是以身份為中心進行訪問控制。
從技術方案層面來看,零信任安全是藉助現代身份管理平臺實現對人/裝置/系統的全面、動態、智慧的訪問控制,其核心實踐包括:
1. 以身份為中心
通過身份治理平臺實現裝置、使用者、應用等實體的全面身份化,採用裝置認證和使用者認證兩大關鍵技術手段,從0開始構築基於身份的信任體系,建立企業全新的身份邊界。
2. 業務安全訪問
所有的業務都隱藏在零信任可信接入閘道器之後,只有認證通過的裝置和使用者,並且具備足夠的許可權才能訪問業務。
3. 動態訪問控制
訪問控制需要符合最小許可權原則進行細粒度授權,基於儘量多的屬性進行信任和風險度量,實現動態自適應訪問控制。
不難看出,以身份為中心實現裝置、使用者、應用、系統的全面身份化是零信任安全的根基,缺少了這個根基,動態訪問控制將成為無源之水無本之木。
“全面身份化”是零信任安全動態訪問控制的基石
傳統語境下,身份更多的是“人”的專屬術語,是物理世界的人在數字世界的對等物,甚至多數情況下大家將身份等同於應用系統的賬號。這不難理解,畢竟在傳統的資訊系統和網路世界中,人、機是主要的參與實體,機器大多可以通過機器名、網路地址等進行標識,而為了實現記賬和訪問控制等功能,人也需要一個標識,那就自然而然的為每一個人在系統中建立一個賬號,並將這個賬號等同於數字身份。
隨著如今IT技術的飛速發展,這個狹義的身份範疇已經跟不上時代了,至少包括如下兩個方面:
1. 身份的實體範疇不僅僅是人
在萬物互聯的時代,物已經成為了重要的參與實體,其基數已經遠遠超出了人。因此,僅僅為人建立身份是遠遠不夠的,正如Gartner所建議的,需要建立全面的“實體”身份空間,這些“實體”包括:人、服務、裝置等等。通過全面的身份化,實現對網路參與的各個實體在統一的框架下進行全生命週期管理。
2. 身份不等同於賬號
雖然在一個單一的業務系統內,身份和賬號存在某種一對一的關係,但是,身份並不等同於賬號。一個身份在不同的業務系統記憶體在不同的賬號,身份是唯一的,賬號不是唯一的。隨著雲端計算、移動計算的發展,應用越來越碎片化,一個實體的人/數字化的身份對應的賬號越來越多,理解身份和賬號的差異至關重要。
簡單下個定義:身份是物理世界的人/物/系統等實體在數字世界的唯一標識,是物理世界的實體在數字世界的對等物。
事實上,在現代身份治理框架下,核心邏輯之一就是關注身份、賬號、許可權三個平面及其對映關係:為物理世界的人/物建立數字身份並關聯對應的身份生命週期管理流程、梳理關聯各業務系統賬號和身份的屬主關係、控制各個賬號的許可權分派實現基礎授權。如下圖所示:
另外,為了實現閉環的全面身份化治理,需要部署智慧身份分析系統,對當前系統的許可權、策略、角色進行智慧分析,發現潛在的策略違規並觸發工作流引擎進行自動、或人工干預的策略調整,實現治理閉環。
如上,在零信任安全語境下,身份是為訪問控制服務的。因此,需要對參與訪問控制的各主體、客體進行全面的身份化,包括:使用者、裝置、應用和介面等都需要具備唯一的數字身份。
Evan Gilman最新的研究方向就是工作負載的身份化,其目的就是為了基於零信任理念,解決工作負載之間的訪問控制問題,建立零信任資料中心網路,是全面身份化在資料中心網路場景的創新實踐。
零信任資料中心網路的工作負載身份化實踐
接下來整理分享Evan關於零信任資料中心網路的工作負載身份化研究的最新成果。
Evan指出解決零信任網路信任問題最重要的機制就是認證,而認證的基礎是通訊雙方的身份標識。隨著資料中心的建立,程序與程序之間通訊同樣需要認證,而現今使用廣泛的標識(IP地址),並不適用於程序與程序之間的通訊,如:Kubernets為每個程序指派一個IP地址,但是多個軟體服務可能共享同一個IP地址。同時,基於IP地址的標識機制還存在訪問控制列表的規模過大、潛在的IP地址偽造等問題。
要實現程序與程序之前的安全通訊,需要更細粒度的標識,需要構建工作負載特有的身份標識體系。目前,不同的軟體平臺對與工作負載標識的方法不同,相互之間不能相容,且沒有一個具有互操作性、能完美的與客戶系統相容的標識。如果能提供一個統一的工作負載標識框架是極具意義的,SPIFFE通用安全身份框架正是這樣的框架,也是目前Evan的研究重點,除此之外,Evan還致力於基於SPIFFE的參考實現SPIRE開源專案的研發和推動。
SPIFFE(Secure Product Identity Framework For Everyone,通用安全身份框架)提供了統一的工作負載身份解決方案。SPIFFE主要包括三部分內容:SPIFFE ID規範、SVID身份標識文件標準、API規範及約束,下面簡單介紹:
- 統一工作負載身份標識SPIFFE ID
SPIFFE ID是一串形如URI的字串,主要由兩部分組成:信任域和工作負載路徑。信任域和系統的信任根有關,是執行SPIFFE框架的組織、機構環境,也可以理解為工作負載身份的頒發者。工作負載路徑可以標識工作負載提供的軟體服務、標識服務擁有者,但更多情況下,它只是一個模糊的字串,不會包含任何上層結構資訊,但是可以通過該字串查詢有關工作負載的元資料,如地理位置、邏輯系統分割槽和服務等。
- SVID(SPIFFE Validation Identity Document, SPIFFE身份標識文件)
SPIFFE SVID是對SPIFFE ID編碼後的一種可加密認證檔案,是工作負載向遠端系統證明自己身份的檔案,主要由三部分組成:SPIFFE ID、公鑰和有效簽名。許多檔案格式都可以滿足SVID的要求,但考慮到易用性和廣泛性,SPIFFE SVID目前僅採用了X.509加密認證檔案格式。
- 工作負載身份化API
定義了與工作負載通訊的標準(本地)介面,為工作負載頒發及獲取SVID明確了介面規範和參考流程。SVID和工作負載API的標準化統一了工作負載身份的互動介面,將工作負載與具體執行平臺解耦,為系統結構的異構化化發展起到了推動作用。
最後,簡單的介紹一下開源專案SPIRE(SPIFFE 執行環境),主要由兩部分組成,SPIRE伺服器和SPIRE代理。SPIRE伺服器主要提供三種服務:身份對映、節點認證和SVID的頒發。SPIRE代理的主要職責是提供工作負載認證和工作負載API介面。
在實際環境中,SPIRE的啟動和載入過程也很簡單,通過啟動SPIRE伺服器、啟動SPIRE代理、工作負載獲取SVID簡單的三個步驟,即可建立從SPIRE伺服器到SPIRE代理的工作負載信任鏈,工作負載獲得能夠適配各種平臺的SVID,進而實現工作負載間的認證。
SPIFFE及其參考實現SPIRE是全面身份化在資料中心網路的全新實踐,其出發點是構建一套標準、開放、統一的零信任資料中心網路的身份標識體系,雖然要達成這一目標頗具挑戰,但是業界在構建零信任安全架構的過程中,仍然可以從這項研究成果中得到啟發,在各種場景切合實際,實現能落地的全面身份化方案。
結語
零信任安全的本質是以身份為中心進行動態訪問控制,全面身份化是實現零信任安全架構的前提和基石,基於全面身份化,為零信任網路的人、裝置、應用、系統等物理實體建立統一的數字身份標識和治理流程,並進一步的構築動態訪問控制體系,將安全邊界延伸至身份實體,實現安全架構的關口前移。
文章來源:360身份安全實驗室(360 ESG Identity Security Lab)