CN113204760B - 用于软件密码模块的安全通道建立方法及系统 - Google Patents
用于软件密码模块的安全通道建立方法及系统 Download PDFInfo
- Publication number
- CN113204760B CN113204760B CN202110551613.4A CN202110551613A CN113204760B CN 113204760 B CN113204760 B CN 113204760B CN 202110551613 A CN202110551613 A CN 202110551613A CN 113204760 B CN113204760 B CN 113204760B
- Authority
- CN
- China
- Prior art keywords
- random number
- server
- client
- ciphertext
- pin code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明属于信息安全技术领域,具体涉及一种用于软件密码模块的安全通道建立方法及系统,该方法包括在客户端进行初始化后,客户端对输入的用户PIN码进行摘要计算和加密后获得PIN码摘要密文,并发送至服务端;服务端通过密码设备对PIN码摘要密文进行解密验证,再将第一随机数摘要值、第一随机数摘要值密文和服务端的数字证书发送至客户端进行验证;客户端通过服务端的数字证书公钥对生成的第二随机数进行加密后获得第二随机数密文,并发送至服务端;服务端通过密码设备对第二随机数密文进行解密后,并对认证信息进行加密后获得认证信息密文,再将认证信息密文发送至客户端进行解密验证,建立客户端与服务端之间的安全通道。
Description
技术领域
本发明属于信息安全技术领域,具体涉及一种用于软件密码模块的安全通道建立方法及系统。
背景技术
移动信息化办公在为政企行业客户移动办公、移动执法等业务带来便利的同时,也给政企行业数据和信息安全带来安全隐患。政企行业用户在享受移动信息化服务带来便捷、高效工作体验的同时,也需要承担办公信息被窃取、篡改、抵赖、冒充等安全威胁带来的安全风险。因此保证信息的保密性、不可否认性、完整性以及可认证性,成为移动信息化服务首要解决的问题。
同时由于移动终端设备类型繁多、物理接口类型不尽相同,集成物理硬件密码模块存在一定困难。因此政企行业客户对密码模块产品的兼容性、可移植性具有很高的诉求和要求。针对以上问题,目前市面上开发了相关的软件密码模块来代替硬件密码模块,基于国密算法体系和硬件虚拟化技术,构建完整的密码算法安全运算环境、安全密钥管理容器及真随机数生成模块,以软件 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进行客户端用户身份的判别,并依据用户身份判断是否与客户端建立连接,以及判别允许连接的客户端数量是否达到最大连接数量。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (8)
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.一种用于软件密码模块的安全通道建立系统,其特征在于,所述安全通道建立系统包括客户端和服务端,所述服务端集成有密码设备;
客户端,用于在进行初始化后,对输入的用户PIN码进行摘要计算和加密后获得PIN码摘要密文,并发送至服务端;
服务端,用于通过密码设备对PIN码摘要密文进行解密验证,并将密码设备生成的第一随机数进行摘要计算和加密后获得第一随机数摘要值和第一随机数摘要值密文,再将第一随机数摘要值、第一随机数摘要值密文和服务端的数字证书发送至客户端进行验证;
客户端,还用于通过服务端的数字证书公钥对生成的第二随机数进行加密后获得第二随机数密文,并发送至服务端;
服务端,还用于通过密码设备对第二随机数密文进行解密后,并对认证信息进行加密后获得认证信息密文,再将认证信息密文发送至客户端进行解密验证,建立客户端与服务端之间的安全通道;
所述服务端,还用于通过密码设备对第二随机数密文进行解密后,并对认证信息进行加密后获得认证信息密文,再将认证信息密文发送至客户端进行解密验证,建立客户端与服务端之间的安全通道,具体包括:
服务端通过密码设备使用服务端的私钥对第二随机数密文进行解密获得第二随机数;
服务端通过密码设备使用第二随机数对认证信息进行加密后获得认证信息密文,并发送至客户端;
客户端通过使用第二随机数对认证信息密文进行解密后获得认证信息明文,并与预置的认证信息进行比对验证,若验证通过,则客户端和服务端之间的安全通道建立成功,后续通信数据使用第二随机数作为密钥进行加解密传输。
6.根据权利要求5所述的用于软件密码模块的安全通道建立系统,其特征在于,所述客户端,用于在进行初始化后,对输入的用户PIN码进行摘要计算和加密后获得PIN码摘要密文,并发送至服务端,具体包括:
客户端获取相应所属终端设备的唯一标识id,向服务端进行设备信息注册;
注册成功后,客户端向服务端发送初始化请求,服务端通过密码设备分别生成包括随机数种子文件、白盒密钥文件、PIN码摘要值的初始化数据,并返回至客户端完成初始化;
客户端将PIN码摘要值的部分字节作为第一密钥,对PIN码摘要值进行加密后获得PIN码摘要密文,并发送至服务端。
7.根据权利要求6所述的用于软件密码模块的安全通道建立系统,其特征在于,所述客户端,还用于获取相应所属终端设备的唯一标识id,并发送至服务端进行身份判别;
所述服务端,还用于根据唯一标识id进行客户端用户身份的判别,并依据用户身份判断是否与客户端建立连接,以及判别允许连接的客户端数量是否达到最大连接数量。
8.根据权利要求6所述的用于软件密码模块的安全通道建立系统,其特征在于,所述服务端,用于通过密码设备对PIN码摘要密文进行解密验证,并将密码设备生成的第一随机数进行摘要计算和加密后获得第一随机数摘要值和第一随机数摘要值密文,再将第一随机数摘要值、第一随机数摘要值密文和服务端的数字证书发送至客户端进行验证,具体包括:
服务端通过密码设备获取预置的PIN码摘要值,对其取同样的部分字节作为第二密钥,对接收到的PIN码摘要密文进行解密获得PIN码摘要值明文,并与密码设备预置的PIN码摘要值进行比对验证;
验证通过后,通过密码设备生成第一随机数,并使用摘要算法对第一随机数进行摘要计算获得第一随机数摘要值,再通过第二密钥对第一随机数摘要值进行加密获得第一随机数摘要值密文;
服务端将通过密码设备获取的服务端数字证书和第一随机数摘要值、第一随机数摘要值密文一起发送至客户端;
客户端通过第一密钥对第一随机数摘要值密文进行解密获得第一随机数摘要值,并与接收到的第一随机数摘要值进行比对验证,验证通过后,再通过预置的根证书对服务端的数字证书进行验证,若验证通过,则服务端的数字证书合法并进行保存,否则服务端的数字证书不合法,不进行安全通道的建立。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110551613.4A CN113204760B (zh) | 2021-05-20 | 2021-05-20 | 用于软件密码模块的安全通道建立方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110551613.4A CN113204760B (zh) | 2021-05-20 | 2021-05-20 | 用于软件密码模块的安全通道建立方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113204760A CN113204760A (zh) | 2021-08-03 |
CN113204760B true CN113204760B (zh) | 2022-04-15 |
Family
ID=77032187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110551613.4A Active CN113204760B (zh) | 2021-05-20 | 2021-05-20 | 用于软件密码模块的安全通道建立方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113204760B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114866409B (zh) * | 2022-04-27 | 2024-03-26 | 阿里巴巴(中国)有限公司 | 基于密码加速硬件的密码加速方法及装置 |
CN115314188B (zh) * | 2022-10-11 | 2022-12-09 | 北京紫光青藤微系统有限公司 | 解码装置、用于解码装置的认证方法和移动终端 |
CN117411643B (zh) * | 2023-12-11 | 2024-02-27 | 四川省数字证书认证管理中心有限公司 | 在线ukey的pin码安全系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107566407A (zh) * | 2017-10-20 | 2018-01-09 | 哈尔滨工程大学 | 一种基于USBkey的双向认证数据安全传输与存储方法 |
CN111526007A (zh) * | 2020-03-26 | 2020-08-11 | 郑州信大捷安信息技术股份有限公司 | 一种随机数生成方法及系统 |
CN111614637A (zh) * | 2020-05-08 | 2020-09-01 | 郑州信大捷安信息技术股份有限公司 | 一种基于软件密码模块的安全通信方法及系统 |
CN112333152A (zh) * | 2020-10-13 | 2021-02-05 | 西安电子科技大学 | 双向认证方法、系统、介质、计算机设备、终端及应用 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103415008A (zh) * | 2013-07-24 | 2013-11-27 | 牟大同 | 一种加密通信方法和加密通信系统 |
US11070366B2 (en) * | 2018-05-08 | 2021-07-20 | Nec Corporation | Dynamic anonymous password-authenticated key exchange (APAKE) |
-
2021
- 2021-05-20 CN CN202110551613.4A patent/CN113204760B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107566407A (zh) * | 2017-10-20 | 2018-01-09 | 哈尔滨工程大学 | 一种基于USBkey的双向认证数据安全传输与存储方法 |
CN111526007A (zh) * | 2020-03-26 | 2020-08-11 | 郑州信大捷安信息技术股份有限公司 | 一种随机数生成方法及系统 |
CN111614637A (zh) * | 2020-05-08 | 2020-09-01 | 郑州信大捷安信息技术股份有限公司 | 一种基于软件密码模块的安全通信方法及系统 |
CN112333152A (zh) * | 2020-10-13 | 2021-02-05 | 西安电子科技大学 | 双向认证方法、系统、介质、计算机设备、终端及应用 |
Non-Patent Citations (1)
Title |
---|
基于USB Key的身份认证系统设计与实现;王飞龙等;《信息工程大学学报》;20160215(第01期);第3-5页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113204760A (zh) | 2021-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111614637B (zh) | 一种基于软件密码模块的安全通信方法及系统 | |
CN109309565B (zh) | 一种安全认证的方法及装置 | |
US8499156B2 (en) | Method for implementing encryption and transmission of information and system thereof | |
CN113204760B (zh) | 用于软件密码模块的安全通道建立方法及系统 | |
CN111512608B (zh) | 基于可信执行环境的认证协议 | |
CN111740844A (zh) | 基于硬件的国密算法的ssl通信方法及装置 | |
CN110932851B (zh) | 一种基于pki的多方协同运算的密钥保护方法 | |
CN108809633B (zh) | 一种身份认证的方法、装置及系统 | |
CN113285803B (zh) | 一种基于量子安全密钥的邮件传输系统和传输方法 | |
CN113346995B (zh) | 基于量子安全密钥的邮件传输过程中防篡改的方法和系统 | |
CN113806772A (zh) | 基于区块链的信息加密传输方法及装置 | |
CN103297403A (zh) | 一种实现动态密码认证的方法和系统 | |
CN112351037B (zh) | 用于安全通信的信息处理方法及装置 | |
CN112766962A (zh) | 证书的接收、发送方法及交易系统、存储介质、电子装置 | |
CN102024123A (zh) | 一种云计算中虚拟机镜像导入方法及装置 | |
CN108809936B (zh) | 一种基于混合加密算法的智能移动终端身份验证方法及其实现系统 | |
CN113452687B (zh) | 基于量子安全密钥的发送邮件的加密方法和系统 | |
CN103905388A (zh) | 一种认证方法、认证装置、智能卡、服务器 | |
CN114143082B (zh) | 一种加密通信方法、系统及装置 | |
CN105407467A (zh) | 短消息加密方法、装置和系统 | |
CN114650173A (zh) | 一种加密通讯方法及系统 | |
CN114826659A (zh) | 一种加密通讯方法及系统 | |
CN114650181B (zh) | 电子邮件加解密方法、系统、设备及计算机可读存储介质 | |
CN113438074B (zh) | 基于量子安全密钥的接收邮件的解密方法 | |
CN112422289B (zh) | 一种NB-IoT终端设备的数字证书离线安全分发方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |