CN117499159B - 一种基于区块链的数据交易方法、装置及电子设备 - Google Patents

一种基于区块链的数据交易方法、装置及电子设备 Download PDF

Info

Publication number
CN117499159B
CN117499159B CN202311815807.6A CN202311815807A CN117499159B CN 117499159 B CN117499159 B CN 117499159B CN 202311815807 A CN202311815807 A CN 202311815807A CN 117499159 B CN117499159 B CN 117499159B
Authority
CN
China
Prior art keywords
data
receiver
encrypted
sender
identity code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311815807.6A
Other languages
English (en)
Other versions
CN117499159A (zh
Inventor
李浩天
龙凯国
王筵村
郝增
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Fangzhou Technology Co ltd
Original Assignee
Hangzhou Fangzhou Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Fangzhou Technology Co ltd filed Critical Hangzhou Fangzhou Technology Co ltd
Priority to CN202311815807.6A priority Critical patent/CN117499159B/zh
Publication of CN117499159A publication Critical patent/CN117499159A/zh
Application granted granted Critical
Publication of CN117499159B publication Critical patent/CN117499159B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0478Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本申请提供一种基于区块链的数据交易方法、装置及电子设备,方法包括:根据发送者输入的数据加密请求,对发送者的第一身份信息的数据进行哈希运算,得到第一身份代码;将第一身份代码作为发送者私钥,并根据发送者私钥生成发送者公钥;对待加密数据进行哈希运算,得到第一数据,并按照预设方式,将第一身份代码插入待加密数据,得到第二数据;按照预设方式,将第一身份代码插入第一数据,得到第三数据;采用接收者的接收者公钥对第二数据进行加密,得到加密数据,以使接收者能够采用接收者私钥对加密数据进行解密;采用发送者私钥对第三数据进行加密,得到验证数据,验证数据用于接收者对加密数据进行验证。本申请具有提高数据交易安全性的效果。

Description

一种基于区块链的数据交易方法、装置及电子设备
技术领域
本申请涉及数据加密的技术领域,具体涉及一种基于区块链的数据交易方法、装置及电子设备。
背景技术
数据交易是指在信息经济中,各种形式的数据的买卖和交换过程。在这个过程中,一方可能出售或分享其拥有的数据,而另一方则支付费用或提供其他资源以获取这些数据。数据交易的对象可以是各种类型的数据,包括但不限于用户行为数据、市场趋势、生物信息、传感器数据等。这种交易可以在个人之间、企业之间,甚至在个人和企业之间发生。数据交易的动机可能包括商业利益、研究目的、数据分析、市场调查等,同时在这个过程中需要考虑隐私保护、数据安全性、合规性等问题。随着数字化时代的发展,数据交易在推动创新和业务发展方面扮演着重要的角色。
在数据交易的过程中,需要确保在信息交换过程中数据的保密性、完整性和可用性。这涉及到在数据传输、存储和处理的各个环节采取有效的安全措施,包括加密通信、访问控制、身份验证、防止数据篡改和确保数据存储在受保护的环境中。关注数据交易的安全性有助于防范潜在的威胁,如数据泄露、未经授权访问、恶意篡改等,从而维护交易各方的隐私权和业务敏感信息的保密性,同时确保数据的可信度和完整性。在数据交易中,合规性、加密技术和安全协议的应用都是关键因素,以确保数据在整个交易生命周期中得到充分的保护和管理。
目前,在B2B的数据交易过程中,通常采用传统的对称加密来对需要交易的数据进行加密。使用相同的密钥进行加密和解密,因此在交易双方需要共享密钥。密钥分发是一个挑战,特别是在大规模和分布式系统中。如果密钥被未经授权的方访问或泄露,整个通信链路的安全性将受到威胁,从而影响数据交易的安全性。因此,需要一种方法提高数据交易的安全性。
发明内容
本申请提供一种基于区块链的数据交易方法、装置及电子设备,具有提高数据交易安全性的效果。
在本申请的第一方面提供了一种基于区块链的数据交易方法,所述方法包括:
根据发送者输入的数据加密请求,对所述发送者的第一身份信息的数据进行哈希运算,得到第一身份代码;
将所述第一身份代码作为发送者私钥,并根据所述发送者私钥生成发送者公钥;
对待加密数据进行哈希运算,得到第一数据,并按照预设方式,将所述第一身份代码插入所述待加密数据,得到第二数据;
按照所述预设方式,将所述第一身份代码插入所述第一数据,得到第三数据;
采用接收者的接收者公钥对所述第二数据进行加密,得到加密数据,以使接收者能够采用接收者私钥对所述加密数据进行解密;
采用所述发送者私钥对所述第三数据进行加密,得到验证数据,所述验证数据用于所述接收者对所述加密数据进行验证。
通过采用上述技术方案,加密过程中,将第一身份代码插入原始加密数据中,得到第二数据。然后用接收者公钥对第二数据进行加密,得到加密数据。同时对待加密数据进行哈希运算,再将第一身份代码插入运算后的结果中,得到第三数据。接着采用发送者私钥对第三数据进行加密,得到验证数据。通过这一加密过程,只有使用接收者私钥才能够对加密数据进行解密,得到第二数据。同时只有使用发送者公钥对验证数据进行解密,得到第三数据。进一步,由于第二数据和第三数据均应该包含第一身份信息,因此可以将验证数据用来验证加密数据是否为原始待加密数据加密后的数据。上述结合非对称加密的多重加密以及多重验证过程,降低了待加密数据泄露的可能性,确保了待加密数据的安全性,从而达到提高数据交易安全性的效果。
可选的,在所述采用所述发送者私钥对所述第三数据进行加密,得到验证数据之后,所述方法还包括:
根据所述接收者输入的数据解密请求,获取所述验证数据以及所述加密数据;
获取所述接收者输入的所述发送者公钥以及所述接收者的接收者私钥;
采用所述发送者公钥对所述验证数据进行解密,得到所述第三数据;
对所述第三数据进行身份代码提取,得到所述第一身份代码;
采用所述接收者私钥,对所述加密数据进行解密,得到所述第二数据;
对所述第二数据进行所述身份代码提取,判断是否能够提取出所述第一身份代码;
若确定能够提取出所述第一身份代码,则从所述第二数据中删除所述第一身份代码,得到所述待加密数据。
通过采用上述技术方案,若需要对加密后的数据进行解密并验证时,首先需要输入正确的发送者公钥以及接收者私钥,因为发送者公钥用于解密验证数据,接收者私钥用于解密加密数据。由于加密过程中,第三数据以及第二数据均被插入了第一身份信息。因此,通过验证数据解密得到的第三数据,以及通过加密数据解密得到第二数据中,均应该包含相同的第一身份代码。否则表明数据可能被篡改过,通过这一校验机制防止数据交易过程中,数据被篡改造成损失。而多重解密以及验证过程则确保了数据交易过程的安全性。
可选的,所述按照预设方式,将所述第一身份代码插入所述待加密数据,得到第二数据,具体包括:
将所述第一身份代码随机拆分成预设数量的子代码;
生成多个随机正整数,多个所述随机正整数的数量为所述预设数量,且任意一个所述随机正整数的数值小于所述待加密数据的长度;
将多个所述随机正整数与多个所述子代码一一对应;
根据各个所述随机正整数,将对应的所述子代码插入所述待加密数据的数据位,所述数据位的数值与所述随机正整数的数值相同。
通过采用上述技术方案,拆分和随机插入第一身份代码的子代码,使得原始的身份信息在加密后变得分散和混淆。这种混淆效果增加了攻击者识别和获取真实身份信息的难度,保护了发送者的隐私。通过在数据加密中引入随机性,避免了可能的模式分析攻击。攻击者难以准确预测身份代码的插入位置和分布,增加了攻击者反推原始数据的难度,提高了数据交易的安全性。
可选的,所述根据所述接收者输入的数据解密请求,获取所述验证数据以及所述加密数据之前,所述方法还包括:
获取所述接收者输入的所述数据解密请求;
根据所述数据解密请求,获取所述接收者的第二身份信息;
根据所述第二身份信息,判断所述接收者是否为所述交易员;
若确定所述接收者为所述交易员,则获取所述接收者输入的所述接收者私钥。
通过采用上述技术方案,通过获取接收者的第二身份信息,并判断其是否为交易员,实现了对接收者身份的验证。这种身份验证机制有助于确保只有合法的交易员才能够获得进一步的解密权限,提高了数据交易的安全性。
可选的,所述若确定能够提取出所述第一身份代码,则从所述第二数据中删除所述第一身份代码,得到所述待加密数据之后,所述方法还包括:
从所述第三数据中删除所述第一身份代码,得到所述第一数据;
对所述待加密数据进行哈希运算,判断运算后能否得到所述第一数据;
若运算后能否得到所述第一数据,则确定所述待加密数据未被篡改。
通过采用上述技术方案,在得到待加密数据,通过结合验证数据解密得到数据,与待加密数据解密得到的数据进行比对,判断二者是否均包含第一数据。如果均包含第一数据表明数据未被篡改,这一个验证过程进一步提高了数据交易的安全水平。
可选的,所述根据发送者输入的数据加密请求,对所述发送者的第一身份信息的数据进行哈希运算,得到第一身份代码之前,所述方法还包括:
接收所述发送者输入的所述数据加密请求;
根据所述数据加密请求,接收所述第一身份信息;
根据所述第一身份信息,判断所述发送者是否为预设数据库中预存的交易员;
若确定所述发送者为所述交易员,则接收所述发送者输入的待加密数据。
通过采用上述技术方案,通过获取发送者的第一身份信息,并判断其是否为交易员,实现了对发送者身份的验证。这种身份验证机制有助于确保只有合法的交易员才能够获得进一步的加密权限,提高了数据交易的安全性。
可选的,所述确定所述接收者为所述交易员之后,所述方法还包括:
对所述第二身份信息的数据进行所述哈希运算,得到第二身份代码;
将所述第二身份代码作为所述接收者私钥,并根据所述接收者私钥生成所述接收者公钥。
通过采用上述技术方案,以接收者的第二身份信息为基础,并结合哈希运算,最后得到接收者私钥,通过哈希运算既保证了接收者私钥的唯一性。而即使在接收者私钥泄露的情况下,接收者的第二身份信息也不会被反推出来而造成泄露。
在本申请的第二方面提供了一种基于区块链的数据交易装置,包括处理模块、生成模块以及加密模块,其中:
所述处理模块,用于根据发送者输入的数据加密请求,对所述发送者的第一身份信息的数据进行哈希运算,得到第一身份代码;
所述生成模块,用于将所述第一身份代码作为发送者私钥,并根据所述发送者私钥生成发送者公钥;
所述加密模块,用于对待加密数据进行哈希运算,得到第一数据,并按照预设方式,将所述第一身份代码插入所述待加密数据,得到第二数据;
所述处理模块,用于按照所述预设方式,将所述第一身份代码插入所述第一数据,得到第三数据;
所述加密模块,用于采用接收者的接收者公钥对所述第二数据进行加密,得到加密数据;
所述加密模块,用于采用所述发送者私钥对所述第三数据进行加密,得到验证数据,所述验证数据用于所述接收者对所述加密数据进行验证。
可选的,所述处理模块,用于根据所述接收者输入的数据解密请求,获取所述验证数据以及所述加密数据;
所述处理模块,用于获取所述接收者输入的所述发送者公钥以及所述接收者的接收者私钥;
所述处理模块,用于采用所述发送者公钥对所述验证数据进行解密,得到所述第三数据;
所述生成模块,用于对所述第三数据进行身份代码提取,得到所述第一身份代码;
所述生成模块,用于采用所述接收者私钥,对所述加密数据进行解密,得到所述第二数据;
所述生成模块,用于对所述第二数据进行所述身份代码提取,判断是否能够提取出所述第一身份代码;
所述处理模块,用于若确定能够提取出所述第一身份代码,则从所述第二数据中删除所述第一身份代码,得到所述待加密数据。
可选的,所述处理模块,用于将所述第一身份代码随机拆分成预设数量的子代码;
所述生成模块,用于生成多个随机正整数,多个所述随机正整数的数量为所述预设数量,且任意一个所述随机正整数的数值小于所述待加密数据的长度;
所述处理模块,用于将多个所述随机正整数与多个所述子代码一一对应;
所述加密模块,用于根据各个所述随机正整数,将对应的所述子代码插入所述待加密数据的数据位,所述数据位的数值与所述随机正整数的数值相同。
可选的,所述处理模块,用于获取所述接收者输入的所述数据解密请求;
所述生成模块,用于根据所述数据解密请求,获取所述接收者的第二身份信息;
所述处理模块,用于根据所述第二身份信息,判断所述接收者是否为预设数据库中预存的交易员;
所述处理模块,用于若确定所述接收者为所述交易员,则获取所述接收者输入的所述接收者私钥。
可选的,所述处理模块,用于从所述第三数据中删除所述第一身份代码,得到所述第一数据;
所述加密模块,用于对所述待加密数据进行哈希运算,判断运算后能否得到所述第一数据;
所述处理模块,用于若运算后能否得到所述第一数据,则确定所述待加密数据未被篡改。
可选的,所述处理模块,用于接收所述发送者输入的所述数据加密请求;
所述生成模块,用于根据所述数据加密请求,接收所述第一身份信息;
所述生成模块,用于根据所述第一身份信息,判断所述发送者是否为预设数据库中预存的交易员;
所述生成模块,用于若确定所述发送者为所述交易员,则接收所述发送者输入的待加密数据。
可选的,所述加密模块,用于对所述第二身份信息的数据进行所述哈希运算,得到第二身份代码;
所述加密模块,用于将所述第二身份代码作为所述接收者私钥,并根据所述接收者私钥生成所述接收者公钥。
在本申请的第三方面提供了一种电子设备,包括处理器、存储器、用户接口以及网络接口,所述存储器用于存储指令,所述用户接口和所述网络接口均用于与其他设备通信,所述处理器用于执行所述存储器中存储的指令,以使所述电子设备执行如上述任意一项所述的方法。
在本申请的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有指令,当所述指令被执行时,执行如上述任意一项所述的方法。
综上所述,本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
1.加密过程中,将第一身份代码插入原始加密数据中,得到第二数据。然后用接收者公钥对第二数据进行加密,得到加密数据。同时对待加密数据进行哈希运算,再将第一身份代码插入运算后的结果中,得到第三数据。接着采用发送者私钥对第三数据进行加密,得到验证数据。通过这一加密过程,只有使用接收者私钥才能够对加密数据进行解密,得到第二数据。同时只有使用发送者公钥对验证数据进行解密,得到第三数据。进一步,由于第二数据和第三数据均应该包含第一身份信息,因此可以将验证数据用来验证加密数据是否为原始待加密数据加密后的数据。上述结合非对称加密的多重加密以及多重验证过程,降低了待加密数据泄露的可能性,确保了待加密数据的安全性,从而达到提高数据交易安全性的效果。
2.若需要对加密后的数据进行解密并验证时,首先需要输入正确的发送者公钥以及接收者私钥,因为发送者公钥用于解密验证数据,接收者私钥用于解密加密数据。由于加密过程中,第三数据以及第二数据均被插入了第一身份信息。因此,通过验证数据解密得到的第三数据,以及通过加密数据解密得到第二数据中,均应该包含相同的第一身份代码。否则表明数据可能被篡改过,通过这一校验机制防止数据交易过程中,数据被篡改造成损失。而多重解密以及验证过程则确保了数据交易过程的安全性。
3.拆分和随机插入第一身份代码的子代码,使得原始的身份信息在加密后变得分散和混淆。这种混淆效果增加了攻击者识别和获取真实身份信息的难度,保护了发送者的隐私。通过在数据加密中引入随机性,避免了可能的模式分析攻击。攻击者难以准确预测身份代码的插入位置和分布,增加了攻击者反推原始数据的难度,提高了数据交易的安全性。
附图说明
图1是本申请实施例公开的一种基于区块链的数据交易方法的流程示意图;
图2是本申请实施例公开的一种基于区块链的数据交易方法的应用场景示意图;
图3是本申请实施例公开的一种基于区块链的数据交易方法的示意图;
图4是本申请实施例公开的另一种基于区块链的数据交易方法的流程示意图;
图5是本申请实施例公开的一种基于区块链的数据交易装置的模块示意图;
图6是本申请实施例公开的一种电子设备的结构示意图。
附图标记说明:201、第一服务器;202、节点服务器;203、第二服务器;501、处理模块;502、生成模块;503、加密模块;601、处理器;602、通信总线;603、用户接口;604、网络接口;605、存储器。
具体实施方式
为了使本领域的技术人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。
在本申请实施例的描述中,“例如”或者“举例来说”等词用于表示作例子、例证或说明。本申请实施例中被描述为“例如”或者“举例来说”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“例如”或者“举例来说”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,术语“多个”的含义是指两个或两个以上。例如,多个系统是指两个或两个以上的系统,多个屏幕终端是指两个或两个以上的屏幕终端。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
数据交易是指在信息经济中,各种形式的数据的买卖和交换过程。在这个过程中,一方可能出售或分享其拥有的数据,而另一方则支付费用或提供其他资源以获取这些数据。数据交易的对象可以是各种类型的数据,包括但不限于用户行为数据、市场趋势、生物信息、传感器数据等。这种交易可以在个人之间、企业之间,甚至在个人和企业之间发生。数据交易的动机可能包括商业利益、研究目的、数据分析、市场调查等,同时在这个过程中需要考虑隐私保护、数据安全性、合规性等问题。随着数字化时代的发展,数据交易在推动创新和业务发展方面扮演着重要的角色。
在数据交易的过程中,需要确保在信息交换过程中数据的保密性、完整性和可用性。这涉及到在数据传输、存储和处理的各个环节采取有效的安全措施,包括加密通信、访问控制、身份验证、防止数据篡改和确保数据存储在受保护的环境中。关注数据交易的安全性有助于防范潜在的威胁,如数据泄露、未经授权访问、恶意篡改等,从而维护交易各方的隐私权和业务敏感信息的保密性,同时确保数据的可信度和完整性。在数据交易中,合规性、加密技术和安全协议的应用都是关键因素,以确保数据在整个交易生命周期中得到充分的保护和管理。
目前,在B2B的数据交易过程中,通常采用传统的对称加密来对需要交易的数据进行加密。使用相同的密钥进行加密和解密,因此在交易双方需要共享密钥。密钥分发是一个挑战,特别是在大规模和分布式系统中。如果密钥被未经授权的方访问或泄露,整个通信链路的安全性将受到威胁,从而影响数据交易的安全性。因此,需要一种方法提高数据交易的安全性。
本实施例公开了一种基于区块链的数据交易方法,参照图1,包括如下步骤S110-S160:
S110,根据发送者输入的数据加密请求,对发送者的第一身份信息的数据进行哈希运算,得到第一身份代码。
本申请实施例公开的一种基于区块链的数据交易方法应用于数据交易系统,参照图2,数据交易系统包括第一服务器201、区块链系统以及第二服务器203,其中区块链系统包括多个节点服务器202。第一服务器201与区块链系统通信连接,第二服务器203也与区块链系统通信连接,第一服务器201与第二服务器203之间通信连接。第一服务器201以及第二服务器203均包括但不限于诸如平板电脑或者PC(Personal Computer,个人计算机)等电子设备,可以是独立的服务器或者是多个服务器组成的服务器集群。而区块链系统的各个节点服务器202之间相互通信连接,节点服务器202为参与区块链运行和维护的任何设备或实体。节点服务器202可以是个人计算机、服务器、矿机等设备,它们通过连接到区块链网络,共同参与区块链的运作和共识过程。多个节点服务器202共同构成了一个去中心化的网络,每个节点服务器202都有一份或部分的区块链数据,它们通过协议达成共识,确保区块链的安全性和可靠性。
若发送者与接收者之间需要进行数据交易,本申请中,发送者与接收者均优选为企业单位的员工。本申请实施例公开的一种基于区块链的数据交易方法适用于B2B交易。因为若进行C2C交易,可以基于传统区块链系统完成数据交易,或者可以直接基于传统中心化服务器架构进行数据交易。C2C数据交易通常规模较小,并且数据的安全性以及隐私性要求通常相对较低,目前的技术即可达到这一要求。但是B2B数据交易往往涉及到大规模的数据交换,因为企业间的交易通常牵涉到大量的业务数据、供应链信息、市场趋势等,具有较高的复杂性。此外B2B数据交易很有可能涉及到企业间的敏感业务数据,B2B数据交易通常对数据的安全性和隐私保护要求较高。并且由于B2B数据交易过程中涉及人员通常较多,至少在2人以上,一旦数据交易过程造成数据泄露,需要对泄露原因进行溯源。因此数据交易采用的设备既需要确保安全性,还需要确保一定的实名性。
若发送者需要对待加密数据进行加密,通过向第一服务器201发送数据加密请求,第一服务器201接收数据加密请求后,再接收发送者的第一身份信息,第一身份信息用于校验发送者是否为预设的交易员,即校验发送者是否为企业内部员工且是否具有数据交易的权限。具体通过判断发送者是否为预设数据库中预存的交易员。企业管理人员确定某个员工可以进行数据交易时,将该员工设置为发送者,并将第一身份信息存储至与第一服务器201连接的预设数据。第一身份信息包括但不限于身份证号、员工编号、指纹数据或者虹膜数据。根据数据库查询结果,第一服务器201确定发送者是否为预设数据库中预存的交易员。如果不是,可能触发身份验证失败的处理流程。如果是交易员,则继续进行后续步骤。在确定发送者是交易员的情况下,第一服务器201接收发送者输入的待加密数据。
通过获取接收者的第二身份信息,并判断其是否为交易员,实现了对接收者身份的验证。这种身份验证机制有助于确保只有合法的交易员才能够获得进一步的解密权限,提高了数据交易的安全性。
为了使数据交易过程能够实名化,即后续能够确定参与交易的发送者,但又不能因为数据交易造成发送者的个人隐私泄露。因此,第一服务器201需要对发送者的第一身份信息进行哈希运算,得到第一身份代码。无论第一身份信息是发送者的身份证号、员工编号、指纹数据或者虹膜数据,存储的通常是二进制数据,哈希运算过程涉及的算法优选为SHA-256算法。因此通过哈希运算得到第一身份代码为固定256为的哈希值。由于哈希函数的单向性,无法通过第一身份代码反推出第一身份信息,因此将第一身份代码用于后续的数据交易不会造成发送者的隐私泄露。由于哈希函数的抗碰撞性以及雪崩效应,不同的第一身份信息不会计算出相同的第一身份代码,因此第一身份信息与第一身份代码是一对一的,从而使交易过程间接实名化,能够在交易后续知道参与交易的发送者。
S120,将第一身份代码作为发送者私钥,并根据发送者私钥生成发送者公钥。
第一服务器201将第一身份代码设置为发送者私钥,然后将第一身份代码作为输入,通过合适的非对称算法生成发送者公钥。例如采用RSA算法,发送者公钥是由发送者私钥中的模数和指数构成的。具体的计算过程会根据选择的算法而有所不同。
S130,对待加密数据进行哈希运算,得到第一数据,并按照预设方式,将第一身份代码插入待加密数据,得到第二数据。
参照图3,分别对待加密数据进行两步处理,第一服务器201选择合适的哈希算法,如SHA-256,SHA-3等,将待加密数据输入选择的哈希算法中,执行哈希运算。得到的哈希值即为第一数据。哈希值具有固定的长度,无法由哈希值逆向还原出原始输入,具有单向性和不可逆性。同时,定义一种数据插入规则,这个数据插入规则可能包括在待加密数据的特定位置插入、在特定格式下插入等。根据预设方式,将第一身份代码插入到哈希得到的第一数据中,形成第二数据。这一操作将身份信息与哈希值关联在一起,以便后续的数据校验和身份验证。
在一种可能的实施方式中,按照预设方式,将第一身份代码插入待加密数据,得到第二数据,具体包括:将第一身份代码随机拆分成预设数量的子代码。生成多个随机正整数,多个随机正整数的数量为预设数量,且任意一个随机正整数的数值小于待加密数据的长度。将多个随机正整数与多个子代码一一对应。根据各个随机正整数,将对应的子代码插入待加密数据的数据位,数据位的数值与随机正整数的数值相同。
具体地,第一服务器201定义要将第一身份代码拆分成的子代码的数量,即预设数量。然后随机选择位置或规则,将第一身份代码拆分成预设数量的子代码。这个拆分过程应该是随机的,以增加数据的混淆性。再确定要生成的随机正整数的数量,且每个随机正整数的数值应小于待加密数据的长度。举例来说,若待加密数据的长度为1534565,则随即正整数的数值不应该大于1534565。接着第一服务器201使用随机数生成算法生成相应数量的随机正整数,并将生成的随机正整数与拆分得到的子代码一一对应,确保每个随机正整数都有对应的子代码。最后根据建立的对应关系,将每个子代码插入到待加密数据的相应数据位上。将子代码按照随机正整数所指定的位置插入。举例来说,随机正整数为536,则需要将随即正整数对应的子代码插入待加密数据的第535个数据和第536个数据之间。
拆分和随机插入第一身份代码的子代码,使得原始的身份信息在加密后变得分散和混淆。这种混淆效果增加了攻击者识别和获取真实身份信息的难度,保护了发送者的隐私。通过在数据加密中引入随机性,避免了可能的模式分析攻击。攻击者难以准确预测身份代码的插入位置和分布,增加了攻击者反推原始数据的难度,提高了数据交易的安全性。
S140,按照预设方式,将第一身份代码插入第一数据,得到第三数据。
参照图3,需要将用于验证的数据同样插入发送者的第一身份代码,从而在后续验证过程进行实名化。而将第一身份代码插入第一数据的方式,优选为与步骤S130中将第一身份代码插入待加密数据的方式相同。将第一身份代码插入第一数据后,得到的数据标记为第三数据
S150,采用接收者的接收者公钥对第二数据进行加密,得到加密数据。
在此之前,第二服务器203根据接收者的第二身份信息生成接收者私钥和接收者公钥。第二身份信息包括但不限于身份证号、员工编号、指纹数据或者虹膜数据。
第二服务器203获取接收者的第二身份信息,第二身份信息用于校验接收者是否为预设的交易员,即校验接收者是否为企业内部员工且是否具有数据交易的权限。具体通过判断接收者是否为预设数据库中预存的交易员。企业管理人员确定某个员工可以进行数据交易时,将该员工设置为接收者,并将第二身份信息存储至与第二服务器203连接的预设数据。根据数据库查询结果,第二服务器203确定接收者是否为预设数据库中预存的交易员。如果不是,可能触发身份验证失败的处理流程。如果是交易员,则继续进行后续步骤。在确定接收者是交易员的情况下,第二服务器203获取接收者输入的待加密数据。通过获取发送者的第一身份信息,并判断其是否为交易员,实现了对发送者身份的验证。这种身份验证机制有助于确保只有合法的交易员才能够获得进一步的加密权限,提高了数据交易的安全性。
对接收者的第二身份信息进行哈希运算,得到第二身份代码。无论第二身份信息是接收者的身份证号、员工编号、指纹数据或者虹膜数据,存储的通常是二进制数据,哈希运算过程涉及的算法优选为SHA-256算法。因此通过哈希运算得到第二身份代码为固定256为的哈希值。第二服务器203将第二身份代码设置为接收者私钥,然后将第二身份代码作为输入,通过合适的非对称算法生成接收者公钥。例如采用RSA算法,接收者公钥是由接收者私钥中的模数和指数构成的。具体的计算过程会根据选择的算法而有所不同。
以接收者的第二身份信息为基础,并结合哈希运算,最后得到接收者私钥,通过哈希运算既保证了接收者私钥的唯一性。而即使在接收者私钥泄露的情况下,接收者的第二身份信息也不会被反推出来而造成泄露。
第一服务器201接收第二服务器203发送的接收者公钥,参照图3,第一服务器201使用接收者的接收者公钥,通过合适的非对称加密算法,对第二数据进行加密。常见的非对称加密算法包括RSA、ECC等。这一过程通常使用接收者公钥加密,接收者私钥用于解密加密后的加密数据。
S160,采用发送者私钥对第三数据进行加密,得到验证数据。
参照图3,与步骤S150中加密第二数据类似,第一服务器201使用发送者私钥,通过合适的非对称加密算法,对第三数据进行加密,加密后得到数据为验证数据。而对于验证数据,只有使用发送者公钥才能够对验证数据进行解密进而得到第三数据。得到验证数据和加密数据后,第一服务器201发送验证数据和加密数据至区块链系统,区块链系统中的任意一个节点服务器202接收到验证数据和加密数据后,将验证数据和加密数据依次发送至区块链系统中的其他所有节点服务器202。
通过采用上述技术方案,加密过程中,将第一身份代码插入原始加密数据中,得到第二数据。然后用接收者公钥对第二数据进行加密,得到加密数据。同时对待加密数据进行哈希运算,再将第一身份代码插入运算后的结果中,得到第三数据。接着采用发送者私钥对第三数据进行加密,得到验证数据。通过这一加密过程,只有使用接收者私钥才能够对加密数据进行解密,得到第二数据。同时只有使用发送者公钥对验证数据进行解密,得到第三数据。进一步,由于第二数据和第三数据均应该包含第一身份信息,因此可以将验证数据用来验证加密数据是否为原始待加密数据加密后的数据。上述结合非对称加密的多重加密以及多重验证过程,降低了待加密数据泄露的可能性,确保了待加密数据的安全性,从而达到提高数据交易安全性的效果。
进一步地,本实施例公开了一种基于区块链的数据交易方法,参照图4,包括如下步骤S410-S470:
S410,根据接收者输入的数据解密请求,获取验证数据以及加密数据。
接收者需要获取原始待加密数据时,首先向第二服务器203输入数据解密请求,第二服务器203根据数据解密请求,从区块链系统中下载验证数据和解密数据,从而获取验证数据和解密数据。
S420,获取接收者输入的发送者公钥以及接收者的接收者私钥。
然后接收者需要向第二服务器203输入发送者公钥以及自己的接收者密钥。通常情况下,发送者公钥是可以公开的,在本申请中,第一服务器201对待加密数据加密完成后,直接将发送者公钥发送至第二服务器203,从而接收者能够获取发送者公钥。
S430,采用发送者公钥对验证数据进行解密,得到第三数据。
参照图3,第二服务器203使用发送者公钥,通过采用与第三数据加密过程中同样的非对称解密算法,对验证数据进行解密,得到第三数据。举例来说,第三数据通过A算法进行加密,那么解密过程中也需要采用A算法。这样就能确定使用发送者私钥进行加密后,只有发送者公钥才能解密加密后的数据。
S440,对第三数据进行身份代码提取,得到第一身份代码。
参照图3,在加密过程中,第一服务器201按照预设方式,将第一身份代码插入第一数据,得到第三数据后,将预设方式信息发送至第二服务器203。从而第二服务器203对第三数据进行身份代码提取,从第三数据中提取出原始第一身份代码。
S450,采用接收者私钥,对加密数据进行解密,得到第二数据。
参照图3,同样,第二服务器203使用接收者的接收者私钥,通过采用与第二数据加密时相同的算法,对加密数据进行解密,得到第二数据。由于加密过程中采用的接收者公钥加密,因此解密过程中只有接收者私钥才能解密。
S460,对第二数据进行身份代码提取,判断是否能够提取出第一身份代码。
参照图3,在加密过程中,由于对原始的待加密数据进行了哈希运算,得到了第一数据,然后按照预设方式,将发送者的第一身份代码嵌入至第一数据中,得到第二数据。进而,第二服务器203只需要对第二数据进行身份代码提取,理论上应该能够提取出第一身份代码。因此第二服务器203可以通过将提取出的身份代码,与步骤S440中提取出的身份代码进行比对,判断二者是否一致,从而判断是否能够提取出第一身份代码,进一步来判断得到的加密数据是否为原始待加密数据加密后得到的数据。
S470,若确定能够提取出第一身份代码,则从第二数据中删除第一身份代码,得到待加密数据。
如果能够成功提取出第一身份代码,即从加密数据以及验证数据中提取出的身份代码相同。那么表明加密数据未被篡改,最后只需要从第二数据中删除第一身份代码,即可得到最终的待加密数据。
通过采用上述技术方案,若需要对加密后的数据进行解密并验证时,首先需要输入正确的发送者公钥以及接收者私钥,因为发送者公钥用于解密验证数据,接收者私钥用于解密加密数据。由于加密过程中,第三数据以及第二数据均被插入了第一身份信息。因此,通过验证数据解密得到的第三数据,以及通过加密数据解密得到第二数据中,均应该包含相同的第一身份代码。否则表明数据可能被篡改过,通过这一校验机制防止数据交易过程中,数据被篡改造成损失。而多重解密以及验证过程则确保了数据交易过程的安全性。
进一步地,还可以再对得到的待加密数据做最后一步验证,来判断接收者接收的待加密数据与发送者发送的待加密数据是否为同一个数据。参照图3,由加密过程中对待加密数据进行哈希运算得到了第一数据。而在步骤S440中,第二服务器203从第三数据中提取出了第一身份代码,如果再将第三数据中的第一身份代码删除,得到的数据就是第一数据。接收者通过第二服务器203得到了待加密数据,如果第二服务器203对该待加密数据进行哈希运算,运算后的结果与第一数据相同,那么就可以待加密数据未被篡改。
在得到待加密数据,通过结合验证数据解密得到数据,与待加密数据解密得到的数据进行比对,判断二者是否均包含第一数据。如果均包含第一数据表明数据未被篡改,这一个验证过程进一步提高了数据交易的安全水平。
本实施例还公开了一种基于区块链的数据交易装置,参照图5,包括处理模块501、生成模块502以及加密模块503,其中:
处理模块501,用于根据发送者输入的数据加密请求,对发送者的第一身份信息的数据进行哈希运算,得到第一身份代码。
生成模块502,用于将第一身份代码作为发送者私钥,并根据发送者私钥生成发送者公钥。
加密模块503,用于对待加密数据进行哈希运算,得到第一数据,并按照预设方式,将第一身份代码插入待加密数据,得到第二数据。
处理模块501,用于按照预设方式,将第一身份代码插入第一数据,得到第三数据。
加密模块503,用于采用接收者的接收者公钥对第二数据进行加密,得到加密数据。
加密模块503,用于采用发送者私钥对第三数据进行加密,得到验证数据,验证数据用于接收者对加密数据进行验证。
在一种可能的实施方式中,处理模块501,用于根据接收者输入的数据解密请求,获取验证数据以及加密数据。
处理模块501,用于获取接收者输入的发送者公钥以及接收者的接收者私钥。
处理模块501,用于采用发送者公钥对验证数据进行解密,得到第三数据。
生成模块502,用于对第三数据进行身份代码提取,得到第一身份代码。
生成模块502,用于采用接收者私钥,对加密数据进行解密,得到第二数据。
生成模块502,用于对第二数据进行身份代码提取,判断是否能够提取出第一身份代码。
处理模块501,用于若确定能够提取出第一身份代码,则从第二数据中删除第一身份代码,得到待加密数据。
在一种可能的实施方式中,处理模块501,用于将第一身份代码随机拆分成预设数量的子代码。
生成模块502,用于生成多个随机正整数,多个随机正整数的数量为预设数量,且任意一个随机正整数的数值小于待加密数据的长度。
处理模块501,用于将多个随机正整数与多个子代码一一对应。
加密模块503,用于根据各个随机正整数,将对应的子代码插入待加密数据的数据位,数据位的数值与随机正整数的数值相同。
在一种可能的实施方式中,处理模块501,用于获取接收者输入的数据解密请求。
生成模块502,用于根据数据解密请求,获取接收者的第二身份信息。
处理模块501,用于根据第二身份信息,判断接收者是否为预设数据库中预存的交易员。
处理模块501,用于若确定接收者为交易员,则获取接收者输入的接收者私钥。
在一种可能的实施方式中,处理模块501,用于从第三数据中删除第一身份代码,得到第一数据。
加密模块503,用于对待加密数据进行哈希运算,判断运算后能否得到第一数据。
处理模块501,用于若运算后能否得到第一数据,则确定待加密数据未被篡改。
在一种可能的实施方式中,处理模块501,用于接收发送者输入的数据加密请求。
生成模块502,用于根据数据加密请求,接收第一身份信息。
生成模块502,用于根据第一身份信息,判断发送者是否为预设数据库中预存的交易员。
生成模块502,用于若确定发送者为交易员,则接收发送者输入的待加密数据。
在一种可能的实施方式中,加密模块503,用于对第二身份信息的数据进行哈希运算,得到第二身份代码。
加密模块503,用于将第二身份代码作为接收者私钥,并根据接收者私钥生成接收者公钥。
需要说明的是:上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置和方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本实施例还公开了一种电子设备,参照图6,电子设备可以包括:至少一个处理器601,至少一个通信总线602,用户接口603,网络接口604,至少一个存储器605。
其中,通信总线602用于实现这些组件之间的连接通信。
其中,用户接口603可以包括显示屏(Display)、摄像头(Camera),可选用户接口603还可以包括标准的有线接口、无线接口。
其中,网络接口604可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
其中,处理器601可以包括一个或者多个处理核心。处理器601利用各种接口和线路连接整个服务器内的各个部分,通过运行或执行存储在存储器605内的指令、程序、代码集或指令集,以及调用存储在存储器605内的数据,执行服务器的各种功能和处理数据。可选的,处理器601可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器601可集成中央处理器601(CentralProcessing Unit,CPU)、图像处理器601(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器601中,单独通过一块芯片进行实现。
其中,存储器605可以包括随机存储器605(Random Access Memory,RAM),也可以包括只读存储器605(Read-Only Memory)。可选的,该存储器605包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器605可用于存储指令、程序、代码、代码集或指令集。存储器605可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及的数据等。存储器605可选的还可以是至少一个位于远离前述处理器601的存储装置。如图所示,作为一种计算机存储介质的存储器605中可以包括操作系统、网络通信模块、用户接口603模块以及一种基于区块链的数据交易方法的应用程序。
在图6所示的电子设备中,用户接口603主要用于为用户提供输入的接口,获取用户输入的数据;而处理器601可以用于调用存储器605中存储一种基于区块链的数据交易方法的应用程序,当由一个或多个处理器601执行时,使得电子设备执行如上述实施例中一个或多个的方法。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必需的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所披露的装置,可通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,装置或单元的间接耦合或通信连接,可以是电性或其他的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器605中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器605中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储器605包括:U盘、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践真理的公开后,将容易想到本公开的其他实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。

Claims (8)

1.一种基于区块链的数据交易方法,其特征在于,应用于数据交易系统,数据交易系统包括第一服务器、区块链系统以及第二服务器,其中区块链系统包括多个节点服务器,第一服务器与区块链系统通信连接,第二服务器也与区块链系统通信连接,第一服务器与第二服务器之间通信连接,多个节点服务器共同构成了一个去中心化的网络,所述方法包括:
接收发送者输入的数据加密请求;
根据所述数据加密请求,接收第一身份信息;
根据所述第一身份信息,判断所述发送者是否为预设数据库中预存的交易员;
若确定所述发送者为所述交易员,则接收所述发送者输入的待加密数据;
根据发送者输入的数据加密请求,对所述发送者的第一身份信息的数据进行哈希运算,得到第一身份代码;
将所述第一身份代码作为发送者私钥,并根据所述发送者私钥生成发送者公钥;
对待加密数据进行哈希运算,得到第一数据,并按照预设方式,将所述第一身份代码插入所述待加密数据,得到第二数据;
将所述第一身份代码随机拆分成预设数量的子代码;
生成多个随机正整数,多个所述随机正整数的数量为所述预设数量,且任意一个所述随机正整数的数值小于所述待加密数据的长度;
将多个所述随机正整数与多个所述子代码一一对应;
根据各个所述随机正整数,将对应的所述子代码插入所述待加密数据的数据位,所述数据位的数值与所述随机正整数的数值相同;
按照所述预设方式,将所述第一身份代码插入所述第一数据,得到第三数据;
对接收者的第二身份信息进行哈希运算,得到第二身份代码,将所述第二身份代码设置为接收者私钥,将所述第二身份代码作为非对称算法的输入,计算得到接收者公钥;
采用接收者的接收者公钥对所述第二数据进行加密,得到加密数据,以使接收者能够采用接收者私钥对所述加密数据进行解密;
采用所述发送者私钥对所述第三数据进行加密,得到验证数据,所述验证数据用于所述接收者对所述加密数据进行验证;
得到验证数据和加密数据后,第一服务器发送验证数据和加密数据至区块链系统,区块链系统中的任意一个节点服务器接收到验证数据和加密数据后,将验证数据和加密数据依次发送至区块链系统中的其他节点服务器。
2.根据权利要求1所述的一种基于区块链的数据交易方法,其特征在于,在所述采用所述发送者私钥对所述第三数据进行加密,得到验证数据之后,所述方法还包括:
根据所述接收者输入的数据解密请求,获取所述验证数据以及所述加密数据;
获取所述接收者输入的所述发送者公钥以及所述接收者的接收者私钥;
采用所述发送者公钥对所述验证数据进行解密,得到所述第三数据;
对所述第三数据进行身份代码提取,得到所述第一身份代码;
采用所述接收者私钥,对所述加密数据进行解密,得到所述第二数据;
对所述第二数据进行所述身份代码提取,判断是否能够提取出所述第一身份代码;
若确定能够提取出所述第一身份代码,则从所述第二数据中删除所述第一身份代码,得到所述待加密数据。
3.根据权利要求2所述的一种基于区块链的数据交易方法,其特征在于,所述根据所述接收者输入的数据解密请求,获取所述验证数据以及所述加密数据之前,所述方法还包括:
获取所述接收者输入的所述数据解密请求;
根据所述数据解密请求,获取所述接收者的第二身份信息;
根据所述第二身份信息,判断所述接收者是否为预设数据库中预存的交易员;
若确定所述接收者为所述交易员,则获取所述接收者输入的所述接收者私钥。
4.根据权利要求2所述的一种基于区块链的数据交易方法,其特征在于,所述若确定能够提取出所述第一身份代码,则从所述第二数据中删除所述第一身份代码,得到所述待加密数据之后,所述方法还包括:
从所述第三数据中删除所述第一身份代码,得到所述第一数据;
对所述待加密数据进行哈希运算,判断运算后能否得到所述第一数据;
若运算后能否得到所述第一数据,则确定所述待加密数据未被篡改。
5.根据权利要求3所述的一种基于区块链的数据交易方法,其特征在于,所述确定所述接收者为所述交易员之后,所述方法还包括:
对所述第二身份信息的数据进行所述哈希运算,得到第二身份代码;
将所述第二身份代码作为所述接收者私钥,并根据所述接收者私钥生成所述接收者公钥。
6.一种基于区块链的数据交易装置,其特征在于,装置为数据交易系统,数据交易系统包括第一服务器、区块链系统以及第二服务器,其中区块链系统包括多个节点服务器,第一服务器与区块链系统通信连接,第二服务器也与区块链系统通信连接,第一服务器与第二服务器之间通信连接,多个节点服务器共同构成了一个去中心化的网络,包括处理模块(501)、生成模块(502)以及加密模块(503),其中:
所述处理模块(501),用于接收发送者输入的数据加密请求;
所述处理模块(501),用于根据所述数据加密请求,接收第一身份信息;
所述处理模块(501),用于根据所述第一身份信息,判断所述发送者是否为预设数据库中预存的交易员;
所述处理模块(501),用于若确定所述发送者为所述交易员,则接收所述发送者输入的待加密数据;
所述处理模块(501),用于根据发送者输入的数据加密请求,对所述发送者的第一身份信息的数据进行哈希运算,得到第一身份代码;
所述生成模块(502),用于将所述第一身份代码作为发送者私钥,并根据所述发送者私钥生成发送者公钥;
所述加密模块(503),用于对待加密数据进行哈希运算,得到第一数据,并按照预设方式,将所述第一身份代码插入所述待加密数据,得到第二数据;
所述处理模块(501),用于将所述第一身份代码随机拆分成预设数量的子代码;
所述生成模块(502),用于生成多个随机正整数,多个所述随机正整数的数量为所述预设数量,且任意一个所述随机正整数的数值小于所述待加密数据的长度;
所述处理模块(501),用于将多个所述随机正整数与多个所述子代码一一对应;
所述加密模块(503),用于根据各个所述随机正整数,将对应的所述子代码插入所述待加密数据的数据位,所述数据位的数值与所述随机正整数的数值相同;
所述处理模块(501),用于按照所述预设方式,将所述第一身份代码插入所述第一数据,得到第三数据;
所述加密模块(503),用于对接收者的第二身份信息进行哈希运算,得到第二身份代码,将所述第二身份代码设置为接收者私钥,将所述第二身份代码作为非对称算法的输入,计算得到接收者公钥;
所述加密模块(503),用于采用接收者的接收者公钥对所述第二数据进行加密,得到加密数据;
所述加密模块(503),用于采用所述发送者私钥对所述第三数据进行加密,得到验证数据,所述验证数据用于所述接收者对所述加密数据进行验证;
所述加密模块(503),用于得到验证数据和加密数据后,第一服务器发送验证数据和加密数据至区块链系统,区块链系统中的任意一个节点服务器接收到验证数据和加密数据后,将验证数据和加密数据依次发送至区块链系统中的其他节点服务器。
7.一种电子设备,其特征在于,包括处理器(601)、存储器(605)、用户接口(603)以及网络接口(604),所述存储器(605)用于存储指令,所述用户接口(603)和所述网络接口(604)均用于与其他设备通信,所述处理器(601)用于执行所述存储器(605)中存储的指令,以使所述电子设备执行如权利要求1-5任意一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,当所述指令被执行时,执行如权利要求1-5任意一项所述的方法。
CN202311815807.6A 2023-12-27 2023-12-27 一种基于区块链的数据交易方法、装置及电子设备 Active CN117499159B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311815807.6A CN117499159B (zh) 2023-12-27 2023-12-27 一种基于区块链的数据交易方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311815807.6A CN117499159B (zh) 2023-12-27 2023-12-27 一种基于区块链的数据交易方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN117499159A CN117499159A (zh) 2024-02-02
CN117499159B true CN117499159B (zh) 2024-03-26

Family

ID=89672952

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311815807.6A Active CN117499159B (zh) 2023-12-27 2023-12-27 一种基于区块链的数据交易方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN117499159B (zh)

Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101488858A (zh) * 2008-02-13 2009-07-22 刘海云 需要采用穷举法解密的随机加密方法
US8108678B1 (en) * 2003-02-10 2012-01-31 Voltage Security, Inc. Identity-based signcryption system
CN106301788A (zh) * 2016-08-12 2017-01-04 武汉大学 一种支持用户身份认证的群组密钥管理方法
CN106790250A (zh) * 2017-01-24 2017-05-31 郝孟 数据处理、加密、完整性校验方法及身份鉴别方法及系统
WO2018145127A1 (en) * 2017-02-06 2018-08-09 ShoCard, Inc. Electronic identification verification methods and systems with storage of certification records to a side chain
WO2019052286A1 (zh) * 2017-09-12 2019-03-21 广州广电运通金融电子股份有限公司 基于区块链的用户身份验证方法、装置及系统
CN109639714A (zh) * 2019-01-02 2019-04-16 浙江师范大学 一种基于区块链的物联网身份注册与验证方法
CN110458554A (zh) * 2019-03-31 2019-11-15 西安电子科技大学 区块链上基于身份的数据快速交易方法
CN110545279A (zh) * 2019-09-05 2019-12-06 国网区块链科技(北京)有限公司 兼具隐私和监管功能的区块链交易方法、装置及系统
KR20200020559A (ko) * 2018-08-18 2020-02-26 조현준 하이브리드블록체인 이용한 존재증명 방법
CN110958229A (zh) * 2019-11-20 2020-04-03 南京理工大学 一种基于区块链的可信身份认证方法
WO2020140931A1 (zh) * 2019-01-03 2020-07-09 菜鸟智能物流控股有限公司 区块链的访问控制方法和装置以及电子设备
CN112235278A (zh) * 2020-10-10 2021-01-15 杭州溪塔科技有限公司 一种监管交易者地址信息的方法、装置及电子设备
CN112789824A (zh) * 2019-09-09 2021-05-11 深圳市网心科技有限公司 区块链系统及信息传输方法、系统、装置、计算机介质
CN113409049A (zh) * 2020-06-10 2021-09-17 区块链新科技(广州)有限公司 一种基于哈希链的数字水印验证方法及系统
CN113610526A (zh) * 2021-08-24 2021-11-05 上海点融信息科技有限责任公司 一种数据信任方法、装置、电子设备及存储介质
CN114221766A (zh) * 2022-02-18 2022-03-22 阿里云计算有限公司 数据加密方法、解密方法及装置
CN114513327A (zh) * 2021-12-30 2022-05-17 电子科技大学 一种基于区块链的物联网隐私数据快速共享方法
CN114900290A (zh) * 2022-03-07 2022-08-12 南京信息工程大学 一种基于区块链的数据交易模型和隐私保护方法
CN116743358A (zh) * 2023-05-24 2023-09-12 湖南大学 一种可否认的多接收者认证方法及系统
CN117155549A (zh) * 2023-06-28 2023-12-01 中国建设银行股份有限公司 密钥分发方法、装置、计算机设备和存储介质
CN117240625A (zh) * 2023-11-14 2023-12-15 武汉海昌信息技术有限公司 一种涉及防篡改的数据处理方法、装置及电子设备
CN117273733A (zh) * 2023-09-19 2023-12-22 中国银行股份有限公司 一种基于智能合约的交易方法、装置、设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2502773B (en) * 2012-05-28 2015-03-11 Swivel Secure Ltd Method and system for secure user identification
CN110874464A (zh) * 2018-09-03 2020-03-10 巍乾全球技术有限责任公司 用户身份认证数据的管理方法和设备

Patent Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8108678B1 (en) * 2003-02-10 2012-01-31 Voltage Security, Inc. Identity-based signcryption system
CN101488858A (zh) * 2008-02-13 2009-07-22 刘海云 需要采用穷举法解密的随机加密方法
CN106301788A (zh) * 2016-08-12 2017-01-04 武汉大学 一种支持用户身份认证的群组密钥管理方法
CN106790250A (zh) * 2017-01-24 2017-05-31 郝孟 数据处理、加密、完整性校验方法及身份鉴别方法及系统
WO2018145127A1 (en) * 2017-02-06 2018-08-09 ShoCard, Inc. Electronic identification verification methods and systems with storage of certification records to a side chain
WO2019052286A1 (zh) * 2017-09-12 2019-03-21 广州广电运通金融电子股份有限公司 基于区块链的用户身份验证方法、装置及系统
KR20200020559A (ko) * 2018-08-18 2020-02-26 조현준 하이브리드블록체인 이용한 존재증명 방법
CN109639714A (zh) * 2019-01-02 2019-04-16 浙江师范大学 一种基于区块链的物联网身份注册与验证方法
WO2020140931A1 (zh) * 2019-01-03 2020-07-09 菜鸟智能物流控股有限公司 区块链的访问控制方法和装置以及电子设备
CN110458554A (zh) * 2019-03-31 2019-11-15 西安电子科技大学 区块链上基于身份的数据快速交易方法
CN110545279A (zh) * 2019-09-05 2019-12-06 国网区块链科技(北京)有限公司 兼具隐私和监管功能的区块链交易方法、装置及系统
CN112789824A (zh) * 2019-09-09 2021-05-11 深圳市网心科技有限公司 区块链系统及信息传输方法、系统、装置、计算机介质
CN110958229A (zh) * 2019-11-20 2020-04-03 南京理工大学 一种基于区块链的可信身份认证方法
CN113409049A (zh) * 2020-06-10 2021-09-17 区块链新科技(广州)有限公司 一种基于哈希链的数字水印验证方法及系统
CN112235278A (zh) * 2020-10-10 2021-01-15 杭州溪塔科技有限公司 一种监管交易者地址信息的方法、装置及电子设备
CN113610526A (zh) * 2021-08-24 2021-11-05 上海点融信息科技有限责任公司 一种数据信任方法、装置、电子设备及存储介质
CN114513327A (zh) * 2021-12-30 2022-05-17 电子科技大学 一种基于区块链的物联网隐私数据快速共享方法
CN114221766A (zh) * 2022-02-18 2022-03-22 阿里云计算有限公司 数据加密方法、解密方法及装置
CN114900290A (zh) * 2022-03-07 2022-08-12 南京信息工程大学 一种基于区块链的数据交易模型和隐私保护方法
CN116743358A (zh) * 2023-05-24 2023-09-12 湖南大学 一种可否认的多接收者认证方法及系统
CN117155549A (zh) * 2023-06-28 2023-12-01 中国建设银行股份有限公司 密钥分发方法、装置、计算机设备和存储介质
CN117273733A (zh) * 2023-09-19 2023-12-22 中国银行股份有限公司 一种基于智能合约的交易方法、装置、设备及存储介质
CN117240625A (zh) * 2023-11-14 2023-12-15 武汉海昌信息技术有限公司 一种涉及防篡改的数据处理方法、装置及电子设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
云环境下个人医疗信息的密文检索方法研究;冒海波;李永忠;;计算机应用与软件;20170915(第09期);全文 *
利用匿名通信的匿名电子拍卖协议;王小丽;李晓宇;;小型微型计算机系统;20200115(第01期);全文 *
可公开验证无证书的多接收者匿名签密方案;陈虹;朱亚囡;肖成龙;金海波;张子浩;;计算机工程与应用;20200930(第19期);全文 *

Also Published As

Publication number Publication date
CN117499159A (zh) 2024-02-02

Similar Documents

Publication Publication Date Title
Xu et al. Blockchain-enabled accountability mechanism against information leakage in vertical industry services
JP6370722B2 (ja) データセンタへのプラットフォームの内包検証
CN109905360B (zh) 数据验证方法及终端设备
CN113691502B (zh) 通信方法、装置、网关服务器、客户端及存储介质
EP3552131B1 (en) Password security
CN111476573B (zh) 一种账户数据处理方法、装置、设备及存储介质
CN112699353B (zh) 一种金融信息传输方法以及金融信息传输系统
EP4092984A1 (en) Data processing method and apparatus, device and medium
CN112948851A (zh) 用户认证方法、装置、服务器及存储介质
CN112398920A (zh) 一种基于区块链技术的医疗隐私数据保护方法
CN117240625B (zh) 一种涉及防篡改的数据处理方法、装置及电子设备
CN111585995A (zh) 安全风控信息传输、处理方法、装置、计算机设备及存储介质
CN111404892A (zh) 数据监管方法、装置和服务器
CN114499875A (zh) 业务数据处理方法、装置、计算机设备和存储介质
CN113901520A (zh) 基于区块链的数据处理方法、装置、设备及介质
CN113722749A (zh) 基于加密算法的区块链baas服务的数据处理方法及装置
CN111078649A (zh) 基于区块链的云上文件存储方法、装置及电子设备
CN117499159B (zh) 一种基于区块链的数据交易方法、装置及电子设备
CN114745115A (zh) 一种信息传输方法、装置、计算机设备及存储介质
CN112825093B (zh) 安全基线检查方法、主机、服务器、电子设备及存储介质
CN113595731A (zh) 一种分享链接的防护方法、装置及计算机可读存储介质
KR20210129981A (ko) 가로채기 해킹 공격 방지를 위한 블록체인 기반 인증 시스템 및 방법
CN117349895B (zh) 基于区块链的汽车金融数字档案管理方法及装置
CN113556365B (zh) 认证结果数据传输系统、方法及装置
WO2024011863A9 (zh) 通信方法、装置、sim卡、电子设备和终端设备

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