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