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

密钥协商方法、设备及计算机可读存储介质

文献发布时间:2023-06-19 13:26:15


密钥协商方法、设备及计算机可读存储介质

技术领域

本申请涉及物联网技术领域,特别涉及一种密钥协商方法、设备及计算机可读存储介质。

背景技术

物联网(Internet of Things,IOT)是一个基于互联网、传统电信网等信息承载体,让所有能够被独立寻址的普通物理对象实现互联互通的网络。随着通信技术的发展,物联网设备承担着更加重要和私密性的数据传输业务,其安全性亟需得到保障。因此,为了保证物联网系统的可靠性和保密性,可通过使用密钥协商协议(Key Agreement Protocols,KAP)为通信双方或多方协商出共享的会话密钥,为后续的通信会话提供保密、认证或者完整性等安全服务。

相关技术中,通常是由通信双方(例如客户端与服务器)交互完成基于身份信息的身份认证与计算密钥等密钥协商操作。但是,由于物联网环境下设备数量巨大以及设备资源受限的情况,相关技术中的密钥协商方法会造成繁重的计算消耗。并且,由于客户端需要将真实的身份信息发送给服务器,通过服务器获取匿名身份信息,可能导致客户端用户身份的暴露,降低网络的安全性。

发明内容

本申请提供了一种密钥协商方法、设备及计算机可读存储介质,能够解决相关技术中的问题。

第一方面,提供一种密钥协商方法,所述方法包括:

向PCA(Personal Certification Authority,个人认证机构)发送客户端的身份信息和密钥计算参数,所述身份信息和所述密钥计算参数用于所述PCA获取并返回所述客户端的共享密钥和匿名身份信息;

接收所述PCA返回的所述共享密钥和所述匿名身份信息,基于所述共享密钥和所述匿名身份信息向服务器发送第一密钥协商消息,所述第一密钥协商消息用于所述服务器获取会话密钥;

接收所述服务器发送的第二密钥协商消息,根据所述第二密钥协商消息获取所述会话密钥。

在一种可能的实施方式中,所述基于所述共享密钥和所述匿名身份信息向服务器发送第一密钥协商消息,包括:

接收所述PCA发送的基础参数与第三单向散列函数,所述第三单向散列函数用于将输入消息生成散列值;

获取第一私钥,基于所述第一私钥和所述基础参数获取第一公钥;

基于所述匿名身份信息、所述密钥计算参数、所述共享密钥、所述第一公钥以及所述第三单向散列函数获取消息摘要密钥;

基于所述匿名身份信息、所述第一公钥和第一消息认证码获取所述第一密钥协商消息,所述第一消息认证码通过所述消息摘要密钥加密得到,所述第一密钥协商消息包括所述匿名身份信息、所述第一公钥和所述第一消息认证码;

向所述服务器发送所述第一密钥协商消息。

在一种可能的实施方式中,所述第二密钥协商消息包括第二公钥和第二消息认证码,所述第二消息认证码通过所述消息摘要密钥加密得到;

所述根据所述第二密钥协商消息获取所述会话密钥,包括:

根据所述消息摘要密钥检验所述第二密钥协商消息的完整性;

响应于所述第二密钥协商消息完整,接收所述PCA发送的第四单向散列函数;基于所述第二公钥与所述第一私钥获取验证值;基于所述匿名身份信息、所述第一公钥、所述第二公钥、所述验证值以及所述第四单向散列函数获取所述会话密钥。

第二方面,提供一种密钥协商方法,所述方法包括:

接收客户端发送的身份信息和密钥计算参数;

根据所述身份信息和所述密钥计算参数获取所述客户端的共享密钥和匿名身份信息;

将所述共享密钥和所述匿名身份信息返回给所述客户端,将所述共享密钥、所述匿名身份信息以及所述密钥计算参数发送至服务器。

在一种可能的实施方式中,所述方法还包括:

获取公开参数集合,所述公开参数集合包括基础参数、第一单向散列函数、第二单向散列函数、第三单向散列函数、第四单向散列函和消息认证码,所述第一单向散列函数、所述第二单向散列函数、所述第三单向散列函数和所述第四单向散列函用于将输入消息生成散列值,所述消息认证码用于检查消息的完整性和验证消息来源的身份;

将所述公开参数集合发送至所述客户端和所述服务器。

在一种可能的实施方式中,所述根据所述身份信息和所述密钥计算参数获取所述客户端的共享密钥和匿名身份信息,包括:

获取根密钥;

基于所述身份信息、所述密钥计算参数、所述根密钥、所述基础参数以及所述第一单向散列函数获取所述共享密钥;

基于所述身份信息、所述密钥计算参数以及所述第二单向散列函数获取所述匿名身份信息。

在一种可能的实施方式中,所述将所述共享密钥和所述匿名身份信息返回给所述客户端之前,所述方法还包括:

查找数据库中是否包括所述匿名身份信息;

响应于所述数据库中包括所述匿名身份信息,向所述客户端发送获取失败信息,所述获取失败信息用于指示所述客户端更新密钥计算参数,重新发送所述身份信息和更新后的密钥计算参数;

响应于所述数据库中不包括所述匿名身份信息,将所述共享密钥、所述匿名身份信息以及所述密钥计算参数保存至所述数据库中。

第三方面,提供一种密钥协商方法,所述方法包括:

接收PCA发送的客户端的共享密钥、匿名身份信息以及密钥计算参数;

接收所述客户端发送的第一密钥协商消息,基于所述匿名身份信息、所述共享密钥、所述密钥计算参数以及所述第一密钥协商消息获取会话密钥;

