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

?

一種基于SRAM工藝FPGA的防克隆保護(hù)方法*

2021-07-30 08:58:52王小驥劉星江
信息安全與通信保密 2021年7期
關(guān)鍵詞:密鑰克隆特性

劉 賀,劉 瑤,楊 競,王小驥,劉星江

(中國電子科技集團(tuán)公司第三十研究所,四川 成都 610041)

0 引 言

以現(xiàn)場可編程邏輯門陣列(Field-Programmable Gate Array,F(xiàn)PGA)為核心的可編程邏輯器件(Programmable Logic Device,PLD)因具有用戶可編程和在線動(dòng)態(tài)重構(gòu)的特性,方便了電子產(chǎn)品設(shè)計(jì)的修改和升級(jí),提高了產(chǎn)品的靈活性和通用能力,縮短了產(chǎn)品的開發(fā)和上市時(shí)間,在現(xiàn)今的電子系統(tǒng)中得到廣泛的應(yīng)用和迅速的發(fā)展。

在FPGA中使用的設(shè)計(jì)和配置數(shù)據(jù)代表了系統(tǒng)中知識(shí)產(chǎn)權(quán)的重要部分,然而FPGA設(shè)計(jì)面臨著克?。–loning)、反向工程(Reverse Engineering)、篡改(Tampering)和過度構(gòu)建(Overbuildering)等威脅[1]。其中克隆是指通過復(fù)制獲得FPGA設(shè)計(jì)的相同副本,而不需要理解它是如何工作的,竊取方即可零設(shè)計(jì)成本仿造、偽造產(chǎn)品,這極大地?fù)p害了正品廠商的品牌聲譽(yù)和利益,隨著競爭變得越發(fā)激烈,F(xiàn)PGA內(nèi)部設(shè)計(jì)電路和知識(shí)產(chǎn)權(quán)的安全性成為產(chǎn)品市場化必須考慮的因素[2]。

基于靜態(tài)隨機(jī)存取存儲(chǔ)器(Static Random-Access Memory,SRAM)工藝的FPGA具有易失性,每次上電都需由外部進(jìn)行重新配置,這使得剽竊者可以輕松通過對(duì)FPGA的配置數(shù)據(jù)引腳進(jìn)行采樣,得到該FPGA的配置數(shù)據(jù)流,實(shí)現(xiàn)對(duì)FPGA內(nèi)部設(shè)計(jì)電路的克隆。

基于反熔絲等技術(shù)的FPGA芯片雖然可以很好地解決防克隆、逆向工程破解、篡改等問題,但限于如規(guī)模、成本或技術(shù)等各方面的原因,在國內(nèi)外基于SRAM工藝的FPGA仍處于主流地位。這使得對(duì)基于SRAM工藝的FPGA芯片的防克隆研究具有重要現(xiàn)實(shí)意義。

為此,本文提出一種由FPGA外置安全電路結(jié)合雜湊算法(HMAC方式)和偽隨機(jī)序列生成等技術(shù)手段進(jìn)行合法性認(rèn)證檢測來提高FPGA防克隆的安全設(shè)計(jì)方法。

1 技術(shù)理論支撐

本文綜合運(yùn)用了雜湊密碼算法的可認(rèn)證性、FPGA器件本身固有的組合電路因競爭冒險(xiǎn)現(xiàn)象而導(dǎo)致信號(hào)變化的不確定特性、線性反饋移位寄存器的簡單易于硬件實(shí)現(xiàn)特性,構(gòu)建了FPGA基于密碼的一次一認(rèn)證防克隆安全保護(hù)手段。

1.1 雜湊算法

