【導(dǎo)讀】在廣泛的非國(guó)防市場(chǎng),有些人認(rèn)為網(wǎng)絡(luò)安全完全可以滿足他們的需求。畢竟,他們?cè)O(shè)置了柵欄、大門(mén)、警衛(wèi)、攝像頭和防火墻,并且由他們自己的員工來(lái)制造和/或生產(chǎn)自己的系統(tǒng),從而實(shí)現(xiàn)了“物理”安全。這可能就足夠了。但大家捫心自問(wèn),在什么條件下任何人(可能是員工)都可以訪問(wèn)一臺(tái)設(shè)備,他們的哪些做法可使設(shè)備所具備的功能被利用或被秘密提取?
什么情況下網(wǎng)絡(luò)安全問(wèn)題會(huì)變成物理安全問(wèn)題?換句話說(shuō),什么情況下半導(dǎo)體必須具有內(nèi)置篡改檢測(cè)器?
在廣泛的非國(guó)防市場(chǎng),有些人認(rèn)為網(wǎng)絡(luò)安全完全可以滿足他們的需求。畢竟,他們?cè)O(shè)置了柵欄、大門(mén)、警衛(wèi)、攝像頭和防火墻,并且由他們自己的員工來(lái)制造和/或生產(chǎn)自己的系統(tǒng),從而實(shí)現(xiàn)了“物理”安全。這可能就足夠了。但大家捫心自問(wèn),在什么條件下任何人(可能是員工)都可以訪問(wèn)一臺(tái)設(shè)備,他們的哪些做法可使設(shè)備所具備的功能被利用或被秘密提???
這勢(shì)必需要公司回答以下問(wèn)題:我的供應(yīng)鏈管理是否安全?設(shè)備或貨物是否曾“丟失”?設(shè)備如何停用?誰(shuí)負(fù)責(zé)維修設(shè)備,設(shè)備如何升級(jí)?“誰(shuí)可以在設(shè)備的使用壽命期間訪問(wèn)該設(shè)備,他們可以如何處理該設(shè)備?”這些問(wèn)題的答案將有助于推動(dòng)組織的決策過(guò)程。
下面是需要考慮的關(guān)鍵安全主題:
生產(chǎn)(制造印刷電路板)、配置和測(cè)試
在任何非易失性器件的編程過(guò)程中,公司是否使用了經(jīng)過(guò)哈希運(yùn)算且已簽名的映像?是否存在記錄已配置內(nèi)容、已配置的電路板數(shù)量以及未通過(guò)出廠測(cè)試的電路板數(shù)量的可審核日志?這些日志是否經(jīng)過(guò)哈希運(yùn)算且已簽名?
是否禁止了調(diào)試端口?
發(fā)貨給客戶
組織能否對(duì)發(fā)貨件數(shù)與客戶收到的件數(shù)進(jìn)行核對(duì)?大多數(shù)客戶會(huì)立即說(shuō)“嘿,少了一件!”。但是,如果客戶因?yàn)槟撤N原因丟失了一件,該怎么辦?這家公司不得不假定有一件設(shè)備流落在外。
公司及其客戶能否驗(yàn)證交付設(shè)備的完整性?他們能否驗(yàn)證設(shè)備在運(yùn)輸過(guò)程中未遭到篡改?
已部署設(shè)備
設(shè)備上是否有防篡改密封?
是否只允許獲得授權(quán)的技術(shù)人員維修設(shè)備?
是否允許遠(yuǎn)程更新?
如果允許,經(jīng)過(guò)驗(yàn)證后,這些映像是否是完整的和真實(shí)的?
是否有適當(dāng)?shù)臋C(jī)制來(lái)防止回滾?
設(shè)備停用時(shí)是否執(zhí)行零值化?是否使其無(wú)法操作?是否將其銷(xiāo)毀?
如果對(duì)上述任何一個(gè)問(wèn)題的回答都是“否”,那么組織應(yīng)該認(rèn)真考慮內(nèi)置防篡改對(duì)策的半導(dǎo)體,這樣他們便可根據(jù)設(shè)備在其生命周期內(nèi)可能出現(xiàn)的風(fēng)險(xiǎn)情況為其量身定制篡改響應(yīng)。例如,F(xiàn)PGA產(chǎn)品應(yīng)該具有可用于定制威脅響應(yīng)的多種防篡改功能(圖1)。示例包括:
足夠數(shù)量的數(shù)字篡改標(biāo)志
多個(gè)模擬窗口電壓檢測(cè)器,可為您提供每個(gè)關(guān)鍵電源(Vdd、Vdd18和Vdda25)的高/低跳變點(diǎn)
數(shù)字窗口溫度,可為您提供高/低管芯溫度
來(lái)自?xún)?nèi)置溫度檢測(cè)器的原始電壓和溫度值
系統(tǒng)控制器慢速時(shí)鐘,用于指示系統(tǒng)控制器的欠壓條件
數(shù)字總線(至少5位),用于指示器件復(fù)位源(已觸發(fā)DEVRST引腳、篡改宏輸入、系統(tǒng)控制器看門(mén)狗和安全鎖定篡改檢測(cè)器,以及任何其他復(fù)位)
圖1. Microchip PolarFire? FPGA和PolarFire SoC FPGA器件的設(shè)計(jì)和數(shù)據(jù)安全屬性
篡改檢測(cè)和響應(yīng)
在對(duì)FPGA設(shè)計(jì)的篡改宏進(jìn)行實(shí)例化時(shí),應(yīng)該可以使用多種類(lèi)型的篡改標(biāo)志。每個(gè)標(biāo)志都有自己的用途:
標(biāo)志[31:0] | 標(biāo)志名稱(chēng) | 說(shuō)明 |
1 | MESH_ERROR | 有源網(wǎng)篡改標(biāo)志。每當(dāng)有源安全網(wǎng)發(fā)現(xiàn)實(shí)際金屬網(wǎng)輸出與預(yù)期輸出不匹配時(shí),將此標(biāo)志置為有效。此舉可防止侵入式攻擊,例如使用聚焦離子束(FIB)技術(shù)對(duì)某個(gè)較高級(jí)別金屬層的有源金屬網(wǎng)的走線進(jìn)行切割和探測(cè)。 |
2 | CLOCK_MONITOR_GLITCH | 每當(dāng)時(shí)鐘毛刺監(jiān)視器檢測(cè)到脈沖寬度超限時(shí)置為有效。 |
3 | CLOCK_MONITOR_FREQUENCY | 每當(dāng)時(shí)鐘頻率監(jiān)視器發(fā)現(xiàn)160 MHz和2 MHz RC振蕩器之間的頻率不匹配時(shí)置為有效。 |
4 | LOW_1P05 | 當(dāng)1.05V電源(VDD)低于系統(tǒng)控制器1.05V檢測(cè)器的低閾值時(shí)置為有效。 |
5 | HIGH_1P8 | 當(dāng)1.8V電源(VDD18)高于系統(tǒng)控制器1.8V檢測(cè)器的高閾值時(shí)置為有效。 |
6 | HIGH_2P5 | 當(dāng)2.5V電源(VDD25)高于系統(tǒng)控制器2.5V檢測(cè)器的高閾值時(shí)置為有效。 |
7 | 保留 | 保留。 |
8 | SECDED | 當(dāng)系統(tǒng)控制器的內(nèi)部存儲(chǔ)器中出現(xiàn)2位誤差時(shí)置為有效。這是導(dǎo)致POR的致命條件。 |
9 | SCB_BUS_ERROR | 當(dāng)在系統(tǒng)控制器總線上檢測(cè)到錯(cuò)誤時(shí)置為有效。 |
10 | WATCHDOG | 當(dāng)系統(tǒng)控制器的看門(mén)狗復(fù)位即將觸發(fā)時(shí)置為有效。 |
11 | LOCK_ERROR | 當(dāng)在受到持續(xù)監(jiān)視的安全鎖定段中檢測(cè)到單位或雙位誤差時(shí)置為有效。 |
12 | 保留 | 保留。 |
13 | DIGEST | 當(dāng)請(qǐng)求的摘要檢查失敗時(shí)置為有效。 |
14 | INST_BUFFER_ACCESS | 當(dāng)使用JTAG/SPI接口對(duì)系統(tǒng)控制器的共享緩沖區(qū)執(zhí)行讀/寫(xiě)訪問(wèn)時(shí),將該標(biāo)志置為有效。 |
15 | INST_DEBUG | 當(dāng)執(zhí)行調(diào)試指令時(shí)置為有效。 |
16 | INST_CHECK_DIGESTS | 當(dāng)請(qǐng)求外部摘要檢查時(shí)置為有效。 |
17 | INST_EC_SETUP | 當(dāng)使用橢圓曲線從指令時(shí)置為有效。 |
18 | INST_FACTORY_PRIVATE | 當(dāng)執(zhí)行工廠JTAG/SPI指令時(shí)置為有效。 |
19 | INST_KEY_VALIDATION | 當(dāng)請(qǐng)求密鑰驗(yàn)證協(xié)議時(shí)置為有效。 |
20 | INST_MISC | 當(dāng)執(zhí)行未分類(lèi)的SPI從指令時(shí)置為有效。 |
21 | INST_PASSCODE_MATCH | 當(dāng)嘗試匹配密碼時(shí)置為有效。 |
22 | INST_PASSCODE_SETUP | 當(dāng)啟動(dòng)一次性密碼協(xié)議時(shí)置為有效。 |
23 | INST_PROGRAMMING | 當(dāng)使用外部編程指令時(shí)置為有效。 |
24 | INST_PUBLIC_INFO | 當(dāng)發(fā)出器件公共信息請(qǐng)求時(shí)置為有效。 |
25 | 保留 | 保留。 |
26 | INST_PASSCODE_FAIL | 當(dāng)密碼匹配失敗時(shí)置為有效。 |
27 | INST_KEY_VALIDATION_FAIL | 當(dāng)密鑰驗(yàn)證失敗時(shí)置為有效。 |
28 | INST_UNUSED | 當(dāng)執(zhí)行未使用的指令操作碼時(shí)置為有效。 |
29 | BITSTREAM_AUTHENTICATION_FAIL | 當(dāng)比特流身份驗(yàn)證失敗時(shí)置為有效。 |
30 | IAP_AUTO_UPDATE | 如果發(fā)生IAP更新(通過(guò)IAP系統(tǒng)服務(wù)或在器件引導(dǎo)時(shí)自動(dòng)更新),則置為有效。 |
31 | IAP_AUTO_RECOVERY | 如果發(fā)生IAP恢復(fù)程序,則置為有效。 |
響應(yīng)與檢測(cè)同等重要。如果在單個(gè)事件、一系列事件或其中的任何事件組合發(fā)生期間,公司決定因未經(jīng)授權(quán)的篡改而采取行動(dòng),則隨著時(shí)間的推移,應(yīng)針對(duì)事件對(duì)響應(yīng)進(jìn)行調(diào)整。或者,組織可以打擊違例行為,強(qiáng)化安全部分。示例包括:
IO禁止
禁止所有用戶IO。將IO重置為由其SEU抗擾配置位定義的狀態(tài)。專(zhuān)用(JTAG、SPI和XCVR等)IO或未通過(guò)配置位配置的IO除外。只要將IO_DISABLE置為有效,即會(huì)禁止IO。
安全鎖定
所有用戶鎖都設(shè)置為其鎖定狀態(tài)。
復(fù)位
向系統(tǒng)控制器發(fā)送復(fù)位信號(hào)以開(kāi)始掉電和上電周期。
零值化
將任何或所有配置存儲(chǔ)元件清零并進(jìn)行驗(yàn)證。將內(nèi)部易失性存儲(chǔ)器(例如LSRAM、uSRAM和系統(tǒng)控制器RAM)清零并進(jìn)行驗(yàn)證。零值化完成后,可以使用JTAG/SPI從指令檢索零值化證書(shū),以確認(rèn)零值化過(guò)程成功。如果使能系統(tǒng)控制器掛起模式,則此篡改響應(yīng)不可用。用戶可以選擇在零值化后進(jìn)入兩種不同的狀態(tài):
出廠狀態(tài)——器件恢復(fù)到交付前的狀態(tài)。
不可恢復(fù)。甚至公司也無(wú)法訪問(wèn)器件的內(nèi)部。
零值化完成后,可以通過(guò)專(zhuān)用JTAG/SPI端口導(dǎo)出零值化證書(shū),向外部實(shí)體保證器件確實(shí)已執(zhí)行零值化。
在當(dāng)今競(jìng)爭(zhēng)激烈的環(huán)境中,網(wǎng)絡(luò)安全還遠(yuǎn)遠(yuǎn)不夠。公司制造的設(shè)備有可能會(huì)落入其競(jìng)爭(zhēng)對(duì)手和危險(xiǎn)分子的手中。半導(dǎo)體產(chǎn)品必須具有各種內(nèi)置的防篡改功能,組織可以利用這些功能來(lái)定制其對(duì)這些威脅的響應(yīng)。
(來(lái)源:Microchip Technology Inc.,作者:FPGA業(yè)務(wù)部技術(shù)主管Tim Morin)
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問(wèn)題,請(qǐng)聯(lián)系小編進(jìn)行處理。
推薦閱讀:
使用TMT4 PCIe性能綜合測(cè)試儀創(chuàng)建PCIe參考模板
第十七屆中國(guó)(華南)電池供應(yīng)鏈及儲(chǔ)能技術(shù)博覽會(huì)邀請(qǐng)函