向所述客户端发送第二密钥协商消息,所述第二密钥协商消息用于所述客户端获取所述会话密钥。

在一种可能的实施方式中,所述第一密钥协商消息包括所述客户端的匿名身份信息、第一公钥和第一消息认证码,所述第一消息认证码通过消息摘要密钥加密得到;

所述基于所述匿名身份信息、所述共享密钥、所述密钥计算参数以及所述第一密钥协商消息获取会话密钥,包括:

接收所述PCA发送的第三单向散列函数,所述第三单向散列函数用于将输入消息生成散列值;

获取第二私钥,基于所述第二私钥和所述基础参数获取第二公钥;

基于所述匿名身份信息、所述密钥计算参数、所述共享密钥、所述第一公钥以及所述第三单向散列函数获取消息摘要密钥;

根据所述消息摘要密钥检验所述第一密钥协商消息的完整性;

响应于所述第一密钥协商消息完整,接收所述PCA发送的第四单向散列函数;基于所述第一公钥与所述第二私钥获取验证值;基于所述匿名身份信息、所述第一公钥、所述第二公钥、所述验证值以及所述第四单向散列函数获取所述会话密钥。

在一种可能的实施方式中,所述向所述客户端发送第二密钥协商消息,包括:

基于所述匿名身份信息、所述第二公钥和第二消息认证码获取所述第二密钥协商消息,所述第二消息认证码通过所述消息摘要密钥加密得到,所述第二密钥协商消息包括所述匿名身份信息、所述第二公钥和所述第二消息认证码;

向所述客户端发送所述第二密钥协商消息。

第四方面,提供了一种密钥协商装置,所述装置包括:

第一发送模块,用于向PCA发送客户端的身份信息和密钥计算参数,所述身份信息和所述密钥计算参数用于所述PCA获取并返回所述客户端的共享密钥和匿名身份信息;

第二发送模块,用于接收所述PCA返回的所述共享密钥和所述匿名身份信息,基于所述共享密钥和所述匿名身份信息向服务器发送第一密钥协商消息,所述第一密钥协商消息用于所述服务器获取会话密钥;

获取模块,用于接收所述服务器发送的第二密钥协商消息,根据所述第二密钥协商消息获取所述会话密钥。

在一种可能的实施方式中,所述第二发送模块,用于接收所述PCA发送的基础参数与第三单向散列函数,所述第三单向散列函数用于将输入消息生成散列值;获取第一私钥,基于所述第一私钥和所述基础参数获取第一公钥;基于所述匿名身份信息、所述密钥计算参数、所述共享密钥、所述第一公钥以及所述第三单向散列函数获取消息摘要密钥;基于所述匿名身份信息、所述第一公钥和第一消息认证码获取所述第一密钥协商消息,所述第一消息认证码通过所述消息摘要密钥加密得到,所述第一密钥协商消息包括所述匿名身份信息、所述第一公钥和第一消息认证码;向所述服务器发送所述第一密钥协商消息。

在一种可能的实施方式中,所述第二密钥协商消息包括第二公钥和第二消息认证码,所述第二消息认证码通过所述消息摘要密钥加密得到;

所述获取模块,用于根据所述消息摘要密钥检验所述第二密钥协商消息的完整性;响应于所述第二密钥协商消息完整,基于所述第一私钥、所述第一公钥以及所述第二公钥获取所述会话密钥。

在一种可能的实施方式中,所述获取模块,用于接收所述PCA发送的第四单向散列函数;基于所述第二公钥与所述第一私钥获取验证值;基于所述匿名身份信息、所述第一公钥、所述第二公钥、所述验证值以及所述第四单向散列函数获取所述会话密钥。

第五方面,提供了一种密钥协商装置,所述装置包括:

接收模块,用于接收客户端发送的身份信息和密钥计算参数;

获取模块,用于根据所述身份信息和所述密钥计算参数获取所述客户端的共享密钥和匿名身份信息;

返回模块,用于将所述共享密钥和所述匿名身份信息返回给所述客户端,将所述共享密钥、所述匿名身份信息以及所述密钥计算参数发送至服务器。

在一种可能的实施方式中,所述获取模块,还用于获取公开参数集合,所述公开参数集合包括基础参数、第一单向散列函数、第二单向散列函数、第三单向散列函数、第四单向散列函和消息认证码,所述第一单向散列函数、所述第二单向散列函数、所述第三单向散列函数和所述第四单向散列函用于将输入消息生成散列值,所述消息认证码用于检查消息的完整性和验证消息来源的身份;将所述公开参数集合发送至所述客户端和所述服务器。

在一种可能的实施方式中,所述获取模块,用于获取根密钥;基于所述身份信息、所述密钥计算参数、所述根密钥、所述基础参数以及所述第一单向散列函数获取所述共享密钥;基于所述身份信息、所述密钥计算参数以及所述第二单向散列函数获取所述匿名身份信息。

在一种可能的实施方式中,所述装置还包括:

检查模块,用于查找数据库中是否包括所述匿名身份信息;响应于数据库中包括所述匿名身份信息,向所述客户端发送获取失败信息,所述获取失败信息用于指示所述客户端更新密钥计算参数,重新发送所述身份信息和更新后的密钥计算参数;响应于数据库中不包括所述匿名身份信息,将所述共享密钥、所述匿名身份信息以及所述密钥计算参数保存至数据库中。

第六方面,提供了一种密钥协商装置,所述装置包括:

接收模块,用于接收PCA发送的客户端的共享密钥、匿名身份信息以及密钥计算参数;

