一种通信方法、系统及电子设备和存储介质与流程

文档序号:17428916发布日期:2019-04-17 03:13阅读:149来源:国知局
一种通信方法、系统及电子设备和存储介质与流程

本申请涉及通信技术领域,更具体地说,涉及一种通信方法、系统及一种电子设备和一种计算机可读存储介质。



背景技术:

密钥协商是指两个或多个实体协商,共同建立会话密钥,任何一个参与者均对结果产生影响,不需要任何可信的第三方。密钥协商方法通常有两种主流方法:通过服务器的密钥协商和端到端的密钥协商。

随着互联网的发展,端到端的通信在人们的日常生活中占据了越来越重要的地位,因此对于端到端通信的安全问题也越来越受到重视,人们对端到端的加密通信的需求越来越迫切。在相关技术中的端到端通信的安全性方案存在重放攻击,中间人攻击等安全隐患。

因此,如何提高端到端通信的安全性是本领域技术人员需要解决的问题。



技术实现要素:

本申请的目的在于提供一种通信方法、系统及一种电子设备和一种计算机可读存储介质,提高了端到端通信的安全性。

为实现上述目的,本申请提供了一种通信方法,应用于第一客户端,包括:

获取所述第一客户端对应的第一注册信息中的第一身份证书和第一身份私钥,并从所述第一注册信息中的安全机制参数中选取第一安全机制参数;

将所述第一身份证书、所述第一安全机制参数、密码设备产生的第一临时公钥和第一时间参数作为第一密钥协商消息的第一部分,并利用所述第一身份私钥对所述第一部分进行签名得到所述第一密钥协商消息的第二部分;

将所述第一密钥协商消息发送至第二客户端,以便所述第二客户端产生加密主密钥并向所述第一客户端返回第二密钥协商信息;

对所述第二密钥协商信息进行验证,验证成功后根据所述第二客户端的第二临时公钥和密码设备产生的第一临时私钥得到所述加密主密钥;

利用所述加密主密钥生成语音通信会话密钥、语音加密初始化向量和语音通信认证密钥,将所述第二密钥协商信息中的第二安全机制参数确定为本次会话安全机制参数,以便所述第一客户端和所述第二客户端进行加密通信。

其中,还包括:

通过密码设备产生第一身份公钥、所述第一身份私钥和所述安全机制参数;

向服务器发送所述第一身份公钥,以便所述服务器返回签发公钥和所述第一身份证书;

将所述第一身份私钥、所述签发公钥、所述第一身份证书和所述安全机制参数作为所述第一注册信息进行存储。

其中,将所述第一身份证书、所述第一安全机制参数、密码设备产生的第一临时公钥和第一时间参数作为第一密钥协商消息的第一部分,包括:

通过密码设备产生第一临时公钥、第一临时私钥和第一随机数,并产生第一时间戳;

将所述第一时间戳、所述第一随机数、所述第一临时公钥、所述第一身份证书和从所述第一安全机制参数作为所述第一密钥协商消息的第一部分。

其中,对所述第二密钥协商信息进行验证,包括:

解析所述第二密钥协商信息得到所述第二客户端产生的第二时间戳、第二随机数、第二临时公钥和所述第二客户端的第二身份证书;

判断所述第二时间戳是否在允许的时钟偏移内;

若所述第二时间戳在允许的时钟偏移内,则判断本地存储的重放列表是否存在所述第二密钥协商信息;

若本地存储的重放列表不是否存在所述第二密钥协商信息,则利用所述签发公钥验签所述第二身份证书,验签成功后得到所述第二客户端的第二身份公钥;

利用所述第二身份公钥验签所述第二密钥协商信息的第二部分,验签成功后判定所述第二密钥协商信息验证成功。

其中,根据所述第二客户端的第二临时公钥和密码设备产生的第一临时私钥得到所述加密主密钥,包括:

将所述第二客户端的第二临时公钥和密码设备产生的第一临时私钥进行点乘运算得到所述加密主密钥。

为实现上述目的,本申请提供了一种通信方法,应用于第二客户端,包括:

当接收到第一客户端的第一密钥协商消息时,对所述第一密钥协商信息进行验证;

