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

?

基于PUF的JTAG安全認(rèn)證架構(gòu)

2022-06-23 10:59李校南劉燕江
關(guān)鍵詞:攻擊者密鑰調(diào)試

王 凱,李校南,劉燕江,陳 韜,李 偉

(1.信息工程大學(xué) 信息安全重點(diǎn)實(shí)驗(yàn)室,河南 鄭州 450001;2.96901部隊(duì),北京 100094)

0 引 言

隨著半導(dǎo)體和集成電路技術(shù)的發(fā)展,SoC(system on chip)通過(guò)將通用處理器、系統(tǒng)總線、接口和存儲(chǔ)等模塊集成到單顆芯片中,能夠獨(dú)立搭建一個(gè)完整的片上系統(tǒng),滿足用戶多樣化的應(yīng)用需求,已經(jīng)成為了當(dāng)前信息系統(tǒng)的核心部件[1]。JTAG(joint test action group)作為一種國(guó)際標(biāo)準(zhǔn)調(diào)試協(xié)議(IEEE1149.1)在芯片測(cè)試和系統(tǒng)調(diào)試中受到了廣泛應(yīng)用。如果對(duì)所有用戶開放SoC的JTAG調(diào)試權(quán)限,必然造成嚴(yán)重安全隱患[2]。因此,必須對(duì)JTAG調(diào)試增加安全防護(hù)措施,以保證SoC安全。

近年來(lái),國(guó)內(nèi)外學(xué)者針對(duì)JTAG接口保護(hù)的研究主要從以下幾個(gè)方面展開。文獻(xiàn)[3]采用了兩層機(jī)器學(xué)習(xí)的JTAG安全防護(hù)方案,通過(guò)支持向量機(jī)(support vector machines,SVM)監(jiān)測(cè)用戶操作的合法性來(lái)抵御JTAG非法攻擊。文獻(xiàn)[4]通過(guò)基于機(jī)器學(xué)習(xí)的三級(jí)監(jiān)測(cè)器和陰影寄存器,實(shí)現(xiàn)了JTAG調(diào)試的可控性和可觀測(cè)性,實(shí)現(xiàn)了保護(hù)JTAG接口的目的。文獻(xiàn)[5]提出了一種對(duì)JTAG內(nèi)部TAP控制器數(shù)據(jù)加密,進(jìn)而保護(hù)JTAG內(nèi)部敏感信息泄露的安全防護(hù)方式。而文獻(xiàn)[6]則采取了一種對(duì)整個(gè)掃描鏈數(shù)據(jù)進(jìn)行加密的方式,實(shí)現(xiàn)了對(duì)JTAG接口的安全防護(hù)。

上述文獻(xiàn)主要從JTAG接口安全認(rèn)證、機(jī)器學(xué)習(xí)監(jiān)測(cè)和JTAG數(shù)據(jù)加密等方式完成對(duì)JTAG接口的保護(hù),其中現(xiàn)有的JTAG方式大多基于公鑰密碼算法實(shí)現(xiàn),雖然安全性較高,但是硬件開銷大,且認(rèn)證效率低。而通過(guò)機(jī)器學(xué)習(xí)監(jiān)測(cè)用戶操作,也很難抵御所有的JTAG攻擊方式,安全性不足。而JTAG數(shù)據(jù)加密雖然能夠防止敏感信息泄露,但也帶來(lái)了硬件開銷大,降低調(diào)試效率的嚴(yán)重問題。

針對(duì)SoC在資源受限條件下的JTAG接口安全認(rèn)證的問題,結(jié)合SoC電路基本結(jié)構(gòu),本文深入分析了JTAG安全防護(hù)需求、HMAC身份認(rèn)證協(xié)議和SRAM-PUF密鑰生成,提出了一種基于SRAM-PUF的低成本JTAG接口安全認(rèn)證架構(gòu),在保證合法用戶正常調(diào)試需求的同時(shí),有效抵御攻擊者非法入侵系統(tǒng),保護(hù)SoC中敏感信息的安全性。

1 SRAM-PUF密鑰生成模型

