国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于線性無關矩陣的按需解鎖硬件混淆方法

2022-05-11 08:27:40汪鵬君葉順心張躍軍張會紅
電子學報 2022年3期
關鍵詞:狀態(tài)機黑洞密鑰

汪鵬君,葉順心,張躍軍,張會紅

1 引言

隨著集成電路規(guī)模不斷擴大,單塊芯片上集成的IP 核數(shù)量日益增多. 例如人工智能芯片已集成多個IP(Intellectual Property)核:中央處理器、圖像處理器、神經(jīng)網(wǎng)絡處理器、專用集成電路、現(xiàn)場可編程門陣列、神經(jīng)元進程處理器等[1]. 為縮短研發(fā)周期,芯片設計方通常直接購買商業(yè)IP 核實現(xiàn)部分模塊功能. 但隨之而來的問題是芯片安全在全球供應鏈中頻繁受到各種威脅. 此外,由于商業(yè)IP 核的盜版現(xiàn)象,合法的集成電路公司每年虧損約數(shù)億美金的全球利潤. 因此保護芯片制造供應鏈中IP 核的安全已經(jīng)越來越受到集成電路領域的重視[2]. 同時由于芯片設計中IP 核數(shù)量的增多與模塊的細分,產(chǎn)生了按需解鎖的市場需求.

現(xiàn)存硬件IP 保護方法主要分為兩大類,即基于認證的保護方法和基于混淆的保護方法.Sarkar等[3]提出在數(shù)字信號處理器(Digital Signal Processor,DSP)中植入難以擦除的“數(shù)字水印”或者認證簽名以辨別真?zhèn)?這種水印是一個或多個輸入輸出激勵對,在正常工作情況下難以被發(fā)現(xiàn),只有當輸入特定序列時才會被激活,且僅在IP設計者利益受到侵害時才判定IP所有權,不能主動防御硬件IP 的盜版攻擊或逆向工程. 基于混淆的IP 保護方法中,Yousra 等[4]提出用遠程激活的方式管理IP 核,利用有限狀態(tài)機的單個狀態(tài)復制和物理不可克隆模塊實現(xiàn)硬件加密. Chakraborty 等[5]提出一種網(wǎng)表級混淆技術,可同時實現(xiàn)混淆和驗證. Bhunia等[6]提出基于密鑰混淆控制和數(shù)據(jù)流低開銷的寄存器傳輸級硬件IP 保護技術,將RTL(Register Transfer Lev?el)代碼轉換成狀態(tài)控制和數(shù)據(jù)流圖,實現(xiàn)有限狀態(tài)機的硬件混淆.Zhang等[7]提出基于物理不可克隆函數(shù)-有限狀態(tài)機(Physical Unclonable Function-Finite State Ma?chine,PUF-FSM)的硬件混淆,對FPGA(Field Program?mable Gate Array)的IP 核進行保護,并實現(xiàn)Pay-Per-De?vice 的強制付費許可機制. 之后,Zhang 等[8]又提出實用的邏輯混淆(Practical Logic Obfuscation,PLO)技術,以低開銷實現(xiàn)電路網(wǎng)表級保護. 以上硬件混淆方法都是通過在狀態(tài)機中加入冗余狀態(tài),防止電路初始化后直接進入正常工作模式,但是當電路進入正常工作模式便失去保護. Dofe 等[9]提出一種基于黑洞狀態(tài)的狀態(tài)機混淆方法,在電路復位后直接進入正常初始狀態(tài),而沒有考慮初始化信息泄露的問題. 以上基于冗余或者黑洞狀態(tài)混淆的加密方法忽略了團隊成員泄密的威脅. 張等[10]提出利用矩陣正交的方法加密多個硬件IP核,以降低團隊成員泄密的威脅. 但是利用控制模塊的正交運算所得密鑰不具有唯一性.Sun等[11]提出一種按需解鎖FPGA 硬件IP 的方法,能夠有效防御惡意攻擊,但不能直接應用于專用集成電路.