验证成功后获取所述第二客户端对应的第二注册信息中的第二身份证书和第二身份私钥,并从所述第二注册信息中的安全机制参数中选取第二安全机制参数;

将所述第一身份证书、所述第一安全机制参数、密码设备产生的第二临时公钥和第二时间参数作为第二密钥协商消息的第一部分,并利用密码设备产生的第二身份私钥对所述第一部分进行签名得到所述第二密钥协商消息的第二部分;

将第二密钥协商消息发送至所述第一客户端,并根据所述第一客户端的第一临时公钥和密码设备产生的第二临时私钥得到加密主密钥;

利用所述加密主密钥生成语音通信会话密钥、语音加密初始化向量和语音通信认证密钥,将所述第二安全机制参数确定为本次会话安全机制参数,以便所述第一客户端和所述第二客户端进行加密通信。

为实现上述目的,本申请提供了一种通信系统,应用于第一客户端,包括:

初始化模块,用于获取所述第一客户端对应的第一注册信息中的第一身份证书和第一身份私钥,并从所述第一注册信息中的安全机制参数中选取第一安全机制参数;

签名模块,用于将所述第一身份证书、所述第一安全机制参数、密码设备产生的第一临时公钥和第一时间参数作为第一密钥协商消息的第一部分,并利用所述第一身份私钥对所述第一部分进行签名得到所述第一密钥协商消息的第二部分;

发送模块,用于将所述第一密钥协商消息发送至第二客户端,以便所述第二客户端产生加密主密钥并向所述第一客户端返回第二密钥协商信息;

验证模块,用于对所述第二密钥协商信息进行验证,验证成功后根据所述第二客户端的第二临时公钥和密码设备产生的第一临时私钥得到所述加密主密钥;

生成模块,用于利用所述加密主密钥生成语音通信会话密钥、语音加密初始化向量和语音通信认证密钥,将所述第二密钥协商信息中的第二安全机制参数确定为本次会话安全机制参数,以便所述第一客户端和所述第二客户端进行加密通信。

为实现上述目的,本申请提供了一种通信系统,应用于第二客户端,包括:

验证模块,用于当接收到第一客户端的第一密钥协商消息时,对所述第一密钥协商信息进行验证;

初始化模块,用于验证成功后获取所述第二客户端对应的第二注册信息中的第二身份证书和第二身份私钥,并从所述第二注册信息中的安全机制参数中选取第二安全机制参数;

签名模块,用于将所述第一身份证书、所述第一安全机制参数、密码设备产生的第二临时公钥和第二时间参数作为第二密钥协商消息的第一部分,并利用密码设备产生的第二身份私钥对所述第一部分进行签名得到所述第二密钥协商消息的第二部分;

发送模块,用于将第二密钥协商消息发送至所述第一客户端,并根据所述第一客户端的第一临时公钥和密码设备产生的第二临时私钥得到加密主密钥;

生成模块,用于利用所述加密主密钥生成语音通信会话密钥、语音加密初始化向量和语音通信认证密钥,将所述第二安全机制参数确定为本次会话安全机制参数,以便所述第一客户端和所述第二客户端进行加密通信。

为实现上述目的,本申请提供了一种电子设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述通信方法的步骤。

为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述通信方法的步骤。

通过以上方案可知,本申请提供的一种通信方法,包括:获取所述第一客户端对应的第一注册信息中的第一身份证书和第一身份私钥,并从所述第一注册信息中的安全机制参数中选取第一安全机制参数;将所述第一身份证书、所述第一安全机制参数、密码设备产生的第一临时公钥和第一时间参数作为第一密钥协商消息的第一部分,并利用所述第一身份私钥对所述第一部分进行签名得到所述第一密钥协商消息的第二部分;将所述第一密钥协商消息发送至第二客户端,以便所述第二客户端产生加密主密钥并向所述第一客户端返回第二密钥协商信息;对所述第二密钥协商信息进行验证,验证成功后根据所述第二客户端的第二临时公钥和密码设备产生的第一临时私钥得到所述加密主密钥;利用所述加密主密钥生成语音通信会话密钥、语音加密初始化向量和语音通信认证密钥,将所述第二密钥协商信息中的第二安全机制参数确定为本次会话安全机制参数,以便所述第一客户端和所述第二客户端进行加密通信。

