掌桥专利:专业的专利平台
掌桥专利
首页

经认证加密和解密的方法和系统

文献发布时间:2023-06-19 11:14:36


经认证加密和解密的方法和系统

技术领域

本公开一般涉及消息的经认证加密和解密的方法和系统。

背景技术

Galois/计数器模式(GCM)算法是用于经认证加密和解密的广泛接受的标准。然而,为了保护具有小有效载荷大小的传输协议上的消息,传送初始化向量和认证标签的相对较大的开销以及没有针对重放攻击的安全性可能是有问题的。

发明内容

一种经认证加密方法的示例包括用第一处理器组件的加密电路来生成第一数字签名;用该加密电路来将该第一数字签名串接到明文消息以生成串接消息;用该加密电路将该串接消息加密成密文;以及用该第一处理器组件来经由通信信道向第二处理器组件传送该密文。

在具有前一段中的方法的一个或多个特征的示例中,该方法进一步包括以下步骤:用该第二处理器组件的解密电路来将该密文解密成经解密第一数字签名和经解密明文消息。

在具有前一段中的方法的一个或多个特征的示例中,该方法进一步包括以下步骤:用该解密电路来将该经解密第一数字签名与第二数字签名相比较,以由此认证该经解密明文消息。

在具有先前任一段中的方法的一个或多个特征的示例中,其中该第二数字签名由该解密电路使用该经解密明文消息的消息认证码(MAC)来生成。

在具有先前任一段中的方法的一个或多个特征的示例中,其中该第一数字签名由该加密电路使用该明文消息的消息认证码(MAC)来生成。

在具有先前任一段中的方法的一个或多个特征的示例中,其中加密该第一数字签名的步骤进一步包括生成安全初始化向量(SIV)的步骤。

在具有先前任一段中的方法的一个或多个特征的示例中,其中该SIV由该加密电路在该密文被传送至该解密电路之后递增。

在具有先前任一段中的方法的一个或多个特征的示例中,其中该加密电路与该解密电路共享该SIV,以由此在该解密电路中创建本地SIV。

在具有先前任一段中的方法的一个或多个特征的示例中,其中该加密电路提取该SIV的一部分并将该SIV的这部分串接到该密文。

在具有先前任一段中的方法的一个或多个特征的示例中,其中该解密电路提取本地SIV的一部分并将该本地SIV的这部分与该SIV的被串接到密文的部分相比较。

在具有先前任一段中的方法的一个或多个特征的示例中,其中当该本地SIV的这部分匹配该SIV的被串接到密文的部分时,解密电路解密该密文。

在具有先前任一段中的方法的一个或多个特征的示例中,其中当该本地SIV的这部分不匹配该SIV的被串接到密文的部分时,解密电路确定该本地SIV的这部分与该SIV的被串接到密文的部分之间的差异。

在具有先前任一段中的方法的一个或多个特征的示例中,其中当该差异小于阈值时,解密电路将该本地SIV的这部分递增一数量以匹配该SIV的被串接到密文的部分并解密该密文。

在具有先前任一段中的方法的一个或多个特征的示例中,其中该解密电路进一步将该本地SIV递增与该本地SIV的这部分递增相同的数量。

在具有先前任一段中的方法的一个或多个特征的示例中,其中当该差异大于阈值时,加密电路和解密电路开始新的加密和解密会话。

在具有先前任一段中的方法的一个或多个特征的示例中,其中该本地SIV由该解密电路在该密文被解密和认证之后递增。

在具有先前任一段中的方法的一个或多个特征的示例中,其中加密该第一数字签名的步骤进一步包括生成密钥的步骤。

在具有先前任一段中的方法的一个或多个特征的示例中,其中该加密电路与该解密电路共享该密钥。

在具有先前任一段中的方法的一个或多个特征的示例中,其中该解密电路与该加密电路共享该密钥。

在具有先前任一段中的方法的一个或多个特征的示例中,其中该解密电路与该加密电路共享该本地SIV以由此在该加密电路中创建SIV。