鑒此,本文提出一種基于線性無關矩陣的按需解鎖硬件混淆方法. 該方法既能隱藏電路初始化信息,又能提高狀態(tài)機正常工作模式的安全性. 在實現(xiàn)多硬件IP 核按需解鎖功能時,能以較小的硬件開銷達到防御多種攻擊的目的.

2 線性無關矩陣與信號折疊分組

2.1 線性無關矩陣

在線性代數(shù)中,若向量組的任意一個向量都不能由其他幾個向量線性表示,則稱這組向量線性無關[10].如式(1)所示,有m個n維向量,若只能找到唯一常量組k1=k2=…=km-1=km=0 使式(2)成立,則向量α1,α2,…,αm之間線性無關.

將式(1)的向量組合成矩陣Am×n=[α1,α2,…,αm]T,稱該矩陣為線性無關矩陣. 矩陣Am×n與另一向量Bn×1相乘得內(nèi)積Cn×1,稱該運算為矩陣乘運算. 若已知矩陣A與內(nèi)積C求解向量B,則當矩陣Am×n的秩(矩陣中線性無關行向量的極大數(shù)目)大于n時B不存在;當秩等于n時可得唯一向量B;當秩小于n時可得無數(shù)個向量B. 未知向量B的求解數(shù)量R如式(3)所示,rank表示矩陣的秩.

由此得到式(4)所示的基于線性無關矩陣的解鎖方法. 該方法將線性無關的n階矩陣A植入芯片,與用戶輸入密鑰序列K相乘,得到向量O,然后經(jīng)信號折疊分組解鎖IP 核,故外部輸入密鑰并不是解鎖IP 核的直接匹配對象,即線性無關矩陣有效阻隔外部輸入密鑰和解鎖信號.

On×1=An×n?Kn×1(4)

2.2 線性無關矩陣算法

隨機線性無關矩陣能防御芯片的非法復制,因此可利用單位矩陣的逆向初等行變換,得算法1所示的線性無關矩陣算法. 該算法首先生成n階單位矩陣Hn×n,然后循環(huán)D次如下步驟:(1)隨機生成兩個常量t和s;(2)隨機選取H中一行向量α,將其所有元素乘以t;(3)隨機選取H中兩行向量β和γ,將β乘以s并與γ相加取代γ向量;(4)隨機互換H中兩行向量. 最后輸出線性無關矩陣A.

2.3 信號折疊分組

因為矩陣元素在芯片設計中以二進制表示,所以矩陣乘運算結果非常冗長. 為縮短解鎖信號位數(shù),可將式(4)中On×1向量的元素折疊分組. 圖1 給出了利用異或門對向量單個元素a2進行折疊分組的方法. 由于元素a2的高位為0,有效信息集中于低位,所以可按順時針將源信號折疊成短位數(shù)信號. 折疊后的信號被分為校驗信號Q與冗余跳轉密鑰P. 校驗信號為解鎖對應IP核的使能信號,冗余跳轉密鑰能使狀態(tài)機經(jīng)過冗余狀態(tài)進入正常狀態(tài). 為使外部輸入密鑰具有唯一性,通過校驗模塊輸出黑洞密鑰Ci. 該模塊首先判定Q的正確性,正確則繼續(xù)判定冗余跳轉密鑰P的正確性;否則跳過本次判定. 所有判定都正確則輸出黑洞密鑰Ci冗余跳轉密鑰和黑洞密鑰共同組成IP核的解鎖信號.

圖1 信號折疊分組

3 按需解鎖硬件混淆設計

芯片設計中IP 核數(shù)量增多與模塊細分,為按需解鎖提供應用背景[12]. 根據(jù)市場或不同客戶的需求,芯片設計方可設計多個混淆功能模塊并購買一定數(shù)量混淆后的IP 核實現(xiàn)不同需求的芯片. 設計方在售賣芯片給終端用戶時,可以按需解鎖相對應的IP核或功能模塊.

3.1 冗余-黑洞狀態(tài)混淆方法