本申请提供的通信方法,在密钥交换协议中加入时间参数,可以防止攻击者截获正确的报文进行重放攻击。在密钥交换协议中加入数字签名和公钥证书来完成对对方身份的认证,避免中间人攻击,以保障密钥协商的安全性,且在密钥协商过程中不需要安全基础设施参与,代价较低。本申请还公开了一种通信系统及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1为根据一示例性实施例示出的一种通信方法的流程图;

图2为图1中对密钥协商信息的验证过程的细化流程图;

图3为根据一示例性实施例示出的另一种通信方法的流程图;

图4为根据一示例性实施例示出的一种通信系统的结构图;

图5为根据一示例性实施例示出的另一种通信系统的结构图;

图6为根据一示例性实施例示出的一种电子设备的结构图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例公开了一种通信方法,提高了端到端通信的安全性。

参见图1,根据一示例性实施例示出的一种通信方法的流程图,如图1所示,包括:

s101:获取所述第一客户端对应的第一注册信息中的第一身份证书和第一身份私钥,并从所述第一注册信息中的安全机制参数中选取第一安全机制参数;

本实施例的执行主体为第一客户端,即密钥协商请求的发送方。可以理解的是,本步骤默认服务器中存在第一客户端的第一注册信息,该第一注册信息生成的过程可以包括:通过密码设备产生第一身份公钥、第一身份私钥和安全机制参数;向服务器发送第一身份公钥,以便服务器返回签发公钥和第一身份证书;将第一身份私钥、签发公钥、第一身份证书和安全机制参数作为第一注册信息进行存储。

客户端注册时,客户端的密码设备初始化产生密码设备的安全机制参数sp,和客户端身份公私钥对t_pk/t_sk。该安全机制参数可以包括密码算法、初始向量、数据格式、工作模式等,在此不作具体限定。将客户端身份公钥t_pk上传到服务器,服务器向客户端密码设备注入服务器证书签发公钥c_pk和根据客户端身份公钥产生的证书cert,即客户端密码设备中存储密码设备的安全机制参数sp、客户端身份私钥t_sk、服务器证书签发公钥c_pk和客户端身份证书cert。

s102:将所述第一身份证书、所述第一安全机制参数、密码设备产生的第一临时公钥和第一时间参数作为第一密钥协商消息的第一部分,并利用所述第一身份私钥对所述第一部分进行签名得到所述第一密钥协商消息的第二部分;

本步骤的时间参数可以包括在第一客户端发起密钥协商请求时产生的时间戳和密码设备产生的第一随机数,随机数可用于后续步骤生成加密通信中使用的各语言参数。即本步骤生成第一密钥协商消息的第一部分的步骤可以包括:通过密码设备产生第一临时公钥、第一临时私钥和第一随机数,并产生第一时间戳;将所述第一时间戳、所述第一随机数、所述第一临时公钥、所述第一身份证书和从所述第一安全机制参数作为所述第一密钥协商消息的第一部分。

在具体实施中,第一客户端首先向其对应的密码设备发起密钥协商请求,该密码设备产生临时公私钥对t_pk1’/t_sk1’和随机数rand1,同时该第一客户端产生时间戳t1。将时间戳t1、密码设备产生的随机数rand1和临时公钥t_pk1’以及存储在密码设备中的客户端身份证书cert1和从安全机制参数中选取的第一安全机制参数sp1组成密钥协商消息message1第一部分part1,同时使用密码设备中存储的客户端身份私钥t_sk1对part1签名,得到密钥协商消息message1第二部分part2,将part1和part2连接组成密钥协商消息message1。本步骤中的第一密钥协商消息message1的第一部分part1=(t1||rand1||t_pk1’||cert1||sp1),第二部分part2=dpsm2(t_sk1,part1),密钥协商消息message1=(part1||part2)。

