安全地交换消息的加密方法及实现该方法的设备和系统技术方案

技术编号:12624406 阅读:98 留言:0更新日期:2015-12-31 17:44
本公开涉及安全地交换消息的加密方法及实现该方法的设备和系统。本发明专利技术涉及一种用于在至少两个设备(D1、D2)之间安全地交换消息(M)的方法,每个设备存储共享密钥(K),该方法包括以下步骤:在每个设备处,生成随机数(R1、R2),然后将其发送给其他设备,通过基于密钥和每个随机数的第一运算来确定第一密钥(K1),基于第一密钥和随机数来确定第二密钥(K2);在发送设备(D1)处,基于消息(M)和所述随机数来确定伪消息(M,),基于伪消息(M’)和第二密钥(K2)来计算密文(C)并然后发送密文(C);在接收设备(D2)处,借助所述第二密钥来对密文(C)进行解密,然后从伪消息(M,)中获得消息(M)。

【技术实现步骤摘要】

本专利技术涉及连接在一起的设备之间的数据传输领域,包括用于安全地发送和接收 需要在这些设备之间进行交换的任何种类的消息的加密操作。
技术介绍
存在很多已知的方法涉及加密算法,诸如数据加密标准(DES)或高级加密标准 (AES),用于对将要通过连接任何种类的电子设备的不安全信道或网络进行传输的数据进 行加密和解密。为实现这一目的,这些设备设有执行加密运算的加密部件,以扰乱消息从而 使这些消息在没有解密密钥的情况下无法理解。这些部件通常根据CMOS技术(互补金属 氧化物半导体技术)来实现。从数学的观点来看,在这些部件中实现的加密算法一般是足 够安全的。然而,这样的算法在物理上由采用互相连接的晶体管搭建的集成电路来实现以 产生该算法的逻辑功能的事实生成了可观测的物理量。对这些量的观测可借助于示波器来 执行,例如用于监测集成电路的功率损耗。突然的功率消耗变化在示波器的屏幕上表现为 波峰。每个波峰可以例如标识通常在诸如DES和AES的算法中的所谓的"一轮"的开始,在 所述算法中,要加密的输入消息被应用于连续的运算组(称为"多轮")。根据这样的算法, 每一轮被置于从上一轮所得到的子密钥的控制之下。因此,这样的算法包括一系列子密钥, 这些子密钥是从被用作该算法内的初始密钥的密钥获得的。在该初始密钥被恶意人员知晓 的情况下,后者能够对与相应设备进行交换的任何消息进行解密和适当地加密,该相应设 备根据对称加密方案使用具有相同密钥的相同算法。 存在若干方式来攻击加密电路,以恢复初始密钥。一些攻击被称为非入侵性攻击, 因为它们旨在观测电路的功率消耗、电磁辐射或处理时间。其他攻击被称为入侵性攻击,因 为它们涉及修改电路,特别是电路在短时段内的行为。在这后一类中,差分错误分析被认为 是对任何加密/解密系统的严重威胁。差分错误分析基于对由两种不同状态下的加密电路 提供的输出的观测和比较。这些状态中的一个对应于电路的正常操作,而另一个通过主动 注入旨在通过从0切换到1或反之亦然来改变一个或多个位的错误来获得。这样的物理位 反转可通过例如用激光束扫描集成电路的表面来实现。通过定位加密电路内的敏感区域, 激光射击允许以精确且简易的方式来扰乱电路的行为,因为它们可在计算机的控制之下实 现,同时表现得具有很好的空间和时间分辨率。当在加密算法的处理过程中注入了若干错 误时,对错误输出的分析允许通过观测算法内的错误传播来猜测密钥。 因此,需要提供允许防止攻击者通过任何差分错误分析来猜测密钥,或者更一般 地,通过由任何种类的分析所得到的信息来猜测该密钥的高效解决方案。
技术实现思路
本专利技术的目的是至少部分解决上述缺陷。为实现这一目的,本专利技术提出了一种用 于在至少两个设备之间安全地交换数据的加密方法和设备,涉及特别复杂的加密过程的实 现。根据本专利技术,被同一系统的所有设备作为对称密钥共享的密钥从不直接用作被交换消 息的加密/解密密钥。实际上,尤其被用于对在同一系统的设备之间交换的消息进行加密 /解密的密钥总是基于多个随机数。更具体地,每个设备生成至少一个随机数,该随机数被 考虑用于确定用于对被交换消息进行加密/解密的密钥。因此,如果该系统包括三个设备, 则上述密钥将基于至少三个随机数。 此外,在对将要交换的消息进行加密/解密之前确定附加密钥等级。因此,本方法 包括用于对消息进行加密/解密的三个密钥等级。此外,将要交换的消息从不直接用作用 于生成需要发送的密文的算法的输入数据,但是该消息总是与每个随机数一起使用以首先 生成伪消息,该伪消息然后将由上述加密算法进行加密。 优选地,每当消息需要进行交换时更新随机数。因此,本专利技术防止任何恶意人员通 过包括差分错误分析的任何攻击来猜测共享密钥。此外,由于由伪消息以及所获得的用于 加密的密钥二者提供的复杂度,本专利技术的加密方法达到了特别高的安全等级。 提供了一种用于在至少两个设备(Dl、D2)之间安全地交换消息(M)的加密方法, 每个设备存储所述设备共有的共享密钥(K),所述方法包括以下步骤:在每个设备处生成 随机数(RU R2);由每个设备向其他设备发送所生成的随机数(RU R2);在每个设备处通 过计算第一运算来确定第一密钥(Kl),所述第一运算使用所述共享密钥(K)和每个随机数 (RU R2)作为运算对象;在每个设备处通过采用第一算法对第二运算的结果进行加密来确 定第二密钥(K2),所述第一算法使用所述第一密钥(Kl)作为加密密钥,所述第二运算至少 使用每个随机数(R1、R2)作为运算对象;由作为发送设备(Dl)的所述设备中的一个设备通 过计算可逆第三运算来确定伪消息(M'),所述可逆第三运算使用所述消息(M)和每个随机 数(RU R2)作为运算对象;由所述发送设备(Dl)计算密文(C),所述密文(C)由采用第二 算法对所述伪消息(M')进行加密而产生,所述第二算法使用所述第二密钥(K2)作为直接 或间接的加密密钥;从所述发送设备(Dl)向作为接收设备(D2)的至少一个其他设备发送 所述密文(C);在所述接收设备(D2)处接收所述密文(C);在所述接收设备(D2)处通过使 用所述第二密钥(K2)作为所述第二算法的直接或间接的解密密钥来对所述密文(C)进行 解密,以恢复所述伪消息(M');通过逆转所述第三运算从所述伪消息(M')中获得所述消 息(M)。 提供了一种实现上述加密方法的加密设备(10、20),所述加密设备包括若干部件, 所述部件至少包括:通信接口(1),用于数据交换;安全存储器(2),用于存储共享密钥(K); 随机生成器(3),用于生成随机数(R1、R2);至少一个计算单元(7),用于输出使用运算对象 作为输入的运算的结果;至少一个加密单元(8),用于借助至少一个加密密钥(KU K2、K3) 来运行算法;以及中央处理单元(5),负责根据所述加密方法的步骤来管理所述部件。其他 优点和实施例将被呈现在以下【具体实施方式】中。【附图说明】 由于附图,本专利技术将被更好地理解,其中:图1示出了根据一个实施例的本专利技术的系统的概览; 图2是示出了本专利技术的加密方法的示例性实施例的流程图; 图3示出了图2的流程图的提取部分的替代方式; 图4是图1所示的系统的设备中的一个设备的示意图。【具体实施方式】 参考图1,后者示意性地示出了系统实施例的概览,在该系统实施例中,可实现本 专利技术的方法和多个设备。该图中所示的通信系统示出了通过任何方式连接在一起的三个设 备01、02、03。应该注意的是,设备01、02、03等的数量是无限制的,并且无论在设备的连接 还是数量方面,该图中所示的系统均被认为是很多其他可能性中的一个示例。该系统可以 只包括两个设备,这两个设备或是通过网络(诸如互联网)或是通过任何其他种类的连接 (有线的或无线的)(特别是不安全的连接)连接在一起。...

