用于在通信订户之间交换密码密钥的方法与流程

文档序号:35774803发布日期:2023-10-21 02:08阅读:37来源:国知局
用于在通信订户之间交换密码密钥的方法与流程

本发明涉及一种用于在客户端与服务器之间交换密码密钥的方法以及一种用于执行该方法的计算单元和一种用于执行该方法的计算机程序。


背景技术:

1、常见的密码应用程序和协议使用非对称密码原语来生成共享机密(sharedsecret,ss),而且使用对称密码原语来在数据传输时使用所生成的共享机密。通常,密码原语提供的安全性在此基于所使用的具有当前计算机架构的算法的复杂性(例如所需的计算时间)。例如,广泛流行的rsa方法使用计算复杂的大数分解;“椭圆曲线密码学(ellipticcurve cryptography)”(ecc)基于对椭圆曲线的一组点的离散对数的计算问题,对此同样不知道快速算法。

2、然而,一旦有足够强大的量子计算机可用,这些问题就能基于shor算法在多项式时间内被解决。因而,监听和存储此类加密通信的攻击者可能会使用量子计算机来对拦截的信息进行解密,这也公知为“先获取后解密(store now,decrypt later)”攻击。借此,这些方法不再基于其复杂性来提供可靠的安全性,而且必须由新的量子安全方法(‘后量子密码学(post-quantum cryptography)’,pqc)来替代或扩展。这种方法也称为pq安全。目前,正在制定可在未来标准中使用的多种可能的替代方案。

3、该问题涉及多种任意的密码应用程序。一个示例是基于“opc ua”标准(开放平台通信统一架构(open platform communication unified architecture))的系统,该标准尤其在工业领域用于如机器、自动机、车辆等终端设备与相对应的中央机构之间的通信(机器到机器(machine-to-machine))。在将来,“opc ua”例如也可能会对于与“物联网”(iot,internet of things)以及所有领域的设备的通用联网相关的终端设备的通信发挥作用。“opc ua”标准的细节例如可以从opc基金会的由多部分组成的标准规范“opc统一架构规范(opc unified architecture specification)”,第1部分至第14部分中得知,在https://opcfoundation.org/developer-tools/specifications-unified-architecture上可下载。

4、“opc ua”的一个基本特性是在两个订户之间、尤其是在客户端与服务器之间提供安全通信信道的可能性。在此,提供握手(handshake)方法以使订户之间的安全通信信道初始化。该方法基于客户端生成随机数,该随机数以加密方式并且以签名方式被传送给服务器。服务器形成另一随机数,该另一随机数与客户端随机数一起被使用,以便形成对称会话密钥,其方式是这些随机数被形成为伪随机函数的输入值。然后,服务器将响应发送回客户端,该响应主要包括服务器随机数。借此,客户端也可以在当前随机数的情况下包括相同的对称会话密钥,这些对称会话密钥接着被用于安全信道中的其它消息,用于加密和签名。

5、在opensecurechannel握手(请求和响应)期间拦截上述消息的攻击者可能会在访问计算足够强大的量子计算机时对这些消息进行解密并且借此会拥有所有需要的信息,以便还对会话的所有后续消息进行解密。借此,这样形成的在“opc ua”中的安全方法迄今不具备量子安全性。

6、在de 10 2020 200 726 a1中提出了一种方法,该方法能够通过混合密钥交换来实现量子安全通信并且借此防止“先获取后解密”攻击。然而,该方法无法被用于还能够实现通信订户之间的量子安全认证,而只提供基于经典签名方法的经典认证。


技术实现思路

1、按照本发明,提出了具有专利独立权利要求的特征的用于交换密码密钥以进行服务器和客户端的量子安全通信的方法以及用于执行该方法的计算单元和用于执行该方法的计算机程序。有利的设计方案是从属权利要求以及随后的描述的主题。

2、本发明提出了一种经改进的用于使两个订户之间的安全通信初始化并且用于量子安全认证、尤其是“opc ua”标准的量子安全认证的安全机制。

3、具体来说,提出了一种在服务器中的方法,其中从客户端接收对安全通信信道的请求消息,其中该请求消息包括至少一个量子安全的临时公钥和第一密文。在此,量子安全的临时公钥是非对称临时密钥对的一部分,该非对称临时密钥对是借助于量子安全的密钥封装机制的密钥生成函数来形成的。接着,利用量子安全的密钥封装机制的解封装功能在使用服务器的量子安全的静态机密密钥的情况下对第一密文进行解封装,其中该解封装生成第一机密。利用量子安全的密钥封装机制的封装功能来对量子安全的临时公钥进行封装,其中该封装生成第二密文以及第二共享机密。此外,在使用量子安全的密钥封装机制的封装功能的情况下对客户端的量子安全的静态公钥进行封装,其中该封装生成第三密文以及第三共享机密。接着,在至少使用第一机密、第二机密和第三机密的情况下生成对称密钥。还向客户端发送响应消息,该响应消息至少包含第二密文和第三密文。

4、如果为每次执行密钥交换过程重新生成密码密钥,则临时称为密码密钥。

5、附加地,能够在使用来自所生成的混合对称密钥中的一个密钥的情况下通过将mac函数应用于响应消息的指定内容来形成mac码,其中该响应消息附加地包括所形成的mac码。

6、同样可能的是:从客户端的请求消息中获得mac码。接着,关于请求消息的指定内容的本地mac码可以在使用解封装的第一机密作为密钥的情况下形成,而且可以将所形成的本地mac码与所获得的mac码进行比较,用于验证所获得的mac码。