HMAC協(xié)議由H.Krawezyk、M.Bellare、R.Canetti提出,是一種基于哈希運(yùn)算消息認(rèn)證碼的身份認(rèn)證協(xié)議,近年來(lái)HMAC協(xié)議廣泛應(yīng)用在多種安全認(rèn)證服務(wù)中,其安全性能夠抵御多種形式的攻擊,并經(jīng)受了多個(gè)安全應(yīng)用的考驗(yàn)[7]。HMAC協(xié)議的安全性基礎(chǔ)在于合法用戶與JTAG接口間的共享密鑰。如何確保密鑰的可靠生成與安全存儲(chǔ)是保證HMAC認(rèn)證協(xié)議安全性的關(guān)鍵。而密鑰的可靠生成與安全存儲(chǔ)通常需要滿足以下3個(gè)基本條件:

(1)生成隨機(jī)性。隨機(jī)性是衡量密鑰質(zhì)量的重要指標(biāo)。安全性強(qiáng)的密鑰應(yīng)當(dāng)具有良好的隨機(jī)性和密碼特性,進(jìn)而保證其唯一性和不可預(yù)測(cè)性,確保整個(gè)HMAC協(xié)議的安全性。

(2)存儲(chǔ)安全性。密鑰在應(yīng)用過(guò)程中必須有一段獨(dú)立的受保護(hù)的存儲(chǔ)空間,防止非法用戶通過(guò)各種攻擊手段獲取到密鑰的正確內(nèi)容。

(3)應(yīng)用可靠性。在HMAC協(xié)議中,密鑰作為合法用戶的身份標(biāo)識(shí),一旦密鑰存在誤碼,則將導(dǎo)致HMAC消息認(rèn)證碼與實(shí)際不符,進(jìn)而導(dǎo)致認(rèn)證失敗。

要正確實(shí)現(xiàn)基于HMAC身份認(rèn)證的安全JTAG調(diào)試協(xié)議,合法用戶與安全JTAG接口間的共享密鑰可靠性是關(guān)鍵。而傳統(tǒng)的密鑰生成器大多借助于某種噪聲源產(chǎn)生具有較好統(tǒng)計(jì)分布特性的序列,再對(duì)這些序列進(jìn)行復(fù)雜的隨機(jī)性檢驗(yàn)過(guò)程以確保其具有較好的密碼特性。這種方式一方面需要經(jīng)過(guò)復(fù)雜的隨機(jī)性檢驗(yàn)過(guò)程,另一方面也難以重復(fù)產(chǎn)生相同的密鑰,可靠性較差[8]?;诖耍瑖?guó)內(nèi)外科研工作者提出了基于PUF(physical unclonable function)的密鑰生成方法。該方法能夠很好滿足以上3個(gè)基本條件,其基本原理是利用芯片在制造過(guò)程中,由于工藝限制,使得每顆芯片都擁有其獨(dú)特的“物理指紋”[9]。PUF的主要特點(diǎn)在于針對(duì)每一個(gè)激勵(lì)(challenge),不同的PUF電路會(huì)產(chǎn)生不同的響應(yīng)(response),即每顆芯片都具有其獨(dú)特的激勵(lì)響應(yīng)對(duì)(challenge-response pairs,CRPs),因而具有較強(qiáng)的隨機(jī)性、魯棒性、不可預(yù)測(cè)性和不可克隆性,近年來(lái)在密鑰生成和用戶身份認(rèn)證得到了廣泛應(yīng)用。

1.1 SRAM-PUF基本原理

SRAM-PUF的基本原理就是,不同的SRAM單元受工藝限制,導(dǎo)致兩個(gè)反相器中MOS管的“強(qiáng)度不同”,進(jìn)而使其在流片后表現(xiàn)出不同的上電特性,如圖1所示[10]。因此,SRAM存儲(chǔ)單元的上電初始值即可作為SRAM-PUF。

圖1 SRAM-PUF基本原理

定義SRAM中的一對(duì)MOS管的晶體管參數(shù)分別為I1和I2,此時(shí)SRAM某個(gè)響應(yīng)位的上電初始值r可以表示為式(1)

(1)

