专利名称:验证通过组合各密钥部分获取的加密密钥的完整性的方法
验证通过组合各密钥部分获取的加密密钥的完整性的方法
技术领域:
本发明涉及验证通过组合各密钥部分获取的并与对称加密算法相关联地 使用的加密密钥的完整性的方法。
背景技术:
已知加密算法通过密钥来操作,密钥构成确保加密是安全所必需的元素。 已知用于试图欺诈性地获取与加密算法相关联的密钥的各种手段。一个这 样的手段包括分析在密钥从只读存储器中的存储传送到读/写存储器或从读/写 存储器传送到寄存器时发生的电子或电磁现象。为了抗击该攻击方法,已知将 密钥细分成多个部分, 一般是两个部分,这两个部分在其中实现该算法的读保 护区中经由例如交换异或算子的算子来组合。
重构密钥的另一方式包括在密钥中引起干扰并分析重复使用的、对加密密 钥引起相继干扰的数据项的加密的结果。为了防止攻击者对密钥执行相继的干 扰,在实现加密算法时能验证密钥的完整性将合乎需要的。不幸的是,在不能 读访问的保护区中组合各密钥部分阻止为验证密钥完整性而对密钥的任何读 回。
发明目的
本发明的目的在于提出一种用于验证通过使用与对称加密算法相关联的 交换算子在保护区中组合多个密钥部分获取的加密密钥的完整性的方法。
发明概述
为了实现该目的,本发明提供一种包括以下步骤的方法使用该交换算子 来执行密钥部分和验证加密密钥之间的第一组合;使用该交换算子相继执行尚 未组合的密钥部分与通过前一组合获得的结果之间的组合,直到执行了包括所 有密钥部分的最后一个组合;在保护区中在要验证的加密密钥与验证加密密钥
3同各密钥部分的最后一个组合之间执行组合以获取最终验证密钥;使用最终验 证密钥经由对称加密算法来对验证数据加密;以及与通过经由验证加密密钥直 接加密验证数据而获取的验证加密进行比较。
因此,当要被验证的密钥未被干扰时,最终验证密钥等于验证加密密钥, 验证数据的加密于是等同于验证加密。否则,如果加密密钥已被干扰,则最终 验证密钥不等于验证加密密钥,且在验证数据的加密与验证加密之间检测到区 别。然后有可能从中得出结论,例如阻塞加密算法以便防止攻击者继续可能使 得攻击者能够重构加密密钥的连续测试。
优选地,各密钥部分与验证密钥之间的最后一个组合之前的组合中的至少 一个是在保护区外执行的。这最小化了需要在保护区中实现的手段。
附图
简述
在参考示意性地示出本发明的方法的附图的情况下阅读对本发明的优选、 非限定性实现的以下描述,本发明的其他特征和优点是显然的。
发明的详细描述
参考附图,本发明的方法通过使用本身已知的装置来实现,包括诸如 EEPROM等静态存储器1、读/写存储器2以及形成被配置成实现使用加密密 钥K的对称加密算法(DES、 TDES、 AES...)的读保护区的寄存器3。采用己 知方式,通过使用诸如异或算子等交换算子将两个密钥部分KM和M组合来 获取加密密钥K,该算子在以下等式中被写为(+)。
为此,将密钥值KM和K从静态存储器读入读/写存储器,然后它们被传 送到保护区3,在那里使用以下等式将其组合
K= KM (+) M 记得密钥K不能在保护区3中读。
在本发明中,静态存储器1还包含验证加密密钥Kv、验证数据Dv以及 验证加密Cv,验证加密Cv是之前通过使用验证加密密钥的加密算法对验证数 据直接加密而获取的。当使用DES算法时,这给出
Cv = DES(Kv, Dv)
4为了在密钥K中引起干扰,攻击者有可能在密钥部分KM和/或M在静态 存储器中或读/写存储器中时对其行动。
为了验证包含在寄存器3中的加密密钥K的完整性,本发明的方法包括
以下步骤
*在读/写存储器2中,组合验证加密密钥Kv和第一密钥部分KM。这给
出
T = KM (+) Kv
在从前一组合获取的结果与第二密钥部分M之间进行第二组合。在所
述实现中,这产生由以下等式给出的最后一个组合MV:
Mv = T(+)M
,在保护区3中将验证组合Mv与加密密钥K组合以获取由以下等式给出 的最终验证密钥Kf:
Kf=K(+) Mv
使用最终验证密钥Kf,经由对称DES加密算法对验证数据Dv加密, 以获取验证数据的加密CDv,使得
CDv = DES(Kf,Dv)
*将得到的验证数据的加密CDv与从静态存储器1中提取的验证加密Cv 进行比较。
应观察到,如果最终验证密钥的公式全部写出,则获得以下-
Kf = K (+)固(+) Kv (+) M 这在考虑异或算子的交换性时可写成
Kf = K (+) KM (+) M (+) Kv
如果初始数据未受到攻击,贝U:
KM (+) M = K
且Kf的表达式变为
Kf = K(+)K(+)Kv = Kv 相反,如果数据项之一受到干扰,则K与KM (+) M之间不再存在等同性, 使得最终验证密钥不同于验证加密密钥Kv。用最终验证加密密钥Kf对验证数 据Dv则加密给出不同于验证加密Cv的结果CDv。比较CDv和Cv因此使得有可能检测攻击并触发防范措施,例如阻塞算法。 应观察到本发明的方法使得有可能不仅验证加密密钥K的完整性,而且
当对验证加密密钥Kv进行了攻击时,也有可能验证该验证数据Dv或验证加
密Cv。
尽管本发明的主要目的不是检测对该数据的攻击,但本发明仍使得有可能 响应以便避免随后对与密钥部分KM或M有关的数据进行的攻击。
自然地,本发明不限于所述实现且可对其应用不同的实现而不超出如权利 要求书所定义的本发明的范围。
具体地,尽管仅用两部分的密钥描述了本发明,但本发明的方法可应用于 通过使用交换算子和对称加密算法从任意数目的密钥部分重新组合的密钥。
尽管组合加密密钥部分KM和M与验证密钥Kv的步骤被描述为在读/写 存储器2中执行,但也有可能在保护区3中执行这些步骤,然而这将无意义地 占据保护区3的计算资源。
权利要求
1. 一种验证通过使用交换算子在保护区(3)中组合至少两个密钥部分(KM,M)而获取的加密密钥(K)的完整性的方法,其特征在于,所述方法包括以下步骤使用所述交换算子来执行密钥部分(KM)与验证加密密钥(Kv)之间的第一组合,使用所述交换算子来相继执行尚未组合的密钥部分与通过前一组合获得的结果之间组合,直到执行了包括所有密钥部分的最后一个组合(Mv);在所述保护区(3)中在要验证的加密密钥(K)与验证加密密钥(Kv)同各密钥部分(KM,M)的所述最后一个组合(Mv)之间执行组合以获取最终验证密钥(Kf);使用所述最终验证密钥(Kf)经由对称加密算法(DES)来对验证数据(Dv)加密;以及与通过经由所述验证加密密钥(Kv)直接加密所述验证数据(Dv)而获取的验证加密(Cv)进行比较。
2. 如权利要求l所述的方法,其特征在于,所述各密钥部分(KM, M) 与所述验证密钥(Kv)之间的所述最后一个组合(Mv)之前的组合的至少一 个是在所述保护区(3)外执行的。
全文摘要
验证通过使用交换算子在保护区(3)中组合至少两个密钥部分(KM,M)而获取的加密密钥(K)的完整性的方法,包括以下步骤使用交换算子执行密钥部分(KM)与验证加密密钥(Kv)之间的第一组合;使用交换算子相继执行尚未组合的密钥部分与通过前一组合获得的结果之间组合,直到执行了包括所有密钥部分的最后一个组合(Mv);在保护区(3)中在要验证的加密密钥(K)与验证加密密钥(Kv)同各密钥部分(KM,M)的最后一个组合(Mv)之间执行组合以获取最终验证密钥(Kf);使用最终验证密钥(Kf)经由对称加密算法(DES)来对验证数据(Dv)加密;以及与通过经由验证加密密钥(Kv)直接加密验证数据(Dv)而获取的验证加密(Cv)进行比较。
文档编号H04L9/06GK101502038SQ200780029368
公开日2009年8月5日 申请日期2007年8月7日 优先权日2006年8月9日
发明者H·佩尔捷 申请人:萨基姆安全公司