為防御IP 供應鏈中的狀態(tài)機破解,提出圖2 所示的結合冗余狀態(tài)和黑洞狀態(tài)的硬件混淆方法. 冗余狀態(tài)為添加到原始狀態(tài)機初始狀態(tài)前的多個狀態(tài),在電路進入正常狀態(tài)前起保護作用;黑洞狀態(tài)為添加到原始狀態(tài)機周圍的多個單向跳轉狀態(tài),在電路進入正常狀態(tài)后發(fā)揮防護效果. 當上電或者復位后,電路初始化狀態(tài)為冗余狀態(tài)RS0. 讀取冗余跳轉密鑰后,狀態(tài)機判定密鑰是否與P0、P1、P2對應,是則跳轉到正常初始狀態(tài)S0,否則進入冗余狀態(tài)跳轉循環(huán). 冗余狀態(tài)能防止攻擊者不斷復位以獲得正確狀態(tài)機的運行信息. 為防止攻擊者通過置位狀態(tài)機寄存器使電路跳過冗余狀態(tài)直接工作于正常狀態(tài),故在正常狀態(tài)周圍設計單方向跳轉的黑洞狀態(tài)Bi、Bi′或Bi″. 當狀態(tài)機進入正常工作模式,在每個時鐘上升沿采樣黑洞密鑰C1,若C1不正確則狀態(tài)機跳轉到環(huán)繞于正常狀態(tài)周圍的黑洞狀態(tài). 根據(jù)C1不同錯誤情況,狀態(tài)機跳轉進入Bi、Bi′或Bi″,一旦跳轉進入黑洞狀態(tài)將不可逆,即電路只會在多個黑洞狀態(tài)間跳轉而不能重新進入正常狀態(tài). 為實現(xiàn)冗余-黑洞狀態(tài)混淆,可針對RTL代碼進行修改. 首先在代碼端口聲明處添加冗余跳轉密鑰P和黑洞密鑰Ci,并聲明利用格雷碼編碼的冗余狀態(tài)和黑洞狀態(tài);然后修改電路初始化狀態(tài)為冗余狀態(tài)RS0;最后將密鑰信號設置為狀態(tài)機跳轉判定條件.

圖2 冗余-黑洞狀態(tài)混淆

3.2 按需解鎖硬件結構

具有按需解鎖功能的硬件結構包括密鑰向量輸入端口、線性無關矩陣存儲模塊、矩陣乘模塊、信號折疊分組模塊、解鎖信號寄存器組和IP 核. 圖3為按需解鎖多IP 結構. 隨機生成的線性無關矩陣與外部輸入密鑰向量在矩陣乘模塊中進行運算. 所得二進制信號進入信號折疊分組模塊進行壓縮,并且生成冗余跳轉密鑰與黑洞密鑰.IP 核讀取密鑰,使狀態(tài)機進入冗余循環(huán)、黑洞循環(huán)或者正常工作模式,實現(xiàn)按需解鎖功能.

圖3 多IP核按需解鎖結構

3.3 按需解鎖交互協(xié)議

交互協(xié)議表示設計團隊、晶圓廠以及用戶之間的芯片與密鑰傳遞方案. 嚴格遵守交互協(xié)議可有效減少不必要的商業(yè)損失. 圖4為按需解鎖交互協(xié)議. 設計方(Design House,DH)將設計分成N個模塊交由N個設計者完成或從第三方IP 發(fā)布者購買商業(yè)IP. 設計者或IP 發(fā)布者向原始狀態(tài)機添加隨機數(shù)量冗余狀態(tài)和黑洞狀態(tài),同時生成對應的冗余跳轉密鑰以及黑洞密鑰作為單個IP 核的解鎖信號投入到密鑰數(shù)據(jù)庫. 設計方利用算法生成隨機的線性無關矩陣,將N個模塊設計成整體,經(jīng)由前端和后端各流程產(chǎn)生GDSII(Geometry Da?ta Standard II)文件交由晶圓廠代工并封裝. 用戶根據(jù)設計方發(fā)布的功能清單選擇所需要的功能模塊,并將勾選清單和購買資金交給設計方. 設計方依據(jù)清單,從密鑰數(shù)據(jù)庫中計算按需解鎖的密鑰數(shù)據(jù)包,并生成芯片正確工作的狀態(tài)信息交由用戶. 用戶將密鑰數(shù)據(jù)包輸入芯片后,獲取穩(wěn)定的芯片工作數(shù)據(jù)信息. 工作數(shù)據(jù)信息并沒有明確的對應關系,且無法由此推算到具體內(nèi)部情況. 用戶將讀取到的芯片工作數(shù)據(jù)信息和設計方所提供正確信息對比,判定是否成功解鎖.

