用于软件密码模块的安全通道建立方法及系统与流程

专利2022-05-09  97


本发明属于信息安全技术领域,具体涉及一种用于软件密码模块的安全通道建立方法及系统。



背景技术:

移动信息化办公在为政企行业客户移动办公、移动执法等业务带来便利的同时,也给政企行业数据和信息安全带来安全隐患。政企行业用户在享受移动信息化服务带来便捷、高效工作体验的同时,也需要承担办公信息被窃取、篡改、抵赖、冒充等安全威胁带来的安全风险。因此保证信息的保密性、不可否认性、完整性以及可认证性,成为移动信息化服务首要解决的问题。

同时由于移动终端设备类型繁多、物理接口类型不尽相同,集成物理硬件密码模块存在一定困难。因此政企行业客户对密码模块产品的兼容性、可移植性具有很高的诉求和要求。针对以上问题,目前市面上开发了相关的软件密码模块来代替硬件密码模块,基于国密算法体系和硬件虚拟化技术,构建完整的密码算法安全运算环境、安全密钥管理容器及真随机数生成模块,以软件sdk的形式对外提供服务接口,为上层业务应用系统提供数据加/解密及数字签名/验签等密码服务。

通常在移动终端内安装有软件密码模块的应用客户端,服务端集成有密码设备(密码卡),以客户端sdk为主体,在服务端的配合辅助下向用户提供密码服务,因此在客户端和服务端之间建立安全通道,保证通信信息的安全传输尤为重要。

因此如何设计一种用于软件密码模块的安全通道建立方法,能够保证客户端和服务端之间的信息安全传输是目前急需解决的问题。



技术实现要素:

为了解决现有技术中存在的问题,本发明提出了一种用于软件密码模块的安全通道建立方法及系统,能够在客户端和服务端之间建立安全通道,实现通信信息的安全传输。

为解决上述技术问题,本发明采用以下的技术方案:

本发明提供了一种用于软件密码模块的安全通道建立方法,所述安全通道建立在客户端与服务端之间,所述服务端集成有密码设备;所述安全通道建立方法包含以下步骤:

在客户端进行初始化后,客户端对输入的用户pin码进行摘要计算和加密后获得pin码摘要密文,并发送至服务端;

服务端通过密码设备对pin码摘要密文进行解密验证,并将密码设备生成的第一随机数进行摘要计算和加密后获得第一随机数摘要值和第一随机数摘要值密文,再将第一随机数摘要值、第一随机数摘要值密文和服务端的数字证书发送至客户端进行验证;

客户端通过服务端的数字证书公钥对生成的第二随机数进行加密后获得第二随机数密文,并发送至服务端;

服务端通过密码设备对第二随机数密文进行解密后,并对认证信息进行加密后获得认证信息密文,再将认证信息密文发送至客户端进行解密验证,建立客户端与服务端之间的安全通道。

进一步地,所述在客户端进行初始化后,客户端对输入的用户pin码进行摘要计算和加密后获得pin码摘要密文,并发送至服务端包括:

客户端获取相应所属终端设备的唯一标识id,向服务端进行设备信息注册;

注册成功后,客户端向服务端发送初始化请求,服务端通过密码设备分别生成包括随机数种子文件、白盒密钥文件、pin码摘要值的初始化数据,并返回至客户端完成初始化;

客户端将pin码摘要值的部分字节作为第一密钥,对pin码摘要值进行加密后获得pin码摘要密文,并发送至服务端。

进一步地,所述客户端除了将pin码摘要密文发送至服务端,还包括:

客户端获取相应所属终端设备的唯一标识id,并发送至服务端进行身份判别;

服务端根据唯一标识id进行客户端用户身份的判别,并依据用户身份判断是否与客户端建立连接,以及判别允许连接的客户端数量是否达到最大连接数量。

进一步地,所述服务端通过密码设备对pin码摘要密文进行解密验证,并将密码设备生成的第一随机数进行摘要计算和加密后获得第一随机数摘要值和第一随机数摘要值密文,再将第一随机数摘要值、第一随机数摘要值密文和服务端的数字证书发送至客户端进行验证包括:

服务端通过密码设备获取预置的pin码摘要值,对其取同样的部分字节作为第二密钥,对接收到的pin码摘要密文进行解密获得pin码摘要值明文,并与密码设备预置的pin码摘要值进行比对验证;

验证通过后,通过密码设备生成第一随机数,并使用摘要算法对第一随机数进行摘要计算获得第一随机数摘要值,再通过第二密钥对第一随机数摘要值进行加密获得第一随机数摘要值密文;

服务端将通过密码设备获取的服务端数字证书和第一随机数摘要值、第一随机数摘要值密文一起发送至客户端;

客户端通过第一密钥对第一随机数摘要值密文进行解密获得第一随机数摘要值,并与接收到的第一随机数摘要值进行比对验证,验证通过后,再通过预置的根证书对服务端的数字证书进行验证,若验证通过,则服务端的数字证书合法并进行保存,否则服务端的数字证书不合法,不进行安全通道的建立。

进一步地,所述服务端通过密码设备对第二随机数密文进行解密后,并对认证信息进行加密后获得认证信息密文,再将认证信息密文发送至客户端进行解密验证,建立客户端与服务端之间的安全通道包括:

服务端通过密码设备使用服务端的私钥对第二随机数密文进行解密获得第二随机数;

服务端通过密码设备使用第二随机数对认证信息进行加密后获得认证信息密文,并发送至客户端;

客户端通过使用第二随机数对认证信息密文进行解密后获得认证信息明文,并与预置的认证信息进行比对验证,若验证通过,则客户端和服务端之间的安全通道建立成功,后续通信数据使用第二随机数作为密钥进行加解密传输。

本发明还提供了一种用于软件密码模块的安全通道建立系统,所述安全通道建立系统包括客户端和服务端,所述服务端集成有密码设备;

客户端,用于在进行初始化后,对输入的用户pin码进行摘要计算和加密后获得pin码摘要密文,并发送至服务端;

服务端,用于通过密码设备对pin码摘要密文进行解密验证,并将密码设备生成的第一随机数进行摘要计算和加密后获得第一随机数摘要值和第一随机数摘要值密文,再将第一随机数摘要值、第一随机数摘要值密文和服务端的数字证书发送至客户端进行验证;

客户端,还用于通过服务端的数字证书公钥对生成的第二随机数进行加密后获得第二随机数密文,并发送至服务端;

服务端,还用于通过密码设备对第二随机数密文进行解密后,并对认证信息进行加密后获得认证信息密文,再将认证信息密文发送至客户端进行解密验证,建立客户端与服务端之间的安全通道。

进一步地,所述客户端,用于在进行初始化后,对输入的用户pin码进行摘要计算和加密后获得pin码摘要密文,并发送至服务端,具体包括:

客户端获取相应所属终端设备的唯一标识id,向服务端进行设备信息注册;

注册成功后,客户端向服务端发送初始化请求,服务端通过密码设备分别生成包括随机数种子文件、白盒密钥文件、pin码摘要值的初始化数据,并返回至客户端完成初始化;

客户端将pin码摘要值的部分字节作为第一密钥,对pin码摘要值进行加密后获得pin码摘要密文,并发送至服务端。

进一步地,所述客户端,还用于获取相应所属终端设备的唯一标识id,并发送至服务端进行身份判别;

所述服务端,还用于根据唯一标识id进行客户端用户身份的判别,并依据用户身份判断是否与客户端建立连接,以及判别允许连接的客户端数量是否达到最大连接数量。

进一步地,所述服务端,用于通过密码设备对pin码摘要密文进行解密验证,并将密码设备生成的第一随机数进行摘要计算和加密后获得第一随机数摘要值和第一随机数摘要值密文,再将第一随机数摘要值、第一随机数摘要值密文和服务端的数字证书发送至客户端进行验证,具体包括:

服务端通过密码设备获取预置的pin码摘要值,对其取同样的部分字节作为第二密钥,对接收到的pin码摘要密文进行解密获得pin码摘要值明文,并与密码设备预置的pin码摘要值进行比对验证;

验证通过后,通过密码设备生成第一随机数,并使用摘要算法对第一随机数进行摘要计算获得第一随机数摘要值,再通过第二密钥对第一随机数摘要值进行加密获得第一随机数摘要值密文;

服务端将通过密码设备获取的服务端数字证书和第一随机数摘要值、第一随机数摘要值密文一起发送至客户端;

客户端通过第一密钥对第一随机数摘要值密文进行解密获得第一随机数摘要值,并与接收到的第一随机数摘要值进行比对验证,验证通过后,再通过预置的根证书对服务端的数字证书进行验证,若验证通过,则服务端的数字证书合法并进行保存,否则服务端的数字证书不合法,不进行安全通道的建立。

进一步地,所述服务端,还用于通过密码设备对第二随机数密文进行解密后,并对认证信息进行加密后获得认证信息密文,再将认证信息密文发送至客户端进行解密验证,建立客户端与服务端之间的安全通道,具体包括:

服务端通过密码设备使用服务端的私钥对第二随机数密文进行解密获得第二随机数;

服务端通过密码设备使用第二随机数对认证信息进行加密后获得认证信息密文,并发送至客户端;

客户端通过使用第二随机数对认证信息密文进行解密后获得认证信息明文,并与预置的认证信息进行比对验证,若验证通过,则客户端和服务端之间的安全通道建立成功,后续通信数据使用第二随机数作为密钥进行加解密传输。

与现有技术相比,本发明具有以下优点:

本发明一方面通过客户端对输入的用户pin码进行摘要计算和加密后获得pin码摘要密文,并发送至服务端;服务端通过密码设备对pin码摘要密文进行解密验证,并将密码设备生成的第一随机数进行摘要计算和加密后获得第一随机数摘要值和第一随机数摘要值密文,再将第一随机数摘要值、第一随机数摘要值密文和服务端的数字证书发送至客户端进行验证,从而客户端获取服务端的数字证书信息,以及服务端对客户端的用户相关信息进行验证,验证通过后实现建立安全通道的第一步,而且因为软件密码模块作为客户端,与硬件密码模块不同,无法在初始化时预置私钥,因此在客户端和服务端预置了pin码摘要值,通过pin码摘要值派生出派生密钥;另一方面,客户端通过服务端的数字证书公钥对生成的第二随机数进行加密后获得第二随机数密文,并发送至服务端;服务端通过密码设备对第二随机数密文进行解密后,并对认证信息进行加密后获得认证信息密文,再将认证信息密文发送至客户端进行解密验证,建立客户端与服务端之间的安全通道,从而实现建立安全通道的第二步,最终获得通信密钥,保证通信信息能够通过建立的安全通道进行安全传输。

附图说明

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

图1是本发明实施例的用于软件密码模块的安全通道建立方法的流程示意图;

图2是本发明实施例的用于软件密码模块的安全通道建立系统的结构框图。

具体实施方式

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

如图1所示,本实施例的一种用于软件密码模块的安全通道建立方法,安全通道建立在客户端与服务端之间,服务端集成有密码设备;安全通道建立方法包含以下步骤:

步骤s11,在客户端进行初始化后,客户端对输入的用户pin码进行摘要计算和加密后获得pin码摘要密文,并发送至服务端,具体包括:

客户端获取相应所属终端设备的唯一标识id,向服务端进行设备信息注册;

注册成功后,客户端向服务端发送初始化请求,服务端通过密码设备分别生成包括随机数种子文件、白盒密钥文件、pin码摘要值的初始化数据,并返回至客户端完成初始化;

客户端将pin码摘要值的部分字节作为第一密钥,对pin码摘要值进行加密后获得pin码摘要密文,并发送至服务端。