雜湊算法可以將任意長度的消息壓縮成固定長度的摘要。給定1個(gè)消息計(jì)算其雜湊值是容易的,但是找到具有相同雜湊值的2個(gè)不同消息是困難的。除了數(shù)據(jù)壓縮、易于計(jì)算這兩個(gè)基本屬性,雜湊算法還滿足三個(gè)安全屬性:單向性(抗原像攻擊)、弱抗碰撞性(抗第二原像攻擊)、強(qiáng)抗碰撞性(抗碰撞攻擊)[3]。哈希信息驗(yàn)證碼(Keyed-Hashing for Message Authentication,HMAC)用秘密密鑰與雜湊算法結(jié)合來產(chǎn)生固定長度消息認(rèn)證碼,其安全性建立在雜湊算法基礎(chǔ)上,可用來作加密、數(shù)字簽名、報(bào)文驗(yàn)證等。

1.2 競爭與冒險(xiǎn)

信號(hào)在FPGA器件內(nèi)部通過連線和邏輯門時(shí),都有一定的延時(shí),延時(shí)的大小與連線的長短和門單元的數(shù)目有關(guān),同時(shí)還受器件的制造工藝(片與片間有物理誤差)、工作電壓(供電也有誤差)、溫度等因素的影響。在門電路中,兩個(gè)輸入信號(hào)同時(shí)向兩個(gè)相反方向的邏輯狀態(tài)轉(zhuǎn)換,即一個(gè)從低電平變?yōu)楦唠娖?,另一個(gè)從高電平變?yōu)榈碗娖剑蚍粗?,稱為競爭。由于競爭而在電路的輸出端可能產(chǎn)生尖峰脈沖的現(xiàn)象稱為冒險(xiǎn)。

數(shù)字電路設(shè)計(jì)中的競爭和冒險(xiǎn)現(xiàn)象所導(dǎo)致的不確定性是十分頭疼的問題,本文將利用這種因不確定性而導(dǎo)致的數(shù)據(jù)采樣不可預(yù)測特性來完成保護(hù)設(shè)計(jì)。

1.3 線性反饋移位寄存器

線性反饋移位寄存器是指給定前一狀態(tài)的輸出,將該輸出的線性函數(shù)再用作輸入的移位寄存器,其結(jié)構(gòu)簡單、容易實(shí)現(xiàn)、成本低、性能優(yōu),非常適合用于硬件實(shí)現(xiàn)[4],在通信系統(tǒng)中常用于構(gòu)成偽隨機(jī)數(shù)發(fā)生器。其特性通常由移位寄存器級(jí)數(shù)、初始狀態(tài)、反饋邏輯和時(shí)鐘周期等共同決定。

2 方案設(shè)計(jì)

本文在參考文獻(xiàn)[5]和文獻(xiàn)[6]的設(shè)計(jì)方法和理念基礎(chǔ)上進(jìn)行方案設(shè)計(jì),其中文獻(xiàn)[5]的方法為在CPLD和FPGA中預(yù)置8組相同的密鑰表,通過每次傳遞不同的隨機(jī)數(shù)來同步雙方密鑰選擇,使用M序列(Maximum-length Sequences,最長線性反饋移位寄存器序列)對(duì)選定的密鑰加密后由解密方確認(rèn)雙方選擇的密鑰是否一致來判定FPGA使用是否合法,該方法主要通過M序列算法安全強(qiáng)度來保證FPGA內(nèi)IP core的合法使用,可選擇的密鑰只有有限組,在M序列算法被破譯后,克隆方可通過截獲、分析線路數(shù)據(jù)并通過窮舉方式,根據(jù)規(guī)則重放模擬認(rèn)證過程。文獻(xiàn)[6]通過外置安全電路對(duì)FPGA進(jìn)行基于雜湊算法和AES算法的身份認(rèn)證、產(chǎn)權(quán)認(rèn)證的雙重認(rèn)證保護(hù),雜湊算法僅用于保護(hù)數(shù)據(jù)完整性,其FPGA身份認(rèn)證過程交互較為復(fù)雜,需要兩種算法支撐,從而額外消耗大量硬件資源,并且對(duì)外置安全芯片的安全性和性能也具有較高要求。同時(shí)其設(shè)計(jì)中以口令為輸入條件的認(rèn)證方式,只適用于具備人機(jī)接口的設(shè)備使用,應(yīng)用范圍受限。

本文在上述研究基礎(chǔ)上,以不浪費(fèi)系統(tǒng)資源、不增加系統(tǒng)開銷負(fù)擔(dān),同時(shí)考慮經(jīng)濟(jì)效益與破譯復(fù)雜度間進(jìn)行平衡為原則,在有限范圍內(nèi)保證設(shè)計(jì)安全性,達(dá)到防克隆的安全設(shè)計(jì)方法安全、可用、好用的目的,結(jié)合并繼承前述兩種安全設(shè)計(jì)方法各自的優(yōu)點(diǎn),同時(shí)進(jìn)行適當(dāng)?shù)膬?yōu)化設(shè)計(jì)。

2.1 系統(tǒng)框圖

方案的設(shè)計(jì)核心為以增加外置安全保護(hù)電路方式配合FPGA完成上電后的合法性單向認(rèn)證過程,認(rèn)證由FPGA中保護(hù)模塊和外置安全保護(hù)電路交互實(shí)現(xiàn)。需保護(hù)的IP core在上電后不能正常工作,只有對(duì)外置安全保護(hù)電路的合法性進(jìn)行認(rèn)證成功后,IP core才能獲取自身參數(shù)完成啟用過程。

同時(shí),不同于前述方案中FPGA合法性認(rèn)證成功后以單一使能信號(hào)啟用IP core的方式,本方案根據(jù)IP core的設(shè)計(jì)特性,提取其中參與完成核心功能的重要參數(shù)信息作為IP core啟動(dòng)鑰匙,在使用合法性認(rèn)證成功后,內(nèi)部控制電路將此信息傳遞給IP core以完成啟用過程,同時(shí)該參數(shù)信息作為密鑰參與認(rèn)證過程的保護(hù),將保護(hù)對(duì)象與保護(hù)過程一體化融合設(shè)計(jì)。

認(rèn)證過程利用可編程邏輯器件在應(yīng)用設(shè)計(jì)過程中的競爭與冒險(xiǎn)現(xiàn)象并結(jié)合線性反饋移位寄存器的簡單易于硬件實(shí)現(xiàn)特性,產(chǎn)生隨機(jī)特性良好的隨機(jī)數(shù)作為不可重復(fù)的認(rèn)證變量,利用雜湊算法的HMAC方式良好的基于密碼的認(rèn)證特性對(duì)認(rèn)證過程加以保護(hù),達(dá)到FPGA對(duì)外置保護(hù)電路的合法性保護(hù)。

本方案設(shè)計(jì)的系統(tǒng)框圖如圖1所示。

圖1 系統(tǒng)框圖

安全保護(hù)電路作為設(shè)計(jì)的重要部分,其自身的安全性與整體設(shè)計(jì)強(qiáng)相關(guān),以達(dá)到ASIC的安全水平為目標(biāo),綜合考慮設(shè)計(jì)成本、使用維護(hù)方便度以及該電路承載的設(shè)計(jì)實(shí)現(xiàn)復(fù)雜度較低的特點(diǎn),本方案選用上電自啟動(dòng)且難以通過物理手段進(jìn)行反向工程的CPLD或小規(guī)模反熔絲FGPA進(jìn)行設(shè)計(jì)。同時(shí)從更經(jīng)濟(jì)角度考慮,也可以與供電電池配合使用小規(guī)模SRAM工藝FPGA進(jìn)行設(shè)計(jì),在設(shè)備出廠前通過JTAG對(duì)其加載配置文件,在其使用生命周期內(nèi)由電池維護(hù)其內(nèi)部程序,無需重新加載,同樣可具備較好的安全特性。

