一种双向认证方法及通信系统与流程

文档序号:12493935阅读:281来源:国知局
一种双向认证方法及通信系统与流程

本申请涉及通信技术领域,更具体地说,涉及一种双向认证方法及通信系统。



背景技术:

随着通信技术的不断发展,终端和处理中心之间的通信安全问题愈发受到普遍关注,如何在终端和处理中心之间建立一个安全的通信通道,以防止数据传输过程中数据的窃取侦听和篡改。因此在终端和处理中心之间进行通信之前,终端对处理中心或处理中心对终端的合法性验证是保障通信链路安全的重要手段。

现有技术中存在一种实现终端和处理中心之间的双向认证过程的规范,参考《中国金融集成电路(IC)卡规范》中定义的IC卡(终端)和处理中心之间的双向认证过程。

但是由于现有技术中终端向处理中心发送的验证信息分散为较为独立的模块,存在被第三方更改终端向处理中心发送的验证信息中的某一模块的内容从而达到伪造终端的风险。



技术实现要素:

为解决上述技术问题,本发明提供了一种双向认证方法,以实现将终端向处理中心发送的验证信息整合为一个整体,从而降低被第三方伪造终端的风险的目的。

为实现上述技术目的,本发明实施例提供了如下技术方案:

一种双向认证方法,应用于由终端和处理中心构成的通信系统,所述双向认证方法包括:

所述终端设置第一算法标识并产生第一随机数,将所述第一算法标识和第一随机数发送给所述处理中心;

所述处理中心判断是否支持第一算法标识,如果是,则产生第二随机数,并向所述终端发送渠道证书和所述第二随机数;

所述终端对所述渠道证书进行验证,在所述渠道证书验证通过后,生成共享主密钥,并利用所述渠道证书加密所述共享主密钥获得加密密钥;

所述终端利用所述终端私钥对所述第一随机数、第二随机数和所述共享主密钥进行处理,获得签名值,并将所述签名值、加密密钥及终端证书发送给所述处理中心;

所述处理中心验证所述终端证书,在所述终端证书验证通过后,利用处理中心私钥解密加密密钥获得共享主密钥,并利用所述终端证书中的公钥信息验证所述签名值,并在所述签名值通过验证后,根据所述第一算法标识生成处理中心握手完成消息发送给所述终端;

所述终端验证所述处理中心握手完成消息,并在所述处理中心握手完成消息通过验证后,生成终端握手完成消息发送给所述处理中心;

所述处理中心验证所述终端握手完成消息,并在所述终端握手完成消息通过验证后,完成双向认证过程。

可选的,所述终端利用所述终端私钥对所述第一随机数、第二随机数和所述共享主密钥进行处理,获得签名值包括:

所述终端利用所述第一随机数、第二随机数和所述共享主密钥连接后得到连接值,并对所述连接值进行摘要运算获得加密连接值;

利用所述终端私钥对所述加密连接值进行签名获得签名值。

可选的,所述根据所述第一算法标识生成处理中心握手完成消息包括:

将所述第一算法标识作为加密算法,将所述共享主密钥作为密钥,对所述第一随机数和第二随机数的和进行加密,获得处理中心握手完成消息。

可选的,所述共享主密钥为预设大小的随机数。

可选的,所述预设大小为48字节或56字节。

可选的,所述终端对所述渠道证书进行验证包括:

所述终端利用终端中预制的CA根证书对所述渠道证书进行验证。

可选的,所述处理中心验证所述终端证书包括:

所述处理中心利用CA根证书对所述终端证书进行验证。

一种通信系统,包括终端和处理中心,所述终端与所述处理中心采用上述任一项所述的双向认证方法进行双向认证。