圖4 按需解鎖交互協(xié)議

4 實驗結果與分析

在SMIC 65nm CMOS(Complementary Metal Oxide Semiconductor)工藝下,利用線性無關矩陣和冗余-黑洞狀態(tài)混淆方法,對多硬件IP 核進行加密并增加按需解鎖功能,同時利用VCS、Design Compiler、TetraMAX 等EDA(Electronic Design Automation)工具進行開銷與安全性數(shù)據(jù)分析. 圖5 給出了64 位密鑰按需解鎖4 個IP核的仿真波形圖. 為方便觀測,在電路設計中引出IP1234信號判定是否解鎖成功. 在經(jīng)過初始化、矩陣乘運算等步驟后,電路根據(jù)外部輸入的密鑰Key按需解鎖對應的IP核,其中“1111”表示四個IP核全部解鎖成功.

圖5 按需解鎖仿真波形

4.1 開銷分析

圖6 面積開銷

使用ITC(International Test Conference)系列基準電路與密碼算法IP核設計電路,并統(tǒng)計面積與功耗開銷.為模擬按需解鎖功能的多IP 核環(huán)境,將ITC 系列基準電路進行組合. 例如CB0表示按需解鎖ITC 系列b01到b09 的9 個基準電路,CB1 表示b01 到b10 的10 個基準電路,以此類推,CB13 即為按需解鎖ITC 系列b01 到b22 的22 個基準電路. 圖6 為所設計電路的面積開銷,以256 位密鑰為例,隨著IP 核數(shù)量由9 個增加到22 個,其總面積由19768.28 μm2增大到191166.80 μm2,但是其額外面積開銷占比卻從72.79%減小到7.53%. 同理32 位、64 位和128 位密鑰情況下,額外面積開銷占比都隨IP 核數(shù)量增加而降低. 由于相同IP 核數(shù)量下,更長密鑰需要更大線性無關矩陣,所以密鑰由32 位增加到256 位,額外面積開銷由1.59%增大到7.53%. 圖7 為所設計電路的功耗開銷,同樣以256 位密鑰為例,隨著IP核數(shù)量由9個增加到22個,其總功耗由1.2738 mW增大到11.2463 mW,但是額外的功耗開銷占比從68.61%減小到7.77%. 同理在相同位密鑰情況下,額外功耗開銷隨密鑰位數(shù)增加而增大. 表1 給出了按需解鎖加密算法IP 核所測得開銷,以Camellia、MISTY1_1clk、SEED_3clk、TDEA 和SHA256 加密算法(分別以E1~E5 表示)的遞增組合作為基準電路實現(xiàn)按需解鎖. 表中EA(En?cryption Algorithm)表示加密算法IP 核,RBA(Redun?dant and Black- Hole States Area)表示添加冗余與黑洞狀態(tài)所增加的面積,LIMA(Linear Independent Matrix Area)表示植入線性無關矩陣所增加面積,TA(Total Ar?ea)表示總面積,PA(Percent Area)表示額外面積占比,RBP(Redundant and Black-hole states Power)表示添加冗余與黑洞狀態(tài)后所增加的功耗,LIMP(Linear Inde?pendent Matrix Power)表示植入線性無關矩陣所增加功耗,TP(Total Power)表示總功耗,PP(Percent Power)表示額外功耗占比. 額外面積與功耗開銷主要由黑洞與冗余狀態(tài)、線性無關矩陣存儲模塊和矩陣乘模塊組成.對于大規(guī)模加密算法,這三部分開銷相對變化較小. 所以隨著IP 核數(shù)量和規(guī)模的增大,額外面積和功耗開銷占比呈減小趨勢. 總之,當芯片規(guī)模足夠大時,實現(xiàn)按需解鎖功能造成的額外開銷占比可以忽略.

