圖1. 架構組件:Device Inventory Database 和 User/Group Database(圖片來源:https://www.beyondcorp.com/ )
上回說到了 BeyondCorp 的架構組成元件以及大致看了一下各組件之間的關聯(如上圖),這回我們將視角縮進,來看一下上圖中的兩個組件:Device Inventory Database 和 User/Group Database。
本篇大部分爲論文翻譯,詳見出處:An overview: "A New Approach to Enterprise Security"
BeyondCorp 中使用 “managed device“ 的概念,指的是由企業采購並主動管理的設備。只有 “managed device“ 可以訪問企業應用程序。其中,圍繞設備庫存數據庫 (device inventory database) 的設備跟蹤和采購流程是模型的基石之一。
Google 會追蹤並記錄設備的狀態更新,對這些設備信息進行分析,並將這些信息提供給 BeyondCorp 架構中的其他組件使用。
由於 Google 擁有多個庫存數據庫,因此,Google 在這些多個庫存數據庫之上使用了一個元庫存數據庫 (meta-inventory database),用來匯總和規範來自多個庫存數據庫的設備信息,並將該信息提供給 BeyondCorp 的下游組件。元庫存數據庫讓我們能夠了解到所有需要訪問企業的設備。
總結:將企業設備的生命周期信息通過數據庫進行統一集中管理,並提供給下游使用。
在數據庫中,所有設備都需要一個唯一的標示,一個 unique id。實現這種唯一標示的一種方法是給每個設備一個設備證書 (device certificate)。
擁有設備證書的前提是,設備必須在數據庫中是存在且正確的。設備證書會被存儲在硬件或軟件 TPM (Trusted Platform Module) 或合格的證書庫 (certificate store) 中。
TPM (Trusted Platform Module) 是一種物理或嵌入式安全技術(微控制器),位於計算機主板或處理器中。TPM 使用加密技術幫助安全地存儲個人電腦上的重要信息,以實現平台驗證。
檢驗設備是否是 “managed device" 的驗證過程中,會檢驗設備證書的有效性,只有被認為足夠安全的設備才能被歸為 "managed device"。由於設備證書會定期更新,因此設備的驗證過程會在每次證書更新時被強制執行。一旦安裝,該證書將在所有與企業服務的通信中使用。
設備證書作爲設備的唯一標示,它本身並不授予設備訪問權限,也就是說它和權限無關。它被作爲關於設備信息的一組密鑰被使用。
總結:在設備庫存數據庫中,透過設備證書來實現設備的唯一標示。
除了驗證設備之外,BeyondCorp 也驗證身份。BeyondCorp 透過用戶和群組數據庫 (User and Group Database) 追蹤和管理所有用户。該數據庫與 Google 的人力資源流程緊密結合,記錄了 Google 內部員工的職位分類、用戶名稱和群組權限,當員工加入公司、職位異動或離開公司時,數據庫就會更新。
總結:透過用戶和群組數據庫集中管理員工信息,這些信息和 HR 系統聯動,比如員工入職、轉職等。
(論文中只是簡單講一下 Single Sign-On 是什麼。)SSO 是一個集中的用戶身份驗證授權機制,讓用戶可以使用一組身份驗證憑證(例如用戶名和密碼)一次登錄到多個不同的應用程序或網站。在驗證用戶和群組數據庫中的信息後,會生成短期的 token,這個短期 token 會作爲授權過程的一部分。
由於如果只寫到這裡的話篇幅太短,所以我們來複習一下 SSO。
圖2. 架構組件:Single Sign-On (SSO)(圖片來源:https://www.beyondcorp.com/ )
SSO 主要仰賴一個中央身份驗證 (Central Authentication Service (CAS)) 伺服器。下面是 SSO 流程的分步圖:
圖3. SSO flow(圖片來源:https://blog.bytebytego.com/ )
Breakdown 下來的話,SSO 流程如下:
常見的 SSO protocols 有 LDAP、SAML、OIDC 等,適用場景各異,在此不贅述。
好這就是今天的部分~明天我們來學習架構圖中的 Unprivileged Network 和 Radius server。明天見!