进一步的还包括:客户端获取相应所属终端设备的唯一标识id,并发送至服务端进行身份判别;

服务端根据唯一标识id进行客户端用户身份的判别,并依据用户身份判断是否与客户端建立连接,以及判别允许连接的客户端数量是否达到最大连接数量。

步骤s12,服务端通过密码设备对pin码摘要密文进行解密验证,并将密码设备生成的第一随机数进行摘要计算和加密后获得第一随机数摘要值和第一随机数摘要值密文,再将第一随机数摘要值、第一随机数摘要值密文和服务端的数字证书发送至客户端进行验证,具体包括:

服务端通过密码设备获取预置的pin码摘要值,对其取同样的部分字节作为第二密钥,对接收到的pin码摘要密文进行解密获得pin码摘要值明文,并与密码设备预置的pin码摘要值进行比对验证;

验证通过后,通过密码设备生成第一随机数,并使用摘要算法对第一随机数进行摘要计算获得第一随机数摘要值,再通过第二密钥对第一随机数摘要值进行加密获得第一随机数摘要值密文;

服务端将通过密码设备获取的服务端数字证书和第一随机数摘要值、第一随机数摘要值密文一起发送至客户端;

客户端通过第一密钥对第一随机数摘要值密文进行解密获得第一随机数摘要值,并与接收到的第一随机数摘要值进行比对验证,验证通过后,再通过预置的根证书对服务端的数字证书进行验证,若验证通过,则服务端的数字证书合法并进行保存,否则服务端的数字证书不合法,不进行安全通道的建立。

在实际的应用中,客户端将pin码摘要值的前16字节作为第一密钥;服务端获取预置的pin码摘要值后,同样取前16字节作为第二密钥(口令派生密钥)。优选的,服务端是配置pci密码卡的服务器或者集群。

可以理解的是,软件密码模块客户端sdk支持android、windows、linux、ios、单片机等系统平台;软件密码模块配备sm2、sm3、sm4密码算法,提供摘要计算、签名验签和加解密、随机数生成等安全功能。

步骤s13,客户端通过服务端的数字证书公钥对生成的第二随机数进行加密后获得第二随机数密文,并发送至服务端。

步骤s14,服务端通过密码设备对第二随机数密文进行解密后,并对认证信息进行加密后获得认证信息密文,再将认证信息密文发送至客户端进行解密验证,建立客户端与服务端之间的安全通道,具体包括:

服务端通过密码设备使用服务端的私钥对第二随机数密文进行解密获得第二随机数;

服务端通过密码设备使用第二随机数对认证信息进行加密后获得认证信息密文,并发送至客户端;

客户端通过使用第二随机数对认证信息密文进行解密后获得认证信息明文,并与预置的认证信息进行比对验证,若验证通过,则客户端和服务端之间的安全通道建立成功,后续通信数据使用第二随机数作为密钥进行加解密传输。

在实际的应用中,在客户端和服务端之间建立安全通道的基础上,客户端和服务端之间协同产生密钥对:客户端发送密钥对请求至服务端,服务端生成私钥分量并计算公钥,加密保存私钥分量,将公钥返回至客户端。以及在建立安全通道的基础上,客户端和服务端之间协同签名:客户端计算待签名消息的hash值,并使用客户端私钥分量计算第一部分签名,再通过服务端私钥分量计算生成第二部分签名,最后由客户端计算最终签名值。

与上述一种用于软件密码模块的安全通道建立方法相应地,如图2所示,本实施例的一种用于软件密码模块的安全通道建立系统,安全通道建立系统包括客户端和服务端,服务端集成有密码设备。

客户端,用于在进行初始化后,对输入的用户pin码进行摘要计算和加密后获得pin码摘要密文,并发送至服务端,具体包括:

客户端获取相应所属终端设备的唯一标识id,向服务端进行设备信息注册;

注册成功后,客户端向服务端发送初始化请求,服务端通过密码设备分别生成包括随机数种子文件、白盒密钥文件、pin码摘要值的初始化数据,并返回至客户端完成初始化;