获取模块,用于接收所述客户端发送的第一密钥协商消息,基于所述匿名身份信息、所述共享密钥、所述密钥计算参数以及所述第一密钥协商消息获取会话密钥;

发送模块,用于向所述客户端发送第二密钥协商消息,所述第二密钥协商消息用于所述客户端获取所述会话密钥。

在一种可能的实施方式中,所述第一密钥协商消息包括所述客户端的匿名身份信息、第一公钥和第一消息认证码,所述第一消息认证码通过消息摘要密钥加密得到;

所述获取模块,用于接收所述PCA发送的第三单向散列函数,第三单向散列函数用于将输入消息生成散列值;获取第二私钥,基于所述第二私钥和所述基础参数获取第二公钥;基于所述匿名身份信息、所述密钥计算参数、所述共享密钥、所述第一公钥以及所述第三单向散列函数获取消息摘要密钥;根据所述消息摘要密钥检验所述第一密钥协商消息的完整性;响应于所述第一密钥协商消息完整,基于所述第一公钥、所述第二私钥以及所述第二公钥获取所述会话密钥。

在一种可能的实施方式中,获取模块,用于接收所述PCA发送的第四单向散列函数;基于所述第一公钥与所述第二私钥获取验证值;基于所述匿名身份信息、所述第一公钥、所述第二公钥、所述验证值以及所述第四单向散列函数获取所述会话密钥。

在一种可能的实施方式中,所述发送模块,用于基于所述匿名身份信息、所述第二公钥和第二消息认证码获取所述第二密钥协商消息,所述第二消息认证码通过所述消息摘要密钥加密得到,所述第二密钥协商消息包括所述匿名身份信息、所述第二公钥和所述第二消息认证码;向所述客户端发送所述第二密钥协商消息。

第七方面,还提供了一种密钥协商系统,所述系统包括客户端、PCA与服务器;

所述客户端用于执行第一方面或第一方面的任一种可能的实施方式所述的密钥协商方法,所述PCA用于执行第二方面或第二方面的任一种可能的实施方式所述的密钥协商方法,所述服务器用于执行第三方面或第三方面的任一种可能的实施方式所述的密钥协商方法。

第八方面,还提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以使计算机设备实现上述任一项所述的密钥协商方法。

第九方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以使计算机实现上述任一项所述的密钥协商方法。

第十方面,还提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述计算机设备执行上述任一所述的密钥协商方法。

本申请提供的技术方案至少可以带来如下有益效果:

本申请提供的技术方案,客户端与服务器通过PCA获取客户端的共享密钥与匿名身份信息,减少了服务器的计算消耗,且服务器不会接收到客户端的身份信息,实现了客户端对服务器的完全匿名,提高了网络的安全性。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种密钥协商方法的实施环境的示意图;

图2是本申请实施例提供的一种密钥协商方法的流程图;

图3是本申请实施例提供的一种密钥协商方法的交互示意图;

图4是本申请实施例提供的一种密钥协商装置的示意图;

图5是本申请实施例提供的一种密钥协商装置的示意图;

图6是本申请实施例提供的一种密钥协商装置的示意图;

图7是本申请实施例提供的一种计算机设备的结构示意图;

图8是本申请实施例提供的一种服务器的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

本申请实施例提供了一种密钥协商方法,该方法可以由客户端、PCA和服务器交互实现。图1为本申请实施例提供的一种密钥协商方法的实施环境的示意图,如图1所示,该实施环境包括客户端101、PCA 102和服务器103。

其中,客户端101指具备网络接入能力的设备,例如,具备WiFi(WirelessFidelity,无线保真)接入能力的设备。可选地,客户端101为智能设备(如VR(VirtualReality,虚拟现实)眼镜、智能可穿戴设备、智能电视、智能音箱等)、终端设备、路由器、手机、平板电脑,或者其它具备网络接入能力的设备,本申请实施例对此不作限定。可选地,客户端101为一个,或者,客户端101为多个,本申请实施例对此不作限定,实际应用中,客户端101的数量可以结合应用需求或者PCA 102所能认证的最大设备数量等确定。

PCA 102具有能够为客户端101提供匿名化处理、生成并分配密钥以及分发密钥计算参数的功能的设备。可选地,PCA 102可以是服务器、终端设备、平板电脑、可穿戴设备,或者其它具备上述功能的设备,本申请实施例对此不作限定,实际应用中,PCA 102的实现形态可以结合应用情景确定。