7、在有些实施方式中,所描述的方法可以被实现为使得请求消息还包括第一随机数,而且服务器生成第二随机数。接着,在生成混合对称密钥时,可以附加地使用第一随机数和第二随机数,而且给客户端的响应消息附加地还包括第二随机数。

8、此外,提出了一种在客户端中的方法,其中首先借助于量子安全的密钥封装机制的密钥生成函数来生成量子安全的非对称临时密钥对,该临时密钥对具有量子安全的临时公钥和量子安全的临时机密密钥。利用量子安全的密钥封装机制的封装功能来对量子安全的临时公钥进行封装,其中该封装生成第一密文以及第一共享机密。然后,向服务器传送请求消息,其中请求消息至少包括量子安全的临时公钥和第一密文。作为响应,从服务器接收响应消息,该响应消息至少包括第二密文和第三密文。利用量子安全的密钥封装机制的解封装功能在使用量子安全的临时机密密钥的情况下对所接收到的第二密文进行解封装,其中该解封装得出第二共享机密。此外,利用量子安全的密钥封装机制的解封装功能在使用客户端的量子安全的静态机密密钥的情况下对所接收到的第三密文进行解封装,其中该解封装得出第三共享机密。接着,在使用第一机密、第二机密和第三机密的情况下生成对称密钥。

9、附加地,该方法可以包括:在客户端中在使用第一机密作为密钥的情况下通过将mac函数应用于请求消息的指定内容来形成mac码,其中向服务器的请求消息附加地包括所形成的mac码。

10、还可能的是:在服务器的响应消息中获得用于响应消息的mac码。接着,关于响应消息的指定内容的本地mac码在使用来自所生成的混合对称密钥中的指定密钥的情况下形成,而且然后将所形成的本地mac码与所获得的mac码进行比较,用于验证所获得的mac码。

11、在有些实施方式中,该方法还可以包括:通过客户端来生成第一随机数,其中向客户端的请求消息附加地包括第一随机数。接着,服务器的响应消息可以附加地包括第二随机数,其中在客户端生成混合对称密钥时附加地使用第一随机数和第二随机数。

12、在这种情况下,在客户端侧以及在服务器侧生成密钥可包括:在使用第一机密、第二机密和第三机密的情况下,附加地生成第三随机数和第四随机数,其中可以在使用组合器(combiner)的情况下从第一随机数、第二随机数、第三随机数和第四随机数中生成对称密钥。例如,可以使用xor组合器或xor-then-mac组合器,作为组合器。

13、使用附加随机数对应于opc-ua标准,该opc-ua标准借此可以作为示例被完全采用和扩展。但是,这些方法同样也可以在其它标准或非标准通信中实现。

14、尤其是,响应消息可以形成用于在“opc ua”协议中的opensecurechannel握手的经修改的响应(response)消息,而且请求消息可以形成用于在“opc ua”协议中的opensecurechannel握手的经修改的请求(request)消息。借此,提供了一种完全支持现有的“opc ua”标准并且仍然通过扩展来提供量子安全通信以及借此针对后量子(post-quantum)攻击的安全性的可能性。

15、服务器和客户端使用同一量子安全的密钥封装机制和同一组合器。

16、上述方法尤其可以被用于形成对称会话密钥以用于对在服务器与客户端之间的后续的安全通信会话中的消息进行加密和/或签名。例如,可以形成用于签名和加密的两个密钥对。但是,其它密钥变体同样是可行的。以这种方式,在一次握手中就可以实现量子安全的认证连同密钥交换。借此,不再需要应用量子安全的签名方案用于认证;代替于此,可以应用简单的传统签名和加密方法。借此,使用密钥封装机制而不是例如量子安全的签名方法可以减少通信花费和握手的时长。由于量子安全的密钥封装机制的密钥明显短于用于量子安全的签名方案的密钥,所以借此也显著减小了包含这些密钥的混合客户端或服务器证书的大小。

17、按照本发明的计算单元,例如pc的处理器、微控制器、自动化系统的控制设备等等,被设立为、尤其是以程序技术方式被设立为执行按照本发明的方法。

18、由于“opc ua”标准尤其也针对具有有限资源的终端设备、例如所谓的‘嵌入式设备’,所以借此还可以针对这些设备特别是在工业环境中实现安全方法,无需大幅增加对所需资源(例如计算时间、传输速度)的要求。即,使用经过考验的经典安全机制,这些经典安全机制在混合组合中仍然提供针对未来攻击的安全性。

19、尤其是当执行的控制设备还被用于其它任务并且因而总归存在时,按照本发明的方法的以具有用于执行所有方法步骤的程序代码的计算机程序或计算机程序产品的形式的实现方案也是有利的,因为这引起了特别低的成本。最后,提供了一种机器可读存储介质,具有在其上存储的如上所述的计算机程序。尤其是,适合于提供该计算机程序的存储介质或数据载体是磁存储器、光存储器和电存储器,诸如硬盘、闪速存储器、eeprom、dvd以及其它等等。通过计算机网络(因特网、内联网等等)来下载程序也是可行的。在此,这种下载可以以有线方式或以线缆方式或者以无线方式(例如经由wlan网络,3g、4g、5g或6g连接,等等)实现。

20、本发明的其它优点和设计方案从说明书以及随附的附图中得出。

21、本发明依据实施例在附图中示意性示出并且在下文参考附图予以描述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1