隨機(jī)序列生成模塊實(shí)現(xiàn)認(rèn)證過程隨機(jī)數(shù)據(jù)生成功能,其根據(jù)使用環(huán)境的電壓、溫度等環(huán)境特性結(jié)合各類芯片個(gè)體固有的物理差異特性,保證每次認(rèn)證過程中FPGA使用該模塊自主生成不可預(yù)測、不重復(fù)的隨機(jī)數(shù)據(jù),防止克隆方采集線路數(shù)據(jù)重放以仿冒認(rèn)證過程。

IP core參數(shù)存儲(chǔ)模塊對(duì)IP core的核心功能要素進(jìn)行抽象提取,在認(rèn)證過程充當(dāng)認(rèn)證保護(hù)密鑰,在認(rèn)證成功后作為啟用鑰匙輔助完成IP core的功能啟用。

雜湊算法模塊承擔(dān)認(rèn)證過程校驗(yàn)值計(jì)算功能,使用其HMAC方式,以IP core中抽取的核心參數(shù)作為密鑰,進(jìn)行認(rèn)證數(shù)據(jù)的完整性及可認(rèn)證性保護(hù),以基于密碼的安全特性保證安全保護(hù)電路的合法性。在設(shè)計(jì)驗(yàn)證時(shí)使用國家密碼管理局發(fā)布的SM3雜湊算法,其安全性和效率與SHA-256相當(dāng),實(shí)際使用時(shí)可根據(jù)情況簡化設(shè)計(jì),在一定安全范圍內(nèi)降低算法的實(shí)現(xiàn)規(guī)模。

安全保護(hù)電路內(nèi)部的隨機(jī)序列檢測模塊,在內(nèi)部保存多組已認(rèn)證過的隨機(jī)數(shù),對(duì)新啟用的隨機(jī)數(shù)進(jìn)行重復(fù)性檢測,檢測到重放數(shù)據(jù)則終止認(rèn)證過程。

FPGA內(nèi)部的合法性驗(yàn)證模塊將FPGA計(jì)算生成的校驗(yàn)碼與安全保護(hù)電路生成的校驗(yàn)碼進(jìn)行一致性校驗(yàn)比對(duì),通過后由安全控制電路提取IP core參數(shù),使能IP core的全部功能。

2.2 工作流程

本方案的工作流程如圖2所示。

圖2 工作流程

認(rèn)證交互流程:

(1)FPGA上電后,通過隨機(jī)序列生成模塊發(fā)送隨機(jī)序列1。

(2)安全保護(hù)電路檢測隨機(jī)數(shù)是否重復(fù),如不重復(fù)使用自身的隨機(jī)序列生成模塊生成隨機(jī)序列2,使用IP core參數(shù)和雜湊算法的HMAC方式計(jì)算序列1、2的雜湊值,將隨機(jī)序列2與雜湊值發(fā)送給FPGA。

(3)FPGA接收隨機(jī)序列2后,以同樣方式計(jì)算序列1、2的雜湊值與安全保護(hù)電路雜湊值進(jìn)行比對(duì)。

(4)校驗(yàn)成功,則FPGA釋放IP core參數(shù),使能IP core。

3 關(guān)鍵模塊的設(shè)計(jì)實(shí)現(xiàn)