圖7 功耗開銷

表1 按需解鎖加密算法IP核所測得開銷

4.2 安全性分析

集成電路產(chǎn)業(yè)在全球化供應鏈中不斷受到各種攻擊威脅[13,14],本文將根據(jù)抗寄存器翻轉攻擊,抗代碼覆蓋率攻擊和抗成員泄密攻擊等指標闡述其安全性.

4.2.1 抗寄存器翻轉攻擊

攻擊者可利用EDA 工具觀察電路內(nèi)部線網(wǎng)或寄存器的翻轉情況以辨別當前狀態(tài)是否有效,因此可以使用寄存器狀態(tài)翻轉差異作為抗寄存器翻轉攻擊的評價指標. 若輸入正確與錯誤密鑰時,寄存器狀態(tài)翻轉差異較大,則攻擊者可多次輸入激勵觀察響應并總結寄存器狀態(tài)翻轉規(guī)律,最終破獲芯片密鑰. 基于線性無關矩陣的按需解鎖硬件混淆設計在輸入錯誤密鑰時,狀態(tài)機并未固定在某個冗余或黑洞狀態(tài). 當冗余跳轉密鑰錯誤時,狀態(tài)機在多個冗余狀態(tài)間跳轉. 當正常工作模式時黑洞密鑰錯誤,狀態(tài)機在多個黑洞狀態(tài)間跳轉. 故輸入正確與錯誤密鑰時寄存器狀態(tài)翻轉情況接近. 實驗中利用自動測試激勵生成工具TetraMax 產(chǎn)生激勵信號,統(tǒng)計寄存器狀態(tài)翻轉情況,結果如圖8所示,狀態(tài)翻轉差異為3%,表明所提方法能夠有效抵御以觀察寄存器狀態(tài)翻轉為基礎的硬件密鑰攻擊.

圖8 正確/錯誤密鑰下的狀態(tài)翻轉

4.2.2 抗代碼覆蓋率攻擊

代碼覆蓋率為仿真過程中,RTL代碼經(jīng)過一定數(shù)量的激勵輸入所能達到的狀態(tài)機覆蓋率、狀態(tài)跳轉覆蓋率、行覆蓋率、條件分支覆蓋率等的總和. 在RTL代碼作為軟核交易時,若狀態(tài)機始終保持在某個狀態(tài),無法過渡到其他狀態(tài),則代碼覆蓋率低,攻擊者可通過比較不同密鑰輸入下的代碼覆蓋率識別真正的功能模塊電路. 圖9給出了混淆前后代碼覆蓋率,其中DC1為ITC系列b01~b09基準電路組合成按需解鎖電路,DC2為ITC系列b01~b10基準電路,以此類推,DC13為ITC系列b01~b22基準電路.基于線性無關矩陣的按需解鎖電路與原始電路代碼覆蓋率差異隨著密鑰長度增加而增大,但在256位密鑰長度下,平均差異性仍然小于5%,所以所提方法能有效避免混淆狀態(tài)跳轉不均導致的信息泄漏.

圖9 代碼覆蓋率

4.2.3 抗成員泄密攻擊

芯片規(guī)模的擴大使單人或單一團隊完成芯片設計變得非常困難. 芯片設計方在制定方案時通常會將芯片切分成幾個大模塊交由不同團隊設計,而團隊內(nèi)部又把大模塊切分成小模塊交由小團隊設計. 分工協(xié)作使設計效率上升,但同時也會產(chǎn)生成員泄密的威脅. 因為常規(guī)加密方法是將密鑰長度為M的設計劃分為I個模塊交由不同團隊設計,每個團隊平均分配M/I位密鑰長度. 若I個團隊中有x個成員泄露密鑰,則剩余密鑰被破解時間Y可由式(5)表示,其中T為嘗試破解一次密鑰的時間.

