CN112907375A - 数据处理方法、装置、计算机设备和存储介质 - Google Patents
数据处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112907375A CN112907375A CN202110322120.3A CN202110322120A CN112907375A CN 112907375 A CN112907375 A CN 112907375A CN 202110322120 A CN202110322120 A CN 202110322120A CN 112907375 A CN112907375 A CN 112907375A
- Authority
- CN
- China
- Prior art keywords
- transaction data
- collected
- public key
- information
- determining
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Development Economics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请涉及区块链加密领域,通过根据令牌信息与目标地址对交易数据进行归集处理得到归集交易数据,实现对归集交易数据施加双重保护,有效避免归集交易数据在区块链网络上被重放攻击,提高了归集交易数据的安全性。尤其涉及一种数据处理方法、装置、计算机设备和存储介质,该方法包括:获取待写入区块链的交易数据;确定交易数据的私有密钥与公有密钥,并根据公有密钥确定交易数据对应的目标地址;获取令牌信息,根据令牌信息与目标地址对交易数据进行归集处理,获得归集交易数据;确定归集交易数据的数字签名信息;将归集交易数据、数字签名信息以及公有密钥发送至区块链网络中的全节点进行验证,并在验证通过后,对归集交易数据执行上链操作。
Description
技术领域
本申请涉及区块链加密领域,尤其涉及一种数据处理方法、装置、计算机设备和存储介质。
背景技术
在区块链网络的交易中,虽然从交易结构、签名验证以及私钥泄露等环节进行重点安全防护,但并不能有效防范操作风险,人为层面的操作失误或疏忽可能导致“技术意义上正确但业务意义上错误”的交易发生,从而造成不可逆影响。其中,重放攻击(ReplayAttack)是最常用的攻击手段;重放攻击是指利用相同或相似的区块链上可以认可同一笔交易的特性,实施了用户不知情条件下的“有效”交易,从而造成其他用户的损失。
因此如何防范区块链网络中的重放攻击,提高交易数据的安全性成为亟需解决的问题。
发明内容
本申请提供了一种数据处理方法、装置、计算机设备和存储介质,通过根据令牌信息与目标地址对交易数据进行归集处理得到归集交易数据,实现对归集交易数据施加双重保护,可以有效避免归集交易数据在区块链网络上被重放攻击,提高了归集交易数据的安全性。
第一方面,本申请提供了一种数据处理方法,所述方法包括:
获取待写入区块链的交易数据;
确定所述交易数据的私有密钥与公有密钥,并根据所述公有密钥确定所述交易数据对应的目标地址;
获取令牌信息,根据所述令牌信息与所述目标地址对所述交易数据进行归集处理,获得对应的归集交易数据,所述令牌信息与所述目标地址用于识别所述归集交易数据;
根据所述私有密钥确定所述归集交易数据对应的数字签名信息;
将所述归集交易数据、所述数字签名信息以及所述公有密钥发送至区块链网络,以使所述区块链网络中的全节点根据所述数字签名信息与所述公有密钥对所述归集交易数据进行验证,并在验证通过后,对所述归集交易数据执行上链操作。
第二方面,本申请还提供了一种数据处理装置,所述装置包括:
交易数据获取模块,用于获取待写入区块链的交易数据;
目标地址确定模块,用于确定所述交易数据的私有密钥与公有密钥,并根据所述公有密钥确定所述交易数据对应的目标地址;
归集处理模块,用于获取令牌信息,根据所述令牌信息与所述目标地址对所述交易数据进行归集处理,获得对应的归集交易数据,所述令牌信息与所述目标地址用于识别所述归集交易数据;
数字签名模块,用于根据所述私有密钥确定所述归集交易数据对应的数字签名信息;
数据发送模块,用于将所述归集交易数据、所述数字签名信息以及所述公有密钥发送至区块链网络,以使所述区块链网络中的全节点根据所述数字签名信息与所述公有密钥对所述归集交易数据进行验证,并在验证通过后,对所述归集交易数据执行上链操作。
第三方面,本申请还提供了一种计算机设备,所述计算机设备包括存储器和处理器;
所述存储器,用于存储计算机程序;所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上述客户端对应的数据处理方法。
第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上述客户端对应的数据处理方法。
本申请公开了一种数据处理方法、装置、计算机设备和存储介质,通过获取待写入区块链的交易数据,并确定交易数据的私有密钥与公有密钥,可以根据公有密钥确定交易数据对应的目标地址;通过获取令牌信息,根据令牌信息与目标地址对交易数据进行归集处理,获得对应的归集交易数据,实现通过令牌信息与目标地址对归集交易数据施加双重保护;通过根据私有密钥确定归集交易数据对应的数字签名信息,后续可以根据数字签名信息对归集交易数据进行验证;通过将归集交易数据、数字签名信息以及公有密钥发送至区块链网络,可以使得区块链网络中的全节点根据数字签名信息与公有密钥对归集交易数据进行验证并在验证通过后,对归集交易数据执行上链操作,有效避免归集交易数据在区块链网络上被重放攻击,提高了归集交易数据的安全性。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据处理方法的示意性流程图;
图2是本申请实施例提供的一种对归集交易数据进行验证与上链的示意图;
图3是本申请实施例提供的一种判断归集交易数据是否成功写入区块链的示意性流程图;
图4是本申请另一实施例提供的数据处理方法的示意性流程图;
图5是本申请实施例提供的一种对归集交易数据进行验证的子步骤的示意性流程图;
图6是本申请实施例提供的一种数据处理装置的示意性框图;
图7是本申请实施例提供的一种计算机设备的结构示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本申请的实施例提供了一种数据处理方法、装置、计算机设备和存储介质。其中,该数据处理方法可以应用于客户端中,实现通过根据令牌信息与目标地址对交易数据进行归集处理得到归集交易数据,实现对归集交易数据施加双重保护,有效避免归集交易数据在区块链网络上被重放攻击,提高了归集交易数据的安全性。
其中,客户端可以是智能手机、平板电脑、笔记本电脑和台式电脑等电子设备。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。如图1所示,数据处理方法包括步骤S101至步骤S105。
步骤S101、获取待写入区块链的交易数据。
在本申请实施例中,客户端是指向区块链网络发起交易的一端,交易数据是客户端发起交易产生的数据;在产生交易数据后,需要将交易数据发送至区块链网络,以使区块链网络中的全节点将交易数据写入区块链中,以使本次交易生效。
需要说明的是,区块链网络中存在多种节点,例如,背书节点、共识节点和全节点等。节点可以是任意的计算机设备,比如PC电脑、笔记本、手机以及路由器等。全节点是是拥有完整区块链账本的节点,全节点需要占用内存同步所有的区块链数据,能够独立校验区块链上的所有交易并实时更新数据,主要负责区块链的交易的广播和验证。
示例性的,可以检测用户在客户端上的交易操作,根据交易操作将交易的数据或信息确定待写入区块链的交易数据。例如,当用户在客户端上通过钱包向某个账户进行转账,可以将转账的信息确定为交易数据,例如将转账账号、转账金额、转账时间等信息确定为交易数据。
通过获取待写入区块链的交易数据,后续可以对交易数据施加双重防护,从而可以增强交易数据的安全性。
步骤S102、确定所述交易数据的私有密钥与公有密钥,并根据所述公有密钥确定所述交易数据对应的目标地址。
需要说明的是,在本申请实施例中,私有密钥可以用于对交易数据对应的交易摘要信息进行加密,得到数字签名信息;公有密钥除了用于确定交易数据的目标地址,公有密钥可以发送给交易数据对应的接收方,以使接收方根据公有密钥对数字签名信息进行解密,得到解密后的交易摘要信息。其中,接收方可以是区块链网络中的各全节点。
在一些实施例中,确定交易数据的私有密钥与公有密钥,可以包括:确定交易数据的哈希值,根据哈希值确定交易数据的密码信息;基于预设的加密算法,根据密码信息生成私有密钥与公有密钥。
示例性的,可以基于消息摘要算法或哈希算法,计算交易数据的哈希值,将得到的哈希值确定为密码信息。需要说明的是,消息摘要算法(Message-Digest Algorithm)可以包括但不限于MD2算法、MD4算法以及MD5算法等等,此处不做唯一限定。哈希算法(SecureHash Algorithm)可以包括但不限于SHA-1、SHA-224、SHA-256、SHA-384以及SHA-512等等,此处不做唯一限定。
示例性的,还可以将交易数据的哈希值与当前时间的时间戳进行组合确定为交易数据对应的密码信息。需要说明的是,时间戳是一个字符序列,可以唯一地标识某一刻的时间。
示例性的,预设的加密算法可以包括AES(Advanced Encryption Standard,高级加密标准)算法和椭圆曲线签名算法等等。
在一些实施方式中,可以通过AES算法,根据密码信息生成私有密钥与公有密钥。例如,可以采用AES算法中的函数AES_set_encrypt_key或函数AES_set_decrypt_key生成密码信息对应的私有密钥,采用函数AES_set_decrypt_key或函数AES_set_decrypt_key生成私有密钥对应的公有密钥。
在另一些实施方式中,可以通过椭圆曲线签名算法,根据密码信息生成私有密钥与公有密钥。具体的生成过程,在此不作限定。
在一些实施例中,根据公有密钥确定交易数据对应的目标地址,可以包括:基于预设的地址生成策略,根据公有密钥确定交易数据的公钥哈希值,以及根据公钥哈希值生成交易数据对应的目标地址。
示例性的,可以基于RIPEMD160算法,根据公有密钥确定交易数据的公钥哈希值。需要说明的是,RIPEMD算法是指(RACE Integrity Primitives Evaluation MessageDigest,RACE原始完整性校验消息摘要)算法。RIPEMD160算法的输出的是16进制的20个字节。由于一个字节等于8bit,因此使用RIPEMD160算法进行加密所得到的是一个160bit的值。
示例性的,基于预设的地址生成策略,根据公有密钥生成目标地址的过程如下:根据RIPEMD160算法生成公有公钥对应的20字节的公钥哈希值;基于SHA256算法,对公钥哈希值进行计算哈希值,获得第一哈希值;将公钥哈希值与目标哈希值的前4字节进行拼接,获得第二哈希值;基于预设的编码算法,对第二哈希值进行编码,得到目标地址。其中,预设的编码算法可以包括但不限于base58编码、base64算法等等。
需要说明的是,目标地址可以作为交易数据的其中一部分,用于识别交易数据。通过根据公有密钥确定交易数据对应的目标地址,后续可以将令牌信息归集至目标地址中,从而实现对交易数据施加双重防护。
通过确定交易数据的私有密钥与公有密钥,可以根据私有密钥确定目标地址以及后续根据私有密钥实现对交易摘要信息进行加密得到数字签名信息,还可以将公有密钥发送给全节点,以使全节点根据公有密钥对数字签名信息进行解密。
步骤S103、获取令牌信息,根据所述令牌信息与所述目标地址对所述交易数据进行归集处理,获得对应的归集交易数据,所述令牌信息与所述目标地址用于识别所述归集交易数据。
示例性的,令牌信息可以包括交易数据对应的第一令牌信息以及历史交易数据对应的第二令牌信息。
需要说明的是,令牌信息是指用于识别交易数据的字符串。示例性的,令牌信息可以包括uid(客户端的身份标识)、time(当前时间的时间戳)、sign(数字签名)。
示例性的,可以获取交易数据当前的令牌信息,并将当前的令牌信息确定为第一令牌信息。例如,将客户端的身份标识、当前时间的时间戳以及交易数据的数字签名,确定为第一令牌信息。其中,可以通过消息摘要算法或哈希算法计算交易数据的数字签名。
需要说明的是,历史交易数据是指本次交易数据之前的交易数据。对于每一次的交易数据,客户端都生成令牌信息并存储至本地数据库或本地磁盘。因此,可以将本地数据库或本地磁盘中的令牌信息,确定为历史交易数据的第二令牌信息。
在一些实施例中,根据令牌信息与目标地址对交易数据进行归集处理,获得对应的归集交易数据,可以包括:将第一令牌信息与第二令牌信息添加至交易数据的目标地址中,获得添加信息后的交易数据;根据添加信息后的交易数据,确定归集交易数据。
需要说明的是,归集处理是指将令牌信息转移或添加至目标地址中。
示例性的,可以将交易数据的第一令牌信息转移或添加至目标地址中,然后再将全部的第二令牌信息转移或添加至目标地址中,使得目标地址包含第一令牌信息与全部的第二令牌信息;并得到添加信息后的交易数据。在本申请实施例中,可以将添加信息后的交易数据,确定为归集交易数据。其中,归集交易数据包括交易数据、目标地址、第一令牌信息以及第二令牌信息。
通过将交易数据当前的第一令牌信息以及历史交易数据的第二令牌信息添加至目标地址中,使得目标地址包含全部交易数据的令牌信息,实现通过令牌信息与目标地址识别归集交易数据,有效提高了归集交易数据的安全性。
步骤S104、根据所述私有密钥确定所述归集交易数据对应的数字签名信息。
需要说明的是,数字签名信息用于区块链网络中的全节点确认归集交易数据的来源与完整性,并保护归集交易数据,防止归集交易数据被伪造或篡改。
在一些实施例中,根据私有密钥确定归集交易数据对应的数字签名信息,包括:基于预设的消息摘要算法,确定归集交易数据对应的交易摘要信息;根据私有密钥对交易摘要信息进行签名,得到归集交易数据对应的数字签名信息。
示例性的,预设的消息摘要算法可以包括MD算法、SHA算法等等。例如,采用MD5算法计算归集交易数据对应的交易摘要信息。
示例性的,可以根据私有密钥对交易摘要信息进行加密,将加密后的交易摘要信息确定为归集交易数据对应的数字签名信息。
通过确定归集交易数据对应的交易摘要信息,并根据私有密钥对交易摘要信息进行签名,可以得到归集交易数据对应的数字签名信息,实现通过数字签名信息验证归集交易数据的真实性。
步骤S105、将所述归集交易数据、所述数字签名信息以及所述公有密钥发送至区块链网络,以使所述区块链网络中的全节点根据所述数字签名信息与所述公有密钥对所述归集交易数据进行验证,并在验证通过后,对所述归集交易数据执行上链操作。
需要说明的是,上链操作是指将归集交易数据打包成区块并写入区块链。
请参阅图2,图2是本申请实施例提供的一种对归集交易数据进行验证与上链的示意图。如图2所示,客户端可以将归集交易数据、数字签名信息以及公有密钥广播到区块链网络,区块链网络中的全节点可以根据数字签名信息与公有密钥对归集交易数据进行验证,并在验证通过后,将归集交易数据打包成区块并写入区块链。
示例性的,全节点可以根据数字签名信息与公有密钥对归集交易数据进行验证,可以包括:根据公有密钥对数字签名信息进行解密,获得归集交易数据对应的第一交易摘要信息;根据预设的数字签名算法,对归集交易数据进行计算摘要信息,得到归集交易数据对应的第二交易摘要信息;将第一交易摘要信息与第二交易摘要信息进行对比;当第一交易摘要信息与第二交易摘要信息相同时,确定归集交易数据通过验证;当第一交易摘要信息与第二交易摘要信息不相同时,确定归集交易数据未通过验证。
其中,预设的数字签名算法可以包括MD算法、SHA算法等等,此处不作唯一限定。
通过将归集交易数据、数字签名信息以及公有密钥发送至区块链网络,可以使得区块链网络中的全节点根据数字签名信息与公有密钥对归集交易数据进行验证,有效地提高了归集交易数据的可靠性与安全性。
在本申请实施例中,在将归集交易数据、数字签名信息以及公有密钥发送至区块链网络之后,还需要判断归集交易数据是否成功写入区块链。
请参阅图3,图3是本申请实施例提供的一种判断归集交易数据是否成功写入区块链的示意性流程图,具体可以包括以下步骤S106至步骤S108。
步骤S106、获取所述全节点生成的目标区块,确定所述目标区块中的区块数据。
需要说明的是,由于全节点在对归集交易数据进行验证并在验证通过后,将归集交易数据打包成区块并写入区块链,因此客户端可以监控区块链中新增的区块,将新增的区块确定为全节点生成的目标区块。
示例性的,在获取全节点生成的目标区块之后,可以确定目标区块中的区块数据。
需要说明的是,区块链是由区块组成的一个链条,每个区块至少包含了当前的交易数据与上一个区块的哈希值。区块包括区块头、区块编号、当前区块哈希值、上一区块哈希值、区块数据以及区块原数据。其中,区块数据是在创建区块时写入,包含按顺序排列的一系列交易数据。
步骤S107、将所述区块数据与所述归集交易数据进行对比,确定所述归集交易数据是否成功上链。
示例性的,可以将区块数据与归集交易数据进行对比,确定归集交易数据是否成功上链。例如,若区块数据中存在归集交易数据,则可以确定归集交易数据成功上链;若区块数据中不存在归集交易数据,则可以确定归集交易数据未成功上链。
需要说明的是,区块数据中不存在归集交易数据,可能的原因是归集交易数据被堵塞在区块链网络中,并没有分发至所有的全节点。
步骤S108、若所述归集交易数据未成功上链,则返回执行将所述归集交易数据、所述数字签名信息以及所述公有密钥发送至所述区块链网络的步骤。
示例性的,若确定归集交易数据未成功上链,则可以再次将归集交易数据广播到区块链网络中。例如,将归集交易数据、数字签名信息以及公有密钥广播到区块链网络,以使区块链网络中的全节点根据数字签名信息与公有密钥对归集交易数据进行验证,并在验证通过后,对归集交易数据执行上链操作。
通过确定全节点生成的目标区块中的区块数据,将区块数据与归集交易数据进行对比,可以确定归集交易数据是否成功上链,从而可以在归集交易数据未成功上链时,重新将归集交易数据发送给全节点进行上链操作。
上述实施例提供的数据处理方法,通过获取待写入区块链的交易数据,后续可以对交易数据施加双重防护,从而可以增强交易数据的安全性;通过确定交易数据的私有密钥与公有密钥,可以根据私有密钥确定目标地址以及后续根据私有密钥实现对交易摘要信息进行加密得到数字签名信息,还可以将公有密钥发送给全节点,以使全节点根据公有密钥对数字签名信息进行解密;通过根据公有密钥确定交易数据对应的目标地址,后续可以将令牌信息归集至目标地址中,从而实现对交易数据施加双重防护;通过将交易数据当前的第一令牌信息以及历史交易数据的第二令牌信息添加至目标地址中,使得目标地址包含全部交易数据的令牌信息,实现通过令牌信息与目标地址识别归集交易数据,有效提高了归集交易数据的安全性;通过确定归集交易数据对应的交易摘要信息,并根据私有密钥对交易摘要信息进行签名,可以得到归集交易数据对应的数字签名信息,实现通过数字签名信息验证归集交易数据的真实性;通过将归集交易数据、数字签名信息以及公有密钥发送至区块链网络,可以使得区块链网络中的全节点根据数字签名信息与公有密钥对归集交易数据进行验证,有效地提高了归集交易数据的可靠性与安全性;通过确定全节点生成的目标区块中的区块数据,将区块数据与归集交易数据进行对比,可以确定归集交易数据是否成功上链,从而可以在归集交易数据未成功上链时,重新将归集交易数据发送给全节点进行上链操作。
在本申请实施例中,客户端将归集交易数据、数字签名信息以及公有密钥发送至区块链网络,区块链网络中的全节点可以根据数字签名信息与公有密钥对归集交易数据进行验证,并在验证通过后,对归集交易数据执行上链操作。本申请实施例将对全节点获取归集交易数据、数字签名信息和公有密钥的过程、以及对归集交易数据进行验证的过程进行详细说明。
请参阅图4,图4是本申请另一实施例提供的数据处理方法的示意性流程图。该数据处理方法,可以应用于区块链网络中的全节点,通过根据令牌信息与目标地址对归集交易数据进行验证,有效避免归集交易数据在区块链网络上被重放攻击,提高了归集交易数据的安全性。该数据处理方法,包括步骤S201至步骤S203。
步骤S201、获取待写入区块链的归集交易数据,所述归集交易数据为将令牌信息归集至交易数据中的目标地址得到的,所述令牌信息与所述目标地址用于识别所述归集交易数据。
示例性的,区块链网络中的全节点可以接收客户端广播的归集交易数据,对归集交易数据进行验证后打包生成区块并写入区块链中。
其中,归集交易数据是客户端将令牌信息归集至交易数据中的目标地址得到的,令牌信息与目标地址用于识别归集交易数据。示例性的,令牌信息可以包括交易数据当前的第一令牌信息以及历史交易数据对应的第二令牌信息。
示例性的,全节点可以是服务器或终端。其中,服务器可以为独立的服务器,也可以为服务器集群;终端可以是智能手机、平板电脑、笔记本电脑、台式电脑以及路由器等电子设备。
通过获取待写入区块链的归集交易数据,可以得到由令牌信息与目标地址施加双重保护的交易数据。
步骤S202、获取所述归集交易数据对应的数字签名信息与公有密钥,根据所述数字签名信息与所述公有密钥对所述归集交易数据进行验证。
在本申请实施例中,在接收客户端广播的归集交易数据时,还可以接收客户端广播的归集交易数据对应的数字签名信息与公有密钥。
需要说明的是,数字签名信息为客户端根据私有密钥对交易摘要信息进行加密得到,交易摘要信息为客户端对归集交易数据进行计算摘要信息得到;公有密钥为对私有密钥对应的公有密钥。
示例性的,在获取归集交易数据对应的数字签名信息与公有密钥之后,可以根据数字签名信息与公有密钥对归集交易数据进行验证。
通过获取归集交易数据对应的数字签名信息与公有密钥,可以根据数字签名信息与公有密钥对归集交易数据进行验证,确保归集交易数据的安全性。
请参阅图5,图5是本申请实施例提供的一种对归集交易数据进行验证的子步骤的示意性流程图,具体可以包括以下步骤S2021至步骤S2025。
步骤S2021、根据公有密钥对数字签名信息进行解密,获得归集交易数据对应的第一交易摘要信息。
示例性的,可以采用AES算法中的函数AES_ecb_encrypt或函数AES_cbc_encrypt,根据公有密钥对数字签名信息进行解密,从而获得归集交易数据对应的第一交易摘要信息。
步骤S2022、根据预设的数字签名算法,对归集交易数据进行计算摘要信息,得到归集交易数据对应的第二交易摘要信息。
示例性的,预设的数字签名算法可以包括但不限于MD算法、SHA算法等等,此处不作唯一限定。
步骤S2023、将第一交易摘要信息与第二交易摘要信息进行对比。
步骤S2024、当第一交易摘要信息与第二交易摘要信息相同时,确定归集交易数据通过验证。
在本申请实施例中,若第一交易摘要信息与第二交易摘要信息相同,说明归集交易数据是真实的、未被篡改的,则可以确定归集交易数据通过验证。
步骤S2025、当第一交易摘要信息与第二交易摘要信息不相同时,确定归集交易数据未通过验证。
可以理解的是,当第一交易摘要信息与第二交易摘要信息不相同时,说明归集交易数据有可能是被伪造或被篡改的,因此判定归集交易数据未通过验证。
在一些实施例中,若确定归集交易数据未通过验证,则可以将归集交易数据丢弃。
通过根据公有密钥对数字签名信息进行解密以及对归集交易数据进行计算摘要信息,可以获得归集交易数据对应的第一交易摘要信息与第二交易摘要信息,从而可以根据第一交易摘要信息与第二交易摘要信息进行对比,判断归集交易数据的真实性,有效避免归集交易数据在区块链网络上被重放攻击,提高了归集交易数据的安全性。
步骤S203、当验证通过后,对所述归集交易数据执行上链操作。
示例性的,当归集交易数据验证通过后,对归集交易数据执行上链操作。例如,可以将归集交易数据进行打包成区块并将区块写入区块链中。其中,在创建区块时,可以将归集交易数据写入区块的区块数据中。
通过在确定归集交易数据验证通过后,对归集交易数据执行上链操作,实现将正确的归集交易数据写入区块链中,以使本次交易生效。
在一些实施例中,对归集交易数据执行上链操作之后,还可以包括:将生成的区块确定为目标区块;将目标区块发送至客户端,以使客户端根据目标区块确定归集交易数据是否成功上链。
通过将目标区块发送至客户端,可以使得客户端根据目标区块确定归集交易数据是否成功上链,可以在归集交易数据未成功上链时,重新将归集交易数据发送给全节点进行上链操作,避免交易失败。
请参阅图6,图6是本申请的实施例提供的一种数据处理装置1000的示意性框图,该数据处理装置用于执行客户端对应的数据处理方法。其中,该数据处理装置可以配置于客户端中。
如图6所示,该数据处理装置1000,包括:交易数据获取模块1001、目标地址确定模块1002、归集处理模块1003、数字签名模块1004和数据发送模块1005。
交易数据获取模块1001,用于获取待写入区块链的交易数据。
目标地址确定模块1002,用于确定所述交易数据的私有密钥与公有密钥,并根据所述公有密钥确定所述交易数据对应的目标地址。
归集处理模块1003,用于获取令牌信息,根据所述令牌信息与所述目标地址对所述交易数据进行归集处理,获得对应的归集交易数据,所述令牌信息与所述目标地址用于识别所述归集交易数据。
数字签名模块1004,用于根据所述私有密钥确定所述归集交易数据对应的数字签名信息。
数据发送模块1005,用于将所述归集交易数据、所述数字签名信息以及所述公有密钥发送至区块链网络,以使所述区块链网络中的全节点根据所述数字签名信息与所述公有密钥对所述归集交易数据进行验证,并在验证通过后,对所述归集交易数据执行上链操作。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上述的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图7所示的计算机设备上运行。
请参阅图7,图7是本申请实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以是服务器或终端。
请参阅图7,该计算机设备包括通过系统总线连接的处理器和存储器,其中,存储器可以包括非易失性存储介质和内存储器。
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种数据处理方法。
应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
获取待写入区块链的交易数据;确定所述交易数据的私有密钥与公有密钥,并根据所述公有密钥确定所述交易数据对应的目标地址;获取令牌信息,根据所述令牌信息与所述目标地址对所述交易数据进行归集处理,获得对应的归集交易数据,所述令牌信息与所述目标地址用于识别所述归集交易数据;根据所述私有密钥确定所述归集交易数据对应的数字签名信息;将所述归集交易数据、所述数字签名信息以及所述公有密钥发送至区块链网络,以使所述区块链网络中的全节点根据所述数字签名信息与所述公有密钥对所述归集交易数据进行验证,并在验证通过后,对所述归集交易数据执行上链操作。
在一个实施例中,所述处理器在实现确定所述交易数据的私有密钥与公有密钥,用于实现:
确定所述交易数据的哈希值,根据所述哈希值确定所述交易数据的密码信息;基于预设的加密算法,根据所述密码信息生成所述私有密钥与所述公有密钥。
在一个实施例中,所述处理器在实现根据所述公有密钥确定所述交易数据对应的目标地址时,用于实现:
基于预设的地址生成策略,根据所述公有密钥确定所述交易数据的公钥哈希值,以及根据所述公钥哈希值生成所述交易数据对应的所述目标地址。
在一个实施例中,所述处理器在实现根据所述令牌信息与所述目标地址对所述交易数据进行归集处理,获得对应的归集交易数据时,用于实现:
将所述第一令牌信息与所述第二令牌信息添加至所述交易数据的所述目标地址中,获得添加信息后的所述交易数据;根据添加信息后的所述交易数据,确定所述归集交易数据。
在一个实施例中,所述处理器在实现根据所述私有密钥确定所述归集交易数据对应的数字签名信息,用于实现:
基于预设的消息摘要算法,确定所述归集交易数据对应的交易摘要信息;根据所述私有密钥对所述交易摘要信息进行签名,得到所述归集交易数据对应的所述数字签名信息。
在一个实施例中,所述处理器在实现将所述归集交易数据、所述数字签名信息以及所述公有密钥发送至区块链网络之后,还用于实现:
获取所述全节点生成的目标区块,确定所述目标区块中的区块数据;将所述区块数据与所述归集交易数据进行对比,确定所述归集交易数据是否成功上链;若所述归集交易数据未成功上链,则返回执行将所述归集交易数据、所述数字签名信息以及所述公有密钥发送至所述区块链网络的步骤。
本申请的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本申请实施例提供的任一项数据处理方法。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字卡(Secure Digital Card,SD Card),闪存卡(Flash Card)等。
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
获取待写入区块链的交易数据;
确定所述交易数据的私有密钥与公有密钥,并根据所述公有密钥确定所述交易数据对应的目标地址;
获取令牌信息,根据所述令牌信息与所述目标地址对所述交易数据进行归集处理,获得对应的归集交易数据,所述令牌信息与所述目标地址用于识别所述归集交易数据;
根据所述私有密钥确定所述归集交易数据对应的数字签名信息;
将所述归集交易数据、所述数字签名信息以及所述公有密钥发送至区块链网络,以使所述区块链网络中的全节点根据所述数字签名信息与所述公有密钥对所述归集交易数据进行验证,并在验证通过后,对所述归集交易数据执行上链操作。
2.根据权利要求1所述的数据处理方法,其特征在于,所述确定所述交易数据的私有密钥与公有密钥,包括:
确定所述交易数据的哈希值,根据所述哈希值确定所述交易数据的密码信息;
基于预设的加密算法,根据所述密码信息生成所述私有密钥与所述公有密钥。
3.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述公有密钥确定所述交易数据对应的目标地址,包括:
基于预设的地址生成策略,根据所述公有密钥确定所述交易数据的公钥哈希值;
根据所述公钥哈希值生成所述交易数据对应的所述目标地址。
4.根据权利要求1所述的数据处理方法,其特征在于,所述令牌信息包括所述交易数据对应的第一令牌信息以及历史交易数据对应的第二令牌信息。
5.根据权利要求4所述的数据处理方法,其特征在于,所述根据所述令牌信息与所述目标地址对所述交易数据进行归集处理,获得对应的归集交易数据,包括:
将所述第一令牌信息与所述第二令牌信息添加至所述交易数据的所述目标地址中,获得添加信息后的所述交易数据;
根据添加信息后的所述交易数据,确定所述归集交易数据。
6.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述私有密钥确定所述归集交易数据对应的数字签名信息,包括:
基于预设的消息摘要算法,确定所述归集交易数据对应的交易摘要信息;
根据所述私有密钥对所述交易摘要信息进行签名,得到所述归集交易数据对应的所述数字签名信息。
7.根据权利要求1-6任一项所述的数据处理方法,其特征在于,所述将所述归集交易数据、所述数字签名信息以及所述公有密钥发送至区块链网络之后,所述方法还包括:
获取所述全节点生成的目标区块,确定所述目标区块中的区块数据;
将所述区块数据与所述归集交易数据进行对比,确定所述归集交易数据是否成功上链;
若所述归集交易数据未成功上链,则返回执行将所述归集交易数据、所述数字签名信息以及所述公有密钥发送至所述区块链网络的步骤。
8.一种数据处理装置,其特征在于,包括:
交易数据获取模块,用于获取待写入区块链的交易数据;
目标地址确定模块,用于确定所述交易数据的私有密钥与公有密钥,并根据所述公有密钥确定所述交易数据对应的目标地址;
归集处理模块,用于获取令牌信息,根据所述令牌信息与所述目标地址对所述交易数据进行归集处理,获得对应的归集交易数据,所述令牌信息与所述目标地址用于识别所述归集交易数据;
数字签名模块,用于根据所述私有密钥确定所述归集交易数据对应的数字签名信息;
数据发送模块,用于将所述归集交易数据、所述数字签名信息以及所述公有密钥发送至区块链网络,以使所述区块链网络中的全节点根据所述数字签名信息与所述公有密钥对所述归集交易数据进行验证,并在验证通过后,对所述归集交易数据执行上链操作。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求1至7任一项所述的数据处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1至7任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110322120.3A CN112907375B (zh) | 2021-03-25 | 2021-03-25 | 数据处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110322120.3A CN112907375B (zh) | 2021-03-25 | 2021-03-25 | 数据处理方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112907375A true CN112907375A (zh) | 2021-06-04 |
CN112907375B CN112907375B (zh) | 2023-08-08 |
Family
ID=76106513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110322120.3A Active CN112907375B (zh) | 2021-03-25 | 2021-03-25 | 数据处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112907375B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113407558A (zh) * | 2021-07-14 | 2021-09-17 | 广东粤信智能科技有限公司 | 一种基于区块链世界状态的交易数据更新方法、存储介质及系统 |
CN113781229A (zh) * | 2021-09-22 | 2021-12-10 | 中钞信用卡产业发展有限公司杭州区块链技术研究院 | 一种交易数据的存储方法、装置、设备及可读存储介质 |
CN114726537A (zh) * | 2022-03-31 | 2022-07-08 | 蚂蚁区块链科技(上海)有限公司 | 数据处理方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108876353A (zh) * | 2018-05-24 | 2018-11-23 | 深圳前海益链网络科技有限公司 | 一种基于近场通讯的区块链数字Token的支付方法 |
WO2020190720A1 (en) * | 2019-03-15 | 2020-09-24 | Madisetti Vijay | Method and system for exchange of value or tokens between blockchain networks |
US20200302433A1 (en) * | 2018-11-27 | 2020-09-24 | Its, Inc. | Distributed ledger settlement transactions |
-
2021
- 2021-03-25 CN CN202110322120.3A patent/CN112907375B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108876353A (zh) * | 2018-05-24 | 2018-11-23 | 深圳前海益链网络科技有限公司 | 一种基于近场通讯的区块链数字Token的支付方法 |
US20200302433A1 (en) * | 2018-11-27 | 2020-09-24 | Its, Inc. | Distributed ledger settlement transactions |
WO2020190720A1 (en) * | 2019-03-15 | 2020-09-24 | Madisetti Vijay | Method and system for exchange of value or tokens between blockchain networks |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113407558A (zh) * | 2021-07-14 | 2021-09-17 | 广东粤信智能科技有限公司 | 一种基于区块链世界状态的交易数据更新方法、存储介质及系统 |
CN113781229A (zh) * | 2021-09-22 | 2021-12-10 | 中钞信用卡产业发展有限公司杭州区块链技术研究院 | 一种交易数据的存储方法、装置、设备及可读存储介质 |
CN114726537A (zh) * | 2022-03-31 | 2022-07-08 | 蚂蚁区块链科技(上海)有限公司 | 数据处理方法及装置 |
CN114726537B (zh) * | 2022-03-31 | 2024-03-26 | 蚂蚁区块链科技(上海)有限公司 | 数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112907375B (zh) | 2023-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109194466B (zh) | 一种基于区块链的云端数据完整性检测方法及系统 | |
US10262141B2 (en) | Secure processor with resistance to external monitoring attacks | |
CN112907375B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
JP5260523B2 (ja) | 無線周波識別(rfid)認証およびそのための鍵配信システム | |
US7953977B2 (en) | Security and ticketing system control and management | |
JP4501349B2 (ja) | システムモジュール実行装置 | |
JP3570114B2 (ja) | データ検証方法およびデータ検証システム | |
US20080320263A1 (en) | Method, system, and apparatus for encrypting, integrity, and anti-replay protecting data in non-volatile memory in a fault tolerant manner | |
KR100702499B1 (ko) | 메시지 무결성 보증 시스템, 방법 및 기록 매체 | |
JP2001051596A (ja) | データ生成装置およびデータ検証装置ならびにその方法 | |
CN110601848B (zh) | 基于区块链的约定信息处理方法、装置、系统及电子设备 | |
CN109754226B (zh) | 数据管理方法、设备和存储介质 | |
CN108540447B (zh) | 一种基于区块链的证书验证方法及系统 | |
CN114499875B (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
CN109978543B (zh) | 一种合同签署的方法、装置、电子设备及存储介质 | |
Bruseghini et al. | Victory by KO: Attacking OpenPGP using key overwriting | |
CN112631836A (zh) | 用于区块链的方法、装置、存储介质及电子设备 | |
CN108376212B (zh) | 执行代码安全保护方法、装置及电子装置 | |
CN108242997B (zh) | 安全通信的方法与设备 | |
WO2006062166A1 (ja) | 電子データ検証装置 | |
CN115225365A (zh) | 基于国密算法的数据安全传输方法、平台、及系统 | |
CN114747173A (zh) | 经由退化密钥的数据完整性验证 | |
CN111369332A (zh) | 基于区块链的数据处理方法及装置 | |
TWM579789U (zh) | Electronic contract signing device | |
WO2023212838A1 (en) | Fast signature generation and verification |
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 |