经认证加密和解密系统的示例,该系统包括具有加密电路的第一处理器组件,该加密电路被配置成生成第一数字签名;其中该加密电路被进一步配置成:将该第一数字签名串接到明文消息以生成串接消息;将该串接消息加密成密文;由此该第一处理器组件经由通信信道向第二处理器组件传送该密文。

在具有前一段中的系统的一个或多个特征的示例中,该系统进一步包括具有解密电路的第二处理器组件,该解密电路被配置成将该密文解密成经解密第一数字签名和经解密明文消息。

在具有前一段中的系统的一个或多个特征的示例中,该解密电路将该经解密第一数字签名与第二数字签名相比较以由此认证该经解密明文消息。

在具有前一段中的系统的一个或多个特征的示例中,其中该解密电路通过使用该经解密明文消息的消息认证码(MAC)来生成该第二数字签名。

在具有先前任一段中的系统的一个或多个特征的示例中,该加密电路通过使用该明文消息的消息认证码(MAC)来生成该第一数字签名。

在具有先前任一段中的系统的一个或多个特征的示例中,该解密电路生成本地SIV并与该加密电路共享该本地SIV以由此在该加密电路中创建SIV。

在具有先前任一段中的系统的一个或多个特征的示例中,该加密电路除了加密该第一数字签名之外还生成安全初始化向量(SIV)。

在具有先前任一段中的系统的一个或多个特征的示例中,该加密电路在该密文被传送至该解密电路之后递增该SIV。

在具有先前任一段中的系统的一个或多个特征的示例中,该加密电路与该解密电路共享该SIV以由此在该解密电路中创建本地SIV。

在具有先前任一段中的系统的一个或多个特征的示例中,该加密电路提取该SIV的一部分并将该SIV的这部分串接到该密文。

在具有先前任一段中的系统的一个或多个特征的示例中,该解密电路提取本地SIV的一部分并将该本地SIV的这部分与该SIV的被串接到密文的部分相比较。

在具有先前任一段中的系统的一个或多个特征的示例中,当该本地SIV的这部分匹配该SIV的被串接到密文的部分时,解密电路解密该密文。

在具有先前任一段中的系统的一个或多个特征的示例中,当该本地SIV的这部分不匹配该SIV的被串接到密文的部分时,解密电路确定该本地SIV的这部分与该SIV的被串接到密文的部分之间的差异。

在具有先前任一段中的系统的一个或多个特征的示例中,当该差异小于阈值时,解密电路将该本地SIV的这部分递增一数量以匹配被串接到密文的SIV并解密该密文。

在具有先前任一段中的系统的一个或多个特征的示例中,该解密电路进一步将该本地SIV递增与该本地SIV的这部分递增相同的数量。

在具有先前任一段中的系统的一个或多个特征的示例中,当该差异大于阈值时,加密电路和解密电路开始新的加密和解密会话。

在具有先前任一段中的系统的一个或多个特征的示例中,该解密电路在该密文被解密和认证之后递增该本地SIV。

在具有先前任一段中的系统的一个或多个特征的示例中,加密该第一数字签名的步骤进一步包括生成密钥的步骤。

在具有先前任一段中的系统的一个或多个特征的示例中,该加密电路与该解密电路共享该密钥。

在具有先前任一段中的系统的一个或多个特征的示例中,该解密电路与该加密电路共享该密钥。

在具有先前任一段中的系统的一个或多个特征的示例中,该解密电路与该加密电路共享该本地SIV以由此在该加密电路中创建SIV。

在具有先前任一段中的系统的一个或多个特征的示例中,该加密电路生成密钥并与该解密电路共享该密钥。

在具有先前任一段中的系统的一个或多个特征的示例中,该解密电路生成密钥并与该加密电路共享该密钥。

附图说明

现在将通过示例的方式参考附图描述本发明,其中:

图1A是根据一个实施例的Galois/计数器模式(GCM)加密过程的逻辑流程的图示;

图1B是根据一个实施例的Galois/计数器模式(GCM)解密过程的逻辑流程的图示;

图2是根据另一个实施例的经认证加密和解密方法的流程图;

图3是根据另一实施例的加密过程的逻辑流程的图示;

图4A是根据另一实施例的安全初始化向量的分区的图示;

图4B是根据另一实施例的本地安全初始化向量的分区的图示;

