CN113722726A - 基于软硬件协同的加解密方法及系统 - Google Patents
基于软硬件协同的加解密方法及系统 Download PDFInfo
- Publication number
- CN113722726A CN113722726A CN202110182077.5A CN202110182077A CN113722726A CN 113722726 A CN113722726 A CN 113722726A CN 202110182077 A CN202110182077 A CN 202110182077A CN 113722726 A CN113722726 A CN 113722726A
- Authority
- CN
- China
- Prior art keywords
- encryption
- data
- data token
- service
- software
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000008569 process Effects 0.000 claims abstract description 27
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 9
- 230000002159 abnormal effect Effects 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 description 61
- 238000007726 management method Methods 0.000 description 26
- 230000006870 function Effects 0.000 description 24
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 238000012795 verification Methods 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 4
- 230000008676 import Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000006378 damage Effects 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- VBMOHECZZWVLFJ-GXTUVTBFSA-N (2s)-2-[[(2s)-6-amino-2-[[(2s)-6-amino-2-[[(2s,3r)-2-[[(2s,3r)-2-[[(2s)-6-amino-2-[[(2s)-2-[[(2s)-6-amino-2-[[(2s)-2-[[(2s)-2-[[(2s)-2,6-diaminohexanoyl]amino]-5-(diaminomethylideneamino)pentanoyl]amino]propanoyl]amino]hexanoyl]amino]propanoyl]amino]hexan Chemical compound NC(N)=NCCC[C@@H](C(O)=O)NC(=O)[C@H](CCCCN)NC(=O)[C@H](CCCCN)NC(=O)[C@H]([C@@H](C)O)NC(=O)[C@H]([C@H](O)C)NC(=O)[C@H](CCCCN)NC(=O)[C@H](C)NC(=O)[C@H](CCCCN)NC(=O)[C@H](C)NC(=O)[C@H](CCCN=C(N)N)NC(=O)[C@@H](N)CCCCN VBMOHECZZWVLFJ-GXTUVTBFSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 108010068904 lysyl-arginyl-alanyl-lysyl-alanyl-lysyl-threonyl-threonyl-lysyl-lysyl-arginine Proteins 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- 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)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Telephonic Communication Services (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种基于软硬件协同的加解密方法及系统,属于数据安全技术领域,所述方法包括:获取调用方的用户登录信息,对所述用户进行身份认证后获取服务器端的第一交换密钥因子,并在本地生成第一交换密钥对;根据所述第一交换密钥因子和所述第一交换密钥对进行计算,得到第一会话密钥,并使用所述第一会话密钥加密用户登录应用程序标识号和本机IP,生成第一数据令牌;将所述第一数据令牌进行加密后返回给调用方,并由调用方解密成功后完成登录流程以发起业务请求操作。本发明通过构建基于软硬件协同的加解密系统,实现密钥的自动生成和更新,并结合软硬件加密的优点实现数据安全保护。
Description
技术领域
本发明涉及数据安全技术领域,尤其涉及一种基于软硬件协同的加解密方法及系统。
背景技术
近年来,各企、事业单位以及国家机关纷纷建立了自己的信息中心,并且各信息中心的规模在不断扩大,地位和作用也越来越突出,安全问题也就逐渐被人们所重视,一旦系统后台存放的关键数据的泄密会给企业带来不可估量的损失。因此,在信息中心建立一套完善的安全机制,可以有效防止来自外部和内部的非法数据侵袭。
从技术实现的方式来看,目前存在两类加密机制:软件加密和硬件加密。软件加密实现容易,投资较小,但密钥及算法易于外泄,安全级别有所降低;硬件加密采用硬件加密机进行加密运算,需要增加设备投资,扩容、管理、运维难度较大,但对密钥及算法的保护比较充分。
发明内容
本发明提供一种基于软硬件协同的加解密方法及系统,用以解决现有技术中通过软件加密数据存在密钥及算法易于外泄的问题或通过硬件加密数据存在设备投资大等问题,结合软硬件加密的优点实现数据安全保护。
本发明还提供一种基于软硬件协同的加解密方法,包括:
获取调用方的用户登录信息,对所述用户进行身份认证后获取服务器端的第一交换密钥因子,并在本地生成第一交换密钥对;
根据所述第一交换密钥因子和所述第一交换密钥对进行计算,得到第一会话密钥,并使用所述第一会话密钥加密用户登录应用程序标识号APP ID和本机,生成第一数据令牌;
将所述第一数据令牌进行加密后返回给调用方,并由调用方解密成功后完成登录流程以发起业务请求操作。
根据本发明提供的一种基于软硬件协同的加解密方法,所述将所述第一数据令牌进行加密后返回给调用方,包括:
将所述第一数据令牌、所述用户登录应用程序标识号APP ID以及所述第一交换密钥对的第二交换密钥因子进行保存;
使用所述第一会话密钥加密所述第一数据令牌,得到第二数据令牌,并将加密后的第二数据令牌返回给调用方。
根据本发明提供的一种基于软硬件协同的加解密方法,所述由调用方解密成功后完成登录流程以发起业务请求操作,还包括:
当接收到用户非正常登出或重复登录时,身份验证中心将第一数据令牌做过期处理。
根据本发明提供的一种基于软硬件协同的加解密方法,所述由调用方解密成功后完成登录流程以发起业务请求操作,包括:
将用户登录时所产生的会话密钥加密业务数据,并获取登录时产生的第三数据令牌和调用方的第二交换密钥因子、应用程序标识号APP ID;
通过用户登录APP ID查询用户的第二交换密钥对,使用所述第二交换密钥因子和所述第二交换密钥对计算第二会话密钥;
使用所述第二会话密钥解密已加密的业务数据,解密所述业务数据成功后,完成对应的业务操作。
根据本发明提供的一种基于软硬件协同的加解密方法,所述使用所述第二会话密钥解密已加密的业务数据,解密所述业务数据成功后,完成对应的业务操作,包括:
校验所述第三数据令牌的有效性;
当确认所述第三数据令牌有效后,解密所述业务数据;
将完成对应的业务操作的业务结果使用所述第二会话密钥进行加密后,返回给调用方。
本发明提供一种基于软硬件协同的加解密系统,包括:
安全接入前置中心,用于将获取调用方的用户登录信息进行转发;
身份认证中心,用于对所述安全接入前置中心发来的用户登录信息进行身份认证后获取服务器端的第一交换密钥因子,并在本地生成第一交换密钥对,并根据所述第一交换密钥因子和所述第一交换密钥对进行计算,得到第一会话密钥,并使用所述第一会话密钥加密用户登录应用程序标识号和本机IP,生成第一数据令牌;将所述第一数据令牌进行加密后返回给调用方,并由调用方解密成功后完成登录流程以发起业务请求操作。
根据本发明提供的一种基于软硬件协同的加解密系统,还包括:
内存强一致中心,用于保存所述第一数据令牌、所述用户登录应用程序标识号以及所述第一交换密钥对的第二交换密钥因子;
所述身份认证中心还用于使用所述第一会话密钥加密所述第一数据令牌,得到第二数据令牌,并第二数据令牌返回给调用方根据本发明提供的一种基于软硬件协同的加解密系统,还包括:
安全运算中心,用于将用户登录时所产生的会话密钥加密业务数据,并获取登录时产生的第三数据令牌和调用方的第二交换密钥因子、应用程序标识号;通过用户登录应用程序标识号查询用户的第二交换密钥对,使用所述第二交换密钥因子和所述第二交换密钥对计算第二会话密钥;使用所述第二会话密钥解密已加密的业务数据,解密所述业务数据成功后,完成对应的业务操作。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于软硬件协同的加解密方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于软硬件协同的加解密方法的步骤。
本发明提供的一种基于软硬件协同的加解密方法及系统,通过构建基于软硬件协同的加解密系统,可在服务器端实现密钥的自动生成和更新,而业务终端对于密钥的版本更新毫无感知,提高了数据的安全性。并且基于构建软硬件协同的加解密系统,通过生成的第一数据令牌对数据进行加密后实现了对第一会话密钥的加密管理,并且保证第一交换密钥对的应用与内部人员均不可见从而完成对数据的保护,并且加解密服务简单易用。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的基于软硬件协同的加解密系统的框图;
图2是本发明提供的用户登录基于软硬件协同的加解密系统的流程示意图;
图3是本发明提供的令牌生命周期管理的流程示意图;
图4是本发明提供的用户业务请求流程的流程示意图;
图5是本发明基于软硬件协同的加解密系统的时序图;
图6是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。
下面针对本发明涉及的一些技术术语进行解释。
国密即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。
SM1为对称加密。其加密强度与AES(英语:Advanced Encryption Standard,中文:高级加密标准)相当。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。
采用该算法已经研制了系列芯片、智能IC卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括国家政务通、警务通等重要领域)。
SM2为非对称加密,基于ECC(英文:Ellipse Curve Ctyptography,是一种基于椭圆曲线数学的公开密钥加密算法)。该算法已公开。由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA(一种非对称加密算法)。ECC 256位(SM2采用的就是ECC 256位的一种)安全强度比RSA 2048位高,但运算速度快于RSA。
SM2算法:SM2椭圆曲线公钥密码算法是我国自主设计的公钥密码算法,包括SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议,SM2-3椭圆曲线公钥加密算法,分别用于实现数字签名密钥协商和数据加密等功能。SM2算法与RSA算法不同的是,SM2算法是基于椭圆曲线上点群离散对数难题,相对于RSA算法,256位的SM2密码强度已经比2048位的RSA密码强度要高。
SM3消息摘要。可以用MD5作为对比理解。该算法已公开。校验结果为256位。
SM3算法:SM3杂凑算法是我国自主设计的密码杂凑算法,适用于商用密码应用中的数字签名和验证消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。为了保证杂凑算法的安全性,其产生的杂凑值的长度不应太短,例如MD5输出128比特杂凑值,输出长度太短,影响其安全性。SHA-1算法的输出长度为160比特,SM3算法的输出长度为256比特,因此SM3算法的安全性要高于MD5算法和SHA-1算法。
SM4无线局域网标准的分组数据算法。对称加密,密钥长度和分组长度均为128位。
SM4算法:SM4分组密码算法是我国自主设计的分组对称密码算法,用于实现数据的加密/解密运算,以保证数据和信息的机密性。要保证一个对称密码算法的安全性的基本条件是其具备足够的密钥长度,SM4算法与AES算法具有相同的密钥长度分组长度128比特,因此在安全性上高于3DES算法。
随着国家安全战略国密算法推广与战略落地要求临近,国密算法推广涉及到了方方面面的企业数据安全系统升级与改造,例如:互联网金融业、电商等行业,每日移动应用程序(APP)的活跃用户规模已经达到亿级规模,终端数据到后台系统,涉及到了复杂通信加密,存储加密,身份认证,数据签名,签名验证等大量密码学算法应用。大型互联网金融企业,每天需要处理密文数据已达PB计算规模。
传统的完全依赖硬件加密机进行数据安全在针对移动性强的海量数据流时,需要大量硬件集群支撑,对于企业投入巨大,效用也大打折扣,给推广应用带来了巨大阻碍,因此对于海量数据的处理其加解密效率历来是关注的重点问题。
传统金融硬件物理加密机集群,面对互联网环境存在以下缺点:
第一、硬件成本问题:互联网环境下每天均有海量的存储与通信数据加解密需求,如果直接使用物理加密机完成全部的密码运算,需加密机集群支持加解密,且硬件更新换代周期较短,需要企业对硬件投资巨大。
第二、灵活使用密码算法问题:互联网环境下,移动APP与各个业务系统面对复杂的互联网业务场景,需要有灵活,高可用的软件密码服务,应对复杂的业务场景进行快速需求迭代与需求响应。依靠传统硬件安全厂商密码产品,很难满足互联网环境下的快速迭代,快速变化的数据保护需求
第三、高可用问题:极端情况下,因软件升级故障,或者硬件升级连锁性质生产的故障,造成全部的物理加密机无法响应,面对互联网高可用服务承担风险系数较高。
综上,针对典型的互联网企业来说,全部密文数据使用物理加密机进行数据加解密均很难推广实现。
因此,本发明提供一种基于软硬件协同的加解密方法及系统,用以解决现有技术中通过软件加密数据存在密钥及算法易于外泄的问题或通过硬件加密数据存在设备投资大等问题,结合软硬件加密的优点实现数据安全保护。
下面结合图1-图6描述本发明的基于软硬件协同的加解密方法及系统。
图1是本发明所述基于软硬件协同的加解密系统的框图,如图所示。一种基于软硬件协同的加解密系统100,包括后台管理中心103、身份认证中心104、安全运算中心105、密钥生成中心106、硬件安全中心107以及硬件设备108。
可选的,本发明所述基于软硬件协同的加解密系统各组件间通过socket(套接字)通信,各组件通过Zookeeper(是一个分布式的,开放源码的分布式应用程序协调服务)实现服务注册和发现,支持动态扩展,实现高可用,支持高并发功能,支持多机同时访问。
后台管理中心103,为系统的管理界面,用于提供控制、监控系统和进行系统升级服务。
具体的,后台管理中心103具有系统监测功能,可以监测密码机硬件、软件以及产品各组件的运行状态,并且可对故障的实现自动报警功能。并且,后台管理中心103提供web方式配置管理,可以对密钥,证书,设备运行等管理操作。
具体的,后台管理中心103可以通过Web页面进行管理,后台管理中心103设有管理界面,负责整个系统的管理功能,包括可以对密钥、数字证书、硬件设备的运行等管理操作,比如密钥产生管理、用户产生管理、用户权限管理、数字证书管理、审计管理以及报警管理等。此外,后台管理中心103还提供整个系统的初始化过程,产生各个功能模块的安装部署脚本和安装程序包,产生调用示例的demo和调用的SDK(Software Development Kit,软件开发工具包)API(Application Programming Interface,应用程序编程接口),并自动完成SDK API的配置信息。并且,后台管理中心103还提供了整个系统的升级维护功能。
可选的,后台管理中心103对数字证书的生命周期管理包括:证书导入、证书验证、证书解析、证书请求生成、证书下载以及证书签发等功能。所述证书格式支持标注X.509格式证书、、PKCS#12格式证书、国密证书等。
身份认证中心104,与所述后台管理中心103连接,包括用户认证和设备认证,用于管理用户和用户对密钥的使用权限。
具体的,所述用户认证用于Web端管理。系统初始化时可设置管理员admin的登录密码,之后管理员登录系统,并进行会话生命周期管理。所述设备认证用于使用IP限制,对调用方做强身份认证限制。所述强身份验证是一种多因素的方法,用于确认寻求获取信息或进入限制区域的人的身份,比如用户名/密码绑定的物品(如用户所拥有的动态密码卡产生的一次性密码,或用户所拥有的数字证书等),以确保用户身份的真实性。
身份认证中心104在认证完成之后会产生唯一身份标识token(令牌),身份标识设有生命周期管理,同一个IP地址默认只有一个身份标识,但是本发明也可支持多身份标识,即同一个IP地址可以有多个身份标识,但是需要对系统进行另外的功能设置。
安全运算中心105,与所述后台管理中心103连接,用于提供加密算法的运算服务。
可选的,所述加密算法包括对称算法或非对称算法,所述对称算法可以是SM4,非对称算法可以是SM2,摘要算法可以是SM3。
具体的,安全运算中心105可完成系统所支持的各种算法运算。在进行运算前会对调用方提供的身份标识进行鉴权,权限验证通过之后才可以进行算法运算,运算过程中所使用的密钥(对称密钥或非对称密钥)不会外泄,保证了密钥的安全。
可选的,所述安全运算中心105发放的数字证书同时提供更新功能,在数字证书有效过期前某个时间自动进行更新操作,比如系统可设为7天前自动进行更新操作。
密钥生成中心106,与所述安全运算中心105连接,用于生成密钥以及对密钥的生命周期进行管理。
具体的,密钥生成中心106对密钥的生命周期进行管理包括:密钥的产生、密钥的安全存储、密钥导出、密钥导入、密钥的备份恢复以及密钥销毁等功能。
可选的,所述密钥生成中心106提供通过非对称算法生成密钥的服务,可以大量快速的产生密钥。
具体的,密钥生成中心106可提供大量密钥自动产生功能,并提供对密钥生命周期的管理功能。密钥的存储和使用由所述安全运算中心105负责,所有密钥均以密文的形式进行保存。另外,本发明还设定离开本系统的密钥均无法使用。
硬件安全中心107,与所述安全运算中心105与所述后台管理中心103连接,用于使用硬件设备108生成随机数、算法密钥以及转加密功能。
具体的,硬件安全中心107使用硬件设备108生成随机数、SM2密钥、SM4密钥以及转加密功能。所述转加密功能是系统以接口的形式提供的一项数据功能,即将密文进行再一次加密。
可选的,所述硬件安全中心107支持连接多种硬件设备108,比如加密机、时间戳服务器、签名验签服务等,并且提供通道自动或手动切换功能。
具体的,硬件安全中心107负责后台硬件设备108(比如硬件加密机)的接入服务,可将加密机的调用方式设置为屏蔽,方便对硬件设备108的管理和维护。
可选的,本发明所述基于软硬件协同的加解密系统100还包括安全接入前置中心102。安全接入前置中心102,与所述后台管理中心103连接,所述安全接入前置中心102为服务调用入口,用于为调用方提供多种编程语言的接入服务。
可选的,安全接入前置中心102,提供多种编程语言的接入服务,比如支持java,c/c++,python,go等。
安全接入前置中心102是系统的整个服务的调用入口,接口采用Dubbo协议实现RPC(英文:Remote Procedure Call Protocol,中文:远程过程调用协议)过程调用。
Dubbo是一种服务框架,使得应用可通过高性能的RPC实现服务的输出和输入功能,可以和Spring框架无缝集成。Dubbo框架,是基于容器运行的,容器是Spring。
可选的,本发明所述基于软硬件协同的加解密系统100还包括内存强一致中心109,所述内存强一致中心109用于完成系统各中心模块的数据同步和数据传递功能,并提供服务接口注册功能,接收由所述安全接入前置中心发来的服务信息。
具体的,内存强一致中心109可完成系统各个模块之间的数据同步和消息传递功能,可使用zookeeper和redis配合完成。内存强一致中心109同时提供服务接口注册中心功能,调用方101从此中心获取调用服务的连接信息。
zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的一个开源的实现,是Hadoop(是一个分布式系统基础架构)和Hbase(是一个分布式的、面向列的开源数据库)的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
Redis(Remote Dictionary Server,远程字典服务),是一个开源的使用ANSIC(是美国国家标准协会ANSI对C语言发布的标准)语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
可选的,安全接入前置中心102的协议使用网络长连接方式,可保证高并发和高可用性能。安全接入前置中心102启动后将服务的连接信息发布到内存强一致中心,当安全接入前置中心重启或者宕机时,内存强一致中心的连接信息会自动将故障连接信息下线,保证调用方101不会使用到故障的安全接入前置中心102。
由此可知,本发明提供的基于软硬件协同的加解密系统,可灵活部署于通用的互联网虚拟主机平台,通过以来硬件设备如加密机使用SM2,SM3,SM4算法实现软件国密算法并对互联网海量数据进行加解密操作,所述算法可与加密机进行相互解密,并且依赖加密机实现SM2,SM3,SM4国密算法,极大降低数据安全运算对业务响应时间的影响。
此外,通过本发明实现的国密算法服务,可以根据互联网服务流量的需求,简单快速的实现动态水平扩容;并且可实现互联网客户端环境复杂多变,对服务响应要求高,包括对单用户的业务响应时间以及对极端大流量情况下,业务系统应对的响应,在保障用户良好体验的基础下实现了数据安全功能。
图2是本发明提供的用户登录基于软硬件协同的加解密系统的流程示意图,如图所示。
步骤201,安全接入前置中心获取调用方的用户登录信息,并由身份认证中心对所述用户进行身份认证后获取服务器端的第一交换密钥因子A2,并在本地生成第一交换密钥对B。
需要说明的是,为了便于区分加解密过程,用符号A2表示第一交换密钥因子,用符号B表示第一交换密钥,所述符号不具有特别含义,只是用于区分名称,以下相同。
步骤202,身份认证中心根据所述第一交换密钥因子A2和所述第一交换密钥对B进行计算,得到第一会话密钥K1,并使用所述第一会话密钥K1加密用户登录应用程序标识号(APP ID)和本机IP,生成第一数据token令牌T1。
步骤203,身份认证中心将所述第一数据令牌T1进行加密后返回给调用方,并由调用方解密成功后完成登录流程以发起业务请求操作。
具体的,身份认证中心将所述第一数据令牌T1、所述用户登录APP ID以及所述第一交换密钥对B的第二交换密钥因子B2保存至所述内存强一致中心,并同步至所述身份认证中心。
然后身份认证中心使用所述第一会话密钥K1加密所述第一数据令牌T1,得到第二数据令牌T2,并将加密后的第二数据令牌T2经过所述安全接入前置中心返回给调用方,并由调用方解密所述第二数据令牌T2,成功获得登录的APP ID和IP,以完成登录流程。
完成上述的登录流程之后,系统可以对token生命周期进行管理,也可以通过调用方发起业务请求操作。
图3是本发明提供的token生命周期管理的流程示意图,如图所示。
步骤301,当用户完成登录流程之后,当安全接入前置中心接收到用户发生非正常登出或重复登录等信息时,身份验证中心通知内存强一致中心将第一数据token令牌T1做过期处理。
具体的,身份验证中心将上次生成的第一数据token令牌T1进行销毁处理。
图4是本发明提供的用户业务请求流程的流程示意图,如图所示。
步骤401,用户的登录请求通过上述身份认证之后,调用方登录安全接入前置中心发起业务请求,安全运算中心则使用用户登录时产生的会话密钥加密业务数据,将登录产生的第三数据token令牌T3和调用方的第二交换密钥因子B2、APP ID一同提交至安全运算中心进行业务操作。安全运算中心,用于完成登录流程后,对调用方通过所述安全接入前置中心发来的业务请求操作进行处理。
步骤402,安全运算中心的业务操作流程为:通过用户登录APP ID查询用户的第二交换密钥对A,使用所述第二交换密钥因子B2和所述第二交换密钥对A计算第二会话密钥K2。
步骤403,安全运算中心使用所述第二会话密钥K2解密已加密的业务数据,解密所述业务数据成功后,完成对应的业务操作。
具体的,在使用所述第二会话密钥K2解密已加密的业务数据,解密所述业务数据成功后,校验第三数据令牌token T3的有效性,确认第三数据令牌token T3有效后,解密所述业务数据,即解密所述调用方发起的业务请求,处理业务流程完成对应的业务操作后,使用所述第二会话密钥K2加密所述业务操作的业务结果,并将加密后的业务结果返回给调用方。
综上所述,通过图2提供的用户登录加解密过程、图3提供的数据token令牌的生命周期管理以及图4提供的业务处理的过程可知,本发明充分考虑到互联网业务对安全等级的要求,特别是数据库内敏感信息的保护,同时针对互联网业务的高并发和低延时的特点,要求系统提供不中断服务,设计了多重容错处理,高并发架构,多机房服务,支持安全算法的软硬件结合方案,对支付系统、银行卡信息、用户个人敏感数据以及支付过程中产生的敏感数据等,进行通信加密与数据存储加密,来解决对敏感数据的加密与对加密钥的保护的问题,在灵活积极地响应互联网及移动端突如其来的各种变化同时提供优良的安全保护,防止第三方外部攻击者,以及内部人员对数据的窃取与读取。即使落地数据外泄的情况下,也保证外部人员,甚至配合内部人员仍然无法解密核心数据,从而保证数据安全,为用户提供高效而安全的全新的信息环境。
图5是本发明基于软硬件协同的加解密系统的时序图,如图所示。
步骤1,调用方登录流程:用户使用相应接入数据包(比如JAVA编程语言的JAR包)通过安全接入前置中心登录,所述安全接入前置中心设有允许访问地址。
步骤2,通过安全接入前置中心进行登录至身份认证中心,身份认证中心校验会话密钥K1和产生token(令牌)T1。
具体的,身份认证中心从配置文件中获取服务器端的交换密钥因子A2,同时在本地产生自己的交换密码对B。使用A2和B计算出会话密钥K1,使用会话密钥K1加密用户的登录APP ID和自己的本机IP地址得到数据token T1。
步骤3,将数据token T1、APP ID和密钥对B的交换因子B2这三个数据保存至内存强一致中心,同时将这三个数据同步至身份认证中心。
步骤4,使用会话密钥K1加密数据token T1,得到数据token T2。
步骤5,将加密后的token T2通过安全接入前置中心登录返回给调用方(或称“业务终端”)。
步骤6,调用方通过APP ID查询到所述用户的交换密钥对为A,则使用交换因子B2和A计算会话密钥K2,使用会话密钥K2解密数据token,解密成功后获得APP ID和IP。如果系统设置了IP限制规则,则校验IP规则。登录流程完成。
步骤7,当用户成功登录之后,身份认证中心对步骤2产生的数据token生命周期进行管理。
可选的,所述数据token的生命周期管理包括:密钥的产生、密钥的安全存储、密钥导出、密钥导入、密钥的备份恢复、密钥销毁等功能。
步骤8,如果用户非正常登出或重复登录等场景,身份验证中心将步骤2产生的数据token做过期处理,并同步至内存强一致中心。
步骤9,身份认证中心将步骤2产生的数据token进行销毁。
步骤10,通过上述身份认证并登陆成功之后,调用方可通过安全接入前置中心登录安全运算中心,发起业务请求。
安全运算中心使用登录时产生的会话密钥加密业务数据,将登录产生的数据token T3和调用方的第二交换密钥因子B2以及APP ID一起提交至安全运算中心进行业务操作。
步骤11,安全运算中心业务操作流程:通过APP ID查询到所述用户的第二交换密钥对A,使用第二交换密钥因子B2和第二交换密钥对A计算会话密钥K3,使用会话密钥K3解密业务数据token T3。
步骤12,校验数据token T3的有效性。
步骤13~14,当确认数据token T3有效后,解密所述业务请求,处理业务完成对应的业务操作,得到业务结果。
步骤15~16,安全运算中心使用会话密钥K3加密所述业务结果作为业务响应通过安全接入前置中心返回给调用方。
步骤17,调用方解密获取到的所述业务结果,以完成一次的业务操作,以后可继续循环发起业务操作。
图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)610、通信接口(Communications Interface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行上述所述基于软硬件协同的加解密方法的步骤。
此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的基于软硬件协同的加解密方法的步骤。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的基于软硬件协同的加解密方法的步骤。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于软硬件协同的加解密方法,其特征在于,包括:
获取调用方的用户登录信息,对所述用户进行身份认证后获取服务器端的第一交换密钥因子,并在本地生成第一交换密钥对;
根据所述第一交换密钥因子和所述第一交换密钥对进行计算,得到第一会话密钥,并使用所述第一会话密钥加密用户登录应用程序标识号和本机IP,生成第一数据令牌;
将所述第一数据令牌进行加密后返回给调用方,并由调用方解密成功后完成登录流程以发起业务请求操作。
2.根据权利要求1所述的基于软硬件协同的加解密方法,其特征在于,所述将所述第一数据令牌进行加密后返回给调用方,包括:
将所述第一数据令牌、所述用户登录应用程序标识号以及所述第一交换密钥对的第二交换密钥因子进行保存;
使用所述第一会话密钥加密所述第一数据令牌,得到第二数据令牌,并第二数据令牌返回给调用方。
3.根据权利要求1所述的基于软硬件协同的加解密方法,其特征在于,所述将所述第一数据令牌进行加密后返回给调用方,并由调用方解密成功后完成登录流程以发起业务请求操作,还包括:
当接收到用户非正常登出或重复登录时,身份验证中心将所述第一数据令牌做过期处理。
4.根据权利要求1所述的基于软硬件协同的加解密方法,其特征在于,所述将所述第一数据令牌进行加密后返回给调用方,并由调用方解密成功后完成登录流程以发起业务请求操作,包括:
将用户登录时所产生的会话密钥加密业务数据,并获取登录时产生的第三数据令牌和调用方的第二交换密钥因子、应用程序标识号;
通过用户登录应用程序标识号查询用户的第二交换密钥对,使用所述第二交换密钥因子和所述第二交换密钥对计算第二会话密钥;
使用所述第二会话密钥解密已加密的业务数据,解密所述业务数据成功后,完成对应的业务操作。
5.根据权利要求4所述的基于软硬件协同的加解密方法,其特征在于,所述使用所述第二会话密钥解密已加密的业务数据,解密所述业务数据成功后,完成对应的业务操作,包括:
校验所述第三数据令牌的有效性;
当确认所述第三数据令牌有效后,解密所述业务数据;
将完成对应的业务操作的业务结果使用所述第二会话密钥进行加密后,返回给调用方。
6.一种基于软硬件协同的加解密系统,其特征在于,包括:
安全接入前置中心,用于将获取调用方的用户登录信息进行转发;
身份认证中心,用于对所述安全接入前置中心发来的用户登录信息进行身份认证后获取服务器端的第一交换密钥因子,并在本地生成第一交换密钥对,并根据所述第一交换密钥因子和所述第一交换密钥对进行计算,得到第一会话密钥,并使用所述第一会话密钥加密用户登录应用程序标识号和本机IP,生成第一数据令牌;将所述第一数据令牌进行加密后返回给调用方,并由调用方解密成功后完成登录流程以发起业务请求操作。
7.根据权利要求6所述的基于软硬件协同的加解密系统,其特征在于,还包括:
内存强一致中心,用于保存所述第一数据令牌、所述用户登录应用程序标识号以及所述第一交换密钥对的第二交换密钥因子;
所述身份认证中心还用于使用所述第一会话密钥加密所述第一数据令牌,得到第二数据令牌,并第二数据令牌返回给调用方。
8.根据权利要求6所述的基于软硬件协同的加解密系统,其特征在于,还包括:
安全运算中心,用于将用户登录时所产生的会话密钥加密业务数据,并获取登录时产生的第三数据令牌和调用方的第二交换密钥因子、应用程序标识号;通过用户登录应用程序标识号查询用户的第二交换密钥对,使用所述第二交换密钥因子和所述第二交换密钥对计算第二会话密钥;使用所述第二会话密钥解密已加密的业务数据,解密所述业务数据成功后,完成对应的业务操作。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-5任一项所述基于软硬件协同的加解密方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5任一项所述基于软硬件协同的加解密方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110182077.5A CN113722726B (zh) | 2021-02-09 | 2021-02-09 | 基于软硬件协同的加解密方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110182077.5A CN113722726B (zh) | 2021-02-09 | 2021-02-09 | 基于软硬件协同的加解密方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113722726A true CN113722726A (zh) | 2021-11-30 |
CN113722726B CN113722726B (zh) | 2024-04-05 |
Family
ID=78672505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110182077.5A Active CN113722726B (zh) | 2021-02-09 | 2021-02-09 | 基于软硬件协同的加解密方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113722726B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114745167A (zh) * | 2022-04-02 | 2022-07-12 | 中科曙光国际信息产业有限公司 | 身份认证方法和装置、计算机设备、计算机可读存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180212940A1 (en) * | 2017-01-26 | 2018-07-26 | Microsoft Technology Licensing, Llc | Addressing a trusted execution environment using encryption key |
CN109902500A (zh) * | 2019-03-11 | 2019-06-18 | 北京城市网邻信息技术有限公司 | 一种通过链接库实现业务调用数据安全的方法及系统 |
CN111131278A (zh) * | 2019-12-27 | 2020-05-08 | 京东数字科技控股有限公司 | 数据处理方法及装置、计算机存储介质、电子设备 |
CN111541540A (zh) * | 2020-07-07 | 2020-08-14 | 杭州云链趣链数字科技有限公司 | 区块链隐私保护的数据处理方法、装置和计算机设备 |
CN111585753A (zh) * | 2020-04-27 | 2020-08-25 | 盛趣信息技术(上海)有限公司 | 一种业务数据集中加密系统及方法 |
CN111639350A (zh) * | 2020-05-16 | 2020-09-08 | 中信银行股份有限公司 | 密码服务系统及加密方法 |
CN111814133A (zh) * | 2020-05-27 | 2020-10-23 | 平安国际智慧城市科技股份有限公司 | 移动应用统一登录方法及装置 |
US20200342459A1 (en) * | 2019-04-25 | 2020-10-29 | Shazzle, Llc | Trusted customer identity systems and methods |
CN112016106A (zh) * | 2020-08-19 | 2020-12-01 | 杭州指令集智能科技有限公司 | 开放接口的认证调用方法、装置、设备和可读存储介质 |
CN112311545A (zh) * | 2020-11-05 | 2021-02-02 | 杭州电子科技大学 | 一种基于云mes系统用户登录信息多重加密的传输方法 |
-
2021
- 2021-02-09 CN CN202110182077.5A patent/CN113722726B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180212940A1 (en) * | 2017-01-26 | 2018-07-26 | Microsoft Technology Licensing, Llc | Addressing a trusted execution environment using encryption key |
CN109902500A (zh) * | 2019-03-11 | 2019-06-18 | 北京城市网邻信息技术有限公司 | 一种通过链接库实现业务调用数据安全的方法及系统 |
US20200342459A1 (en) * | 2019-04-25 | 2020-10-29 | Shazzle, Llc | Trusted customer identity systems and methods |
CN111131278A (zh) * | 2019-12-27 | 2020-05-08 | 京东数字科技控股有限公司 | 数据处理方法及装置、计算机存储介质、电子设备 |
CN111585753A (zh) * | 2020-04-27 | 2020-08-25 | 盛趣信息技术(上海)有限公司 | 一种业务数据集中加密系统及方法 |
CN111639350A (zh) * | 2020-05-16 | 2020-09-08 | 中信银行股份有限公司 | 密码服务系统及加密方法 |
CN111814133A (zh) * | 2020-05-27 | 2020-10-23 | 平安国际智慧城市科技股份有限公司 | 移动应用统一登录方法及装置 |
CN111541540A (zh) * | 2020-07-07 | 2020-08-14 | 杭州云链趣链数字科技有限公司 | 区块链隐私保护的数据处理方法、装置和计算机设备 |
CN112016106A (zh) * | 2020-08-19 | 2020-12-01 | 杭州指令集智能科技有限公司 | 开放接口的认证调用方法、装置、设备和可读存储介质 |
CN112311545A (zh) * | 2020-11-05 | 2021-02-02 | 杭州电子科技大学 | 一种基于云mes系统用户登录信息多重加密的传输方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114745167A (zh) * | 2022-04-02 | 2022-07-12 | 中科曙光国际信息产业有限公司 | 身份认证方法和装置、计算机设备、计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113722726B (zh) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102392420B1 (ko) | 다중키 쌍 시그너처를 사용한 프로그램 실행 및 데이터 증명 체계 | |
WO2022206349A1 (zh) | 一种信息验证的方法、相关装置、设备以及存储介质 | |
CN112218294B (zh) | 基于5g的物联网设备的接入方法、系统及存储介质 | |
CN108092776B (zh) | 一种基于身份认证服务器和身份认证令牌的系统 | |
CN111066286B (zh) | 使用高可用性的可信执行环境检索区块链网络的公共数据 | |
CN110933108B (zh) | 基于区块链网络的数据处理方法、装置、电子设备及存储介质 | |
CN110995642B (zh) | 使用预共享密钥提供安全连接 | |
CN103118027B (zh) | 基于国密算法建立tls通道的方法 | |
CN100561916C (zh) | 一种更新认证密钥的方法和系统 | |
CN112686668B (zh) | 联盟链跨链系统及方法 | |
CN110832519A (zh) | 提高区块链网络与外部数据源之间的通信的完整性 | |
CN112737779B (zh) | 一种密码机服务方法、装置、密码机及存储介质 | |
CN107124281B (zh) | 一种数据保全方法和相关系统 | |
CN109361668A (zh) | 一种数据可信传输方法 | |
CN111416807A (zh) | 数据获取方法、装置及存储介质 | |
CN104580189A (zh) | 一种安全通信系统 | |
CN114024710A (zh) | 一种数据传输方法、装置、系统及设备 | |
CN111131416A (zh) | 业务服务的提供方法和装置、存储介质、电子装置 | |
CN109587100A (zh) | 一种云计算平台用户认证处理方法及系统 | |
CN111241492A (zh) | 一种产品多租户安全授信方法、系统及电子设备 | |
CN115473648B (zh) | 一种证书签发系统及相关设备 | |
CN107566393A (zh) | 一种基于受信任证书的动态权限验证系统及方法 | |
CN110581829A (zh) | 通信方法及装置 | |
US11611435B2 (en) | Automatic key exchange | |
CN113849797A (zh) | 数据安全漏洞的修复方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
CB02 | Change of applicant information |
Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176 Applicant after: Jingdong Technology Holding Co.,Ltd. Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176 Applicant before: Jingdong Digital Technology Holding Co.,Ltd. |
|
CB02 | Change of applicant information | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |