專利名稱:驗證通過組合各密鑰部分獲取的加密密鑰的完整性的方法
驗證通過組合各密鑰部分獲取的加密密鑰的完整性的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及驗證通過組合各密鑰部分獲取的并與對稱加密算法相關(guān)聯(lián)地 使用的加密密鑰的完整性的方法。
背景技術(shù):
已知加密算法通過密鑰來操作,密鑰構(gòu)成確保加密是安全所必需的元素。 已知用于試圖欺詐性地獲取與加密算法相關(guān)聯(lián)的密鑰的各種手段。一個這 樣的手段包括分析在密鑰從只讀存儲器中的存儲傳送到讀/寫存儲器或從讀/寫 存儲器傳送到寄存器時發(fā)生的電子或電磁現(xiàn)象。為了抗擊該攻擊方法,已知將 密鑰細分成多個部分, 一般是兩個部分,這兩個部分在其中實現(xiàn)該算法的讀保 護區(qū)中經(jīng)由例如交換異或算子的算子來組合。
重構(gòu)密鑰的另一方式包括在密鑰中引起干擾并分析重復(fù)使用的、對加密密 鑰引起相繼干擾的數(shù)據(jù)項的加密的結(jié)果。為了防止攻擊者對密鑰執(zhí)行相繼的干 擾,在實現(xiàn)加密算法時能驗證密鑰的完整性將合乎需要的。不幸的是,在不能 讀訪問的保護區(qū)中組合各密鑰部分阻止為驗證密鑰完整性而對密鑰的任何讀 回。
發(fā)明目的
本發(fā)明的目的在于提出一種用于驗證通過使用與對稱加密算法相關(guān)聯(lián)的 交換算子在保護區(qū)中組合多個密鑰部分獲取的加密密鑰的完整性的方法。
發(fā)明概述
為了實現(xiàn)該目的,本發(fā)明提供一種包括以下步驟的方法使用該交換算子 來執(zhí)行密鑰部分和驗證加密密鑰之間的第一組合;使用該交換算子相繼執(zhí)行尚 未組合的密鑰部分與通過前一組合獲得的結(jié)果之間的組合,直到執(zhí)行了包括所 有密鑰部分的最后一個組合;在保護區(qū)中在要驗證的加密密鑰與驗證加密密鑰
3同各密鑰部分的最后一個組合之間執(zhí)行組合以獲取最終驗證密鑰;使用最終驗 證密鑰經(jīng)由對稱加密算法來對驗證數(shù)據(jù)加密;以及與通過經(jīng)由驗證加密密鑰直 接加密驗證數(shù)據(jù)而獲取的驗證加密進行比較。
因此,當(dāng)要被驗證的密鑰未被干擾時,最終驗證密鑰等于驗證加密密鑰, 驗證數(shù)據(jù)的加密于是等同于驗證加密。否則,如果加密密鑰已被干擾,則最終 驗證密鑰不等于驗證加密密鑰,且在驗證數(shù)據(jù)的加密與驗證加密之間檢測到區(qū) 別。然后有可能從中得出結(jié)論,例如阻塞加密算法以便防止攻擊者繼續(xù)可能使 得攻擊者能夠重構(gòu)加密密鑰的連續(xù)測試。
優(yōu)選地,各密鑰部分與驗證密鑰之間的最后一個組合之前的組合中的至少 一個是在保護區(qū)外執(zhí)行的。這最小化了需要在保護區(qū)中實現(xiàn)的手段。
附圖
簡述
在參考示意性地示出本發(fā)明的方法的附圖的情況下閱讀對本發(fā)明的優(yōu)選、 非限定性實現(xiàn)的以下描述,本發(fā)明的其他特征和優(yōu)點是顯然的。
發(fā)明的詳細描述
參考附圖,本發(fā)明的方法通過使用本身已知的裝置來實現(xiàn),包括諸如 EEPROM等靜態(tài)存儲器1、讀/寫存儲器2以及形成被配置成實現(xiàn)使用加密密 鑰K的對稱加密算法(DES、 TDES、 AES...)的讀保護區(qū)的寄存器3。采用己 知方式,通過使用諸如異或算子等交換算子將兩個密鑰部分KM和M組合來 獲取加密密鑰K,該算子在以下等式中被寫為(+)。
為此,將密鑰值KM和K從靜態(tài)存儲器讀入讀/寫存儲器,然后它們被傳 送到保護區(qū)3,在那里使用以下等式將其組合
K= KM (+) M 記得密鑰K不能在保護區(qū)3中讀。
在本發(fā)明中,靜態(tài)存儲器1還包含驗證加密密鑰Kv、驗證數(shù)據(jù)Dv以及 驗證加密Cv,驗證加密Cv是之前通過使用驗證加密密鑰的加密算法對驗證數(shù) 據(jù)直接加密而獲取的。當(dāng)使用DES算法時,這給出
Cv = DES(Kv, Dv)
4為了在密鑰K中引起干擾,攻擊者有可能在密鑰部分KM和/或M在靜態(tài) 存儲器中或讀/寫存儲器中時對其行動。
為了驗證包含在寄存器3中的加密密鑰K的完整性,本發(fā)明的方法包括
以下步驟
*在讀/寫存儲器2中,組合驗證加密密鑰Kv和第一密鑰部分KM。這給
出
T = KM (+) Kv
在從前一組合獲取的結(jié)果與第二密鑰部分M之間進行第二組合。在所
述實現(xiàn)中,這產(chǎn)生由以下等式給出的最后一個組合MV:
Mv = T(+)M
,在保護區(qū)3中將驗證組合Mv與加密密鑰K組合以獲取由以下等式給出 的最終驗證密鑰Kf:
Kf=K(+) Mv
使用最終驗證密鑰Kf,經(jīng)由對稱DES加密算法對驗證數(shù)據(jù)Dv加密, 以獲取驗證數(shù)據(jù)的加密CDv,使得
CDv = DES(Kf,Dv)
*將得到的驗證數(shù)據(jù)的加密CDv與從靜態(tài)存儲器1中提取的驗證加密Cv 進行比較。
應(yīng)觀察到,如果最終驗證密鑰的公式全部寫出,則獲得以下-
Kf = K (+)固(+) Kv (+) M 這在考慮異或算子的交換性時可寫成
Kf = K (+) KM (+) M (+) Kv
如果初始數(shù)據(jù)未受到攻擊,貝U:
KM (+) M = K
且Kf的表達式變?yōu)?br>
Kf = K(+)K(+)Kv = Kv 相反,如果數(shù)據(jù)項之一受到干擾,則K與KM (+) M之間不再存在等同性, 使得最終驗證密鑰不同于驗證加密密鑰Kv。用最終驗證加密密鑰Kf對驗證數(shù) 據(jù)Dv則加密給出不同于驗證加密Cv的結(jié)果CDv。比較CDv和Cv因此使得有可能檢測攻擊并觸發(fā)防范措施,例如阻塞算法。 應(yīng)觀察到本發(fā)明的方法使得有可能不僅驗證加密密鑰K的完整性,而且
當(dāng)對驗證加密密鑰Kv進行了攻擊時,也有可能驗證該驗證數(shù)據(jù)Dv或驗證加
密Cv。
盡管本發(fā)明的主要目的不是檢測對該數(shù)據(jù)的攻擊,但本發(fā)明仍使得有可能 響應(yīng)以便避免隨后對與密鑰部分KM或M有關(guān)的數(shù)據(jù)進行的攻擊。
自然地,本發(fā)明不限于所述實現(xiàn)且可對其應(yīng)用不同的實現(xiàn)而不超出如權(quán)利 要求書所定義的本發(fā)明的范圍。
具體地,盡管僅用兩部分的密鑰描述了本發(fā)明,但本發(fā)明的方法可應(yīng)用于 通過使用交換算子和對稱加密算法從任意數(shù)目的密鑰部分重新組合的密鑰。
盡管組合加密密鑰部分KM和M與驗證密鑰Kv的步驟被描述為在讀/寫 存儲器2中執(zhí)行,但也有可能在保護區(qū)3中執(zhí)行這些步驟,然而這將無意義地 占據(jù)保護區(qū)3的計算資源。
權(quán)利要求
1. 一種驗證通過使用交換算子在保護區(qū)(3)中組合至少兩個密鑰部分(KM,M)而獲取的加密密鑰(K)的完整性的方法,其特征在于,所述方法包括以下步驟使用所述交換算子來執(zhí)行密鑰部分(KM)與驗證加密密鑰(Kv)之間的第一組合,使用所述交換算子來相繼執(zhí)行尚未組合的密鑰部分與通過前一組合獲得的結(jié)果之間組合,直到執(zhí)行了包括所有密鑰部分的最后一個組合(Mv);在所述保護區(qū)(3)中在要驗證的加密密鑰(K)與驗證加密密鑰(Kv)同各密鑰部分(KM,M)的所述最后一個組合(Mv)之間執(zhí)行組合以獲取最終驗證密鑰(Kf);使用所述最終驗證密鑰(Kf)經(jīng)由對稱加密算法(DES)來對驗證數(shù)據(jù)(Dv)加密;以及與通過經(jīng)由所述驗證加密密鑰(Kv)直接加密所述驗證數(shù)據(jù)(Dv)而獲取的驗證加密(Cv)進行比較。
2. 如權(quán)利要求l所述的方法,其特征在于,所述各密鑰部分(KM, M) 與所述驗證密鑰(Kv)之間的所述最后一個組合(Mv)之前的組合的至少一 個是在所述保護區(qū)(3)外執(zhí)行的。
全文摘要
驗證通過使用交換算子在保護區(qū)(3)中組合至少兩個密鑰部分(KM,M)而獲取的加密密鑰(K)的完整性的方法,包括以下步驟使用交換算子執(zhí)行密鑰部分(KM)與驗證加密密鑰(Kv)之間的第一組合;使用交換算子相繼執(zhí)行尚未組合的密鑰部分與通過前一組合獲得的結(jié)果之間組合,直到執(zhí)行了包括所有密鑰部分的最后一個組合(Mv);在保護區(qū)(3)中在要驗證的加密密鑰(K)與驗證加密密鑰(Kv)同各密鑰部分(KM,M)的最后一個組合(Mv)之間執(zhí)行組合以獲取最終驗證密鑰(Kf);使用最終驗證密鑰(Kf)經(jīng)由對稱加密算法(DES)來對驗證數(shù)據(jù)(Dv)加密;以及與通過經(jīng)由驗證加密密鑰(Kv)直接加密驗證數(shù)據(jù)(Dv)而獲取的驗證加密(Cv)進行比較。
文檔編號H04L9/06GK101502038SQ200780029368
公開日2009年8月5日 申請日期2007年8月7日 優(yōu)先權(quán)日2006年8月9日
發(fā)明者H·佩爾捷 申請人:薩基姆安全公司