從理論上來(lái)講,對(duì)于特定的SRAM-PUF電路結(jié)構(gòu),在每次上電時(shí),每個(gè)存儲(chǔ)單元出現(xiàn)“0”和“1”的概率各占50%。而實(shí)際工作過(guò)程中,I1和I2均受到閾值電壓、溫度和老化程度影響,假設(shè)二者的差值為ΔI,標(biāo)準(zhǔn)偏差為σ,則此時(shí)SRAM某個(gè)響應(yīng)位的上電初始值r′可以表示為式(2)

(2)

假設(shè)芯片在兩次上電過(guò)程中,某一SRAM單元初始值不同的概率Pe,則其值可表示為式(3)

(3)

對(duì)一般SRAM而言,其中某一存儲(chǔ)單元兩次上電初始值不同的概率Pe通常不大于15%[11]。

以一個(gè)16×16的SRAM存儲(chǔ)單元為例,其上電初始值的分布模型如圖2所示[12]。在每次上電時(shí),某些存儲(chǔ)單元的上電初始值固定為“0”,某些單元的上電初始值固定為“1”。還有一小部分單元的上電初始值受到溫度、電路老化和噪聲等因素的影響,其上電初始值可能為“0”也可能為“1”。這些上電初值不穩(wěn)定的存儲(chǔ)單元,是影響SRAM-PUF響應(yīng)可靠性的主要原因。

圖2 16×16-SRAM上電初始值分布模型

1.2 SRAM-PUF密鑰生成模型

為了從SRAM-PUF這種帶噪聲的芯片“物理指紋”中,提取出能夠精確再生且隨機(jī)分布的密鑰,本文采取了一種基于模糊提取器(fuzzy extractor)的可靠密鑰生成模型。該模型由Dodis等提出,近年來(lái)在指紋識(shí)別、虹膜識(shí)別和量子信息等領(lǐng)域得到了廣泛應(yīng)用[13]?;谀:崛∑鞯目煽棵荑€生成模型,按照其實(shí)現(xiàn)過(guò)程,大體可以分為密鑰注冊(cè)和密鑰重構(gòu)兩個(gè)階段。密鑰注冊(cè)模塊電路結(jié)構(gòu)如圖3所示[14]。

圖3 密鑰注冊(cè)模塊電路結(jié)構(gòu)

c=α⊕p

(4)

b=ENC(β)

(5)

s=b⊕p

(6)

(7)

(8)

密鑰重構(gòu)模塊電路結(jié)構(gòu)如圖4所示。

圖4 密鑰重構(gòu)模塊電路結(jié)構(gòu)

b′=p′⊕s

(9)

β=DEC(b′)

(10)

b=ENC(β)

(11)

c′=α⊕b⊕s

(12)

(13)

根據(jù)式(3),假設(shè)在任意k位SRAM存儲(chǔ)單元中,上電以后出現(xiàn)i位錯(cuò)誤的概率為Pi,則其值可以表示為式(14)

(14)

設(shè)t為所選糾錯(cuò)算法的最大糾錯(cuò)能力,那么若要從k位SRAM-PUF中成功完成密鑰重構(gòu),則SRAM-PUF的最大錯(cuò)誤位數(shù)不能超過(guò)t。因此,從k位SRAM-PUF從成功完成密鑰重構(gòu)的概率Psuccess可以表示為式(15)

(15)

在實(shí)際應(yīng)用過(guò)程中,要完成可靠密鑰生成,通常要求糾錯(cuò)的失敗率小于10-6[15],即

Psuccess≥0.999 999

為了實(shí)現(xiàn)對(duì)PUF的糾錯(cuò),近年來(lái)國(guó)內(nèi)外學(xué)者提出了大量的糾錯(cuò)算法,如重復(fù)碼、格雷碼、循環(huán)碼和BCH碼等。在眾多的糾錯(cuò)算法中,BCH碼具有糾錯(cuò)能力強(qiáng),糾錯(cuò)能力可控等特點(diǎn),非常適合應(yīng)用于SRAM-PUF糾錯(cuò)中?,F(xiàn)有BCH碼糾錯(cuò)的主要缺陷在于譯碼相對(duì)復(fù)雜且硬件開銷大[16]。

