CN116318996A - 加密数据的验证方法及其装置、电子设备及存储介质 - Google Patents
加密数据的验证方法及其装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116318996A CN116318996A CN202310272002.5A CN202310272002A CN116318996A CN 116318996 A CN116318996 A CN 116318996A CN 202310272002 A CN202310272002 A CN 202310272002A CN 116318996 A CN116318996 A CN 116318996A
- Authority
- CN
- China
- Prior art keywords
- key
- data
- encryption
- interference parameter
- encrypted
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种加密数据的验证方法及其装置、电子设备及存储介质,涉及信息安全领域,其中,该验证方法包括:接收支付构件客户端发送的第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥、第二干扰参数,采用私钥,解密第一加密密钥以及第二加密密钥,分别得到第一密钥以及第二密钥,采用第二密钥以及第二干扰参数,解密第二加密数据,得到第二数据,基于第一密钥、第一干扰参数以及第一加密数据,验证第二数据,得到验证结果。本发明解决了相关技术中无法对加密后的数据进行完整性验证,导致安全性较低的技术问题。
Description
技术领域
本发明涉及信息安全领域,具体而言,涉及一种加密数据的验证方法及其装置、电子设备及存储介质。
背景技术
当前,金融机构的条码支付***网路请求中的加密算法主要分为国密算法和非国密算法。国密算法是被预先认定的国产密码算法,主要包括:SM1,SM2,SM3,SM4等算法。非国密算法包括:对称加密算法(如AES、DES、3DES等算法)以及非对称加密算法(如RSA、DSA等算法)。
然而,在条码支付***中使用非国密算法的加密速度慢,导致工作效率较低。虽然国密算法安全系数高,但在条码支付***中使用国密算法无法对加密后的数据进行完整性验证,导致安全性较低。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种加密数据的验证方法及其装置、电子设备及存储介质,以至少解决相关技术中无法对加密后的数据进行完整性验证,导致安全性较低的技术问题。
根据本发明实施例的一个方面,提供了一种加密数据的验证方法,应用于支付构件服务端,所述支付构件服务端预先存储有预设加密算法的私钥,包括:接收支付构件客户端发送的第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥、第二干扰参数;采用所述私钥,解密所述第一加密密钥以及所述第二加密密钥,分别得到第一密钥以及第二密钥;采用所述第二密钥以及所述第二干扰参数,解密所述第二加密数据,得到第二数据;基于所述第一密钥、所述第一干扰参数以及所述第一加密数据,验证所述第二数据,得到验证结果。
可选地,在接收支付构件客户端发送的第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥、第二干扰参数之前,还包括:所述支付构件客户端生成第一加密策略使用的所述第一密钥以及所述第一干扰参数,其中,所述支付构件客户端预先存储有所述预设加密算法的公钥;所述支付构件客户端采用所述第一密钥以及所述第一干扰参数对接收到的业务数据进行加密,得到所述第一加密数据,其中,所述业务数据是支付***服务端发送的数据;所述支付构件客户端采用所述公钥加密所述第一密钥,得到所述第一加密密钥。
可选地,在接收支付构件客户端发送的第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥、第二干扰参数之前,还包括:所述支付构件客户端生成第二加密策略使用的所述第二密钥以及所述第二干扰参数;所述支付构件客户端采用所述第二密钥以及所述第二干扰参数对接收到的业务数据进行加密,得到所述第二加密数据;所述支付构件客户端采用预先存储的公钥加密所述第二密钥,得到所述第二加密密钥。
可选地,采用所述私钥,解密所述第一加密密钥以及所述第二加密密钥,分别得到第一密钥以及第二密钥的步骤,包括:确定所述私钥的私钥类型,并加载与所述私钥类型对应的预设加密机;采用所述预设加密机,解密所述第一加密密钥以及所述第二加密密钥,分别得到所述第一密钥以及所述第二密钥。
可选地,基于所述第一密钥、所述第一干扰参数以及所述第一加密数据,验证所述第二数据的步骤,包括:基于第一加密策略,采用所述第一密钥以及所述第一干扰参数加密所述第二数据,得到第三加密数据;对比所述第一加密数据以及所述第三加密数据,得到对比结果;在所述对比结果指示所述第一加密数据与所述第三加密数据一致的情况下,确定对所述第二数据的验证通过。
可选地,在验证所述第二数据,得到验证结果之后,还包括:在所述验证结果指示验证通过的情况下,处理所述第二数据,得到处理数据;生成第一加密策略使用的第三干扰参数以及第二加密策略使用的第四干扰参数;采用所述第三干扰参数以及所述第一密钥,加密所述处理数据,得到第一加密处理数据;采用所述第四干扰参数以及所述第二密钥,加密所述处理数据,得到第二加密处理数据;将所述第三干扰参数、所述第四干扰参数、所述第一加密处理数据以及所述第二加密处理数据发送至所述支付构件客户端。
可选地,在将所述第三干扰参数、所述第四干扰参数、所述第一加密处理数据以及所述第二加密处理数据发送至所述支付构件客户端之后,还包括:所述支付构件客户端采用所述第二密钥以及所述第四干扰参数,解密所述第二加密处理数据,得到返回数据;所述支付构件客户端基于所述第一密钥、所述第三干扰参数以及所述第一加密处理数据,验证所述返回数据,并在验证通过的情况下,将所述返回数据返回至支付***客户端进行展示。
根据本发明实施例的另一方面,还提供了一种加密数据的验证方法,应用于支付构件客户端,所述支付构件客户端预先存储有预设加密算法的公钥,包括:生成第一加密策略使用的第一密钥以及第一干扰参数,并生成第二加密策略使用的第二密钥以及第二干扰参数;采用所述第一密钥以及所述第一干扰参数对支付***服务端发送的业务数据进行加密,得到第一加密数据,并采用所述第二密钥以及所述第二干扰参数对所述业务数据进行加密,得到第二加密数据;采用所述公钥加密所述第一密钥以及所述第二密钥,分别得到所述第一加密密钥以及所述第二加密密钥;将所述第一加密数据、所述第一加密密钥、所述第一干扰参数、所述第二加密数据、所述第二加密密钥以及所述第二干扰参数发送至支付构件客户端,其中,所述支付构件客户端采用预先存储的所述预设加密算法的私钥,解密所述第一加密密钥以及所述第二加密密钥,分别得到第一密钥以及第二密钥;采用所述第二密钥以及所述第二干扰参数,解密所述第二加密数据,得到第二数据;基于所述第一密钥、所述第一干扰参数以及所述第一加密数据,验证所述第二数据,在验证通过的情况下,处理所述第二数据,得到处理数据,并将加密后的所述处理数据返回至所述支付构件客户端;对加密后的所述处理数据进行解密,得到返回数据,并在对所述返回数据验证通过的情况下,将所述返回数据返回至支付***客户端进行展示。
根据本发明实施例的另一方面,还提供了一种加密数据的验证装置,应用于支付构件服务端,所述支付构件服务端预先存储有预设加密算法的私钥,包括:接收单元,用于接收支付构件客户端发送的第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥、第二干扰参数;第一解密单元,用于采用所述私钥,解密所述第一加密密钥以及所述第二加密密钥,分别得到第一密钥以及第二密钥;第二解密单元,用于采用所述第二密钥以及所述第二干扰参数,解密所述第二加密数据,得到第二数据;验证单元,用于基于所述第一密钥、所述第一干扰参数以及所述第一加密数据,验证所述第二数据,得到验证结果。
可选地,所述验证装置还包括:第一生成模块,用于在接收支付构件客户端发送的第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥、第二干扰参数之前,所述支付构件客户端生成第一加密策略使用的所述第一密钥以及所述第一干扰参数,其中,所述支付构件客户端预先存储有所述预设加密算法的公钥;第一加密成模块,用于所述支付构件客户端采用所述第一密钥以及所述第一干扰参数对接收到的业务数据进行加密,得到所述第一加密数据,其中,所述业务数据是支付***服务端发送的数据;第二加密模块,用于所述支付构件客户端采用所述公钥加密所述第一密钥,得到所述第一加密密钥。
可选地,所述验证装置还包括:第二生成模块,用于在接收支付构件客户端发送的第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥、第二干扰参数之前,所述支付构件客户端生成第二加密策略使用的所述第二密钥以及所述第二干扰参数;第三加密模块,用于所述支付构件客户端采用所述第二密钥以及所述第二干扰参数对接收到的业务数据进行加密,得到所述第二加密数据;第四加密模块,用于所述支付构件客户端采用预先存储的公钥加密所述第二密钥,得到所述第二加密密钥。
可选地,所述第一解密单元包括:第一确定模块,用于确定所述私钥的私钥类型,并加载与所述私钥类型对应的预设加密机;第一解密模块,用于采用所述预设加密机,解密所述第一加密密钥以及所述第二加密密钥,分别得到所述第一密钥以及所述第二密钥。
可选地,所述验证单元包括:第五加密模块,用于基于第一加密策略,采用所述第一密钥以及所述第一干扰参数加密所述第二数据,得到第三加密数据;第一对比模块,用于对比所述第一加密数据以及所述第三加密数据,得到对比结果;第二确定模块,用于在所述对比结果指示所述第一加密数据与所述第三加密数据一致的情况下,确定对所述第二数据的验证通过。
可选地,所述验证装置还包括:第一处理模块,用于在验证所述第二数据,得到验证结果之后,在所述验证结果指示验证通过的情况下,处理所述第二数据,得到处理数据;第三生成模块,用于生成第一加密策略使用的第三干扰参数以及第二加密策略使用的第四干扰参数;第六加密模块,用于采用所述第三干扰参数以及所述第一密钥,加密所述处理数据,得到第一加密处理数据;第七加密模块,用于采用所述第四干扰参数以及所述第二密钥,加密所述处理数据,得到第二加密处理数据;第一发送模块,用于将所述第三干扰参数、所述第四干扰参数、所述第一加密处理数据以及所述第二加密处理数据发送至所述支付构件客户端。
可选地,所述验证装置还包括:第二解密模块,用于在将所述第三干扰参数、所述第四干扰参数、所述第一加密处理数据以及所述第二加密处理数据发送至所述支付构件客户端之后,所述支付构件客户端采用所述第二密钥以及所述第四干扰参数,解密所述第二加密处理数据,得到返回数据;第一验证模块,用于所述支付构件客户端基于所述第一密钥、所述第三干扰参数以及所述第一加密处理数据,验证所述返回数据,并在验证通过的情况下,将所述返回数据返回至支付***客户端进行展示。
根据本发明实施例的另一方面,还提供了一种加密数据的验证装置,应用于支付构件客户端,所述支付构件客户端预先存储有预设加密算法的公钥,包括:生成单元,用于生成第一加密策略使用的第一密钥以及第一干扰参数,并生成第二加密策略使用的第二密钥以及第二干扰参数;第一加密单元,用于采用所述第一密钥以及所述第一干扰参数对支付***服务端发送的业务数据进行加密,得到第一加密数据,并采用所述第二密钥以及所述第二干扰参数对所述业务数据进行加密,得到第二加密数据;第二加密单元,用于采用所述公钥加密所述第一密钥以及所述第二密钥,分别得到所述第一加密密钥以及所述第二加密密钥;发送单元,用于将所述第一加密数据、所述第一加密密钥、所述第一干扰参数、所述第二加密数据、所述第二加密密钥以及所述第二干扰参数发送至支付构件客户端,其中,所述支付构件客户端采用预先存储的所述预设加密算法的私钥,解密所述第一加密密钥以及所述第二加密密钥,分别得到第一密钥以及第二密钥;采用所述第二密钥以及所述第二干扰参数,解密所述第二加密数据,得到第二数据;基于所述第一密钥、所述第一干扰参数以及所述第一加密数据,验证所述第二数据,在验证通过的情况下,处理所述第二数据,得到处理数据,并将加密后的所述处理数据返回至所述支付构件客户端;第三解密单元,用于对加密后的所述处理数据进行解密,得到返回数据,并在对所述返回数据验证通过的情况下,将所述返回数据返回至支付***客户端进行展示。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述加密数据的验证方法。
根据本发明实施例的另一方面,还提供了一种电子设备,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述加密数据的验证方法。
在本公开中,接收支付构件客户端发送的第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥、第二干扰参数,采用私钥,解密第一加密密钥以及第二加密密钥,分别得到第一密钥以及第二密钥,采用第二密钥以及第二干扰参数,解密第二加密数据,得到第二数据,基于第一密钥、第一干扰参数以及第一加密数据,验证第二数据,得到验证结果。在本公开中,支付构件服务端可以先接收支付构件客户端发送的第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥以及第二干扰参数,然后采用预先存储的私钥解密第一加密密钥以及第二加密密钥,以得到第一密钥以及第二密钥,再采用第二密钥以及第二干扰参数解密第二加密数据,以得到第二数据,之后根据第一密钥、第一干扰参数以及第一加密数据验证该第二数据,能够实现对加密数据的完整性验证,提高了数据的安全性,进而解决了相关技术中无法对加密后的数据进行完整性验证,导致安全性较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的加密数据的验证方法的流程图;
图2是根据本发明实施例的另一种可选的加密数据的验证方法的流程图;
图3是根据本发明实施例的一种可选的条码支付***中数据机密性完整性验证流程的示意图;
图4是根据本发明实施例的一种可选的加密数据的验证装置的示意图;
图5是根据本发明实施例的另一种可选的加密数据的验证装置的示意图;
图6是根据本发明实施例的一种用于加密数据的验证方法的电子设备(或移动设备)的硬件结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于本领域技术人员理解本发明,下面对本发明各实施例中涉及的部分术语或名词做出解释:
条码支付:是为线下实体商户提供的一种快捷、安全的现场支付解决方案。无须安装POS机(即销售终端),直接通过已有收银***或移动终端,扫描用户终端上的条形码或二维码即可向用户发起收银。
MAC(Message Authentication Codes)算法:即带秘密密钥的Hash(哈希)函数,消息的散列值由只有通信双方知道的秘密密钥来控制。
SM1算法:为对称加密算法。
SM2算法:为非对称加密算法。
SM3算法:即消息摘要,主要用于数字签名及验证、消息认证码生成及验证、随机数生成等。
SM4算法:即无线局域网标准的分组数据算法。
对称加密算法:是指加密和解密采用相同的密钥,是可逆的(即可解密)。
AES(Advanced Encryption Standard)算法:是密码学中的高级加密标准,采用的是对称分组密码体制,密钥长度的最少支持为128。
DES(Data Encryption Standard)算法:为密码体制中的对称密码体制。
3DES(Triple Data Encryption Algorithm)算法:是DES算法的一种模式。
非对称加密算法:是指加密和解密采用不同的密钥(公钥和私钥),因此非对称加密也叫公钥加密,是可逆的(即可解密)。
RSA算法:是基于数论事实的加密算法,数论事实为:将两个大素数相乘十分容易,但是想要对其乘积进行因式分解极其困难,因此可以将乘积公开作为加密密钥。
DSA(Digital Signature Algorithm)算法:是签名算法的变种。
需要说明的是,本公开中的加密数据的验证方法及其装置可用于信息安全领域在对加密数据进行验证的情况下,也可用于除信息安全领域之外的任意领域在对加密数据进行验证的情况下,本公开中对加密数据的验证方法及其装置的应用领域不做限定。
需要说明的是,本公开所涉及的相关信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。例如,本***和相关用户或机构间设置有接口,在获取相关信息之前,需要通过接口向前述的用户或机构发送获取请求,并在接收到前述的用户或机构反馈的同意信息后,获取相关信息。
本发明下述各实施例可应用于各种对加密数据进行验证的***/应用/设备中。本发明可应用于条码支付中网络数据机密性完整性验证的场景,能够对金融机构的条码支付***中网络请求数据进行加密和解密,并在国密算法的基础上,对数据机密性完整性做了进一步优化,有效提高了数据的安全性。
下面结合各个实施例来详细说明本发明。
实施例一
根据本发明实施例,提供了一种加密数据的验证方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种可选的加密数据的验证方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101,接收支付构件客户端发送的第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥、第二干扰参数。
步骤S102,采用私钥,解密第一加密密钥以及第二加密密钥,分别得到第一密钥以及第二密钥。
步骤S103,采用第二密钥以及第二干扰参数,解密第二加密数据,得到第二数据。
步骤S104,基于第一密钥、第一干扰参数以及第一加密数据,验证第二数据,得到验证结果。
通过上述步骤,可以接收支付构件客户端发送的第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥、第二干扰参数,采用私钥,解密第一加密密钥以及第二加密密钥,分别得到第一密钥以及第二密钥,采用第二密钥以及第二干扰参数,解密第二加密数据,得到第二数据,基于第一密钥、第一干扰参数以及第一加密数据,验证第二数据,得到验证结果。在本发明实施例中,支付构件服务端可以先接收支付构件客户端发送的第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥以及第二干扰参数,然后采用预先存储的私钥解密第一加密密钥以及第二加密密钥,以得到第一密钥以及第二密钥,再采用第二密钥以及第二干扰参数解密第二加密数据,以得到第二数据,之后根据第一密钥、第一干扰参数以及第一加密数据验证该第二数据,能够实现对加密数据的完整性验证,提高了数据的安全性,进而解决了相关技术中无法对加密后的数据进行完整性验证,导致安全性较低的技术问题。
下面结合上述各步骤对本发明实施例进行详细说明。下述各步骤可应用于支付构件服务端,该支付构件服务端预先存储有预设加密算法(例如,SM2算法)的私钥。
在本发明实施例中,可以预先将预设加密算法的公钥预埋在支付构件客户端以及支付***客户端,将预设加密算法的私钥预先存储在支付构件服务端以及支付***服务端,可以以HSM(Hierarchical Storage Management,即分级存储管理)方式将私钥密文进行存储。
可选地,在接收支付构件客户端发送的第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥、第二干扰参数之前,还包括:支付构件客户端生成第一加密策略使用的第一密钥以及第一干扰参数,其中,支付构件客户端预先存储有预设加密算法的公钥;支付构件客户端采用第一密钥以及第一干扰参数对接收到的业务数据进行加密,得到第一加密数据,其中,业务数据是支付***服务端发送的数据;支付构件客户端采用公钥加密第一密钥,得到第一加密密钥。
另一种可选地实施例,在接收支付构件客户端发送的第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥、第二干扰参数之前,还包括:支付构件客户端生成第二加密策略使用的第二密钥以及第二干扰参数;支付构件客户端采用第二密钥以及第二干扰参数对接收到的业务数据进行加密,得到第二加密数据;支付构件客户端采用预先存储的公钥加密第二密钥,得到第二加密密钥。
在本发明实施例中,可以先进行支付构件客户端的数据机密性完整性保护,具体为:支付构件客户端可以采用随机数生成第一加密策略(如MAC算法)需要使用的第一密钥makKey(如SM4算法的工作密钥),采用随机数生成第一加密策略需要使用的干扰因子iv1(即第一干扰参数)(即支付构件客户端生成第一加密策略使用的第一密钥以及第一干扰参数,该支付构件客户端预先存储有预设加密算法的公钥)。然后支付构件客户端可以使用上述生成的makKey以及iv1针对业务明文数据tranData(即业务数据,该业务数据是支付***服务端发送的数)做第一加密策略处理,生成结果数据ebdp_hsmMAC(即第一加密数据)(即支付构件客户端采用第一密钥以及第一干扰参数对接收到的业务数据进行加密,得到第一加密数据)。支付构件客户端可以使用公钥针对makKey加密得到密文ebdp_encryptMAK(即第一加密密钥)(即支付构件客户端采用公钥加密第一密钥,得到第一加密密钥)。支付构件客户端可以采用随机数生成第二加密策略(如SM4算法)加密使用的第二密钥dekKey(如SM4工作密钥)以及干扰因子iv2(即第二干扰参数),使用dekKey、iv2针对业务明文数据tranData进行第二加密策略(SM4算法)加密得到业务数据密文ebdp_K1encryptData(即第二加密数据)(即支付构件客户端采用第二密钥以及第二干扰参数对接收到的业务数据进行加密,得到第二加密数据)。支付构件客户端使用公钥针对dekKey加密得到密文ebdp_encryptDEK(即第二加密密钥)(即支付构件客户端采用预先存储的公钥加密第二密钥,得到第二加密密钥)。然后,将ebdp_K1encryptData、ebdp_encryptDEK、ebdp_encryptMAK、iv1、iv2、ebdp_hsmMAC通过https协议(即超文本传输安全协议)传递给支付构件服务端。
在本发明实施例中,如果第一加密策略采用MAC算法,则可以将欲发送给支付构件服务端的数据,从消息类型到63域之间的部分构成MACELEMEMENT BLOCK(即MAB,是一种加密后的哈希值),对MAB,可以按每8个字节做异或(不管数据中的字符格式),如果最后不满8个字节,则添加“0X00”,以完成数据加密。
步骤S101,接收支付构件客户端发送的第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥、第二干扰参数。
在本发明实施例中,支付构件服务端可以接收支付构件客户端发送的第一加密数据ebdp_hsmMAC、第一加密密钥ebdp_encryptMAK、第一干扰参数iv1、第二加密数据ebdp_K1encryptData、第二加密密钥ebdp_encryptDEK、第二干扰参数iv2,然后根据这些数据进行完整性验证。
步骤S102,采用私钥,解密第一加密密钥以及第二加密密钥,分别得到第一密钥以及第二密钥。
可选地,采用私钥,解密第一加密密钥以及第二加密密钥,分别得到第一密钥以及第二密钥的步骤,包括:确定私钥的私钥类型,并加载与私钥类型对应的预设加密机;采用预设加密机,解密第一加密密钥以及第二加密密钥,分别得到第一密钥以及第二密钥。
在本发明实施例中,支付构件服务端可以采用存储的私钥,解密第一加密密钥以及第二加密密钥,分别得到第一密钥以及第二密钥(即使用私钥解密ebdp_encryptDEK得到dekKey,使用私钥解密encryptMAK得到makKey),并临时存储到内存中,以便后续使用,具体为:可以先进行密钥类型选择(即确定私钥的私钥类型),然后加载与私钥类型对应的预设加密机,将加密的密钥(即第一加密密钥以及第二加密密钥)导入至预设加密机,进行解密,以得到第一密钥以及第二密钥(即采用预设加密机,解密第一加密密钥以及第二加密密钥,分别得到第一密钥以及第二密钥)。
步骤S103,采用第二密钥以及第二干扰参数,解密第二加密数据,得到第二数据。
在本发明实施例中,支付构件服务端可以采用第二密钥以及第二干扰参数,解密第二加密数据,得到第二数据(即使用dekKey、iv2通过第二加密策略解密业务数据密文ebdp_K1encryptData得到业务明文数据tranData)。
步骤S104,基于第一密钥、第一干扰参数以及第一加密数据,验证第二数据,得到验证结果。
可选地,基于第一密钥、第一干扰参数以及第一加密数据,验证第二数据的步骤,包括:基于第一加密策略,采用第一密钥以及第一干扰参数加密第二数据,得到第三加密数据;对比第一加密数据以及第三加密数据,得到对比结果;在对比结果指示第一加密数据与第三加密数据一致的情况下,确定对第二数据的验证通过。
在本发明实施例中,支付构件服务端可以根据第一密钥、第一干扰参数以及第一加密数据,验证第二数据的机密性以及完整性,以得到验证结果(即使用makKey、iv1和ebdp_hsmMAC信息验证tranData完整性),具体为:可以按照重新生成第一加密数据的方式来进行校验,调用第一加密策略重新生成MAC,对比是否与上送的第一加密数据一致,如果一致则为校验通过(即根据第一加密策略,采用第一密钥以及第一干扰参数加密第二数据,得到第三加密数据,然后对比第一加密数据以及第三加密数据,得到对比结果,如果对比结果指示第一加密数据与第三加密数据一致,则可以确定对第二数据的验证通过),否则不通过。
可选地,在验证第二数据,得到验证结果之后,还包括:在验证结果指示验证通过的情况下,处理第二数据,得到处理数据;生成第一加密策略使用的第三干扰参数以及第二加密策略使用的第四干扰参数;采用第三干扰参数以及第一密钥,加密处理数据,得到第一加密处理数据;采用第四干扰参数以及第二密钥,加密处理数据,得到第二加密处理数据;将第三干扰参数、第四干扰参数、第一加密处理数据以及第二加密处理数据发送至支付构件客户端。
在本发明实施例中,如果验证结果指示验证通过,则支付构件服务端可以处理第二数据,以得到处理数据。然后支付构件服务端可以采用随机数生成第一加密策略使用的干扰因子iv3(即第三干扰参数),采用随机数生成第二加密策略使用的干扰因子iv4(即第四干扰参数)。然后使用支付构件服务端内存中存储的makKey(即第一密钥)、iv3(即第三干扰参数)针对需要返回的数据明文responseData(即处理数据)做第一加密策略处理,生成ebdp_responseHsmMAC(即第一加密处理数据)。使用支付构件服务端内存中存储的dekKey(即第二密钥)、iv4(即第四干扰参数)针对需要返回的数据明文responseData做第二加密策略处理,得到业务数据密文ebdp_encryptResponseData(即第二加密处理数据)。之后将ebdp_responseHsmMAC、ebdp_encryptResponseData、iv3、iv4同步返回给支付构件客户端(即将第三干扰参数、第四干扰参数、第一加密处理数据以及第二加密处理数据发送至支付构件客户端)。
可选地,在将第三干扰参数、第四干扰参数、第一加密处理数据以及第二加密处理数据发送至支付构件客户端之后,还包括:支付构件客户端采用第二密钥以及第四干扰参数,解密第二加密处理数据,得到返回数据;支付构件客户端基于第一密钥、第三干扰参数以及第一加密处理数据,验证返回数据,并在验证通过的情况下,将返回数据返回至支付***客户端进行展示。
在本发明实施例中,支付构件客户端可以使用dekKey、iv4解密业务数据密文ebdp_encryptResponseData得到responseData(即返回数据)(即支付构件客户端采用第二密钥以及第四干扰参数,解密第二加密处理数据,得到返回数据)。然后支付构件客户端可以使用makKey、iv3和ebdp_responseHsmMAC信息验证responseData的完整性(即支付构件客户端基于第一密钥、第三干扰参数以及第一加密处理数据,验证返回数据)。如果验证通过,则可以将返回数据返回至支付***客户端进行展示。
在本实施例中,能够对金融机构的条码支付***中网络请求数据进行加密和解密,并在国密算法的基础上,对数据机密性完整性做了进一步优化,有效提高了数据的安全性。
实施例二
根据本发明实施例,还提供了一种加密数据的验证方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图2是根据本发明实施例的另一种可选的加密数据的验证方法的流程图,如图2所示,该方法包括如下步骤:
步骤S201,生成第一加密策略使用的第一密钥以及第一干扰参数,并生成第二加密策略使用的第二密钥以及第二干扰参数。
步骤S202,采用第一密钥以及第一干扰参数对支付***服务端发送的业务数据进行加密,得到第一加密数据,并采用第二密钥以及第二干扰参数对业务数据进行加密,得到第二加密数据。
步骤S203,采用公钥加密第一密钥以及第二密钥,分别得到第一加密密钥以及第二加密密钥。
步骤S204,将第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥以及第二干扰参数发送至支付构件客户端,其中,支付构件客户端采用预先存储的预设加密算法的私钥,解密第一加密密钥以及第二加密密钥,分别得到第一密钥以及第二密钥;采用第二密钥以及第二干扰参数,解密第二加密数据,得到第二数据;基于第一密钥、第一干扰参数以及第一加密数据,验证第二数据,在验证通过的情况下,处理第二数据,得到处理数据,并将加密后的处理数据返回至支付构件客户端。
步骤S205,对加密后的处理数据进行解密,得到返回数据,并在对返回数据验证通过的情况下,将返回数据返回至支付***客户端进行展示。
通过上述步骤,可以生成第一加密策略使用的第一密钥以及第一干扰参数,并生成第二加密策略使用的第二密钥以及第二干扰参数,采用第一密钥以及第一干扰参数对支付***服务端发送的业务数据进行加密,得到第一加密数据,并采用第二密钥以及第二干扰参数对业务数据进行加密,得到第二加密数据,采用公钥加密第一密钥以及第二密钥,分别得到第一加密密钥以及第二加密密钥,将第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥以及第二干扰参数发送至支付构件客户端,对加密后的处理数据进行解密,得到返回数据,并在对返回数据验证通过的情况下,将返回数据返回至支付***客户端进行展示。在本发明实施例中,支付构件客户端可以先生成第一加密策略使用的第一密钥、第一干扰参数以及第二加密策略使用的第二密钥、第二干扰参数,再采用第一密钥以及第一干扰参数对支付***服务端发送的业务数据进行加密,以得到第一加密数据,然后采用第二密钥以及第二干扰参数对业务数据进行加密,以得到第二加密数据,之后采用预先存储的公钥加密第一密钥以及第二密钥,以得到第一加密密钥以及第二加密密钥,将第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥以及第二干扰参数发送至支付构件客户端,以使支付构件服务端验证加密数据的完整性,并在验证通过后处理解密后的数据,并返回加密后的处理数据,支付构件客户端可以解密返回的数据,并对返回的数据进行完整性验证,实现了对加密数据的完整性验证,提高了数据的安全性,进而解决了相关技术中无法对加密后的数据进行完整性验证,导致安全性较低的技术问题。
下面结合上述各步骤对本发明实施例进行详细说明。下述各步骤可应用于支付构件客户端,该支付构件客户端预先存储有预设加密算法(例如,SM2算法)的公钥。
步骤S201,生成第一加密策略使用的第一密钥以及第一干扰参数,并生成第二加密策略使用的第二密钥以及第二干扰参数。
在本发明实施例中,支付构件客户端可以采用随机数生成第一加密策略(如MAC算法)需要使用的第一密钥makKey(如SM4算法的工作密钥),采用随机数生成第一加密策略需要使用的干扰因子iv1(即第一干扰参数),以及采用随机数生成第二加密策略(如SM4算法)加密使用的第二密钥dekKey(如SM4工作密钥)以及干扰因子iv2(即第二干扰参数)。
步骤S202,采用第一密钥以及第一干扰参数对支付***服务端发送的业务数据进行加密,得到第一加密数据,并采用第二密钥以及第二干扰参数对业务数据进行加密,得到第二加密数据。
在本发明实施例中,支付构件客户端可以使用生成的makKey以及iv1针对业务明文数据tranData(即业务数据,该业务数据是支付***服务端发送的数)做第一加密策略处理,生成结果数据ebdp_hsmMAC(即第一加密数据)。并使用dekKey、iv2针对业务明文数据tranData进行第二加密策略(SM4算法)加密得到业务数据密文ebdp_K1encryptData(即第二加密数据)。
步骤S203,采用公钥加密第一密钥以及第二密钥,分别得到第一加密密钥以及第二加密密钥。
在本发明实施例中,支付构件客户端可以采用公钥针对makKey加密得到密文ebdp_encryptMAK(即第一加密密钥),以及使用公钥针对dekKey加密得到密文ebdp_encryptDEK(即第二加密密钥)(即采用公钥加密第一密钥以及第二密钥,分别得到第一加密密钥以及第二加密密钥)。
步骤S204,将第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥以及第二干扰参数发送至支付构件客户端,其中,支付构件客户端采用预先存储的预设加密算法的私钥,解密第一加密密钥以及第二加密密钥,分别得到第一密钥以及第二密钥;采用第二密钥以及第二干扰参数,解密第二加密数据,得到第二数据;基于第一密钥、第一干扰参数以及第一加密数据,验证第二数据,在验证通过的情况下,处理第二数据,得到处理数据,并将加密后的处理数据返回至支付构件客户端。
在本发明实施例中,支付构件客户端可以将ebdp_K1encryptData、ebdp_encryptDEK、ebdp_encryptMAK、iv1、iv2、ebdp_hsmMAC通过https协议(即超文本传输安全协议)传递给支付构件服务端(即将第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥以及第二干扰参数发送至支付构件客户端)。该支付构件服务端可以采用存储的私钥,解密第一加密密钥以及第二加密密钥,以得到第一密钥以及第二密钥(即使用私钥解密ebdp_encryptDEK得到dekKey,使用私钥解密encryptMAK得到makKey),并临时存储到内存中,以便后续使用。然后支付构件服务端可以采用第二密钥以及第二干扰参数,解密第二加密数据,以得到第二数据(即使用dekKey、iv2通过第二加密策略解密业务数据密文ebdp_K1encryptData得到业务明文数据tranData),并根据第一密钥、第一干扰参数以及第一加密数据,验证第二数据的机密性以及完整性,以得到验证结果(即使用makKey、iv1和ebdp_hsmMAC信息验证tranData完整性)。如果验证结果指示验证通过,则支付构件服务端可以处理第二数据,以得到处理数据,然后支付构件服务端可以采用随机数生成第一加密策略使用的干扰因子iv3(即第三干扰参数),采用随机数生成第二加密策略使用的干扰因子iv4(即第四干扰参数)。然后使用支付构件服务端内存中存储的makKey(即第一密钥)、iv3(即第三干扰参数)针对需要返回的数据明文responseData(即处理数据)做第一加密策略处理,生成ebdp_responseHsmMAC(即第一加密处理数据)。使用支付构件服务端内存中存储的dekKey(即第二密钥)、iv4(即第四干扰参数)针对需要返回的数据明文responseData做第二加密策略处理,得到业务数据密文ebdp_encryptResponseData(即第二加密处理数据)。之后将ebdp_responseHsmMAC、ebdp_encryptResponseData、iv3、iv4同步返回给支付构件客户端(即并将加密后的处理数据返回至支付构件客户端)。
步骤S205,对加密后的处理数据进行解密,得到返回数据,并在对返回数据验证通过的情况下,将返回数据返回至支付***客户端进行展示。
在本发明实施例中,支付构件客户端可以使用dekKey、iv4解密业务数据密文ebdp_encryptResponseData得到responseData(即返回数据)(即对加密后的处理数据进行解密,得到返回数据)。然后支付构件客户端可以使用makKey、iv3和ebdp_responseHsmMAC信息验证responseData的完整性,如果验证通过,则可以将返回数据返回至支付***客户端进行展示(即在对返回数据验证通过的情况下,将返回数据返回至支付***客户端进行展示)。
下面结合另一种可选的具体实施方式进行详细说明。
图3是根据本发明实施例的一种可选的条码支付***中数据机密性完整性验证流程的示意图,如图3所示,包括:客户终端、支付***客户端、支付***服务端、支付构件、支付构件客户端以及支付构件服务端,各模块之间的交互流程如下:
(1)客户终端先启动支付***,支付***客户端进行参数加载,支付***服务端读取参数,然后在支付***客户端主界面加载完毕后,客户终端进行扫码,然后支付***客户端初始化支付构件,传递预置SM2公钥,将参数信息传递至支付构件进行构件初始化,支付构件初始化完成后将业务数据tranData传递给支付构件客户端进行完整性验证。
(2)支付构件客户端随机生成MAC使用的SM4工作密钥makKey,随机生成MAC使用的干扰因子iv1,并使用makKey,iv1针对业务明文数据tranData做MAC处理,生成MAC数据ebdp_hsmMAC,使用SM2公钥针对makKey加密得到密文ebdp_encryptMAK,然后随机生成加密使用的SM4工作密钥dekKey,随机生成SM4加密使用的干扰因子iv2,使用dekKey针对tranData进行SM4加密得到业务数据密文ebdp_K1encryptData,再使用SM2公钥针对dekKey加密得到密文ebdp_encryptDEK。之后,将Ebdp_K1encryptData、ebdp_encryptDEK、Ebdp_encryptMAK、iv1、iv2、ebdp_hsmMAC传递给支付构件服务端。
(3)支付构件服务端使用SM2私钥解密ebdp_encryptDEK得到SM4工作密钥dekKey,并临时存储到内存,使用dekKey、iv2通过SM4方式解密业务数据密文ebdp_K1encryptData得到tranData,并使用SM2私钥解密ebdp_encryptMAK得到SM4工作密钥makKey,并存储到存储到内存,然后使用makKey、iv1和ebdp_hsmMAC信息验证tranData完整性。之后进行业务处理,随机生成SM4加密使用的干扰因子iv3,使用内存中存储的SM4工作密钥makKey,iv3针对业务数据明文responseData做MAC处理,生成ebdp_responseHsmMAC,随机生成SM4加密使用的干扰因子iv4,使用内存中存储的SM4工作密钥dekKey、iv4针对responseData做SM4加密处理,得到业务数据密文ebdp_encryptResponseData。之后,将Ebdp_responseHsmMAC、ebdp_encryptResponseData、iv3、iv4传递给支付构件客户端。
(4)支付构件客户端使用dekKey、iv4解密业务数据密文ebdp_encryptResponseData得到responseData,然后使用makKey、iv3和ebdp_responseHsmMAC信息验证responseData完整性,在完整性验证通过后,将responseData信息发送给支付构件进行参数解析。
(5)支付构件解析完成后,将解析结果发送至支付***客户端进行页面展示。
下面结合另一实施例进行详细说明。
实施例三
本实施例中提供的一种加密数据的验证装置包含了多个实施单元,每个实施单元对应于上述实施例一中的各个实施步骤。
图4是根据本发明实施例的一种可选的加密数据的验证装置的示意图,如图4所示,该验证装置可以包括:接收单元40,第一解密单元41,第二解密单元42,验证单元43,其中,
接收单元40,用于接收支付构件客户端发送的第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥、第二干扰参数;
第一解密单元41,用于采用私钥,解密第一加密密钥以及第二加密密钥,分别得到第一密钥以及第二密钥;
第二解密单元42,用于采用第二密钥以及第二干扰参数,解密第二加密数据,得到第二数据;
验证单元43,用于基于第一密钥、第一干扰参数以及第一加密数据,验证第二数据,得到验证结果。
上述验证装置,可以通过接收单元40接收支付构件客户端发送的第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥、第二干扰参数,通过第一解密单元41采用私钥,解密第一加密密钥以及第二加密密钥,分别得到第一密钥以及第二密钥,通过第二解密单元42采用第二密钥以及第二干扰参数,解密第二加密数据,得到第二数据,通过验证单元43基于第一密钥、第一干扰参数以及第一加密数据,验证第二数据,得到验证结果。在本发明实施例中,支付构件服务端可以先接收支付构件客户端发送的第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥以及第二干扰参数,然后采用预先存储的私钥解密第一加密密钥以及第二加密密钥,以得到第一密钥以及第二密钥,再采用第二密钥以及第二干扰参数解密第二加密数据,以得到第二数据,之后根据第一密钥、第一干扰参数以及第一加密数据验证该第二数据,能够实现对加密数据的完整性验证,提高了数据的安全性,进而解决了相关技术中无法对加密后的数据进行完整性验证,导致安全性较低的技术问题。
可选地,验证装置还包括:第一生成模块,用于在接收支付构件客户端发送的第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥、第二干扰参数之前,支付构件客户端生成第一加密策略使用的第一密钥以及第一干扰参数,其中,支付构件客户端预先存储有预设加密算法的公钥;第一加密成模块,用于支付构件客户端采用第一密钥以及第一干扰参数对接收到的业务数据进行加密,得到第一加密数据,其中,业务数据是支付***服务端发送的数据;第二加密模块,用于支付构件客户端采用公钥加密第一密钥,得到第一加密密钥。
可选地,验证装置还包括:第二生成模块,用于在接收支付构件客户端发送的第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥、第二干扰参数之前,支付构件客户端生成第二加密策略使用的第二密钥以及第二干扰参数;第三加密模块,用于支付构件客户端采用第二密钥以及第二干扰参数对接收到的业务数据进行加密,得到第二加密数据;第四加密模块,用于支付构件客户端采用预先存储的公钥加密第二密钥,得到第二加密密钥。
可选地,第一解密单元包括:第一确定模块,用于确定私钥的私钥类型,并加载与私钥类型对应的预设加密机;第一解密模块,用于采用预设加密机,解密第一加密密钥以及第二加密密钥,分别得到第一密钥以及第二密钥。
可选地,验证单元包括:第五加密模块,用于基于第一加密策略,采用第一密钥以及第一干扰参数加密第二数据,得到第三加密数据;第一对比模块,用于对比第一加密数据以及第三加密数据,得到对比结果;第二确定模块,用于在对比结果指示第一加密数据与第三加密数据一致的情况下,确定对第二数据的验证通过。
可选地,验证装置还包括:第一处理模块,用于在验证第二数据,得到验证结果之后,在验证结果指示验证通过的情况下,处理第二数据,得到处理数据;第三生成模块,用于生成第一加密策略使用的第三干扰参数以及第二加密策略使用的第四干扰参数;第六加密模块,用于采用第三干扰参数以及第一密钥,加密处理数据,得到第一加密处理数据;第七加密模块,用于采用第四干扰参数以及第二密钥,加密处理数据,得到第二加密处理数据;第一发送模块,用于将第三干扰参数、第四干扰参数、第一加密处理数据以及第二加密处理数据发送至支付构件客户端。
可选地,验证装置还包括:第二解密模块,用于在将第三干扰参数、第四干扰参数、第一加密处理数据以及第二加密处理数据发送至支付构件客户端之后,支付构件客户端采用第二密钥以及第四干扰参数,解密第二加密处理数据,得到返回数据;第一验证模块,用于支付构件客户端基于第一密钥、第三干扰参数以及第一加密处理数据,验证返回数据,并在验证通过的情况下,将返回数据返回至支付***客户端进行展示。
上述的验证装置还可以包括处理器和存储器,上述接收单元40,第一解密单元41,第二解密单元42,验证单元43等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来基于第一密钥、第一干扰参数以及第一加密数据,验证第二数据,得到验证结果。
上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:接收支付构件客户端发送的第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥、第二干扰参数,采用私钥,解密第一加密密钥以及第二加密密钥,分别得到第一密钥以及第二密钥,采用第二密钥以及第二干扰参数,解密第二加密数据,得到第二数据,基于第一密钥、第一干扰参数以及第一加密数据,验证第二数据,得到验证结果。
实施例四
本实施例中提供的另一种加密数据的验证装置包含了多个实施单元,每个实施单元对应于上述实施例二中的各个实施步骤。
图5是根据本发明实施例的另一种可选的加密数据的验证装置的示意图,如图5所示,该验证装置可以包括:生成单元50,第一加密单元51,第二加密单元52,发送单元53,第三解密单元54,其中,
生成单元50,用于生成第一加密策略使用的第一密钥以及第一干扰参数,并生成第二加密策略使用的第二密钥以及第二干扰参数;
第一加密单元51,用于采用第一密钥以及第一干扰参数对支付***服务端发送的业务数据进行加密,得到第一加密数据,并采用第二密钥以及第二干扰参数对业务数据进行加密,得到第二加密数据;
第二加密单元52,用于采用公钥加密第一密钥以及第二密钥,分别得到第一加密密钥以及第二加密密钥;
发送单元53,用于将第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥以及第二干扰参数发送至支付构件客户端,其中,支付构件客户端采用预先存储的预设加密算法的私钥,解密第一加密密钥以及第二加密密钥,分别得到第一密钥以及第二密钥;采用第二密钥以及第二干扰参数,解密第二加密数据,得到第二数据;基于第一密钥、第一干扰参数以及第一加密数据,验证第二数据,在验证通过的情况下,处理第二数据,得到处理数据,并将加密后的处理数据返回至支付构件客户端;
第三解密单元54,用于对加密后的处理数据进行解密,得到返回数据,并在对返回数据验证通过的情况下,将返回数据返回至支付***客户端进行展示。
上述验证装置,可以通过生成单元50生成第一加密策略使用的第一密钥以及第一干扰参数,并生成第二加密策略使用的第二密钥以及第二干扰参数,通过第一加密单元51采用第一密钥以及第一干扰参数对支付***服务端发送的业务数据进行加密,得到第一加密数据,并采用第二密钥以及第二干扰参数对业务数据进行加密,得到第二加密数据,通过第二加密单元52采用公钥加密第一密钥以及第二密钥,分别得到第一加密密钥以及第二加密密钥,通过发送单元53将第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥以及第二干扰参数发送至支付构件客户端,通过第三解密单元54对加密后的处理数据进行解密,得到返回数据,并在对返回数据验证通过的情况下,将返回数据返回至支付***客户端进行展示。在本发明实施例中,支付构件客户端可以先生成第一加密策略使用的第一密钥、第一干扰参数以及第二加密策略使用的第二密钥、第二干扰参数,再采用第一密钥以及第一干扰参数对支付***服务端发送的业务数据进行加密,以得到第一加密数据,然后采用第二密钥以及第二干扰参数对业务数据进行加密,以得到第二加密数据,之后采用预先存储的公钥加密第一密钥以及第二密钥,以得到第一加密密钥以及第二加密密钥,将第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥以及第二干扰参数发送至支付构件客户端,以使支付构件服务端验证加密数据的完整性,并在验证通过后处理解密后的数据,并返回加密后的处理数据,支付构件客户端可以解密返回的数据,并对返回的数据进行完整性验证,实现了对加密数据的完整性验证,提高了数据的安全性,进而解决了相关技术中无法对加密后的数据进行完整性验证,导致安全性较低的技术问题。
上述的验证装置还可以包括处理器和存储器,上述生成单元50,第一加密单元51,第二加密单元52,发送单元53,第三解密单元54等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来对加密后的处理数据进行解密,得到返回数据,并在对返回数据验证通过的情况下,将返回数据返回至支付***客户端进行展示。
上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:生成第一加密策略使用的第一密钥以及第一干扰参数,并生成第二加密策略使用的第二密钥以及第二干扰参数,采用第一密钥以及第一干扰参数对支付***服务端发送的业务数据进行加密,得到第一加密数据,并采用第二密钥以及第二干扰参数对业务数据进行加密,得到第二加密数据,采用公钥加密第一密钥以及第二密钥,分别得到第一加密密钥以及第二加密密钥,将第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥以及第二干扰参数发送至支付构件客户端,对加密后的处理数据进行解密,得到返回数据,并在对返回数据验证通过的情况下,将返回数据返回至支付***客户端进行展示。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述的加密数据的验证方法。
根据本发明实施例的另一方面,还提供了一种电子设备,包括一个或多个处理器和存储器,存储器用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述的加密数据的验证方法。
图6是根据本发明实施例的一种用于加密数据的验证方法的电子设备(或移动设备)的硬件结构框图。如图6所示,电子设备可以包括一个或多个(图6中采用602a、602b,……,602n来示出)处理器602(处理器602可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器604。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、键盘、电源和/或相机。本领域普通技术人员可以理解,图6所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子设备还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种加密数据的验证方法,其特征在于,应用于支付构件服务端,所述支付构件服务端预先存储有预设加密算法的私钥,包括:
接收支付构件客户端发送的第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥、第二干扰参数;
采用所述私钥,解密所述第一加密密钥以及所述第二加密密钥,分别得到第一密钥以及第二密钥;
采用所述第二密钥以及所述第二干扰参数,解密所述第二加密数据,得到第二数据;
基于所述第一密钥、所述第一干扰参数以及所述第一加密数据,验证所述第二数据,得到验证结果。
2.根据权利要求1所述的验证方法,其特征在于,在接收支付构件客户端发送的第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥、第二干扰参数之前,还包括:
所述支付构件客户端生成第一加密策略使用的所述第一密钥以及所述第一干扰参数,其中,所述支付构件客户端预先存储有所述预设加密算法的公钥;
所述支付构件客户端采用所述第一密钥以及所述第一干扰参数对接收到的业务数据进行加密,得到所述第一加密数据,其中,所述业务数据是支付***服务端发送的数据;
所述支付构件客户端采用所述公钥加密所述第一密钥,得到所述第一加密密钥。
3.根据权利要求1所述的验证方法,其特征在于,在接收支付构件客户端发送的第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥、第二干扰参数之前,还包括:
所述支付构件客户端生成第二加密策略使用的所述第二密钥以及所述第二干扰参数;
所述支付构件客户端采用所述第二密钥以及所述第二干扰参数对接收到的业务数据进行加密,得到所述第二加密数据;
所述支付构件客户端采用预先存储的公钥加密所述第二密钥,得到所述第二加密密钥。
4.根据权利要求1所述的验证方法,其特征在于,采用所述私钥,解密所述第一加密密钥以及所述第二加密密钥,分别得到第一密钥以及第二密钥的步骤,包括:
确定所述私钥的私钥类型,并加载与所述私钥类型对应的预设加密机;
采用所述预设加密机,解密所述第一加密密钥以及所述第二加密密钥,分别得到所述第一密钥以及所述第二密钥。
5.根据权利要求1所述的验证方法,其特征在于,基于所述第一密钥、所述第一干扰参数以及所述第一加密数据,验证所述第二数据的步骤,包括:
基于第一加密策略,采用所述第一密钥以及所述第一干扰参数加密所述第二数据,得到第三加密数据;
对比所述第一加密数据以及所述第三加密数据,得到对比结果;
在所述对比结果指示所述第一加密数据与所述第三加密数据一致的情况下,确定对所述第二数据的验证通过。
6.根据权利要求1所述的验证方法,其特征在于,在验证所述第二数据,得到验证结果之后,还包括:
在所述验证结果指示验证通过的情况下,处理所述第二数据,得到处理数据;
生成第一加密策略使用的第三干扰参数以及第二加密策略使用的第四干扰参数;
采用所述第三干扰参数以及所述第一密钥,加密所述处理数据,得到第一加密处理数据;
采用所述第四干扰参数以及所述第二密钥,加密所述处理数据,得到第二加密处理数据;
将所述第三干扰参数、所述第四干扰参数、所述第一加密处理数据以及所述第二加密处理数据发送至所述支付构件客户端。
7.根据权利要求6所述的验证方法,其特征在于,在将所述第三干扰参数、所述第四干扰参数、所述第一加密处理数据以及所述第二加密处理数据发送至所述支付构件客户端之后,还包括:
所述支付构件客户端采用所述第二密钥以及所述第四干扰参数,解密所述第二加密处理数据,得到返回数据;
所述支付构件客户端基于所述第一密钥、所述第三干扰参数以及所述第一加密处理数据,验证所述返回数据,并在验证通过的情况下,将所述返回数据返回至支付***客户端进行展示。
8.一种加密数据的验证方法,其特征在于,应用于支付构件客户端,所述支付构件客户端预先存储有预设加密算法的公钥,包括:
生成第一加密策略使用的第一密钥以及第一干扰参数,并生成第二加密策略使用的第二密钥以及第二干扰参数;
采用所述第一密钥以及所述第一干扰参数对支付***服务端发送的业务数据进行加密,得到第一加密数据,并采用所述第二密钥以及所述第二干扰参数对所述业务数据进行加密,得到第二加密数据;
采用所述公钥加密所述第一密钥以及所述第二密钥,分别得到所述第一加密密钥以及所述第二加密密钥;
将所述第一加密数据、所述第一加密密钥、所述第一干扰参数、所述第二加密数据、所述第二加密密钥以及所述第二干扰参数发送至支付构件客户端,其中,所述支付构件客户端采用预先存储的所述预设加密算法的私钥,解密所述第一加密密钥以及所述第二加密密钥,分别得到第一密钥以及第二密钥;采用所述第二密钥以及所述第二干扰参数,解密所述第二加密数据,得到第二数据;基于所述第一密钥、所述第一干扰参数以及所述第一加密数据,验证所述第二数据,在验证通过的情况下,处理所述第二数据,得到处理数据,并将加密后的所述处理数据返回至所述支付构件客户端;
对加密后的所述处理数据进行解密,得到返回数据,并在对所述返回数据验证通过的情况下,将所述返回数据返回至支付***客户端进行展示。
9.一种加密数据的验证装置,其特征在于,应用于支付构件服务端,所述支付构件服务端预先存储有预设加密算法的私钥,包括:
接收单元,用于接收支付构件客户端发送的第一加密数据、第一加密密钥、第一干扰参数、第二加密数据、第二加密密钥、第二干扰参数;
第一解密单元,用于采用所述私钥,解密所述第一加密密钥以及所述第二加密密钥,分别得到第一密钥以及第二密钥;
第二解密单元,用于采用所述第二密钥以及所述第二干扰参数,解密所述第二加密数据,得到第二数据;
验证单元,用于基于所述第一密钥、所述第一干扰参数以及所述第一加密数据,验证所述第二数据,得到验证结果。
10.一种加密数据的验证装置,其特征在于,应用于支付构件客户端,所述支付构件客户端预先存储有预设加密算法的公钥,包括:
生成单元,用于生成第一加密策略使用的第一密钥以及第一干扰参数,并生成第二加密策略使用的第二密钥以及第二干扰参数;
第一加密单元,用于采用所述第一密钥以及所述第一干扰参数对支付***服务端发送的业务数据进行加密,得到第一加密数据,并采用所述第二密钥以及所述第二干扰参数对所述业务数据进行加密,得到第二加密数据;
第二加密单元,用于采用所述公钥加密所述第一密钥以及所述第二密钥,分别得到所述第一加密密钥以及所述第二加密密钥;
发送单元,用于将所述第一加密数据、所述第一加密密钥、所述第一干扰参数、所述第二加密数据、所述第二加密密钥以及所述第二干扰参数发送至支付构件客户端,其中,所述支付构件客户端采用预先存储的所述预设加密算法的私钥,解密所述第一加密密钥以及所述第二加密密钥,分别得到第一密钥以及第二密钥;采用所述第二密钥以及所述第二干扰参数,解密所述第二加密数据,得到第二数据;基于所述第一密钥、所述第一干扰参数以及所述第一加密数据,验证所述第二数据,在验证通过的情况下,处理所述第二数据,得到处理数据,并将加密后的所述处理数据返回至所述支付构件客户端;
第三解密单元,用于对加密后的所述处理数据进行解密,得到返回数据,并在对所述返回数据验证通过的情况下,将所述返回数据返回至支付***客户端进行展示。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至8中任意一项所述的加密数据的验证方法。
12.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至8中任意一项所述的加密数据的验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310272002.5A CN116318996A (zh) | 2023-03-20 | 2023-03-20 | 加密数据的验证方法及其装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310272002.5A CN116318996A (zh) | 2023-03-20 | 2023-03-20 | 加密数据的验证方法及其装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116318996A true CN116318996A (zh) | 2023-06-23 |
Family
ID=86820324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310272002.5A Pending CN116318996A (zh) | 2023-03-20 | 2023-03-20 | 加密数据的验证方法及其装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116318996A (zh) |
-
2023
- 2023-03-20 CN CN202310272002.5A patent/CN116318996A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3349393B1 (en) | Mutual authentication of confidential communication | |
CN101075874B (zh) | 认证方法和认证*** | |
CN103618607B (zh) | 一种数据安全传输和密钥交换方法 | |
EP3476078B1 (en) | Systems and methods for authenticating communications using a single message exchange and symmetric key | |
CN110059458B (zh) | 一种用户口令加密认证方法、装置及*** | |
CN107005577B (zh) | 指纹数据的处理方法及处理装置 | |
CN110868291B (zh) | 一种数据加密传输方法、装置、***及存储介质 | |
CN110690956B (zh) | 双向认证方法及***、服务器和终端 | |
CN112804205A (zh) | 数据加密方法及装置、数据解密方法及装置 | |
CN103036880A (zh) | 网络信息传输方法、设备及*** | |
CN108809936B (zh) | 一种基于混合加密算法的智能移动终端身份验证方法及其实现*** | |
CN104125064B (zh) | 一种动态密码认证方法、客户端及认证*** | |
JP2022521525A (ja) | データを検証するための暗号方法 | |
CN109005184A (zh) | 文件加密方法及装置、存储介质、终端 | |
US20200019959A1 (en) | Cryptocurrency securing system and method | |
CN115276978A (zh) | 一种数据处理方法以及相关装置 | |
CN112528309A (zh) | 一种数据存储加密和解密的方法及其装置 | |
CN116861461A (zh) | 数据处理方法、***、装置、存储介质及电子设备 | |
EP4283549A1 (en) | Payment service implementation method and device | |
CN110086627B (zh) | 基于非对称密钥池对和时间戳的量子通信服务站密钥协商方法和*** | |
CN116318996A (zh) | 加密数据的验证方法及其装置、电子设备及存储介质 | |
KR101388452B1 (ko) | 인증서 전송 서버를 이용하는 일회용 공개 정보 기반 이동 단말기로의 인증서 이동 방법 및 이를 이용한 장치 | |
CN114125830B (zh) | 一种app数据的加密传输方法、设备及介质 | |
CN112702420B (zh) | 线上和线下数据交互的处理方法及*** | |
CN113922958B (zh) | 基于生物识别和sm2协同密码算法的密码保护方法及装置 |
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 |