经认证的基于晶格的密钥协商或密钥封装制造技术

技术编号:32157615 阅读:14 留言:0更新日期:2022-02-08 15:07
一些实施例涉及具有第一密码设备(10)和第二密码设备(20)的系统。所述设备可以根据所述设备已知的预先共享秘密以及在它们之间交换的预先种子来计算最终种子。最终种子可用于导出公共对象(a)。导出公共对象(a)。导出公共对象(a)。

【技术实现步骤摘要】
【国外来华专利技术】经认证的基于晶格的密钥协商或密钥封装


[0001]当前公开的主题涉及第一密码设备、第二密码设备、第一密码方法、第二密码方法和计算机可读介质。

技术介绍

[0002]在密码学中,密钥协商协议是两方或多方可以就这样的密钥达成一致的协议。例如,商定的密钥可以用于保护各方之间的进一步通信,例如,认证和/或加密进一步的通信。窃听双方之间所有通信的攻击者应该对密钥一无所知。然而,虽然看到相同通信的攻击者一无所知或所知甚少,但双方自己可以推导出共享密钥。
[0003]实用的密钥协商协议于1976年引入,当时Whitfield Diffie和Martin Hellman引入了公钥密码学的概念。他们提出了一种在两方之间密钥协商的系统,该系统利用了在具有q个元素的有限域GF(q)上计算对数的明显困难。使用该系统,两个用户可以就对称密钥达成一致。
[0004]密钥协商协议在多方通信的许多应用中是有用的,例如,在诸如物联网、自组无线网络等应用领域中。密钥协商可用于保护设备之间的链接。另一示例是阅读器和电子标签(例如读卡器和智能卡)或标签阅读器和标签(例如RFID标签或NFC标签)之间的通信。
[0005]为了促进各方之间的安全通信,密钥协商协议有时被进一步细分为密码密钥交换(KEX)和密码密钥封装(KEM)方案。密码密钥封装(KEM)方案使用非对称密码在两方之间建立共享秘密,使用各方的公开已知(例如,公钥)和秘密拥有(例如,秘密密钥)值。
[0006]KEX方案涉及每一方交换公钥,然后由另一方连同自己的秘密密钥单独使用以计算公共共享秘密。KEX方案的公知示例是上面提到的Diffie

Hellman密钥交换,其安全性基于解决离散对数问题。通常,双方都可以影响结果,因此任何一方都不能强制选择密钥。一些KEX方案的有趣特征在于,实际上最终的共享秘密永远不会在双方之间交换,甚至不以加密形式交换,而是由双方在每一端独立地计算。这导致了称为前向保密的期望特征,确保了即使未来攻击者损害一方的长期密钥也不会损害过去交换的加密消息的保密性。
[0007]KEM方案通过一方(通常是通信的发起者)使用非对称密码术在两个实体或双方之间建立共享秘密,以使用另一方的公钥进行加密并将共享秘密传输给所述另一方(称为响应者),所述另一方然后可以使用她的秘密密钥进行解密,并且然后使用它与发起方进行安全通信。KEM方案无法实现前向保密,因为任何损坏一方过去会话的密钥并记录该会话中各方之间交换的所有消息的攻击者都可以恢复该特定会话的共享秘密。
[0008]自从Diffie和Hellman的论文发表以来,人们提出了新的担忧。由于物联网安全需求的增加,密钥交换方案还需要实现高效率和低通信或带宽要求。此外,密钥协商协议最好是安全的,可以抵御经典以及具有量子能力的对手。
[0009]此外,这些密钥协商协议的缺点是它们不对各方进行认证。这使它们容易受到中间人(MITM)攻击。在中间人攻击中,攻击者可能将自己置于第一方和第二方之间。然后攻击者可以与第一方协商第一共享密钥并与第二方协商第二共享密钥。因此,攻击者能够解密
所有内容。通常,KEX和KEM类型的协议两者都需要例如数字签名来避免该问题。签名是在轻量级协议中通常也避免的操作。
[0010]解决此的一种方法是所谓的经认证密钥交换(AKE)。AKE协议可以同时协商密钥和认证通信方的身份。一种特别重要的AKE是基于密码的AKE(PAKE)。PAKE利用在密码学上不安全的人类可记忆的密码(或密码短语),来认证和协商对称会话密钥。在PAKE中,密码可以由双方预先共享。
[0011]在Xinwei Gao等人的论文“Efficient Implementation of Password