在SoC安全JTAG調(diào)試中,HMAC認(rèn)證所需共享密鑰只需在上電初始化時(shí)生成即可,因此其生成速度不會(huì)影響系統(tǒng)運(yùn)算性能。而面積開銷則是衡量SRAM-PUF密鑰生成的關(guān)鍵指標(biāo)。為了解決現(xiàn)有SRAM-PUF可靠密鑰生成硬件開銷大的問題,本文設(shè)計(jì)了一種基于模糊提取器和小位寬BCH碼的密鑰生成模型,能夠滿足資源受限條件下的可靠密鑰生成。

SRAM-PUF低成本安全可靠密鑰生成過(guò)程如算法1所示。

Algorithm 1: 基于模糊提取器的注冊(cè)密鑰生成算法

Input:x,α,β,Ψ

Output:K,C

(1) For j

(2)pj←P(xj);

(3)cj←αj⊕pj;

(4)bj←E(βj);

(5)sj←bj⊕pj;

(8)P(xj)←11…1;

(10) End for

(11)C←{C1,C2,…,CN};

SRAM-PUF的重構(gòu)過(guò)程如算法2所示。

Algorithm 2: 基于模糊提取器的密鑰重構(gòu)算法

Input:x,C,Ψ

(1) For j

(3)p′j←P(xj);

(4)b′j←p′j⊕sj;

(5)βj←D(b′j);

(6)bj←E(βj);

(7)c′j←αj⊕(bj⊕sj);

(9)P(xj)←11…1;

(10) End for

2 基于SRAM-PUF的JTAG調(diào)試認(rèn)證

2.1 HMAC身份認(rèn)證協(xié)議概述

圖5 HMAC身份認(rèn)證流程

由圖5可得,HMAC身份認(rèn)證協(xié)議的安全性基礎(chǔ)在于合法用戶與網(wǎng)絡(luò)信息系統(tǒng)間的密鑰共享。因此,要安全可靠實(shí)現(xiàn)SoC的JTAG調(diào)試,必須確保SRAM-PUF密鑰生成的可靠性,以及HMAC協(xié)議實(shí)現(xiàn)過(guò)程的安全性,二者缺一不可。

2.2 安全JTAG調(diào)試協(xié)議

如何保證JTAG調(diào)試用戶的安全性,是防止非法用戶入侵系統(tǒng)造成敏感信息泄露的關(guān)鍵?;贖MAC安全認(rèn)證的JTAG安全防護(hù)思想,就是在標(biāo)準(zhǔn)JTAG協(xié)議的基礎(chǔ)上增加身份認(rèn)證過(guò)程。擴(kuò)展接口安全認(rèn)證后的JTAG連接初始化過(guò)程如圖6所示。

圖6 JTAG安全調(diào)試流程

根據(jù)圖6,整個(gè)JTAG安全調(diào)試過(guò)程可以分為JTAG認(rèn)證過(guò)程和JTAG調(diào)試過(guò)程兩部分。其中JTAG認(rèn)證過(guò)程主要用于SoC通過(guò)HMAC協(xié)議判別調(diào)試用戶的合法性,進(jìn)而阻止非法用戶入侵系統(tǒng)。合法用戶經(jīng)過(guò)HMAC身份認(rèn)證以后,JTAG模塊將開啟JTAG調(diào)試通道,允許用戶進(jìn)入JTAG調(diào)試過(guò)程,進(jìn)而實(shí)現(xiàn)調(diào)試程序的編譯和執(zhí)行,完成對(duì)整個(gè)SoC的調(diào)試和控制。

本文以RISC-V處理器的JTAG調(diào)試為例,開展安全JTAG調(diào)試協(xié)議設(shè)計(jì)與實(shí)現(xiàn)。作為整個(gè)JTAG調(diào)試的核心,用戶能夠通過(guò)TAP控制器完成調(diào)試指令和數(shù)據(jù)的注入,進(jìn)而實(shí)現(xiàn)完整的JTAG調(diào)試操作。為了在標(biāo)準(zhǔn)JTAG基礎(chǔ)上融入安全身份認(rèn)證協(xié)議,需要完成JTAG調(diào)試指令擴(kuò)展和JTAG接口集成HMAC身份認(rèn)證電路兩部分工作。

JTAG調(diào)試指令按照其具體的功能可以分為通用指令和專用指令兩種。其中通用指令主要完成一些基本的JTAG調(diào)試操作,見表1。

表1 通用JTAG調(diào)試指令

針對(duì)JTAG協(xié)議融合HMAC身份認(rèn)證協(xié)議,需要對(duì)JTAG調(diào)試指令做以下幾條用戶身份認(rèn)證指令擴(kuò)展,見表2。

表2 JTAG擴(kuò)展用戶身份認(rèn)證指令

為了使標(biāo)準(zhǔn)JTAG接口能夠支持JTAG擴(kuò)展用戶身份認(rèn)證指令,進(jìn)而實(shí)現(xiàn)安全JAG調(diào)試,需要進(jìn)一步修改TAP控制器中IR寄存器,并在JTAG接口內(nèi)部集成HMAC身份認(rèn)證模塊和調(diào)試通道控制器。完整的安全JTAG調(diào)試接口,其整體架構(gòu)如圖7所示。

圖7 安全JTAG接口電路整體架構(gòu)

整個(gè)安全JTAG接口按照其功能,可以劃分為DMI模塊、HMAC身份認(rèn)證模塊、DM模塊、調(diào)試通道控制器、主機(jī)接口和從機(jī)接口6個(gè)部分。其中DMI模塊主要接收來(lái)自調(diào)試適配器的JTAG調(diào)試信號(hào)并通過(guò)協(xié)議轉(zhuǎn)換,進(jìn)而完成調(diào)試指令和調(diào)試數(shù)據(jù)的讀寫訪問。HMAC身份認(rèn)證模塊則完成執(zhí)行調(diào)試認(rèn)證過(guò)程,并控制調(diào)試通道控制器的開啟和關(guān)閉。DM模塊則負(fù)責(zé)根據(jù)外部注入的調(diào)試指令和數(shù)據(jù),完成相應(yīng)的調(diào)試操作,并在調(diào)試通道控制器開啟時(shí),實(shí)現(xiàn)對(duì)RISC-V處理器的調(diào)試控制,以及對(duì)片上存儲(chǔ)資源的讀寫訪問。

3 實(shí)驗(yàn)驗(yàn)證與評(píng)估

3.1 JTAG認(rèn)證安全性分析

為了驗(yàn)證本文設(shè)計(jì)架構(gòu)的合理性、安全性和可靠性,本文基于RISC-V處理器、安全JTAG接口、AMBA總線、SRAM-PUF和UART等單元,搭建了一套SoC驗(yàn)證平臺(tái),并通過(guò)了功能仿真,其結(jié)果如圖8所示。

圖8 基于SRAM-PUF的安全JTAG調(diào)試仿真波形

根據(jù)圖8,本文中基于SRAM-PUF的安全JTAG調(diào)試能夠從帶噪聲的SRAM-PUF響應(yīng)中生成可靠密鑰,并基于該密鑰實(shí)現(xiàn)基于HMAC協(xié)議的JTAG安全認(rèn)證。

SoC中JTAG調(diào)試的安全性,直接決定了整個(gè)系統(tǒng)的安全性。而在本文設(shè)計(jì)的安全架構(gòu)下,HMAC協(xié)議的安全性,以及用戶與SoC間共享密鑰的安全性,是整個(gè)系統(tǒng)的安全性基礎(chǔ)。下面針對(duì)典型的JTAG攻擊方式,對(duì)整個(gè)調(diào)試協(xié)議進(jìn)行安全性分析。

(1)重放攻擊

對(duì)安全JTAG認(rèn)證進(jìn)行重放攻擊,是指攻擊者向JTAG接口發(fā)送一個(gè)合法用戶已經(jīng)發(fā)送過(guò)的數(shù)據(jù)包,進(jìn)而達(dá)到欺騙JTAG接口的目的。而每次HMAC身份認(rèn)證時(shí),SoC都會(huì)生成一組新的隨機(jī)數(shù)r,保證了認(rèn)證的實(shí)時(shí)性。因此即使攻擊者能夠捕獲到上一次的身份認(rèn)證通信內(nèi)容,也無(wú)法在下一次身份認(rèn)證時(shí)使用。

