一种秘钥协商方法、装置、系统及电子设备
文献发布时间:2023-06-19 10:03:37
技术领域
本申请涉及通信技术领域,特别是涉及一种秘钥协商方法、装置、系统及电子设备。
背景技术
在服务设备与用户设备通信过程中,为了保证通信的安全性,服务设备和用户设备需要通过秘钥协商的方式,确定通信过程所采用的协商秘钥,从而利用确定的协商秘钥对传输信息进行加密,保证传输信息的安全性。
目前,服务设备和用户设备通过秘钥协商的方式确定两个协商秘钥,即公钥(即加密时的协商秘钥)以及私钥(即解密时的协商秘钥)。在服务设备和用户设备通信过程中,发送端可以采用公钥对传输信息进行加密处理,接收端可以采用私钥对加密后的传输信息进行解密处理,从而保证传输信息的安全性。
但是,上述秘钥协商方式所确定的协商秘钥并不适用于组播组/广播组。在组播组/广播组中,由于每一服务设备和每一用户设备之间至少需要维护两组公钥和私钥,当组播组/广播组中的用户设备或服务设备不断增加时,所需维护的公钥和私钥的数量也将激增,这将影响网络运行的稳定性。
发明内容
本申请实施例的目的在于提供一种秘钥协商方法、装置、系统及电子设备,以减少所需维护的协商秘钥的数量,从而维护网络运行的稳定性。具体技术方案如下:
本申请实施例提供了一种秘钥协商方法,应用于组播组/广播组中的第一服务设备,所述方法包括:
获取第一令牌和第一盐值;
基于所述第一令牌和所述第一盐值,以及第一加密算法和第二加密算法,生成第一加密串和第二加密串;
将所述第二加密串确定为协商秘钥,并组播/广播所述第一加密串、所述第一盐值和第一服务设备的服务地址,以使所述组播组/所述广播组中的用户设备根据接收到的所述第一加密串、所述第一盐值和所述服务地址,确定所述第二加密串为与所述服务地址通信所用的协商秘钥。
本申请实施例还提供了一种秘钥协商方法,应用于组播组/广播组中的用户设备,所述组播组/广播组中还包括服务设备,所述方法包括:
接收所述服务设备组播/广播的第一加密串、第一盐值和服务地址,并根据所述第一加密串、所述第一盐值和所述服务地址间的映射关系,更新映射表;其中,所述第一加密串是所述服务设备基于第一令牌、所述第一盐值以及第一加密算法生成的;
接收用户输入的第四令牌;
在基于第四令牌确定所述映射表中第一盐值对应的第一加密串与第九加密串相同的情况下,基于所述第四令牌和第二加密算法,生成第十加密串;其中,所述第九加密串是基于所述第四令牌、所述第一盐值和所述第一加密算法生成的;
将所述第十加密串确定为与所述映射表中所述第一盐值对应的服务地址通信所用的协商秘钥。
本申请实施例还提供了一种秘钥协商装置,应用于组播组/广播组中的第一服务设备,所述装置包括:
获取模块,用于获取第一令牌和第一盐值;
第一生成模块,用于基于所述第一令牌和所述第一盐值,以及第一加密算法和第二加密算法,生成第一加密串和第二加密串;
第一确定模块,用于将所述第二加密串确定为协商秘钥,并组播/广播所述第一加密串、所述第一盐值和第一服务设备的服务地址,以使所述组播组/所述广播组中的用户设备根据接收到的所述第一加密串、所述第一盐值和所述服务地址,确定所述第二加密串为与所述服务地址通信所用的协商秘钥。
本申请实施例还提供了一种秘钥协商装置,应用于组播组/广播组中的用户设备,所述组播组/广播组中还包括服务设备,所述装置包括:
第四接收模块,用于接收所述服务设备组播/广播的第一加密串、第一盐值和服务地址,并根据所述第一加密串、所述第一盐值和所述服务地址间的映射关系,更新映射表;其中,所述第一加密串是所述服务设备基于第一令牌、所述第一盐值以及第一加密算法生成的;
第五接收模块,用于接收用户输入的第四令牌;
第四生成模块,用于在基于第四令牌确定所述映射表中第一盐值对应的第一加密串与第九加密串相同的情况下,基于所述第四令牌和第二加密算法,生成第十加密串;其中,所述第九加密串是基于所述第四令牌、所述第一盐值和所述第一加密算法生成的;
第二确定模块,用于将所述第十加密串确定为与所述映射表中所述第一盐值对应的服务地址通信所用的协商秘钥。
本申请实施例还提供了一种秘钥协商系统,应用于组播组/广播组,所述系统组/广播组中包括第一服务设备和用户设备;
所述第一服务设备,用于获取第一令牌和第一盐值;基于所述第一令牌和所述第一盐值,以及第一加密算法和第二加密算法,生成第一加密串和第二加密串;将所述第二加密串确定为协商秘钥,并组播/广播所述第一加密串、所述第一盐值和第一服务设备的服务地址;其中,所述第一加密串是所述服务设备基于第一令牌、所述第一盐值以及第一加密算法生成的;
所述用户设备,用于接收所述第一服务设备组播/广播的第一加密串、第一盐值和服务地址,并根据所述第一加密串、所述第一盐值和所述服务地址间的映射关系,更新映射表;接收用户输入的第四令牌;在所述第四令牌确定所述映射表中第一盐值对应的第一加密串与第九加密串相同的情况下,基于所述第四令牌和第二加密算法,生成第十加密串;其中,所述第九加密串是基于所述第四令牌、所述第一盐值和所述第一加密算法生成的;将所述第十加密串确定为与所述映射表中所述第一盐值对应的服务地址通信所用的协商秘钥。
本申请实施例还提供了一种电子设备,包括处理器和存储器;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的秘钥协商方法步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的秘钥协商方法步骤。
本申请实施例还提供了一种包含指令的计算机程序,当其在计算机上运行时,使得计算机执行上述任一所述的秘钥协商方法。
本申请实施例有益效果:
本申请实施例提供的秘钥协商方法、装置、系统及电子设备,组播组/广播组中的服务设备和用户设备在进行秘钥协商时,服务设备分别利用两种加密算法,即第一加密算法和第二加密算法,生成两个加密串,即第一加密串和第二加密串,服务设备将第二加密串确定为协商秘钥,并组播/广播第一加密串、生成该第一加密串所采用的盐值以及该服务设备的服务地址,从而使得用户设备在基于第一加密算法对用户输入的令牌和接收到的盐值进行加密处理得到的加密串,与接收到的盐值所对应的加密串相同的情况下,基于第二加密算法和用户输入的令牌生成加密串,即生成与第一服务设备生成的第二加密串相同的加密串,将该加密串确定为与接收到的盐值所对应的服务地址进行通信所用的协商秘钥,使得用户设备和服务设备的协商秘钥得到统一。这可以使得该服务设备和多个用户设备在进行信息交互时均可以采用同一加密串作为协商秘钥,有效减少了所需维护的协商秘钥的数量,从而维护了网络运行的稳定性。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1-a为相关技术中通信网络的第一种示意图;
图1-b为相关技术中通信网络的第二种示意图;
图2为本申请实施例提供的秘钥协商方法的第一种流程示意图;
图3为本申请实施例提供的秘钥协商方法的第二种流程示意图;
图4为本申请实施例提供的秘钥协商方法的第三种流程示意图;
图5为本申请实施例提供的秘钥协商方法的第四种流程示意图;
图6为本申请实施例提供的令牌验证过程的一种信令图;
图7为本申请实施例提供的秘钥协商方法的第五种流程示意图;
图8为本申请实施例提供的秘钥协商方法的第六种流程示意图;
图9为本申请实施例提供的秘钥协商方法的第七种流程示意图;
图10为本申请实施例提供的秘钥协商方法的第八种流程示意图;
图11为本申请实施例提供的秘钥协商方法的第九种流程示意图;
图12为本申请实施例提供的秘钥协商方法的第十种流程示意图;
图13为本申请实施例提供的秘钥协商方法的第十一种流程示意图;
图14为本申请实施例提供的秘钥协商过程的一种信令图;
图15为本申请实施例提供的信息交互过程的一种信令图;
图16为本申请实施例提供的秘钥协商装置的第一种结构示意图;
图17为本申请实施例提供的秘钥协商装置的第二种结构示意图;
图18为本申请实施例提供的秘钥协商系统的一种结构示意图;
图19为本申请实施例提供的电子设备的第一种结构示意图;
图20为本申请实施例提供的电子设备的第二种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1-a和图1-b所示,图1-a为相关技术中通信网络的第一种示意图;图1-b为相关技术中通信网络的第二种示意图。
在图1-a中,为了保证服务设备101与用户设备102之间的信息传输的安全性,服务设备101和用户设备102可以采用秘钥协商的方式生成公钥和私钥,即服务设备101生成其与用户设备102进行信息交互时的公钥1和私钥1,并且服务设备101公开公钥1;用户设备102生成其与服务设备101进行信息交互时的公钥2和私钥2,并且用户设备102公开公钥2。在对传输信息加密和解密过程中,以用户设备102在向服务设备101发送的请求信息为例,用户设备102可以利用服务设备101公开的公钥1对该请求信息进行加密处理,得到加密请求信息,从而将该加密请求信息发送给服务设备101。服务设备101在接收到该加密请求信息后,可以利用公钥1对应的私钥1对接收到的加密请求信息进行解密处理,得到请求信息,从而完成请求信息的传输过程。关于公钥2和私钥2的使用方法,可参照公钥1和私钥1的使用方法,在此不作具体说明。
由图1-a所示的实施例可知,在服务设备101和用户设备102进行点对点的信息交互过程中,秘钥协商得到的协商秘钥包括2组,即公钥1和私钥1,公钥2和私钥2。但是当采用上述秘钥协商生成公钥和私钥的方法应用到组播组/广播组时,如应用到如图1-b所示的通信网络时,用户设备和服务设备所需维护的协商秘钥的数量将会激增。以图1-b为例进行说明,服务设备103可以按照上述点对点的方式分别与用户设备104和用户设备105进行信息交互,此时,服务设备103中需要维护2组协商秘钥,即与用户设备104进行信息交互时的公钥和私钥,以及与用户设备105进行信息交互时的公钥和私钥;与之对应的,用户设备104和用户设备105中也需要分别维护1组协商秘钥。另外,当服务设备103、用户设备104和用户设备105之间采用组播/广播的方式进行信息交互时,服务设备103、用户设备104以及用户设备105需要分别维护1组组播/广播时对应的公钥和私钥。因此,在图1-b中,服务设备103需要维护3组协商秘钥,用户设备104和用户设备105至少维护2组协商秘钥。当图1-b所示的通信网络中的用户设备或服务设备的数量不断增加时,每一服务设备和每一用户设备所需维护的协商秘钥的数量也将激增。由于秘钥协商过程是需要耗费一定的时间以及网络资源,因此,随着服务设备和用户设备所需维护的协商秘钥数量的激增,网络的整体性能将受到影响,从而影响网络运行的稳定性。
为了解决相关技术中组播组/广播组中随用户设备或服务设备数量增加,导致所需维护的协商秘钥的数量激增,从而影响网络运行稳定性的问题,本申请实施例提供了一种秘钥协商方法。该方法可以应用于组播组/广播组。该组播组/广播组中可以包括第一服务设备和用户设备。
如图2所示,图2为本申请实施例提供的秘钥协商方法的第一种流程示意图。该方法应用于上述组播组/广播组。该组播组/广播组中可以包括第一服务设备和用户设备。该方法包括以下步骤。
步骤S201,第一服务设备获取第一令牌和第一盐值;基于第一令牌和第一盐值,以及第一加密算法和第二加密算法,生成第一加密串和第二加密串;将第二加密串确定为协商秘钥,并组播/广播第一加密串、第一盐值和第一服务设备的服务地址;其中,第一加密串是服务设备基于第一令牌、第一盐值以及第一加密算法生成的。
步骤S202,用户设备接收第一服务设备组播/广播的第一加密串、第一盐值和服务地址,并根据第一加密串、第一盐值和服务地址间的映射关系,更新映射表;接收用户输入的第四令牌;在基于第四令牌确定映射表中第一盐值对应的第一加密串与第九加密串相同的情况下,基于第四令牌和第二加密算法,生成第十加密串;其中,第九加密串是基于第四令牌、第一盐值和第一加密算法生成的;将第十加密串确定为与映射表中第一盐值对应的服务地址通信所用的协商秘钥。
根据上述组播组/广播组的应用场景不同,上述第一服务设备可以为提供多种服务的服务设备。例如,上述第一服务设备可以是为用户设备提供投屏服务的服务功能。在此,对上述第一服务设备以及第一服务设备所提供的服务不作具体限定。另外,上述用户设备包括但不限于手机、电脑、智能穿戴设备。
通过本申请实施例提供的方法,组播组/广播组中的服务设备和用户设备在进行秘钥协商时,服务设备分别利用两种加密算法,即第一加密算法和第二加密算法,生成两个加密串,即第一加密串和第二加密串,服务设备将第二加密串确定为协商秘钥,并组播/广播第一加密串、生成该第一加密串所采用的盐值以及该服务设备的服务地址,从而使得用户设备在基于第一加密算法对用户输入的令牌和接收到的盐值进行加密处理得到的加密串,与接收到的盐值所对应的加密串相同的情况下,基于第二加密算法和用户输入的令牌生成加密串,即生成与第一服务设备生成的第二加密串相同的加密串,将该加密串确定为与接收到的盐值所对应的服务地址进行通信所用的协商秘钥,使得用户设备和服务设备的协商秘钥得到统一。这可以使得该服务设备和多个用户设备在进行信息交互时均可以采用同一加密串作为协商秘钥,有效减少了所需维护的协商秘钥的数量,从而维护了网络运行的稳定性。
为便于理解,下面通过具体的实施例,对本申请实施例进行说明。
基于同一种发明构思,根据上述图2所示的秘钥协商方法,本申请实施例还提供了一种秘钥协商方法。如图3所示,图3为本申请实施例提供的秘钥协商方法的第二种流程示意图。该方法应用于上述组播组/广播组中的第一服务设备。其中,第一服务设备可以为组播组/广播组中的任一服务设备,在此并不起限定作用。该方法包括以下步骤。
步骤S301,获取第一令牌和第一盐值。
一个可选的实施例中,第一服务设备可以随机生成第一令牌和第一盐值。例如,第一服务设备可以对数字和/或字母进行随机组合,得到第一令牌和第一盐值。
另一个可选的实施例中,第一服务设备可以从预设令牌表中随机选取一个令牌作为第一令牌,并从预设盐值表中随机选取一个盐值作为第一盐值。
针对上述第一令牌,也可以称为第一Token。为便于用户的临时记忆,可以对上述第一令牌的长度加以控制,例如,可以将第一令牌的长度控制在4个字符到6个字符之间。以第一令牌由数字和字母共同构成为例,当上述第一令牌的长度为4个字符时,第一令牌可以有(26+10)
针对上述第一盐值,也可以称为第一Salt值,盐值属于随机值。上述第一盐值可以为一随机串。
在本申请实施例中,上述第一令牌和第一盐值除了包括上述字母和数字以外,还可以包括其他特殊字符,如斜杠,即/,下划线,即_等字符。在此,上述第一令牌和第一盐值不作具体限定。
一个可选的实施例中,上述第一令牌可以为与第一服务设备提供的目标服务匹配的验证码。以第一服务设备为投屏设备为例,投屏设备在为用户提供投屏服务时,可以生成与投屏服务匹配的唯一验证码。投屏设备可以直接将生成的验证码确定为上述第一令牌。
一个可选的实施例中,为了进一步提高上述第一盐值的唯一性,从而降低基于第一盐值生成的加密串的碰撞率,上述第一盐值中可以包括表示获取时间的时间戳信息。其中,第一盐值的获取时间可以为第一盐值的生成时间,也可以为从上述预设盐值表中选取得到该第一令牌的时间。
一个可选的实施例中,上述第一服务设备在获取到上述第一令牌后,第一服务设备可以采用预设传输方式,将该第一令牌传递给用户。
例如,当上述第一服务设备为投屏设备时,投屏设备可以将获取到的第一令牌显示在显示屏幕上。用户可以通过观看显示屏幕的方式确定该投屏设备所获取到的令牌。
再例如,当上述第一服务设备为与用户使用的设备通信的电子设备时,该第一服务设备可以通过发送短信、邮件等方式将获取到的第一令牌发送给用户使用的设备,用户通过查看设备所接收到的短信或邮件等方式,可以确定第一服务设备获取到的令牌。
在本申请实施例中,为了提高上述第一令牌传输的安全性,上述预设传输方式所对应的传输信道不同于上述组播组/广播组中信息传输所对应的传输信道。
步骤S302,基于第一令牌和第一盐值,以及第一加密算法和第二加密算法,生成第一加密串和第二加密串。
在本步骤中,第一服务设备可以基于第一令牌、第一盐值和第一加密算法,生成第一加密串;并基于第一令牌和第二加密算法,生成第二加密串。
一个可选的实施例中,为了提高第一服务设备和用户设备进行秘钥协商后确定的协商秘钥的唯一性,保证信息交互的安全性,上述第一加密串不同于上述第二加密串。
一个可选的实施例中,在生成上述第一加密串时,第一服务设备可以利用第一加密算法对第一令牌和第一盐值进行加密处理,得到第一加密串。
一个可选的实施例中,在生成上述第二加密串时,第一服务设备可以利用第二加密算法对第一令牌进行加密处理,得到第二加密串。
另一个可选的实施例中,在生成上述第二加密串时,第一服务设备可以利用第二加密算法对第一令牌和第一盐值进行加密处理,得到第二加密串。
一个可选的实施例中,上述第一加密算法和第二加密算法可以为可逆加密算法。如高级加密标准(Advanced Encryption Standard,AES)算法,数据加密标准(DataEncryption Standard,DES)算法等。
一个可选的实施例中,由于可逆加密算法存在被暴力破解的可能性,因此,在采用可逆加密算法得到上述第一加密串和第二加密串时,为了降低第一加密串和第二加密串被暴力破解的可能性,从而提高第一加密串和第二加密串的安全性,上述第一加密串和第二加密串的有效时长可以为预设有效时长阈值。
上述预设有效时长阈值可以根据第一加密串和第二加密串被暴力破解的时长确定,也就是预设有效时长阈值小于第一加密串和第二加密串被暴力破解的时长。具体的,根据上述第一令牌和第一盐值的长度,加密次数等的不同,上述第一加密串和第二加密串被暴力破解的时长也有所不同,即预设有效时长阈值有所不同。在此,对上述预设有效时长阈值不作具体限定。
另一个可选的实施例中,为了进一步降低加密得到的第一加密串和第二加密串被暴力破击的可能性,从而提高上述第一加密串和第二加密串的安全性。上述第一加密算法和第二加密算法可以为不可逆加密算法,即第一加密算法为第一不可逆加密算法,第二加密算法为第二不可逆加密算法。
在本申请实施例中,上述第一不可逆加密算法包括但不限于消息摘要算法(Message Digest Algorithm,MD5),SHA-2下的SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256等算法,其中,SHA-2为安全散列算法2(Secure Hash Algorithm 2)。上述第二不可逆加密算法包括但不限于MD5,SHA-2下的SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256等算法。
上述第一不可逆加密算法与上述第二不可逆加密算法可以相同,也可以不同。以上述第一加密串和第二加密串均是利用上述MD5算法对第一令牌和第一盐值进行加密处理得到为例。第一服务设备可以利用MD5算法对第一令牌和第一盐值进行一次加密处理得到第一加密串。第一服务设备还可以利用MD5算法对第一令牌和第一盐值进行两次加密处理得到第二加密串。此时,虽然加密处理过程所采用的不可逆加密算法、令牌和盐值均相同,但是由于加密次数不同,这将使得生成的第一加密串和生成的第二加密串有所不同。在此,对生成上述第一加密串和第二加密串所采用的不可逆加密算法以及加密次数等不作具体限定。
相对于传统的公钥和私钥的生成方法,如利用RSA算法生成公钥和私钥,上述第一不可逆加密算法和第二不可逆加算法所需消耗的加密时间较短,即加密速率较快。
在相关技术的秘钥协商过程中,如上述图1-a或图1-b所示的秘钥协商过程中,生成的公钥和私钥所需消耗的时间较长。因此,与相关技术的秘钥协商过程相比,由于已经获取得到第一令牌和第一盐值,并且上述第一不可逆加密算法和第二不可逆加密算法的加密速度较快,这可以有效缩短上述第一加密串和上述第二加密串的生成时间,从而有效缩短秘钥协商的时间,提高秘钥协商效率。
在本申请实施例中,对上述第一加密串和第二加密串的生成顺序不作具体限定。即第一加密串可以与第二加密串同时生成,第一加密串也可以与第二加密串不同时生成,如第二加密串可以在第一加密串生成后生成。
步骤S303,将第二加密串确定为协商秘钥,并组播/广播第一加密串、第一盐值和第一服务设备的服务地址,以使组播组/广播组中的用户设备根据接收到的第一加密串、第一盐值和服务地址,确定第二加密串为与服务地址通信所用的协商秘钥。
在本步骤中,第一服务设备可以将上述第二加密串确定为与组播组/广播组中用户设备进行通信时的协商秘钥,并在组播组/广播组中组播/广播第一加密串、第一盐值和第一服务设备的服务地址。
一个可选的实施例中,第一服务设备在组播/广播第一加密串、第一盐值和服务地址时,第一服务设备是将第一加密串、第一盐值和服务地址以组播包/广播包的形式组播/广播到组播组/广播组。也就是将第一加密串、第一盐值和服务地址以组播包的形式组播到组播组中;或者将第一加密串、第一盐值和服务地址以广播包的形式广播到广播组中。为了降低因网络环境等因素导致的数据包丢失现象发生的概率,上述第一服务设备在组播/广播上述第一加密串和第一盐值时,可以按照预设时间周期,组播/广播预设数量次第一加密串、第一盐值和服务地址。
上述第一服务设备的服务地址可以包括第一服务设备的地址信息和端口信息,其中,第一服务设备的地址信息可以为互联网协议(Internet Protocol,IP)地址,第一服务设备的端口信息可以为第一服务设备提供的目标服务所对应端口的端口号。组播组/广播组中的用户设备在接收到服务设备组播/广播的服务地址后,可以根据该服务地址包括的地址信息和端口信息,确定需要访问的第一服务设备,并且便于用户设备根据该服务地址,将基于接收到的第四令牌、第一盐值和第一加密算法生成的加密串,确定为与该服务设备进行通信所用的协商秘钥。
在本申请实施例中,上述第一服务设备在组播/广播上述第一加密串、第一盐值和服务地址之后,组播组/广播组中除第一服务设备以外的其他设备均可以接收到第一加密串和第一盐值,也就是组播组/广播组中的用户设备也可以接收到第一加密串、第一盐值和服务地址。用户设备可以根据接收到的第一加密串和第一盐值确定其与该第一服务设备进行通信所用的协商秘钥,即上述第二加密串,关于该协商秘钥的确定方法可参见下文描述,在此不作具体说明。
一个可选的实施例中,上述第一加密算法和第二加密算法可以为记录在上述组播组/广播组的每一设备中的加密算法。例如,通过软件代码记录在每一设备中。此时,组播组/广播组中的每一设备均可以获取到令牌和盐值时,均可以按照上述第一加密串和第二加密串的生成方式,生成对应的加密串。
另一个可选的实施例中,为了提高生成的加密串方法的灵活性,上述在组播/广播上述第一加密串和第一盐值时,还可以组播/广播上述第一加密算法、第二加密算法以及加密次数所对应的标识信息。组播组/广播组中的其他设备可以根据接收到的标识信息,确定加密串生成所采用的第一加密算法和第二加密算法,从而采用对应的第一加密算法、第二加密算法,生成加密串。
通过图3所示的方法,第一服务设备可以确定与用户设备的协商秘钥,并通过组播/广播第一加密串、第一盐值和服务地址,使得用户设备可以基于该第一盐值、第一加密串和服务地址,确定与第一服务设备进行通信所用的协商秘钥。
一个可选的实施例中,根据图3所示的方法,本申请实施例还提供了一种秘钥协商方法。如图4所示,图4为本申请实施例提供的秘钥协商方法的第三种流程示意图。该方法包括以下步骤。
步骤S401,获取第一令牌和第一盐值。
步骤S402,基于第一令牌和第一盐值,以及第一加密算法和第二加密算法,生成第一加密串和第二加密串。
步骤S403,将第二加密串确定为协商秘钥,并组播/广播第一加密串、第一盐值和第一服务设备的服务地址,以使组播组/广播组中的用户设备根据接收到的第一加密串、第一盐值和服务地址,确定第二加密串为与服务地址通信所用的协商秘钥。
上述步骤S401-步骤S403与上述步骤S301-步骤S303相同。
步骤S404,在第一令牌的存在时长大于第一预设时长的情况下,返回执行获取第一令牌和第一盐值的步骤,每次获取的第一令牌不同。
在本步骤中,第一服务设备可以实时检测第一令牌的存在时长是否大于第一预设时长。当第一令牌的存在时长大于第一预设时长时,第一服务设备可以返回执行上述步骤S401,即上述获取第一令牌和第二盐值的步骤。
上述第一令牌的存在时长可以表示为当前时间与该第一令牌的获取时间或生成时间之间的时间差。
在本申请实施例中,通过将第一令牌的存在时长与第一预设时长进行比较,可以及时准确的确定第一令牌是否有效,保证第一令牌的唯一性和有效性,从而保证确定出的协商秘钥的有效性。
为便于理解,以第一令牌为字母和数字随机组合得到的6为字符为例进行说明,为便于下文描述,将该实施例记为实施例1。
在实施例1中,第一令牌可以有(26+10)
在图4所示的方法中,第一服务设备通过控制第一令牌的存在时长,降低第一令牌发生碰撞的概率,除此以外,第一服务设备还可以通过提高上述第一加密算法的计算时长来降低第一令牌发生碰撞的概率。例如,利用第一加密算法对第一令牌和第一盐值进行一次加密处理的时长为5毫秒,第一服务设备可以利用第一加密算法对第一令牌和第一盐值进行多次加密处理,从而提高加密算法的计算时长,降低第一令牌发生碰撞的概率。
一个可选的实施例中,上述组播组/广播组中还包括除第一服务设备以外的第二服务设备。根据上述图3所示的方法,本申请实施例还提供了一种秘钥协商方法。如图5所示,图5为本申请实施例提供的秘钥协商方法的第四种流程示意图。该方法包括以下步骤。
步骤S501,获取第一令牌和第一盐值。
步骤S502,基于第一令牌和第一盐值,以及第一加密算法和第二加密算法,生成第一加密串和第二加密串。
上述步骤S501-S502与上述步骤S301-步骤S302相同。
步骤S503,在生成第一加密串之后,组播/广播第一加密串和第一盐值。
在本步骤中,第一服务设备在生成上述第一加密串后,可以在上述组播组/广播组中组播/广播第一加密串和第一盐值。
上述第一加密串和第一盐值的组播/广播方式可参照上述步骤S303中第一加密串和第一盐值组播/广播方式,在此不作赘述。
在本申请实施例中,上述第一加密串和第二加密串的生成时间可以相同,也可以不同,因此,上述步骤S503是在上述步骤S502生成上述第一加密串后执行。也就是上述第一加密串和第一盐值的组播/广播可以是在第二加密串生成前执行,也可以在第二加密串生成后执行,还可以在第二加密串生成时执行。
步骤S504,在接收到第二服务设备组播/广播的第三加密串和第二盐值的情况下,基于第一令牌和第二盐值,以及第一加密算法,生成第四加密串;第三加密串和第二盐值是第二服务设备在基于获取到的第二令牌、第一盐值和第一加密算法生成的第五加密串与第一加密串相同的情况下组播/广播的;第三加密串是基于第二令牌、第二盐值和第一加密算法生成的。
在本步骤中,第二服务设备可以按照上述第一令牌和第一盐值的获取方法,获取第二令牌和第二盐值;并按照与第一服务设备和用户设备的秘钥协商方法,确定其与用户设备的协商秘钥。在此,将第二服务设备按照上述第一加密串生成方法所生成的加密串记为第三加密串,也就是将第二服务设备利用第一加密算法对获取到的第二令牌和第二盐值进行加密处理得到的加密串记为第三加密串。第一服务设备可以实时检测是否接收到的第二服务设备组播/广播的第三加密串和第二盐值。当接收到第二服务设备组播/广播的第三加密串和第二盐值时,第一服务设备可以根据上述第一令牌、接收到的第二盐值以及第一加密算法,生成第四加密串。也就是第一服务设备可以利用第一加密算法对第一令牌、接收到的第二盐值进行加密处理得到第四加密串。
关于上述第三加密串和第二盐值的组播/广播,上述第二服务设备在接收到第一服务设备组播/广播的第一加密串和第一盐值时,可以利用第一加密算法对上述第二令牌和第一盐值进行加密处理得到第五加密串,并在第五加密串和接收到的第一加密串相同时,在上述组播组/广播组中组播/广播第三加密串和第二盐值。关于第三加密串和第二盐值的组播/广播可参照上述第一加密串和第一盐值的组播/广播方式,在此不作赘述。
一个可选的实施例中,当上述第五加密串与接收到的第一加密串不相同时,第二服务设备可以不作处理,如不在组播组/广播组中组播/广播第三加密串和第二盐值,或者丢弃接收到的第一加密串和第一盐值等。
在本申请实施例中,当上述第五加密串和上述第一加密串相同时,由于生成加密串的盐值和加密算法是相同的,即第一盐值和第一加密算法,因此,生成第五加密串的第二令牌与生成第一加密串的第一令牌是相同的。此时,由于第二服务设备与用户设备间的协商秘钥是基于第二令牌生成的,也就是第二令牌被第二服务设备占用,因此,第二服务设备通过组播/广播上述第三加密串和第二盐值使得第一服务设备确定第一令牌已经被占用,从而提高第一服务设备用于生成协商秘钥的令牌的唯一性,进而提高协商秘钥的唯一性。另外,第二服务设备在确定第一令牌被其占用后组播/广播的是第三加密串和第二盐值,而不是第二令牌,这有效降低了令牌泄露的风险,提高了令牌的安全性。
步骤S505,在第三加密串和第四加密串相同的情况下,返回执行获取第一令牌和第一盐值的步骤,每次获取的第一令牌不同。
在本步骤中,第一服务设备可以将上述第四加密串与接收到的第三加密串进行比较。当第三加密串和第四加密串相同时,第一服务设备可以返回执行步骤S501,即返回执行获取第一令牌和第一盐值的步骤。
一个可选的实施例中,为了缩短获取第一令牌的时间,第一服务设备在返回执行上述获取第一令牌和第一盐值的步骤时,可以重新获取第一令牌,保持第一盐值不变,即重新获取第一令牌,但不重新获取第一盐值。
另一个可选的实施例中,为了提高第一盐值的唯一性,第一服务设备在返回执行上述获取第一令牌和第一盐值的步骤时,可以重新获取第一令牌和第一盐值。即重新获取第一令牌,也重新获取第一盐值。
步骤S506,在第三加密串和第四加密串不相同的情况下,或在未接收到第二服务设备组播/广播的第三加密串和第二盐值的情况下,将第二加密串确定为协商秘钥,并组播/广播第一加密串、第一盐值和第一服务设备的服务地址。
一个可选的实施例中,当上述第三加密串与上述第四加密串不相同时,第一服务设备可以将第二加密串确定为与用户设备的协商秘钥,并组播/广播第一加密串和第一盐值。
另一个可选的实施例中,当未接收到第二服务设备组播/广播的第三加密串和第二盐值时,第一服务设备可以将第二加密串确定为协商秘钥,并组播/广播第一加密串和第一盐值。
一个可选的实施例中,上述第一服务设备未接收到第二服务设备组播/广播的第三加密串和第二盐值,具体可以包括两种情况:
情况一,第二服务设备未组播/广播第三加密串和第二盐值,第一服务设备将不会接收到第二服务设备组播/广播第三加密串和第二盐值。此时,第一服务设备在预设时间段内将不会接收到第二服务设备组播/广播第三加密串和第二盐值。
情况二,第二服务设备在组播组/广播组中组播/广播第三加密串和第二盐值。但是第一服务设备在预设时间段后才接收到第二服务设备组播/广播第三加密串和第二盐值。
上述预设时间段为第一服务设备组播/广播上述第一加密串和第一盐值后的预设时间段,如15秒后。在此,对上述预设时间段不作具体限定。
为便于理解,仍以上述实施例1对上述情况二进行说明。若上述预设时间段所对应的时长为15秒。第一令牌在15秒内被恶意设备利用穷举法破解的概率为
在本申请实施例中,第一服务设备通过将第一加密串和第一盐值组播/广播给组播组/广播组中的第二服务设备,可以使得第二服务设备确定其与用户设备的协商秘钥的第二令牌,和第一服务设备所确定的与用户设备的协商秘钥的令牌是否相同,从而降低第一服务设备所确定的协商秘钥和第二服务设备所确定的协商秘钥发生碰撞的概率。另外,第二服务设备通过组播/广播其对应的第三加密串和第二盐值,可以使得第一设备在确定第二令牌和第一令牌是否碰撞同时,即确定两个服务设备对应的协商秘钥是否碰撞的同时,降低恶意设备的攻击,提高秘钥协商的速率以及确定的协商秘钥的准确性和唯一性。
具体的,若第二服务设备在确定上述第五加密串和第一加密串相同时,即第一令牌和第二令牌相同时,第二服务设备仅通知第一加密串或第一令牌被占用,如发送通知消息。此时,若恶意设备对上述第一服务设备进行攻击,则恶意软件可以不断的向第一服务设备发送第一令牌或第一加密串被占用的通知消息,第一服务设备将无法确定与用户设备的协商秘钥。因此,在上述实施例中,当第二服务设备确定上述第五加密串和第一加密串相同时,第二服务设备需要将自身的第三加密串和第二盐值发送给第一服务设备进行认证。此时,由于恶意设备无法在短时间(即上述预设时间段)内,生成上述第一盐值和第一加密串,这可以有效降低恶意设备对第一服务设备发起攻击的可能性,保证了协商秘钥的确定。
为便于理解,下面结合图6对上述过程进行说明。图6为本申请实施例提供的令牌验证过程的一种信令图。
假设第一服务设备获取到的第一令牌为令牌1,第一盐值为盐值1,基于第一加密算法生成的第一加密串为加密串1,基于第二加密算法得到的第二加密串为加密串2;第二服务设备获取到的第二令牌为令牌2,第二盐值为盐值2,基于第一加密算法生成的第三加密串为加密串3。
第一服务设备可以组播/广播上述加密串1和盐值1。
第二服务设备接收到第一服务设备组播/广播的加密串1和盐值1。第二服务设备可以利用第一加密算法对上述令牌2和盐值1进行处理得到加密串4。第二服务设备可以判断加密串1和加密串4是否相同。当加密串4和加密串1相同时,第二服务设备可以组播/广播加密串3和盐值2。当加密串4和加密串1不相同时,第二服务设备可以不作处理,即不组播/广播加密串3和盐值2(图6中未示出)。
若预设时间段内未接收到第二服务设备组播的加密串3和盐值2,则第一服务设备可以将上述第二加密串2确定为与用户设备的协商秘钥,并组播/广播加密串1、盐值1和服务地址(图6中未示出加密串1、盐值1和服务地址的组播/广播过程)。此时,第一服务设备侧的秘钥协商过程结束。
若预设时间段内接收到的加密串3和盐值2,则第一服务设备可以利用第一加密算法对上述令牌1和盐值2进行加密处理得到加密串5。第一服务设备可以判断加密串3和加密串5是否相同。当加密串3和加密串5相同时,第一服务设备可以重新获取第一令牌,该第一令牌与上述令牌1不同。当加密串3和加密串5不相同时,第一服务设备可以将加密串2确定为与用户设备的协商秘钥。
一个可选的实施例中,为了进一步提高上述第一盐值的唯一性,上述第一盐值中包括表示获取时间的时间戳信息。上述第二盐值中也包括表示获取时间的时间戳信息。
为便于理解,对上述时间戳信息进行举例说明。现假设第一服务设备在4月1日的10:00分别获取到一随机串,即randomstr,此时,该第一盐值中可以包括该随机串和表示的4月1日10:00这一时间的时间戳信息,如01100000,也就是第一盐值具体可以表示为01100000randomstr。若第二服务设备在另一时间点如4月1日的9:55获取到的随机串也为randomstr,此时,由于盐值中携带有时间戳信息,第一服务设备所获取到的第一盐值将不同于第二服务设备获取到的第二盐值,大大提高了每一盐值的唯一性。
在本申请实施例中,上述时间戳信息可以在获取到的随机串的前面,也可以在随机串的后面。在此,对上述时间戳信息在盐值中位置不作具体限定。
一个可选的实施例中,根据上述图3所示的方法,本申请实施例还提供了一种协商方法。如图7所示,图7为本申请实施例提供的秘钥协商方法的第五种流程示意图。该方法包括以下步骤。
步骤S701,获取第一令牌和第一盐值。
步骤S702,基于第一令牌和第一盐值,以及第一加密算法和第二加密算法,生成第一加密串和第二加密串。
步骤S703,将第二加密串确定为协商秘钥,并组播/广播第一加密串、第一盐值和第一服务设备的服务地址,以使组播组/广播组中的用户设备根据接收到的第一加密串、第一盐值和服务地址,确定第二加密串为与服务地址通信所用的协商秘钥。
上述步骤S701-步骤S703与上述步骤S301-303相同。
步骤S704,接收第二服务设备组播/广播的第六加密串和第三盐值,第六加密串和第三盐值是第二服务设备在基于第一加密算法和第二加密算法,以及获取到的第三令牌和第三盐值生成第六加密串和第七加密串后组播/广播的;第六加密串是基于第三令牌、第三盐值和第一加密算法生成的。
上述第一服务设备接收第二服务设备组播/广播的第六加密串和第三盐值,与上述图5所示的第二服务设备接收第一服务设备组播/广播第一加密串和第一盐值的步骤相似,在此不作赘述。
步骤S705,基于第一令牌、第三盐值和第一加密算法,生成第八加密串。
上述第八加密串的生成与上述图5中第五加密串的生成相似,在此不作赘述。
步骤S706,在第八加密串和第六加密串相同的情况下,组播/广播第一加密串和第一盐值。
上述第一加密串和第一盐值的组播/广播的步骤,与上述图5所示的第二服务设备组播/广播第三加密串和第二盐值的步骤相似,在此不作赘述。
在本申请实施例中,第一服务设备在接收到的第二服务设备组播/广播的加密串和盐值时,可以确定其用于生成协商秘钥的令牌与第二服务设备用于生成协商秘钥的令牌是否相同,从而降低第二服务设备用于生成协商秘钥的令牌与第一服务设备用于生成协商秘钥的令牌发生碰撞的概率,提高了令牌的唯一性,进而提高了协商秘钥的唯一性。
一个可选的实施例中,根据上述图3所示的方法,本申请实施例还提供了一种秘钥协商方法。如图8所示,图8为本申请实施例提供的秘钥协商方法的第六种流程示意图。该方法包括以下步骤。
步骤S801,获取第一令牌和第一盐值。
步骤S802,基于第一令牌和第一盐值,以及第一加密算法和第二加密算法,生成第一加密串和第二加密串。
步骤S803,将第二加密串确定为协商秘钥,并组播/广播第一加密串、第一盐值和第一服务设备的服务地址,以使组播组/广播组中的用户设备根据接收到的第一加密串、第一盐值和服务地址,确定第二加密串为与服务地址通信所用的协商秘钥。
上述步骤S801-步骤S803与上述步骤S301-步骤S303相同。
步骤S804,利用协商秘钥对服务信息进行加密处理,得到加密服务信息。
在本步骤中,第一服务设备在确定与用户设备的协商秘钥之后,可以利用该协商秘钥对服务信息进行加密处理,得到加密服务信息。
一个可选的实施例中,第一服务设备在利用协商秘钥对服务信息进行加密时,可以利用协商秘钥对整个服务信息进行加密处理,得到加密服务信息。
另一个可选的实施例中,第一服务设备在利用协商秘钥对服务信息进行加密时,可以利用协商秘钥对整个服务信息中的部分信息进行加密处理,得到加密服务信息。其中,整个服务信息中的部分信息可以为敏感信息,如包括地址的信息、涉及用户隐私的信息等。
在本申请实施例中,上述服务信息可以是第一服务设备主动向用户设备推送的服务信息,也可以是第一服务设备接收到用户设备发送的请求信息后,返回的服务信息。在此,对上述服务信息不作具体限定。
在本申请实施例中,对上述第一服务设备利用协商秘钥对服务信息进行加密处理的方式不作具体限定。
步骤S805,组播/广播加密服务信息。
在本步骤中,第一服务设备可以在组播组中组播上述加密服务信息;或者在广播组中广播上述加密服务信息。
在本申请实施例中,利用上述协商秘钥对服务信息进行加密处理,可以有效提高服务信息传输过程的安全性。
一个可选的实施例中,上述组播组/广播组中还可以包括用户设备。根据上述图3所示的方法,本申请实施例还提供了一种秘钥协商方法。如图9所示,图9为本申请实施例提供的秘钥协商方法的第七种流程示意图。该方法包括以下步骤。
步骤S901,获取第一令牌和第一盐值。
步骤S902,基于第一令牌和第一盐值,以及第一加密算法和第二加密算法,生成第一加密串和第二加密串。
步骤S903,将第二加密串确定为协商秘钥,并组播/广播第一加密串、第一盐值和第一服务设备的服务地址,以使组播组/广播组中的用户设备根据接收到的第一加密串、第一盐值和服务地址,确定第二加密串为与服务地址通信所用的协商秘钥。
上述步骤S901-步骤S904与上述步骤S301-步骤S303相同。
步骤S904,接收用户设备发送的加密请求信息。
在本步骤中,上述用户设备可以组播组/广播组中组播/广播的加密请求信息。上述第一服务设备可以接收该加密请求信息。
在本申请实施例中,上述用户设备组播/广播的加密请求信息是该用户设备利用与组播组/广播组中服务设备的协商秘钥对请求信息进行加密处理得到。关于用户设备与组播组/广播组中服务设备的协商秘钥的确定方法可参见下文描述,在此不作具体说明。
步骤S905,利用协商秘钥对加密请求信息进行解密处理以得到请求信息。
在本步骤中,第一服务设备可以利用上述协商秘钥对加密请求信息进行解密处理以得到请求信息。也就是利用上述第二加密串对加密请求信息进行解密处理以得到请求信息。
上述第一服务设备在利用协商秘钥对加密请求信息进行解密处理时,若解密成功,第一服务设备将得到请求信息,若解密失败,第一服务设备将无法得到请求信息。关于解密失败的原因可能由多种原因导致,例如,上述加密请求信息是用户设备利用与上述第二服务设备进行通信所用的协商秘钥加密得到的,此时,第一服务设备将无法利用其与用户设备通信所用的协商秘钥进行解密处理。再例如,由于网络环境的影响,使得第一服务设备在接收到上述加密请求信息时,第一服务设备中用户设备对该加密请求信息进行加密所用的协商秘钥达到其有效时长,第一服务设备已经重新生成新的协商秘钥,此时,第一服务设备利用新的协商秘钥将无法对该加密请求信息进行解密处理。在此,对导致解密失败的原因不作具体限定。
在本申请实施例中,由于上述第一服务设备在确定协商秘钥的同时,组播/广播第一加密串、第一盐值和服务地址,因此,用户设备在需要向第一服务设备发送请求信息时,可以根据接收到的服务地址包括的地址信息和端口信息将第一服务设备确定为待访问设备,从而根据与该访问设备的协商秘钥对请求信息进行加密处理得到加密请求信息,并组播/广播该加密请求信息。进一步的,虽然用户设备是在上述组播组/广播组中组播/广播上述加密请求信息,但是由于第一服务设备与该用户设备间的协商秘钥是唯一的,因此,即使组播组/广播组中的其他设备接收到的加密请求信息,也无法对该加密请求信息进行解密处理,保证了加密请求信息的安全性。
在本申请实施例中,利用上述协商秘钥对接收到的请求信息进行解密处理,可以有效提高请求信息传输过程的安全性。
一个可选的实施例中,根据图9所示的方法,本申请实施例还提供了一种秘钥协商方法。如图10所示,图10为本申请实施例提供的秘钥协商方法的第八种流程示意图。该方法包括以下步骤。
步骤S1001,获取第一令牌和第一盐值。
步骤S1002,基于第一令牌和第一盐值,以及第一加密算法和第二加密算法,生成第一加密串和第二加密串。
步骤S1003,将第二加密串确定为协商秘钥,并组播/广播第一加密串、第一盐值和第一服务设备的服务地址,以使组播组/广播组中的用户设备根据接收到的第一加密串、第一盐值和服务地址,确定第二加密串为与服务地址通信所用的协商秘钥。
步骤S1004,接收用户设备发送的加密请求信息。
步骤S1005,利用协商秘钥对加密请求信息进行解密处理以得到请求信息。
上述步骤S1001-步骤S1005与上述步骤S901-步骤S905相同。
步骤S1006,统计第二预设时长内接收到用户设备发送的、且第一服务设备解密错误的加密请求信息的个数。
在本步骤中,第一服务设备可以根据对第二预设时长内接收到的每一用户设备组播/广播的加密请求信息的解密情况,统计该第二预设时长内连接收到用户设备组播/广播的、且第一服务设备解密错误的加密请求信息的个数。
上述解密错误的加密请求信息的个数可以为第二预设时长内连续接收到的加密请求信息解密错误的次数,也可以为第二预设时长内接收到的加密请求信息解密错误的总次数。在此,对上述解密错误的加密请求信息的个数不作具体限定。
步骤S1007,若个数等于预设数量阈值,则在第三预设时长后,重新接收用户设备发送的加密请求信息。
在本步骤中,当第二预设时长内接收到用户设备组播/广播的、且第一服务设备解密错误的加密请求信息的个数等于预设数量阈值,第一服务设备可以在第三预设时长后,重新接收该用户设备组播/广播的加密请求信息。也就是在第三预设时长内,不处理该用户设备组播/广播的加密请求信息。
在本申请实施例中,第一服务设备通过将第二预设时长内接收到同一用户设备组播/广播的、且第一服务设备解密错误的加密请求信息的个数,与预设数量阈值进行比较,并在第三预设时长内不处理个数大于预设数量阈值的用户设备组播/广播的加密请求信息,这可以降低恶意设备攻击第一服务设备的概率,提高服务设备与用户设备之间通信的安全性。
在本申请实施例中,由于第一服务设备在确定协商秘钥后,组播/广播上述第一加密串、第一令牌和第一服务设备的服务地址,因此,上述用户设备在发送上述加密请求信息时,除了采用组播/广播的方式,还可以根据接收到的服务地址包括的地址信息和端口信息,采用单播的方式发送上述加密请求信息。
在图9和图10所示的实施例中,组播组/广播组中的用户设备与第一服务设备之间的数据传输均是通过组播/广播的方式进行的。除此以外,在组播组/广播组中,用户设备和第一服务设备还可以采用单播的方式进行数据传输。此时,为了保证数据传输的安全性,第一服务设备可以与用户设备协商得到一协商秘钥,即公钥和私钥,并对用户设备公开该公钥。用户设备在向第一服务设备发送数据时,如上述请求信息,可以利用该公钥对该数据进行加密得到加密数据,从而将该加密数据发送该第一服务设备。第一服务设备利用协商得到的私钥对接收到的加密数据进行解密处理,得到原始的数据。
通过上述实施例中,可以实现组播组/广播组中用户设备和第一服务设备间的私有通信,并且,在用户设备侧无需进行秘钥协商,减少了用户设备侧所需维护的协商秘钥的数量,从而维护了网络运行的稳定性。
基于同一种发明构思,根据上述本申请实施例提供的秘钥协商方法,本申请实施例还提供了一种秘钥协商方法。如图11所示,图11为本申请实施例提供的秘钥协商方法的第九种流程示意图。该方法应用于组播组/广播组中的用户设备,该组播组/广播组中还可以包括服务设备。该方法包括以下步骤。
步骤S1101,接收服务设备组播/广播的第一加密串、第一盐值和服务地址,并根据第一加密串、第一盐值和服务地址间的映射关系,更新映射表;其中,第一加密串是服务设备基于第一令牌、第一盐值以及第一加密算法生成的。
在本步骤中,服务设备在基于获取到的第一令牌和第一盐值,以及第一加密算法和第二加密算法,生成第一加密串和第二加密串后,可以将第二加密串确定为与用户设备的协商秘钥,并在上述组播组/广播组中组播/广播第一加密串、第一盐值以及该服务设备的服务地址。此时,组播组/广播组中的除该服务设备以外的每一设备均可以接收到第一加密串、第一盐值和服务地址。也就是上述用户设备可以接收到的第一加密串、第一盐值和服务地址。
一个可选的实施例中,在上述用户设备中存储有加密串、盐值和服务地址间映射关系的映射表。如表1所示,表1为本申请实施例提供的一种映射表。
表1
在上述表1中,加密串1、盐值1以及(IP地址1,端口号1)所表示的服务地址1是组播组/广播组中的一个服务设备组播/广播的,即加密串1、盐值1和服务地址1对应。加密串2、盐值3以及(IP地址2,端口号2)所表示的服务地址2是组播组/广播组中的另一个服务设备组播/广播的,即加密串2、盐值2和服务地址2对应。
上述映射表中还可以包括其他信息,如映射表每一加密串的有效时长或过期时间等。
上述用户设备在接收到上述服务设备发送的第一加密串、第一盐值和服务地址之后,可以根据该第一加密串、第一盐值和服务地址间的映射关系,对上述映射表进行更新。也就是在上述映射表中增加第一加密串、第一盐值和服务地址间的对应关系。
步骤S1102,接收用户输入的第四令牌。
在本步骤中,用户可以在用户设备中输入第四令牌。用户设备将接收到该第四令牌。
一个可选的实施例中,当上述服务设备为上述投屏设备时,投屏设备可以在显示屏幕上显示一令牌,用户观看投屏设备的显示屏幕获取到该令牌,并在用户设备中输入该令牌。用户设备将接收到该令牌,即上述第四令牌。
另一个可选的实施例中,当上述服务设备为与用户使用的设备通信的电子设备时,上述第四令牌可以携带在服务设备向用户设备发送的短信或邮件中。
步骤S1103,在基于第四令牌确定映射表中第一盐值对应的第一加密串与第九加密串相同的情况下,基于第四令牌和第二加密算法,生成第十加密串;其中,第九加密串是基于第四令牌、第一盐值和第一加密算法生成的。
在本步骤中,用户设备在接收到上述第四令牌后,可以对上述映射表中的盐值(为便于区分,记为第四盐值)进行遍历,从而利用第一加密算法对接收到的第四令牌和遍历到的第四盐值进行加密处理,生成加密串。当用户设备基于第四令牌确定映射表中第一盐值所对应的第一加密串与生成的第九加密串相同时,用户设备可以基于该第四令牌和第二加密算法,生成第十加密串。
上述第九加密串的生成方式可参照上述第一加密串的生成方式,上述第十加密串的生成方式可参照上述第二加密串的生成方式,在此不作具体说明。
在本申请实施例中,在上述遍历过程中,当用户设备基于上述第四令牌、映射表中遍历到的第四盐值以及第一加密算法生成的加密串,如上述第九加密串,与用户设备在上述映射表中遍历到的第四盐值对应的加密串,如,上述第一盐值对应的第一加密串相同时,用户设备可以停止对映射表的遍历过程。
一个可选的实施例中,当用户设备连续在上述映射表中未遍历到第四盐值对应的加密串与第九加密串相同的次数达到预设遍历次数时,电子设备可以不接收用户输入的第四令牌,并在第四预设时长后重新接收第四令牌;或者用户设备也可以提示用户输入的第四令牌存在错误。
步骤S1104,将第十加密串确定为与映射表中第一盐值对应的服务地址通信所用的协商秘钥。
在本申请实施例中,上述映射表中的加密串是服务设备利用第一加密算法对获取到的令牌和盐值进行加密处理得到的,如上述第一服务设备获取到的第一令牌和第一盐值进行加密处理得到的加密串,而上述第九加密串是用户设备利用第一加密算法对接收到的第四令牌以及映射表中的第一盐值进行加密处理得到。此时,若映射表中第一盐值所对应的第一加密串与第九加密串相同时,由于采用的加密算法和盐值均相同,因此,生成映射表中第一盐值所对应第一加密串的第一令牌与生成第九加密串的第四令牌相同。基于此,用户设备基于第四令牌和第二加密算法生成的第十加密串,与生成映射表中该第一盐值所对应的服务设备所确定的协商秘钥相同,也就是用户设备所确定的与服务设备的协商秘钥,与服务设备确定的与用户设备的协商秘钥为同一秘钥。
为便于理解,以上述第一服务设备为例进行说明。当映射表中第一服务设备所生成的第一加密串与用户设备基于映射表中第一盐值生成的第九加密串相同时,上述第四令牌与第一服务设备获取到的第一令牌相同。此时,第一服务设备生成的第二加密串与用户设备生成的第十加密串也相同。也就是用户设备与第一服务设备采用同一加密串作为通信时所用的协商秘钥
采用图11所示的方法,用户设备根据服务设备组播/广播的加密串、令牌和服务地址,可以确定与服务设备通信所用的协商秘钥,从而使得每一用户设备与服务设备在进行信息交互时均可以采用同一协商秘钥,有效减少了所需维护的协商秘钥的数量,从而维护了网络运行的稳定性。
一个可选的实施例中,根据图11所示的方法,本申请实施例还提供了一种秘钥协商方法。如图12所示,图12为本申请实施例提供的秘钥协商方法的第十种流程示意图。该方法包括以下步骤。
步骤S1201,接收服务设备组播/广播的第一加密串、第一盐值和服务地址,并根据第一加密串、第一盐值和服务地址间的映射关系,更新映射表;其中,第一加密串是服务设备基于第一令牌、第一盐值以及第一加密算法生成的。
步骤S1202,接收用户输入的第四令牌。
步骤S1203,在基于第四令牌确定映射表中第一盐值对应的第一加密串与第九加密串相同的情况下,基于第四令牌和第二加密算法,生成第十加密串;其中,第九加密串是基于第四令牌、第一盐值和第一加密算法生成的。
步骤S1204,将第十加密串确定为与映射表中第一盐值对应的服务地址通信所用的协商秘钥。
上述步骤S1201-步骤S1204与上述步骤S1101-步骤S1104相同。
步骤S1205,接收服务设备组播/广播的加密服务信息。
在本步骤中,服务设备在确定与用户设备的协商秘钥后,可以利用该协商秘钥对服务信息进行加密处理,得到加密服务信息,并在上述组播组/广播组中组播/广播该加密服务信息。此时,用户设备将接收到该加密服务信息。
步骤S1206,利用协商秘钥对加密服务信息进行解密处理,得到服务信息。
在本步骤中,用户设备在接收到上述加密服务信息后,可以利用与服务设备的协商秘钥对上述加密服务信息进行解密处理,得到服务信息。
在本申请实施例中,用户设备通过确定的与服务设备的协商秘钥对接收到的加密服务信息进行解密处理,提高了服务信息传输的安全性。
一个可选的实施例中,根据图11所示的方法,本申请实施例还提供了一种秘钥协商方法。如图13所示,图13为本申请实施例提供的秘钥协商方法的第十一种流程示意图。该方法包括以下步骤。
步骤S1301,接收服务设备组播/广播的第一加密串、第一盐值和服务地址,并根据第一加密串、第一盐值和服务地址间的映射关系,更新映射表;其中,第一加密串是服务设备基于第一令牌、第一盐值以及第一加密算法生成的。
步骤S1302,接收用户输入的第四令牌。
步骤S1303,在基于第四令牌确定映射表中第一盐值对应的第一加密串与第九加密串相同的情况下,基于第四令牌和第二加密算法,生成第十加密串;其中,第九加密串是基于第四令牌、第一盐值和第一加密算法生成的。
步骤S1304,将第十加密串确定为与映射表中第一盐值对应的服务地址通信所用的协商秘钥。
上述步骤S1301-步骤S1304与上述步骤S1101-步骤S1104相同。
步骤S1305,利用协商秘钥对请求信息进行加密处理,得到加密请求信息。
在本步骤中,用户设备在确定与用户设备的协商秘钥之后,可以利用该协商秘钥对请求信息进行加密处理,得到加密请求信息。也就是利用上述第七加密串对请求信息进行加密处理,得到加密请求信息。关于用户设备对请求信息的加密方法可参照上述第一服务设备对服务信息的加密方法,在此不作具体说明。
步骤S1306,组播/广播加密请求信息。
在本步骤中,用户设备可以在上述组播组/广播组中组播/广播加密请求信息。
在本申请实施例中,用户设备通过确定的与服务设备的协商秘钥对请求信息进行加密处理,提高了加密信息传输的安全性。
为便于理解,结合图14对上述秘钥协商方法进行说明。图14为本申请实施例提供的秘钥协商过程的一种信令图。
步骤S1401,第一服务设备获取第一令牌和第一盐值。
步骤S1402,第一服务设备基于第一令牌和第一盐值,以及第一加密算法和第二加密算法,生成第一加密串和第二加密串。
步骤S1403,第一服务设备组播/广播第一加密串和第一盐值。
步骤S1404,第二服务设备在接收到第一加密串和第一盐值的情况下,基于获取到的第二令牌、第一盐值和第一加密算法生成第五加密串。
此时,第二服务设备可以接收并存储第一加密串和第一盐值。
步骤S1405,第二服务设备确定第五加密串与第一加密串是否相同。若是,则执行步骤S1406。若否,则在预设时间段后,第一服务设备执行步骤S1409。
在本步骤中,若第二服务设备确定第五加密串与第一加密串不相同,则第二服务设备可以不作处理,如不执行步骤S1406,或者丢弃上述第一加密串和第一盐值。
步骤S1406,第二服务设备组播/广播第三加密串和第二盐值。
步骤S1407,第一服务设备在接收到第三加密串和第二盐值的情况下,基于第一令牌、第二盐值和第一加密算法生成第四加密串。
步骤S1408,第一服务设备确定第四加密串与第一加密串是否相同。若否,则执行步骤S1409。若是,则返回执行步骤S1401。
在返回执行步骤S1401时,每次获取的第一令牌不同。
上述步骤S1043-步骤S1408为第一服务设备确定第一令牌是否被第二服务设备占用的过程。
步骤S1409,第一服务设备将第二加密串确定为与用户设备通信所用的协商秘钥。
在本申请实施例中,第一服务设备在确定与用户设备通信所用的协商秘钥后,可以接收组播网/广播网中除第一服务设备以外的第二服务设备组播/广播的加密串和盐值,从而使得第二服务设备确定其获取到的令牌是否被第一服务设备占用,具体过程可参照上述步骤S1403-步骤S1408,在此不作具体说明。
步骤S1410,第一服务设备组播/广播第一加密串、第一盐值和第一服务设备的服务地址。
在此,对上述步骤S1409和步骤S1410的执行顺序不作具体限定。
步骤S1411,用户设备在接收服务设备组播/广播的第一加密串、第一盐值和服务地址时,基于接收到的第一加密串、第一盐值和服务地址间的映射关系,更新映射表。
步骤S1412,用户设备接收用户输入的第四令牌。
在此,对上述步骤S1411和步骤S1412的执行顺序不作具体限定。
步骤S1413,用户设备遍历映射表中的每一第四盐值,并基于第四令牌、在映射表中遍历到的第四盐值和第一加密算法,生成加密串。
步骤S1414,当基于映射表中遍历到的第一盐值、第四令牌和第一加密算法生成的第九加密串,与映射表中第一盐值对应的加密串相同时,基于第四令牌和第二加密算法,生成第十加密串。
步骤S1415,用户设备将第十加密串确定为与映射表中与生成第九加密串的第一盐值所对应的服务地址通信所用的协商秘钥。
上述组播组/广播组中的服务设备和用户设备确定彼此通信所用的协商秘钥后,可以基于该协商秘钥进行信息交互。为便于理解,结合图15对秘钥协商后的信息交互过程进行说明。图15为本申请实施例提供的信息交互过程的一种信令图。
步骤S1501,用户设备在确定与服务设备通信所用的协商秘钥后,利用协商秘钥对请求信息进行加密处理,得到加密请求信息。
步骤S1502,用户设备组播/广播加密请求信息。
步骤S1503,服务设备接收用户设备组播/广播的加密请求信息。
步骤S1504,服务设备利用与用户设备进行通信所用的协商秘钥对加密请求信息进行解密处理以得到请求信息。
步骤S1505,服务设备统计第二预设时长内接收到用户设备组播/广播的、且服务设备解密错误的加密请求信息的个数。
步骤S1506,服务设备判断统计得到的个数是否等于预设数量阈值。若是,则执行步骤S1507。
在本步骤中,若统计得到的个数小于预设数量阈值,则服务设备可以继续接收用户设备组播/广播的加密请求信息。
步骤S1507,服务设备在第三预设时长后,重新接收用户设备组播/广播的加密请求信息。
步骤S1508,服务设备利用与用户设备的协商秘钥对服务信息进行加密处理,得到加密服务信息。
在此,对上述步骤S1505和步骤S1508的执行顺序不作具体限定。
步骤S1509,服务设备组播/广播加密服务信息。
步骤S1510,用户设备在接收加密服务信息。
步骤S1511,用户设备利用与服务设备进行通信所用的协商秘钥对加密服务信息进行解密处理,得到服务信息。
基于同一种发明构思,根据本申请实施例提供的秘钥协商方法,本申请实施例还提供了一种秘钥协商装置。如图16所示,图16为本申请实施例提供的秘钥协商装置的第一种结构示意图。该装置应用于上述组播组/广播组中的第一服务设备。该装置包括以下模块。
获取模块1601,用于获取第一令牌和第一盐值;
第一生成模块1602,用于基于第一令牌和第一盐值,以及第一加密算法和第二加密算法,生成第一加密串和第二加密串;
第一确定模块1603,用于将第二加密串确定为协商秘钥,并组播/广播第一加密串、第一盐值和第一服务设备的服务地址,以使组播组/广播组中的用户设备根据接收到的第一加密串、第一盐值和服务地址,确定第二加密串为与服务地址通信所用的协商秘钥。
可选的,上述组播组/广播组中还可以包括除第一服务设备以外的第二服务设备;
上述秘钥协商还可以包括:
第一组播模块/第一广播模块,用于在生成第一加密串之后,组播/广播第一加密串和第一盐值;
第二生成模块,用于在接收到第二服务设备组播/广播的第三加密串和第二盐值的情况下,基于第一令牌和第二盐值,以及第一加密算法,生成第四加密串;第三加密串和第二盐值是第二服务设备在基于获取到的第二令牌、第一盐值和第一加密算法生成的第五加密串与第一加密串相同的情况下组播/广播的;第三加密串是基于第二令牌、第二盐值和第一加密算法生成的;
第一调用模块,用于在第三加密串和第四加密串相同的情况下,返回调用获取模块1601执行获取第一令牌和第一盐值的步骤,每次获取的第一令牌不同;
第二调用模块,用于在第三加密串和第四加密串不相同的情况下,或在未接收到第二服务设备组播/广播的第三加密串和第二盐值的情况下,调用第一确定模块1603执行将第二加密串确定为协商秘钥,并组播/广播第一加密串、第一盐值和第一服务设备的服务地址的步骤;
可选的,上述秘钥协商装置还可以包括:
第一接收模块,用于在将第二加密串确定为协商秘钥之后,接收第二服务设备组播/广播的第六加密串和第三盐值,第六加密串和第三盐值是第二服务设备在基于第一加密算法和第二加密算法,以及获取到的第三令牌和第三盐值生成第六加密串和第七加密串后组播/广播的;第六加密串是基于第三令牌、第三盐值和第一加密算法生成的;
第三生成模块,用于基于第一令牌、第三盐值和第一加密算法,生成第八加密串;
第二组播模块/第二广播模块,用于在第八加密串和第六加密串相同的情况下,组播/广播第一加密串和第一盐值;
可选的,上述秘钥协商装置还可以包括:
第三调用模块,用于在第一令牌的存在时长大于第一预设时长的情况下,返回调用获取模块1601执行获取第一令牌和第一盐值的步骤,每次获取的第一令牌不同;
上述第一生成模块1602,具体可以用于利用第一加密算法对第一令牌和第一盐值进行加密处理,得到第一加密串;利用第二加密算法对第一令牌进行加密处理,得到第二加密串;或者,利用第二加密算法对第一令牌和第一盐值进行加密处理,得到第二加密串;
可选的,上述秘钥协商装置还可以包括:
第一加密模块,用于在将第二加密串确定为协商秘钥之后,利用协商秘钥对服务信息进行加密处理,得到加密服务信息;组播/广播加密服务信息;
可选的,上述秘钥协商装置还可以包括:
第二接收模块,用于在将第二加密串确定为协商秘钥之后,接收用户设备发送的加密请求信息;
第一解密模块,用于利用协商秘钥对加密请求信息进行解密处理以得到请求信息;
可选的,上述秘钥协商装置还可以包括:
统计模块,用于在将第二加密串确定为协商秘钥之后,统计第二预设时长内接收到用户设备发送的、且第一服务设备解密错误的加密请求信息的个数;
第三接收模块,用于若个数等于预设数量阈值,则在第三预设时长后,重新接收用户设备发送的加密请求信息;
其中,上述第一盐值中可以包括表示获取时间的时间戳信息;第一令牌可以为与第一服务设备提供的目标服务匹配的验证码;第一加密算法和第二加密算法为不可逆加密算法。
基于同一种发明构思,根据图16所示的装置,本申请实施例还提供了一种秘钥协商装置。如图17所示,图17为本申请实施例提供的秘钥协商装置的第二种结构示意图。该装置应用于组播组/广播组中的用户设备,该组播组/广播组还可以包括服务设备。该装置包括以下模块。
第四接收模块1701,用于接收服务设备组播/广播的第一加密串、第一盐值和服务地址,并根据第一加密串、第一盐值和服务地址间的映射关系,更新映射表;其中,第一加密串是服务设备基于第一令牌、第一盐值以及第一加密算法生成的;
第五接收模块1702,用于接收用户输入的第四令牌;
第四生成模块1703,用于在基于第四令牌确定映射表中第一盐值对应的第一加密串与第九加密串相同的情况下,基于第四令牌和第二加密算法,生成第十加密串;其中,第九加密串是基于第四令牌、第一盐值和第一加密算法生成的;
第二确定模块1704,用于将第十加密串确定为与映射表中第一盐值对应的服务地址通信所用的协商秘钥。
可选的,上述第四生成模块1703,具体可以用于利用第二加密算法对第四令牌进行加密处理,得到第十加密串;或者利用第二加密算法对第四令牌和第一盐值进行加密处理,得到第十加密串;其中,第一加密算法和第二加密算法为不可逆加密算法。
可选的,上述秘钥协商装置还可以包括:
第六接收模块,用于在将第十加密串确定为与映射表中第一盐值对应的服务地址通信所用的协商秘钥之后,接收服务设备组播/广播的加密服务信息;
第二解密模块,用于利用协商秘钥对加密服务信息进行解密处理,得到服务信息;
可选的,上述秘钥协商装置还可以包括:
第二加密模块,用于在将第十加密串确定为与映射表中第一盐值对应的服务地址通信所用的协商秘钥之后,利用协商秘钥对请求信息进行加密处理,得到加密请求信息;
第三组播模块/第三广播模块,用于组播/广播加密请求信息。
通过本申请实施例提供的装置,组播组/广播组中的服务设备和用户设备在进行秘钥协商时,服务设备分别利用两种加密算法,即第一加密算法和第二加密算法,生成两个加密串,即第一加密串和第二加密串,服务设备将第二加密串确定为协商秘钥,并组播/广播第一加密串、生成该第一加密串所采用的盐值以及该服务设备的服务地址,从而使得用户设备在基于第一加密算法对用户输入的令牌和接收到的盐值进行加密处理得到的加密串,与接收到的盐值所对应的加密串相同的情况下,基于第二加密算法和用户输入的令牌生成加密串,即生成与第一服务设备生成的第二加密串相同的加密串,将该加密串确定为与接收到的盐值所对应的服务地址进行通信所用的协商秘钥,使得用户设备和服务设备的协商秘钥得到统一。这可以使得该服务设备和多个用户设备在进行信息交互时均可以采用同一加密串作为协商秘钥,有效减少了所需维护的协商秘钥的数量,从而维护了网络运行的稳定性。
基于同一种发明构思,根据本申请实施例提供的秘钥协商方法,本申请实施例还提供了一种秘钥协商系统。如图18所示,图18为本申请实施例提供的秘钥协商系统的一种结构示意图。该系统应用于组播组/广播组,该系统中包括服务设备1801和用户设备1802。
上述第一服务设备1801,用于获取第一令牌和第一盐值;基于第一令牌和第一盐值,以及第一加密算法和第二加密算法,生成第一加密串和第二加密串;将第二加密串确定为协商秘钥,并组播/广播第一加密串、第一盐值和第一服务设备的服务地址;其中,第一加密串是服务设备基于第一令牌、第一盐值以及第一加密算法生成的;
上述用户设备1802,用于接收第一服务设备组播/广播的第一加密串、第一盐值和服务地址,并根据第一加密串、第一盐值和服务地址间的映射关系,更新映射表;接收用户输入的第四令牌;在基于第四令牌确定映射表中第一盐值对应的第一加密串与第九加密串相同的情况下,基于第四令牌和第二加密算法,生成第十加密串;其中,第九加密串是基于第四令牌、第一盐值和第一加密算法生成的;将第十加密串确定为与映射表中第一盐值对应的服务地址通信所用的协商秘钥。
通过本申请实施例提供的系统,组播组/广播组中的服务设备和用户设备在进行秘钥协商时,服务设备分别利用两种加密算法,即第一加密算法和第二加密算法,生成两个加密串,即第一加密串和第二加密串,服务设备将第二加密串确定为协商秘钥,并组播/广播第一加密串、生成该第一加密串所采用的盐值以及该服务设备的服务地址,从而使得用户设备在基于第一加密算法对用户输入的令牌和接收到的盐值进行加密处理得到的加密串,与接收到的盐值所对应的加密串相同的情况下,基于第二加密算法和用户输入的令牌生成加密串,即生成与第一服务设备生成的第二加密串相同的加密串,将该加密串确定为与接收到的盐值所对应的服务地址进行通信所用的协商秘钥,使得用户设备和服务设备的协商秘钥得到统一。这可以使得该服务设备和多个用户设备在进行信息交互时均可以采用同一加密串作为协商秘钥,有效减少了所需维护的协商秘钥的数量,从而维护了网络运行的稳定性。
基于同一种发明构思,根据本申请实施例提供的秘钥协商方法,本申请实施例还提供了一种电子设备,该电子设备为上述第一服务设备,如图19所示,包括处理器1901和存储器1902;
存储器1902,用于存放计算机程序;
处理器1901,用于执行存储器1902上所存放的程序时,实现如下步骤:
获取第一令牌和第一盐值;
基于第一令牌和第一盐值,以及第一加密算法和第二加密算法,生成第一加密串和第二加密串;
将第二加密串确定为协商秘钥,并组播/广播第一加密串、第一盐值和第一服务设备的服务地址,以使组播组/广播组中的用户设备根据接收到的第一加密串、第一盐值和服务地址,确定第二加密串为与服务地址通信所用的协商秘钥。
基于同一种发明构思,根据本申请实施例提供的秘钥协商方法,本申请实施例还提供了一种电子设备,该电子设备为上述用户设备,如图20所示,包括处理器2001和存储器2002;
存储器2002,用于存放计算机程序;
处理器2001,用于执行存储器2002上所存放的程序时,实现如下步骤:
接收服务设备组播/广播的第一加密串、第一盐值和服务地址,并根据第一加密串、第一盐值和服务地址间的映射关系,更新映射表;其中,第一加密串是服务设备基于第一令牌、第一盐值以及第一加密算法生成的;
接收用户输入的第四令牌;
在基于第四令牌确定映射表中第一盐值对应的第一加密串与第九加密串相同的情况下,基于第四令牌和第二加密算法,生成第十加密串;其中,第九加密串是基于第四令牌、第一盐值和第一加密算法生成的;
将第十加密串确定为与映射表中第一盐值对应的服务地址通信所用的协商秘钥。
通过本申请实施例提供的电子设备,组播组/广播组中的服务设备和用户设备在进行秘钥协商时,服务设备分别利用两种加密算法,即第一加密算法和第二加密算法,生成两个加密串,即第一加密串和第二加密串,服务设备将第二加密串确定为协商秘钥,并组播/广播第一加密串、生成该第一加密串所采用的盐值以及该服务设备的服务地址,从而使得用户设备在基于第一加密算法对用户输入的令牌和接收到的盐值进行加密处理得到的加密串,与接收到的盐值所对应的加密串相同的情况下,基于第二加密算法和用户输入的令牌生成加密串,即生成与第一服务设备生成的第二加密串相同的加密串,将该加密串确定为与接收到的盐值所对应的服务地址进行通信所用的协商秘钥,使得用户设备和服务设备的协商秘钥得到统一。这可以使得该服务设备和多个用户设备在进行信息交互时均可以采用同一加密串作为协商秘钥,有效减少了所需维护的协商秘钥的数量,从而维护了网络运行的稳定性。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
基于同一种发明构思,根据本申请实施例提供的秘钥协商方法,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一秘钥协商方法的步骤。
基于同一种发明构思,根据本申请实施例提供的秘钥协商方法,本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一秘钥协商方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、系统、电子设备、计算机可读存储介质及计算机程序产品等实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
- 一种秘钥协商方法、装置、系统及电子设备
- 一种协商会话秘钥的方法及装置