s103:将所述第一密钥协商消息发送至第二客户端,以便所述第二客户端产生加密主密钥并向所述第一客户端返回第二密钥协商信息;

在具体实施中,第一客户端将组合成的第一密钥协商消息发送至第二客户端,即密钥协商请求的接收方。该第二客户端产生加密主密钥并向第一客户端返回第二密钥协商信息。第二客户端的操作流程将在后续实施例进行详细介绍。

s104:对所述第二密钥协商信息进行验证,验证成功后根据所述第二客户端的第二临时公钥和密码设备产生的第一临时私钥得到所述加密主密钥;

第一客户端收到第二客户端接收方的密钥协商消息message2后,对消息message2进行验证,若验证成功,则得到rand2和第二客户端的临时公钥t_pk2’,第一客户端利用第一客户端的临时私钥t_sk1’和第二客户端的临时公钥t_pk2’得到通信加密主密钥t_mk=hsm3(t_pk2’,t_sk1’)。否则验证失败,客户端发送方停止密钥协商。

作为一种优选实施方式,根据所述第二客户端的第二临时公钥和密码设备产生的第一临时私钥得到所述加密主密钥可以包括:将所述第二客户端的第二临时公钥和密码设备产生的第一临时私钥进行点乘运算得到所述加密主密钥。

在具体实施中,利用第二临时公钥和第一临时私钥进行点乘运算得到加密主密钥,实现了密钥协商的前向安全。

s105:利用所述加密主密钥生成语音通信会话密钥、语音加密初始化向量和语音通信认证密钥,将所述第二密钥协商信息中的第二安全机制参数确定为本次会话安全机制参数,以便所述第一客户端和所述第二客户端进行加密通信。

在具体实施中,客户端得到通信加密主密钥t_mk后,可以通过主密钥t_mk、第一客户端产生的rand1和第二客户端产生的rand2来产生客户端语音通信会话密钥t_ks、语音加密初始化向量iv和语音通信认证密钥t_as,并将第二客户端返回的第二密钥协商信息中的第二安全机制参数确定为本次会话安全机制参数。客户端双方采用语音通信会话密钥t_ks、语音加密初始化向量iv、语音通信认证密钥t_as和本次会话安全机制参数对会话消息进行加密传输。

本申请实施例提供的通信方法,在密钥交换协议中加入时间参数,可以防止攻击者截获正确的报文进行重放攻击。在密钥交换协议中加入数字签名和公钥证书来完成对对方身份的认证,避免中间人攻击,以保障密钥协商的安全性,且在密钥协商过程中不需要安全基础设施参与,代价较低。

下面详细介绍第一客户端对密钥协商信息的验证过程,即如图2所示,上述实施例中对第二密钥协商信息进行验证可以包括:

s41:解析所述第二密钥协商信息得到所述第二客户端产生的第二时间戳、第二随机数、第二临时公钥和所述第二客户端的第二身份证书;

在本步骤中,第一客户端接收第二客户端接收方的密钥协商消息message2,首先解析为密钥协商的两个部分part1’和part2’;再将密钥协商第一部分part1’解析,得到时间戳t2、随机数rand2和临时公钥t_pk2’以及身份证书cert2和第二客户端选取的第二安全机制参数sp2。

s42:判断所述第二时间戳是否在允许的时钟偏移内;若是,则进入s43;若否,则停止密钥协商;

在本步骤中,第一客户端判断第二客户端的时间戳t2是否在允许的时钟偏移内,若是,则执行步骤s43,若否,则密钥协商失败,停止密钥协商,不再执行后续步骤。本实施例不对具体的时钟偏移进行具体限定,本领域技术人员可以根据实际情况进行灵活设置。

s43:判断本地存储的重放列表是否存在所述第二密钥协商信息;若是,则停止密钥协商;若否,则进入s44;

在本步骤中,第一客户端方检查重放列表,若重放列表中不包含客户端接收方的密钥协商消息message2,则执行步骤s44,否则密钥协商失败,停止密钥协商,不再执行后续步骤.

s44:利用所述签发公钥验签所述第二身份证书,验签成功后得到所述第二客户端的第二身份公钥;