图5是根据另一实施例的解密过程的逻辑流程的图示;以及

图6是根据又一个实施例的经认证加密和解密系统的图示。

具体实施方式

现在将详细参考实施例,在附图中示出这些实施例的示例。在以下详细描述中,阐述了众多具体细节以便提供对各种所描述的实施例的透彻理解。然而,对本领域的普通技术人员将显而易见的是,可以在没有这些具体细节的情况下实践各种所描述的实施例。在其他实例中,并未对公知方法、程序、部件、电路以及网络进行详细描述,以免不必要地使实施例的各方面模糊。

2007年11月发布的题为“RECOMMENDATION FOR BLOCK CIPHER MODES OFOPERATION:GALOIS/COUNTER MODE(GCM)AND GMAC(对块加密操作模式的推荐:GALOIS/计数器模式(GCM)和GMAC)”的美国国家标准技术研究院(NIST)特殊出版物800-38D指定Galois/计数器模式(GCM),一种用于对相关联的数据进行经认证加密的算法,及其专门用于生成未加密的数据的消息认证码的GMAC。GCM和GMAC是用于底层经批准对称密钥块密码的操作模式。经认证加密(AE)以及对相关联数据的经认证加密(AEAD)是同时保证数据机密性和真实性的加密形式。GCM是密码学中依赖于AE的对称密钥块密码操作模式。GCM是从具有128位块大小的经批准对称密钥块密码(诸如联邦信息处理标准(FIPS)出版物197中指定的高级加密标准(AES)算法)中构建的。GCM是AES算法的操作模式。

GCM是由于其效率和性能而被广泛接受的经认证加密标准。然而,为了保护具有相对较小的有效载荷大小的传输协议(通常在车辆中的嵌入式系统中)上的消息,初始化向量(IV)和认证标签(Tag)的传输开销相对较高。具有相对较小的有效载荷大小的传输协议的示例是车辆子系统中的不同控制单元和/或设备之间的控制器局域网(CAN)通信。如将在下文中更详细地描述的,本文公开了一种经修改的GCM方案,该方案解决了GCM的两个问题:1)传送IV和Tag的额外开销;以及2)对于重放攻击几乎没有保护。

图1A示出了GCM加密逻辑流程的示例。GCM密钥是块密码密钥(即,秘密密钥、安全密钥等)。密钥的交换经由诸如公钥基础设施(PKI)或迪菲-赫尔曼(Diffie–Hellman)密钥交换之类的任何已知安全协议来完成。对于任何给定密钥,底层块密码由互为逆的两个函数组成。这两个函数是经认证加密和经认证解密。经认证加密函数加密机密数据并在该机密数据以及任何附加非机密数据上计算Tag。车辆系统中的供加密的机密数据的示例包括但不限于:通过CAN网络共享给自主驾驶引擎控制单元(ECU)的惯性测量单元(IMU)数据、与运行安全应用的主机ECU共享的雷达和/或LiDAR传感器数据。车辆系统中的供加密的非机密数据的示例包括但不限于:消息标识符(CAN通信)、IP地址和/或端口号(以太网通信)。

图1B示出了GCM解密逻辑流程的示例。经认证解密函数解密机密数据并基于对Tag的验证来认证发送方。在该示例中,经认证解密函数的输出包括对应于密文的明文消息(假设Tag验证成功)以及Tag验证结果(即,通过/失败)。密文是加密明文消息的结果。

GCM方法的某些限制的示例包括:

来自GCM加密过程的输出包括对称密钥大小的Tag。除了传送密文和Tag之外,还需要传送IV(具有NIST推荐的12字节长度)以帮助最终解密过程。当AES GCM被用来进行具有8字节的最大有效载荷大小的CAN总线通信时,传送Tag和IV是显著开销(即,对于每一个CAN消息4个额外的CAN帧用以携带IV和Tag)。如果使用更短长度的Tag,则对于每一有效载荷帧,开销只能被减少至3个额外帧。甚至在CAN-FD的情形中,28字节的IV和Tag也是显著开销(例如,64字节的总有效载荷的44%)。

除了增加数据总线负载之外,还存在引入等待时间和性能问题的多个帧消息(例如,密文、IV和Tag)的同步的开销。

如果攻击者窃听总线上的数据,捕捉到数据并对接收者重放该数据,则接收者无法将重传的消息与原始消息区分开。这需要在有效载荷中包括附加数据字段(例如,安全CAN实现中的计数器或时间戳),该附加数据字段增加网络开销。

作为纯AEAD方案的GCM不提供对消息丢失的阻止。消息丢失处置被留给下面的网络层。

图2是示出使用经认证加密和解密系统10(之后称为系统10)来进行经认证加密和解密方法100的流程图。系统10的示例在图6中示出。如将在下文中更详细地解释的,方法100可提供对其他方法的改进,因为方法100减少与传送IV和Tag相关联的开销并且确保免遭重放攻击。仅仅出于说明目的,以下公开中的示例假定具有6字节的数据大小(即,明文消息18)和16字节密钥大小的CAN总线。将领会,方法100将适用于具有不同最大有效载荷的其他通信协议。

步骤102,即生成第一签名,包括用第一处理器组件16的加密电路14来生成第一数字签名12。图3示出了在加密电路14中发生的逻辑流程的示例。在示例中,第一数字签名12由加密电路14使用明文消息18的消息认证码(MAC)来生成。在该示例中,明文消息18的长度是6字节。在示例中,MAC的输出(即,明文消息18以及任何可选字段)可使用“盐”或任何其他已知手段来减小至所需大小。密码学中的“盐”是被用作对使数据、口令或通行码(passphrase)“散列化”的单向函数的附加输入的随机数据。MAC算法(例如,Galois MAC(GMAC)、基于散列的MAC(HMAC)和基于密码的MAC(CMAC))被用来导出数字签名。在该示例中,GMAC算法被用来生成具有1字节长度的第一数字签名12。第一数字签名12从明文消息18的GMAC和任何附加输入中导出。取决于明文消息18的长度(即,消息有效载荷大小),第一数字签名12的大小可被改变以确保对完整性和真实性的最大可能保证。为了生成第一数字签名12,第一步骤是生成GMAC。在该示例中,加密电路14用来生成GMAC的输入包括明文消息18、任何附加经认证数据(AAD)、安全初始化向量(SIV)、初始化向量计数器(IVC)、以及“盐”。在CAN通信的示例中,AAD可以是消息标识符。在以太网通信的示例中,AAD可以是IP地址和/或端口号。盐是指向GMAC中的位位置的指针的数组。形成第一数字签名12所需的数组指针的数量取决于第一数字签名12的大小。在示例中,如果GMAC是16字节(即,128位)且第一数字签名12是1字节(即,8位),则盐将具有在握手过程期间在加密电路14和解密电路26之间达成一致的8个指针。在该示例中,这8个指针指向GMAC中的特定位位置。这8个指针所指向的位置处的位值被串接在一起以形成1字节的第一数字签名12。盐在加密电路14与解密电路26之间的每一个加密/解密会话开始时被安全地交换。

在示例中,第一处理器组件16是微处理器。微处理器可以是控制器电路的组件和/或微控制器的一部分,诸如引擎控制模块、车身控制模块和/或与可被安装在车辆上的各种传感器和致动器相关联的其他电路(未示出)。微处理器可包括其他控制电路,诸如模拟和/或数字控制电路。控制电路可以包括被编程以执行技术的一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA),或可以包括被编程以用于根据固件、存储器、其他存储或组合中的程序指令执行技术的一个或多个通用硬件处理器。微处理器还可将定制的硬接线逻辑、ASIC、或FPGA与定制的编程进行组合,以实现这些技术。微处理器可以包括存储器或存储介质(未示出),包括非易失性存储器,诸如,用于存储一个或多个例程、阈值、和所捕获的数据的电可擦除可编程只读存储器(EEPROM)。EEPROM存储数据并且允许通过应用特定编程信号来擦除并且重新编程单个字节。微处理器可包括非易失性存储器的其他示例,诸如闪存存储器、只读存储器(ROM)、可编程只读存储器(PROM)以及可擦除可编程只读存储器(EPROM)。微处理器可以包括易失性存储器,诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)。该一个或多个例程可以由微处理器执行,以执行用于如本文所述的基于由微处理器从加密电路14接收到的信号来进行加密的步骤。在示例中,第一处理器组件16包括加密电路14(即,加密电路14与第一处理器组件16电气封装是一体的)。在另一个示例中,第一处理器组件16和加密电路14是分开的设备。

