国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于SRAM型存儲器的物理不可克隆函數(shù)響應糾錯電路的制作方法

      文檔序號:12375567閱讀:310來源:國知局
      一種基于SRAM型存儲器的物理不可克隆函數(shù)響應糾錯電路的制作方法與工藝

      本發(fā)明涉及一種基于SRAM型存儲器的物理不可克隆函數(shù)響應糾錯電路,屬于信息安全技術(shù)領(lǐng)域。



      背景技術(shù):

      物理不可克隆函數(shù)PUF是指一種可以依靠制造過程中的差異性來產(chǎn)生其特有輸出的物理實體。對PUF結(jié)構(gòu)輸入的激勵C和產(chǎn)生的響應R被稱為激勵-響應對CRP。一些情況下,PUF結(jié)構(gòu)被認為是匹配激勵響應的映射函數(shù)。對于同一個PUF結(jié)構(gòu),輸入多次相同的激勵會產(chǎn)生不同的響應,響應的差異是由于一些不規(guī)則的噪聲、測量誤差和周圍環(huán)境如溫度、電壓等的變化引起的,而響應之間的差異稱為片內(nèi)漢明距離。為了使同一個PUF結(jié)構(gòu)的響應具有可再現(xiàn)的特性,片內(nèi)漢明距離當然是越小越好。但兩個不同PUF結(jié)構(gòu)的響應差異越大,就越容易區(qū)分兩者。由于制造不出兩塊產(chǎn)生相同的激勵響應對的PUF結(jié)構(gòu),因此,PUF是不可克隆的。

      SRAM PUF(靜態(tài)隨機存取存儲器物理不可克隆函數(shù))電路是利用數(shù)字信號鎖存結(jié)構(gòu)在集成電路制造過程中存在的工藝偏差來產(chǎn)生物理不可克隆函數(shù)關(guān)系的電路。SRAM PUF電路的函數(shù)關(guān)系容易受到供電電壓、溫度以及老化等因素的影響,輸出值并不穩(wěn)定,因此在使用前必須經(jīng)過糾錯處理,使同一片PUF產(chǎn)生的有差異的響應通過函數(shù)能得到穩(wěn)定的映射值。



      技術(shù)實現(xiàn)要素:

      發(fā)明目的:為了克服現(xiàn)有技術(shù)中存在的不足,本發(fā)明提供一種基于SRAM型存儲器的物理不可克隆函數(shù)響應糾錯電路,克服SRAM PUF響應的不穩(wěn)定性,將不穩(wěn)定的SRAM PUF響應輸出轉(zhuǎn)換為穩(wěn)定的密鑰和位置碼之間的映射關(guān)系,從而實現(xiàn)硬件身份認證,認證過程簡單可靠,高效穩(wěn)定,降低硬件成本。

      技術(shù)方案:為實現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案為:

      一種基于SRAM型存儲器的物理不可克隆函數(shù)響應糾錯電路,包括控制模塊、編碼模塊及解碼模塊;

      其中,所述編碼模塊用于將物理不可克隆函數(shù)的響應結(jié)合由隨機數(shù)組成的密鑰序列通過編碼規(guī)則映射成唯一對應的位置碼序列;

      所述解碼模塊用于將物理不可克隆函數(shù)的響應結(jié)合原有的位置碼序列通過相應的解碼規(guī)則反映射還原出對應的密鑰序列;

      所述控制模塊用于實現(xiàn)編碼和解碼這兩種狀態(tài)之間的轉(zhuǎn)換、時序和地址的生成、各模塊電路之間的線路控制和計算編碼前密鑰和解碼后密鑰之間的相似度的功能。

      優(yōu)選的,所述控制模塊包括控制電路、編碼-解碼轉(zhuǎn)換器、時鐘產(chǎn)生電路、地址生成電路及數(shù)據(jù)串組合電路;

      其中,所述編碼-解碼轉(zhuǎn)換器用于切換編碼和解碼這兩種工作狀態(tài),時鐘產(chǎn)生電路用于生成時鐘觸發(fā)信號,地址生成電路用于生成每個存儲器的讀寫地址,數(shù)據(jù)串組合電路用于將數(shù)據(jù)串形式的密鑰拆成單個二進制碼或?qū)⒍M制碼形式的密鑰重新組合成數(shù)據(jù)串形式。

      所述編碼模塊包括漢明糾錯算法電路、求最大偏差值電路、位置碼存儲器、密鑰生成電路、糾錯碼存儲器及SRAM PUF-1響應提取電路;

      所述解碼模塊包括漢明糾錯算法電路、數(shù)值極性判斷電路、位置碼存儲器、糾錯碼存儲器及SRAM PUF-2響應提取電路;

      其中,所述漢明糾錯算法電路包括編碼和解碼兩種模式,其中編碼模式下,當輸入一個數(shù)據(jù)串時,漢明糾錯算法電路將輸出該數(shù)據(jù)串及對應的檢驗碼;解碼模式下,當輸入一個數(shù)據(jù)串和對應的檢驗碼時,漢明糾錯算法電路將輸出該數(shù)據(jù)串經(jīng)過糾錯后得到的數(shù)據(jù)串。

      (一)具體的編碼過程如下:

      (1)編碼初始復位:當收到外部的編碼指令時,控制電路向編碼-解碼轉(zhuǎn)換器發(fā)出編碼請求,編碼-解碼轉(zhuǎn)換器隨后發(fā)出復位信號,使編碼電路復位;同時,編碼-解碼轉(zhuǎn)換器向SRAM PUF-1響應提取電路發(fā)出響應提取信號;

      (2)SRAM PUF-1響應提?。篠RAM PUF-1響應提取電路收到信號后開始提取第一個SRAM型存儲器物理不可克隆函數(shù)的響應SRAM PUF-1,并通過數(shù)據(jù)串組合電路把該響應SRAM PUF-1以8位二進制補碼的形式導出若干個響應數(shù)值,導出的響應數(shù)值存儲在數(shù)據(jù)庫中并發(fā)送給求最大偏差值電路,存儲完畢后發(fā)送編碼準備完畢信號給編碼-解碼轉(zhuǎn)換器;

      (3)開始編碼:編碼-解碼轉(zhuǎn)換器收到反饋信號后,向密鑰生成電路發(fā)出生成密鑰信號,并通過時鐘產(chǎn)生電路觸發(fā)漢明糾錯算法電路的編碼模式,使?jié)h明糾錯算法電路工作在編碼狀態(tài);

      (4)生成密鑰序列:密鑰生成電路收到信號后生成由隨機數(shù)組成的密鑰序列,同時將該密鑰序列存儲在數(shù)據(jù)庫中并發(fā)送給漢明糾錯算法電路;

      (5)產(chǎn)生糾錯碼:編碼狀態(tài)的漢明糾錯算法電路收到作為密鑰序列的數(shù)據(jù)串后生成該數(shù)據(jù)串對應的糾錯碼并存儲在糾錯碼存儲器中,同時通過數(shù)據(jù)串組合電路將該密鑰序列轉(zhuǎn)換成二進制碼的形式發(fā)送給求最大偏差值電路;

      (6)生成位置碼:包括以下步驟:

      (61)求最大偏差值電路接收到SRAM PUF-1響應提取電路發(fā)出的若干個SRAMPUF-1響應數(shù)值后,將這些SRAMPUF-1響應數(shù)值按照每組N個的形式進行分組,每組中的SRAMPUF-1響應數(shù)值對應的位置序號依次為0,1,2…N-1;

      (62)計算出每一組的平均響應數(shù)值,保存在數(shù)據(jù)庫中并定義大于該組平均響應數(shù)值為正,小于該組平均響應數(shù)值為負;

      (63)密鑰序列中每一比特位對應一個響應數(shù)值組,若該響應數(shù)值組對應的比特位為1,則找出該組中數(shù)值與平均響應數(shù)值正向偏差最大的響應,同時將該響應在該組中的位置序號保存;若該響應數(shù)值組對應的比特位為0,則找出該組中數(shù)值與平均響應數(shù)值負向偏差最大的響應,同時將該響應在組中的位置序號保存;這些位置序號通過數(shù)據(jù)串組合電路順序排列組成位置碼存儲到位置碼存儲器中;

      (64)密鑰序列中每一比特位對應N*8比特位的SRAM PUF-1響應,這種時序?qū)P(guān)系由時鐘產(chǎn)生電路控制;

      (7)編碼完成:當所有的SRAM PUF-1響應都編碼完成后,求最大偏差值電路向控制電路發(fā)出編碼完成信號,編碼結(jié)束。

      (二)具體的解碼過程如下:

      (A)解碼初始復位:當收到外部的解碼命令時,控制電路向編碼-解碼轉(zhuǎn)換器發(fā)出解碼請求,編碼-解碼轉(zhuǎn)換器隨后發(fā)出復位信號,使解碼電路復位;同時,編碼-解碼轉(zhuǎn)換器向SRAM PUF-2響應提取電路發(fā)出響應提取信號;

      (B)SRAM PUF-2響應提取:SRAM PUF-2響應提取電路收到信號后開始提取第二個SRAM型存儲器物理不可克隆函數(shù)的響應SRAM PUF-2,并通過數(shù)據(jù)串組合電路把該響應SRAM PUF-2以8位二進制補碼的形式導出若干個響應數(shù)值,導出的響應數(shù)值存儲在數(shù)據(jù)庫中并發(fā)送給數(shù)值極性判斷電路,存儲完畢后發(fā)送響應提取完成信號給編碼-解碼轉(zhuǎn)換器;

      (C)開始解碼:編碼-解碼轉(zhuǎn)換器收到SRAM PUF-2響應提取電路的反饋信息后,向數(shù)值極性判斷電路發(fā)送解碼開始信號,并通過時鐘產(chǎn)生電路觸發(fā)漢明糾錯算法電路的解碼模式,使?jié)h明糾錯算法電路工作在解碼狀態(tài);

      (D)生成密鑰序列:包括以下步驟:

      (D1)數(shù)值極性判斷電路收到解碼開始信號后,將從SRAM PUF-2響應提取電路得到的若干個SRAMPUF-2響應數(shù)值同樣按照每組N個的形式進行分組,每組中的SRAMPUF-2響應數(shù)值對應的位置序號依次為0,1,2…N-1;

      (D2)計算出每一組的平均響應數(shù)值,保存在數(shù)據(jù)庫中并定義大于該組平均響應數(shù)值為正,小于該組平均響應數(shù)值為負;

      (D3)從位置碼存儲器中讀取位置碼,位置碼中每一個位置序號對應一個響應數(shù)值組,找出該組中其位置序號所對應的SRAM PUF-2響應數(shù)值,若該響應數(shù)值為正,則對應的密鑰值為1,否則,對應的密鑰值為0;位置碼中每一個位置序號對應N*8比特位的SRAM PUF-2響應,這種時序?qū)P(guān)系由時鐘產(chǎn)生電路控制;

      (D4)將這些密鑰值通過數(shù)據(jù)串組合電路轉(zhuǎn)換成數(shù)據(jù)串形式的密鑰序列存儲到數(shù)據(jù)庫中并發(fā)送給漢明糾錯算法電路;

      (E)密鑰序列糾錯:收到該密鑰序列后,漢明糾錯算法電路同時從糾錯碼存儲器中讀取相應的糾錯碼,得到糾錯后的密鑰序列,存儲后發(fā)送到控制電路;

      (F)相似度計算:控制電路對糾錯后的密鑰序列及編碼中生成的密鑰序列進行相似度計算,若兩者的相似度高于設定值,說明產(chǎn)生SRAMPUF-1響應的硬件和產(chǎn)生SRAM PUF-2響應的硬件是同一塊硬件;否則,說明兩者是兩塊不同的硬件;

      (G)解碼完成判斷:當完成SRAMPUF-1響應與SRAM PUF-2響應的對比后,控制電路向外部輸出判斷的結(jié)果,解碼結(jié)束。

      優(yōu)選的,編碼過程中,密鑰生成電路生成的密鑰序列按照每組S個的形式進行分組后再通過漢明糾錯算法電路來產(chǎn)生糾錯碼;對應地,解碼過程中,數(shù)值極性判斷電路生成的密鑰序列按照每組S個的形式進行分組后再通過漢明糾錯算法電路來糾錯。

      一般SRAM PUF有大量的響應數(shù)據(jù),而使用帶糾錯碼的漢明糾錯方法時,由于糾錯能力有限,不能一次將所有的密鑰序列糾錯,因此對密鑰序列分組糾錯能有效提高漢明糾錯算法電路的糾錯效率。

      進一步的,編碼過程中,求最大偏差值電路(103)生成的位置碼為K比特位,對應地,解碼過程中,數(shù)值極性判斷電路(104)讀取的位置碼為K比特位,且滿足N<2K。

      有益效果:本發(fā)明提供的一種基于SRAM型存儲器的物理不可克隆函數(shù)響應糾錯電路,相對于現(xiàn)有技術(shù),具有以下效果:本發(fā)明克服了SRAM PUF響應的不穩(wěn)定性,將不穩(wěn)定的SRAMPUF響應輸出轉(zhuǎn)換為穩(wěn)定的密鑰和位置碼之間的映射關(guān)系,從而實現(xiàn)了硬件身份的認證,提高了身份認證的安全性,簡化了認證過程,提高了認證效率,降低了硬件成本。

      附圖說明

      圖1為本發(fā)明一種基于SRAM型存儲器的物理不可克隆函數(shù)響應糾錯電路的總體結(jié)構(gòu)原理框圖;

      圖2為本發(fā)明控制模塊電路的結(jié)構(gòu)原理框圖;

      圖3為本發(fā)明在編碼階段的流程圖;

      圖4為本發(fā)明在解碼階段的流程圖;

      圖中包括:漢明糾錯算法電路101,糾錯碼存儲器102,求最大偏差值電路103,數(shù)值極性判斷電路104,位置碼存儲器105,密鑰生成電路106,SRAM PUF-1響應提取電路107,SRAM PUF-2響應提取電路108,控制電路201,編碼-解碼轉(zhuǎn)換器202,時鐘產(chǎn)生電路203,地址生成電路204,數(shù)據(jù)串組合電路205。

      具體實施方式

      下面結(jié)合附圖對本發(fā)明作更進一步的說明。

      如圖1所示為一種基于SRAM型存儲器的物理不可克隆函數(shù)響應糾錯電路,包括控制模塊、編碼模塊及解碼模塊;

      其中,所述編碼模塊用于將物理不可克隆函數(shù)的響應結(jié)合由隨機數(shù)組成的密鑰序列通過編碼規(guī)則映射成唯一對應的位置碼序列;

      所述解碼模塊用于將物理不可克隆函數(shù)的響應結(jié)合原有的位置碼序列通過相應的解碼規(guī)則反映射還原出對應的密鑰序列;

      所述控制模塊用于實現(xiàn)編碼和解碼這兩種狀態(tài)之間的轉(zhuǎn)換、時序和地址的生成、各模塊電路之間的線路控制和計算編碼前密鑰和解碼后密鑰之間的相似度的功能。

      如圖2所示,所述控制模塊包括控制電路201、編碼-解碼轉(zhuǎn)換器202、時鐘產(chǎn)生電路203、地址生成電路204及數(shù)據(jù)串組合電路205;

      所述編碼模塊包括漢明糾錯算法電路101、求最大偏差值電路103、位置碼存儲器105、密鑰生成電路106、糾錯碼存儲器102及SRAM PUF-1響應提取電路107;

      所述解碼模塊包括漢明糾錯算法電路101、數(shù)值極性判斷電路104、位置碼存儲器105、糾錯碼存儲器102及SRAM PUF-2響應提取電路108;

      如圖3所示,具體的編碼過程如下:

      (1)編碼初始復位:當收到外部的編碼指令時,控制電路201向編碼-解碼轉(zhuǎn)換器202發(fā)出編碼請求,編碼-解碼轉(zhuǎn)換器202隨后發(fā)出復位信號,使編碼電路復位;同時,編碼-解碼轉(zhuǎn)換器202向SRAM PUF-1響應提取電路107發(fā)出響應提取信號;

      (2)SRAM PUF-1響應提?。篠RAM PUF-1響應提取電路107收到信號后開始提取第一個SRAM型存儲器物理不可克隆函數(shù)的響應SRAM PUF-1,并通過數(shù)據(jù)串組合電路205把該響應SRAM PUF-1以8位二進制補碼的形式導出若干個響應數(shù)值,導出的響應數(shù)值存儲在數(shù)據(jù)庫中并發(fā)送給求最大偏差值電路103,存儲完畢后發(fā)送編碼準備完畢信號給編碼-解碼轉(zhuǎn)換器202;

      (3)開始編碼:編碼-解碼轉(zhuǎn)換器202接受到反饋信號后,向密鑰生成電路106發(fā)出生成密鑰信號,并通過時鐘產(chǎn)生電路203觸發(fā)漢明糾錯算法電路101的編碼模式,使?jié)h明糾錯算法電路101工作在編碼狀態(tài);

      (4)生成密鑰序列:密鑰生成電路106收到信號后生成由隨機數(shù)組成的密鑰序列,同時將該密鑰序列按照每組7個的形式進行分組后存儲在數(shù)據(jù)庫中并發(fā)送給漢明糾錯算法電路101;

      (5)產(chǎn)生糾錯碼:編碼狀態(tài)的漢明糾錯算法電路101收到作為密鑰序列的數(shù)據(jù)串后生成該數(shù)據(jù)串對應的糾錯碼并存儲在糾錯碼存儲器102中,同時通過數(shù)據(jù)串組合電路205將該密鑰序列轉(zhuǎn)換成二進制碼的形式發(fā)送給求最大偏差值電路103;

      (6)生成位置碼:包括以下步驟:

      (61)求最大偏差值電路103接收到SRAM PUF-1響應提取電路107發(fā)出的若干個SRAMPUF-1響應數(shù)值后,將這些SRAMPUF-1響應數(shù)值按照每組8個的形式進行分組,每組中的SRAMPUF-1響應數(shù)值對應的位置序號依次為0,1,2…7;

      (62)計算出每一組的平均響應數(shù)值,保存在數(shù)據(jù)庫中并定義大于該組平均響應數(shù)值為正,小于該組平均響應數(shù)值為負;

      (63)密鑰序列中每一比特位對應一個響應數(shù)值組,若該響應數(shù)值組對應的比特位為1,則找出該組中數(shù)值與平均響應數(shù)值正向偏差最大的響應,同時將該響應在該組中的位置序號保存;若該響應數(shù)值組對應的比特位為0,則找出該組中數(shù)值與平均響應數(shù)值負向偏差最大的響應,同時將該響應在組中的位置序號保存;這些位置序號通過數(shù)據(jù)串組合電路205按順序排列組成位置碼存儲到位置碼存儲器105中;

      (64)密鑰序列中每一比特位對應8*8比特位的SRAM PUF-1響應,這種時序?qū)P(guān)系由時鐘產(chǎn)生電路203控制;

      (7)編碼完成:當所有的SRAM PUF-1響應都編碼完成后,求最大偏差值電路103向控制電路201發(fā)出編碼完成信號,編碼結(jié)束。

      如圖4所示,具體的解碼過程如下:

      (A)解碼初始復位:當收到外部的解碼命令時,控制電路201向編碼-解碼轉(zhuǎn)換器202發(fā)出解碼請求,編碼-解碼轉(zhuǎn)換器202隨后發(fā)出復位信號,使解碼電路復位;同時,編碼-解碼轉(zhuǎn)換器202向SRAM PUF-2響應提取電路108發(fā)出響應提取信號;

      (B)SRAM PUF-2響應提?。篠RAM PUF-2響應提取電路108收到信號后開始提取第二個SRAM型存儲器物理不可克隆函數(shù)的響應SRAM PUF-2,并通過數(shù)據(jù)串組合電路205把該響應SRAM PUF-2以8位二進制補碼的形式導出若干個響應數(shù)值,導出的響應數(shù)值存儲在數(shù)據(jù)庫中并發(fā)送給數(shù)值極性判斷電路104,存儲完畢后發(fā)送響應提取完成信號給編碼-解碼轉(zhuǎn)換器202;

      (C)開始解碼:編碼-解碼轉(zhuǎn)換器202收到SRAM PUF-2響應提取電路108的反饋信息后,向數(shù)值極性判斷電路104發(fā)送解碼開始信號,并通過時鐘產(chǎn)生電路203觸發(fā)漢明糾錯算法電路101的解碼模式,使?jié)h明糾錯算法電路101工作在解碼狀態(tài);

      (D)生成密鑰序列:包括以下步驟:

      (D1)數(shù)值極性判斷電路104收到解碼開始信號后,將從SRAM PUF-2響應提取電路108得到的若干個SRAMPUF-2響應數(shù)值同樣按照每組8個的形式進行分組,每組中的SRAMPUF-2響應數(shù)值對應的位置序號依次為0,1,2…7;

      (D2)計算出每一組的平均響應數(shù)值,保存在數(shù)據(jù)庫中并定義大于該組平均響應數(shù)值為正,小于該組平均響應數(shù)值為負;

      (D3)從位置碼存儲器105中讀取位置碼,位置碼中每一個位置序號對應一個響應數(shù)值組,找出該組中其位置序號所對應的SRAM PUF-2響應數(shù)值,若該響應數(shù)值為正,則對應的密鑰值為1,否則,對應的密鑰值為0;位置碼中每一個位置序號對應8*8比特位的SRAM PUF-1響應,這種時序?qū)P(guān)系由時鐘產(chǎn)生電路203控制;

      (D4)將這些密鑰值通過數(shù)據(jù)串組合電路205轉(zhuǎn)換成數(shù)據(jù)串形式的密鑰序列,將得到的密鑰序列按照每組S個的形式進行分組后存儲到數(shù)據(jù)庫中并發(fā)送給漢明糾錯算法電路101;

      (E)密鑰序列糾錯:收到該密鑰序列后,漢明糾錯算法電路101同時從糾錯碼存儲器102中讀取相應的糾錯碼,得到糾錯后的密鑰序列,存儲后發(fā)送到控制電路201;

      (F)相似度計算:控制電路201對糾錯后的密鑰序列及編碼中生成的密鑰序列進行相似度計算,若兩者的相似度高于設定值,說明產(chǎn)生SRAMPUF-1響應的硬件和產(chǎn)生SRAM PUF-2響應的硬件是同一塊硬件;否則,說明兩者是兩塊不同的硬件;

      (G)解碼完成判斷:當完成SRAMPUF-1響應與SRAM PUF-2響應的對比后,控制電路201向外部輸出判斷的結(jié)果,解碼結(jié)束。

      如圖3、4所示,在編碼和解碼階段中一共有兩次糾錯過程,第一次發(fā)生在求最大偏差值和極性判斷的函數(shù)映射過程中,此過程中,既利用了不可克隆的響應數(shù)值映射出了位置碼并且反映射重新得到密鑰,又避免了大量的單個不穩(wěn)定PUF響應;第二次發(fā)生在密鑰兩次通過漢明糾錯算法模塊的過程中,解碼時利用編碼生成的糾錯碼可以將第一次糾錯過程中沒有糾錯成功的數(shù)據(jù)位再次糾正。

      以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出:對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。

      當前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1