專利名稱:一種基于前饋模式的物理不可克隆功能模塊及其實現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于物聯(lián)網(wǎng)安全的物理不可克隆功能模塊,特別是涉及一種基于前饋模式的物理不可克隆功能模塊,同時還涉及使用該模塊實現(xiàn)物理不可克隆功能的實現(xiàn)方法。
背景技術(shù):
近年來,隨著物聯(lián)網(wǎng)的出現(xiàn)和成長,其獨有的安全問題引發(fā)了基于物聯(lián)網(wǎng)的安全協(xié)議的研究熱潮。目前,國內(nèi)外提出了一系列的安全認證協(xié)議,但這些協(xié)議都存在某種缺陷或不足,至今仍未能提出一種安全、高效、實用的,能適用于物聯(lián)網(wǎng)系統(tǒng)安全問題的解決方案。而基于物理不可克隆功能(physical uncloneable function)的安全協(xié)議的出現(xiàn)填補了這種空白,該基于物理層對終端進行認證和密鑰協(xié)商的機制以其簡單和不可破解性得到關(guān)注。這種安全協(xié)議的核心是物理不可克隆功能的實現(xiàn),它既要具有可靠性又要使得攻擊者無法破解。目前出現(xiàn)的PUF實現(xiàn)方案大體上分為三種基于FPGA中SRAM的PUF實現(xiàn) (IPUF),基于交叉耦合逆變電路的PUF實現(xiàn)(BPUF),基于仲裁器的PUF實現(xiàn)(ABPUF)。其中IPUF是基于同一 SRAM上電后每個位置的存儲單元都具有其相對固定的狀態(tài)而不同SRAM 上電后相同位置存儲單元的狀態(tài)不具有相關(guān)性這一事實,但是由于大多數(shù)使用SRAM的處理器或者控制器都會在上電后先對SRAM進行清零操作,以致很難提取上電后SRAM每個存儲單元的上電初值,所以這種實現(xiàn)方式的廣泛應用就受到了限制。而BPUF是人為實現(xiàn)每個存儲單元的內(nèi)部競爭以引發(fā)每個存儲單元發(fā)生類似與初上電時進行的競爭操作,由于需要隔離每個存儲單元實現(xiàn)起來較為復雜并且將其應用與安全協(xié)議結(jié)合較為困難,也對其應用產(chǎn)生了負面影響。ABPUF則基于級聯(lián)的選擇器長鏈的兩路信號傳輸延遲競爭的特點,實現(xiàn)起來較為容易,但是也由于其過于簡單如果獲得較多的輸入輸出序列有可能以一定的概率猜測對應特定輸入的輸出序列。并且其輸出序列中O和I的個數(shù)相差較大,每個ABPUF都會相應的傾向于取O或取1,導致輸出序列的隨機性較差。從可實現(xiàn)性角度,以ABPUF為佳,但是單純的ABPUF很難達到期望的性能,因此必須對ABPUF加以改進使得攻擊者不能獲取足夠的輸入輸出信息來對其進行破解,并盡量保證輸出序列中O和I的個數(shù)較為接近。
發(fā)明內(nèi)容
發(fā)明目的本發(fā)明的目的是為了解決現(xiàn)有技術(shù)的不足,提供一種克服了 ABPUF可能被破解缺陷的,安全性極高的,且不可克隆的,基于前饋模式的物理不可克隆功能模塊, 同時還提供了基于該模塊實現(xiàn)物理不可克隆功能的方法。技術(shù)方案為了實現(xiàn)以上目的,本發(fā)明所述的一種基于前饋模式的物理不可克隆功能模塊,包括兩路選擇器、前饋邏輯電路和判優(yōu)器;
所述兩路選擇器包括兩個輸入端輸入端A和輸入端B,兩個輸出端輸出端A和輸出B,和一個選擇端;當選擇端輸入O時,輸入端A連接輸出端A,輸入端B連接輸出端B,當選擇端輸入I時,輸入端和輸出端交叉相連,輸入端A連接輸出端B,輸入端B連接輸出端 A0所述前饋邏輯電路包括兩個輸入端輸入端C和輸入端D,一個輸出端輸出端 C ;其輸入端C和輸入端D的位置隨機生成,輸出端C的位置也是隨機生成,但是輸入端C和輸入端D在輸出端C的前面,即構(gòu)成前饋模式。所述判優(yōu)器包括兩個輸入端輸入端E和輸入端F,一個輸出端輸出端D ;當輸入端E先變成I時,輸出端D輸出為1,當輸入端F先變成I時,輸出端D輸出為O ;即使未能滿足建立時間的要求,判優(yōu)器的輸出也會進入一個穩(wěn)定狀態(tài),盡管這個狀態(tài)不可預知,但它不是O就是I。該判優(yōu)器還具有自動跳出亞穩(wěn)態(tài)的功能。如果它進入亞穩(wěn)態(tài),則它只需經(jīng)過一個隨機的延遲就能回到穩(wěn)定狀態(tài)。多個所述兩路選擇器級聯(lián)后輸出端與判優(yōu)器的輸入端連接;前饋邏輯電路的輸入端與兩路選擇器的輸入端或輸出端連接;前饋邏輯電路的輸出端與后級兩路選擇器的選擇端連接;多個級聯(lián)的兩路選擇器中若干個兩路選擇器的選擇端與前饋邏輯電路的輸出端相連,用于控制后級兩路選擇器的選擇狀態(tài)。由于基于前饋模式的物理不可克隆功能模塊中若干兩路選擇器的選擇端不由外部輸入,這些兩路選擇器的選擇端與前饋邏輯電路的輸出端相連,這樣前饋邏輯電路的輸出端C加載到后級此類兩路選擇器的選擇端,用于控制后級兩路選擇器的選擇狀態(tài)。當前饋邏輯電路輸出端輸出為I時,其所加載到的兩路選擇器,輸入端A連接輸出端A,輸入端B 連接輸出端B ;當前饋邏輯電路輸出端輸出為O時,其所加載到的兩路選擇器,輸入端和輸出端交叉相連,輸入端A連接輸出端B,輸入端B連接輸出端A。本發(fā)明中所述判優(yōu)器由一個有兩輸入端的邊沿觸發(fā)式D觸發(fā)器組成。判優(yōu)器使用 D觸發(fā)器,而非傳統(tǒng)的D鎖存器,使得該判優(yōu)器即使未能滿足建立時間的要求,它的輸出也會進入一個穩(wěn)定狀態(tài),盡管這個狀態(tài)不可預知,但它不是O就是1,同時該判優(yōu)器還具有自動跳出亞穩(wěn)態(tài)的功能;如果它進入亞穩(wěn)態(tài),則它只需經(jīng)過一個隨機的延遲就能回到穩(wěn)定狀態(tài);因此,采用D觸發(fā)器提高了系統(tǒng)的穩(wěn)定性。本發(fā)明還公開了基于前饋模式的物理不可克隆功能模塊的實現(xiàn)方法,所述基于前饋模式的物理不可克隆功能模塊與FPGA連接,所述方法的具體步驟如下
(1)將基于前饋模式的物理不可克隆功能模塊對應的控制程序下載到FPGA中;
(2)在級聯(lián)的兩路選擇器的最前面一個的輸入端加上每個時鐘周期恒為I的信號源;
(3)提供偽隨機的64位的輸入二進制序列加載到級聯(lián)的兩路選擇器的選擇端;
(4)提供偽隨機的64位輸入二進制序列加載到兩路選擇器選擇端后,信源信號通過級聯(lián)的兩路選擇器的兩路競爭路徑到達判優(yōu)器,其中信號到達每個前饋邏輯電路時,前饋邏輯電路將信號經(jīng)過邏輯判優(yōu),前饋邏輯電路的判優(yōu)結(jié)果輸出加到后級的兩路選擇器的選擇端;所述邏輯判優(yōu)的優(yōu)規(guī)則為由于前饋邏輯電路兩個輸入端C和輸入端D分別連接著其之前的若干個兩路選擇器級聯(lián)構(gòu)成的長鏈的輸出端,這條長鏈的兩個輸出端口存在不同的延時并且之間存在競爭關(guān)系,如與輸入端C相連的兩路選擇器長鏈輸出端信號先到達前饋邏輯電路,則前饋邏輯電路的輸出端C輸出1,否則前饋邏輯電路的輸出端C輸出O ;
(5)判優(yōu)器根據(jù)兩路信號到達的先后順序,確定輸出為I還是O;
(6)重復(2)至(5),直到輸出64位二進制序列為止。
有益效果本發(fā)明與現(xiàn)有技術(shù)相比具有以下優(yōu)點
1、本發(fā)明所述模塊克服了現(xiàn)有的物理不可克隆功能電路輸出二進制序列中O和I數(shù)量相差較大和攻擊者可以獲取足夠多的輸入輸出序列對其進行仿真的缺陷,輸出了更有隨機性的輸出序列,同時將部分兩路選擇器的輸入對外隱藏,使得該物理不可克隆功能模塊失去了被軟件仿真的可能性,應用更方便、安全;
2、本發(fā)明中判優(yōu)器使用D觸發(fā)器,而非傳統(tǒng)的D鎖存器,使得該判優(yōu)器即使未能滿足建立時間的要求,它的輸出也會進入一個穩(wěn)定狀態(tài),盡管這個狀態(tài)不可預知,但它不是O就是 1,同時該判優(yōu)器還具有自動跳出亞穩(wěn)態(tài)的功能。如果它進入亞穩(wěn)態(tài),則它只需經(jīng)過一個隨機的延遲就能回到穩(wěn)定狀態(tài),因此,采用D觸發(fā)器提高了系統(tǒng)的穩(wěn)定性;
3、本發(fā)明中級聯(lián)的兩路選擇器的外圍使用前饋邏輯電路,保證了一些兩路選擇器的選擇端并非來自外部輸入序列,并且前饋模塊的輸入輸出位置隨機選取使輸出序列更具有隨機性,即輸出序列中O和I的個數(shù)比傳統(tǒng)的PUF更為接近,由于采用前饋模式,攻擊者不能獲取真正的輸入輸出序列,使用軟件模擬的方法變的不可能,保證了該PUF的安全性和不可克隆性;
4、本發(fā)明所述基于前饋模式的物理不可克隆功能模塊擴展靈活使用方便。
圖
圖
圖
圖
圖
具體實施例方式下面結(jié)合附圖和具體實施例,進一步闡明本發(fā)明,應理解這些實施例僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍,在閱讀本發(fā)明之后,本領(lǐng)域技術(shù)人員對本發(fā)明的各種等價形式的修改均落于本申請所附權(quán)利要求所限定的范圍。
實施例如圖I所示的一種基于前饋模式的物理不可克隆功能模塊,包括兩路選擇器、前饋邏輯電路和判優(yōu)器;所述兩路選擇器包括兩個輸入端輸入端A和輸入端B,兩個輸出端輸出端A和輸出B,和一個選擇端;當選擇端輸入O時,輸入端A連接輸出端A,輸入端 B連接輸出端B,當選擇端輸入I時,輸入端和輸出端交叉相連,輸入端A連接輸出端B,輸入端B連接輸出端A (如圖2所述)。兩路選擇器的輸入端和輸出端無論是交叉相連還是順序相連,兩條路徑的時延相差都會很小,因此如要提取這微小的競爭時延差需要級聯(lián)很多個兩路選擇器,這樣最終的競爭時延差才能夠被輸出端的判優(yōu)器成功的提取。所述前饋邏輯電路包括兩個輸入端輸入端C和輸入端D,一個輸出端輸出端 C ;其輸入端C和輸入端D的位置隨機生成,輸出端C的位置也是隨機生成,但是輸入端C和輸入端D在輸出端C的前面,即構(gòu)成前饋模式;所述判優(yōu)器包括兩個輸入端輸入端E和輸入端F,一個輸出端輸出端D ;所述判優(yōu)器由一個有兩輸入端的邊沿觸發(fā)式D觸發(fā)器組成;多個所述兩路選擇器級聯(lián)后輸出端與判優(yōu)器的輸入端連接;前饋邏輯電路的輸入端與兩路選擇器的輸入端或輸出端連接,前饋邏輯電路的輸出端加載到后級兩路選擇器的選擇端。本實施例所述基于前饋模式的物理不可克隆功能模塊與FPGA連接,所述方法的具體步驟如下
(1)將基于前饋模式的物理不可克隆功能模塊對應的控制程序下載到FPGA中;
(2)在級聯(lián)的兩路選擇器的最前面一個的輸入端加上每個時鐘周期恒為I的信號源;
(3)提供偽隨機的64位的輸入二進制序列加載到級聯(lián)的兩路選擇器的選擇端;
(4)提供偽隨機的64位輸入二進制序列加載到兩路選擇器選擇端后,信源信號通過級聯(lián)的兩路選擇器的兩路競爭路徑到達判優(yōu)器,其中信號到達每個前饋邏輯電路時,前饋邏輯電路將信號經(jīng)過邏輯判優(yōu),判優(yōu)規(guī)則為由于前饋邏輯電路兩個輸入端C和輸入端D分別連接著其之前的若干個兩路選擇器構(gòu)成的長鏈的輸出端,這條長鏈的兩個輸出端口存在不同的延時并且之間存在競爭關(guān)系,如與輸入端C相連的兩路選擇器長鏈輸出端信號先到達前饋邏輯電路,則前饋邏輯電路的輸出端C輸出1,否則前饋邏輯電路輸出端C輸出O ;前饋邏輯電路的判優(yōu)輸出加到后級的兩路選擇器的選擇端;
(5)判優(yōu)器根據(jù)兩路信號到達的先后順序,確定輸出為I還是O;
(6)重復(2)至(5),直到輸出64位二進制序列為止。本實施例中,當在信號源的位置每個時鐘周期輸出恒為I后,將64位二進制序列加載到相應的64個選擇器的選擇端,當信號到達前饋邏輯電路的輸入端時,該前饋邏輯電路將對兩路信號進行邏輯判優(yōu)并輸出一個比特加載到后面隨機確定位置的一個兩路選擇器的選擇端,信號經(jīng)過所有兩路選擇器、前饋邏輯電路處理后最終到達判優(yōu)器,判優(yōu)輸出I 比特二進制數(shù)據(jù);這樣64個周期輸出64位二進制序列,使得輸入和輸出序列的個數(shù)相等, 每個周期輸出一個比特,如果需要輸出長度更長的序列只需從更多周期取出輸出端數(shù)據(jù)即可。如果同時想增加輸入端的個數(shù)只需照此結(jié)構(gòu)擴展,靈活方便。
權(quán)利要求
1.一種基于前饋模式的物理不可克隆功能模塊,其特征在于包括兩路選擇器、前饋邏輯電路和判優(yōu)器;所述兩路選擇器包括兩個輸入端輸入端A和輸入端B,兩個輸出端輸出端A和輸出B,和一個選擇端;當選擇端輸入O時,輸入端A連接輸出端A,輸入端B連接輸出端B ;當選擇端輸入I時,輸入端和輸出端交叉相連,輸入端A連接輸出端B,輸入端B連接輸出端 A ;所述前饋邏輯電路包括兩個輸入端輸入端C和輸入端D,一個輸出端輸出端C ;其輸入端C和輸入端D的位置隨機生成,輸出端C的位置也是隨機生成,但是輸入端C和輸入端D在輸出端C的前面,即構(gòu)成前饋模式;所述判優(yōu)器包括兩個輸入端輸入端E和輸入端F,一個輸出端輸出端D ;當輸入端 E先變成I時,輸出端D輸出為I ;當輸入端F先變成I時,輸出端D輸出為O ;多個所述兩路選擇器級聯(lián)后輸出端與判優(yōu)器的輸入端連接;前饋邏輯電路的輸入端與兩路選擇器的輸入端或輸出端連接;前饋邏輯電路的輸出端與后級兩路選擇器的選擇端連接;多個級聯(lián)的兩路選擇器中若干個兩路選擇器的選擇端與前饋邏輯電路的輸出端相連, 用于控制后級兩路選擇器的選擇狀態(tài)。
2.根據(jù)權(quán)利要求I所述的一種基于前饋模式的物理不可克隆功能模塊,其特征在于 所述判優(yōu)器由一個有兩個輸入端的邊沿觸發(fā)式D觸發(fā)器構(gòu)成。
3.根據(jù)權(quán)利要求2所述的一種基于前饋模式的物理不可克隆功能模塊的實現(xiàn)方法,其特征在于所述基于前饋模式的物理不可克隆功能模塊與FPGA連接,所述方法的具體步驟如下(1)將基于前饋模式的物理不可克隆功能模塊對應的控制程序下載到FPGA中;(2)在級聯(lián)的兩路選擇器的最前面一個的輸入端加上每個時鐘周期恒為I的信號源;(3)提供偽隨機的64位的輸入二進制序列加載到級聯(lián)的兩路選擇器的選擇端;(4)提供偽隨機的64位輸入二進制序列加載到兩路選擇器選擇端后,信源信號通過級聯(lián)的兩路選擇器的兩路競爭路徑到達判優(yōu)器,其中信號到達每個前饋邏輯電路時,前饋邏輯電路將信號經(jīng)過邏輯判優(yōu),邏輯判優(yōu)后的前饋邏輯電路輸出端C加到后級的兩路選擇器的選擇端;(5)判優(yōu)器根據(jù)兩路信號到達的先后順序,確定輸出為I還是O;(6)重復(2)至(5),直到輸出64位二進制序列為止。
全文摘要
本發(fā)明公開了一種基于前饋模式的物理不可克隆功能模塊,該功能模塊包括兩路選擇器、前饋邏輯電路和判優(yōu)器;多個所述兩路選擇器級聯(lián)后輸出端與判優(yōu)器的輸入端連接;前饋邏輯電路的輸入端與兩路選擇器的輸入端或輸出端連接,前饋邏輯電路的輸出端加載到后級兩路選擇器的選擇端。本發(fā)明還公開了基于前饋模式的物理不可克隆功能模塊的實現(xiàn)方法。本發(fā)明克服了現(xiàn)有的物理不可克隆功能模塊輸出二進制序列中0和1數(shù)量相差較大和攻擊者可以獲取足夠多的輸入輸出序列對其進行仿真的缺陷,達到了輸出序列更有隨機性的目的。
文檔編號H04L29/06GK102611684SQ201110419448
公開日2012年7月25日 申請日期2011年12月15日 優(yōu)先權(quán)日2011年12月15日
發(fā)明者劉錫侖, 宋宇波, 王雪晨, 賈成偉 申請人:東南大學