从上述技术方案可以看出,本发明实施例提供了一种双向认证方法及通信系统,其中,在所述双向认证方法中,所述终端利用所述终端私钥对所述第一随机数、第二随机数和所述共享主密钥进行处理获得所述签名值,以实现对所述终端发送给所述处理中心的整个验证信息的签名,签名值不再仅仅包含所述第一随机数和第二随机数的信息,从而避免了对所述签名值中某些信息的替换,以实现伪造终端的可能,在防止验证信息被篡改的同时,也强化了处理中心对所述终端的验证,进而降低了被第三方伪造终端的风险。

附图说明

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

图1为本申请的一个实施例提供的一种双向认证方法的流程示意图;

图2为本申请的另一个实施例提供的一种双向认证方法的流程示意图;

图3为本申请的又一个实施例提供的一种双向认证方法的流程示意图;

图4为本申请的再一个实施例提供的一种双向认证方法的流程示意图;

图5为本申请的一个优选实施例提供的一种双向认证方法的流程示意图。

具体实施方式

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

本申请实施例提供了一种双向认证方法,如图1所示,应用于由终端和处理中心构成的通信系统,所述双向认证方法包括:

所述终端设置第一算法标识A1并产生第一随机数r1,将所述第一算法标识A1和第一随机数r1发送给所述处理中心;

所述处理中心判断是否支持第一算法标识A1,如果是,则产生第二随机数r2,并向所述终端发送渠道证书和所述第二随机数r2;

所述终端对所述渠道证书进行验证,在所述渠道证书验证通过后,生成共享主密钥M,并利用所述渠道证书加密所述共享主密钥M获得加密密钥E;

所述终端利用所述终端私钥对所述第一随机数r1、第二随机数r2和所述共享主密钥M进行处理,获得签名值S,并将所述签名值S、加密密钥E及终端证书发送给所述处理中心;

所述处理中心验证所述终端证书,在所述终端证书验证通过后,利用处理中心私钥解密加密密钥E获得共享主密钥M,并利用所述终端证书中的公钥信息验证所述签名值S,并在所述签名值S通过验证后,根据所述第一算法标识A1生成处理中心握手完成消息E2发送给所述终端;

所述终端验证所述处理中心握手完成消息E2,并在所述处理中心握手完成消息E2通过验证后,生成终端握手完成消息E1发送给所述处理中心;

所述处理中心验证所述终端握手完成消息E1,并在所述终端握手完成消息E1通过验证后,完成双向认证过程。

需要说明的是,在实际应用过程中,当任一验证过程不通过时,都会结束本次双向认证过程;在本申请的其他实施例中,当任一验证过程不通过时,会发送出错消息,并结束链接,以结束本次双向认证过程。

还需要说明的是,在所述双向认证方法中,所述终端利用所述终端私钥对所述第一随机数r1、第二随机数r2和所述共享主密钥M进行处理获得所述签名值S,以实现对所述终端发送给所述处理中心的整个验证信息的签名,签名值S不再仅仅包含所述第一随机数r1和第二随机数r2的信息,从而避免了对所述签名值S中某些信息的替换,以实现伪造终端的可能,在防止验证信息被篡改的同时,也强化了处理中心对所述终端的验证,进而降低了被第三方伪造终端的风险。

在上述实施例的基础上,在本申请的一个实施例中,如图2所示,所述终端利用所述终端私钥对所述第一随机数r1、第二随机数r2和所述共享主密钥M进行处理,获得签名值S包括:

所述终端利用所述第一随机数r1、第二随机数r2和所述共享主密钥M连接后得到连接值R,并对所述连接值R进行摘要运算获得加密连接值H;

利用所述终端私钥对所述加密连接值H进行签名获得签名值S。

在上述实施例的基础上,在本申请的另一个实施例中,如图3所示,所述根据所述第一算法标识A1生成处理中心握手完成消息E2包括:

将所述第一算法标识A1作为加密算法,将所述共享主密钥M作为密钥,对所述第一随机数r1和第二随机数r2的和进行加密,获得处理中心握手完成消息E2。

在上述实施例的基础上,在本申请的又一个实施例中,所述共享主密钥M为预设大小的随机数。