(2)克隆攻擊

相比于重放攻擊,克隆攻擊對(duì)攻擊者有著更高的要求,即:①攻擊者必須了解整個(gè)身份認(rèn)證協(xié)議的運(yùn)算過(guò)程和通信內(nèi)容;②攻擊者必須要有和合法用戶相同的計(jì)算能力;③攻擊者必須掌握合法用戶的私密信息(即HMAC協(xié)議中的共享密鑰K)。HMAC協(xié)議采用的是單向雜湊函數(shù),且共享密鑰長(zhǎng)度大于雜湊算法分組長(zhǎng)度(SM3為512 bit),使現(xiàn)有的計(jì)算平臺(tái)無(wú)法實(shí)現(xiàn)克隆攻擊。

(3)猜想攻擊

猜想攻擊是指攻擊者在已知合法用戶與JTAG接口間通信內(nèi)容的基礎(chǔ)上,從中分析提取出共享密鑰。這種攻擊方式對(duì)于攻擊者的運(yùn)算能力要求比克隆攻擊更高,必須采用高強(qiáng)度的密碼破解算法。而用戶要想對(duì)認(rèn)證密鑰進(jìn)行猜想或窮舉,在實(shí)現(xiàn)上也是不可行的。

(4)中間人攻擊

中間人攻擊需要攻擊者能夠通過(guò)各種技術(shù)手段讓自己能夠作為一個(gè)虛擬用戶,控制合法用戶與SoC之間的數(shù)據(jù)通信過(guò)程。這要求攻擊者必須控制信道,且同時(shí)欺騙合法用戶和JTAG接口。而實(shí)際上,合法用戶與JTAG接口在認(rèn)證啟動(dòng)之前,早已完成了密鑰共享,由此保證了攻擊者無(wú)法實(shí)現(xiàn)中間人攻擊。

(5)監(jiān)聽攻擊

監(jiān)聽攻擊是一種攻擊者通過(guò)監(jiān)聽合法用戶與安全JTAG接口之間的通信內(nèi)容,進(jìn)而從中分析和計(jì)算得到系統(tǒng)敏感信息的方式。在安全JTAG認(rèn)證過(guò)程中,通信內(nèi)容只有該次認(rèn)證的認(rèn)證請(qǐng)求、隨機(jī)數(shù)和HMAC值,而并不包含任何與合法用戶及安全JTAG身份相關(guān)的信息。因而本文中的安全架構(gòu)能夠抵抗監(jiān)聽攻擊,從而保護(hù)合法用戶身份信息。

經(jīng)過(guò)以上分析,本文提出的JTAG接口認(rèn)證架構(gòu),能夠抵御典型的JTAG攻擊方式,在保證合法用戶正常完成JTAG調(diào)試的基礎(chǔ)上,防止攻擊者非法入侵系統(tǒng)并造成敏感信息泄露。

3.2 密鑰生成可靠性分析

SRAM-PUF生成密鑰的安全性和可靠性,是決定整個(gè)JTAG認(rèn)證架構(gòu)安全性和可靠性的關(guān)鍵。一般來(lái)說(shuō),按照FPGA芯片實(shí)現(xiàn)原理,絕大多數(shù)FPGA內(nèi)部并不存在真實(shí)的SRAM存儲(chǔ)單元,僅僅依靠FPGA板級(jí)驗(yàn)證平臺(tái)無(wú)法完成SRAM-PUF密鑰生成可靠性驗(yàn)證。因此本文在實(shí)驗(yàn)過(guò)程中,采取“SoC芯片+FPGA”方式完成SRAM-PUF密鑰生成可靠性驗(yàn)證。其中SoC芯片采用的是實(shí)驗(yàn)室已經(jīng)流片驗(yàn)證成功的某型SoC芯片,其內(nèi)部集成了存儲(chǔ)空間大小為8192×32的SRAM,用作SRAM-PUF單元。而FPGA則選取Xilinx Zynq-7000 FPGA,其中運(yùn)行模糊提取器實(shí)現(xiàn)密鑰的注冊(cè)與重構(gòu)。SoC芯片與FPGA之間通過(guò)UART接口進(jìn)行通信。系統(tǒng)運(yùn)行時(shí),SoC芯片內(nèi)部通用處理器執(zhí)行匯編程序,讀取SRAM-PUF上電初始值并通過(guò)UART接口發(fā)送給FPGA芯片。而FPGA芯片收到后則通過(guò)模糊提取器完成密鑰注冊(cè)/重構(gòu),并將其反饋給SoC芯片。

