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