客户端将pin码摘要值的部分字节作为第一密钥,对pin码摘要值进行加密后获得pin码摘要密文,并发送至服务端。

服务端,用于通过密码设备对pin码摘要密文进行解密验证,并将密码设备生成的第一随机数进行摘要计算和加密后获得第一随机数摘要值和第一随机数摘要值密文,再将第一随机数摘要值、第一随机数摘要值密文和服务端的数字证书发送至客户端进行验证,具体包括:

服务端通过密码设备获取预置的pin码摘要值,对其取同样的部分字节作为第二密钥,对接收到的pin码摘要密文进行解密获得pin码摘要值明文,并与密码设备预置的pin码摘要值进行比对验证;

验证通过后,通过密码设备生成第一随机数,并使用摘要算法对第一随机数进行摘要计算获得第一随机数摘要值,再通过第二密钥对第一随机数摘要值进行加密获得第一随机数摘要值密文;

服务端将通过密码设备获取的服务端数字证书和第一随机数摘要值、第一随机数摘要值密文一起发送至客户端;

客户端通过第一密钥对第一随机数摘要值密文进行解密获得第一随机数摘要值,并与接收到的第一随机数摘要值进行比对验证,验证通过后,再通过预置的根证书对服务端的数字证书进行验证,若验证通过,则服务端的数字证书合法并进行保存,否则服务端的数字证书不合法,不进行安全通道的建立。

客户端,还用于通过服务端的数字证书公钥对生成的第二随机数进行加密后获得第二随机数密文,并发送至服务端。

服务端,还用于通过密码设备对第二随机数密文进行解密后,并对认证信息进行加密后获得认证信息密文,再将认证信息密文发送至客户端进行解密验证,建立客户端与服务端之间的安全通道,具体包括:

服务端通过密码设备使用服务端的私钥对第二随机数密文进行解密获得第二随机数;

服务端通过密码设备使用第二随机数对认证信息进行加密后获得认证信息密文,并发送至客户端;

客户端通过使用第二随机数对认证信息密文进行解密后获得认证信息明文,并与预置的认证信息进行比对验证,若验证通过,则客户端和服务端之间的安全通道建立成功,后续通信数据使用第二随机数作为密钥进行加解密传输。

作为优选的,客户端还用于获取相应所属终端设备的唯一标识id,并发送至服务端进行身份判别;

服务端还用于根据唯一标识id进行客户端用户身份的判别,并依据用户身份判断是否与客户端建立连接,以及判别允许连接的客户端数量是否达到最大连接数量。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。


技术特征:

1.一种用于软件密码模块的安全通道建立方法,其特征在于,所述安全通道建立在客户端与服务端之间,所述服务端集成有密码设备;所述安全通道建立方法包含以下步骤:

在客户端进行初始化后,客户端对输入的用户pin码进行摘要计算和加密后获得pin码摘要密文,并发送至服务端;

服务端通过密码设备对pin码摘要密文进行解密验证,并将密码设备生成的第一随机数进行摘要计算和加密后获得第一随机数摘要值和第一随机数摘要值密文,再将第一随机数摘要值、第一随机数摘要值密文和服务端的数字证书发送至客户端进行验证;

客户端通过服务端的数字证书公钥对生成的第二随机数进行加密后获得第二随机数密文,并发送至服务端;

服务端通过密码设备对第二随机数密文进行解密后,并对认证信息进行加密后获得认证信息密文,再将认证信息密文发送至客户端进行解密验证,建立客户端与服务端之间的安全通道。

2.根据权利要求1所述的用于软件密码模块的安全通道建立方法,其特征在于,所述在客户端进行初始化后,客户端对输入的用户pin码进行摘要计算和加密后获得pin码摘要密文,并发送至服务端包括:

客户端获取相应所属终端设备的唯一标识id,向服务端进行设备信息注册;

注册成功后,客户端向服务端发送初始化请求,服务端通过密码设备分别生成包括随机数种子文件、白盒密钥文件、pin码摘要值的初始化数据,并返回至客户端完成初始化;

