一種密鑰管理裝置及方法
【技術領域】
[0001]本發(fā)明涉及信息安全領域,特別涉及一種密鑰管理裝置及方法。
【背景技術】
[0002]隨著半導體制造技術的發(fā)展,出現(xiàn)了物理不可克隆單元(PUF,PhysicallyUnclonable Funct1n)。PUF在系統(tǒng)認證及密鑰的全生命周期等安全方面具有很大的應用前景,已經(jīng)成為了嵌入式硬件安全領域中的一個重要半導體器件。向PUF輸入一個激勵,利用其不可避免的內(nèi)在物理構(gòu)造的隨機差異輸出一個不可預測且唯一的響應信息。輸入PUF的激勵稱為挑戰(zhàn)信息(Challenge), PUF輸出的信息稱為響應(Response)。挑戰(zhàn)信息和響應是——對應的,稱為挑戰(zhàn)響應對(Challenge Response Pair, CRP)。
[0003]PUF具有魯棒性、唯一性、不可克隆性和不可預測性的基本屬性。其中,魯棒性是指當相同的挑戰(zhàn)信息C輸入到PUF時,在允許有一定的錯誤條件下,PUF總是返回相同的響應R為PUF(C);唯一性是指PUF的響應含有物理實體的唯一性標示,對于采用相同半導體工藝制造出來的不同PUF,即使使用相同的挑戰(zhàn)信息C,得到的響應R是相互區(qū)分的,從而可以根據(jù)不同的響應R區(qū)分PUF的唯一性;不可克隆性是指PUF利用不可避免的半導體制造工藝導致集成電路中的電器特性的差異,使得每一個PUF的CRP都是獨一無二的,不可克隆的;不可預測性是指即使統(tǒng)計了不同PUF的CRP,但是對于其他的未統(tǒng)計的PUF的CRP是無法預知的。
[0004]根據(jù)一個PUF的CRP的個數(shù)可以將PUF分為兩種類型??弱PUF(Weak PUF)和強PUF (Strong PUF)。其中,Weak PUF只具有少量CRP,甚至只有一個CRP ;Strong PUF具有大量的CRP??梢岳渺o態(tài)隨機存取存儲器(SRAM)的初始化狀態(tài)的隨機性來構(gòu)建Weak PUF,由于SRAM其制造方便,基于SRAM的Weak PUF在業(yè)界得到廣泛的使用。
[0005]目前,由于PUF的基本屬性,應用在密鑰管理領域中,即PUF的輸出作為密鑰,可以將PUF看做一個密鑰生成裝置,在其他對應裝置要獲取密鑰時,輸入PUF挑戰(zhàn)信息,PUF根據(jù)挑戰(zhàn)信息輸出與挑戰(zhàn)對應的密鑰。采用SRAM PUF作為密鑰管理裝置,SRAM PUF上電后的初始化狀態(tài)就可以作為密鑰進行輸出。但是,由于SRAM PUF初始化狀態(tài)只有一個,所以只能輸出一組密鑰,所以如果要求密鑰管理裝置產(chǎn)生不同的多組密鑰,就需要大量的不同SRAM PUF集成為一個密鑰管理裝置,使得可以產(chǎn)生多組不同的密鑰輸出,這會導致密鑰管理裝置的成本增大。為了降低密鑰管理裝置的成本,可以考慮采用Strong PUF作為密鑰管理裝置,但是截至目前,由于半導體制造工藝的限制,制造Strong PUF面臨占用面積大及構(gòu)造困難等問題,采用Strong PUF作為密鑰管理裝置使用可行性欠佳。
[0006]綜上,如何在降低制造成本的基礎上,使得密鑰管理裝置產(chǎn)生多組密鑰輸出,成為了一個亟待解決的問題。
【發(fā)明內(nèi)容】
[0007]有鑒于此,本發(fā)明實施例提供一種密鑰管理裝置,該裝置能夠在降低制造成本的基礎上,根據(jù)挑戰(zhàn)信息產(chǎn)生與之對應的密鑰,而且挑戰(zhàn)的數(shù)目足夠大。
[0008]本發(fā)明實施例還提供一種密鑰管理方法,該方法能夠在降低密鑰管理裝置的制造成本基礎上,根據(jù)挑戰(zhàn)信息產(chǎn)生與之對應的密鑰,而且挑戰(zhàn)的數(shù)目足夠大。
[0009]為達到上述目的,本發(fā)明實施的技術方案具體是這樣實現(xiàn)的:
[0010]一種密鑰管理裝置,包括:一個靜態(tài)隨機存取存儲器的物理不可克隆單元SRAMPUF及一個密鑰派生功能KDF單元,其中,
[0011 ] SRAM PUF,用于上電后將SRAM的初始化狀態(tài)經(jīng)過處理后,得到響應信息輸出;
[0012]KDF單元,用于基于接收挑戰(zhàn)信息和對應的密鑰標識信息,以及SRAM PUF輸出的響應信息,采用密鑰派生算法計算得到對應密鑰標識信息的、與挑戰(zhàn)信息對應的密鑰輸出。
[0013]所述KDF單元的密鑰派生算法基于哈希算法、HMAC算法或HKDF算法。
[0014]所述SRAM PUF中包括密鑰模糊提取單元和SRAM,其中,
[0015]密鑰模糊提取單元,用于SRAM PUF上電后從SRAM提取初始化狀態(tài),并進行處理,輸出穩(wěn)定不變的響應信息。
[0016]所述密鑰模糊提取單元,還用于在初始化階段,形成糾錯需要的輔助數(shù)據(jù)存儲于存儲單元中;在使用過程中,所述進行處理為采用存儲的糾錯需要的輔助數(shù)據(jù)對提取的初始化狀態(tài)值進行恢復及糾錯處理,輸出穩(wěn)定不變的響應信息;
[0017]所述管理裝置還包括存儲單元,用于存儲糾錯需要的輔助數(shù)據(jù)。
[0018]一種密鑰管理方法,包括:
[0019]對SRAM PUF單元上電,將SRAM的初始化狀態(tài)處理后,得到響應信息;
[0020]基于接收的挑戰(zhàn)信息和對應的密鑰標識信息、以及所述響應信息,采用密鑰派生算法計算得到對應密鑰標識信息的與挑戰(zhàn)信息對應的密鑰輸出。
[0021]所述密鑰派生算法基于哈希算法、HMAC算法或HKDF算法。
[0022]所述將SRAM PUF的初始化狀態(tài)處理后,得到響應信息包括:
[0023]SRAM PUF上電后提取SRAM的初始化狀態(tài)值,處理后,作為穩(wěn)定不變的響應信息。
[0024]在初始化階段,形成糾錯需要的輔助數(shù)據(jù)進行存儲;
[0025]在使用過程中,所述處理為采用存儲的糾錯需要的輔助數(shù)據(jù)對提取的初始化狀態(tài)值進行恢復及糾錯處理,輸出穩(wěn)定不變的響應信息。
[0026]由上述方案可以看出,本發(fā)明實施例在密鑰管理裝置中設置一個SRAM PUF且設置一個密鑰派生功能(KDF)單元,當要生成密鑰時,將挑戰(zhàn)信息、密鑰標識信息及SRAM PUF的響應一起作為輸入,輸入到KDF單元,KDF單元基于密鑰派生算法計算后,得到對應密鑰標識信息的與挑戰(zhàn)信息對應的密鑰輸出。由于本發(fā)明實施例的密鑰管理裝置只采用一個SRAMPUF,而且可以根據(jù)不同的挑戰(zhàn)信息生成不同的密鑰,所以節(jié)省了制造成本。更進一步地,由于密鑰管理裝置是基于SRAM PUF的安全性和密鑰派生算法的安全性,這兩者的安全性在學術上已經(jīng)有了充分論證,所以本發(fā)明實施例提供的管理裝置及方法安全性有保證。
【附圖說明】
[0027]圖1為本發(fā)明實施例提供的一種密鑰管理裝置結(jié)構(gòu)示意圖;
[0028]圖2為本發(fā)明實施例提供的一種密鑰管理裝置結(jié)構(gòu)具體例子示意圖;
[0029]圖3為本發(fā)明實施例提供的一種密鑰管理方法流程圖。
【具體實施方式】
[0030]為使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下參照附圖并舉實施例,對本發(fā)明作進一步詳細說明。
[0031]從【背景技術】可以看出,造成密鑰管理裝置的制造成本比較高的原因為:要輸出多組密鑰,每組密鑰就是SRAM PUF的響應信息,而每個SRAM PUF只能生成一個響應信息,所以就需要在密鑰管理裝置中集成多個SRAM PUF,從而增大了制造成本。所以為了解決密鑰管理裝置的制造成本較高的問題,就需要減少密鑰管理裝置中的SRAM PUF。在減少的同時,還要保證密鑰管理裝置能夠根據(jù)不同挑戰(zhàn)信息輸出不同的且安全性較高的多組密鑰。
[0032]因此,本發(fā)明實施例在密鑰管理裝置中設置一個SRAM PUF且設置一個密鑰派生功能(KDF)單元,當要生成密鑰時,將挑戰(zhàn)信息、密鑰標識信息及SRAM PUF的響應一起作為輸入,輸入到KDF單元,KDF單元基于密鑰派生算法計算后,得到對應密鑰標識信息的與挑戰(zhàn)信息對應的密鑰輸出。由于本發(fā)明實施例的密鑰管理裝置只采用一個SRAM PUF,而且可以根據(jù)不同的挑戰(zhàn)信息生成不同的密鑰,所以節(jié)省了制造成本。
[0033]更進一步地,由于密鑰管理裝置是基于SRAM PUF的安全性和密鑰派生算法的安全性,這兩者的安全性在學術上已經(jīng)有了充分論證,所以本發(fā)明實施例提供的管理裝置及方法安