CN116781254A - 数据加密方法、解密方法及装置 - Google Patents
数据加密方法、解密方法及装置 Download PDFInfo
- Publication number
- CN116781254A CN116781254A CN202310572907.4A CN202310572907A CN116781254A CN 116781254 A CN116781254 A CN 116781254A CN 202310572907 A CN202310572907 A CN 202310572907A CN 116781254 A CN116781254 A CN 116781254A
- Authority
- CN
- China
- Prior art keywords
- data
- bank
- key
- encryption
- enterprise
- 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
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000004590 computer program Methods 0.000 claims description 15
- 230000010354 integration Effects 0.000 claims description 12
- 238000012795 verification Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 abstract description 8
- 238000004891 communication Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 210000001503 joint Anatomy 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Abstract
本发明提供一种数据加密方法、解密方法及装置,加密方法包括:接收企业财资系统发送的可扩展标记语言XML格式的明文数据;获取对称秘钥和银行端公钥,基于银行端公钥对对称秘钥进行非对称加密,得到银行端加密对称秘钥,银行端公钥是基于数字证书确定的;获取明文数据的原始摘要,基于企业端的私钥对原始摘要进行非对称加密,得到私钥加密数字签名;基于对称秘钥对明文数据进行加密,得到XML密文;将银行端加密对称秘钥、XML密文、私钥加密数字签名以及数字证书进行整合得到整合数据,将整合数据发送至银行端,银行端用于基于整合数据进行数据解密。本发明通过企业端进行数据加密以及银行端进行数据解密实现提高数据传输的机密性。
Description
技术领域
本发明涉及数据加密技术领域,尤其涉及一种数据加密方法、解密方法及装置。
背景技术
目前国内银企直连接入方式通常为前置机直连模式,其系统结构如图1所示,即企业依靠前置程序(安装有银企直连企业端程序)和硬证书完成与银行端的信息交互。前置机直连模式信息交互具体流程如下:企业财资系统将数据发送至银企直连企业端,再由银企直连企业端与银行端建立安全可靠的通讯通道,并进行数据传输。
目前大多数企业与银行间信息一般通过数字数据网络(Digital Data Network,DDN)专线或互联网进行传输,在传输过程中可采用超文本传输安全协议(HypertextTransfer Protocol Secure,HTTPS)或类安全套接层协议(Secure Socket Layer,SSL)等方法进行加密传输,此方式仅能保证点对点传输的安全性,无法保证数据端到端的安全性。此外,目前银企直连企业端相对企业内网处于DMZ隔离区对外联网,且请求和响应报文大多数为可扩展标记语言(Extensible Markup Language,XML)明文数据,易遭到泄露甚至篡改。
因此,如何提高银行端和企业端的数据传输的机密性,是当前亟需解决的问题。
发明内容
本发明提供一种数据加密方法、解密方法及装置,用以解决现有技术中可能存在数据泄露或篡改的缺陷,通过企业端进行数据加密以及银行端进行数据解密实现提高数据传输的机密性。
本发明提供一种数据解密方法,包括:
接收企业财资系统发送的可扩展标记语言XML格式的明文数据;
获取对称秘钥和银行端公钥,基于所述银行端公钥对所述对称秘钥进行非对称加密,得到银行端加密对称秘钥,所述银行端公钥是基于数字证书确定的;
获取所述明文数据的原始摘要,基于所述企业端的私钥对所述原始摘要进行非对称加密,得到私钥加密数字签名;
基于所述对称秘钥对所述明文数据进行加密,得到XML密文;
将所述银行端加密对称秘钥、XML密文、私钥加密数字签名以及所述数字证书进行整合得到整合数据,将所述整合数据发送至银行端,所述银行端用于基于所述整合数据进行数据解密。
根据本发明提供的一种数据解密方法,所述获取对称秘钥和银行端公钥,包括:
确定所述企业端和所述银行端之间进行交易的目标软件;
基于所述目标软件获取所述对称秘钥;
基于密钥交换或数字证书验证,从所述数字证书中获取所述银行端公钥。
根据本发明提供的一种数据解密方法,所述获取所述明文数据的原始摘要,包括:
基于目标散列算法对所述明文数据创建数字签名,基于所述数字签名得到所述明文数据对应的原始摘要。
本发明还提供一种数据解密方法,应用于银行端,包括:
接收企业端发送的整合数据,基于所述整合数据确定银行端加密对称秘钥、XML密文、私钥加密数字签名以及所述企业端的数字证书;
基于银行端私钥对银行端加密对称秘钥进行解密得到对称秘钥;
基于对称秘钥对所述XML密文进行解密得到XML格式的明文数据;
获取企业端公钥,基于所述企业端公钥对私钥加密数字签名进行解密,得到第一摘要,将所述明文数据基于目标散列算法得到第二摘要;
在所述第一摘要和第二摘要相同的情况下,确定所述明文数据为真实和安全状态。
根据本发明提供的一种数据解密方法,所述获取企业端公钥,基于所述企业端公钥对私钥加密数字签名进行解密,得到第一摘要,将所述明文数据基于目标散列算法得到第二摘要,包括:
基于所述企业端的数字证书获取企业端公钥;
基于所述企业端公钥对私钥加密数字签名进行解密,得到第一摘要;
确定所述企业端发送的私钥加密数字签名对应的原始摘要,并确定获取所述原始摘要对应的所述目标散列算法;
将所述明文数据基于所述散列算法得到第二摘要。
根据本发明提供的一种数据解密方法,还包括:
在所述第一摘要和第二摘要不相同的情况下,确定所述明文数据经第三方用户端接收及发送,或确定所述明文数据被篡改。
本发明还提供一种数据加密装置,应用于企业端,包括:
XML数据接收模块,用于接收企业财资系统发送的可扩展标记语言XML格式的明文数据;
秘钥加密模块,用于获取对称秘钥和银行端公钥,基于所述银行端公钥对所述对称秘钥进行非对称加密,得到银行端加密对称秘钥,所述银行端公钥是基于数字证书确定的;
明文加密模块,用于基于所述对称秘钥对所述明文数据进行加密,得到XML密文;
签名加密模块,用于获取所述XML密文的原始摘要,基于所述企业端的私钥对所述原始摘要进行非对称加密,得到私钥加密数字签名;
发送模块,用于将所述银行端加密对称秘钥、XML密文、私钥加密数字签名以及所述数字证书进行整合得到整合数据,将所述整合数据发送至银行端,所述银行端用于基于所述整合数据进行数据解密。
本发明还提供一种数据解密装置,应用于银行端,包括:
整合数据接收模块,用于接收企业端发送的整合数据,基于所述整合数据确定银行端加密对称秘钥、XML密文、私钥加密数字签名以及所述企业端的数字证书;
秘钥解密模块,用于基于银行端私钥对银行端加密对称秘钥进行解密得到对称秘钥;
密文解密模块,用于基于对称密钥对所述XML密文进行解密得到XML格式的明文数据;
摘要获取模块,用于获取企业端公钥,基于所述企业端公钥对私钥加密数字签名解密,得到第一摘要,将所述明文数据基于目标散列算法得到第二摘要;
确定模块,用于在所述第一摘要和第二摘要相同的情况下,确定所述明文数据为真实和安全状态。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述数据加密方法,或实现上述任一种数据解密方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述数据加密方法,或实现上述任一种数据解密方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述数据加密方法,或实现上述任一种数据解密方法。
本发明提供的数据加密方法、解密方法以及装置,通过企业端获取明文数据并进行明文数据加密,对称秘钥加密以及获取明文数据的数字签名,将获取到的银行端加密对称秘钥、XML密文、私钥加密数字签名以及所述数字证书发送到银行端进行解密,通过多层加密的方式,确保数据的安全性,并且通过银行端进行多层解密,进而确保数据的机密性和安全性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术的银企互联示意图;
图2是本发明提供的数据加密方法的流程示意图;
图3是本发明提供的数据解密方法的流程示意图;
图4是企业端和银行端的数据交互示意图;
图5是本发明提供的数据加密装置的结构示意图;
图6是本发明提供的数据加密装置的结构示意图;
图7是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图2,本发明提供的一种数据加密方法,应用于企业端,包括以下步骤:
步骤210、接收企业财资系统发送的可扩展标记语言XML格式的明文数据;
步骤220、获取对称秘钥和银行端公钥,基于所述银行端公钥对所述对称秘钥进行非对称加密,得到银行端加密对称秘钥,所述银行端公钥是基于数字证书确定的;
步骤230、获取所述明文数据的原始摘要,基于所述企业端的私钥对所述原始摘要进行非对称加密,得到私钥加密数字签名;
步骤240、基于所述对称秘钥对所述明文数据进行加密,得到XML密文;
步骤250、将所述银行端加密对称秘钥、XML密文、私钥加密数字签名以及所述数字证书进行整合得到整合数据,将所述整合数据发送至银行端,所述银行端用于基于所述整合数据进行数据解密。
以下对上述各个步骤进行详细描述。本实施例应用于企业端,和银行端进行数据通信,即银企互联。需指出:银企直连是企业财资系统与银行提供的企业银行系统实现对接的一种直连接入方式,即企业财资系统可通过银企直连平台实现与银行业务系统的信息交互,例如企业通过银企直连对接可实现账户余额查询、交易明细查询、实时转账及电子回单获取等功能。
可以理解的是,本实施例为数据的加密过程。首先接收企业财资系统发送的明文数据,通常明文数据为XML格式。
然后获取对称秘钥和银行端公钥,并利用银行端公钥对对称秘钥进行加密,得到银行端加密对称秘钥。
需要说明的是,对称秘钥是企业端通过软件获取的,该软件即为企业端和银行端进行数据交易的软件。银行端公钥通常是由银行向一个信任的第三方证书颁发机构(CA)提出申请,从而获得数字证书。该数字证书内包含了银行的公钥以及证书颁发机构的数字签名,用于验证该证书的真实性和银行公钥的正确性。需要通过与银行进行安全通信的方式获取银行的公钥,通常使用“密钥交换”协议或是“数字证书验证”方法获取银行端的公钥。
需要进一步说明的是,该加密过程为非对称加密,通常采用SM2加密算法。SM2使用不同的密钥进行加密和解密操作,在SM2算法中,公钥被用于加密,私钥则用于解密。相比于对称加密算法,非对称加密算法SM2更加安全,因为每个用户(本实施例中指银行端)有自己的私钥,对于未授权的银行端来说,破解私钥是非常困难的,因此通过非对称加密可提高数据的安全性和机密性。
进一步地,获取明文数据原始摘要。其具体过程为,利用SHA-1散列算法创建数字签名,根据数字签名获得原始摘要。数字签名主要用于验证数字内容的完整性、不可否认性和真实性。
需要说明的是,SHA-1是一种数据加密散列算法,能够将任意长度的数据计算成固定长度的散列值,通常为160位。广泛应用于数字证书、数字签名和其他安全应用中。
SHA-1的运算过程包括初始化、处理消息块和输出。在初始化阶段,需要设置一些常量和初始值。在处理消息块阶段,需要将消息分割成固定长度的块,每次处理一个块。在输出阶段,将最后一个块的结果与初始值结合生成最终的散列值。
在其他的一些实施方式中,还可以选用SHA-256、SHA-384或SHA-512等散列算法,再次不做过多限定。
并且,通过上述通过软件获取的对称秘钥对XML格式的明文数据进行加密,得到XML密文。最后,将银行端加密对称秘钥、XML密文、私钥加密数字签名以及数字证书进行整合得到整合数据,将整合数据发送到银行端,银行端接收到整合数据之后进行数据解密。
需要说明的是,本实施例中的CA机构颁发的企业端数字证书,是一种用于认证企业身份的数字证书,也称为企业认证证书或组织认证证书。该证书会包含企业名称、地址、电话、邮箱、经营范围等信息,并通过公钥密码学技术,将这些信息与数字签名捆绑在一起,从而保证证书的真实性和完整性。企业可以用它来证明自己的身份,进行电子商务、虚拟私有网络(VPN)、网路银行等安全的在线交易。
本发明提供的数据加密方法,通过企业端获取明文数据并进行明文数据加密,对称秘钥加密以及获取明文数据的数字签名,将获取到的银行端加密对称秘钥、XML密文、私钥加密数字签名以及所述数字证书发送到银行端进行解密,通过多层加密的方式,确保数据的安全性,并且通过银行端进行多层解密,进而确保数据的机密性和安全性。
在一些可选的实施例中,所述获取对称秘钥和银行端公钥,包括:
确定所述企业端和所述银行端之间进行交易的目标软件;
基于所述目标软件获取所述对称秘钥;
基于密钥交换或数字证书验证,从所述数字证书中获取所述银行端公钥。
可以理解的是,本实施例为对称秘钥和银行端公钥的获取过程。
一方面,需要获取企业端和银行端进行交易的目标软件,可通过目标软件直接生成对称秘钥。另一方面,银行端公钥通常是由银行向一个信任的第三方证书颁发机构(CA)提出申请,从而获得数字证书。该数字证书内包含了银行的公钥以及证书颁发机构的数字签名,用于验证该证书的真实性和银行公钥的正确性。需要通过与银行进行安全通信的方式获取银行的公钥,通常使用“密钥交换”协议或是“数字证书验证”方法获取银行端的公钥。
本实施例通过获取对称秘钥和银行端公钥,可通过非对称加密算法对对称秘钥进行加密,得到银行端加密对称秘钥并发送给银行端,以实现对称秘钥的加密和解密,提高数据的安全性和机密性。
在一些可选的实施例中,所述获取所述明文数据的原始摘要,包括:
基于目标散列算法对所述明文数据创建数字签名,基于所述数字签名得到所述明文数据对应的原始摘要。
本实施例通过目标散列算法创建数字签名,根据数字签名的结果得到明文数据的原始摘要,在明文数据加密以及对称秘钥加密的基础上增加数字签名,进一步保证数据生命周期的安全性。通过创建数字签名,能够保证企业端发送数据以及银行端接收数据的完整性。
参照图3,本发明还提供一种数据解密方法,应用于银行端,包括:
步骤310、接收企业端发送的整合数据,基于所述整合数据确定银行端加密对称秘钥、XML密文、私钥加密数字签名以及所述企业端的数字证书;
步骤320、基于银行端私钥对银行端加密对称秘钥进行解密得到对称秘钥;
步骤330、基于对称秘钥对所述XML密文进行解密得到XML格式的明文数据;
步骤340、获取企业端公钥,基于所述企业端公钥对私钥加密数字签名进行解密,得到第一摘要,将所述明文数据基于目标散列算法得到第二摘要;
步骤350、在所述第一摘要和第二摘要相同的情况下,确定所述明文数据为真实和安全状态。
本实施例为数据解密的具体过程。
首先通过上述步骤310接收来自企业端发送的整合数据,即银行端加密对称秘钥、XML密文、私钥加密数字签名以及所述数字证书。
然后,通过上述步骤320,利用银行端私钥对接收到的银行端对称秘钥进行解密,得到对称秘钥。
需指出,本实施例中的对称秘钥应和上述实施例中通软件生成的对称秘钥保持一致。
需要说明的是,银行端私钥是非对称加密算法中的私钥,用于保护敏感数据的安全。
通过上述步骤330对接收到的XML密文进行解密,得到XML格式的明文数据。需指出,本实施例中的XML的明文数据应和上述实施例保持一致。
通过上述步骤340,一方面,获取企业端公钥,基于企业端公钥对接收到的私钥加密数字签名进行解密,得到第一摘要。需要说明的是,本实施例中的企业端公钥需要从企业端的数字证书中获得。
另一方面,利用解密后的明文数据,通过目标散列算法得到第二摘要。本实施例中选用的目标散列算法应该和上述实施例中的SHA-1算法保持一致。
最后通过上述步骤350,对比上述步骤340中生成的第一摘要和第二摘要,确定第一摘要和第二摘要相同时,则表示通过银行端直接连接企业端,从而确定数据未被篡改,保障了数据的安全性和机密性。
在其他的实施例中,在第一摘要和第二摘要不相同的情况下,确定数据经第三方用户端接收及发送,或确定数据被篡改。
本发明提供的数据解密方法,通过接收企业端发送的整合数据,对银行端加密对称秘钥、XML密文进行解密,以及对私钥加密数字签名进行验签,得到第一摘要和第二摘要,通过对第一摘要和第二摘要进行对比,确保数据未发生篡改,通过多层加密和多层解密提高数据的安全性和机密性。
在一些可选的实施例中,所述获取企业端公钥,基于所述企业端公钥对私钥加密数字签名进行解密,得到第一摘要,将所述明文数据基于目标散列算法得到第二摘要,包括:
基于所述企业端的数字证书获取企业端公钥;
基于所述企业端公钥对私钥加密数字签名进行解密,得到第一摘要;
确定所述企业端发送的私钥加密数字签名对应的原始摘要,并确定获取所述原始摘要对应的所述目标散列算法;
将所述明文数据基于所述散列算法得到第二摘要。
可以理解的是,本实施例为验签生成摘要的过程以及直接生成摘要的过程。
首先基于企业端的数字证书获取企业端公钥,然后基于企业端公钥对私钥加密数字签名进行解密,得到第一摘要。
可以理解的,第一摘要的生成方式是对利用企业端公钥对私钥加密数字签名进行解密,也就是解签的过程。
确定企业端发送的私钥加密数字签名对应的原始摘要,并确定获取原始摘要对应的目标散列算法,将明文数据基于散列算法得到第二摘要。
可以理解的是,第二摘要的生成方式是利用目标散列算法对解密后的明文数据进行创建数字签名。
本实施例通过不同的方式生成第一摘要和第二摘要,可以通过对比第一摘要和第二摘要是否一致,来确定数据为是否为真实和安全状态,能够提高数据传输的安全性和机密性。
参照图4,图4为企业端和银行端的数据交互示意图,包括:
步骤410、接收来自企业财资系统的XML明文信息;
步骤420、利用软件生成对称秘钥,并用银行端公钥加密;
步骤430、创建XML明文的数字签名,产生原始摘要;
步骤440、用对称秘钥加密XML明文,得到XML密文;
步骤450、用企业端私钥加密原始摘要;
步骤460、整合以下信息发送至银行端:1、对称加密后的XML密文;2、企业端私钥加密后的数字签名;4、银行端公钥加密后的对称秘钥;4、CA机构签发的企业端数字证书;
步骤470、用银行端私钥解密得到对称秘钥;
步骤480、用对称秘钥对XML密文进行解密得到XML明文;
步骤490、通过企业端的数字证书获取到企业端公钥,并解密其摘要,称作摘要1;
步骤401、对解密后XML使用和发送者同样的散列算法来创建摘要,得到摘要2;
步骤402、对比摘要1和摘要2,若相同,则表明数据来源于银企直连企业端,且未被篡改。
参照图5,本发明还提供一种数据加密装置,应用于企业端,包括:
XML数据接收模块510,用于接收企业财资系统发送的可扩展标记语言XML格式的明文数据;
秘钥加密模块520,用于获取对称秘钥和银行端公钥,基于所述银行端公钥对所述对称秘钥进行非对称加密,得到银行端加密对称秘钥,所述银行端公钥是基于数字证书确定的;
明文加密模块530,用于基于所述对称秘钥对所述明文数据进行加密,得到XML密文;
签名加密模块540,用于获取所述XML密文的原始摘要,基于所述企业端的私钥对所述原始摘要进行非对称加密,得到私钥加密数字签名;
发送模块550,用于将所述银行端加密对称秘钥、XML密文、私钥加密数字签名以及所述数字证书进行整合得到整合数据,将所述整合数据发送至银行端,所述银行端用于基于所述整合数据进行数据解密。
在一些可选的实施例中,所述获取对称秘钥和银行端公钥,包括:
确定所述企业端和所述银行端之间进行交易的目标软件;
基于所述目标软件获取所述对称秘钥;
基于密钥交换或数字证书验证,从所述数字证书中获取所述银行端公钥。
在一些可选的实施例中,所述获取所述明文数据的原始摘要,包括:
基于目标散列算法对所述明文数据创建数字签名,基于所述数字签名得到所述明文数据对应的原始摘要。
参照图6,本发明还提供一种数据解密装置,应用于银行端,包括:
整合数据接收模610,用于接收企业端发送的整合数据,基于所述整合数据确定银行端加密对称秘钥、XML密文、私钥加密数字签名以及所述企业端的数字证书;
秘钥解密模块620,用于基于银行端私钥对银行端加密对称秘钥进行解密得到对称秘钥;
密文解密模块630,用于基于对称密钥对所述XML密文进行解密得到XML格式的明文数据;
摘要获取模块640,用于获取企业端公钥,基于所述企业端公钥对私钥加密数字签名解密,得到第一摘要,将所述明文数据基于目标散列算法得到第二摘要;
确定模块650,用于在所述第一摘要和第二摘要相同的情况下,确定所述明文数据为真实和安全状态。
在一些可选的实施例中,所述获取企业端公钥,基于所述企业端公钥对私钥加密数字签名进行解密,得到第一摘要,将所述明文数据基于目标散列算法得到第二摘要,包括:
基于所述企业端的数字证书获取企业端公钥;
基于所述企业端公钥对私钥加密数字签名进行解密,得到第一摘要;
确定所述企业端发送的私钥加密数字签名对应的原始摘要,并确定获取所述原始摘要对应的所述目标散列算法;
将所述明文数据基于所述散列算法得到第二摘要。
在一些可选的实施例中,还包括:
在所述第一摘要和第二摘要不相同的情况下,确定所述数据经第三方用户端接收及发送,或确定所述数据被篡改。
图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(Communications Interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行数据加密方法,该方法包括:
接收企业财资系统发送的可扩展标记语言XML格式的明文数据;
获取对称秘钥和银行端公钥,基于所述银行端公钥对所述对称秘钥进行非对称加密,得到银行端加密对称秘钥,所述银行端公钥是基于数字证书确定的;
获取所述明文数据的原始摘要,基于所述企业端的私钥对所述原始摘要进行非对称加密,得到私钥加密数字签名;
基于所述对称秘钥对所述明文数据进行加密,得到XML密文;
将所述银行端加密对称秘钥、XML密文、私钥加密数字签名以及所述数字证书进行整合得到整合数据,将所述整合数据发送至银行端,所述银行端用于基于所述整合数据进行数据解密;
或执行数据解密方法,该方法包括:
接收企业端发送的整合数据,基于所述整合数据确定银行端加密对称秘钥、XML密文、私钥加密数字签名以及所述企业端的数字证书;
基于银行端私钥对银行端加密对称秘钥进行解密得到对称秘钥;
基于对称秘钥对所述XML密文进行解密得到XML格式的明文数据;
获取企业端公钥,基于所述企业端公钥对私钥加密数字签名进行解密,得到第一摘要,将所述明文数据基于目标散列算法得到第二摘要;
在所述第一摘要和第二摘要相同的情况下,确定所述明文数据为真实和安全状态。
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的数据加密方法,该方法包括:
接收企业财资系统发送的可扩展标记语言XML格式的明文数据;
获取对称秘钥和银行端公钥,基于所述银行端公钥对所述对称秘钥进行非对称加密,得到银行端加密对称秘钥,所述银行端公钥是基于数字证书确定的;
获取所述明文数据的原始摘要,基于所述企业端的私钥对所述原始摘要进行非对称加密,得到私钥加密数字签名;
基于所述对称秘钥对所述明文数据进行加密,得到XML密文;
将所述银行端加密对称秘钥、XML密文、私钥加密数字签名以及所述数字证书进行整合得到整合数据,将所述整合数据发送至银行端,所述银行端用于基于所述整合数据进行数据解密;
或执行数据解密方法,该方法包括:
接收企业端发送的整合数据,基于所述整合数据确定银行端加密对称秘钥、XML密文、私钥加密数字签名以及所述企业端的数字证书;
基于银行端私钥对银行端加密对称秘钥进行解密得到对称秘钥;
基于对称秘钥对所述XML密文进行解密得到XML格式的明文数据;
获取企业端公钥,基于所述企业端公钥对私钥加密数字签名进行解密,得到第一摘要,将所述明文数据基于目标散列算法得到第二摘要;
在所述第一摘要和第二摘要相同的情况下,确定所述明文数据为真实和安全状态。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的数据加密方法,该方法包括:
接收企业财资系统发送的可扩展标记语言XML格式的明文数据;
获取对称秘钥和银行端公钥,基于所述银行端公钥对所述对称秘钥进行非对称加密,得到银行端加密对称秘钥,所述银行端公钥是基于数字证书确定的;
获取所述明文数据的原始摘要,基于所述企业端的私钥对所述原始摘要进行非对称加密,得到私钥加密数字签名;
基于所述对称秘钥对所述明文数据进行加密,得到XML密文;
将所述银行端加密对称秘钥、XML密文、私钥加密数字签名以及所述数字证书进行整合得到整合数据,将所述整合数据发送至银行端,所述银行端用于基于所述整合数据进行数据解密;
或执行数据解密方法,该方法包括:
接收企业端发送的整合数据,基于所述整合数据确定银行端加密对称秘钥、XML密文、私钥加密数字签名以及所述企业端的数字证书;
基于银行端私钥对银行端加密对称秘钥进行解密得到对称秘钥;
基于对称秘钥对所述XML密文进行解密得到XML格式的明文数据;
获取企业端公钥,基于所述企业端公钥对私钥加密数字签名进行解密,得到第一摘要,将所述明文数据基于目标散列算法得到第二摘要;
在所述第一摘要和第二摘要相同的情况下,确定所述明文数据为真实和安全状态。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (11)
1.一种数据加密方法,其特征在于,应用于企业端,包括:
接收企业财资系统发送的可扩展标记语言XML格式的明文数据;
获取对称秘钥和银行端公钥,基于所述银行端公钥对所述对称秘钥进行非对称加密,得到银行端加密对称秘钥,所述银行端公钥是基于数字证书确定的;
获取所述明文数据的原始摘要,基于所述企业端的私钥对所述原始摘要进行非对称加密,得到私钥加密数字签名;
基于所述对称秘钥对所述明文数据进行加密,得到XML密文;
将所述银行端加密对称秘钥、XML密文、私钥加密数字签名以及所述数字证书进行整合得到整合数据,将所述整合数据发送至银行端,所述银行端用于基于所述整合数据进行数据解密。
2.根据权利要求1所述的数据加密方法,其特征在于,所述获取对称秘钥和银行端公钥,包括:
确定所述企业端和所述银行端之间进行交易的目标软件;
基于所述目标软件获取所述对称秘钥;
基于密钥交换或数字证书验证,从所述数字证书中获取所述银行端公钥。
3.根据权利要求1所述的数据加密方法,其特征在于,所述获取所述明文数据的原始摘要,包括:
基于目标散列算法对所述明文数据创建数字签名,基于所述数字签名得到所述明文数据对应的原始摘要。
4.一种数据解密方法,其特征在于,应用于银行端,包括:
接收企业端发送的整合数据,基于所述整合数据确定银行端加密对称秘钥、XML密文、私钥加密数字签名以及所述企业端的数字证书;
基于银行端私钥对银行端加密对称秘钥进行解密得到对称秘钥;
基于对称秘钥对所述XML密文进行解密得到XML格式的明文数据;
获取企业端公钥,基于所述企业端公钥对私钥加密数字签名进行解密,得到第一摘要,将所述明文数据基于目标散列算法得到第二摘要;
在所述第一摘要和第二摘要相同的情况下,确定所述明文数据为真实和安全状态。
5.根据权利要求4所述的数据解密方法,其特征在于,所述获取企业端公钥,基于所述企业端公钥对私钥加密数字签名进行解密,得到第一摘要,将所述明文数据基于目标散列算法得到第二摘要,包括:
基于所述企业端的数字证书获取企业端公钥;
基于所述企业端公钥对私钥加密数字签名进行解密,得到第一摘要;
确定所述企业端发送的私钥加密数字签名对应的原始摘要,并确定获取所述原始摘要对应的所述目标散列算法;
将所述明文数据基于所述散列算法得到第二摘要。
6.根据权利要求4所述的数据解密方法,其特征在于,还包括:
在所述第一摘要和第二摘要不相同的情况下,确定所述明文数据经第三方用户端接收及发送,或确定所述明文数据被篡改。
7.一种数据加密装置,其特征在于,应用于企业端,包括:
XML数据接收模块,用于接收企业财资系统发送的可扩展标记语言XML格式的明文数据;
秘钥加密模块,用于获取对称秘钥和银行端公钥,基于所述银行端公钥对所述对称秘钥进行非对称加密,得到银行端加密对称秘钥,所述银行端公钥是基于数字证书确定的;
明文加密模块,用于基于所述对称秘钥对所述明文数据进行加密,得到XML密文;
签名加密模块,用于获取所述XML密文的原始摘要,基于所述企业端的私钥对所述原始摘要进行非对称加密,得到私钥加密数字签名;
发送模块,用于将所述银行端加密对称秘钥、XML密文、私钥加密数字签名以及所述数字证书进行整合得到整合数据,将所述整合数据发送至银行端,所述银行端用于基于所述整合数据进行数据解密。
8.一种数据解密装置,其特征在于,应用于银行端,包括:
整合数据接收模块,用于接收企业端发送的整合数据,基于所述整合数据确定银行端加密对称秘钥、XML密文、私钥加密数字签名以及所述企业端的数字证书;
秘钥解密模块,用于基于银行端私钥对银行端加密对称秘钥进行解密得到对称秘钥;
密文解密模块,用于基于对称密钥对所述XML密文进行解密得到XML格式的明文数据;
摘要获取模块,用于获取企业端公钥,基于所述企业端公钥对私钥加密数字签名解密,得到第一摘要,将所述明文数据基于目标散列算法得到第二摘要;
确定模块,用于在所述第一摘要和第二摘要相同的情况下,确定所述明文数据为真实和安全状态。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至3任一项所述数据加密方法,或实现如权利要求4至6任一项所述数据解密方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述数据加密方法,或实现如权利要求4至6任一项所述数据解密方法。
11.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述数据加密方法,或实现如权利要求4至6任一项所述数据解密方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310572907.4A CN116781254A (zh) | 2023-05-19 | 2023-05-19 | 数据加密方法、解密方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310572907.4A CN116781254A (zh) | 2023-05-19 | 2023-05-19 | 数据加密方法、解密方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116781254A true CN116781254A (zh) | 2023-09-19 |
Family
ID=88009009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310572907.4A Pending CN116781254A (zh) | 2023-05-19 | 2023-05-19 | 数据加密方法、解密方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116781254A (zh) |
-
2023
- 2023-05-19 CN CN202310572907.4A patent/CN116781254A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3673435B1 (en) | Improving integrity of communications between blockchain networks and external data sources | |
US11356280B2 (en) | Personal device security using cryptocurrency wallets | |
AU2017223133B2 (en) | Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys | |
US9565180B2 (en) | Exchange of digital certificates in a client-proxy-server network configuration | |
JP6012125B2 (ja) | 問い合わせ型トランザクションによる強化された2chk認証セキュリティ | |
JP3560439B2 (ja) | 暗号キーの回復を実行する装置 | |
Cervesato et al. | Breaking and fixing public-key Kerberos | |
US9531540B2 (en) | Secure token-based signature schemes using look-up tables | |
CN109728909A (zh) | 基于USBKey的身份认证方法和系统 | |
US20080022085A1 (en) | Server-client computer network system for carrying out cryptographic operations, and method of carrying out cryptographic operations in such a computer network system | |
JP2015528149A (ja) | 企業トリガ式2chk関連付けの起動 | |
CN103338215A (zh) | 基于国密算法建立tls通道的方法 | |
EP1766848A1 (en) | Method, system and computer program for protecting user credentials against security attacks | |
CN113806772A (zh) | 基于区块链的信息加密传输方法及装置 | |
CN113507372A (zh) | 一种接口请求的双向认证方法 | |
CN110690969A (zh) | 一种多方协同完成双向ssl/tls认证的方法和系统 | |
JP5186648B2 (ja) | 安全なオンライン取引を容易にするシステム及び方法 | |
CN110611679A (zh) | 一种数据传输方法、装置、设备及系统 | |
CN114244508A (zh) | 数据加密方法、装置、设备及存储介质 | |
CN113904767A (zh) | 一种基于ssl建立通信的系统 | |
CN116707778A (zh) | 数据混合加密传输方法、装置和电子设备 | |
WO2023284691A1 (zh) | 一种账户的开立方法、系统及装置 | |
CN114650181B (zh) | 电子邮件加解密方法、系统、设备及计算机可读存储介质 | |
Sun et al. | The mobile payment based on public-key security technology | |
US20210306306A1 (en) | Method and system for secure communication |
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 |