1.一種基于SoPC的動態(tài)可配置密鑰認證系統(tǒng),其特征在于,本發(fā)明出了一種基于SoPC的動態(tài)可配置密鑰認證系統(tǒng),包括SOC模塊、AMBA AHB總線接口模塊、激勵判斷模塊、ECC編碼模塊以及PUF電路模塊;其中SOC模塊除了從串口接收激勵輸入外,還負責從AHB接口接收FPGA的經(jīng)過ECC編碼的PUF碼,然后進行ECC解碼得到對應激勵的PUF碼,SOC中CPU根據(jù)激勵經(jīng)過數(shù)據(jù)庫查詢到數(shù)據(jù)庫中的PUF碼,對比FPGA產(chǎn)生的PUF碼是否一致;AMBA AHB總線接口模塊負責CPU和FPGA通信,F(xiàn)PGA上的電路設計為基于AHB總線的CPU的從機,該接口將CPU傳送過來的地址和數(shù)據(jù)進行寄存,用于FPGA其他模塊;激勵判斷模塊負責進行激勵可用與否的判斷,由于PUF電路只有部分激勵可用,因此必須要進行激勵可用與否的判斷,若激勵可用則送到PUF電路模塊,否則不執(zhí)行PUF電路;ECC編碼模塊負責將PUF電路產(chǎn)生的PUF碼進行ECC編碼,增強糾錯能力,PUF電路模塊為FPGA上的核心模塊,該模塊根據(jù)激勵生成唯一的PUF碼,給到ECC編碼模塊,經(jīng)過編碼后通過AHB總線送給SOC的CPU進行下一步處理;此外,F(xiàn)PGA上的PUF電路可以通過CPU對FPGA動態(tài)配置實現(xiàn),大大增強了系統(tǒng)的靈活性以及安全性。
2.如權利要求1所述的基于SoPC的動態(tài)可配置密鑰認證系統(tǒng),其特征在于,該系統(tǒng)是基于完全自主研發(fā)的SoPC芯片設計,SoPC芯片系統(tǒng)架構為龍芯CPU+國產(chǎn)千萬門級FPGA,互聯(lián)通過AMBA AHB總線完成,最后基于SMIC 65nm工藝流片得到,并且圍繞該芯片設計了SoPC開發(fā)板,該開發(fā)板的除了核心SoPC芯片外,還搭配了SDRAM芯片、SPI Flash芯片、SRAM芯片、VGA芯片、USB轉串口芯片以及NAND Flash芯片等。
3.如權利要求1所述的基于SoPC的動態(tài)可配置密鑰認證系統(tǒng),其特征在于,F(xiàn)PGA上的PUF電路可以通過CPU對FPGA動態(tài)配置實現(xiàn),F(xiàn)PGA上的電路模塊有AHB接口模塊,激勵判斷模塊,ECC編碼模塊以及PUF電路模塊;其中PUF電路模塊由三部分組成;第一部分基于仲裁器的1 bit PUF電路,如圖3所示,該電路的原理是,左邊輸入一脈沖,通過n位信號X[n-1:0]控制該脈沖的路徑,該脈沖共有2n條路徑,X的每一次輸入值都會產(chǎn)生完全不同的兩條路徑,由于各條路徑的延時不一致,兩天路徑的總延時也不同,最后比較觸發(fā)器的D和CLk端,若D端的脈沖先到,則觸發(fā)器輸出為1,否則為0;該電路需要FPGA中嚴格的對稱布局布線,才能達到最好的效果;第二部分基于環(huán)形振蕩器的1 bit PUF電路,如圖4所示,該電路的原理是,首先在FPGA中設計由反相器和與非門組成的環(huán)形振蕩器,設計2N個環(huán)形振蕩器,每個環(huán)形振蕩器的級聯(lián)反相器數(shù)量不同,這樣就會導致每個環(huán)形振蕩器的頻率不一致,利用兩個數(shù)據(jù)選擇器,每個數(shù)據(jù)選擇器每次次選擇一對環(huán)形振蕩器用于計數(shù),最后比較兩個計數(shù)器的大小,從而產(chǎn)生0或者1;第三部分組合交換矩陣,該模塊作用是將仲裁器的1 bit PUF作為環(huán)形振蕩器的1 bit PUF電路的輸入,同時將1 bit PUF電路變?yōu)閚 bit PUF電路,從結果上來看,是將n位輸入變?yōu)閚個n位信號,給到環(huán)形振蕩器PUF從而產(chǎn)生n bit PUF碼,交換的規(guī)則可以任意設計,每個設計存放為一個FPGA的比特流文件:
4.如權利要求1所述的基于SoPC的動態(tài)可配置密鑰認證系統(tǒng),其特征在于,F(xiàn)PGA上的PUF電路可以通過CPU對FPGA動態(tài)配置實現(xiàn),大大增強了系統(tǒng)的靈活性以及安全性;SoPC系統(tǒng)若要更改PUF碼,只需要通過MAC將FPGA的比特流文件送給SoPC的RAM,CPU逐漸的取出RAM的數(shù)據(jù),通過SCI串行總線配置FPGA即可實現(xiàn)PUF碼的變更。
5.如權利要求1所述的基于SoPC的動態(tài)可配置密鑰認證系統(tǒng),其特征在于,所有的激勵都是一次性的,即被用于成功認證一次后,該激勵會被打上標記,回寫給數(shù)據(jù)庫,數(shù)據(jù)庫中直接刪除該激勵以及對應的PUF碼,大大提高了安全性。