亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種嵌入式微處理器非可克隆函數密鑰認證系統(tǒng)和方法

文檔序號:6514331閱讀:432來源:國知局
一種嵌入式微處理器非可克隆函數密鑰認證系統(tǒng)和方法
【專利摘要】本發(fā)明公開了一種嵌入式微處理器非可克隆函數密鑰認證系統(tǒng),包括嵌入式端、燒寫設備端和PC端,嵌入式端包括PUF待分析數據提取模塊以及IAP模塊,燒寫設備端包括待燒寫程序處理模塊,PC端包括嵌入式認證程序生成模塊、PUF分析模塊、數據庫模塊、散列數據生成模塊、以及幫助數據生成模塊,PUF待分析數據提取模塊用于多次提取SRAM中的初始上電數據,并將數據發(fā)送到PUF分析模塊,PUF分析模塊用于對采集到的初始上電數據及其樣本大小進行分析,PUF分析模塊還用于將獲得的密鑰發(fā)送到散列數據生成模塊和幫助數據生成模塊。本發(fā)明避免了攻擊者通過物理攻擊對嵌入式設備的密鑰進行破解從而對整個嵌入式的軟件進行復制的行為,從而保證嵌入式軟件版權受到了保護。
【專利說明】—種嵌入式微處理器非可克隆函數密鑰認證系統(tǒng)和方法
【技術領域】
[0001]本發(fā)明屬于嵌入式系統(tǒng)安全領域,更具體地,涉及一種嵌入式微處理器非可克隆函數密鑰認證系統(tǒng)和方法。
【背景技術】
[0002]近些年來,我國嵌入式設備需求激增。在巨大的利益誘惑下,許多企業(yè)舍棄傳統(tǒng)的“研發(fā)-生產-銷售”模式,轉而采取“模仿-生產-銷售”的方式。許多公司費盡心血研發(fā)的產品,投放市場不久,就被競爭對手破解,從硬件到軟件完全地被克隆,重新包裝之后投放市場。也有公司在委托生產廠商進行產品生產時,生產廠商額外生產出大量的相同產品,改換品牌投放市場。
[0003]在這種惡性模仿的氛圍下,大量的公司因為盜版產品的猖獗而蒙受大量的經濟損失,而又有大量的公司依靠竊取他人的勞動成果來進行盈利,這是非常不公平的現象。盡管目前越來越多的法律法規(guī)正在完善之中,但是單純依靠這些還是不夠的。為了能夠保護原創(chuàng)公司的知識產權,我們還應該從技術的角度出發(fā)去尋求更多的解決方案。于是,版權保護技術成為越來越受到關注的焦點。
[0004]2001 年,Pappu Srinivasa Ravikanth 提出 了物理非可克隆(PhysicalUnclonable Function,簡稱PUF),為保護芯片數據物理安全提供了一種全新有效的方法。與傳統(tǒng)密碼學的密鑰產生方案不同,PUF使用激勵和響應對的方法生成密鑰,激勵和響應之間的映射關系僅由設備個體的某些物理差異決定。IC制造過程中的無法預測、復制和控制的細微差異產生了這些物理差異。任何潛在物理攻擊將破壞設備個體的物理差異,PUF的激勵和響應之間的映射關系也會發(fā)生變化。因此,PUF密鑰具備物理決定、穩(wěn)定唯一、隨用隨取、不用保存、難以事先預測和容易測量的優(yōu)點,能提供安全、穩(wěn)定和低成本的安全密鑰。
[0005]2007年,在已有的PUF防止物理攻擊的基礎上,提出了基于SRAM的PUF(SRAM-PUF), SRAM存儲單元的初始狀態(tài)取決于它的制作工藝,SRAM單元的初始值是制造過程中生產誤差的函數,實際制造工藝中的某些隨機因素對SRAM典型6管單元電路的對稱性產生一定影響。因此SRAM-PUF的激勵響應對是存儲單元地址和對應地址單元的上電初始值。
[0006]之后Guajardo et al和Michael A.Gora發(fā)現使用SRAM的上電初始狀態(tài)能作為PUF用于FPGA的IP核保護。儲存單元的不對稱性引起SRAM-PUF,這一不對稱性也是由制造過程的工藝中差異產生的。他們通過使用FPGA芯片和片外SRAM,提取了唯一的PUF安全密鑰。然而,這一方法不能直接應用于嵌入式系統(tǒng),因為首先在嵌入式系統(tǒng)中,內嵌到主控芯片SRAM取代了片外的SRAM芯片。由于設計目的不同和深度集成化,內嵌的SRAM和片外的SRAM的PUF特征有所差別。其次,提取密鑰算法的運算復雜度較高,難以在功率和性能有限的嵌入式微處理器上實現。
[0007]目前,嵌入式設備的版權保護技術包括:對稱密鑰加密,如高級加密標準(Advanced Encryption Standard,簡稱AES)、數據加密標準(Data Encryption Standard,DES)、非對稱密碼加密,如RSA、橢圓曲線加密(Elliptic Curve Cryptography,簡稱ECC)等、以及哈希認證,如SHA-1、MD5等。上述的版權保護技術中,信息安全依賴于密鑰的安全。在實際應用中,通常將密鑰存儲在嵌入式系統(tǒng)的非易失存儲器內,由于嵌入式系統(tǒng)的使用特點,極有可能被攻擊者捕獲,并進行物理侵入、半侵入攻擊或軟件反匯編攻擊以獲取密鑰從而破壞整個嵌入式系統(tǒng)的信息安全機制。因此,嵌入式系統(tǒng)的密鑰機制需要特別的考慮。
[0008]目前工業(yè)界所廣泛采用的安全產品缺乏自主知識產權,而且較為陳舊,不夠安全。另一方面,一些先進的安全產品屬于受限范圍并且價格昂貴,在我國的使用受到了限制。這種情況嚴重威脅了我國在相關領域的公共安全。

【發(fā)明內容】

[0009]針對現有技術的以上缺陷或改進需求,本發(fā)明提供了一種嵌入式微處理器非可克隆函數密鑰認證系統(tǒng)和方法,其目的在于針對嵌入式系統(tǒng)的軟件版權保護問題,實現了一種能有效抵抗物理侵入的安全和高效的安全防護體系,并能在不能改變原有設備硬件的前提下,使用較小的系統(tǒng)資源開銷,實現安全密鑰機制,提升整體安全水平。
[0010]為實現上述目的,按照本發(fā)明的一個方面,提供了一種嵌入式微處理器非可克隆函數密鑰認證系統(tǒng),包括嵌入式端、燒寫設備端和PC端,嵌入式端包括PUF待分析數據提取模塊以及IAP模塊,燒寫設備端包括待燒寫程序處理模塊,PC端包括嵌入式認證程序生成模塊、PUF分析模塊、數據庫模塊、散列數據生成模塊、以及幫助數據生成模塊,PUF待分析數據提取模塊用于多次提取SRAM中的初始上電數據,并將數據發(fā)送到PUF分析模塊,PUF分析模塊用于對采集到的初始上電數據及其樣本大小進行分析,PUF分析模塊還用于將獲得的密鑰發(fā)送到散列數據生成模塊和幫助數據生成模塊,并將最大錯誤率發(fā)送到幫助數據生成模塊,幫助數據生成模塊用于根據接收到的密鑰和最大錯誤率生成幫助數據,散列數據生成模塊用于根據接收到的密鑰使用哈希計算生成散列數據,數據庫模塊用于存儲幫助數據、散列數據和SRAM所在嵌入式設備的ID,嵌入式認證程序生成模塊用于根據散列數據生成模塊生成的散列數據和幫助數據生成模塊生成的幫助數據的位長生成具有固定數據架構的認證程序,待燒寫程序處理模塊用于將嵌入式認證程序生成模塊生成的認證程序以及SRAM所在嵌入式設備的幫助數據以及散列數據進行合并,以生成完整的認證程序,IAP模塊用于將完整的認證程序燒寫到SRAM所在嵌入式設備中。
[0011]優(yōu)選地,PUF分析模塊計算初始上電數據的最小熵以及初始上電數據之間海明距離的最大值,并對最小熵和海明距離的最大值進行擬合分析,以確定合理的樣本數量、單個樣本字節(jié)數、最大錯誤率,并獲得密鑰。
[0012]優(yōu)選地,幫助數據生成模塊根據得到的最大錯誤率生成可以糾正該錯誤率的糾錯碼,該糾錯碼的位長與密鑰相同,并將密鑰與糾錯碼進行異或運算,以得到幫助數據。
[0013]按照本發(fā)明的另一方面,提供了一種嵌入式微處理器非可克隆函數密鑰認證系統(tǒng)的非可克隆函數密鑰認證方法,該方法包括以下步驟:
[0014](I) PUF待分析數據提取模塊多次提取SRAM中的初始上電數據,并將數據發(fā)送到PUF分析模塊;
[0015](2) PUF分析模塊對采集到的初始上電數據及其樣本大小進行分析;
[0016](3)PUF分析模塊將獲得的密鑰發(fā)送到散列數據生成模塊和幫助數據生成模塊,并將最大錯誤率發(fā)送到幫助數據生成模塊;
[0017](4)幫助數據生成模塊根據接收到的密鑰和最大錯誤率生成幫助數據;
[0018](5)散列數據生成模塊根據接收到的密鑰并通過哈希計算生成散列數據;
[0019](6)數據庫模塊存儲幫助數據、散列數據和SRAM所在嵌入式設備的ID ;
[0020](7)嵌入式認證程序生成模塊根據散列數據生成模塊生成的散列數據和幫助數據生成模塊生成的幫助數據的位長生成具有固定數據架構的認證程序;
[0021](8)待燒寫程序處理模塊將嵌入式認證程序生成模塊生成的認證程序以及SRAM所在嵌入式設備的幫助數據以及散列數據進行合并,以生成完整的認證程序;
[0022](9) IAP模塊將完整的認證程序燒寫到SRAM所在嵌入式設備中。
[0023]優(yōu)選地,步驟(I)具體為,將測試程序下載到目標嵌入式設備中,通過不斷的掉電多次測量SRAM上電初值,初始上電數據是采用二進制格式的文件進行保存。
[0024]優(yōu)選地,步驟(4)具體為,幫助數據生成模塊根據得到的最大錯誤率生成ECC糾錯碼,該糾錯碼的位長與密鑰相同,并將密鑰與糾錯碼進行異或運算,以得到幫助數據。
[0025]總體而言,通過本發(fā)明所構思的以上技術方案與現有技術相比,能夠取得下列有益效果:
[0026]1、由于采用了步驟(I)和(2),因此便于對SRAM-PUF的數據測試。使用的用戶能在比較合理的時間內完成對數據的測試以及分析。
[0027]2、由于采用了步驟(7)和(8),因此使得用戶可以通過電腦對IAP模塊分別寫入認證函數以及幫助數據和哈希散列數據的方式完成對設備的編程。不同的嵌入式設備幫助數據和哈希散列數據不同,這種方法方便用戶的使用,減少了手動對相應數據與認證程序進行組合的時間。
[0028]3、采用基于SRAM的PUF進行軟件保護,由于SRAM廣泛存在于嵌入式設備中,因此避免系統(tǒng)加入冗余的硬件,減少了軟件保護的開銷,增強了它的通用性。
[0029]4、采用IAP模塊對嵌入式設備進行編程,該編程方法允許用戶在遠程對嵌入式設備進行編程,可以使用戶在不移動設備的情況下對設備進行程序的更新。
[0030]5、數據庫模塊存儲了嵌入式設備軟件保護所需的密鑰,幫助數據等重要數據,便于系統(tǒng)的維護。
【專利附圖】