Based Authenticated Key Exchange from RLWE and Post

Quantum TLS”中,在此通过引用包括进来,在该论文的图2中提出了一种基于后量子密码的认证密钥交换(PAKE)协议,称为RLWE

PPK。
[0012]RLWE

PPK是在具有预先共享口令pwd的双方(i方和j方)之间的协议。每一方根据共享密码来计算出两个不同的散列:γ1=H1(pwd)和γ2=H2(pwd),其用于在传输给另一方之前和之后掩蔽(mask)和去掩蔽(unmask)各方的公钥。为了计算共享密钥,每一方都需要计算进一步的散列,使散列总数达到每方三个。RLWE

PPK是一种两轮隐式认证密钥协议。隐式认证意味着可以不计算对认证的明确确认,但是如果认证失败,则各方将无法获得相同的密钥,这继而可以保护通信不被泄露给未经认证的一方。
[0013]已知的协议有几个缺点。例如,它要求为每个密钥协议计算三个散列。对于资源受限的设备,这是一种负担。此外,已知协议要求公钥保持机密,因为可以根据公钥和窃听通信的知识来计算密码散列。

技术实现思路

[0014]具有改进的认证密钥协商的设备和/或方法将是有利的。密码设备和方法在本文中被阐述并且被要求保护旨在解决这些和其它问题。
[0015]现有的密钥协商协议,即使是量子安全的,通常也没有经过隐式或显式的认证。如果现有的密钥协商协议可以扩展为经认证的密钥协商协议,那将是有利的。经认证的密钥协商协议更适合用于两方需要验证通信信道的真实世界场景中。
[0016]当前公开的主题包括第一密码设备、第二密码设备、第一密码方法、第二密码方法和计算机可读介质。第一和第二密码设备可以被配置为根据预先共享秘密(例如密码)计算最终种子,并形成在设备之间交换的预先种子。最终种子可用于计算公共对象,公共对象又可用于计算公钥,例如以执行密钥协商协议。
[0017]实施例有助于避免中间人攻击。由于第一密码设备(也称为第一方)和第二密码设备(也称为第二方)具有预先共享秘密,因此它们可以导出可以从中导出公钥的公共对象。攻击者无法访问密码,并且因此无法计算公共对象。因此,他不能将自己置于各方之间的通信中,因为执行正确计算需要公共对象。有趣的是,密码的强度主要与认证的强度有关;导出的共享密钥的强度可能不受影响。特别地,根据实施例的密钥协商协议可以与没有认证的情况一样强,例如抗量子。
[0018]此外,可以有效地实施实施例。例如,在实施例中,各方可以计算少至单个散列函数,例如以计算最终种子。如果需要,则可以在没有非对称数字签名的情况下获得显式认证。此外,不要求公钥是秘密的。注意,根据实施例,所有或大多数基于NIST后量子密码术
(PQC)晶格的候选可以适用于认证。
[0019]在实施例中,预先种子可以通过通信信道以明文通信,而预先共享秘密不通过信道或不以明文传送。例如,通信信道还可以用于以秘钥协商协议在设备之间交换的其它数据。
[0020]当前公开的主题的各方面包括密码方法。
[0021]方法的实施例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种第二密码设备(20),包括:

通信接口,其被配置为使用基于晶格的密钥交换(KEX)或基于晶格的密钥封装(KEM)密钥协商协议来与第一密码设备(10)通信,

处理器,其被配置为:

根据以下来计算最终种子:

从所述第一密码设备(10)接收的预先种子,以及

预先共享秘密,所述秘密在所述第二密码设备与所述第一密码设备之间预先共享,

使用确定性随机位生成器(DRBG)或伪随机数生成器(PRNG)来根据所述最终种子计算公共对象(a),

获得与所述第一密码设备相关联的第一公钥(b),并且获得与所述第二密码设备相关联的第二私钥(s),所述第一公钥是在所述第一密码设备处计算出的,所述计算包括所述公共对象与所述第一密码设备的第一私钥之间的乘法,