本方案中由FPGA內(nèi)部電路產(chǎn)生良好隨機(jī)性的隨機(jī)數(shù),設(shè)計(jì)簡單、易于實(shí)現(xiàn),不占用過多的硬件資源,是該安全保護(hù)方法安全性保障及設(shè)計(jì)可用性的重要一環(huán)。本方案設(shè)計(jì)的隨機(jī)數(shù)由一個(gè)5級(jí)和一個(gè)7級(jí)的純組合邏輯實(shí)現(xiàn)的LFSR抽頭異或后由外部時(shí)鐘采樣生成,利用了組合電路的競爭冒險(xiǎn)現(xiàn)象,并結(jié)合電子器件信號(hào)受外界環(huán)境影響和自身固有物理差異,對(duì)單FPGA芯片而言,每次上電時(shí),因FPGA芯片所處環(huán)境的溫度、氣壓等因素都會(huì)有所波動(dòng),導(dǎo)致門電路的延時(shí)特性在每次上電時(shí)都有些微差異,而單LFSR模塊為完全由門電路組成的組合電路,其抽頭輸出數(shù)據(jù)與門電路的時(shí)延特性密切相關(guān),因此在確定的時(shí)鐘域上具有不可預(yù)測性,隨著反饋級(jí)數(shù)的增加,這種不可預(yù)測性更加明顯,當(dāng)由固定時(shí)鐘對(duì)生成的數(shù)據(jù)采樣時(shí),因被采樣數(shù)據(jù)與該時(shí)鐘對(duì)應(yīng)的頻率和相位均具有不確定性,因此產(chǎn)生了一個(gè)難以預(yù)測的序列,當(dāng)兩種不同級(jí)數(shù)LFSR產(chǎn)生的隨機(jī)序列通過異或門電路使用后將放大這種不確定性,確保了每次上電生成的隨機(jī)數(shù)具有不重復(fù)的特性,而對(duì)不同型號(hào)FPGA或同一型號(hào)內(nèi)的不同個(gè)體而言,因工藝水平和制作工藝本身的誤差,導(dǎo)致不同F(xiàn)PGA芯片內(nèi)部電路物理特性不一致,確保了FPGA個(gè)體間生成的隨機(jī)序列具有不重復(fù)特性。隨機(jī)序列生成模塊電路設(shè)計(jì)如圖3、圖4所示。

圖3 組合邏輯實(shí)現(xiàn)5級(jí)LFSR模塊

圖4 隨機(jī)序列生成模塊

本設(shè)計(jì)在Xilinx公司xc2v1000器件環(huán)境下,利用其輔助ChipScope工具多次抓取的隨機(jī)數(shù)生成實(shí)測結(jié)果,如圖5所示,生成的隨機(jī)數(shù)符合一次一變不重復(fù)的特性。

圖5 隨機(jī)序列采集結(jié)果

4 安全性分析

(1)防仿冒攻擊。FPGA對(duì)外置保護(hù)電路實(shí)行單向身份合法性認(rèn)證,通過雙方共享的IP core參數(shù)作為保護(hù)密鑰,用于認(rèn)證數(shù)據(jù)生成,第三方在不能獲取密鑰數(shù)據(jù)的情況下,依據(jù)雜湊算法HMAC方式的密碼保護(hù)特性,其無法通過偽造認(rèn)證數(shù)據(jù)方式通過FPGA的合法性認(rèn)證判斷。

(2)抗重放攻擊。FPGA每次認(rèn)證開始時(shí)根據(jù)應(yīng)用環(huán)境特點(diǎn)由內(nèi)部電路產(chǎn)生隨機(jī)數(shù),第三方無法控制FPGA生成隨機(jī)數(shù)的隨機(jī)特性或掌握其生成規(guī)律,因而認(rèn)證數(shù)據(jù)具有一次一變特性,任何對(duì)線路上截取的過往認(rèn)證數(shù)據(jù)的重放都與FPGA當(dāng)前產(chǎn)生的隨機(jī)數(shù)據(jù)不一致,F(xiàn)PGA對(duì)非當(dāng)前使用隨機(jī)數(shù)生成的認(rèn)證數(shù)據(jù)均判定為非法數(shù)據(jù),導(dǎo)致認(rèn)證失敗。同時(shí)外置保護(hù)電路也以同樣機(jī)制產(chǎn)生新隨機(jī)數(shù)參與認(rèn)證計(jì)算,并對(duì)FPGA產(chǎn)生的隨機(jī)數(shù)進(jìn)行重復(fù)性檢測,輔助增強(qiáng)了設(shè)計(jì)的抗攻擊能力。

(3)防窮舉攻擊。認(rèn)證過程中由FPGA內(nèi)部電路生成的隨機(jī)數(shù)長度以4字節(jié)為例,其變化量達(dá)到232=4294967296,多種可能的變化使得第三方無法通過窮舉截取線路數(shù)據(jù)的方式來偽造認(rèn)證過程,同時(shí)通過適當(dāng)調(diào)整隨機(jī)數(shù)長度可達(dá)到更高的保護(hù)效能。