服务器103能够为客户端101提供服务或者信息,例如,服务器103为传感器节点设备,用于收集传感器数据。可选地,服务器103可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(ContentDelivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。

在一种可能的实施方式中,客户端101、PCA 102与服务器103可以通过有线或无线的通信方式进行直接或间接地连接,本申请在此不做限制。示例性地,如图1所示,客户端101与PCA 102以及客户端101与服务器103通过无线的通信方式连接,PCA 102与服务器103通过有线的通信方式连接。

该方法的应用场景包括但不限于当客户端101需要访问服务器103之前,客户端101向PCA 102进行用户注册,PCA 102为客户端101计算共享密钥与匿名身份信息,PCA 102生成密钥协商相关的公开参数,PCA 102将共享密钥、匿名身份信息和公开参数发送给客户端101和服务器103。之后,客户端101与服务器103根据获取的共享密钥与匿名身份信息完成相互认证并协商一个共同的会话密钥,后续客户端101与服务器103通过该会话密钥来加密传送的数据以防止窃听,提升了通信的安全性。

基于图1所示的实施环境,本申请实施例提供了一种密钥协商方法,如图2所示,该方法包括如下步骤201-207。

步骤201,客户端向PCA发送客户端的身份信息和密钥计算参数。

在本申请实施例中,在客户端与服务器间协商密钥之前,客户端先通过PCA进行用户身份注册。可选地,客户端获取客户端的身份信息与客户端对应一个的密钥计算参数,将获取的身份信息和密钥计算参数发送给PCA,以实现对客户端的用户身份注册。

其中,客户端的身份信息包括但不限于为客户端的厂商名称、设备名称、产品序列号等信息,本申请实施例不对客户端的身份信息的内容进行限定,能够唯一标识客户端即可。可选地,密钥计算参数包括随机数,该随机数既可以是客户端预先设置的,也可以是实时更新的,本申请实施例对此不作限定。

在一种可能的实施方式中,PCA与客户端之间建立有无线的安全通道,可选地,PCA与客户端间的安全通道可以为安全套接字层(Secure Socket Layer,SSL),则PCA与客户端之间通过SSL进行通信,保证传输数据的安全性。

步骤202,PCA根据身份信息和密钥计算参数获取客户端的共享密钥和匿名身份信息。

在一种可能的实施方式中,PCA接收到客户端的身份信息和密钥计算参数后,根据该客户端的身份信息和密钥计算参数获取客户端的共享密钥和匿名身份信息。由于客户端的身份信息用于唯一标识该客户端,因此,客户端的身份信息与共享密钥之间存在一一对应的关系,客户端的身份信息与匿名身份信息之间也存在一一对应的关系。

在一种可能的实施方式中,在PCA根据身份信息和密钥计算参数获取客户端的共享密钥和匿名身份信息之前,还包括:获取根密钥与公开参数集合。其中,公开参数集合包括基础参数、第一单向散列函数、第二单向散列函数、第三单向散列函数、第四单向散列函和消息认证码;将该公开参数集合发送至客户端和服务器。其中,消息认证码用于检查消息的完整性和验证消息来源的身份

其中,根密钥包括随机数,该随机数既可以是客户端预先设置的,也可以是实时更新的,本申请实施例对此不作限定。基础参数包括基点,该基点可以为参考椭圆曲线上任一点,参考椭圆曲线可以为参考素数域上的任一椭圆曲线,本申请实施例不对参考素数域的选取进行限定,可以根据经验设置,或根据应用灵活调整,例如,参考素数域为阶为p的素数域F

其中,第一单向散列函数、第二单向散列函数、第三单向散列函数和第四单向散列函为四个互不相同的单向散列函数,每个单向散列函数用于将输入消息生成散列值。本申请实施例不对单向散列函数的选择进行限定,示例性地,单向散列函数可以为MD5(MessageDigest Algorithm 5,消息摘要算法)函数,也可以为SHA(Secure Hash Algorithm,安全散列算法)函数,还可以为CRC(Cyclic Redundancy Check,循环冗余校验码)函数。

在一种可能的实施方式中,PCA根据身份信息和密钥计算参数获取客户端的共享密钥和匿名身份信息,包括:基于身份信息、密钥计算参数、根密钥、基础参数以及第一单向散列函数获取共享密钥;基于身份信息、密钥计算参数以及第二单向散列函数获取匿名身份信息。

在一种可能的实施方式中,基于身份信息、密钥计算参数、根密钥、基础参数以及第一单向散列函数获取共享密钥,包括:基于身份信息与第一单向散列函数获取身份散列值;基于密钥计算参数、根密钥、基础参数与身份散列值获取共享密钥。

在一种可能的实施方式中,PCA将所述共享密钥和所述匿名身份信息返回给所述客户端之前,还包括:查找数据库中是否包括匿名身份信息;响应于数据库中包括匿名身份信息,向客户端发送获取失败信息;响应于数据库中不包括匿名身份信息,将共享密钥、匿名身份信息以及密钥计算参数保存至数据库中。可选地,客户端接收到获取失败信息后,客户端更新一个密钥计算参数,重新向PCA发送身份信息和更新后的密钥计算参数。

步骤203,PCA将共享密钥和匿名身份信息返回给客户端,将共享密钥、匿名身份信息和密钥计算参数发送给服务器。

在一种可能的实施方式中,PCA根据身份信息和密钥计算参数获取客户端的共享密钥和匿名身份信息后,将共享密钥和匿名身份信息返回给客户端,将共享密钥、匿名身份信息和密钥计算参数发送给服务器。

在一种可能的实施方式中,PCA与服务器间为有线的连接方式,即物理连接,使得PCA能够与服务器进行离线通信,使得PCA与服务器间数据的传输速度快、传输效率高,并且离线传输能够隔绝大部分物联网的攻击,安全性高。此外,无需在PCA和服务器之间建立无线安全通道,减少了服务器和PCA的资源消耗。

由此,客户端和服务器均能够获取到客户端的共享密钥和匿名身份信息,在接下来的密钥协商过程中,客户端和服务器基于匿名身份信息进行交互,使得服务器不会获取到客户端的身份信息,实现了客户端对服务器的完全匿名,增强了网络的安全性。若网络中存在攻击者,由于密钥协商过程与数据传输过程均基于匿名身份信息,因此,同样实现了对攻击者的完全匿名。

步骤204,客户端基于共享密钥和匿名身份信息向服务器发送第一密钥协商消息。

在一种可能的实施方式中,客户端基于共享密钥和匿名身份信息向服务器发送第一密钥协商消息,包括:获取第一私钥,基于第一私钥和基础参数获取第一公钥;基于匿名身份信息、密钥计算参数、共享密钥、第一公钥以及第三单向散列函数获取消息摘要密钥;基于匿名身份信息、第一公钥和第一消息认证码获取第一密钥协商消息,第一消息认证码通过消息摘要密钥加密得到;向服务器发送第一密钥协商消息。其中,第一密钥协商消息包括匿名身份信息、第一公钥和第一消息认证码。

在一种可能的实施方式中,客户端获取的第一私钥包括随机数,该随机数既可以是客户端预先设置的,也可以是实时更新的,本申请实施例对此不作限定。可选地,基于第一私钥和基础参数获取第一公钥,包括:获取第一私钥和基础参数的乘积运算,将乘积运算的结果作为第一公钥。

在一种可能的实施方式中,基于匿名身份信息、密钥计算参数、共享密钥、第一公钥以及第三单向散列函数获取消息摘要密钥,包括:基于共享密钥与第一公钥获取检验值;基于匿名身份信息、密钥计算参数、第一公钥、检验值以及第三单向散列函数获取消息摘要密钥。可选地,基于共享密钥与第一公钥获取检验值,包括:获取共享密钥与第一公钥的加和运算,将加和运算的结果作为检验值。

在一种可能的实施方式中,基于匿名身份信息、第一公钥和第一消息认证码获取第一密钥协商消息,包括:将匿名身份信息与第一公钥使用消息摘要密钥加密得到第一消息认证码;基于匿名身份信息、第一公钥和第一消息认证码获取第一密钥协商消息。

在一种可能的实施方式中,客户端获取客户端当前的第一时间戳,基于匿名身份信息、第一公钥和第一消息认证码获取第一密钥协商消息,包括:将匿名身份信息、第一公钥和第一时间戳使用消息摘要密钥加密得到第一消息认证码;基于匿名身份信息、第一公钥、第一时间戳和第一消息认证码获取第一密钥协商消息。其中,消息摘要密钥基于匿名身份信息、第一时间戳、密钥计算参数、第一公钥、检验值以及第三单向散列函数获取得到,第一密钥协商消息包括匿名身份信息、第一公钥、第一时间戳和第一消息认证码。

在一种可能的实施方式中,在客户端获取第一密钥协商消息后,将第一密钥协商消息通过离线方式发送至服务器,用于与服务器进行密钥协商。

步骤205,服务器基于匿名身份信息、共享密钥、密钥计算参数以及第一密钥协商消息获取会话密钥。

在本申请实施例中,服务器接收到第一密钥协商消息后,能够根据已经接收到的PCA发送的匿名身份信息、共享密钥、密钥计算参数对该第一密钥协商消息进行检验,进而基于该第一密钥协商消息获取与客户端的会话密钥。

在一种可能的实施方式中,基于匿名身份信息、共享密钥、密钥计算参数以及第一密钥协商消息获取会话密钥,包括:获取第二私钥,基于第二私钥和基础参数获取第二公钥;基于匿名身份信息、密钥计算参数、共享密钥、第一公钥以及第三单向散列函数获取消息摘要密钥;根据消息摘要密钥检验第一密钥协商消息的完整性;响应于第一密钥协商消息完整,基于第一公钥、第二私钥以及第二公钥获取会话密钥。

其中,服务器获取的第二私钥包括随机数,该随机数既可以是服务器预先设置的,也可以是实时更新的,本申请实施例对此不作限定。可选地,基于第二私钥和基础参数获取第二公钥,包括:获取第二私钥和基础参数的乘积运算,将乘积运算的结果作为第二公钥。

在一种可能的实施方式中,基于匿名身份信息、共享密钥、密钥计算参数、第一公钥以及第三单向散列函数获取消息摘要密钥包括:基于共享密钥与第一公钥获取检验值;基于匿名身份信息、密钥计算参数、第一公钥、检验值以及第三单向散列函数获取消息摘要密钥。可选地,基于共享密钥与第一公钥获取检验值,包括:获取共享密钥与第一公钥的加和运算,将加和运算的结果作为检验值。

在一种可能的实施方式中,根据消息摘要密钥检验第一密钥协商消息的完整性,包括:根据消息摘要密钥解析第一消息认证码,若解析第一消息认证码得到的消息与第一密钥协商消息中包括的除第一消息认证码之外的消息不同,则第一密钥协商消息不完整;若解析第一消息认证码得到的消息与第一密钥协商消息中包括的除第一消息认证码之外的消息相同,则第一密钥协商消息完整。

在一种可能的实施方式中,基于第一公钥、第二私钥以及第二公钥获取会话密钥,包括:基于第一公钥与第二私钥获取验证值;基于匿名身份信息、第一公钥、第二公钥、验证值以及第四单向散列函数获取会话密钥。

在一种可能的实施方式中,第一密钥协商消息包括匿名身份信息、第一公钥、第一时间戳和第一消息认证码,服务器获取服务器接收到该第一密钥协商消息时的第二时间戳,基于第一时间戳与第二时间戳确定该第一密钥协商消息的时间有效性。

在一种可能的实施方式中,基于第一时间戳与第二时间戳确定该第一密钥协商消息的时间有效性,包括:计算第一时间戳与第二时间戳的时间差值;响应于时间差值超过参考时差,确定该第一密钥协商消息无效;响应于时间差值未超过参考时差,确定该第一密钥协商消息有效。其中,参考时差可根据经验设置,或根据应用场景灵活调整,例如,参考时差为1秒。

通过上述方式,即可确定服务器接收到第一密钥协商消息与客户端发送该第一密钥协商消息间相隔的时间,对于相隔时间较长的第一密钥协商消息确定为无效信息,服务器直接丢弃该第一密钥协商消息。由于相隔时间较长才传输到服务器的第一密钥协商消息,存在不安全的可能性较高,不处理该第一密钥协商消息能够提高网路的安全性。

在一种可能的实施方式中,基于匿名身份信息、第一公钥、第二公钥、验证值以及第四单向散列函数获取会话密钥,包括:服务器获取服务器当前的第三时间戳;基于匿名身份信息、第一时间戳、第三时间戳、第一公钥、第二公钥、验证值以及第四单向散列函数获取会话密钥。

步骤206,服务器向客户端发送第二密钥协商消息。

在服务器基于匿名身份信息、共享密钥、密钥计算参数以及第一密钥协商消息获取会话密钥后,通过与客户端获取第一密钥协商消息相似的方式获取第二密钥协商消息,将第二密钥协商消息发送至客户端,以使客户端根据该第二密钥协商消息获取相同的会话密钥。

在一种可能的实施方式中,服务器向客户端发送第二密钥协商消息,包括:服务器基于匿名身份信息、第三时间戳、第二公钥和第二消息认证码获取第二密钥协商消息,该第二消息认证码通过消息摘要密钥加密得到;向客户端发送第二密钥协商消息。其中,第二密钥协商消息包括匿名身份信息、第三时间戳、第二公钥和第二消息认证码。

步骤207,客户端根据第二密钥协商消息获取会话密钥。

在客户端接收到服务器发送的第二密钥协商消息后,客户端即可根据第二密钥协商消息获取与服务器的会话密钥。在本申请实施例中,客户端获取会话密钥的方式与服务器获取会话密钥的方式相似。

在一种可能的实施方式中,客户端根据第二密钥协商消息获取会话密钥,包括:根据消息摘要密钥检验第二密钥协商消息的完整性;响应于第二密钥协商消息完整,基于第一私钥、第一公钥以及第二公钥获取会话密钥。

在一种可能的实施方式中,基于第一私钥、第一公钥以及第二公钥获取会话密钥,包括:基于第二公钥与第一私钥获取验证值;基于匿名身份信息、第一公钥、第二公钥、验证值以及第四单向散列函数获取会话密钥。

在一种可能的实施方式中,第二密钥协商消息包括匿名身份信息、第三时间戳、第二公钥和第二消息认证码,客户端根据第二密钥协商消息获取会话密钥,包括:根据消息摘要密钥检验第二密钥协商消息的完整性;响应于第二密钥协商消息完整,基于第二公钥与第一私钥获取验证值;基于匿名身份信息、第一时间戳、第三时间戳、第一公钥、第二公钥、验证值以及第四单向散列函数获取会话密钥。

为了便于理解,接下来结合图3对本申请实施例提供的密钥协商方法进行举例说明,该密钥协商方法包括如下五个阶段。

(一)系统初始化参数阶段

在系统初始化参数阶段,PCA按照如下方式生成系统设置参数:

首先,PCA在素数域F

在PCA选择基点P(P∈E(F

P

由此,PCA得到参数集合,该参数集合包括:基点P(P∈E(F

(二)用户身份注册阶段

在用户身份注册阶段,参见图3中的①和②,客户端C

根据如下公式(3)计算客户端的共享密钥

根据如下公式(4)计算客户端的匿名身份信息

其中,

在一种可能的实施方式中,在通过上述公式(3)和(4)计算得到客户端的共享密钥

如果客户端的匿名身份信息

(三)PCA分发密钥相关信息阶段

在PCA分发密钥相关信息阶段,参见图3中的③,PCA将用户身份注册阶段生成的密钥相关信息发送给客户端与服务器。在一种可能的实施方式中,PCA与服务器S物理连接,也就是说,PCA与服务器S能够通过离线传输信息,PCA与客户端Ci通过无线的安全通道连接。

在一种可能的实施方式中,PCA通过离线方式将客户端的共享密钥

(四)会话密钥协商阶段

在会话密钥协商阶段,参见图3中的④-⑥,服务器S与客户端C

在一种可能的实施方式中,客户端C

在一种可能的实施方式中,基于第一公钥R与客户端的共享密钥

可选地,客户端C

在一种可能的实施方式中,客户端C

示例性地,根据如下公式(7)计算消息摘要密钥k:

在一种可能的实施方式中,获取基于消息摘要密钥k加密的第一消息认证码

在一种可能的实施方式中,服务器S接收到密钥协商消息M

其中,时间差ΔT可根据经验设置,或根据应用场景灵活调整,例如,时间差ΔT为1秒。可选地,若不满足

在一种可能的实施方式中,响应于密钥协商消息M

在一种可能的实施方式中,服务器S能够根据计算得到的消息摘要密钥k检验第一消息认证码

在一种可能的实施方式中,服务器S生成一个随机数

Q=r

根据如下公式(9)计算服务器S的第二验证值Q′:

Q′=R×r

在一种可能的实施方式中,服务器S记录服务器S当前的时间戳T

在一种可能的实施方式中,在服务器S获取会话密钥sk后,服务器S基于消息摘要密钥k加密的第二消息认证码MAC

在一种可能的实施方式中,客户端C

由此,客户端C

在会话密钥协商阶段完成后,服务器S与客户端C

(五)消息摘要密钥更新阶段

在消息摘要密钥更新阶段,由于消息摘要密钥k基于密钥计算参数

在一种可能的实施方式中,若要更新消息摘要密钥k,客户端C

本申请实施例提供的密钥协商方法,客户端与服务器通过PCA获取客户端的共享密钥与匿名身份信息,减少了服务器的计算消耗,且服务器不会接收到客户端的身份信息,实现了客户端对服务器的完全匿名,提高了网络的安全性。

参见图4,本申请实施例提供了一种密钥协商装置,该装置包括:

第一发送模块401,用于向PCA发送客户端的身份信息和密钥计算参数,身份信息和密钥计算参数用于PCA获取并返回客户端的共享密钥和匿名身份信息;

第二发送模块402,用于接收PCA返回的共享密钥和匿名身份信息,基于共享密钥和匿名身份信息向服务器发送第一密钥协商消息,第一密钥协商消息用于服务器获取会话密钥;

获取模块403,用于接收服务器发送的第二密钥协商消息,根据第二密钥协商消息获取会话密钥。

在一种可能的实施方式中,第二发送模块402,用于接收PCA发送的基础参数与第三单向散列函数,第三单向散列函数用于将输入消息生成散列值;获取第一私钥,基于第一私钥和基础参数获取第一公钥;基于匿名身份信息、密钥计算参数、共享密钥、第一公钥以及第三单向散列函数获取消息摘要密钥;基于匿名身份信息、第一公钥和第一消息认证码获取第一密钥协商消息,第一消息认证码通过消息摘要密钥加密得到,第一密钥协商消息包括匿名身份信息、第一公钥和第一消息认证码;向服务器发送第一密钥协商消息。

在一种可能的实施方式中,第二密钥协商消息包括第二公钥和第二消息认证码,第二消息认证码通过消息摘要密钥加密得到;

获取模块403,用于根据消息摘要密钥检验第二密钥协商消息的完整性;响应于第二密钥协商消息完整,基于第一私钥、第一公钥以及第二公钥获取会话密钥。

在一种可能的实施方式中,获取模块403,用于接收PCA发送的第四单向散列函数;基于第二公钥与第一私钥获取验证值;基于匿名身份信息、第一公钥、第二公钥、验证值以及第四单向散列函数获取会话密钥。

参见图5,本申请实施例提供了一种密钥协商装置,该装置包括:

接收模块501,用于接收客户端发送的身份信息和密钥计算参数;

获取模块502,用于根据身份信息和密钥计算参数获取客户端的共享密钥和匿名身份信息;

返回模块503,用于将共享密钥和匿名身份信息返回给客户端,将共享密钥、匿名身份信息以及密钥计算参数发送至服务器。

在一种可能的实施方式中,获取模块502,还用于获取公开参数集合,公开参数集合包括基础参数、第一单向散列函数、第二单向散列函数、第三单向散列函数、第四单向散列函和消息认证码,第一单向散列函数、第二单向散列函数、第三单向散列函数和第四单向散列函用于将输入消息生成散列值,所述消息认证码用于检查消息的完整性和验证消息来源的身份;将公开参数集合发送至客户端和服务器。

在一种可能的实施方式中,获取模块502,用于获取根密钥;基于身份信息、密钥计算参数、根密钥、基础参数以及第一单向散列函数获取共享密钥;基于身份信息、密钥计算参数以及第二单向散列函数获取匿名身份信息。

在一种可能的实施方式中,该装置还包括:

检查模块,用于查找数据库中是否包括匿名身份信息;响应于数据库中包括匿名身份信息,向客户端发送获取失败信息,获取失败信息用于指示客户端更新密钥计算参数,重新发送身份信息和更新后的密钥计算参数;响应于数据库中不包括匿名身份信息,将共享密钥、匿名身份信息以及密钥计算参数保存至数据库中。

参见图6,本申请实施例提供了一种密钥协商装置,该装置包括:

接收模块601,用于接收PCA发送的客户端的共享密钥、匿名身份信息以及密钥计算参数;

获取模块602,用于接收客户端发送的第一密钥协商消息,基于匿名身份信息、共享密钥、密钥计算参数以及第一密钥协商消息获取会话密钥;

发送模块603,用于向客户端发送第二密钥协商消息,第二密钥协商消息用于客户端获取会话密钥。

在一种可能的实施方式中,第一密钥协商消息包括客户端的匿名身份信息、第一公钥和第一消息认证码,第一消息认证码通过消息摘要密钥加密得到;

获取模块602,用于接收PCA发送的第三单向散列函数,第三单向散列函数用于将输入消息生成散列值;获取第二私钥,基于第二私钥和基础参数获取第二公钥;基于匿名身份信息、密钥计算参数、共享密钥、第一公钥以及第三单向散列函数获取消息摘要密钥;根据消息摘要密钥检验第一密钥协商消息的完整性;响应于第一密钥协商消息完整,基于第一公钥、第二私钥以及第二公钥获取会话密钥。

在一种可能的实施方式中,获取模块602,用于接收PCA发送的第四单向散列函数;基于第一公钥与第二私钥获取验证值;基于匿名身份信息、第一公钥、第二公钥、验证值以及第四单向散列函数获取会话密钥。

在一种可能的实施方式中,发送模块603,用于基于匿名身份信息、第二公钥和第二消息认证码获取第二密钥协商消息,第二消息认证码通过消息摘要密钥加密得到,第二密钥协商消息包括匿名身份信息、第二公钥和第二消息认证码;向客户端发送第二密钥协商消息。

应理解的是,上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

请参考图7,其示出了本申请一个实施例提供的计算机设备的结构示意图。该计算机设备可以为终端,例如可以是:智能手机、平板电脑、车载终端、笔记本电脑或台式电脑。终端还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。

通常,终端包括有:处理器701和存储器702。

处理器701可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器701可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器701可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器701还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。

存储器702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器702中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器701所执行以实现本申请中方法实施例提供的密钥协商方法。

在一些实施例中,终端还可选包括有:外围设备接口703和至少一个外围设备。处理器701、存储器702和外围设备接口703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口703相连。具体地,外围设备包括:射频电路704、显示屏705、摄像头组件706、音频电路707、定位组件708和电源709中的至少一种。

外围设备接口703可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器701和存储器702。在一些实施例中,处理器701、存储器702和外围设备接口703被集成在同一芯片或电路板上;在一些其他实施例中,处理器701、存储器702和外围设备接口703中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

射频电路704用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路704包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路704可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi网络。在一些实施例中,射频电路704还可以包括NFC(Near FieldCommunication,近距离无线通信)有关的电路,本申请对此不加以限定。

显示屏705用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏705是触摸显示屏时,显示屏705还具有采集在显示屏705的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器701进行处理。此时,显示屏705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏705可以为一个,设置在终端的前面板;在另一些实施例中,显示屏705可以为至少两个,分别设置在终端的不同表面或呈折叠设计;在再一些实施例中,显示屏705可以是柔性显示屏,设置在终端的弯曲表面上或折叠面上。甚至,显示屏705还可以设置成非矩形的不规则图形,也即异形屏。显示屏705可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。

摄像头组件706用于采集图像或视频。可选地,摄像头组件706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。

音频电路707可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器701进行处理,或者输入至射频电路704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器701或射频电路704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路707还可以包括耳机插孔。

定位组件708用于定位终端的当前地理位置,以实现导航或LBS(Location BasedService,基于位置的服务)。定位组件708可以是基于美国的GPS(Global PositioningSystem,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。

电源709用于为终端中的各个组件进行供电。电源709可以是交流电、直流电、一次性电池或可充电电池。当电源709包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。

在一些实施例中,终端还包括有一个或多个传感器710。该一个或多个传感器710包括但不限于:加速度传感器711、陀螺仪传感器712、压力传感器713、指纹传感器714、光学传感器715以及接近传感器716。

加速度传感器711可以检测以终端建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器711可以用于检测重力加速度在三个坐标轴上的分量。处理器701可以根据加速度传感器711采集的重力加速度信号,控制显示屏705以横向视图或纵向视图进行用户界面的显示。加速度传感器711还可以用于游戏或者用户的运动数据的采集。

陀螺仪传感器712可以检测终端的机体方向及转动角度,陀螺仪传感器712可以与加速度传感器711协同采集用户对终端的3D动作。处理器701根据陀螺仪传感器712采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。

压力传感器713可以设置在终端的侧边框和/或显示屏705的下层。当压力传感器713设置在终端的侧边框时,可以检测用户对终端的握持信号,由处理器701根据压力传感器713采集的握持信号进行左右手识别或快捷操作。当压力传感器713设置在显示屏705的下层时,由处理器701根据用户对显示屏705的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。

指纹传感器714用于采集用户的指纹,由处理器701根据指纹传感器714采集到的指纹识别用户的身份,或者,由指纹传感器714根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器701授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看密钥生成信息、下载软件、支付及更改设置等。指纹传感器714可以被设置在终端的正面、背面或侧面。当终端上设置有物理按键或厂商Logo时,指纹传感器714可以与物理按键或厂商Logo集成在一起。

光学传感器715用于采集环境光强度。在一个实施例中,处理器701可以根据光学传感器715采集的环境光强度,控制显示屏705的显示亮度。具体地,当环境光强度较高时,调高显示屏705的显示亮度;当环境光强度较低时,调低显示屏705的显示亮度。在另一个实施例中,处理器701还可以根据光学传感器715采集的环境光强度,动态调整摄像头组件706的拍摄参数。

接近传感器716,也称距离传感器,通常设置在终端的前面板。接近传感器716用于采集用户与终端的正面之间的距离。在一个实施例中,当接近传感器716检测到用户与终端的正面之间的距离逐渐变小时,由处理器701控制显示屏705从亮屏状态切换为息屏状态;当接近传感器716检测到用户与终端的正面之间的距离逐渐变大时,由处理器701控制显示屏705从息屏状态切换为亮屏状态。

本领域技术人员可以理解,图7中示出的结构并不构成对计算机设备的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

请参考图8,图8是本申请实施例提供的一种服务器的结构示意图,该服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(CentralProcessing Units,CPU)801和一个或多个的存储器802,其中,该一个或多个存储器802中存储有至少一条程序指令,该至少一条程序指令由该一个或多个处理器801加载并执行以实现上述各个方法实施例提供的密钥协商方法。当然,该服务器800还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器800还可以包括其他用于实现设备功能的部件,在此不做赘述。

基于上述图7所示的计算机设备与图8所示的服务器,本申请实施例还提供了一种密钥协商系统,该密钥协商系统包括客户端、PCA与服务器。可选地,终端和PCA为图7所示的计算机设备,服务器为图8所示的服务器。客户端、PCA与服务器所执行的密钥协商方法可参见上述图2所示实施例的相关描述,此处不再加以赘述。

在示例性实施例中,还提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条程序代码。该至少一条程序代码由一个或者一个以上处理器加载并执行,以使计算机设备实现上述任一种密钥协商方法。

在示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条程序代码,该至少一条程序代码由计算机设备的处理器加载并执行,以使计算机实现上述任一种密钥协商方法。

可选地,上述计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read-OnlyMemory,CD-ROM)、磁带、软盘和光数据存储设备等。

在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一种密钥协商方法。

以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 密钥协商方法、设备及计算机可读存储介质
  • 局域网密钥协商方法、系统和计算机可读存储介质
技术分类

06120113675515