張學軍,曹瑞滸,周寅峰,谷群遠,梅年松
(1.鹽城市質量技術監督綜合檢驗檢測中心,江蘇 鹽城 224056;2.中國科學院 上海高等研究院,上海 200120;3.中國科學院大學,北京 100049)
近年來,隨著移動通信技術的全面普及,物聯網設備的數量成幾何級增長,其已經融入了人們的日常生活。物聯網產生的信息與個人生活息息相關,聯接物聯網的設備種類多樣、型號各異,信息交互的雙方需要確保設備和身份安全可信方可建立連接。物聯網體系內的身份認證問題需要被足夠重視,物理不可克隆函數利用硬件制作過程中的隨機差異產生身份信息,提高物聯網現有設備的身份認證能力,非常適合在物聯網設備現有FPGA 芯片上部署和實現。
物聯網(Internet of Things,IoT)是物與物之間進行通信。在無人工干預下,各種傳感器和物體可以作為智能節點,彼此交換信息[1]。我國物聯網行業呈高速增長狀態,物聯網設備在智能電網[2]、醫療保健[3]及智能物流[4]等領域已得到了廣泛的應用。中商產業研究院預測,2022 年中國物聯網設備連接數將達到105 億臺。伴隨5G 商用和產業物聯網的穩定滲透,中國物聯網設備總連接量在2025 年將達到156億臺。
物聯網體系結構自下到上可分為三層:感知層、網絡層和應用層[5],如圖1 所示。感知層識別物體和采集信息,主要由嵌入式傳感器和射頻標簽(RFID)等設備形成局部網絡,對信息進行初步處理后通過各種網絡協議把信息傳遞到網絡層。網絡層是物聯網信息傳遞的傳送紐帶,利用無線和有線網絡實現互聯網與物的連接。應用層是物聯網的最頂層結構,通過云端計算力對下層數據進行整理分析,及時向用戶反饋,最終實現物與物、人與物的信息交互。物聯網與互聯網相比,數據量更大、數據更隱私、數據交換更頻繁,保護物聯網安全[6]是數據安全使用的前提。

圖1 物聯網體系結構
物聯網的三層結構決定了層與層之間、各層設備之間都需要進行身份認證。由不同傳感設備組成的物聯網,需要識別接入信息源的每個設備的身份是否可信。攻擊者可以偽裝傳感節點設備的身份,向感知層瞞報或錯報虛假信息,也可以非法俘獲并竊取節點數據信息。由于物聯網的服務器與終端設備是一對一身份認證,如果攻擊者偽造大量的終端,同時向服務器發送認證請求,導致網絡層核心網絡服務器過載,會使網絡中的信令通道發生擁塞[7],這是對物聯網網絡層常見的攻擊手段。物聯網通信前,應當先驗證用戶和設備的身份是否可信。物聯網身份認證技術為加入物聯網的設備和用戶提供安全可信的環境,是保障物聯網安全的關鍵[8]。如今,物聯網提取用戶身份的生物特征安全認證已經是司空見慣,如指紋、虹膜、面部信息等。目前對物聯網設備的身份認證,通常驗證設備預存的ID 信息,但是攻擊者可以監聽和修改ID號偽造身份,這個難題未來有望通過物理不可克隆函數(Physical Unclonable Function,PUF)來解決。
物理不可克隆函數通過硬件制造過程中的隨機差異[9],生成該芯片獨"一無二的身份信息,可用于芯片防偽、身份認證、信息加密等領域,被稱為“硬件的DNA”。芯片的身份信息在出廠前注冊錄入廠商的數據庫中[10],用戶可在數據庫中對比芯片的ID,辨別芯片身份的真假。PUF 技術具有唯一性和不可預測性,攻擊者無法制造出一模一樣的兩枚芯片,所以PUF 能為硬件設備提供最高級別的安全保護。
PUF 的實現機理不同,有非電子PUF、模擬電子PUF 和數字電子PUF。數字電子PUF 容易在嵌入式設備上實現,可分為數字存儲型PUF 電路和數字延時型PUF 電路。數字存儲型PUF 是提取存儲單元的上電初值,因芯片制造過程的差異,一些存儲元器件的上電初值隨機分布,可直接提取轉化為唯一身份信息。數字延時型PUF 信號通過在不同電路中的傳播延遲不同來實現差異提取。
現場可編程門陣列(Field Programmable Gate Array,FPGA)比普通MCU 有更多數量的I/O 接口,有更好的處理性能和能耗比,其并行處理結構更適合物聯網應用大規模高速數據傳輸的需求。目前,FPGA 在物聯網車載設備和智能家居設備上應用廣泛,是一款開發環境成熟的產品。
環形振蕩器PUF(Ring Oscillator PUF,RO PUF)通過比較信號在兩條回路中的延遲時間得到響應信息。每個回路的延遲時間受到元器件的大小、晶體管的濃度、內部和外部噪聲等參數的影響,不同芯片之間的參數由于制造工藝差異,都有所不同。組成FPGA 的數千萬個可用門電路參數各不相同,為RO PUF 提供了完美的實現條件[11]。
傳統RO PUF 中,振蕩環陣列內每個振蕩環的反相器個數是相同的。RO PUF 在輸入激勵信號后選擇兩個環形振蕩器回路,通過計數器記錄規定時間內兩個回路產生振蕩的次數,次數越大說明回路的相對延遲越低。如果第一個回路延遲時間短,則PUF 輸出響應為1,否則為0。由于振蕩環的延遲時間差異小,且容易被電路中的噪聲干擾,所以PUF 的輸出結果不穩定。PUF 在相同激勵信號下的輸出結果越相似,可靠性越高。
與傳統模型不同,混階模型每個振蕩器回路中的反相器個數不同,不同回路之間的延遲時間差異將更加明顯。在相同的規定時間內,激勵信號在階數不同的兩個環路上傳遞,計數器的結果差別很大。如果反相器個數太少時,振蕩環的工作頻率過大,計數器的結果可能超過設計的最大值。所以該設計混階模型與普通模型如圖2 所示,選擇了14、16、18 和20 個反相器構成的環形振蕩器陣列。