【附圖說明】
[0031]圖1是本發(fā)明嵌入式微處理器非可克隆函數密鑰認證系統(tǒng)的模塊示意圖。
[0032]圖2是本發(fā)明嵌入式微處理器非可克隆函數密鑰認證方法的流程圖。
[0033]圖3是嵌入式設備數據測試流程示意圖。
[0034]圖4是嵌入式設備數據分析流程示意圖。
[0035]圖5是密鑰幫助數據以及散列值得生成過程示意圖。
[0036]圖6是嵌入式認證程序處理示意圖。
[0037]圖7是嵌入式設備IAP過程示意圖。
[0038]圖8是嵌入式設備認證過程示意圖。
【具體實施方式】[0039]為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個實施方式中所涉及到的技術特征只要彼此之間未構成沖突就可以相互組合。
[0040]當前很多嵌入式產品的軟件缺乏保護,或者采用常見的密鑰加密方法對軟件進行加密。在這種情況下,攻擊者可以利用物理攻擊的方式對存儲密鑰的存儲器進行物理攻擊并輕易的獲取密鑰信息,進而可以對嵌入式軟件進行復制和竊取并進一步威脅嵌入式設備的安全。這種情況下的嵌入式軟件是不安全的。本發(fā)明的整體思路在于,本發(fā)明提供了一種適用于嵌入式處理器的軟件保護方法,包括對密鑰的提取,保存,重新生成以及軟件的認證。它主要通過將密鑰保存在SRAM-PUF中而避免將密鑰直接存儲在存儲器中,進而避免了攻擊者通過物理攻擊對嵌入式設備的密鑰進行破解從而對整個嵌入式的軟件進行復制的行為,從而保證嵌入式軟件版權受到了一定的保護。SRAM-PUF提供一種安全的密鑰保存辦法,其輸出密鑰在一定程度上保持不變,但在受到物理攻擊時出現不可逆的變化。因此可以有效的抵御物理攻擊對密鑰的竊取。
[0041]本發(fā)明嵌入式微處理器非可克隆函數密鑰認證方法是應用在一種嵌入式微處理器非可克隆函數密鑰認證系統(tǒng)中,該系統(tǒng)包括嵌入式端、燒寫設備端和PC端,嵌入式端包括物理非可克隆(Physical Unclonable Function,簡稱PUF)待分析數據提取模塊、以及在應用中編程(In-application programming,簡稱IAP)模塊,燒寫設備端包括待燒寫程序處理模塊,PC端包括嵌入式認證程序生成模塊、PUF分析模塊、數據庫模塊、散列數據生成模塊、以及幫助數據生成模塊,如圖2所示,該方法包括以下步驟:
[0042](I)PUF待分析數據提取模塊多次提取SRAM中的初始上電數據,并將數據發(fā)送到PUF分析模塊;具體過程如圖3所示,將測試程序下載到目標嵌入式設備中,通過不斷的掉電多次測量SRAM上電初值,初始上電數據是采用二進制格式的文件進行保存,提取初始上電數據的次數是由不同SRAM上電后的數據波動決定的,數據波動越大,提取次數越多,PUF分析模塊會對樣本大小進行判斷,若樣本大小太小,則進行補充的測量;
[0043](2)PUF分析模塊對采集到的初始上電數據及其樣本大小進行分析;具體如圖4所示,PUF分析模塊計算初始上電數據的最小熵以及初始上電數據之間海明距離的最大值,并對最小熵和海明距離的最大值進行擬合分析,以確定合理的樣本數量、單個樣本字節(jié)數、最大錯誤率,并獲得密鑰,其中最大海明距離決定了數據在每次測量之間的錯誤率;
[0044]本步驟的優(yōu)點在于,可以對嵌入式設備測量的次數進行估計,避免多次的測量而影響系統(tǒng)的效率。
[0045](3)PUF分析模塊將獲得的密鑰發(fā)送到散列數據生成模塊和幫助數據生成模塊,并將最大錯誤率發(fā)送到幫助數據生成模塊;
[0046](4)幫助數據生成模塊根據接收到的密鑰和最大錯誤率生成幫助數據;具體過程如圖5所示,幫助數據生成模塊根據得到的最大錯誤率生成可以糾正該錯誤率的糾錯碼(Error Correcting Code,簡稱ECC),該糾錯碼的位長與密鑰X相同,并將密鑰與糾錯碼進行異或運算,以得到幫助數據W ;
[0047](5)散列數據生成模塊根據接收到的密鑰生成散列數據;具體過程如圖5所示,散列數據生成模塊對接收到的密鑰X進行哈希(HASH)計算,以生成和密鑰的位長相同的散列數據s ;
[0048](6)數據庫模塊存儲幫助數據、散列數據和SRAM所在嵌入式設備的ID ;
[0049](7)嵌入式認證程序生成模塊根據散列數據生成模塊生成的散列數據和幫助數據生成模塊生成的幫助數據的位長生成具有固定數據架構的認證程序。具體而言,由于不同嵌入式設備在認證階段所需要的幫助數據以及散列數據的位長不同,為了保證認證程序的通用性和獨立性,需要在認證程序中預留相應的用于認證的數據位,進而保證程序的通用性。具體的辦法是,在認證程序中寫入幫助數據以及散列數據的位長相同的兩段全局字符換常量,這兩組常量在程序中為幫助數據和散列數據提供了相應的存儲空間,在不同的嵌入式設備進行認證時可以將相應的幫助數據以及散列數據的進行相應的置換。該步驟的優(yōu)點在于,將認證程序與特定的嵌入式設備分離,保證了各自的獨立性,使得系統(tǒng)的使用更加的便捷。(8)待燒寫程序處理模塊將嵌入式認證程序生成模塊生成的認證程序以及SRAM所在嵌入式設備的幫助數據以及散列數據進行合并,以生成完整的認證程序。具體過程如圖6所示。該模塊所需的數據由數據庫模塊提供。
[0050]本步驟的優(yōu)點在于,使PC端只需要保存相關數據與一個不完整認證程序,而不用保存大量的針對不同嵌入式設備的認證程序,增加了各個模塊的獨立性。
[0051](9) IAP模塊將完整的認證程序燒寫到SRAM所在嵌入式設備中。具體過程如圖7所示,待編程的嵌入式設備需要運行IAP所需的程序,并與燒寫器通過串口進行通信,燒寫器通過串口將完整的認證程序發(fā)送到嵌入式設備指定地址的ROM中。完成程序的燒寫后,嵌入式設備通過程序的跳轉執(zhí)行認證程序功能,從而完成了 IAP的過程。
[0052]本步驟的優(yōu)點在于,設備的認證程序更新是根據IAP的在線更新方法,大大的降低了在某些特殊場合的使用難度。比如設備使用環(huán)境比較惡劣的地方。
[0053]如圖8所示,該圖說明了在嵌入式端整個認證方法中主要數據的處理以及計算的過程。首先,由嵌入式設備的ID得到存儲在數據庫中的相應嵌入式設備的幫助數據W,幫助數據整合在認證程序中,在認證的過程中,幫助數據W與嵌入式設備中提取到的SRAM密鑰X’,進行異或得到一個中間值c’,C’被送入ECC (Error Correcting Code)程序模塊進行糾錯,對C’進行糾錯后得到中間數據C,幫助數據W與數據C異或即可得到原始密鑰X,密鑰X進行Hash運算得到散列值,該散列值與原始散列值進行對比即完成整個認證過程。
[0054]如圖1所示,本發(fā)明嵌入式微處理器非可克隆函數密鑰認證系統(tǒng)包括嵌入式端、燒寫設備端和PC端,嵌入式端包括物理非可克隆(Physical Unclonable Function,簡稱PUF)待分析數據提取模塊1、以及在應用中編程(In-application programming,簡稱IAP)模塊2,燒寫設備端包括待燒寫程序處理模塊3,PC端包括嵌入式認證程序生成模塊4、PUF分析模塊5、數據庫模塊6、散列數據生成模塊7、以及幫助數據生成模塊8。
[0055]PUF待分析數據提取模塊I用于多次提取SRAM中的初始上電數據,并將數據發(fā)送到PUF分析模塊5 ;具體而言,PUF待分析數據提取模塊I將測試程序下載到目標嵌入式設備中,通過不斷的掉電多次測量SRAM上電初值,初始上電數據是采用二進制格式的文件進行保存,提取初始上電數據的次數是由不同SRAM上電后的數據波動決定的,數據波動越大,提取次數越多,PUF分析模塊5會對樣本大小進行判斷,若樣本大小太小,則進行補充的測量。
[0056]PUF分析模塊5用于對采集到的初始上電數據及其樣本大小進行分析;具體而言,PUF分析模塊5計算初始上電數據的最小熵以及初始上電數據之間海明距離的最大值,并對最小熵和海明距離的最大值進行擬合分析,以確定合理的樣本數量、單個樣本字節(jié)數、最大錯誤率,并獲得密鑰,其中最大海明距離決定了數據在每次測量之間的錯誤率。
[0057]PUF分析模塊5還用于將獲得的密鑰發(fā)送到散列數據生成模塊7和幫助數據生成模塊8,并將最大錯誤率發(fā)送到幫助數據生成模塊8。
[0058]幫助數據生成模塊8用于根據接收到的密鑰和最大錯誤率生成幫助數據。具體而言,幫助數據生成模塊8根據得到的最大錯誤率生成可以糾正該錯誤率的糾錯碼,該糾錯碼的位長與密鑰X相同,并將密鑰與糾錯碼進行異或運算,以得到幫助數據W。
[0059]散列數據生成模塊7用于根據接收到的密鑰生成散列數據;具體而言,散列數據生成模塊7對接收到的密鑰X進行哈希計算,以生成和密鑰的位長相同的散列數據S。
[0060]數據庫模塊6用于存儲幫助數據、散列數據和SRAM所在嵌入式設備的ID。
[0061]嵌入式認證程序生成模塊4根據散列數據生成模塊生成的散列數據和幫助數據生成模塊生成的幫助數據的位長生成具有固定數據架構的認證程序。具體而言,由于不同嵌入式設備在認證階段所需要的幫助數據以及散列數據不同,需要在該程序中預留相應的數據位,進而保證程序的通用性。
[0062]待燒寫程序處理模塊3用于將嵌入式認證程序生成模塊4生成的認證程序以及SRAM所在嵌入式設備的幫助數據以及散列數據進行合并,以生成完整的認證程序。
[0063]IAP模塊2用于將完整的認證程序燒寫到SRAM所在嵌入式設備中。具體過程如圖7所示,待編程的嵌入式設備需要運行IAP所需的程序,并與燒寫器通過串口進行通信,燒寫器通過串口將完整的認證程序發(fā)送到嵌入式設備指定地址的ROM中。完成程序的燒寫后,嵌入式設備通過程序的跳轉執(zhí)行認證程序功能,從而完成了 IAP的過程。
[0064]綜上所述,本發(fā)明從嵌入式微處理器的體系結構入手,結合SRAM-PUF可以生成硬件相關的獨特密鑰的原理,研究嵌入式微處理器在物理攻擊條件下可靠的密鑰安全保障機制。本發(fā)明能夠保證密鑰以及嵌入式軟件的安全性,使嵌入式系統(tǒng)的安全受到保護,使用SRAM-PUF產生密鑰而無需存儲密鑰方法,防止了物理攻擊對密鑰安全性的威脅,而且本發(fā)明在一定程度上節(jié)省了搭建額外電路的開銷,只需加入安全軟件模塊。在充分考慮嵌入式微處理器的密鑰安全性、性能以及成本開銷的前提下,提高嵌入式微處理器的安全性,為嵌入式系統(tǒng)的安全應用提供可靠保障。
[0065]本領域的技術人員容易理解,以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內。
【權利要求】
1.一種嵌入式微處理器非可克隆函數密鑰認證系統(tǒng),包括嵌入式端、燒寫設備端和PC端,嵌入式端包括PUF待分析數據提取模塊以及IAP模塊,燒寫設備端包括待燒寫程序處理模塊,PC端包括嵌入式認證程序生成模塊、PUF分析模塊、數據庫模塊、散列數據生成模塊、以及幫助數據生成模塊,其特征在于, PUF待分析數據提取模塊用于多次提取SRAM中的初始上電數據,并將數據發(fā)送到PUF分析模塊; PUF分析模塊用于對采集到的初始上電數據及其樣本大小進行分析; PUF分析模塊還用于將獲得的密鑰發(fā)送到散列數據生成模塊和幫助數據生成模塊,并將最大錯誤率發(fā)送到幫助數據生成模塊; 幫助數據生成模塊用于根據接收到的密鑰和最大錯誤率生成幫助數據; 散列數據生成模塊用于根據接收到的密鑰使用哈希計算生成散列數據; 數據庫模塊用于存儲幫助數據、散列數據和SRAM所在嵌入式設備的ID ; 嵌入式認證程序生成模塊用于根據散列數據生成模塊生成的散列數據和幫助數據生成模塊生成的幫助數據的位長生成具有固定數據架構的認證程序; 待燒寫程序處理模塊用于將嵌入式認證程序生成模塊生成的認證程序以及SRAM所在嵌入式設備的幫助數據以及散列數據進行合并,以生成完整的認證程序; IAP模塊用于將完整的認證程序燒寫到SRAM所在嵌入式設備中。
2.根據權利要求1所述的嵌入式微處理器非可克隆函數密鑰認證系統(tǒng),其特征在于,PUF分析模塊計算初始上電數據的最小熵以及初始上電數據之間海明距離的最大值,并對最小熵和海明距離的最大值進行擬合分析,以確定合理的樣本數量、單個樣本字節(jié)數、最大錯誤率,并獲得密鑰。
3.根據權利要求1所述的嵌入式微處理器非可克隆函數密鑰認證系統(tǒng),其特征在于,幫助數據生成模塊根據得到的最大錯誤率生成可以糾正該錯誤率的糾錯碼,該糾錯碼的位長與密鑰相同,并將密鑰與糾錯碼進行異或運算,以得到幫助數據。
4.一種根據權利要求1-3中任意一項所述嵌入式微處理器非可克隆函數密鑰認證系統(tǒng)的嵌入式微處理器非可克隆函數密鑰認證方法,其特征在于,該方法包括以下步驟: (1)PUF待分析數據提取模塊多次提取SRAM中的初始上電數據,并將數據發(fā)送到PUF分析模塊; (2)PUF分析模塊對采集到的初始上電數據及其樣本大小進行分析; (3)PUF分析模塊將獲得的密鑰發(fā)送到散列數據生成模塊和幫助數據生成模塊,并將最大錯誤率發(fā)送到幫助數據生成模塊; (4)幫助數據生成模塊根據接收到的密鑰和最大錯誤率生成幫助數據; (5)散列數據生成模塊根據接收到的密鑰并通過哈希計算生成散列數據; (6)數據庫模塊存儲幫助數據、散列數據和SRAM所在嵌入式設備的ID; (7)嵌入式認證程序生成模塊根據散列數據生成模塊生成的散列數據和幫助數據生成模塊生成的幫助數據的位長生成具有固定數據架構的認證程序; (8)待燒寫程序處理模塊將嵌入式認證程序生成模塊生成的認證程序以及SRAM所在嵌入式設備的幫助數據以及散列數據進行合并,以生成完整的認證程序; (9)IAP模塊將完整的認證程序燒寫到SRAM所在嵌入式設備中。
5.根據權利要求1所述的嵌入式微處理器非可克隆函數密鑰認證方法,其特征在于,步驟(1)具體為,將測試程序下載到目標嵌入式設備中,通過不斷的掉電多次測量SRAM上電初值,初始上電數據是采用二進制格式的文件進行保存。
6.根據權利要求1所述的嵌入式微處理器非可克隆函數密鑰認證方法,其特征在于,步驟(4)具體為,幫助數據生成模塊根據得到的最大錯誤率生成ECC糾錯碼,該糾錯碼的位長與密鑰相同,并將密鑰與 糾錯碼進行異或運算,以得到幫助數據。
【文檔編號】G06F21/12GK103544410SQ201310460138
【公開日】2014年1月29日 申請日期:2013年9月30日 優(yōu)先權日:2013年9月30日
【發(fā)明者】劉政林, 張振華, 劉文超, 王雪, 鄒雪城, 鄭朝霞, 童喬凌 申請人:華中科技大學
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1