在具体实施中,第一客户端向其对应的密码设备发送验证请求,该密码设备发送存储在密码设备中的服务器证书签发公钥c_pk给第一客户端,第一客户端利用服务器证书签发公钥c_pk验证身份证书cert2,若验签成功,则得到接收方公钥t_pk2,执行步骤s45,否则验签失败,密钥协商失败,停止密钥协商,不再执行后续步骤.

s45:利用所述第二身份公钥验签所述第二密钥协商信息的第二部分,验签成功后判定所述第二密钥协商信息验证成功。

在具体实施中,第一客户端利用第二客户端的公钥t_pk2验证密钥协商消息message2的第二部分part2,若验签成功,则判定所述第二密钥协商信息验证成功,本次会话将使用sp2所选用的安全参数。否则验签失败,密钥协商失败,停止密钥协商,不再执行后续步骤。

下面接收第二客户端的操作流程,具体的:

参见图3,根据一示例性实施例示出的另一种通信方法的流程图,如图3所示,包括:

s201:当接收到第一客户端的第一密钥协商消息时,对所述第一密钥协商信息进行验证;

本实施例的执行主体为第二客户端,即密钥协商请求的接收方。第二客户端收到第一客户端发送方的密钥协商消息message1后,对消息message1进行验证,若验证成功,则得到rand1和客户端发送方的临时公钥t_pk1’,否则验证失败将验证错误原因发送给第一客户端,停止密钥协商。

第二客户端对第一密钥协商信息进行验证的过程可以包括:解析所述第一密钥协商信息得到所述第一客户端产生的第一时间戳、第一随机数、第一临时公钥和所述第一客户端的第一身份证书;判断所述第一时间戳是否在允许的时钟偏移内;若所述第一时间戳在允许的时钟偏移内,则判断本地存储的重放列表是否存在所述第一密钥协商信息;若本地存储的重放列表不是否存在所述第一密钥协商信息,则利用所述签发公钥验签所述第一身份证书,验签成功后得到所述第一客户端的第一身份公钥;利用所述第一身份公钥验签所述第一密钥协商信息的第一部分,验签成功后判定所述第一密钥协商信息验证成功。

第二客户端对第一密钥协商信息的验证过程与上述实施例介绍的第一客户端对第二密钥协商信息的验证过程类似,在此不再赘述。需要说明的是,在解析过程中得到第一客户端选取的第一安全机制参数sp1,在验证成功后,第二客户端需要从安全机制参数sp中选取与sp1匹配的第二安全机制参数sp2。

s202:验证成功后获取所述第二客户端对应的第二注册信息中的第二身份证书和第二身份私钥,并从所述第二注册信息中的安全机制参数中选取第二安全机制参数;

第二客户端向其对应的密码设备发起密钥协商请求,该密码设备产生临时公私钥对t_pk2’/t_sk2’和随机数rand2,同时该第二客户端产生时间戳t2。

s203:将所述第一身份证书、所述第一安全机制参数、密码设备产生的第二临时公钥和第二时间参数作为第二密钥协商消息的第一部分,并利用密码设备产生的第二身份私钥对所述第一部分进行签名得到所述第二密钥协商消息的第二部分;

在具体实施中,将时间戳t2、密码设备产生的随机数rand2和临时公钥t_pk2’以及存储在密码设备中的客户端身份证书cert2和从安全机制参数中选取的与sp1匹配的第二安全机制参数sp2组成密钥协商消息message2第一部分part1’,同时使用客户端密码设备中存储的客户端身份私钥t_sk2对part1’签名,得到密钥协商消息message2第二部分part2’,将part1’和part2’连接组成密钥协商消息message2。本步骤中的第二密钥协商消息message2的第一部分part1’=(t2||rand2||t_pk2’||cert2||sp2),第二部分part2’=dpsm2(t_sk2,part1’),密钥协商消息message2=(part1’||part2’)。

可以理解的是,本步骤默认服务器中存在第二客户端的第二注册信息,与第一客户端的注册过程类似,该第二注册信息生成的过程可以包括:通过密码设备产生第二身份公钥、第二身份私钥和安全机制参数;向服务器发送第二身份公钥,以便服务器返回签发公钥和第二身份证书;将第二身份私钥、签发公钥、第二身份证书和安全机制参数作为第二注册信息进行存储。

