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