在另一示例中,第一处理器组件16是可以是控制器电路的组件的硬件安全模块(HSM)。HSM是通过生成密钥、加密和解密数据以及创建并验证数字签名来增强加密实践的加固的防篡改硬件设备。在示例中,HSM包括中央处理单元(CPU)、用于AES、散列和公钥密码学的硬件加速器、专用RAM和闪存、以及随机数生成器。在示例中,HSM可访问控制器电路的整个系统RAM和闪存,而除了HSM以外的任何系统组件无法访问该HSM中的RAM和闪存。在该示例中,提供对诸如密钥和证书之类的可被存储在HSM中的安全工件的保护。在示例中,在HSM中执行的操作被保护以免遭外界侵害。在示例中,控制器电路向HSM提交加密请求,HSM在安全环境中执行这些操作并将结果提供给控制器电路。

在示例中,加密电路14还在加密会话开始时生成安全初始化向量(SIV)。在另一示例中,解密电路26生成本地安全初始化向量(本地SIV)并与加密电路14共享该本地SIV。如本文中所使用的,相比于GCM方法,SIV是“安全的”,因为SIV不与经加密明文消息18一起在通信信道上传送。在图3和图4所示的示例中,SIV和本地SIV的长度是12字节。如将在下文中更详细地描述的,SIV通过包括但不限于PKI或迪菲-赫尔曼密钥交换的已知方法中的任一种来在第一处理器组件16和第二处理器组件24之间安全地交换。在示例中,SIV和本地SIV可以在第一数字签名12和第二数字签名32的生成中用作“可选字段”。在SIV和本地SIV的确定性构造的示例中,SIV和本地SIV是被称为固定字段和可变字段的两个字段的串接。固定字段标识经认证加密函数的设备(例如,传感器、微控制器等)或经认证加密函数的实例的上下文。可变字段标识特定设备中的经认证加密或解密函数的输入集。为了遵从来自以上提及的NIST推荐的对SIV的唯一性要求,对于任何给定密钥,没有两个不同的设备共享同一固定字段,并且对任何单个设备的两个不同的输入集不共享同一可变字段。可变字段通常是1)整数计数器或者2)线性反馈移位寄存器,该寄存器由本原多项式驱动以确保最大循环长度。在任一情形中,可变字段在每一次调用经认证加密或解密函数之际递增。固定字段和可变字段的长度和位置在密钥生存期内对于所支持的每一SIV长度都是固定的。SIV和本地SIV的分区的示例分别在图4A和图4B中示出。在这些示例中,在SIV和本地SIV的长度为12字节(即,96位)的情况下,SIV和本地SIV的前64位(即,最左或最高有效位—MSB)持有固定字段,而后32位(即,最右或最低有效位—LSB)持有可变字段。在这些示例中,可变字段用作被称为初始化向量计数器(IVC)和本地初始化向量计数器(IVCL)的计数器。如将在下文中更详细地描述的,IVC和IVCL的角色是创建加密协议用来抵御重放攻击、欺骗、篡改、信息泄漏和消息丢失的机制。将领会,除了本文描述的示例外,还可使用SIV和本地SIV的其他长度和分区。

在另一示例中,加密电路14生成密钥并与解密电路26共享该密钥。在另一示例中,解密电路26生成密钥并与加密电路14共享该密钥。该密钥可使用随机数生成器(RNG)(诸如通常在大多数HSM块中可用的真随机数生成器硬件或等效的软件实现)来生成。RNG也可用于生成SIV。用于生成密钥的其他方法在以上提及的NIST文献中描述。

步骤104,即生成串接消息,包括用加密电路14来将第一数字签名12串接到明文消息18以生成串接消息20。再次参照图3,1字节的第一数字签名12串被附加到(即,串接到)6字节的明文消息18串以创建具有7字节长度的串接消息20。该串接消息20具有比图1A所示的具有18字节开销的GCM方法的示例相比小得多的开销。