【技术保护点】
一种用于在至少两个设备(D1、D2)之间安全地交换消息(M)的加密方法,每个设备存储所述设备共有的共享密钥(K),所述方法包括以下步骤:‑在每个设备处生成随机数(R1、R2),‑由每个设备向其他设备发送所生成的随机数(R1、R2),‑在每个设备处通过计算第一运算来确定第一密钥(K1),所述第一运算使用所述共享密钥(K)和每个随机数(R1、R2)作为运算对象,‑在每个设备处通过采用第一算法对第二运算的结果进行加密来确定第二密钥(K2),所述第一算法使用所述第一密钥(K1)作为加密密钥,所述第二运算至少使用每个随机数(R1、R2)作为运算对象,‑由作为发送设备(D1)的所述设备中的一个设备通过计算可逆第三运算来确定伪消息(M’),所述可逆第三运算使用所述消息(M)和每个随机数(R1、R2)作为运算对象,‑由所述发送设备(D1)计算密文(C),所述密文(C)由采用第二算法对所述伪消息(M’)进行加密而产生,所述第二算法使用所述第二密钥(K2)作为直接或间接的加密密钥,‑从所述发送设备(D1)向作为接收设备(D2)的至少一个其他设备发送所述密文(C),‑在所述接收设备(D2)处接收所述密文(C),‑在所述接收设备(D2)处通过使用所述第二密钥(K2)作为所述第二算法的直接或间接的解密密钥来对所述密文(C)进行解密,以恢复所述伪消息(M’),‑通过逆转所述第三运算从所述伪消息(M’)中获得所述消息(M)。...

【技术特征摘要】
...

【专利技术属性】
技术研发人员:H·皮勒提尔
申请(专利权)人:纳格拉影像股份有限公司
类型:发明
国别省市:瑞士;CH

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1