(4)防篡改攻擊。消息認(rèn)證碼基于密碼算法生成,其保護(hù)范圍為FPGA和外置保護(hù)電路各自產(chǎn)生的隨機(jī)數(shù)據(jù),對(duì)線路傳輸?shù)娜魏螖?shù)據(jù)的改動(dòng)都將導(dǎo)致認(rèn)證過程失敗。

(5)可用性。本方案設(shè)計(jì)的認(rèn)證過程簡單、實(shí)用、高效,通過二次握手即可完成FPGA對(duì)外置保護(hù)電路的合法性認(rèn)證;雙方交互的數(shù)據(jù)量小,在滿足安全性需求的條件下,隨機(jī)序列長度取4字節(jié),消息認(rèn)證碼取8字節(jié),則一次認(rèn)證過程的通信開銷只有16字節(jié);代碼實(shí)現(xiàn)簡單,綜合考慮破譯難度和經(jīng)濟(jì)成本間的平衡,保護(hù)方案只使用易于硬件實(shí)現(xiàn)的LFSR以及實(shí)現(xiàn)復(fù)雜度較低的雜湊算法,在滿足第三方對(duì)認(rèn)證過程的破譯成本與IP core的開發(fā)成本相當(dāng)?shù)那疤嵯?,可使用?fù)雜度更低的雜湊算法以降低對(duì)硬件資源的開銷,本設(shè)計(jì)使用簡易、低成本的電路和芯片即可完成外置保護(hù)電路的功能。

5 結(jié) 語

本文分析了基于SRAM工藝FPGA設(shè)計(jì)中包含的知識(shí)產(chǎn)權(quán)存在被克隆風(fēng)險(xiǎn)產(chǎn)生的原因及可能造成的嚴(yán)重?fù)p失。通過設(shè)計(jì)外置安全保護(hù)電路方式,利用FPGA器件固有的物理差異及環(huán)境敏感特性產(chǎn)生一次一變的隨機(jī)數(shù)據(jù),結(jié)合雜湊算法HMAC方式的可認(rèn)證性,設(shè)計(jì)了對(duì)該類型FPGA的IP core通過一次一密認(rèn)證成功后才能正常工作的防克隆保護(hù)方法。設(shè)計(jì)僅需額外增加簡易且低成本的外圍電路資源,易于工程實(shí)現(xiàn),安全性較高,具有良好的實(shí)用價(jià)值。

猜你喜歡
密鑰克隆特性
探索企業(yè)創(chuàng)新密鑰
克隆狼
谷稗的生物學(xué)特性和栽培技術(shù)
浙江:誕生首批體細(xì)胞克隆豬
密碼系統(tǒng)中密鑰的狀態(tài)與保護(hù)*
色彩特性
流行色(2020年9期)2020-07-16 08:08:54
進(jìn)一步凸顯定制安裝特性的優(yōu)勢 Integra DRX-5.2
一種對(duì)稱密鑰的密鑰管理方法及系統(tǒng)
基于ECC的智能家居密鑰管理機(jī)制的實(shí)現(xiàn)
Quick Charge 4:什么是新的?
CHIP新電腦(2017年6期)2017-06-19 09:41:44
乌鲁木齐市| 肥城市| 缙云县| 泗水县| 山西省| 中方县| 景东| 秭归县| 青铜峡市| 丽水市| 荔浦县| 新龙县| 丰镇市| 颍上县| 嘉鱼县| 咸宁市| 长垣县| 江津市| 三亚市| 邓州市| 丰县| 清原| 资源县| 双鸭山市| 镇赉县| 九龙县| 明溪县| 昭苏县| 湖南省| 保亭| 武平县| 剑川县| 桓仁| 手机| 招远市| 高雄市| 富裕县| 连江县| 金坛市| 准格尔旗| 视频|