張培勇,袁曉東*,王雪潔,馮忱暉,李宜珂
(1.浙江大學(xué)超大規(guī)模集成電路研究所,浙江杭州310027;2.浙江大學(xué)城市學(xué)院信息與電器工程學(xué)院,浙江杭州310015;3.福州大學(xué)物理與信息工程學(xué)院,福建福州350002)
隨著半導(dǎo)體工藝的進(jìn)步和集成電路設(shè)計(jì)的不斷發(fā)展,IC相關(guān)電子產(chǎn)品逐漸成為人們?nèi)粘I钪械谋匦杵?。電子產(chǎn)品的涌現(xiàn)導(dǎo)致各種信息井噴式增加,信息安全受到了前所未有的挑戰(zhàn)[1-2]。傳統(tǒng)的基于密碼學(xué)的方法,由于自身的局限性已不再適用于集成電路領(lǐng)域,而物理不可克隆函數(shù)(physical unclonable function,PUF)有望成為解決這一問題的重要方法[3-5]。
利用半導(dǎo)體制造工藝不可避免的固有偏差,物理不可克隆函數(shù)能產(chǎn)生唯一、安全的激勵(lì)響應(yīng)結(jié)果[6]。目前,許多新型PUF結(jié)構(gòu)的設(shè)計(jì)主要源于已有PUF結(jié)構(gòu)的優(yōu)化和革新[7]。本文聚焦于PUF最基本的單元結(jié)構(gòu),提出了一種高效新型的PUF結(jié)構(gòu)——基于D觸發(fā)器的物理不可克隆函數(shù)(D flipflop based PUF,DFF PUF)。此種 PUF新結(jié)構(gòu),由D觸發(fā)器建立的時(shí)間隨機(jī)分布函數(shù)產(chǎn)生PUF輸出響應(yīng)。
由于偏差是制造過程中隨機(jī)產(chǎn)生的,每一個(gè)D觸發(fā)器的建立時(shí)間都是獨(dú)一無二的[8]。同時(shí),本文還采用了一種新結(jié)構(gòu)——D觸發(fā)器對(duì),此結(jié)構(gòu)可通過差分方式提高PUF激勵(lì)響應(yīng)結(jié)果的準(zhǔn)確性;還能有效消除因連線不對(duì)稱導(dǎo)致的延遲偏差,從而成功解決了絕大多數(shù)延遲型PUF由連線導(dǎo)致的低性能問題[9],尤其在FPGA(filed-programmable gate array)上。
基于D觸發(fā)器的PUF新結(jié)構(gòu)已在Xilinx FPGA上實(shí)現(xiàn)。此PUF結(jié)構(gòu)輸出1位激勵(lì)響應(yīng)時(shí)只需2個(gè)D觸發(fā)器,可有效減少芯片的面積。實(shí)驗(yàn)統(tǒng)計(jì)結(jié)果顯示,此PUF的唯一性達(dá)到了49.40%,明顯優(yōu)于2種 主 流 延 遲 型 PUF(Arbiter PUF[10]7.20%,RO PUF[11]47.24%)。這種特性正是PUF不可克隆的關(guān)鍵,從而使其安全性得到提升[12]。
D觸發(fā)器的建立時(shí)間指輸入的數(shù)據(jù)信號(hào)在時(shí)鐘事件到來之前保持穩(wěn)定的最小時(shí)間[13],也是亞穩(wěn)態(tài)[14]結(jié)束的標(biāo)志。由于制造過程中產(chǎn)生的內(nèi)在隨機(jī)性偏差,每一設(shè)備上的D觸發(fā)器都有自己獨(dú)一無二的建立時(shí)間,并且它們的建立時(shí)間都在特定的區(qū)間內(nèi)成隨機(jī)性分布[8]。本文的PUF新結(jié)構(gòu)就是基于以上基本原理設(shè)計(jì)和建立起來的。
基于D觸發(fā)器的PUF電路系統(tǒng)的整體架構(gòu)如圖1所示。該系統(tǒng)主要由輸入控制單元(input control)、D觸發(fā)器對(duì)的硬宏單元(pair of D flipflops)、采 樣 單 元(sampling unit)以 及 處 理 單 元(processing unit)組成。其中,信號(hào)發(fā)生器Signalgenerator產(chǎn)生初始相位差相同但頻率不同的數(shù)字信號(hào)和時(shí)鐘信號(hào),見圖2。數(shù)據(jù)信號(hào)和時(shí)鐘信號(hào)的周期分別為TData和TClock,在第2個(gè)數(shù)據(jù)時(shí)鐘周期中,其關(guān)系為
圖1 基于D觸發(fā)器的PUF電路系統(tǒng)架構(gòu)圖Fig.1 Block diagram of D flip-flop based PUF
式(1)中,Δt為輸入信號(hào)的時(shí)間差,即輸入相位差。第3個(gè)數(shù)據(jù)時(shí)鐘周期內(nèi)為2Δt,第4個(gè)數(shù)據(jù)時(shí)鐘周期內(nèi)為3Δt,依此類推。因此,D觸發(fā)器的建立時(shí)間可通過一系列有著等差的輸入相位差信號(hào)測(cè)量得到[15],后文將具體闡述。同時(shí),D觸發(fā)器的輸出結(jié)果在每次采樣之前都會(huì)先變?yōu)榈碗娖?,即“置零”,這樣可保證每次D觸發(fā)器輸出結(jié)果的采樣有完全相同的初始條件。計(jì)數(shù)信號(hào)CLKCount由芯片內(nèi)部產(chǎn)生,為數(shù)據(jù)信號(hào)的反相信號(hào),用于設(shè)置采樣的時(shí)刻,以確保D觸發(fā)器在采樣時(shí)已處于響應(yīng)結(jié)束的穩(wěn)定狀態(tài)。因此,在每個(gè)數(shù)據(jù)信號(hào)周期內(nèi),D觸發(fā)器相關(guān)電路的狀態(tài)依次為:激勵(lì)、響應(yīng)、采樣和置零。
圖2 基于D觸發(fā)器的PUF的輸入和采樣信號(hào)Fig.2 Input and sampling signals of D flip-flop based PUF
D觸發(fā)器對(duì)(pair of D flip-flops)中的D觸發(fā)器是在相同條件下進(jìn)行的激勵(lì)響應(yīng)。通過差分方法處理單元對(duì)其結(jié)果進(jìn)行運(yùn)算處理,能減少連線干擾,提高PUF輸出結(jié)果的準(zhǔn)確性。采樣單元(sampling unit)用于獲取D觸發(fā)器建立時(shí)間的結(jié)果,并將其輸出到處理單元(processing unit)。一個(gè)n位的PUF需要n個(gè)D觸發(fā)器對(duì)、n個(gè)采樣單元以及n個(gè)處理單元。采樣單元和處理單元可重復(fù)獲取并可處理所有D觸發(fā)器對(duì)的輸出結(jié)果,因此只用一個(gè)采樣單元和一個(gè)處理單元也是可行的。芯片的最終面積由產(chǎn)生一位激勵(lì)輸出響應(yīng)的PUF基本單元的大小和數(shù)量決定。如圖3所示,基于D觸發(fā)器的PUF中,一位PUF輸出只有一個(gè)D觸發(fā)器對(duì)的結(jié)構(gòu)設(shè)計(jì)和緊湊的布局方式,有效減小了芯片的面積。
圖3 FPGA板上D觸發(fā)器對(duì)的布局Fig.3 The layout of D flip-flops pairs on FPGA board
延遲型PUF結(jié)構(gòu)普遍存在性能低的問題,因?yàn)檫B線不對(duì)稱造成的延遲偏差約為制造過程中帶來的隨機(jī)性偏差(用于產(chǎn)生PUF輸出的偏差)的10倍[9]。從而導(dǎo)致其對(duì)PUF輸出結(jié)果的干擾過大,甚至起決定作用。如圖3所示,每一個(gè)PUF基本單元都包含一對(duì)D觸發(fā)器,并且輸入到其中的信號(hào)線長(zhǎng)度也各不相同。即便通過精確布局布線,將延遲差降到很小,也很難提高PUF的性能,因?yàn)檫B線延上的延遲偏差數(shù)量級(jí)很大,尤其是在FPGA上。
圖4中每一個(gè)點(diǎn)代表每一個(gè)D觸發(fā)器獨(dú)特的建立時(shí)間。對(duì)于同一FPGA板的結(jié)果來說,因?yàn)樵贔PGA板上一行中有8個(gè)D觸發(fā)器對(duì)(見圖3),所以,圖4中每16個(gè)點(diǎn)有類似的分布趨勢(shì)。說明相對(duì)于用于產(chǎn)生PUF輸出結(jié)果的制造工藝上的隨機(jī)性偏差,連線延遲帶來的偏差對(duì)實(shí)際輸出結(jié)果的影響更大。同樣,在不同F(xiàn)PGA板之間也存在類似問題,導(dǎo)致每塊FPGA板的結(jié)果類似。然而,在同一FPGA板上,任意2點(diǎn)之間的相對(duì)分布關(guān)系卻各不相同,反映了每個(gè)D觸發(fā)器制造過程中帶來的隨機(jī)性偏差。
圖4 3塊FPGA板上D觸發(fā)器的建立時(shí)間分布Fig.4 The setup times of D flip-flops pairs on three FPGA boards
為解決連線干擾問題,提出了D觸發(fā)器對(duì)的新結(jié)構(gòu)。通過差分方法,能精確放大D觸發(fā)器的隨機(jī)性偏差,還能完全消除連線不對(duì)稱造成的延遲偏差。
如圖5所示,數(shù)據(jù)信號(hào)和時(shí)鐘信號(hào)在slice1外的延遲差為ts1,在slice1內(nèi)的延遲差為ts11,由D觸發(fā)器1(DFF1)制造工藝偏差導(dǎo)致的延遲差為td11,則可以得到同時(shí)從信號(hào)發(fā)生器產(chǎn)生的2個(gè)輸入信號(hào)與D觸發(fā)器1之間的延遲差為
其中,TDFF1為D觸發(fā)器1的延遲差。D觸發(fā)器1和D觸發(fā)器2的延遲差之間的絕對(duì)差為
圖5 D觸發(fā)器對(duì)硬宏單元上的延遲Fig.5 Delays in hard macros of pair of D flip-flops
這樣每個(gè)D觸發(fā)器在slice外的連線延遲差tS1就可抵消,從而保證每個(gè)D觸發(fā)器對(duì)延遲差的絕對(duì)差不受連線影響,保證所有D觸發(fā)器在完全相同的條件下,每一個(gè)slice都被例化成FPGA上的硬宏單元(hard macro)。因此,每個(gè)slice上的2個(gè)D觸發(fā)器的延遲差之間的絕對(duì)差是相同的,為
由式(3)和(4)得到每一個(gè)slice上的2個(gè)D觸發(fā)器的輸入信號(hào)延遲差之間的絕對(duì)差為
那么,得到的TSn值完全由D觸發(fā)器制造過程中的工藝偏差決定,不受連線偏差干擾,是隨機(jī)分布的。統(tǒng)計(jì)結(jié)果如圖6所示,紅色實(shí)心和藍(lán)色虛心散點(diǎn)表示FPGA板上同一slice上2個(gè)D觸發(fā)器各自的輸入信號(hào)延遲差,即TDFF1和TDFF2。因?yàn)槭苓B線帶來的偏差影響較大,所以分布上具有相似趨勢(shì)。柱狀圖則表示FPGA板上的同一Slice上2個(gè)D觸發(fā)器輸入信號(hào)延遲差之間的絕對(duì)差,即TSn(為方便顯示,對(duì)結(jié)果進(jìn)行了4倍的放大)。經(jīng)驗(yàn)證,此組數(shù)據(jù)成隨機(jī)性分布。
圖6 FPGA板上同一slice上D觸發(fā)器的輸入信號(hào)延遲差(散點(diǎn))和其絕對(duì)差(柱狀,4倍放大)Fig.6 The time difference of D flip-flops in a slice of one FPGA board(scatter diagram)and their absolute difference(column diagram,4 times amplified)
據(jù)上所述,采樣并處理D觸發(fā)器對(duì)的值TSn就能得到PUF的輸出結(jié)果。D觸發(fā)器的響應(yīng)結(jié)果被存儲(chǔ)在一個(gè)N位的移位寄存器中,同時(shí),用計(jì)數(shù)器記錄計(jì)數(shù)信號(hào)上升沿的次數(shù)。當(dāng)移位寄存器的值轉(zhuǎn)變?yōu)镹’hfff…fff時(shí),采樣單元對(duì)D觸發(fā)器的建立時(shí)間即時(shí)準(zhǔn)確采集,如圖7和表1所示。因此,參數(shù)N的設(shè)置必須比D觸發(fā)器的亞穩(wěn)態(tài)時(shí)間的計(jì)數(shù)結(jié)果更大,以防止因出現(xiàn)一串高電平的干擾,錯(cuò)過準(zhǔn)確的采樣時(shí)刻。
圖7 信號(hào)延遲差和采樣結(jié)果的關(guān)系Fig.7 Relationships between time differences of signals and sampling results
表1 關(guān)系表(正數(shù),l<n<m<p)Table 1 Relationships(positive number,l<n<m<p)
為了得到更加穩(wěn)定的PUF輸出,基于D觸發(fā)器的PUF設(shè)計(jì)采用了重復(fù)的激勵(lì)響應(yīng),該過程從重置信號(hào)發(fā)生器產(chǎn)生新的信號(hào)開始,直到采樣單元獲得結(jié)果。處理單元中的寄存器用于獲取重復(fù)的激勵(lì)響應(yīng)結(jié)果中的最大值,即最準(zhǔn)確穩(wěn)定的結(jié)果值M。在每個(gè)D觸發(fā)器對(duì)的處理單元中,D觸發(fā)器1的結(jié)果為M1,D觸發(fā)器2的結(jié)果為M2,則可得PUF的一位輸出結(jié)果:
式(6)中,Nthv為一個(gè)可被事先設(shè)定的參數(shù),|M1-M2|的結(jié)果反映了絕對(duì)差TSn的大小。于是,完整建立了一個(gè)n位的基于D觸發(fā)器的PUF電路系統(tǒng)。
文中所有電路均在Xilinx Spartan-3A FPGA開發(fā)板上實(shí)現(xiàn),如圖8和圖9所示。實(shí)驗(yàn)中,由信號(hào)發(fā)生器Agilent 33500B產(chǎn)生的數(shù)據(jù)信號(hào)和時(shí)鐘信號(hào)的頻率分別為5 000 100 Hz和10 MHz。實(shí)驗(yàn)參數(shù)N和Nthv分別為64和6,產(chǎn)生一個(gè)56位的PUF大約需要10 ms。評(píng)估物理不可克隆函數(shù)性能一般有3個(gè)重要指標(biāo):可靠性(reliability)、統(tǒng)一性(uniformity)和唯一性(uniqueness)[16]。在實(shí)驗(yàn)中,分別對(duì)其進(jìn)行測(cè)試和分析。
圖8 D觸發(fā)器對(duì)在FPGA板上的布局Fig.8 Placement of D flip-flops pairs on FPGA
PUF的可靠性體現(xiàn)了PUF再輸出響應(yīng)的效率。普遍會(huì)使用芯片系統(tǒng)內(nèi)部的漢明距離(Hamming distance,HD)來評(píng)估這一特性。測(cè)試一個(gè)在芯片i上n位響應(yīng)的PUF電路系統(tǒng)在正常工作條件下(室溫下使用正常的供電電壓)的輸出響應(yīng)值Ri。再測(cè)試其在其他工作環(huán)境下(不同溫度條件或不同的供電電壓)的響應(yīng)值,記為 R′i。在獲得 m個(gè) R′i樣本后,對(duì)于芯片i上的PUF電路系統(tǒng),平均芯片內(nèi)部漢明距離(intra-chip HD)為
式中,R ′i,t是 R ′i的第 t個(gè)樣本。HDINTRA表示 PUF電路系統(tǒng)不可靠/噪聲輸出位數(shù)的平均個(gè)數(shù)。所以,PUF的可靠性可表示為
實(shí)驗(yàn)中,在不同工作環(huán)境下(一周內(nèi)不同時(shí)間段,溫度變化為15~30℃),對(duì)同一FPGA板上的PUF進(jìn)行了大量重復(fù)性測(cè)試。測(cè)試結(jié)果如表2和圖10所示,橫坐標(biāo)表示PUF電路系統(tǒng)內(nèi)部的漢明距離,縱坐標(biāo)為對(duì)應(yīng)漢明距離所占的比例。
表2 DFF PUF與其他類型PUF的性能對(duì)比Table 2 Performance comparisons of DFF PUF and other types of PUFs
圖10 DFF PUF可靠性測(cè)試結(jié)果Fig.10 The results of DFF PUF’s reliability
圖11 DFF PUF統(tǒng)一性測(cè)試結(jié)果Fig.11 The results of DFF PUF’s uniformity
PUF的統(tǒng)一性體現(xiàn)了一個(gè)n位響應(yīng)的PUF電路系統(tǒng)輸出結(jié)果中0和1的比例分布。對(duì)于真隨機(jī)的PUF響應(yīng)而言,所有位數(shù)是完全相同的,因此,此分布比例理論上應(yīng)為50%。通常將一個(gè)n位響應(yīng)的PUF的統(tǒng)一性定義為其百分比漢明權(quán)重(percentage Hamming weight(HW)):
式中,ri,l表示一個(gè) n 位響應(yīng)的 PUF 芯片 i的第 l位值。實(shí)驗(yàn)中,分別對(duì)10塊spartan 3A FPGA開發(fā)板上的PUF電路系統(tǒng)進(jìn)行了大量測(cè)試,結(jié)果如表2和圖11所示,其中虛線為基于D觸發(fā)器的PUF統(tǒng)一性的平均值。
PUF的唯一性體現(xiàn)了PUF能夠輸出區(qū)別于其他同類型的芯片PUF的明顯程度,也是PUF不可克隆的根本保證。通常用2個(gè)PUF輸出結(jié)果的漢明距離(Hamming distance,HD)來表示這一特性。在2個(gè)PUF中,i和j(i≠j)都有n位的響應(yīng)輸出,即Ri和Rj.那么,k個(gè)芯片上PUF的平均漢明距離為
將實(shí)驗(yàn)測(cè)得的10塊FPGA板上的PUF(56位)輸出結(jié)果分別兩兩進(jìn)行漢明距離運(yùn)算,得到的結(jié)果如圖12所示。顏色深淺代表漢明距離的大小,可以看出,兩兩之間的漢明距離基本在26~30,在每2個(gè)FPGA板之間的分布也較為均勻。同時(shí),對(duì)結(jié)果進(jìn)行了正態(tài)分布函數(shù)擬合,如圖13所示。圖中橫坐標(biāo)表示分?jǐn)?shù)型漢明距離,縱坐標(biāo)表示落在對(duì)應(yīng)漢明距離結(jié)果的百分比,紅色曲線表示擬合結(jié)果,基本接近理想狀態(tài)。
圖12 FPGA板之間的響應(yīng)結(jié)果的漢明距離(位置)Fig.12 Hamming distances of response data between FPGAs(location)
表2為DFF PUF與其他類型PUF性能的對(duì)比。基于D觸發(fā)器的PUF特性均接近理想狀況。其中唯一性指標(biāo)達(dá)到49.40%,較2種主流延遲型PUF的均值分別提高了42.20%和2.16%(參考數(shù)據(jù)來自 Maiti團(tuán)隊(duì)[16])。
圖13 FPGA板之間的響應(yīng)結(jié)果的漢明距離(分布)Fig.13 Hamming distances of response data between FPGAs(distribution)
基于D觸發(fā)器的物理不可克隆函數(shù)(DFF PUF),實(shí)現(xiàn)了一種新型的PUF結(jié)構(gòu)設(shè)計(jì)。利用D觸發(fā)器建立時(shí)間隨機(jī)分布的特性,巧妙地設(shè)計(jì)了D觸發(fā)器對(duì)結(jié)構(gòu),DFF PUF明顯提高了PUF結(jié)構(gòu)的唯一性,從而提高了其安全性。由于1位PUF輸出只需要1個(gè)D觸發(fā)器對(duì),DFF PUF降低了芯片的使用面積。實(shí)驗(yàn)測(cè)試結(jié)果表明,基于D觸發(fā)器的PUF,在可靠性、統(tǒng)一性和唯一性上均有較理想的表現(xiàn)。
浙江大學(xué)學(xué)報(bào)(理學(xué)版)2019年1期