BCH編解碼作為模糊提取器實(shí)現(xiàn)SRAM-PUF密鑰生成的關(guān)鍵模塊,不僅其糾錯(cuò)能力決定了密鑰生成的可靠性,而且也占據(jù)了模糊提取器面積開銷的大部分。本文為了尋求SRAM-PUF密鑰生成需求、模糊提取器面積開銷之間的平衡,基于BCH(63,30,6) 編解碼方式完成了模糊提取器設(shè)計(jì)。即從每組32 bit的SRAM-PUF單元中選取30 bit作為信息位進(jìn)行糾錯(cuò)編碼,此時(shí)BCH編碼的實(shí)際糾錯(cuò)能力為6 bit,糾錯(cuò)率為20%,能夠很好滿足SRAM-PUF錯(cuò)誤率為15%的糾錯(cuò)需求。

另一方面,為了滿足PUF生成密鑰的安全性需求,本文選取國(guó)家密碼管理局發(fā)布的SM3算法作為模糊提取器中的Hash函數(shù)。每當(dāng)BCH完成對(duì)256 bit的SRAM存儲(chǔ)進(jìn)行編解碼以后,可以啟動(dòng)SM3算法生成密鑰。

為了評(píng)估本文提出SRAM-PUF密鑰生成架構(gòu)的密鑰生成質(zhì)量,本文通過(guò)一致性指標(biāo)λ來(lái)衡量相同SRAM-PUF生成密鑰的可靠性[18],如式(16)所示。其中,X表示SRAM-PUF的存儲(chǔ)位數(shù),Y表示實(shí)驗(yàn)次數(shù),而ζi,j則表示SRAM-PUF響應(yīng)值中,第i位在第j次實(shí)驗(yàn)中的糾錯(cuò)輸出結(jié)果

(16)

基于ThermoJet Environment Simulator、Xilinx Zynq-7000 FPGA和SoC芯片搭建了SRAM-PUF一致性測(cè)試平臺(tái),其中SoC芯片和FPGA開發(fā)板放在ThermoJet Environment Simulator的氣罩下,測(cè)試系統(tǒng)如圖9所示。ThermoJet Environment Simulator是一種通過(guò)氣流為SoC芯片測(cè)試提供-80 ℃~+225 ℃溫度環(huán)境,溫度精度±1 ℃,可為芯片溫度測(cè)試提供長(zhǎng)時(shí)間穩(wěn)定的測(cè)試環(huán)境。

圖9 SRAM-PUF一致性測(cè)試平臺(tái)

本文在-20 ℃到80 ℃對(duì)SoC芯片內(nèi)的SRAM-PUF進(jìn)行溫度測(cè)試,其中溫度間隔為10 ℃,分別對(duì)SRAM-PUF進(jìn)行了300次一致性測(cè)試,得到一個(gè)300×11的PUF輸出響應(yīng)矩陣。利用式(16)的一致性計(jì)算方法計(jì)算在11個(gè)溫度區(qū)間下的一致性值,并對(duì)比了糾錯(cuò)前后的一致性,具體結(jié)果如圖10所示。

圖10 不同糾錯(cuò)狀態(tài)下SRAM-PUF一致性統(tǒng)計(jì)結(jié)果