需要说明的是,所述共享主密钥M为预设大小的随机数,所述预设大小的具体取值根据加密链路的加密算法确定,在本实施例中,所述预设大小为48字节。当加密算法为三重数据加密算法(Triple Data Encryption Algorithm,TDEA)块密码时,所述预设大小为56字节。本申请对所述预设大小的具体取值并不做限定,具体视实际情况而定。

在上述实施例的基础上,在本申请的一个优选实施例中,如图4所示,所述终端对所述渠道证书进行验证包括:

所述终端利用终端中预制的CA根证书对所述渠道证书进行验证。

在本申请的另一个优选实施例中,如图5所示,所述处理中心验证所述终端证书包括:

所述处理中心利用CA根证书对所述终端证书进行验证。

需要说明的是,CA根证书是由CA中心签发并管理的,需要从CA中心服务器中下载,主要用于在交易过程中验证终端证书和渠道证书的合法性;

所述终端证书应用终端所属机构向CA中心申请,并由CA中心签发。该证书是用于标识终端合法身份的唯一公钥证书。

所述终端公钥和终端私钥是终端下载终端证书过程中由终端产生的。终端产生的公钥用于提交CA中心参与制作终端证书,终端私钥应保存在终端的安全模块中。

所述渠道证书用来验证处理中心的真伪,以防止处理中心被假冒,并在于终端进行安全通信时证明处理中心的身份。渠道证书预置在处理中心的服务器中,其发放流程与终端证书相同。

在上述实施例的基础上,在本申请的一个具体实施例中,所述双向认证方法包括:

终端获取第一算法标识A1,并产生第一随机数r1;

终端将第一随机数r1和第一算法标识A1发送给处理中心,启动握手协议;

处理中心选择第二算法标识A2,产生第二随机数r2。根据从终端发来的第一算法标识A1,检查处理中心是否支持,如果支持,则设置处理中心对应的加解密算法,如果不支持则返回错误信息,断开连接;

处理中心向终端发送第二随机数r2和处理中心的渠道证书;

终端使用终端中预制的CA根证书验证接收到的处理中心的渠道证书,如果验证不通过,则发送出错消息,结束链接;如果验证通过,则产生48字节随机数作为共享主密钥M,并且使用处理中心的渠道证书中的公钥加密共享主密钥M得到加密密钥E;

r1、r2和M连接后连接值R,终端先对R进行摘要运算获得加密连接值H,然后使用终端私钥对H进行签名运算获得签名值S;

终端向处理中心发送E、S及终端证书;

处理中心使用CA根证书验证终端证书合法性,若终端证书验证不通过,则发送错误消息,结束连接;如果终端证书验证通过,则使用终端证书验证S,若S验证不通过,则发送错误消息,结束链接,否则,从E中解密得到共享主密钥M,采用第一算法标识A1标识的算法,密钥采用M,加密(r1+r2)得到处理中心握手完成消息E2并向终端发送;

终端验证接收到的E2,若验证不成功,则发送错误消息,结束链接,否则,向处理中心发送终端握手完成消息E1;

处理中心对终端握手完成消息E1进行验证,验证失败,则发送错误消息,结束链接,如果验证成功,则双向认证过程完成。

相应的,本申请实施例还提供了一种通信系统,包括终端和处理中心,并且所述终端与所述处理中心采用权利要求1-7任一项所述的双向认证方法进行双向认证。

综上所述,本申请实施例提供了一种双向认证方法及通信系统,其中,在所述双向认证方法中,所述终端利用所述终端私钥对所述第一随机数r1、第二随机数r2和所述共享主密钥M进行处理获得所述签名值S,以实现对所述终端发送给所述处理中心的整个验证信息的签名,签名值S不再仅仅包含所述第一随机数r1和第二随机数r2的信息,从而避免了对所述签名值S中某些信息的替换,以实现伪造终端的可能,在防止验证信息被篡改的同时,也强化了处理中心对所述终端的验证,进而降低了被第三方伪造终端的风险。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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