王英哲
在網(wǎng)絡(luò)和物聯(lián)網(wǎng)安全方面,小心永遠(yuǎn)不會(huì)過(guò)頭,隨著越來(lái)越多的不同設(shè)備連接到企業(yè)和工業(yè)基礎(chǔ)設(shè)施,安全總比后悔好。
對(duì)于網(wǎng)絡(luò)管理員來(lái)說(shuō),不再只是保護(hù)筆記本電腦和PC,而是管理由各種硬件連接,包括移動(dòng)和低成本物聯(lián)網(wǎng)設(shè)備組成的網(wǎng)絡(luò)。但是,當(dāng)每個(gè)設(shè)備都按照自己的規(guī)則運(yùn)行時(shí),怎樣保持網(wǎng)絡(luò)安全呢?答案很簡(jiǎn)單———不要相信任何人!
這就是“零信任架構(gòu)”的概念,這是一個(gè)基于默認(rèn)情況下不信任任何設(shè)備的安全概念,僅僅因?yàn)樗蔷W(wǎng)絡(luò)的一部分。相反,每個(gè)設(shè)備都需要為想要建立的每個(gè)連接進(jìn)行身份驗(yàn)證,考慮到任何連接至少涉及兩方,此處所需的身份驗(yàn)證稱為相互身份驗(yàn)證。
有使用相互身份驗(yàn)證的不同通信協(xié)議,例如SSH和TLS。但是這些協(xié)議的共同點(diǎn)是身份驗(yàn)證基于唯一的設(shè)備證書(shū),如果沒(méi)有這樣的證書(shū),設(shè)備就無(wú)法對(duì)自身進(jìn)行身份驗(yàn)證。
設(shè)備如何獲得證書(shū)
這一切都始于設(shè)備擁有自己唯一的公私密鑰,要生成證書(shū),第一步是與證書(shū)頒發(fā)機(jī)構(gòu)(CA)共享這對(duì)公鑰。CA將通過(guò)向它發(fā)送質(zhì)詢來(lái)驗(yàn)證公鑰是否屬于該設(shè)備,只有擁有相應(yīng)私鑰的設(shè)備才能成功應(yīng)對(duì)此,如果CA知道公鑰屬于設(shè)備,它會(huì)為它創(chuàng)建一個(gè)證書(shū)。
創(chuàng)建后,證書(shū)可以發(fā)送到設(shè)備,設(shè)備現(xiàn)在可以在未來(lái)的網(wǎng)絡(luò)身份驗(yàn)證協(xié)議中使用它,這些網(wǎng)絡(luò)將創(chuàng)建證書(shū)的特定CA視為可信來(lái)源。這使得“零信任”一詞有點(diǎn)誤導(dǎo),即使不信任這些設(shè)備,也需要信任一些東西,在這種情況下,信任基于證書(shū)和提供證書(shū)的機(jī)構(gòu)。
還有另一個(gè)重要方面需要考慮:私鑰。私鑰是構(gòu)建所有安全性的基礎(chǔ),這是將證書(shū)與設(shè)備聯(lián)系起來(lái)的原因,因?yàn)槿魏蜗胍獧z查證書(shū)真實(shí)性的人都可以通過(guò)驗(yàn)證私鑰來(lái)做到這一點(diǎn)。由于此私鑰非常重要,因此應(yīng)始終將其安全地存儲(chǔ)在設(shè)備內(nèi),使攻擊者永遠(yuǎn)無(wú)法讀取、更改或復(fù)制此私鑰,因?yàn)檫@會(huì)危及設(shè)備所連接的整個(gè)網(wǎng)絡(luò)的安全性,保持私鑰私有應(yīng)該是任何設(shè)備的最高優(yōu)先級(jí)。
私鑰如何安全地存儲(chǔ)在設(shè)備上
有幾種方法可以做到這一點(diǎn),首先是安全硬件的傳統(tǒng)使用,如安全元件或可信平臺(tái)模塊。這些都是需要添加到設(shè)備中的安全芯片,負(fù)責(zé)創(chuàng)建和安全存儲(chǔ)密鑰。對(duì)于昂貴的設(shè)備,如手機(jī)和筆記本電腦來(lái)說(shuō),這是一種可接受的解決方案,但通常不能解決所有安全問(wèn)題,因?yàn)檫€有不止一個(gè)的使用方可以訪問(wèn)它。然而,對(duì)于低成本物聯(lián)網(wǎng)設(shè)備,在材料清單中添加安全芯片會(huì)增加太多成本。
一種更實(shí)惠的解決方案是將密鑰對(duì)存儲(chǔ)在設(shè)備的內(nèi)存中,例如微控制器。在這種情況下,密鑰對(duì)可以在制造過(guò)程中從外部提供,也可以在內(nèi)部生成(如果芯片具有內(nèi)部隨機(jī)數(shù)生成器)。此選項(xiàng)的主要缺點(diǎn)是物聯(lián)網(wǎng)設(shè)備的芯片不是為安全存儲(chǔ)密鑰而設(shè)計(jì)的,這意味著存在私鑰可能會(huì)被攻擊者破壞的嚴(yán)重風(fēng)險(xiǎn)。最重要的是,當(dāng)從外部注入密鑰時(shí),注入這些密鑰的一方是另一個(gè)需要信任并保密的實(shí)體。
對(duì)于這些用于生成和存儲(chǔ)密鑰的傳統(tǒng)方法,還有另一種替代方法,它基于物理不可克隆功能(PUF)。
PUF在芯片制造過(guò)程中使用深亞微米變化來(lái)創(chuàng)建設(shè)備唯一標(biāo)識(shí)符。這意味著PUF可以從芯片生成加密密鑰,這些密鑰對(duì)于每個(gè)芯片都是唯一的,它們永遠(yuǎn)不必存儲(chǔ)在內(nèi)存中,它們?cè)诿看涡枰獣r(shí)都會(huì)簡(jiǎn)單地(重新)生成。這消除了對(duì)外部密鑰以及使用專用硬件來(lái)保護(hù)存儲(chǔ)密鑰的需要。
這就是為什么PUF迅速獲得關(guān)注的原因,特別是對(duì)于低成本的物聯(lián)網(wǎng)設(shè)備,使用PUF來(lái)創(chuàng)建和保護(hù)生成設(shè)備證書(shū)所需的密鑰,提供了零信任架構(gòu)所需的信任類型。
現(xiàn)在我們已經(jīng)看到了安全連接網(wǎng)絡(luò)中設(shè)備所需的所有不同的構(gòu)建塊。這一切都始于設(shè)備級(jí)別,通過(guò)選擇正確的方式為設(shè)備提供作為唯一證書(shū)基礎(chǔ)的密鑰,零信任架構(gòu)的基礎(chǔ)得以建立。
選擇的方法會(huì)因個(gè)別設(shè)備的硬件而異,不同的方法提供不同級(jí)別的安全性,但它們都有一個(gè)共同點(diǎn),即需要灌輸適當(dāng)級(jí)別的信任,以便將私鑰保密。當(dāng)設(shè)備配備了公鑰-私鑰對(duì)時(shí),CA可以通過(guò)為設(shè)備生成證書(shū)來(lái)提供下一個(gè)問(wèn)題,一旦設(shè)備擁有此唯一證書(shū),就可以進(jìn)行相互身份驗(yàn)證,允許以安全方式進(jìn)入建立在零信任架構(gòu)上的網(wǎng)絡(luò)。
計(jì)算機(jī)與網(wǎng)絡(luò)2021年21期