s204:将第二密钥协商消息发送至所述第一客户端,并根据所述第一客户端的第一临时公钥和密码设备产生的第二临时私钥得到加密主密钥;

在具体实施中,第二客户端将组合成的第二密钥协商消息发送至第一客户端。同时,第二客户端可以利用第一客户端的临时公钥t_pk1’和第二客户端的临时私钥t_sk2’进行点乘运算,得到通信加密主密钥t_mk=hsm3(t_pk1’,t_sk2’),可以理解的是,第一客户端与第二客户端得到的通信加密主密钥相同。

s205:利用所述加密主密钥生成语音通信会话密钥、语音加密初始化向量和语音通信认证密钥,将所述第二安全机制参数确定为本次会话安全机制参数,以便所述第一客户端和所述第二客户端进行加密通信。

客户端得到通信加密主密钥t_mk后,可以通过主密钥t_mk、第一客户端产生的rand1和第二客户端产生的rand2来产生客户端语音通信会话密钥t_ks、语音加密初始化向量iv和语音通信认证密钥t_as,将第二安全机制参数确定为本次会话安全机制参数。客户端双方采用语音通信会话密钥t_ks、语音加密初始化向量iv、语音通信认证密钥t_as和本次会话安全机制参数对会话消息进行加密传输。

本申请实施例提供的通信方法,在密钥交换协议中加入时间参数,可以防止攻击者截获正确的报文进行重放攻击。在密钥交换协议中加入数字签名和公钥证书来完成对对方身份的认证,避免中间人攻击,以保障密钥协商的安全性,且在密钥协商过程中不需要安全基础设施参与,代价较低。

下面对本申请实施例提供的一种通信系统进行介绍,下文描述的一种通信系统与上文描述的一种通信方法可以相互参照。

参见图4,根据一示例性实施例示出的一种通信系统的结构图,该通信系统应用与上述实施例的第一客户端,如图4所示,包括:

初始化模块401,用于获取所述第一客户端对应的第一注册信息中的第一身份证书和第一身份私钥,并从所述第一注册信息中的安全机制参数中选取第一安全机制参数;

签名模块402,用于将所述第一身份证书、所述第一安全机制参数、密码设备产生的第一临时公钥和第一时间参数作为第一密钥协商消息的第一部分,并利用所述第一身份私钥对所述第一部分进行签名得到所述第一密钥协商消息的第二部分;

发送模块403,用于将所述第一密钥协商消息发送至第二客户端,以便所述第二客户端产生加密主密钥并向所述第一客户端返回第二密钥协商信息;

验证模块404,用于对所述第二密钥协商信息进行验证,验证成功后根据所述第二客户端的第二临时公钥和密码设备产生的第一临时私钥得到所述加密主密钥;

生成模块405,用于利用所述加密主密钥生成语音通信会话密钥、语音加密初始化向量和语音通信认证密钥,将所述第二密钥协商信息中的第二安全机制参数确定为本次会话安全机制参数,以便所述第一客户端和所述第二客户端进行加密通信。

本申请实施例提供的通信系统,在密钥交换协议中加入时间参数,可以防止攻击者截获正确的报文进行重放攻击。在密钥交换协议中加入数字签名和公钥证书来完成对对方身份的认证,避免中间人攻击,以保障密钥协商的安全性,且在密钥协商过程中不需要安全基础设施参与,代价较低。

在上述实施例的基础上,作为一种优选实施方式,所述签名模块402包括:

产生单元,用于通过密码设备产生第一临时公钥、第一临时私钥和第一随机数,并产生第一时间戳;

确定单元,用于将所述第一时间戳、所述第一随机数、所述第一临时公钥、所述第一身份证书和从所述第一安全机制参数作为所述第一密钥协商消息的第一部分;

签名单元,用于利用所述第一身份私钥对所述第一部分进行签名得到所述第一密钥协商消息的第二部分。

在上述实施例的基础上,作为一种优选实施方式,还包括:

产生模块,用于通过密码设备产生第一身份公钥、所述第一身份私钥和所述安全机制参数;

签发模块,用于向服务器发送所述第一身份公钥,以便所述服务器返回签发公钥和所述第一身份证书;

存储模块,用于将所述第一身份私钥、所述签发公钥、所述第一身份证书和所述安全机制参数作为所述第一注册信息进行存储。

在上述实施例的基础上,作为一种优选实施方式,所述验证模块404包括:

解析单元,用于解析所述第二密钥协商信息得到所述第二客户端产生的第二时间戳、第二随机数、第二临时公钥和所述第二客户端的第二身份证书;

第一验证单元,用于判断所述第二时间戳是否在允许的时钟偏移内;若是,则启动第二验证单元的工作流程;

第二验证单元,用于判断本地存储的重放列表是否存在所述第二密钥协商信息;若否,则启动第三验证单元的工作流程;

第三验证单元,用于利用所述签发公钥验签所述第二身份证书,验签成功后得到所述第二客户端的第二身份公钥;

第四验证单元,用于利用所述第二身份公钥验签所述第二密钥协商信息的第二部分,验签成功后启动点乘单元的工作流程;

确定单元,用于验证成功后根据所述第二客户端的第二临时公钥和密码设备产生的第一临时私钥得到所述加密主密钥;

参见图5,根据一示例性实施例示出的另一种通信系统的结构图,该通信系统应用与上述实施例的第二客户端,如图5所示,包括:

验证模块501,用于当接收到第一客户端的第一密钥协商消息时,对所述第一密钥协商信息进行验证;

初始化模块502,用于验证成功后获取所述第二客户端对应的第二注册信息中的第二身份证书和第二身份私钥,并从所述第二注册信息中的安全机制参数中选取第二安全机制参数;

签名模块503,用于将所述第一身份证书、所述第一安全机制参数、密码设备产生的第二临时公钥和第二时间参数作为第二密钥协商消息的第一部分,并利用密码设备产生的第二身份私钥对所述第一部分进行签名得到所述第二密钥协商消息的第二部分;

发送模块504,用于将第二密钥协商消息发送至所述第一客户端,并根据所述第一客户端的第一临时公钥和密码设备产生的第二临时私钥得到加密主密钥;

生成模块505,用于利用所述加密主密钥生成语音通信会话密钥、语音加密初始化向量和语音通信认证密钥,将所述第二安全机制参数确定为本次会话安全机制参数,以便所述第一客户端和所述第二客户端进行加密通信。

本申请实施例提供的通信系统,在密钥交换协议中加入时间参数,可以防止攻击者截获正确的报文进行重放攻击。在密钥交换协议中加入数字签名和公钥证书来完成对对方身份的认证,避免中间人攻击,以保障密钥协商的安全性,且在密钥协商过程中不需要安全基础设施参与,代价较低。

关于上述实施例中的系统,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本申请还提供了一种电子设备,参见图6,本申请实施例提供的一种电子设备600的结构图,如图6所示,可以包括处理器11和存储器12。该电子设备600还可以包括多媒体组件13,输入/输出(i/o)接口14,以及通信组件15中的一者或多者。

其中,处理器11用于控制该电子设备600的整体操作,以完成上述的通信方法中的全部或部分步骤。存储器12用于存储各种类型的数据以支持在该电子设备600的操作,这些数据例如可以包括用于在该电子设备600上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器12可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,简称eprom),可编程只读存储器(programmableread-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件13可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器12或通过通信组件15发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口14为处理器11和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件15用于该电子设备600与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(nearfieldcommunication,简称nfc),2g、3g或4g,或它们中的一种或几种的组合,因此相应的该通信组件15可以包括:wi-fi模块,蓝牙模块,nfc模块。

在一示例性实施例中,电子设备600可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器(digitalsignalprocessor,简称dsp)、数字信号处理设备(digitalsignalprocessingdevice,简称dspd)、可编程逻辑器件(programmablelogicdevice,简称pld)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的通信方法。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述通信方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器12,上述程序指令可由电子设备600的处理器11执行以完成上述的通信方法。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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