王英哲
在網絡和物聯網安全方面,小心永遠不會過頭,隨著越來越多的不同設備連接到企業和工業基礎設施,安全總比后悔好。
對于網絡管理員來說,不再只是保護筆記本電腦和PC,而是管理由各種硬件連接,包括移動和低成本物聯網設備組成的網絡。但是,當每個設備都按照自己的規則運行時,怎樣保持網絡安全呢?答案很簡單———不要相信任何人!
這就是“零信任架構”的概念,這是一個基于默認情況下不信任任何設備的安全概念,僅僅因為它是網絡的一部分。相反,每個設備都需要為想要建立的每個連接進行身份驗證,考慮到任何連接至少涉及兩方,此處所需的身份驗證稱為相互身份驗證。
有使用相互身份驗證的不同通信協議,例如SSH和TLS。但是這些協議的共同點是身份驗證基于唯一的設備證書,如果沒有這樣的證書,設備就無法對自身進行身份驗證。
設備如何獲得證書
這一切都始于設備擁有自己唯一的公私密鑰,要生成證書,第一步是與證書頒發機構(CA)共享這對公鑰。CA將通過向它發送質詢來驗證公鑰是否屬于該設備,只有擁有相應私鑰的設備才能成功應對此,如果CA知道公鑰屬于設備,它會為它創建一個證書。
創建后,證書可以發送到設備,設備現在可以在未來的網絡身份驗證協議中使用它,這些網絡將創建證書的特定CA視為可信來源。這使得“零信任”一詞有點誤導,即使不信任這些設備,也需要信任一些東西,在這種情況下,信任基于證書和提供證書的機構。
還有另一個重要方面需要考慮:私鑰。私鑰是構建所有安全性的基礎,這是將證書與設備聯系起來的原因,因為任何想要檢查證書真實性的人都可以通過驗證私鑰來做到這一點。由于此私鑰非常重要,因此應始終將其安全地存儲在設備內,使攻擊者永遠無法讀取、更改或復制此私鑰,因為這會危及設備所連接的整個網絡的安全性,保持私鑰私有應該是任何設備的最高優先級。
私鑰如何安全地存儲在設備上
有幾種方法可以做到這一點,首先是安全硬件的傳統使用,如安全元件或可信平臺模塊。這些都是需要添加到設備中的安全芯片,負責創建和安全存儲密鑰。對于昂貴的設備,如手機和筆記本電腦來說,這是一種可接受的解決方案,但通常不能解決所有安全問題,因為還有不止一個的使用方可以訪問它。然而,對于低成本物聯網設備,在材料清單中添加安全芯片會增加太多成本。

一種更實惠的解決方案是將密鑰對存儲在設備的內存中,例如微控制器。在這種情況下,密鑰對可以在制造過程中從外部提供,也可以在內部生成(如果芯片具有內部隨機數生成器)。此選項的主要缺點是物聯網設備的芯片不是為安全存儲密鑰而設計的,這意味著存在私鑰可能會被攻擊者破壞的嚴重風險。最重要的是,當從外部注入密鑰時,注入這些密鑰的一方是另一個需要信任并保密的實體。
對于這些用于生成和存儲密鑰的傳統方法,還有另一種替代方法,它基于物理不可克隆功能(PUF)。
PUF在芯片制造過程中使用深亞微米變化來創建設備唯一標識符。這意味著PUF可以從芯片生成加密密鑰,這些密鑰對于每個芯片都是唯一的,它們永遠不必存儲在內存中,它們在每次需要時都會簡單地(重新)生成。這消除了對外部密鑰以及使用專用硬件來保護存儲密鑰的需要。
這就是為什么PUF迅速獲得關注的原因,特別是對于低成本的物聯網設備,使用PUF來創建和保護生成設備證書所需的密鑰,提供了零信任架構所需的信任類型。
現在我們已經看到了安全連接網絡中設備所需的所有不同的構建塊。這一切都始于設備級別,通過選擇正確的方式為設備提供作為唯一證書基礎的密鑰,零信任架構的基礎得以建立。
選擇的方法會因個別設備的硬件而異,不同的方法提供不同級別的安全性,但它們都有一個共同點,即需要灌輸適當級別的信任,以便將私鑰保密。當設備配備了公鑰-私鑰對時,CA可以通過為設備生成證書來提供下一個問題,一旦設備擁有此唯一證書,就可以進行相互身份驗證,允許以安全方式進入建立在零信任架構上的網絡。