本發明涉及芯片安全,特別是需要驗證芯片真偽和保護存儲器數據的物理不可克隆函數。
背景技術:
物理不可克隆函數(puf)被稱之為“芯片指紋”技術,在芯片的安全和防偽領域有著巨大的應用前景。通過提取芯片在制造過程中所產生的差異,就能夠生成芯片獨特的“指紋”信息,這些“指紋”信息即使是芯片的制造商也無法復制和預測。
根據物理不可克隆函數的挑戰響應空間,可以將物理不可克隆函數分為強物理不可克隆函數和弱物理不可克隆函數。強物理不可克隆函數的挑戰響應空間和芯片面積呈指數關系,而弱物理不可克隆函數的挑戰響應空間和芯片面積呈線性關系。由于強物理不可克隆函數的挑戰響應空間較大,因此能夠同時滿足密鑰生成應用以及身份認證應用。
無論是密鑰生成應用或者身份認證應用,都需要物理不可克隆函數生成穩定不變的響應來支持這些應用。但是物理不可克隆函數的響應并不穩定,即對于同一個物理不可克隆函數,多次輸入同樣的挑戰,輸出的響應存在偏差。因此設計出高穩定性的物理不可克隆函數對于構建各種應用十分關鍵,并且也能夠減少后續糾錯算法的實現代價。
由meng-dayyu等人在論文“recombinationofphysicalunclonablefunctions”中提出一種基于物理特征值累加和的強物理不可克隆函數,如圖1所示。通過挑戰將物理單元的特征差值進行正負的取值控制并累加,根據累加和得到一位響應。由于所有物理單元的特征差值都以相同的系數加入累加和,一旦其中一部分特征差值由于環境變化發生比較大的改變,將導致累加和結果也發生劇烈的波動,從而得到錯誤的響應。
本專利中提出的穩定增強型物理不可克隆函數由挑戰值來對物理單元的特征差值進行正負以及系數的取值控制,使得累加和結果更依賴于高系數的特征差值項,從而能夠減弱低系數差值項的不穩定性對累加和結果的影響,使得響應在電壓溫度改變的環境下更穩定。
技術實現要素:
本發明要解決的技術問題是提供一種穩定增強型物理不可克隆函數,對于基于特征差值累加和結構的物理不可克隆函數,將原挑戰進行擴展,由多位挑戰來決定特征差值的取值,即除了控制差值的正負,還能控制差值的系數,使得累加和結果更依賴于高系數的特征差值項,從而能夠減弱低系數差值項的不穩定性對累加和結果的影響,使得響應在電壓溫度改變的環境下更穩定。
為解決上述技術問題,本發明提供一種穩定增強型物理不可克隆函數,并給出了采用該方法的一個穩定增強型物理不可克隆函數的實現實例。本發明穩定增強型物理不可克隆函數如下:
(1)穩定增強型物理不可克隆函數包含2n個(n>0)物理單元cell0,cell1,……,cell2n-2,cell2n-1;
(2)測量每個物理單元cell0,cell1,……,cell2n-2,cell2n-1的puf特征結果,記為r0,r1,……,r2n-2,r2n-1;
(3)將所有物理單元分為n組,每組包含兩個物理單元cell2i,cell2i+1(0≤i≤n-1);將兩個物理單元的測量結果相減得到結果差值δri=r2i-r2i+1;
(4)挑戰包含s*n比特(s≥2),對于第i組物理單元cell2i,cell2i+1,對應的挑戰位為挑戰比特位(s*i)到(s*i+s-1),記為分組挑戰值ci。分組挑戰值ci的第j比特記為ci,j(0≤j≤s-1);
(5)對于第i組物理單元的結果差值δri,由分組挑戰值ci進行取值控制,即將結果差值δri乘以一個帶符號的非0整數f(f≥1)。
a)分組挑戰值ci第0比特ci,0決定f的正負取值
b)分組挑戰值ci第1比特ci,1到第(s-1)比特ci,s-1決定f的系數取值
(6)將所有經過取值控制的結果差值相加得到結果差值累加和,根據結果差值累加和得到一位響應。
步驟1中的物理單元,包括但不限于環形振蕩器、延時鏈、開關電阻等。
步驟2中的puf特征,包括但不限于環形振蕩器的頻率、延時鏈的延時時間、開關電阻的
阻值等。
步驟4中的挑戰包含s*n比特,當原始挑戰比特位數少于s*n比特,可以通過線性反饋移位寄存器或者分組算法,但不限于線性反饋移位寄存器或者分組算法,對原始挑戰進行擴展。
步驟5中的由分組挑戰值ci第0比特ci,0決定f的正負取值的方法。包括如果挑戰為1,f的符號為負;如果挑戰為0,f的符號為正。
步驟5中的由分組挑戰值ci第1比特ci,1到第(s-1)比特ci,s-1決定f的系數取值的方法。包括使得f等于(ci,s-1*2s-2+…+ci,2*21+ci,1*20+1)。
步驟6中根據結果差值累加和得到一位響應的方法。包括當結果差值累加和大于等于某一閾值,則使得響應為1;當結果差值累加和小于某一閾值,則使得響應為0。
下面對穩定增強型物理不可克隆函數的原理進行一下說明:
本發明的方法就是通過物理單元的特征差值累加和來實現物理不可克隆函數。所有物理單元結構在實現時盡可能保持一致,但是由于芯片的固有結構差異和制造差異,制造出的物理單元必然會存在差異,這種差異稱為物理單元的特征結果。這樣的差異即存在于同一顆芯片的不同物理單元中,也存在于不同芯片的物理單元中。挑戰比特位用來對兩個物理單元的特征結果差值進行正負以及系數的取值控制。不同的挑戰將導致物理單元的特征結果差異以不同取值加入累加和中,從而生成不同的響應。
本發明的有益效果在于:通常來說,物理單元特征結果十分容易受到環境變化的影響,例如電壓和溫度等。傳統基于物理單元特征差值累加和的物理不可克隆函數通過挑戰對特征結果差值進行正負的取值控制,所有的特征差值根據挑戰以正值或者負值加入累加和,一旦其中一部分特征差值由于環境變化發生比較大的改變,導致累加和結果也發生劇烈的波動,從而得到錯誤的響應。而本發明中的穩定增強型物理不可克隆函數通過挑戰對特征結果差值進行正負以及系數的取值控制,將原挑戰進行擴展,一部分挑戰控制特征差值以正值或者負值加入累加和,另一部分挑戰控制特征差值乘以系數加入累加和。累加和的結果將更依賴于高系數的那些差值項,從而能夠減弱低系數差值項的不穩定性對累加和結果的影響,使得響應在電壓溫度改變的環境下更穩定。參照附圖1的結構,平均一半的特征差值的系數為±1,另一半的特征差值的系數為±f,因此后一半的高系數特征差值將對累加和結果起到更大的影響。
本發明在穩定增強型物理不可克隆函數中通過挑戰對特征差值進行正負以及系數的取值控制后進行累加,使得累加和結果更依賴于高系數的特征差值項,從而使得響應在電壓溫度改變的環境下更穩定。
附圖說明
圖1基于物理特征值累加和的強物理不可克隆函數
圖2一種穩定增強型物理不可克隆函數
具體實施方式
如圖2實例中的物理單元為環形振蕩器,個數為128個。挑戰c的長度為64比特,對應一個比特的響應r。
具體的穩定增強型物理不可克隆函數流程如下描述:
步驟1,穩定增強型物理不可克隆函數包含128個環形振蕩器ro0,ro1,……,ro126,ro127。
步驟2,測量每個環形振蕩器ro0,ro1,……,ro126,ro127的頻率,記為r0,r1,……r2n-2,r2n-1。
步驟3,將所有環形振蕩器分為64組,每組包含兩個環形振蕩器ro2i,ro2i+1(0≤i≤63);將兩個環形振蕩器的頻率測量結果相減得到結果差值δri=r2i-r2i+1。
步驟4,通過線性反饋移位寄存器將64比特原始挑戰c擴展得到128比特挑戰c’。對于第i組環形振蕩器ro2i,ro2i+1,對應的挑戰位為挑戰c’的比特位2i到(2i+1),記為分組挑戰值ci。分組挑戰值ci的第j比特記為ci,j(0≤j≤1)。
步驟5,對于第i組環形振蕩器的結果差值δri,由分組挑戰值ci進行取值控制,即將結果差值δri乘以一個帶符號的非0整數f。分組挑戰值ci第0比特ci,0決定f的正負取值,分組挑戰值ci第1比特ci,1決定f的系數取值,即如果挑戰ci,0為0、ci,1為0,f等于1;如果挑戰ci,0為1、ci,1為0,f等于-1;如果挑戰ci,0為0、ci,1為1,f等于2;如果挑戰ci,0為1、ci,1為1,f等于-2。
步驟6,將所有經過取值控制的結果差值相加得到結果差值累加和,當結果差值累加和大于等于0,則使得響應為1;當結果差值累加和小于0,則使得響應為0。