以256 位密鑰加密為例,平均分配給16 個設計團隊,其破解時間與泄密團隊成員數(shù)的關系如圖10 三角形線所示. 破解時間按式(6)進行歸一化處理,在團隊中出現(xiàn)成員泄密時,歸一化的破解時間趨向于零,對成員泄密攻擊沒有抵抗力. 若根據(jù)式(4),利用線性無關矩陣將外部輸入密鑰與內(nèi)部解鎖信號隔離,則當有成員泄露自己團隊設置的解鎖信號時,攻擊者很難由已泄露的解鎖信號反推外部輸入密鑰,在應對暴力破解時幾乎不會受到成員密鑰泄露的影響,如圖10 矩形線所示. 因此利用線性無關矩陣的加密方法能夠有效抵抗成員泄密攻擊.

圖10 成員泄密后被破解時間

4.3 與相關文獻對比

表2 為基于線性無關矩陣的按需解鎖硬件混淆方法(Method of Unlock-on-Demand Hardware Obfuscation Based on Linear Independent Matrix,UDLIM)與其他硬件IP 核保護技術在面積、功耗和安全性等方面的比較結果.UDLIM 方法的額外面積開銷占比和額外功耗開銷占比僅為7.53%和7.77%,且增加了按需解鎖(Un?lock-on-Demand,UoD)多個硬件IP 核功能,并能有效抵抗代碼覆蓋率攻擊(Code Coverage Attack,CCA)、成員泄密攻擊(Member Information Leakage Attack,MILA)、以及寄存器翻轉攻擊(Register Toggle Attack,RTA).

表2 與相關文獻對比結果

5 結論

本文提出了一種利用線性無關矩陣、冗余和黑洞狀態(tài)混淆的多IP 核按需解鎖方案,有效隔離了解鎖信號和外部輸入密鑰的關聯(lián),克服了狀態(tài)機初始化信息泄露以及正常工作模式下無保護的問題. 與多種混淆方法對比,所設計的電路不僅具有按需解鎖的功能,且額外的面積和功耗開銷均小于8%;在不同長度密鑰輸入情況下,寄存器翻轉差異為3.65%,混淆前后RTL 代碼的覆蓋率平均差異小于5%,可同時防御寄存器翻轉攻擊,代碼覆蓋率攻擊和成員泄密攻擊. 為多IP 核按需解鎖的市場需求提供解決途徑,具有廣闊應用前景.

猜你喜歡
狀態(tài)機黑洞密鑰
探索企業(yè)創(chuàng)新密鑰
HAYDON黑洞
密碼系統(tǒng)中密鑰的狀態(tài)與保護*
基于有限狀態(tài)機的交會對接飛行任務規(guī)劃方法
5500萬光年之外的“黑洞”,是如何被拍到的
黑洞什么樣,有圖有真相
一種對稱密鑰的密鑰管理方法及系統(tǒng)
基于ECC的智能家居密鑰管理機制的實現(xiàn)
電信科學(2017年6期)2017-07-01 15:45:06
黑洞思
FPGA設計中狀態(tài)機安全性研究
黑龍江科學(2011年2期)2011-03-14 00:39:36
陆川县| 香格里拉县| 交城县| 东兴市| 齐河县| 缙云县| 扬州市| 丰城市| 郑州市| 如东县| 霍邱县| 镇安县| 肥东县| 阿克苏市| 台江县| 德清县| 普格县| 长岭县| 灵宝市| 册亨县| 隆化县| 兴山县| 炉霍县| 碌曲县| 奎屯市| 鞍山市| 锡林郭勒盟| 桐城市| 大城县| 吴忠市| 清新县| 吉安县| 贺州市| 天镇县| 巨野县| 新乐市| 高唐县| 晴隆县| 会泽县| 锡林郭勒盟| 勐海县|