步骤106,即加密串接消息,包括用加密电路14来将串接消息20加密成密文22。在图3所示的示例中,串接消息20的加密遵从已知的GCM加密协议,并且将不会在本文中详细描述。GCM加密算法的细节可以在以上提及的NIST文献中找到。

步骤108,即传送密文,包括用第一处理器组件16经由通信信道向第二处理器组件24传送密文22。在示例中,第二处理器组件24是另一微处理器。该微处理器可以是另一控制器电路的组件和/或另一微控制器的一部分,如以上针对第一处理器组件16描述的。在另一示例中,第二处理器组件24是可以是另一控制器电路的组件的另一HSM,如以上针对第一处理器组件16描述的。在图6所示的系统10的示例中,密文22是通过可能是不安全的传输线的CAN总线来传送的。将领会,可使用具有标准无线和/或有线接口的其他通信协议来传送密文22,包括但不限于

在示例中,在向第二处理器组件24传送密文22之前,加密电路14提取SIV的一部分并将该SIV的这部分串接到密文22。返回参照图4A,加密电路14提取IVC的最右8位或最低有效位(LSB)(之后称为IVC-LSB)并将该IVC-LSB串接到密文22,如图3所示。再次参照图3所示的示例,第一处理器组件16传送包含6字节密文22的消息以及包括1字节第一数字签名12和1字节IVC-LSB的2字节开销。如将在下文中更详细地描述的,所传送的该IVC-LSB将在解密过程中用于加密电路14和解密电路26之间的同步。

返回参照图3,在向第二处理器组件24的解密电路26传送密文22之后,加密电路14递增SIV的可变字段(即,SIV的IVC部分)。该递增可以是任何预定递增模式并且可以是用户定义的。

步骤110,即解密密文,包括用第二处理器组件24的解密电路26来将密文22解密成经解密第一数字签名28和经解密明文消息30。图5示出了在解密电路26中发生的解密过程的逻辑流程的示例。在示例中,在每一加密/解密会话开始时,加密电路14以与密文22分开的安全方式(例如,经由PKI或迪菲-赫尔曼密钥交换)与解密电路26共享SIV,由此在解密电路26中创建该SIV的本地副本,之后称为本地SIV。在另一示例中,解密电路26发起与加密电路14的本地SIV交换。

在示例中,解密电路26提取本地SIV的一部分并将该本地SIV的这部分与SIV的被串接到密文22的部分(即,IVC-LSB)相比较。正如加密电路14从SIV中提取IVC-LSB(如上所述且如图4A所示),解密电路从本地SIV中提取IVCL的LSB(即,IVCL-LSB)以供比较(参见图4B)。再次参照图4B的分区图,解密电路26提取IVCL-LSB以供与同密文22一起传送自加密电路14的IVC-LSB相比较。即,解密电路26将IVCL-LSB与IVC-LSB相比较以作为在继续对密文22进行解密之前的安全检查。该安全检查防范重放攻击、欺骗、篡改、信息泄漏和消息丢失。在示例中,当IVCL-LSB匹配IVC-LSB时,解密电路26解密密文22。在该示例中,本地SIV由解密电路26在密文22被解密并认证之后递增以便将解密电路26中的本地SIV与加密电路14中的SIV同步。即,IVCL由解密电路26递增以匹配如上所述的由加密电路14执行的IVC的递增。

在示例中,当IVCL-LSB不匹配IVC-LSB时,解密电路26确定IVCL-LSB与IVC-LSB之间的差异。在该示例中,当差异小于阈值时,解密电路26将IVCL-LSB递增一数量以匹配IVC-LSB,并且解密密文22。在该示例中,解密电路26进一步将本地SIV递增与IVCL-LSB递增相同的数量以将解密电路26中的IVCL与加密电路14中的SIV同步。阈值可以是用户定义的,并且该阈值的范围取决于应用。例如,在GPS导航的情形中,一些GPS数据包的丢失或许是可容忍的,而在通过航位推算进行导航的情形中,最多可以容忍2-3个IMU数据包的丢失。系统10的这方面通过校正IVC和IVCL中的小差异或者通过终止加密/解密会话来提供对消息丢失和/或消息破坏的阻止。

在示例中,当IVCL-LSB与IVC-LSB之间的差异大于阈值时,加密电路14和解密电路26开始新的加密和解密会话。在该示例中,该情形被认为是无法恢复的,并且开始重新初始化。在重新初始化期间,密钥、SIV和盐被新生成并在加密电路14和解密电路26之间共享以重启加密和解密过程。

步骤112,即认证消息,包括用解密电路26来将经解密第一电子签名28与第二电子签名32相比较以由此认证该经解密明文消息30。在示例中,第二数字签名32由解密电路26通过与针对上述第一数字签名12的过程类似的过程使用经解密明文消息30的MAC来生成。一旦经解密明文消息30被认证,该消息就可被输出至信道以供另一设备读取,如应用所需要的。在示例中,重放攻击将失败,因为重传的消息将认证失败。在该示例中,用于创建重传的消息的SIV将不匹配用于解密该消息的本地SIV(随着接收到的每一个消息递增),由此造成签名不匹配。

由此,提供了经认证加密和解密方法100以及经认证加密和解密系统10。该方法100可提供胜过其他方法的优点,因为方法100减少所传送的数据的开销并提高加密和解密消息的安全性。另外,因为所传送的开销相对较小,所以可避免消息分拆。例如,在6字节有效载荷下,相比于需要4个CAN消息的GCM,经认证消息可被包含在一个CAN消息中。虽然本文描述的方法100和系统10的示例包括对AEAD的GCM方案的适用,但将领会,方法100和系统10还可适用于其它AEAD方案,包括具有密码块链接消息认证码(CCM模式)、偏移码本模式(OCB模式)和Carter-Wegman+CTR模式(CWC模式)的计数器。

尽管已经根据本发明的优选实施例描述了本发明,然而并不旨在受限于此,而是仅受所附权利要求书中所阐述的范围限制。“一个或多个”包括:由一个要素执行的功能;由多于一个的要素例如以分布式方式执行的功能;由一个要素执行的若干功包括:由一个要素执行的功能;由多于一个的要素例如以分布式方式执行的功能;由一个要素执行的若干功能;由若干要素执行的若干功能;或上述的任何组合。将会理解,虽然在一些实例中,术语第一、第二等在本文中用于描述各种要素,但这些要素不应受这些术语的限制。这些术语仅用于区分一个要素与另一个要素。例如,第一接触件可以被称为第二接触件,并且类似地,第二接触件可以被称为第一接触件,而没有背离各种所描述的实施例的范围。第一接触件和第二接触件两者都是接触件,但它们并非相同的接触件。在对本文中各种所描述的实施例的描述中使用的术语仅出于描述特定实施例的目的,而不旨在是限制性的。如在对各种所描述的实施例和所附权利要求的描述中所使用的,单数形式“一(a)”、“一(an)”和“所述(the)”旨在也包括复数形式,除非上下文以其他方式明确指出。还将理解,本文所使用的术语“和/或”是指并且包含相关联的所列项目中的任一个以及相关联的所列项目中的一个或更多个的所有可能的组合。将进一步理解的是,术语“包括”、“包括有”、“包含”和/或“包含有”当在本说明书中使用时指明所陈述的特征、整数、步骤、操作、要素和/或部件的存在,但并不排除一个或多个其他特征、整数、步骤、操作、要素、部件和/或其群组的存在或添加。如本文中所使用的,取决于上下文,术语“如果(if)”可选地被解释为表示“当…时”或“在…后”或“响应于确定”或“响应于检测到”.类似地,取决于上下文,短语“如果被确定”或“如果检测到[所陈述的情况或事件]”被可选地解释为表示“在确定…后”或“响应于确定”或“在检测到[所陈述的情况或事件]后”或“响应于检测到[所陈述的情况或事件]”。

相关技术
  • 参数生成设备,加密系统,解密系统,加密设备,解密设备,加密方法,解密方法,及其程序
  • 一种应用于授信认证的加密解密方法及授信认证系统
技术分类

06120112854660