客户端将pin码摘要值的部分字节作为第一密钥,对pin码摘要值进行加密后获得pin码摘要密文,并发送至服务端。

3.根据权利要求2所述的用于软件密码模块的安全通道建立方法,其特征在于,所述客户端除了将pin码摘要密文发送至服务端,还包括:

客户端获取相应所属终端设备的唯一标识id,并发送至服务端进行身份判别;

服务端根据唯一标识id进行客户端用户身份的判别,并依据用户身份判断是否与客户端建立连接,以及判别允许连接的客户端数量是否达到最大连接数量。

4.根据权利要求2所述的用于软件密码模块的安全通道建立方法,其特征在于,所述服务端通过密码设备对pin码摘要密文进行解密验证,并将密码设备生成的第一随机数进行摘要计算和加密后获得第一随机数摘要值和第一随机数摘要值密文,再将第一随机数摘要值、第一随机数摘要值密文和服务端的数字证书发送至客户端进行验证包括:

服务端通过密码设备获取预置的pin码摘要值,对其取同样的部分字节作为第二密钥,对接收到的pin码摘要密文进行解密获得pin码摘要值明文,并与密码设备预置的pin码摘要值进行比对验证;

验证通过后,通过密码设备生成第一随机数,并使用摘要算法对第一随机数进行摘要计算获得第一随机数摘要值,再通过第二密钥对第一随机数摘要值进行加密获得第一随机数摘要值密文;

服务端将通过密码设备获取的服务端数字证书和第一随机数摘要值、第一随机数摘要值密文一起发送至客户端;

客户端通过第一密钥对第一随机数摘要值密文进行解密获得第一随机数摘要值,并与接收到的第一随机数摘要值进行比对验证,验证通过后,再通过预置的根证书对服务端的数字证书进行验证,若验证通过,则服务端的数字证书合法并进行保存,否则服务端的数字证书不合法,不进行安全通道的建立。

5.根据权利要求1所述的用于软件密码模块的安全通道建立方法,其特征在于,所述服务端通过密码设备对第二随机数密文进行解密后,并对认证信息进行加密后获得认证信息密文,再将认证信息密文发送至客户端进行解密验证,建立客户端与服务端之间的安全通道包括:

服务端通过密码设备使用服务端的私钥对第二随机数密文进行解密获得第二随机数;

服务端通过密码设备使用第二随机数对认证信息进行加密后获得认证信息密文,并发送至客户端;

客户端通过使用第二随机数对认证信息密文进行解密后获得认证信息明文,并与预置的认证信息进行比对验证,若验证通过,则客户端和服务端之间的安全通道建立成功,后续通信数据使用第二随机数作为密钥进行加解密传输。

6.一种用于软件密码模块的安全通道建立系统,其特征在于,所述安全通道建立系统包括客户端和服务端,所述服务端集成有密码设备;

客户端,用于在进行初始化后,对输入的用户pin码进行摘要计算和加密后获得pin码摘要密文,并发送至服务端;

服务端,用于通过密码设备对pin码摘要密文进行解密验证,并将密码设备生成的第一随机数进行摘要计算和加密后获得第一随机数摘要值和第一随机数摘要值密文,再将第一随机数摘要值、第一随机数摘要值密文和服务端的数字证书发送至客户端进行验证;

客户端,还用于通过服务端的数字证书公钥对生成的第二随机数进行加密后获得第二随机数密文,并发送至服务端;

服务端,还用于通过密码设备对第二随机数密文进行解密后,并对认证信息进行加密后获得认证信息密文,再将认证信息密文发送至客户端进行解密验证,建立客户端与服务端之间的安全通道。

7.根据权利要求6所述的用于软件密码模块的安全通道建立系统,其特征在于,所述客户端,用于在进行初始化后,对输入的用户pin码进行摘要计算和加密后获得pin码摘要密文,并发送至服务端,具体包括:

客户端获取相应所属终端设备的唯一标识id,向服务端进行设备信息注册;

注册成功后,客户端向服务端发送初始化请求,服务端通过密码设备分别生成包括随机数种子文件、白盒密钥文件、pin码摘要值的初始化数据,并返回至客户端完成初始化;

客户端将pin码摘要值的部分字节作为第一密钥,对pin码摘要值进行加密后获得pin码摘要密文,并发送至服务端。

8.根据权利要求7所述的用于软件密码模块的安全通道建立系统,其特征在于,所述客户端,还用于获取相应所属终端设备的唯一标识id,并发送至服务端进行身份判别;

所述服务端,还用于根据唯一标识id进行客户端用户身份的判别,并依据用户身份判断是否与客户端建立连接,以及判别允许连接的客户端数量是否达到最大连接数量。

9.根据权利要求7所述的用于软件密码模块的安全通道建立系统,其特征在于,所述服务端,用于通过密码设备对pin码摘要密文进行解密验证,并将密码设备生成的第一随机数进行摘要计算和加密后获得第一随机数摘要值和第一随机数摘要值密文,再将第一随机数摘要值、第一随机数摘要值密文和服务端的数字证书发送至客户端进行验证,具体包括:

服务端通过密码设备获取预置的pin码摘要值,对其取同样的部分字节作为第二密钥,对接收到的pin码摘要密文进行解密获得pin码摘要值明文,并与密码设备预置的pin码摘要值进行比对验证;

验证通过后,通过密码设备生成第一随机数,并使用摘要算法对第一随机数进行摘要计算获得第一随机数摘要值,再通过第二密钥对第一随机数摘要值进行加密获得第一随机数摘要值密文;

服务端将通过密码设备获取的服务端数字证书和第一随机数摘要值、第一随机数摘要值密文一起发送至客户端;

客户端通过第一密钥对第一随机数摘要值密文进行解密获得第一随机数摘要值,并与接收到的第一随机数摘要值进行比对验证,验证通过后,再通过预置的根证书对服务端的数字证书进行验证,若验证通过,则服务端的数字证书合法并进行保存,否则服务端的数字证书不合法,不进行安全通道的建立。

10.根据权利要求6所述的用于软件密码模块的安全通道建立系统,其特征在于,所述服务端,还用于通过密码设备对第二随机数密文进行解密后,并对认证信息进行加密后获得认证信息密文,再将认证信息密文发送至客户端进行解密验证,建立客户端与服务端之间的安全通道,具体包括:

服务端通过密码设备使用服务端的私钥对第二随机数密文进行解密获得第二随机数;

服务端通过密码设备使用第二随机数对认证信息进行加密后获得认证信息密文,并发送至客户端;

客户端通过使用第二随机数对认证信息密文进行解密后获得认证信息明文,并与预置的认证信息进行比对验证,若验证通过,则客户端和服务端之间的安全通道建立成功,后续通信数据使用第二随机数作为密钥进行加解密传输。

技术总结
本发明属于信息安全技术领域,具体涉及一种用于软件密码模块的安全通道建立方法及系统,该方法包括在客户端进行初始化后,客户端对输入的用户PIN码进行摘要计算和加密后获得PIN码摘要密文,并发送至服务端;服务端通过密码设备对PIN码摘要密文进行解密验证,再将第一随机数摘要值、第一随机数摘要值密文和服务端的数字证书发送至客户端进行验证;客户端通过服务端的数字证书公钥对生成的第二随机数进行加密后获得第二随机数密文,并发送至服务端;服务端通过密码设备对第二随机数密文进行解密后,并对认证信息进行加密后获得认证信息密文,再将认证信息密文发送至客户端进行解密验证,建立客户端与服务端之间的安全通道。

技术研发人员:彭金辉;张朝阳;雷宗华;李橙橙;孙晓鹏
受保护的技术使用者:郑州信大捷安信息技术股份有限公司
技术研发日:2021.05.20
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-8461.html

最新回复(0)