CN107896147B - 一种基于国密算法协商临时会话密钥的方法及其系统 - Google Patents
一种基于国密算法协商临时会话密钥的方法及其系统 Download PDFInfo
- Publication number
- CN107896147B CN107896147B CN201711288775.3A CN201711288775A CN107896147B CN 107896147 B CN107896147 B CN 107896147B CN 201711288775 A CN201711288775 A CN 201711288775A CN 107896147 B CN107896147 B CN 107896147B
- Authority
- CN
- China
- Prior art keywords
- terminal
- server
- session key
- temporary session
- cryptographic algorithm
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明一种基于国密算法协商临时会话密钥的方法,包括:终端使用国密算法验证服务器身份的合法性;通过后,终端生成终端临时会话密钥;终端使用国密算法安全传输终端临时会话密钥至服务器;服务器使用国密算法验证终端身份的合法性;通过后,服务器使用国密算法获取所述终端临时会话密钥;服务器生成服务器临时会话密钥,并使用国密算法将其安全传输至终端;终端使用国密算法获取所述服务器临时会话密钥;服务器和终端依据所述服务器临时会话密钥以及所述终端临时会话密钥得到临时会话密钥。本发明不仅能显著提高临时会话密钥协商过程的效率;同时又保证所生成的临时会话密钥的高安全性。
Description
技术领域
本发明涉及电子支付领域,具体说的是一种基于国密算法协商临时会话密钥的方法及其系统。
背景技术
为了防止各自的密钥泄露,通讯双方通常会通过自己预置的密钥与对方协商出临时会话密钥,再使用这个临时会话密钥加密双方通讯的数据,以达到信息保护的目的。
具体的,现有的通讯流程如下:1、通讯双方代码里固化3DES的密钥Codekey;2、终端生成16字节随机数做为3DES临时会话密钥,使用Codekey加密临时会话密钥,并发送给服务端;3、服务端使用Codekey解密接收到的临时会话密钥;4、通讯双方使用临时会话密钥加密后续的通讯数据。
但是,现有的临时会话密钥协商技术,普遍存在以下不足:
缺点1:预置的密钥为对称密钥,则通讯双方需要有自己及对方的对称密钥,若涉及多方通讯,即一方可以与多方通讯的话,那么需要同时拥有多方的对称密钥,增加密钥的管理成本。
缺点2:预置的密钥为非对称RSA密钥,RSA密钥的私钥运算及公钥运算均比较慢,影响协商临时会话密钥的效率。
缺点3:预置的密钥为非对称RSA密钥,用于认证对方的根证书未受到防篡改保护,攻击者可以篡改。
缺点4:预置的密钥为非对称RSA密钥,RSA私钥未受到物理保护,攻击者可以窃取私钥,从而伪造假的通讯方。
缺点5:使用的算法为国外算法,可能存在安全风险。
鉴于上述,有必要提供一种能够解决上述问题的基于国密算法协商临时会话密钥的方法及其系统。
发明内容
本发明所要解决的技术问题是:提供一种基于国密算法协商临时会话密钥的方法及其系统,能够保证所协商的临时会话密钥的安全性,同时提高协商的效率。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于国密算法协商临时会话密钥的方法,包括:
终端使用国密算法验证服务器身份的合法性;合法性验证通过后,终端生成终端临时会话密钥;
终端使用国密算法安全传输所述终端临时会话密钥至服务器;
服务器使用国密算法验证终端身份的合法性;合法性验证通过后,服务器使用国密算法获取所述终端临时会话密钥;
服务器生成服务器临时会话密钥,并使用国密算法将其安全传输至终端;
终端使用国密算法获取所述服务器临时会话密钥;
服务器和终端依据所述服务器临时会话密钥以及所述终端临时会话密钥得到临时会话密钥。
本发明提供的另一个技术方案为:
一种基于国密算法协商临时会话密钥的系统,包括终端和服务器;所述终端包括:
第一验证模块,用于终端使用国密算法验证服务器身份的合法性;
第一生成模块,用于合法性验证通过后,终端生成终端临时会话密钥;
第一传输模块,用于终端使用国密算法安全传输所述终端临时会话密钥至服务器;
第一获取模块,用于终端使用国密算法获取所述服务器临时会话密钥;
第二生成模块,用于终端依据所述服务器临时会话密钥以及所述终端临时会话密钥得到临时会话密钥;
所述服务器,包括:
第二验证模块,用于服务器使用国密算法验证终端身份的合法性;
第二获取模块,用于合法性验证通过后,服务器使用国密算法获取所述终端临时会话密钥;
第三生成模块,用于服务器生成服务器临时会话密钥;
第二传输模块,用于服务器使用国密算法将服务器临时会话密钥安全传输至终端;
第四生成模块,用于服务器依据所述服务器临时会话密钥以及所述终端临时会话密钥得到临时会话密钥。
本发明的有益效果在于:本发明区别于现有技术使用外国算法协商临时会话密钥,管理成本较高、效率较低,且无法保证临时会话密钥安全性的不足。本发明利用国密算法完成临时会话密钥的生成,生成过程中,不仅能够验证通信双方的身份合法性,保证基于国密算法所使用的整个证书链以及相关密钥的安全性;而且使用国密算法安全传输相关密钥,保证密钥的不被非法篡改,进一步的,国密算法为非对称算法,且运算速度比现有通用的RSA算法速度快,算法强度也比RSA算法强,协商出的临时会话密钥为SM4密钥,算法强度比TDES算法强,运算速度比TDES快;能够显著提高临时会话密钥协商过程的效率;同时又保证所生成的临时会话密钥的高安全性。
附图说明
图1为本发明一种基于国密算法协商临时会话密钥的方法的流程示意图;
图2为本发明的证书系统;
图3为本发明实施例二中终端与服务器之间的数据交互流程示意图;
图4为本发明实施例二运用场景一的POS终端和后台服务器之间的数据交互流程示意图;
图5为本发明一种基于国密算法协商临时会话密钥的系统的程序模块组成示意图;
图6为本发明实施例四中所述系统的另一具体实施方式的程序模块组成示意图。
标号说明:
1、第一验证模块;2、第一生成模块;3、第一传输模块;
4、第一获取模块;5、第二生成模块;6、第二验证模块;
7、第二获取模块;8、第三生成模块;9、第二传输模块;
10、第四生成模块;11、硬件安全区;12、安全存储模块;
13、CA中心;14、第四生成模块;15、第五生成模块;
110、第一发送单元;120、第一验证单元;
31、第一加密签名单元;32、第二发送单元;
71、第一验签对比单元;72、第一解密单元;
91、第二加密签名单元;92、第三发送单元;
41、第二验签对比单元;42、第二解密单元;
101、第一生成单元;102、比较单元;
51、第二生成单元;52、第三生成单元。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
本发明最关键的构思在于:利用国密算法完成临时会话密钥的生成,生成过程中,不仅能够验证通信双方的身份合法性;而且保证密钥的不被非法篡改,进一步的,显著提高临时会话密钥协商过程的效率;同时又保证所生成的临时会话密钥的高安全性。
本发明涉及的技术术语解释:
请参照图1以及图2,本发明提供一种基于国密算法协商临时会话密钥的方法,包括:
终端使用国密算法验证服务器身份的合法性;合法性验证通过后,终端生成终端临时会话密钥;
终端使用国密算法安全传输所述终端临时会话密钥至服务器;
服务器使用国密算法验证终端身份的合法性;合法性验证通过后,服务器使用国密算法获取所述终端临时会话密钥;
服务器生成服务器临时会话密钥,并使用国密算法将其安全传输至终端;
终端使用国密算法获取所述服务器临时会话密钥;
服务器和终端依据所述服务器临时会话密钥以及所述终端临时会话密钥得到临时会话密钥。
进一步的,所述终端使用国密算法安全传输所述终端临时会话密钥至服务器,具体为:
终端使用国密算法对所述终端临时会话密钥进行加密签名后,将其发送至服务器;
所述服务器使用国密算法获取所述终端临时会话密钥,具体为:
服务器使用国密算法对接收到的加密签名后的终端临时会话密钥进行验签解密后,得到所述终端临时会话密钥。
进一步的,所述服务器生成服务器临时会话密钥,并使用国密算法将其安全传输至终端,具体为:
服务器生成服务器临时会话密钥,并使用国密算法对所述服务器临时会话密钥进行加密签名后,将其发送至终端;
所述终端使用国密算法获取所述服务器临时会话密钥,具体为:
终端使用国密算法对接收到的加密签名后的服务器临时会话密钥进行验签解密后,得到所述服务器临时会话密钥。
由上述描述可知,能够保证终端与服务器之间数据的安全传输,避免传输数据被非法窃取后修改;相比现有的安全传输方式,具备更高的安全性。
进一步的,还包括:
在终端出厂前,预置SM2根证书、SM2工作证书以及SM2私钥至终端的硬件安全区内,作为终端根证书、终端工作证书和终端私钥;
在服务器中预置SM2根证书、SM2工作证书以及SM2私钥,作为服务器根证书、服务器工作证书和服务器私钥。
由上述描述可知,基于终端的硬件安全机制无法被应用程序操作的特定,保证根证书以及私钥无法被获取篡改,从而保证整个证书链以及私钥的安全性;同时,在终端出厂前,通过远程自动安全方式集中、统一注入证书链跟非对称密钥(私钥),避免终端性能差异对生成效率的影响,不仅能够保证预置证书链以及私钥的安全性,而且减少了人工操作和维护生产线安全机房的成本。
进一步的,所述SM2根证书、SM2工作证书以及SM2私钥通过可信的第三方CA机构或者通过自建的CA中心获取。
由上述描述可知,可以搭建自己的CA中心,进一步保证证书安全性;或者挂靠一个可靠的商用CA,缩减成本;提供两种不同方式供用户灵活选择。
进一步的,所述终端使用国密算法验证服务器身份的合法性;合法性验证通过后,终端生成终端临时会话密钥;具体为:
服务器发送服务器工作证书至终端;
终端使用终端根证书验证接收到的服务器工作证书的合法性;
所述合法性验证通过后,生成终端临时会话密钥。
由上述描述可知,配置两级证书体系,通过根证书验证下级证书的合法性,防止下级证书(工作证书)被非法替换。在此,目的为确认服务器工作证书是认可的证书。
进一步的,所述终端使用国密算法安全传输所述终端临时会话密钥至服务器;具体为:
终端通过所述服务器工作证书使用国密算法加密所述终端临时会话密钥,得到加密后终端临时会话密钥,并使用终端私钥对其进行签名,得到终端数据;
终端发送终端工作证书、加密后终端临时会话密钥,以及终端数据至服务器。
进一步的,所述服务器使用国密算法验证终端身份的合法性;合法性验证通过后,服务器使用国密算法获取所述终端临时会话密钥;具体为:
服务器使用服务器根证书验证接收到的终端工作证书的合法性;
合法性验证通过后,通过终端工作证书,使用国密算法验签所述终端数据,并对比验签后得到的数据与所述接收到的加密后终端临时会话密钥;
若一致,则通过服务器私钥,使用国密算法解密所述加密后终端临时会话密钥,得到终端临时会话密钥。
由上述描述可知,实现服务器获取真实的终端临时会话密钥,保证传输数据不被非法篡改。
进一步的,所述服务器生成服务器临时会话密钥,并使用国密算法将其安全传输至终端;具体为:
服务器生成服务器临时会话密钥;
通过终端工作证书,使用国密算法加密所述服务器临时会话密钥,得到加密后服务器临时会话密钥,并使用服务器私钥对其进行签名,得到服务器数据;
服务器发送所述加密后服务器临时会话密钥和服务器数据至终端。
进一步的,所述终端使用国密算法获取所述服务器临时会话密钥;具体为:
终端使用服务器工作证书验签接收到的服务器数据,并对比验签后得到的数据与所述加密后服务器临时会话密钥;
若一致,则使用终端私钥,使用国密算法解密所述加密后服务器临时会话密钥,得到服务器临时会话密钥。
由上述描述可知,实现终端获取真实的服务器临时会话密钥,保证传输数据不被非法篡改。
进一步的,所述服务器和终端分别依据所述服务器临时会话密钥以及所述终端临时会话密钥得到临时会话密钥;具体为:
服务器依据其存储的服务器临时会话密钥和终端临时会话密钥生成临时会话密钥,并生成对应的第一验证值;
终端依据其存储的终端临时会话密钥和服务器临时会话密钥得到临时会话密钥;
终端生成与其临时会话密钥对应的第二验证值,并将所述第二验证值发送至服务器;
服务器比较所述第一验证值与接收到的所述第二验证值。
由上述可知,通过比较各自依据所生成的临时会话密钥计算得到的校验值是否一致,确保双方临时会话密钥的同步。
进一步的,还包括:
终端和服务器分别生成随机数;
在终端和服务器安全传输各自生成的临时会话密钥给对方时,具体为:
终端和服务器将各自生成的随机数同各自生成的临时会话密钥一起使用所述国密算法安全传输给对方。
由上述可知,在协商过程中,利用随机数机制有效防止重放攻击;进一步提升所协商得到的临时会话密钥的安全性。
进一步的,所述服务器发送服务器工作证书至终端,具体为:
服务器生成第一随机数,并将其同所述服务器工作证书一起发送至终端;
所述使用终端私钥对其进行签名,得到终端数据,具体为:
使用终端私钥签名所述第一随机数和所述加密后终端临时会话密钥,得到终端数据;
所述对比验签后得到的数据与所述接收到的加密后终端临时会话密钥,具体为:
对比验签后得到的包括第一随机数的数据与自身存储的第一随机数以及所述接收到的加密后终端临时会话密钥。
由上述可知,以服务器利用其产生的随机数确保终端所接收到的数据在传输过程中未遭受过重放攻击,保证传输数据的安全性。
进一步的,所述终端为POS终端。
本发明提供的另一个技术方案为:
一种基于国密算法协商临时会话密钥的系统,包括终端和服务器;所述终端包括:
第一验证模块,用于终端使用国密算法验证服务器身份的合法性;
第一生成模块,用于合法性验证通过后,终端生成终端临时会话密钥;
第一传输模块,用于终端使用国密算法安全传输所述终端临时会话密钥至服务器;
第一获取模块,用于终端使用国密算法获取所述服务器临时会话密钥;
第二生成模块,用于终端依据所述服务器临时会话密钥以及所述终端临时会话密钥得到临时会话密钥;
所述服务器,包括:
第二验证模块,用于服务器使用国密算法验证终端身份的合法性;
第二获取模块,用于合法性验证通过后,服务器使用国密算法获取所述终端临时会话密钥;
第三生成模块,用于服务器生成服务器临时会话密钥;
第二传输模块,用于服务器使用国密算法将服务器临时会话密钥安全传输至终端;
第四生成模块,用于服务器依据所述服务器临时会话密钥以及所述终端临时会话密钥得到临时会话密钥。
进一步的,所述第一传输模块,具体用于终端使用国密算法对所述终端临时会话密钥进行加密签名后,将其发送至服务器;
所述第二获取模块,具体用于服务器使用国密算法对接收到的加密签名后的终端临时会话密钥进行验签解密后,得到所述终端临时会话密钥。
进一步的,所述第二传输模块,具体用于使用国密算法对所述服务器临时会话密钥进行加密签名后,将其发送至终端;
所述第一获取模块,具体用于终端使用国密算法对接收到的加密签名后的服务器临时会话密钥进行验签解密后,得到所述服务器临时会话密钥。
进一步的,所述终端包括硬件安全区,用于存储在终端出厂前,预置入的SM2根证书、SM2工作证书以及SM2私钥,作为终端根证书、终端工作证书和终端私钥;
所述服务器还包括安全存储模块,用于存储预置入的SM2根证书、SM2工作证书以及SM2私钥,作为服务器根证书、服务器工作证书和服务器私钥。
进一步的,还包括第三方CA机构或自建的CA中心;用于颁发所述SM2根证书、SM2工作证书以及SM2私钥。
进一步的,所述第一验证模块,具体包括:
第一发送单元,用于服务器发送服务器工作证书至终端;
第一验证单元,用于终端使用终端根证书验证接收到的服务器工作证书的合法性。
进一步的,所述第一传输模块,具体包括:
第一加密签名单元,用于终端通过所述服务器工作证书使用国密算法加密所述终端临时会话密钥,得到加密后终端临时会话密钥,并使用终端私钥对其进行签名,得到终端数据;
第二发送单元,用于终端发送终端工作证书、加密后终端临时会话密钥,以及终端数据至服务器。
进一步的,所述第二验证模块,具体用于服务器使用服务器根证书验证接收到的终端工作证书的合法性;
所述第二获取模块,具体包括:
第一验签对比单元,用于合法性验证通过后,通过终端工作证书,使用国密算法验签所述终端数据,并对比验签后得到的数据与所述接收到的加密后终端临时会话密钥;
第一解密单元,用于若一致,则通过服务器私钥,使用国密算法解密所述加密后终端临时会话密钥,得到终端临时会话密钥。
进一步的,所述第二传输模块,具体包括:
第二加密签名单元,用于通过终端工作证书,使用国密算法加密所述服务器临时会话密钥,得到加密后服务器临时会话密钥,并使用服务器私钥对其进行签名,得到服务器数据;
第三发送单元,用于服务器发送所述加密后服务器临时会话密钥和服务器数据至终端。
进一步的,所述第一获取模块,具体包括:
第二验签对比单元,用于终端使用服务器工作证书验签接收到的服务器数据,并对比验签后得到的数据与所述加密后服务器临时会话密钥;
第二解密单元,用于若一致,则使用终端私钥,使用国密算法解密所述加密后服务器临时会话密钥,得到服务器临时会话密钥。
进一步的,所述第四生成模块,具体包括:
第一生成单元,用于服务器依据其存储的服务器临时会话密钥和终端临时会话密钥生成临时会话密钥,并生成对应的第一验证值;
比较单元,用于服务器比较所述第一验证值与接收到的所述第二验证值;
所述第二生成模块,具体包括:
第二生成单元,用于终端依据其存储的终端临时会话密钥和服务器临时会话密钥得到临时会话密钥;
第三生成单元,用于终端生成与其临时会话密钥对应的第二验证值,并将所述第二验证值发送至服务器。
进一步的,终端还包括:
第四生成模块,用于终端生成随机数;
所述第一传输模块,具体用于终端将生成的随机数同生成的终端临时会话密钥一起使用所述国密算法安全传输给服务器;
所述服务器还包括:
第五生成模块,用于服务器生成随机数;
所述第二传输模块,具体用于服务器将生成的随机数同生成的服务器临时会话密钥一起使用所述国密算法安全传输给终端。
进一步的,所述第一发送单元,具体用于服务器生成第一随机数,并将其同所述服务器工作证书一起发送至终端;
所述第一加密签名单元,具体使用终端私钥签名所述第一随机数和所述加密后终端临时会话密钥,得到终端数据;
所述第一验签对比单元,具体对比验签后得到的包括第一随机数的数据与自身存储的第一随机数以及所述接收到的加密后终端临时会话密钥。
实施例一
请参照图1和图2,本实施例提供一种基于国密算法协商临时会话密钥的方法,包括:
一、前期部署
包括以下几方面的准备工作:
(1)搭建CA中心
因为方案涉及到证书,因此需要部署CA中心,搭建自己的PKI体系。关于建立CA中心有2种可选的做法,一是挂靠一个“可信的第三方CA机构”,成为其附属机构,所谓“第三方CA机构”也即商用CA,比如CFCA(中国金融认证中心),CTCA(中信安全认证中心)等;二是厂家建立自己的CA中心,优选的,在本实施例中,CA中心的主要任务是给设备颁发中心,可建立自有CA(in-house CA)。
(2)终端预置SM2国密根证书、国密工作证书与私钥
从CA中心导出国密根证书(简称CrtRoot,该证书为国密证书),预置到终端的硬件安全区中,通过终端的硬件安全机制防止CA根证书被恶意篡改。
具体的,硬件安全区即固件。在现有技术中,固件用于存储设备用于启动运行的驱动程序,由于操作系统只有按照标准的驱动程序运行,才能启动设备,因此,固件需要具备无法被应用程序直接读出或修改的特性,且一般同时具备外力破坏的自保护机制,即一旦检测到异常(如外壳被打开),则自动清除先关数据,保护其存储的数据。因此,本实施例中,通过将证书链以及私钥存储至终端硬件安全区内,能够通过其硬件安全机制保证存储数据无法被篡改,从而保证证书链以及私钥的安全性。
本实施例中,在终端出厂前便预置国密根证书(简称CrtRoot)、国密SM2工作证书(简称Crt_TE)与私钥(简称Pr_TE)至硬件安全区内,通过终端的安全机制保护证书链以及私钥,防止泄密。
(3)后台服务器预置根证书、国密工作证书与私钥
相应的,后台服务器也需要预置国密根证书(简称CrtRoot)、国密工作证书(Crt_Server)与私钥(Pr_Server)。
需要说明的是,后台服务器与终端中预置的国密根证书一致;但是二者的工作证书以及私钥都不同。但是,二者的工作证书以及私钥均是基于同一个国密根证书生成的。
如图2所示,为本实施例的证书系统。
二、协商临时会话密钥的过程
(1)后台服务器发送随机数及服务器国密工作证书Crt_Server至终端;
(2)终端使用SM2国密算法验证服务器国密工作证书Crt_Server通过后,生成终端的临时会话密钥,使用服务器国密工作证书Crt_Server加密(使用SM2算法)其临时会话密钥,使用SM2私钥签名后台服务器的随机数以及加密后的临时会话密钥;同时生成自己的随机数,将直接生成的随机数、加密后的数据以及签名后得到的数据上送给后台服务器;
(3)后台服务器使用SM2算法验证终端身份通过后,获取终端生成的临时会话密钥,然后生成自己的临时会话密钥;使用终端国密工作证书Crt_TE加密(使用SM2算法)后台服务器生成的临时会话密钥;
(4)终端使用SM2算法验证后台服务器身份通过后,获取后台生成的临时会话密钥;
(5)通讯双方同步临时会话密钥,使用该临时会话密钥加密后续传输的数据。
本实施例依托于终端的物理保护,实现安全存储SM2证书与私钥、及相应的根证书。
终端与通讯对方协商临时会话密钥时,基于SM2算法完成临时会话密钥的生成,SM2算法为非对称算法,且运算速度比RSA速度快,算法强度比RSA算法强,协商出的临时会话密钥为SM4密钥,算法强度比TDES算法强,运算速度比TDES快。
实施例二
本实施例基于实施例一,对其方案做进一步的细化。
请参阅图3,本实施例的基于国密算法协商临时会话密钥的方法可以包括:
S1:在终端出厂前,预置SM2根证书、第一SM2工作证书以及第一SM2私钥至终端的硬件安全区内,作为终端根证书、终端工作证书和终端私钥;
S2:在服务器中预置SM2根证书、第二SM2工作证书以及第二SM2私钥,作为服务器根证书、服务器工作证书和服务器私钥;第一SM2工作证书、第二SM2工作证书以及第一SM2私钥和第二SM2私钥均是基于SM2根证书生成。
S3:服务器发送服务器工作证书至终端;
S4:终端使用终端根证书验证接收到的服务器工作证书的合法性;验证通过后,生成终端临时会话密钥;
S5:终端通过所述服务器工作证书使用国密算法加密所述终端临时会话密钥,得到加密后终端临时会话密钥,并使用终端私钥对其进行签名,得到终端数据;
S6:终端发送终端工作证书、加密后终端临时会话密钥,以及终端数据至服务器。
S7:服务器使用服务器根证书验证接收到的终端工作证书的合法性;合法性验证通过后,通过终端工作证书,使用国密算法验签所述终端数据,并对比验签后得到的数据与所述接收到的加密后终端临时会话密钥;
若一致,则通过服务器私钥,使用国密算法解密所述加密后终端临时会话密钥,得到终端临时会话密钥。
S8:服务器生成服务器临时会话密钥;
S9:服务器通过终端工作证书,使用国密算法加密所述服务器临时会话密钥,得到加密后服务器临时会话密钥,并使用服务器私钥对其进行签名,得到服务器数据;
S10:服务器发送所述加密后服务器临时会话密钥和服务器数据至终端。
S11:终端使用服务器工作证书验签接收到的服务器数据,并对比验签后得到的数据与所述加密后服务器临时会话密钥;
若一致,则使用终端私钥,使用国密算法解密所述加密后服务器临时会话密钥,得到服务器临时会话密钥。
S12:服务器依据其存储的服务器临时会话密钥和终端临时会话密钥生成临时会话密钥,并生成对应的第一验证值;
S13:终端依据其存储的终端临时会话密钥和服务器临时会话密钥得到临时会话密钥;
S14:终端生成与其临时会话密钥对应的第二验证值,并将所述第二验证值发送至服务器;
S15:服务器比较所述第一验证值与接收到的所述第二验证值;
若一致,则证明终端与服务器的临时会话密钥一致,完成密钥同步。可以使用该临时会话密钥加密后续的数据。
实施例三
本实施例在实施例二的基础上,提供两个具体运用场景。
两个运用场景中,需要安全通信的双方均为POS终端和后台服务器。
运用场景一
请参照图4,下面就通信双方如何高效率协商得到用于加密通信数据的临时会话密钥的过程进行详细说明。
1、后台服务器生成32字节随机数R1;
2、后台服务器发送R1、Crt_Server(服务器工作证书)给POS终端;
3、POS终端使用SM2算法验证Crt_Server服务器证书合法性通过后,将相关数据发送给后台服务器Server;具体包括以下步骤:
a)POS终端通过存储与其硬件安全区内的CrtRoot,使用SM2算法验证Crt_Server(服务器工作证书)的合法性。其目的是要确认Crt_Server是可以认可的证书;
b)生成32字节随机数R2;
c)生成16字节RPK_POS,RPK_POS为临时会话密钥RPK;
d)使用POS终端认可的Crt_Sever(服务器工作证书),采用SM2算法加密RPK_POS(终端临时会话密钥),得到Enc_RPK_POS;
e)使用Pr_POS(POS终端私钥)签名R1+Enc_RPK_POS(使用SM2算法)及得到Sign_POS;
4、POS发送R2、Crt_POS、Sign_POS、Enc_RPK_POS给后台服务器Server;
5、后台服务器验证POS证书合法性通过后,将相关数据发送给POS;具体包括以下步骤:
a)使用CrtRoot利用SM2算法验证Crt_POS(终端工作证书)的合法性,目的是要确认Crt_POS是可以认可的证书;
b)使用Crt_POS(终端工作证书)利用SM2算法验签Sign_POS,将得到的数据与原始数据(R1+Enc_RPK_POS)做对比,确保POS身份的真实性;其中,R1的作用是防重放攻击,POS签名时带上Enc_RPK_POS是防止Enc_RPK_POS被替换成其它数据。
c)使用Pr_Server(服务器私钥)利用SM2算法解密Enc_RPK_POS得到RPK_POS(终端临时会话密钥);
d)生成16字节RPK_Server(服务器临时会话密钥);
e)使用Crt_POS(终端工作证书)采用SM2算法加密RPK_Server得到Enc_RPK_Server;
f)使用Pr_Server(服务器私钥)采用SM2算法签名R2+Enc_RPK_Server得到Sign_Server;
g)异或RPK_Server与RPK_POS得到临时会话密钥RPK;
6、后台服务器Server发送Enc_RPK_Server、Sign_Server给POS;
7、POS处理接收到的数据后,返回应答;具体包括以下步骤:
a)使用Crt_Server(服务器工作证书)采用SM2算法验签Sign_Server,将得到的数据与原始数据(R2+Enc_RPK_Server)做对比,确保POS身份的真实性;R2的作用是防重放攻击,POS签名时带上Enc_RPK_Server是防止Enc_RPK_Server被替换成其它数据;
b)使用Pr_POS采用SM2算法解密Enc_RPK_Server得到RPK_Server(服务器临时会话密钥);
c)异或RPK_Server与RPK_POS得到RPK;
d)生成RPK的密钥校验值KCV_RPK;
8、POS发送KCV_RPK至后台服务器;
9、后台服务器Server比较自己RPK的KCV与接收到的KCV_RPK是否匹配,以确保POS端已同步相同的RPK。
运用场景二
1、在超市使用的POS,开机后连接到后台服务器;
2、由于POS与后台服务器交互的数据包含消费金额、持卡人卡号、交易时间等金融交易信息,需要两者之间建立安全通道,防止通讯数据被抓包分析;
3、另一方面,POS需要识别当前连接的后台服务器身份真实性,后台服务器也需要验证当前连接POS的身份真实性,具体通过上述运用场景一的流程,可以完成双方的身份验证。
4、POS与后台服务器通过上述流程协商出临时会话密钥,使用该临时会话密钥加密双方交互的数据,提高数据传输的安全性。
实施例四
本实施例对应实施例二,提供一种基于国密算法协商临时会话密钥的系统,包括终端、服务器,以及第三方CA机构或自建的CA中心13;CA中心用于颁发所述SM2根证书、SM2工作证书以及SM2私钥。
请参阅图5,具体的,所述终端包括:
第一验证模1,用于终端使用国密算法验证服务器身份的合法性;
第一生成模块2,用于合法性验证通过后,终端生成终端临时会话密钥;
第一传输模块3,用于终端使用国密算法安全传输所述终端临时会话密钥至服务器;
第一获取模块4,用于终端使用国密算法获取所述服务器临时会话密钥;
第二生成模块5,用于终端依据所述服务器临时会话密钥以及所述终端临时会话密钥得到临时会话密钥;
所述服务器,包括:
第二验证模块6,用于服务器使用国密算法验证终端身份的合法性;
第二获取模块7,用于合法性验证通过后,服务器使用国密算法获取所述终端临时会话密钥;
第三生成模块8,用于服务器生成服务器临时会话密钥;
第二传输模块9,用于服务器使用国密算法将服务器临时会话密钥安全传输至终端;
第四生成模块10,用于服务器依据所述服务器临时会话密钥以及所述终端临时会话密钥得到临时会话密钥。
在一具体实施方式中
所述第一传输模块3,具体用于终端使用国密算法对所述终端临时会话密钥进行加密签名后,将其发送至服务器;
所述第二获取模块7,具体用于服务器使用国密算法对接收到的加密签名后的终端临时会话密钥进行验签解密后,得到所述终端临时会话密钥。
所述第二传输模块9,具体用于使用国密算法对所述服务器临时会话密钥进行加密签名后,将其发送至终端;
所述第一获取模块4,具体用于终端使用国密算法对接收到的加密签名后的服务器临时会话密钥进行验签解密后,得到所述服务器临时会话密钥。
所述终端包括硬件安全区11,用于存储在终端出厂前,预置入的SM2根证书、SM2工作证书以及SM2私钥,作为终端根证书、终端工作证书和终端私钥;
所述服务器还包括安全存储模块12,用于存储预置入的SM2根证书、SM2工作证书以及SM2私钥,作为服务器根证书、服务器工作证书和服务器私钥。
请参阅图6,在另一具体实施方式中
所述第一验证模块1,具体包括:
第一发送单元110,用于服务器发送服务器工作证书至终端;
第一验证单元120,用于终端使用终端根证书验证接收到的服务器工作证书的合法性。
所述第一传输模块3,具体包括:
第一加密签名单元31,用于终端通过所述服务器工作证书使用国密算法加密所述终端临时会话密钥,得到加密后终端临时会话密钥,并使用终端私钥对其进行签名,得到终端数据;
第二发送单元32,用于终端发送终端工作证书、加密后终端临时会话密钥,以及终端数据至服务器。
所述第二验证模块6,具体用于服务器使用服务器根证书验证接收到的终端工作证书的合法性;
所述第二获取模块7,具体包括:
第一验签对比单元71,用于合法性验证通过后,通过终端工作证书,使用国密算法验签所述终端数据,并对比验签后得到的数据与所述接收到的加密后终端临时会话密钥;
第一解密单元72,用于若一致,则通过服务器私钥,使用国密算法解密所述加密后终端临时会话密钥,得到终端临时会话密钥。
所述第二传输模块9,具体包括:
第二加密签名单元91,用于通过终端工作证书,使用国密算法加密所述服务器临时会话密钥,得到加密后服务器临时会话密钥,并使用服务器私钥对其进行签名,得到服务器数据;
第三发送单元92,用于服务器发送所述加密后服务器临时会话密钥和服务器数据至终端。
所述第一获取模块4,具体包括:
第二验签对比单元41,用于终端使用服务器工作证书验签接收到的服务器数据,并对比验签后得到的数据与所述加密后服务器临时会话密钥;
第二解密单元42,用于若一致,则使用终端私钥,使用国密算法解密所述加密后服务器临时会话密钥,得到服务器临时会话密钥。
所述第四生成模块10,具体包括:
第一生成单元101,用于服务器依据其存储的服务器临时会话密钥和终端临时会话密钥生成临时会话密钥,并生成对应的第一验证值;
比较单元102,用于服务器比较所述第一验证值与接收到的所述第二验证值;
所述第二生成模块5,具体包括:
第二生成单元51,用于终端依据其存储的终端临时会话密钥和服务器临时会话密钥得到临时会话密钥;
第三生成单元52,用于终端生成与其临时会话密钥对应的第二验证值,并将所述第二验证值发送至服务器。
终端还包括:
第四生成模块,用于终端生成随机数;
所述第一传输模块,具体用于终端将生成的随机数同生成的终端临时会话密钥一起使用所述国密算法安全传输给服务器;
所述服务器还包括:
第五生成模块,用于服务器生成随机数;
所述第二传输模块,具体用于服务器将生成的随机数同生成的服务器临时会话密钥一起使用所述国密算法安全传输给终端。
所述第一发送单元,具体用于服务器生成第一随机数,并将其同所述服务器工作证书一起发送至终端;
所述第一加密签名单元,具体使用终端私钥签名所述第一随机数和所述加密后终端临时会话密钥,得到终端数据;
所述第一验签对比单元,具体对比验签后得到的包括第一随机数的数据与自身存储的第一随机数以及所述接收到的加密后终端临时会话密钥。
综上所述,本发明提供的基于国密算法协商临时会话密钥的方法,具有以下优点:
(1)通过POS终端的硬件安全机制保证根证书无法被篡改,从而保证整个证书链的安全性。
由于根证书是整个证书体系的最上层证书,若根证书被攻击者非法替换为其它根证书,则攻击者可以重新建立一套自己的证书体系,窃取通讯数据,因此如何保护根证书不被替换是重中之中。
本发明依托于POS终端的硬件安全机制,POS的硬件安全机制保护POS运行的固件无法被非法替换,因此将根证书编码到POS终端的固件中,防止根证书被修改。
若根证书被篡改,则POS终端的固件必然受到破坏,POS终端会显示异常信息,无法再正常使用POS终端。
(2)两级证书体系,通过根证书验证下级证书的合法性,防止工作证书被非法替换为其它证书;
(3)利用POS终端的硬件安全机制保证私钥无法被窃取。由于私钥属于敏感数据,需要保护私钥防止被攻击者非法获取。基于POS终端的硬件安全机制,将私钥保存在POS终端内部的硬件安全区内,该区域只有固件才能读取、写入,POS上的应用程序无法操作该区域,当前POS终端检测到异常时(如外壳被打开)则会自动清除私钥,保证私钥的安全性。
(4)使用SM2算法完成临时会话密钥的协商,提高协商的效率.
(5)协商过程,通过随机数防止防放攻击;
现有技术通常是使用时间戳和随机数防重置,本发明只需要用到随机数就可以做到防重置,接收方收到发送方的数据后,比较接收到的签名里随机数与自身随机数是否一致,即可做到防重置攻击。
(6)协商过程,由于证书是可以公开的,通过对密文的密钥也签名,接收方在接收到密钥后,与签名数据里包含的密钥密文做比对,防止密钥密文在通讯过程中在替换为其它值,从而防止中间人攻击;
(7)通过一种安全方式远程注入非对称密钥和证书到终端,且通过系统后台集中生成的方式避免了终端性能差异对生产效率的影响,同时采用了自动安全注入的方式,减少了人工操作和维护产线安全机房的成本。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (25)
1.一种基于国密算法协商临时会话密钥的方法,其特征在于,包括:
终端使用国密算法验证服务器身份的合法性;合法性验证通过后,终端生成终端临时会话密钥;
终端使用国密算法安全传输所述终端临时会话密钥至服务器;
服务器使用国密算法验证终端身份的合法性;合法性验证通过后,服务器使用国密算法获取所述终端临时会话密钥;
服务器生成服务器临时会话密钥,并使用国密算法将其安全传输至终端;
终端使用国密算法获取所述服务器临时会话密钥;
服务器和终端依据所述服务器临时会话密钥以及所述终端临时会话密钥得到临时会话密钥;
所述服务器和终端分别依据所述服务器临时会话密钥以及所述终端临时会话密钥得到临时会话密钥;具体为:
服务器依据其存储的服务器临时会话密钥和终端临时会话密钥生成临时会话密钥,并生成对应的第一验证值;
终端依据其存储的终端临时会话密钥和服务器临时会话密钥得到临时会话密钥;
终端生成与其临时会话密钥对应的第二验证值,并将所述第二验证值发送至服务器;
服务器比较所述第一验证值与接收到的所述第二验证值;
若一致,终端和服务器分别使用各自生成的临时会话密钥加密后续的数据。
2.如权利要求1所述的基于国密算法协商临时会话密钥的方法,其特征在于,所述终端使用国密算法安全传输所述终端临时会话密钥至服务器,具体为:
终端使用国密算法对所述终端临时会话密钥进行加密签名后,将其发送至服务器;
所述服务器使用国密算法获取所述终端临时会话密钥,具体为:
服务器使用国密算法对接收到的加密签名后的终端临时会话密钥进行验签解密后,得到所述终端临时会话密钥。
3.如权利要求1或2所述的基于国密算法协商临时会话密钥的方法,其特征在于,所述服务器生成服务器临时会话密钥,并使用国密算法将其安全传输至终端,具体为:
服务器生成服务器临时会话密钥,并使用国密算法对所述服务器临时会话密钥进行加密签名后,将其发送至终端;
所述终端使用国密算法获取所述服务器临时会话密钥,具体为:
终端使用国密算法对接收到的加密签名后的服务器临时会话密钥进行验签解密后,得到所述服务器临时会话密钥。
4.如权利要求1所述的基于国密算法协商临时会话密钥的方法,其特征在于,还包括:
在终端出厂前,预置SM2根证书、SM2工作证书以及SM2私钥至终端的硬件安全区内,作为终端根证书、终端工作证书和终端私钥;
在服务器中预置SM2根证书、SM2工作证书以及SM2私钥,作为服务器根证书、服务器工作证书和服务器私钥。
5.如权利要求4所述的基于国密算法协商临时会话密钥的方法,其特征在于,所述SM2根证书、SM2工作证书以及SM2私钥通过可信的第三方CA机构或者通过自建的CA中心获取。
6.如权利要求4所述的基于国密算法协商临时会话密钥的方法,其特征在于,所述终端使用国密算法验证服务器身份的合法性;合法性验证通过后,终端生成终端临时会话密钥;具体为:
服务器发送服务器工作证书至终端;
终端使用终端根证书验证接收到的服务器工作证书的合法性;
所述合法性验证通过后,生成终端临时会话密钥。
7.如权利要求6所述的基于国密算法协商临时会话密钥的方法,其特征在于,所述终端使用国密算法安全传输所述终端临时会话密钥至服务器;具体为:
终端通过所述服务器工作证书使用国密算法加密所述终端临时会话密钥,得到加密后终端临时会话密钥,并使用终端私钥对其进行签名,得到终端数据;
终端发送终端工作证书、加密后终端临时会话密钥,以及终端数据至服务器。
8.如权利要求7所述的基于国密算法协商临时会话密钥的方法,其特征在于,所述服务器使用国密算法验证终端身份的合法性;合法性验证通过后,服务器使用国密算法获取所述终端临时会话密钥;具体为:
服务器使用服务器根证书验证接收到的终端工作证书的合法性;
合法性验证通过后,通过终端工作证书,使用国密算法验签所述终端数据,并对比验签后得到的数据与所述接收到的加密后终端临时会话密钥;
若一致,则通过服务器私钥,使用国密算法解密所述加密后终端临时会话密钥,得到终端临时会话密钥。
9.如权利要求8所述的基于国密算法协商临时会话密钥的方法,其特征在于,所述服务器生成服务器临时会话密钥,并使用国密算法将其安全传输至终端;具体为:
服务器生成服务器临时会话密钥;
通过终端工作证书,使用国密算法加密所述服务器临时会话密钥,得到加密后服务器临时会话密钥,并使用服务器私钥对其进行签名,得到服务器数据;
服务器发送所述加密后服务器临时会话密钥和服务器数据至终端。
10.如权利要求9所述的基于国密算法协商临时会话密钥的方法,其特征在于,所述终端使用国密算法获取所述服务器临时会话密钥;具体为:
终端使用服务器工作证书验签接收到的服务器数据,并对比验签后得到的数据与所述加密后服务器临时会话密钥;
若一致,则使用终端私钥,使用国密算法解密所述加密后服务器临时会话密钥,得到服务器临时会话密钥。
11.如权利要求1所述的基于国密算法协商临时会话密钥的方法,其特征在于,还包括:
终端和服务器分别生成随机数;
在终端和服务器安全传输各自生成的临时会话密钥给对方时,具体为:
终端和服务器将各自生成的随机数同各自生成的临时会话密钥一起使用所述国密算法安全传输给对方。
12.如权利要求8所述的基于国密算法协商临时会话密钥的方法,其特征在于,所述服务器发送服务器工作证书至终端,具体为:
服务器生成第一随机数,并将其同所述服务器工作证书一起发送至终端;
所述使用终端私钥对其进行签名,得到终端数据,具体为:
使用终端私钥签名所述第一随机数和所述加密后终端临时会话密钥,得到终端数据;
所述对比验签后得到的数据与所述接收到的加密后终端临时会话密钥,具体为:
对比验签后得到的包括第一随机数的数据与自身存储的第一随机数以及所述接收到的加密后终端临时会话密钥。
13.如权利要求1所述的基于国密算法协商临时会话密钥的方法,其特征在于,所述终端为POS终端。
14.一种基于国密算法协商临时会话密钥的系统,其特征在于,包括终端和服务器;所述终端包括:
第一验证模块,用于终端使用国密算法验证服务器身份的合法性;
第一生成模块,用于合法性验证通过后,终端生成终端临时会话密钥;
第一传输模块,用于终端使用国密算法安全传输所述终端临时会话密钥至服务器;
第一获取模块,用于终端使用国密算法获取所述服务器临时会话密钥;
第二生成模块,用于终端依据所述服务器临时会话密钥以及所述终端临时会话密钥得到临时会话密钥;
所述服务器,包括:
第二验证模块,用于服务器使用国密算法验证终端身份的合法性;
第二获取模块,用于合法性验证通过后,服务器使用国密算法获取所述终端临时会话密钥;
第三生成模块,用于服务器生成服务器临时会话密钥;
第二传输模块,用于服务器使用国密算法将服务器临时会话密钥安全传输至终端;
第四生成模块,用于服务器依据所述服务器临时会话密钥以及所述终端临时会话密钥得到临时会话密钥;
所述第四生成模块,具体包括:
第一生成单元,用于服务器依据其存储的服务器临时会话密钥和终端临时会话密钥生成临时会话密钥,并生成对应的第一验证值;
比较单元,用于服务器比较所述第一验证值与接收到的第二验证值;
所述第二生成模块,具体包括:
第二生成单元,用于终端依据其存储的终端临时会话密钥和服务器临时会话密钥得到临时会话密钥;
第三生成单元,用于终端生成与其临时会话密钥对应的第二验证值,并将所述第二验证值发送至服务器;
所述服务器比较所述第一验证值与接收到的所述第二验证值;
若一致,终端和服务器分别使用各自生成的临时会话密钥加密后续的数据。
15.如权利要求14所述的基于国密算法协商临时会话密钥的系统,其特征在于,所述第一传输模块,具体用于终端使用国密算法对所述终端临时会话密钥进行加密签名后,将其发送至服务器;
所述第二获取模块,具体用于服务器使用国密算法对接收到的加密签名后的终端临时会话密钥进行验签解密后,得到所述终端临时会话密钥。
16.如权利要求15所述的基于国密算法协商临时会话密钥的系统,其特征在于,所述第二传输模块,具体用于使用国密算法对所述服务器临时会话密钥进行加密签名后,将其发送至终端;
所述第一获取模块,具体用于终端使用国密算法对接收到的加密签名后的服务器临时会话密钥进行验签解密后,得到所述服务器临时会话密钥。
17.如权利要求14所述的基于国密算法协商临时会话密钥的系统,其特征在于,所述终端包括硬件安全区,用于存储在终端出厂前,预置入的SM2根证书、SM2工作证书以及SM2私钥,作为终端根证书、终端工作证书和终端私钥;
所述服务器还包括安全存储模块,用于存储预置入的SM2根证书、SM2工作证书以及SM2私钥,作为服务器根证书、服务器工作证书和服务器私钥。
18.如权利要求17所述的基于国密算法协商临时会话密钥的系统,其特征在于,还包括第三方CA机构或自建的CA中心;用于颁发所述SM2根证书、SM2工作证书以及SM2私钥。
19.如权利要求17所述的基于国密算法协商临时会话密钥的系统,其特征在于,所述第一验证模块,具体包括:
第一发送单元,用于服务器发送服务器工作证书至终端;
第一验证单元,用于终端使用终端根证书验证接收到的服务器工作证书的合法性。
20.如权利要求19所述的基于国密算法协商临时会话密钥的系统,其特征在于,所述第一传输模块,具体包括:
第一加密签名单元,用于终端通过所述服务器工作证书使用国密算法加密所述终端临时会话密钥,得到加密后终端临时会话密钥,并使用终端私钥对其进行签名,得到终端数据;
第二发送单元,用于终端发送终端工作证书、加密后终端临时会话密钥,以及终端数据至服务器。
21.如权利要求20所述的基于国密算法协商临时会话密钥的系统,其特征在于,所述第二验证模块,具体用于服务器使用服务器根证书验证接收到的终端工作证书的合法性;
所述第二获取模块,具体包括:
第一验签对比单元,用于合法性验证通过后,通过终端工作证书,使用国密算法验签所述终端数据,并对比验签后得到的数据与所述接收到的加密后终端临时会话密钥;
第一解密单元,用于若一致,则通过服务器私钥,使用国密算法解密所述加密后终端临时会话密钥,得到终端临时会话密钥。
22.如权利要求21所述的基于国密算法协商临时会话密钥的系统,其特征在于,所述第二传输模块,具体包括:
第二加密签名单元,用于通过终端工作证书,使用国密算法加密所述服务器临时会话密钥,得到加密后服务器临时会话密钥,并使用服务器私钥对其进行签名,得到服务器数据;
第三发送单元,用于服务器发送所述加密后服务器临时会话密钥和服务器数据至终端。
23.如权利要求22所述的基于国密算法协商临时会话密钥的系统,其特征在于,所述第一获取模块,具体包括:
第二验签对比单元,用于终端使用服务器工作证书验签接收到的服务器数据,并对比验签后得到的数据与所述加密后服务器临时会话密钥;
第二解密单元,用于若一致,则使用终端私钥,使用国密算法解密所述加密后服务器临时会话密钥,得到服务器临时会话密钥。
24.如权利要求14所述的基于国密算法协商临时会话密钥的系统,其特征在于,终端还包括:
第四生成模块,用于终端生成随机数;
所述第一传输模块,具体用于终端将生成的随机数同生成的终端临时会话密钥一起使用所述国密算法安全传输给服务器;
所述服务器还包括:
第五生成模块,用于服务器生成随机数;
所述第二传输模块,具体用于服务器将生成的随机数同生成的服务器临时会话密钥一起使用所述国密算法安全传输给终端。
25.如权利要求23所述的基于国密算法协商临时会话密钥的系统,其特征在于,所述第一发送单元,具体用于服务器生成第一随机数,并将其同所述服务器工作证书一起发送至终端;
所述第一加密签名单元,具体使用终端私钥签名所述第一随机数和所述加密后终端临时会话密钥,得到终端数据;
所述第一验签对比单元,具体对比验签后得到的包括第一随机数的数据与自身存储的第一随机数以及所述接收到的加密后终端临时会话密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711288775.3A CN107896147B (zh) | 2017-12-07 | 2017-12-07 | 一种基于国密算法协商临时会话密钥的方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711288775.3A CN107896147B (zh) | 2017-12-07 | 2017-12-07 | 一种基于国密算法协商临时会话密钥的方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107896147A CN107896147A (zh) | 2018-04-10 |
CN107896147B true CN107896147B (zh) | 2020-07-28 |
Family
ID=61807378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711288775.3A Active CN107896147B (zh) | 2017-12-07 | 2017-12-07 | 一种基于国密算法协商临时会话密钥的方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107896147B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110730063B (zh) * | 2018-07-16 | 2022-11-11 | 中国电信股份有限公司 | 安全验证方法、系统、物联网平台、终端和可读存储介质 |
CN109068322B (zh) * | 2018-08-22 | 2022-03-04 | 航天信息股份有限公司 | 解密方法、系统、移动终端、服务器及存储介质 |
CN109842489B (zh) * | 2018-12-24 | 2022-07-19 | 福建联迪商用设备有限公司 | 一种实现安全通信的方法、终端及系统 |
CN109861817A (zh) * | 2019-02-26 | 2019-06-07 | 数安时代科技股份有限公司 | 生成密钥的方法、装置、系统、设备和介质 |
CN110719162B (zh) * | 2019-09-04 | 2022-08-09 | 浪潮金融信息技术有限公司 | 一种基于sm2算法保障银行自助终端系统安全的方法 |
CN111654510B (zh) * | 2020-06-28 | 2022-08-16 | 福建捷宇电脑科技有限公司 | 一种带有国密加密功能的签批终端及签批数据传输方法 |
CN111865609A (zh) * | 2020-07-03 | 2020-10-30 | 上海缔安科技股份有限公司 | 一种基于国密算法的私有云平台数据加解密系统 |
CN112003843A (zh) * | 2020-08-12 | 2020-11-27 | 中电科技(北京)有限公司 | 国产bmc服务器ssl认证方法及装置 |
CN112822015B (zh) * | 2020-12-30 | 2023-07-04 | 中国农业银行股份有限公司 | 信息传输方法及相关装置 |
CN113079022B (zh) * | 2021-03-31 | 2022-02-18 | 郑州信大捷安信息技术股份有限公司 | 一种基于sm2密钥协商机制的安全传输方法和系统 |
CN114499891A (zh) * | 2022-03-21 | 2022-05-13 | 宁夏凯信特信息科技有限公司 | 一种签名服务器系统以及签名验证方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106712932A (zh) * | 2016-07-20 | 2017-05-24 | 腾讯科技(深圳)有限公司 | 密钥管理方法、装置及系统 |
WO2017133411A1 (zh) * | 2016-02-04 | 2017-08-10 | 华为技术有限公司 | 会话密钥协商的方法、装置和系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102412971B (zh) * | 2011-11-30 | 2015-04-29 | 西安西电捷通无线网络通信股份有限公司 | 基于sm2密钥交换协议的密钥协商方法及装置 |
CN103338215B (zh) * | 2013-07-26 | 2016-12-28 | 中金金融认证中心有限公司 | 基于国密算法建立tls通道的方法 |
CN104468125A (zh) * | 2014-12-24 | 2015-03-25 | 江西倍康信息技术有限公司 | 基于国密算法的移动互联网信息通信加密方法 |
CN107135219B (zh) * | 2017-05-05 | 2020-04-28 | 四川长虹电器股份有限公司 | 一种物联网信息安全传输方法 |
-
2017
- 2017-12-07 CN CN201711288775.3A patent/CN107896147B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017133411A1 (zh) * | 2016-02-04 | 2017-08-10 | 华为技术有限公司 | 会话密钥协商的方法、装置和系统 |
CN106712932A (zh) * | 2016-07-20 | 2017-05-24 | 腾讯科技(深圳)有限公司 | 密钥管理方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
基于动态ID的远程用户交互认证方案;昝亚洲等;《信息工程大学学报》;20140615;第15卷(第03期);第262-269页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107896147A (zh) | 2018-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107896147B (zh) | 一种基于国密算法协商临时会话密钥的方法及其系统 | |
US10609014B2 (en) | Un-password: risk aware end-to-end multi-factor authentication via dynamic pairing | |
EP2991267B1 (en) | Apparatus for providing puf-based hardware otp and method for authenticating 2-factor using same | |
CN106656510B (zh) | 一种加密密钥获取方法及系统 | |
CN102664739A (zh) | 一种基于安全证书的pki实现方法 | |
US20150113283A1 (en) | Protecting credentials against physical capture of a computing device | |
US10693645B2 (en) | Security management system for performing a secure transmission of data from a token to a service provider server by means of an identity provider server | |
CN107104795B (zh) | Rsa密钥对和证书的注入方法、架构及系统 | |
US9647842B2 (en) | Dual-party session key derivation | |
CN105162797A (zh) | 一种基于视频监控系统的双向认证方法 | |
CN102624711B (zh) | 一种敏感信息传输方法及系统 | |
CN103051869A (zh) | 一种摄像头视频实时加密系统及加密方法 | |
CN103905388A (zh) | 一种认证方法、认证装置、智能卡、服务器 | |
US20120124378A1 (en) | Method for personal identity authentication utilizing a personal cryptographic device | |
CN101789068A (zh) | 读卡器安全认证装置及方法 | |
CN108401494B (zh) | 一种传输数据的方法及系统 | |
US9876774B2 (en) | Communication security system and method | |
CN111263360A (zh) | 采用公钥保护可变机械认证密码的无线加密装置及方法 | |
US8953804B2 (en) | Method for establishing a secure communication channel | |
KR101947408B1 (ko) | PUF 기반 하드웨어 OTP 제공 장치 및 이를 이용한 2-Factor 인증 방법 | |
WO2018119852A1 (en) | Method for mutual authentication between device and secure element | |
EP3185504A1 (en) | Security management system for securing a communication between a remote server and an electronic device | |
EP3337083A1 (en) | Method for secure management of secrets in a hierarchical multi-tenant environment | |
CN108352990B (zh) | 一种传输数据的方法及系统 | |
KR101146509B1 (ko) | 모바일 보안카드를 이용한 인터넷 뱅킹 거래 시스템 및 그 방법 |
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 |