根据所述第二私钥(s)计算第二公钥(u),计算所述第二公钥(u)包括将所述第二私钥(s)与所述公共对象(a)相乘,

根据所述第一公钥(b)和所述第二私钥(s)计算第二原始共享密钥(k*),计算所述第二原始共享密钥包括所述第二私钥(s)与所述第一公钥(b)之间的乘法,

将所述第二公钥(u)传送到所述第一设备;其中,根据以下来计算最终种子:

所述第一密码设备和/或所述第二密码设备的网络地址,

网络连接的目的,

一天中的时间,和/或

交互计数器,所述交互计数器由所述第二密码设备(20)和所述第一密码设备(10)维护并且至少每当导出共享密钥时增加。2.一种第一密码设备(10),包括:

通信接口,其被配置为使用基于晶格的密钥交换(KEX)或基于晶格的密钥封装(KEM)密钥协商协议与第二密码设备(20)通信,

处理器,其被配置为:

选择预先种子并将所述预先种子发送到所述第二密码设备(20),

根据以下来计算最终种子:

预先种子和预先共享秘密,所述秘密在所述第二密码设备和所述第一密码设备之间预先共享,

使用确定性随机位生成器(DRBG)或伪随机数生成器(PRNG)来根据所述最终种子计算公共对象(a),

获得与所述第一密码设备相关联的第一私钥(r)并根据所述第一私钥(r)来计算第一公钥(b),计算所述第一公钥(b)包括将所述第一私钥(r)与所述公共对象(a)相乘,并且将所述第一公钥(b)传送到所述第二密码设备,

从所述第二密码设备接收第二公钥(u),

根据所述第二公钥(u)和所述第一私钥(r)计算第一原始共享密钥(k'),计算所述第一原始共享密钥包括所述第二公钥(u)与所述第一私钥(r)之间的乘法;
其中,根据以下来计算最所述终种子:

所述第一密码设备和/或所述第二密码设备的网络地址,

网络连接的目的,

一天中的时间,和/或

交互计数器,所述交互计数器由所述第二密码设备(20)和所述第一密码设备(10)维护并且至少每当导出共享密钥时增加。3.根据前述权利要求中的任一项所述的第二密码设备(20)或第一密码设备(10),其中,所述预先共享秘密包括预先共享口令。4.根据前述权利要求中的任一项所述的第二密码设备(20)或第一密码设备(10),其中,所述预先种子是以明文格式发送和接收的。5.根据前述权利要求中的任一项所述的第二密码设备(20)或第一密码设备(10),其中,所述预先种子是通过所述通信接口发送和接收,但是所述预先共享秘密不通过所述通信接口发送和接收。6.根据前述权利要求中的任一项所述的第二密码设备(20)或第一密码设备(10),其中,所述最终种子还根据来自所述第二密码设备与所述第一密码设备之间的网络连接的网络配置数据计算。7.根据前述权利要求中的任一项所述的第二密码设备(20)或第一密码设备(10),其中,

所述第二密码设备(20)的所述处理器被配置为:

生成传输密钥(K),

通过应用封装函数,利用所述第二原始共享密钥的至少部分来封装所述传输密钥(K),获得封装数据(c),

将所述封装数据(c)传送到所述第一密码设备,并且

所述第一密码设备(10)的所述处理器被配置为:

从所述第二设备接收封装数据(c),

使用所述第一原始共享密钥(k')的至少部分对所述封装数据(c)解封装以获得传输密钥。8.根据前述权利要求中的任一项所述的第二密码设备(20)或第一密码设备(10),其中

所述第二密码设备(20)的所述处理器被配置为:

针对所述原始共享密钥的系数中的至少部分来生成调和数据(h),所述调和数据包括允许减少在所述第一设备和所述第二设备处导出的第一原始密钥与第二原始密钥之间的差异的信息,

根据所述第二原始共享密钥(k*)来生成传输密钥(K),

将所述调和数据(h)传送到所述第一设备,并且

所述第一密码设备(10)的...

【专利技术属性】
技术研发人员:O
申请(专利权)人:皇家飞利浦有限公司
类型:发明
国别省市:

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

1