圖2 混階模型與普通模型
可重構環形振蕩器是對PUF 安全性的大幅改進。對于普通的環形結構振蕩器結構,每個振蕩環的振蕩周期是固定的。兩個回路之間結果可以被攻擊者記錄下,從而遍歷結果破解輸出信息。對于一個有k個振蕩環的陣列,攻擊者最多只需要比較k×(k-1)/2 種情況,就能得出PUF 內所有振蕩環兩兩比較的結果。簡單地增加振蕩環的個數非但不能提高PUF 的安全性,而且會消耗大量的硬件資源。因此,該文加入了可重構的路徑選擇器動態更新信號的振蕩回路,如圖3 所示。PUF 開始工作后,控制邏輯模塊根據激勵信號,賦予對應的振蕩環的使能信號高電平,振蕩環產生自振蕩。PUF 工作時,路徑選擇器的初始值是默認設計者自定義的,n階路徑選擇器有2n種選擇。根據路徑選擇寄存器的默認值,振蕩信號在設置的路徑上傳遞,路徑選擇器如圖4 所示。輸出響應需要多個結果,所以每次的激勵信號需要不斷更新。第a次比較結果產生后,響應值到n位暫存器的第a位。當n位暫存器填滿后,視為一次迭代完成。此時將暫存器的結果填入路徑選擇器,路徑選擇器根據產生的新信號傳遞路徑。當迭代次數達到設定值后,enable 輸入低電平信號,PUF 工作結束,最后一次暫存器內的數值就是最終響應結果。可重構環形振蕩器的特點就是能極大地豐富響應結果,降低PUF 被暴力破解的可能。

圖3 可重構環形振蕩器

圖4 含路徑選擇器的環形振蕩回路
在實際使用中,16 位響應信息是不夠的,PUF 輸出作為商品的身份ID 號有重復號碼的可能性比較大,且攻擊者可以通過暴力破解的方式尋找正確的激勵響應結果。為了得到較長的64 位身份ID 號,傳統的單RO PUF 將每次迭代的16 位響應信息輸出,直至補全64 位。這種做法會暴露每次迭代的結果,攻擊者可以根據多次迭代的結果對PUF 數學建模進行攻擊。如果在前期迭代時受到干擾,產生的響應結果不準確,后續的輸出結果也由錯誤結果生成,必然也是不準確的。因此,該設計采用圖5 中的并行架構,四組RO PUF 并行工作,規定統一的迭代次數。輸出各組最終的16 位響應信息作為最后的64位ID 號。這種方法使FPGA 硬件資源利用率更高,各組之間信息互不關聯,結果比傳統的方案更安全穩定。

圖5 單RO PUF與并行RO PUF
以混階模型RO 環作為底層處理單元,用可重構模塊進行迭代增加了結果的隨機性,最終使用4 組并行架構得到64 位響應信號,整體設計架構如圖6所示。

圖6 整體設計架構
該設計在Xilinx 的Spartan6 系列XC6SLX16-2CSG324 FPGA 開發板上進行實物測試,設計采用16 位路徑選擇器,經過三次迭代,在四個并行模塊下響應結果可以達到2192種。通過串口調試助手向PUF 發送八位激勵信號。測試時選擇了五個激勵信號,它們和對應的八位ASCII 碼分別是!(00100001)、0(00110000)、A(01000001)、M(01001101)、t(011101 00)。連續向PUF 發送十次相同的激勵信號,記錄每次的64 位響應信號。統計每組激勵響應結果產生的錯誤位數和對應的可靠性,統計情況如表1所示。

表1 各組激勵響應的錯誤位數和可靠性
實驗結果表明,響應結果的準確度最高可達到100%,最差準確度為99.69%,新混階并行RO PUF 的可靠性非常高。將該設計的效果與其他研究者設計的PUF 類型和可靠性進行對比可知,新RO PUF 結構有更高的可靠性,比較結果如表2 所示。

表2 不同PUF之間的工藝和可靠性比較
該文首先介紹了物聯網體系結構,分析在物聯網設備日益增長的時代,加強物聯網設備之間身份認證的必要性。接著分析可以使用物聯網設備上成熟的FPGA 產品,實現RO PUF。該文最后采用一種新穎的RO PUF 結構,使用混階并行的可重構模型改善PUF 的性能。該設計在Xilinx 的Spartan6 系列XC6SLX16-2CSG324 FPGA 開發板上進行測試,可靠性高達99.69%。