根據(jù)圖10可得,在沒有BCH編解碼糾錯(cuò)的情況下,SRAM-PUF響應(yīng)的一致性率僅為85%~90%。而經(jīng)過(guò)BCH編解碼之后,SRAM-PUF的可靠性可得到大幅度提升,尤其是在溫度條件為10~40 ℃時(shí),SRAM-PUF響應(yīng)的糾錯(cuò)成功率最高可達(dá)99.98%,有效提高了SRAM-PUF的魯棒性,非常適合應(yīng)用于SoC可靠密鑰生成和JTAG接口認(rèn)證。

3.3 架構(gòu)性能評(píng)估

為了對(duì)本文提出的JTAG架構(gòu)進(jìn)行面積和性能評(píng)估,將其在CMOS 65 nm工藝下完成了仿真綜合,實(shí)驗(yàn)結(jié)果見表3。

表3 安全JTAG架構(gòu)

根據(jù)表3可得,相比文獻(xiàn)[3-6],本文中的JTAG架構(gòu)在保證用戶身份認(rèn)證安全性的前提下,在面積開銷方面具有較大優(yōu)勢(shì),非常適合應(yīng)用于資源受限條件下的網(wǎng)絡(luò)信息安全系統(tǒng)下的JTAG。此外,本文中的安全架構(gòu)硬件開銷主要包括JTAG接口擴(kuò)展HMAC身份認(rèn)證單元和模糊提取器兩部分。該架構(gòu)雖然整體面積與文獻(xiàn)[2]較為接近,但是模糊提取器單元卻有更廣泛的應(yīng)用,其生成的密鑰不僅可以用作JTAG接口安全認(rèn)證,還能應(yīng)用于其它領(lǐng)域,如數(shù)據(jù)加密和消息簽名驗(yàn)證等。

而在實(shí)現(xiàn)性能方面,由于文獻(xiàn)[3]和文獻(xiàn)[4]是通過(guò)機(jī)器學(xué)習(xí)檢測(cè)JTAG調(diào)試用戶的合法性,而文獻(xiàn)[5]和文獻(xiàn)[6]是通過(guò)JTAG數(shù)據(jù)加密保護(hù)系統(tǒng)敏感信息安全,與本文采取的實(shí)現(xiàn)思想差異較大,因而彼此間的比較沒有意義。因此,同樣是JTAG接口身份認(rèn)證,本文中的安全架構(gòu)具有更高的認(rèn)證效率。

4 結(jié)束語(yǔ)

針對(duì)SoC中的JTAG接口認(rèn)證,本文深入分析了SRAM-PUF實(shí)現(xiàn)原理、SoC密鑰生成需求和HMAC身份認(rèn)證協(xié)議,提出了一種基于SRAM-PUF的低成本可靠JTAG接口認(rèn)證架構(gòu),并完成了實(shí)驗(yàn)驗(yàn)證和安全性分析。實(shí)現(xiàn)結(jié)果表明,該架構(gòu)能夠通過(guò)增加少量的硬件資源,實(shí)現(xiàn)可靠密鑰生成和JTAG接口認(rèn)證,有效抵御典型的JTAG攻擊方式,保證網(wǎng)絡(luò)信息系統(tǒng)的數(shù)據(jù)安全性,非常適合應(yīng)用于各類資源受限條件下的網(wǎng)絡(luò)信息系統(tǒng)。此外,基于SRAM-PUF生成的密鑰也可以應(yīng)用于其它方面,比如用作會(huì)話密鑰加密系統(tǒng)敏感信息,或者用作用戶私鑰完成消息簽名等。下一步,本文將繼續(xù)深入展開研究,進(jìn)一步提升SoC和信息系統(tǒng)的安全性。

猜你喜歡
攻擊者密鑰調(diào)試
幻中邂逅之金色密鑰
幻中邂逅之金色密鑰
電氣儀表自動(dòng)化安裝與調(diào)試分析
密碼系統(tǒng)中密鑰的狀態(tài)與保護(hù)*
TPM 2.0密鑰遷移協(xié)議研究
正面迎接批判
基于航拍無(wú)人機(jī)的設(shè)計(jì)與調(diào)試
正面迎接批判
核電廠主給水系統(tǒng)調(diào)試
無(wú)線通信中頻線路窄帶臨界調(diào)試法及其應(yīng)用