CN114143055B - 一种基于区块链的数据分发方法和可信溯源方法 - Google Patents
一种基于区块链的数据分发方法和可信溯源方法 Download PDFInfo
- Publication number
- CN114143055B CN114143055B CN202111406053.XA CN202111406053A CN114143055B CN 114143055 B CN114143055 B CN 114143055B CN 202111406053 A CN202111406053 A CN 202111406053A CN 114143055 B CN114143055 B CN 114143055B
- Authority
- CN
- China
- Prior art keywords
- data
- owner
- requester
- blockchain
- request
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 238000009826 distribution Methods 0.000 title claims abstract description 49
- 238000011217 control strategy Methods 0.000 claims description 12
- 230000001010 compromised effect Effects 0.000 claims description 5
- 238000013500 data storage Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 16
- 230000005540 biological transmission Effects 0.000 description 10
- 230000003993 interaction Effects 0.000 description 9
- 238000003860 storage Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 7
- 238000012552 review Methods 0.000 description 3
- 238000012550 audit Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013478 data encryption standard Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 239000000956 alloy Substances 0.000 description 1
- 229910045601 alloy Inorganic materials 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000010410 layer Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process 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
- 238000011160 research Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- 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/126—Applying verification of the received information the source of the received data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
一种基于区块链的数据分发方法,其特征在于,所述方法包括以下步骤:步骤1,在所述区块链中广播数据所有者的数据相关信息,并基于数据请求者的数据请求对所述数据请求者的访问权限进行判定;步骤2,当所述数据请求者具备所述访问权限时,基于智能合约指示所述数据所有者将数据文件C加密后发送给所述数据请求者;步骤3,当所述数据请求者接收到加密数据后,判断所述数据所有者广播的所述数据相关信息与所述数据请求者接收到的所述加密数据的特征是否一致,并据此判定所述数据文件C是否交易成功。本发明方法有效的提高了数据的安全性,防止了数据泄露。
Description
技术领域
本发明涉及区块链领域,更具体地,涉及一种基于区块链的数据分发方法和可信溯源方法。
背景技术
数据分发交互需要保证数据分发过程的安全性、数据的可用性和发生数据泄露问题的可溯源。电力数据包含反映社会生活和生产的居民和企业真实用电数据,具有广泛的应用场景和深层的使用价值。其在电网内部通常是各业务部门将电力数据传输到数据中台,再由数据中台进行统一分发。随着电力系统信息化和电力大数据应用的不断深入,电力数据分发日趋频繁,分发场景多样,不同分发对象和分发场景下电力数据泄露形式复杂,泄露风险激增,电力数据的安全分发和发生数据泄露后的溯源,已成为提升行业数据安全管理能力,发展数字经济,助力建设领先的能源互联网的重要环节。
关于数据安全共享方面,1979年,Shamir提出第一个秘密共享方案,称为(k,n)门限方案,其核心思想是将要共享的秘密数据D分为n块,任意k块或者k块以上组合就可以重构该秘密数据,但是任意k−1块或者k−1块以下组合均得不到关于数据D的任何信息。2010年,Yu等人在半诚实的服务器模型下实现了细粒度的数据共享,但是它不能实现灵活的数据共享,而且随着用户数量的增加,创建文件、用户授权和撤销的复杂性会线性增大。这就使得加密和用户密钥生成不适用于一些特定的应用场景,比如移动云环境。2010年,Li等人提出一种新的访问控制框架来管理云环境下的私人健康记录,方案使用基于属性加密(ABE,Attribute-Based Encryption)技术对私人健康记录进行加密,将系统分为多个安全域来减少密钥分发的复杂性,同时还支持灵活、按需的用户权限撤销。2015年,Shao等人基于属性的代理重加密技术和转化密钥技术提出一个移动云环境下的数据共享方案,它允许数据共享者外包一部分解密权限,但是移动用户的离线计算开销仍然很大。现有的大多数数据共享方案都是利用基于属性加密(ABE,Attribute-Based Encryption)的技术构造的,但是它们中的大部分并没有考虑或实现可追踪性。因此,Ahuja等人于2016年提出一个可追踪的基于属性的签密(ABSC,Attribute-based Signeryption)方案来实现数据共享。2017年,Sookhak等人基于云环境提出一个车载网络 (VANETs,Vehicular Ad Hoc Networks)中不同车辆间安全地共享私密数据的方案,方案基于双线性对构造,该方案的提出为许多移动云环境下的数据共享方案提供了设计思路。
关于数据溯源追踪技术,主流是基于日志记录的溯源追踪。利用云服务提供商(CSP,Cloud Service Providers)提供的系统日志服务,从日志中提取数据操作事件,实现对数据的追踪。这一方法本质上是服务器的系统日志分析,目标是提取数据操作记录,已被Amazon等当前大多数主流云服务提供商普遍支持。
以上有关于数据分发和溯源研究现状表明,在现有技术中,大多数数据共享方案在数据泄露之后不易溯源,而数据溯源追踪方法不可避免的引入了CSP的协助产生操作记录,存在用户对CSP信任度的担忧和溯源证据过多导致溯源效率不足的隐患。因此,区块链所具备的透明、可追溯、不可篡改和信息可信共享等特性,恰好可以为解决各个领域内数据可信传递与溯源追踪提供新的思路。
尽管现有技术中存在一些基于区块链网络的数据加解密技术,但是这些加解密技术的方法比较简单,加密方式也通常都是单层的。专利文献CN113570369A中公开了一种区块链隐私交易方法、装置、设备及可读存储介质,其中公开了第一交易数据的分层加密方法,这种方法虽然在一定程度上增强了数据的安全性,但是并没有针对不同数据的特征进行更加合理的加密。
因此,现有技术中区块链的加密技术仍然较为简单,安全性较低,无法针对不同数据的特征进行合理的加解密,在减少数据广播内容的同时,为数据请求者提供足够充分的数据索引。另外,现有技术中的方法,也无法针对密钥泄露等情况提供针对性的加密防护,或者是针对已经泄露的密钥和数据,提供有效的追踪溯源。总之,现有的区块链加密技术仍然存在者数据分发集中化程度高、权限分配不清晰、分发效率低、溯源条件复杂的问题。
针对这一问题,本申请中提供了一种基于区块链的数据分发和可信溯源方法。
发明内容
为解决现有技术中存在的不足,本发明的目的在于,提供一种基于区块链的数据分发和可信溯源方法,按照数据文件的存储位置选择不同的加密方式,对数据文件本身和密钥分别采用不同的算法进行加密后传输,且通过广播、请求等多个交互步骤最终实现数据的传输。
本发明采用如下的技术方案。
一种基于区块链的数据分发方法,其中,方法包括以下步骤:步骤1,在区块链中广播数据所有者的数据相关信息,并基于数据请求者的数据请求对数据请求者的访问权限进行判定;步骤2,当数据请求者具备访问权限时,基于智能合约指示数据所有者将数据文件C加密后发送给数据请求者;步骤3,当数据请求者接收到加密数据后,判断数据所有者广播的数据相关信息与数据请求者接收到的加密数据的特征是否一致,并据此判定数据文件C是否交易成功。
优选的,当待广播的数据文件C存储于数据所有者的本地时,在区块链中广播数据所有者的数据相关信息具体为:步骤1.1.1,采用SM4算法对数据所有者的待广播的数据文件C进行加密,并生成SM4密钥;步骤1.1.2,采用SM2算法对SM4密钥进行加密并广播;步骤1.1.3,采用SM3算法对待广播数据进行加密并广播。
优选的,当待广播的数据文件C存储于区块链的云服务器时,在区块链中广播数据所有者的数据相关信息具体为:步骤1.2.1,采用属性加密算法对数据所有者的待广播数据文件C生成所有者属性公钥和所有者属性私钥,并制定访问控制策略;步骤1.2.2,采用所有者属性公钥和访问控制策略对数据所有者的待广播数据文件C进行加密;步骤1.2.3,采用SM2算法对所有者属性私钥进行加密并广播,采用SM3算法对步骤1.2.2待广播数据文件C进行加密并广播。
优选的,当待广播的数据文件C存储于所述数据所有者的本地时,广播的数据相关信息包括数据所有者的本地身份、数据的类型、数据的简介、数据的哈希值、数据所有者的访问控制策略;当待广播的数据文件C存储于区块链的云服务器时,广播的数据相关信息包括数据所有者的本地身份、数据的类型、数据的简介、数据的哈希值、数据所有者的访问控制策略、数据存储的云服务器地址;其中,数据的哈希值是通过SM3算法加密获得的。
优选的,步骤1中还包括:当区块链中广播数据所有者的数据相关信息后,数据请求者查询相应的数据相关信息;基于查询,区块链向数据请求者展示数据相关信息;基于展示的查阅,数据请求者发出数据请求;区块链基于智能合约对数据请求者的访问权限进行判定。
优选的,数据请求者发出数据请求具体为:步骤1.3.1,数据请求者采用SM2算法生成请求公钥和请求私钥;步骤1.3.2,数据请求者发送包含请求公钥、数据编号、数据请求者标识和数据请求者属性的请求信息。
优选的,当数据文件C存储于区块链的云服务器时,请求信息中还包括数据请求者的属性信息;数据请求者的属性信息由智能合约生成。
优选的,智能合约基于请求信息对数据请求者的访问权限进行判定,当数据请求者不具有访问权限时,拒绝请求者请求;当数据请求者具备访问权限时,智能合约将数据请求转发至数据所有者。
优选的,当数据文件C存储于数据所有者的本地时,向数据请求者发送请求反馈,同时向区块链反馈交易记录;请求反馈中包括采用请求公钥加密的SM4密钥、数据的SM4密钥的哈希值。
优选的,当数据文件C存储于区块链的云服务器时,向数据请求者发送请求反馈,同时生成交易记录;请求反馈中包括所有者属性私钥的哈希值和加密的所有者属性私钥;其中,所有者属性私钥的加密是数据所有者采集数据请求者的请求公钥实现的。
优选的,所有者属性私钥的哈希值的生成方式为:数据所有者根据数据请求者的属性信息和所有者属性私钥生成当前属性私钥;向当前属性私钥中加入请求者随机数;采用SM3对加入随机数的当前属性私钥进行加密,以获得所有者属性私钥的哈希值。
优选的,当数据文件C存储于数据所有者的本地时,交易记录中包括当前交易的时间、数据所有者、数据请求者、数据简介、数据编号和数据的SM4密钥的哈希值;当数据文件C存储于区块链的云服务器时,交易记录中包括当前交易的时间、数据所有者、数据请求者、数据简介、数据编号和所有者属性私钥的哈希值。
优选的,步骤3.1.1,当数据文件C存储于数据所有者的本地时,数据请求者接收来自数据所有者的加密的数据文件C;步骤3.1.2,数据请求者,基于请求私钥对加密的SM4密钥进行解密,并验证解密后的密钥的准确性;步骤3.1.3,数据请求者,基于解密后的SM4密钥对加密的数据文件C进行解密并验证数据文件C的准确性。
优选的,步骤3.2.1,当数据文件C存储于区块链的云服务器时,数据请求者基于数据存储的云服务器地址下载加密的数据文件C;步骤3.2.2,数据请求者,基于请求私钥对加密的属性私钥进行解密,并验证解密后的属性私钥的准确性;步骤3.2.3,数据请求者,基于解密后的属性私钥对加密的数据文件C进行解密并验证数据文件C的准确性。
优选的,当SM4密钥和数据文件C均具有准确性时,则判定数据文件C交易成功;当数据文件C不具有准确性时,则判定数据文件C交易失败,基于数据请求者的申诉重新执行数据请求。
本发明第二方面,涉及一种基于区块链的数据可信溯源方法,其中,方法采用如本发明第一方面中所述的方法实现数据分发。
优选的,当区块链中发生数据泄露时,对于泄露情况进行分类;针对所有者属性私钥泄露,以被泄露的所有者属性私钥的哈希值作为依据实现泄露溯源;针对以请求公钥加密的SM4密钥或以请求公钥加密的所有者属性私钥泄露,以被泄露的数据请求者的请求私钥作为依据实现泄露溯源;针对区块链中发生了非授权转发,以数据文件C和数据所有者的访问控制策略作为依据实现泄露溯源。
本发明的有益效果在于,与现有技术相比,本发明中一种基于区块链的数据分发和可信溯源方法,能够按照数据文件的存储位置选择不同的加密方式,对数据文件本身和密钥分别采用不同的算法进行加密后传输,且通过广播、请求、反馈、发送数据等多个交互步骤最终实现数据的传输,有效的提高了数据的安全性,防止了数据泄露。
本发明的有益效果还包括:
1、将数据文件按照其存储位置进行区分,并针对位于不同位置的数据文件实施不同方式的多步骤、多层次的加解密算法,和不同方式的数据流转程序。通过这种方法,充分考虑到了本地数据和云服务器中数据在收发过程中可能存在的物理风险,同时有效的实现了对位于数据所有者本地和位于区块链云服务器中的数据的安全传输,另外,也完成了对于数据所有者和数据请求者的监管,提高溯源效率。
2、本发明的方法不仅对于数据文件本身进行了多层的加密,而且基于交互过程,分别对所有者的公钥、私钥,请求者的公钥、私钥等数据加解密过程中的关键信息进行了再次加密,从而提高了一次交互过程中所有数据信息的可靠性。在其中一种密钥发生泄露时,数据仍然能够保证整体上的安全性。
3、本发明方法,在数据所有者向数据请求者发送数据内容之前,通过广播的方式实现了数据索引信息的广播,使得即使不具备请求者权限的用户也能够实现对于数据文件中大致内容的准确推测。同时数据请求者,可以基于对数据索引的查阅决定是否对该数据文件进行请求,从而大幅增加了数据提供过程的针对性,使得数据请求者能够高效、准确且合理的获取所需数据。
4、本发明的方法能够针对密钥泄露等情况提供针对性的加密防护,或者是针对已经泄露的密钥和数据,提供有效的追踪溯源。具体来说,本发明中提供了三种不同的泄露溯源方法,针对不同的泄露形式,实现了对于不同泄露信息或泄露方式的有效溯源,从而大幅提升了溯源的效率,保障了区块链中数据的安全。
附图说明
图1为本发明一种基于区块链的数据分发方法中数据分发的步骤流程示意图;
图2为本发明一种基于区块链的数据可信溯源方法中数据可信溯源的步骤流程示意图。
具体实施方式
下面结合附图对本申请作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本申请的保护范围。
图1为本发明一种基于区块链的数据分发方法中数据分发的步骤流程示意图。如图1所示,一种基于区块链的数据分发方法,其中,方法包括步骤1至步骤3。
步骤1,在区块链中广播数据所有者的数据相关信息,并基于数据请求者的数据请求对数据请求者的访问权限进行判定。
采用本发明中的数据分发方法,可以通过数据收发过程实现数据的不可篡改和安全共享。为了实现数据的分发,本发明中将发出数据的一方称之为数据所有者,而将接收数据的一方称之为数据请求者。
具体来说,数据所有者会先在区块链系统中广播自己拥有的数据文件的相关信息。而数据请求者,则可以在出现数据需求的情况下,向系统中随时的查询想要的数据文件信息,以及相关的访问控制权限。
本发明的数据文件,下文中以C为其符号进行说明。对于数据文件C来说,本发明中根据数据文件存储的位置,将其分为两种不同的数据文件,分别采用两种不同的方法进行展示、传输等。
优选的,当待广播的数据文件C存储于数据所有者的本地时,在区块链中广播数据所有者的数据相关信息具体为:步骤1.1.1,采用SM4算法对数据所有者的待广播的数据文件C进行加密,并生成SM4密钥;步骤1.1.2,采用SM2算法对SM4密钥进行加密并广播;步骤1.1.3,采用SM3算法对待广播的数据文件进行加密并广播。
本发明中,数据文件存储在区块链中之后,可以根据数据所有者的要求进行数据文件C的广播。当然,广播的过程并不会将所有的数据内容发送出来,而只是将数据中的部分特征提取出来,形成可读且可以共享的新的数据内容,本发明中称之为数据相关信息。
一般来说,如果数据文件C本身被存储在数据所有者的本地,那么数据相关信息的加密方法则是先通过国密SM4算法实现一次加密,同时生成SM4密钥,再采用SM3对于待广播数据进行哈希加密运算,同时采用SM2算法对SM4密钥进行加密。
本发明中所提及的SM2、SM3和SM4算法均为国家密码局以《中华人民共和国密码行业标准》的方式陆续公布的商业密码技术。其中,SM2为非对称加密算法,其基于椭圆曲线密码(ECC,Elliptic Curve Cryptography)的公钥密码算法标准,提供数字签名、密钥交换、公钥加密等应用,能够良好的替代国际上常用的RSA(Rivest Shamir Adleman)、ECDSA(椭圆曲线数字签名算法,Elliptic Curve Digital Signature Algorithm)和ECDH(椭圆曲线密钥协商算法,Elliptic CurveDiffie Hellman Algorithm)等算法。而SM3则为哈希算法,其哈希结果为256比特,能够替代过击上常用的MD5(单向散列算法,Message-DigestAlgorithm 5)、SHA1(安全哈希算法,Secure Hash Algorithm1)和SHA256等算法。另外,SM4则为一种对称加密算法,其密钥长度和分组长度均为128比特,主要应用于无线局域网的标准,可以有效的替代DES(数据加密标准,Data Encryption Standard)和AES(高级加密标准,Advanced Encryption Standard)等算法。
通过本发明的这种方法进行加密以后,可以准确的得到本发明中数据文件C中的有效信息并将其广播出来,同时也能够再充分广播数据特征的同时保证数据文件C的安全可靠。
优选的,当待广播的数据文件C存储于数据所有者的本地时,广播的数据相关信息包括数据所有者的本地身份、数据的类型、数据的简介、数据的哈希值、数据所有者的访问控制策略。
本发明中,为了进行广播,从数据文件C中提取的数据相关信息的内容为message<addressown\category\introduce\datahash\policy>。具体来说,message表征数据相关信息,而addressown为数据所有者的本地身份,其中具体可以包括有数据所有者在区块链网络中的地址、数据所有者在数据分发中的身份信息和数据所有者在对当前数据文件C的所有权等信息内容。另外,category为数据的类型,这一字段可以用来对数据进行整理分类;introduce为数据的简介,可以让数据所有者更好的了解到数据文件的信息内容;而datahash代表原始数据的哈希值,用于数据用户在解密数据后对得到的数据作哈希运算得到哈希值,并于datahash进行对比,以验证解密数据的完整性;policy则可以代表数据所有者制订的访问控制策略,只有满足策略的用户对智能合约请求数据时区块链才会相应的转发数据。
需要说明的是,本发明中的数据请求者可以主要根据category和introduce两项数据中所存储的具体内容来对当前数据文件C的基本信息进行判定,从而决定是否需要对当前的数据文件C进行数据请求和下载。
优选的,当待广播的数据文件C存储于区块链的云服务器时,在区块链中广播数据所有者的数据相关信息具体为:步骤1.2.1,采用属性加密算法对数据所有者的待广播数据文件C生成所有者属性公钥和所有者属性私钥,并制定访问控制策略;步骤1.2.2,采用所有者属性公钥和访问控制策略对数据所有者的待广播数据文件C进行加密;步骤1.2.3,采用SM2算法对所有者属性私钥进行加密并广播,采用SM3算法对步骤1.2.2待广播数据文件C进行加密并广播。
另一方面,本发明中待广播的数据文件C如果并未存储在数据所有者的本地存储空间中,而是存储在云服务器上时,那么当数据所有者希望将该数据文件C的主要内容,例如索引性的内容进行广播时,就需要采用另外一种加密方法。
具体来说,这种加密算法首先采用属性加密算法生成针对数据所有者的属性私钥和属性公钥,同时数据所有者还可以制定访问控制策略,以限制数据请求者获得数据的身份。然后,采用所有者的属性公钥和私钥对于数据内容进行一次加密并放入云服务器中,对所有者属性私钥进行加密,同时采用哈希加密的SM3算法对数据文件加密,将经SM3加密的数据文件C进行广播。
优选的,当待广播的数据文件C存储于区块链的云服务器时,广播的数据相关信息包括数据所有者的本地身份、数据的类型、数据的简介、数据的哈希值、数据所有者的访问控制策略、数据存储的云服务器地址;其中,数据的哈希值是通过SM3算法加密获得的。
与上文中记载的待广播的数据文件C存储与本地时广播的字段内容比较类似,当待广播的数据文件C存储在云服务器时,从数据文件C中提取的数据相关信息的内容为message<addressown\category\introduce\datahash\policy\addresscloud>。其中部分字段addressown\category\introduce\datahash\policy与前文中所述的内容一致,而addresscloud字段则是数据文件存储在云服务器时为了实现广播过程所特有的字段,其代表加密的数据文件C在云存储服务器中的具体地址信息,数据请求者可以根据该地址信息在云服务器中下载数据密文。
这种加密方法的好处在于,尽管数据文件C的内容是存储在云端的,但是数据所有者仍然能够根据属于其自身特性的所有者属性私钥和所有者属性公钥来实现对数据所有者待广播数据文件C的加密,通过这种方式使得数据所有者可以合理的控制其自身的资源,即使被其他的数据请求者获取了,在未经过数据所有者的许可前,仍然是不能解密并获得数据的具体内容的,通过这种方式,不仅无需将大量数据文件C存储在本地,从而便利了数据传输,而且使得数据安全性仍然充分的收到数据所有者的控制。
本发明中,步骤1中还包括:当区块链中广播数据所有者的数据相关信息后,数据请求者查询相应的数据相关信息;基于查询,区块链向数据请求者展示数据相关信息;基于展示的查阅,数据请求者发出数据请求;区块链基于智能合约对数据请求者的访问权限进行判定。
换言之,本发明的方法为数据请求者提供了一定程度上的自主选择权,数据请求者可以先简单的查看数据所有者广播的内容,在确定想要对这部分数据文件进行下载时,再获取完整的数据文件C的内容。这种方法不仅提高了数据交易的公平程度,而且提高了数据有效交互的效率。
另外,由于本发明的方法本身是建立在区块链网络中的,因此,在数据请求者要求查阅数据、区块链的智能合约判断并展示数据,数据请求者请求数据内容,智能合约判定访问权限后,实现数据的转发等过程中虽然包括了多次的信息交互,但由于区块链网络的分布式构建方式和去中心化的思想,使得多次的信息交互并不会造成过大的网络压力。
具体来说,当数据请求者要求查阅数据时,区块链的智能合约会向当前的请求者提供数据内容。对于存储在本地的数据文件来说,这部分内容具体为content<addressown\ category \ introduce \ datahash \ policy \dataid>。对于存储在云端的数据文件来说,这部分内容具体为content<addressown \ category \ introduce \ datahash \policy \addresscloud \dataid>。可见,部分字段addressown \ category \ introduce\ datahash \ policy就是基于数据所有者广播的内容实现的,而另外的一项字段dataid则为当前的数据文件C在系统中的一个全局编号。数据请求者则可以根据数据文件C的相关信息、访问策略及其自身的属性决定是否向数据所有者申请数据文件。
具体的,数据请求者发出数据请求具体为:步骤1.3.1,数据请求者采用SM2算法生成请求公钥和请求私钥;步骤1.3.2,数据请求者发送包含请求公钥、数据编号和数据请求者标识的请求信息。
本发明中,数据请求者如果满足了相应的访问控制权限,并决定向数据文件申请时,则可以采用SM2算法首先生成请求公钥和私钥,然后发送请求信息。本发明中的请求信息具体可以为数据请求者对于本地数据文件的请求信息Request<dataid\addruser\PKu>,或是数据请求者对于云端数据文件的请求信息为Request,其内容为Request<dataid\addruser\userattrbute\PKu>。如上文所述,dataid就是数据请求者希望申请的数据文件的编号;而addruser代表数据请求者在区块链中的地址,也是数据请求者在数据分发中的身份标识。
除此之外,当数据文件C存储于区块链的云服务器时,请求信息中还包括数据请求者的属性信息;数据请求者的属性信息由智能合约生成。具体来说,对于云端数据的请求信息来说,请求信息Request中还应包括字段userattrbute,该字段由区块链中智能合约根据数据请求者所属部门单位生成,以供数据所有者生成特定属性私钥解密数据文件。例如,对于电网来说,不同部门单位的人员可能具有不同的属性特征,因此可以采用这种方式实现对于人员所属部门单位的区分。
另外,请求信息中的PKu是数据请求者的公钥,如果数据文件存储在云端,即可以采用基于属性的加密算法,此时请求公钥PKu用来加密数据所有者生成的数据用户的属性私钥,保证属性私钥传输的隐私性。另外,如果数据文件存储在本地,即可以采用基于SM4算法的加密,此时请求公钥PKu可以用来加密对称密钥,即SM4密钥,从而保证密钥的可靠性。
另外,本发明中区块链系统的智能合约会对于数据请求者所具备的属性进行分析,并根据数据所有者制定的访问控制策略判定数据请求者是否具备访问权限。
具体的,智能合约基于请求信息对数据请求者的访问权限进行判定,当数据请求者不具有访问权限时,拒绝请求者请求;当数据请求者具备访问权限时,智能合约将数据请求转发至数据所有者。
具体来说,在数据请求者的权限不符合要求时,智能合约可以拒绝数据请求者的请求,而对于具有权限的用户则会将数据请求者的相关数据请求Request<dataid\addruser\PKu>或Request<dataid\addruser\userattrbute\PKu>转发给数据所有者。
此时,数据所有者会对于该数据请求进行相应的检查或审核,判断能否对该数据请求者提供相应的数据服务。由于本发明中检查、审查或者是对数据请求者访问权限的判定过程均可以采用数据区块链现有技术中常用的方法实现,因此本发明中对其不进行赘述。
步骤2,当数据请求者具备访问权限时,基于智能合约指示数据所有者将数据文件C加密后发送给数据请求者。
本发明中数据所有者可以在完成检查或审核后,判定是否要为数据请求者提供数据服务请求。数据所有者提供数据服务的具体方式如下文所述。
优选的,当数据文件C存储于数据所有者的本地时,向数据请求者发送请求反馈,同时向区块链反馈交易记录;请求反馈中包括采用请求公钥加密的SM4密钥、数据的SM4密钥的哈希值。
当数据存储在本地时,数据所有者会针对数据请求者的请求提供反馈,具体的响应内容为response<HashSM4key,EnSM4key>。其中,HashSM4key表示数据的SM4密钥的哈希值。EnSM4key表示采用请求公钥加密的所述SM4密钥。
具体来说,数据所有者在前文的步骤1.1.1中已经生成了数据的SM4密钥,而为了将该密钥加密传输给请求者,数据所有者还对该密钥采用了SM3算法获得该密钥的哈希值HashSM4key,从而使得数据请求者在接收到该项字段后,可以用该项字段检测其解密后的SM4密钥是否是完整准确的。
另外,数据所有者会采用数据请求者发过来的请求公钥对于SM4密钥进行加密,这样使得SM4密钥在加密后可以安全的传输给数据请求者,而且只有数据请求者能够对该密钥进行解密。
需要说明的是,在数据所有者将SM4密钥发出给数据请求者的同时,数据所有者还会将该交易记录存储在区块链中。这部分内容将在后文中一同说明。
另一方面,优选的,当数据文件C存储于区块链的云服务器时,向数据请求者发送请求反馈,同时生成交易记录;请求反馈中包括所有者属性私钥的哈希值和加密的所有者属性私钥;其中,所有者属性私钥的加密是数据所有者采集数据请求者的请求公钥实现的。
本发明的方法中,当数据文件存储在区块链的云服务器时,数据所有者反馈给数据请求者的响应信息则具体为response<HashattrbuteSKu\EnattrbuteSKu>。其中,HashattrbuteSKu为请求者属性私钥的哈希值,EnattrbuteSKu为加密的请求者属性私钥。
需要说明的是,由于本地文件和云端文件的加密方式不同,因此,所有者的响应信息中的内容也是不同的。但大致思路是一致的,都是将加密文件的密钥信息发送给请求者以使得请求者获取密钥后解密数据文件。
其中,EnattrbuteSKu的加密方式比较简单,就是数据所有者采用其接收到请求公钥对于步骤1.2.1中生成的所有者属性私钥进行加密得到的。数据请求者接收到该所有者的属性私钥后,可以采用其自身的请求私钥对于该项信息进行解密,从而得到所有者属性私钥,并利用该密钥实现对于数据文件的解密。
为了确保所有者属性私钥在传输过程中未被篡改或没有出现误码、传输不完整等情况,还需要采用一个该密钥的哈希值进行正确性判定。
优选的,所有者属性私钥的哈希值的生成方式为:数据所有者根据数据请求者的属性信息和所有者属性私钥生成当前属性私钥;向当前属性私钥中加入请求者随机数;采用SM3对加入随机数的当前属性私钥进行加密,以获得所有者属性私钥的哈希值。
可以理解的是,本发明中的当前属性私钥中即包含了所有者属性私钥信息又包括了数据请求者的属性,如请求者请求信息中的userattrbute字段。当前属性私钥在本发明一实施例中被记录为attrbuteSKu字段,生成该字段后,为了保证该字段的唯一性,使得后续在可能出现信息泄露时,便于对每个所有者对其多个请求者请求的数据文件都能够实现追踪溯源,需要在该字段中加入随机数。具体的,该字段并非是完全随机的,而可以是根据数据请求者的特点加入的。而后,将加入随机数的当前属性私钥进行哈希算法加密,从而获得了所有者属性私钥的哈希值。该哈希值可以验证数据请求者接收到的所有者属性私钥是否是准确的。
在这一个步骤中,也同样的需要将交易记录存储在区块链中,以实现后续的泄露溯源。
具体的,当数据文件C存储于所述数据所有者的本地时,交易记录中包括当前交易的时间、数据所有者、数据请求者、数据简介、数据编号和数据的SM4密钥的哈希值;当数据文件C存储于区块链的云服务器时,交易记录中包括当前交易的时间、数据所有者、数据请求者、数据简介、数据编号和所有者属性私钥的哈希值。
可以理解的是,对于本地数据的交易,其交易记录信息是record<time\dataown\datauser\datamsg\dataid\HashSM4key>,相应的,对于云端数据的交易,其交易记录信息则是record<time\dataown\datauser\datamsg\dataid\HashattrbuteSKu>。其中字段time为当前交易发生的具体时间点,dataown和datauser分别为该交易的数据所有者和请求者,dataid为数据编号,HashattrbuteSKu如上文所述为所有者属性私钥的哈希值。本发明中,考虑到区块链中不适宜存储大容量的交易记录,因此每一条交易记录中都包括最简短的信息即可。
在完成上述步骤后,本发明进入到步骤3的阶段。
步骤3,当数据请求者接收到加密数据后,判断数据所有者广播的数据相关信息与数据请求者接收到的加密数据的特征是否一致,并据此判定数据文件C是否交易成功。
具体来说,本发明的数据请求者会对于数据所有者发出的响应信息进行获取,并对数据内容进行下载。
优选的,步骤3.1.1,当数据文件C存储于数据所有者的本地时,数据请求者接收来自数据所有者的加密的数据文件C;步骤3.1.2,数据请求者,基于请求私钥对加密的SM4密钥进行解密,并验证解密后的密钥的准确性;步骤3.1.3,数据请求者,基于解密后的SM4密钥对加密的所述数据文件C进行解密并验证数据文件C的准确性。
对于存储在本地的数据文件来说,数据请求者会接收到反馈后,将SM4密钥通过存在请求者本地的请求私钥进行解密,得到SM4密钥后先与哈希值进行比较以验证SM4密钥的准确性,在确定准确后,对于加密传输来的数据文件C进行解密。由于此次传输的数据文件C只是经过了SM4方法进行的一次加密,因此数据请求者对其进行解密后,就可以得到数据明文了。
值得说明的是,本发明也可以对该数据明文进行准确性验证,该验证方式是计算数据明文的哈希值,并与datahash字段做对比。该字段可以是数据请求者在请求数据之前,通过数据所有者广播的方式得到的。
优选的,步骤3.2.1,当数据文件C存储于区块链的云服务器时,数据请求者基于数据存储的云服务器地址下载加密的数据文件C;步骤3.2.2,数据请求者,基于请求私钥对加密的属性私钥进行解密,并验证解密后的属性私钥的准确性;步骤3.2.3,数据请求者,基于解密后的属性私钥对加密的数据文件C进行解密并验证数据文件C的准确性。
在这种情况下,数据请求者也会根据数据所有者发送的响应进行数据下载,同时解密密钥和验证密钥,通过正确的密钥解密数据并验证数据。虽然密钥和加密方式有所不同,但是原理基本相似,这里不再赘述。
优选的,当SM4密钥和数据文件C均具有准确性时,则判定数据文件C交易成功;当数据文件C不具有准确性时,则判定数据文件C交易失败,基于数据请求者的申诉重新执行数据请求。
本发明中,如果判定了数据文件C解密后的明文的哈希值与字段datahash中的哈希值相同,则说明数据请求者成功接收了该数据文件,此时数据请求者会告知智能合约交易成功,智能合约中当前交易的状态被记录为success(交易成功)。
反之,如果数据文件C不具有准确性时或者在SM4密钥接收阶段就不准确时,则说明数据经历了不安全传输过程已经被篡改了,或者数据所有者发布的数据信息不够准确。此时,用户应当发起申诉,以使得智能合约将该条交易记录的状态修改为fail(交易失败)。
至此,数据在区块链中完成了一次极具安全性的交易过程。
图2为本发明一种基于区块链的数据可信溯源方法中数据可信溯源的步骤流程示意图。如图2所示,本发明第二方面,涉及一种一种基于区块链的数据可信溯源方法,该方法采用本发明第一方面一种基于区块链的数据分发方法首先实现数据分发过程后,再进行数据可信溯源。
在本发明中,当区块链中发生数据泄露时,对于泄露情况进行分类;针对所有者属性私钥泄露,以被泄露的所有者属性私钥的哈希值作为依据实现泄露溯源;针对以请求公钥加密的SM4密钥或以请求公钥加密的所有者属性私钥泄露,以被泄露的数据请求者的请求私钥作为依据实现泄露溯源;针对区块链中发生了非授权转发,以数据文件C和数据所有者的访问控制策略作为依据实现泄露溯源。
具体来说,本发明首先针对多种不同的数据泄露情况进行判断,并简单的考虑了几种最为常见、且泄露后严重性最高的泄露方式进行了溯源。
首先,对于存储在云端的数据文件来说,可能会存在着所有者属性私钥被故意泄露以实现获利的问题。这种情况对于存储在云端的数据文件来说,发生的概率较高。这主要是由于数据所有者难以控制其属性私钥被正常的请求者请求后泄露,并实现数据文件更大范围的传播目的而泄露的。对于这种情况,可以在每次数据请求者请求数据时,均利用随机数的方法生成取值唯一的所有者属性私钥的哈希值。通过这种方式,可以很大程度上减少搜索泄露用户的范围。
由于这一唯一的所有者属性私钥的哈希值被同时存储在交易记录中,因此,本发明可以通过对比交易记录与泄露记录中的该项指标,准确且快速的找到发生泄露的交易。针对该条交易中的交易时间项,可以追溯到最早的泄漏区块,和泄漏源。
另外,以请求公钥加密过的SM4密钥或以请求公钥加密过的所有者属性私钥泄露后,可以以数据请求者的请求私钥作为依据来溯源。具体的,通过被泄密的数据所对应的请求私钥进行无穷次的试探,看是否能够对交易中的请求公钥加密过的SM4密钥或以请求公钥加密过的所有者属性私钥进行成功的解密。如果可以,则说明相应的密钥信息甚至是数据文件已经被泄密了。根据交易中的时间字段,可以追溯到最早的泄露区块和泄漏源。
第三种被泄露的情况,并非是针对密钥泄露发生的,而是由于区块链系统中发生了非授权的数据转移。在这种情况中,虽然数据请求者并没有相应的权限来请求到相应的数据文献,但是数据所有者通过区块链网络将数据共享给了其他的数据用户。这种情况的发生存在两种可能,第一,区块链中的某个数据单位向区块链中的数据中心单位传输数据的过程中,发生了非授权转发;第二,数据中心单位向某个数据单位共享数据时发生了非授权转发。在本发明的一个实施例当中,这里所述的数据单位可以是整个电网系统所在区块链中的一个业务部门单位,而数据中心单位可以是数据中台,存在业务部门向数据中台传输数据过程中的非授权转发以及数据中台向业务部门传输数据时的非授权转发两种情况。比如说,该数据单位向区块链中的数据中心单位传输数据的过程,具体可以是一个电网业务部门单位向其他的电网业务部门单位、数据中台或者电网外部的部门单位三者之间进行数据共享的过程。
针对这种情况,则可以以数据文件的内容和数据所有者的访问权限为依据查找相应的交易。然后,首先确定泄露的时间先后顺序,并确定出最早泄露的区块,在该区块中逐个查询交易记录,如果获得了泄露的数据文件,以及相关非授权用户的信息,则可以进一步的筛选交易记录,从而实现溯源。
当然,本发明中对于泄露交易溯源的方式还有很多种,均可以根据本发明第一部分中的数据分发方法为基础来实现,这里并不将溯源的方法严格的限制为上述三种,也不会将溯源的方式严格的限制为上述三个实施例中的方式。
本发明一实施例中,构建了基于区块链的电力数据分发的去中心化模式,从而实现了电力分发记录上链,电力数据的存储和电力数据的安全分享。
由于本发明中涉及非对称加密算法,和非对称密钥的转发,电力数据加密传输与电力数据完整性校验的安全性机制,本发明建立了可追溯、无篡改、公开透明的共享模式,实现了对数据发送方和数据接收方的有效监管。与其他的安全共享方案相比较,本发明中数据共享速度更快、安全系数更高、溯源效果更好,为数据用户或数据部门对电力数据的使用提供了更加便捷的服务和更加可信的网络环境。
本发明的有益效果在于,与现有技术相比,本发明中一种基于区块链的数据分发和可信溯源方法,能够按照数据文件的存储位置选择不同的加密方式,对数据文件本身和密钥分别采用不同的算法进行加密后传输,且通过广播、请求、反馈、发送数据等多个交互步骤最终实现数据的传输,有效的提高了数据的安全性,防止了数据泄露。
本发明申请人结合说明书附图对本发明的实施示例做了详细的说明与描述,但是本领域技术人员应该理解,以上实施示例仅为本发明的优选实施方案,详尽的说明只是为了帮助读者更好地理解本发明精神,而并非对本发明保护范围的限制,相反,任何基于本发明的发明精神所作的任何改进或修饰都应当落在本发明的保护范围之内。
Claims (14)
1.一种基于区块链的数据分发方法,其特征在于,所述方法包括以下步骤:
步骤1,在所述区块链中广播数据所有者的数据相关信息,并基于数据请求者的数据请求对所述数据请求者的访问权限进行判定;
步骤2,当所述数据请求者具备所述访问权限时,基于智能合约指示所述数据所有者将数据文件C加密后发送给所述数据请求者;
步骤3,当所述数据请求者接收到加密数据后,判断所述数据所有者广播的所述数据相关信息与所述数据请求者接收到的所述加密数据的特征是否一致,并据此判定所述数据文件C是否交易成功;
所述数据相关信息为所述数据文件C中的部分特征,并且,当待广播的数据文件C存储于所述数据所有者的本地时,所述在所述区块链中广播数据所有者的数据相关信息具体为:
步骤1.1.1,采用SM4算法对所述数据所有者的待广播的数据文件C进行加密,并生成SM4密钥;
步骤1.1.2,采用SM2算法对所述SM4密钥进行加密并广播;
步骤1.1.3,采用SM3算法对所述待广播的数据文件C进行加密并广播;
当待广播的数据文件C存储于所述区块链的云服务器时,所述在所述区块链中广播数据所有者的数据相关信息具体为:
步骤1.2.1,采用属性加密算法对所述数据所有者的待广播数据文件C生成所有者属性公钥和所有者属性私钥,并制定访问控制策略;
步骤1.2.2,采用所述所有者属性公钥和所述访问控制策略对所述数据所有者的待广播数据文件C进行加密;
步骤1.2.3,采用SM2算法对所述所有者属性私钥进行加密并广播,采用SM3算法对所述待广播数据文件C进行加密并广播。
2.根据权利要求1中所述的一种基于区块链的数据分发方法,其特征在于:
当待广播的数据文件C存储于所述数据所有者的本地时,所述广播的数据相关信息包括所述数据所有者的本地身份、所述数据的类型、所述数据的简介、所述数据的哈希值、所述数据所有者的访问控制策略;
当待广播的数据文件C存储于所述区块链的云服务器时,所述广播的数据相关信息包括所述数据所有者的本地身份、所述数据的类型、所述数据的简介、所述数据的哈希值、所述数据所有者的访问控制策略、所述数据存储的云服务器地址;
其中,所述数据的哈希值是通过SM3算法加密获得的。
3.根据权利要求1中所述的一种基于区块链的数据分发方法,其特征在于:
所述步骤1中还包括:
当所述区块链中广播数据所有者的数据相关信息后,所述数据请求者查询相应的所述数据相关信息;
基于所述查询,所述区块链向所述数据请求者展示所述数据相关信息;
基于对所述展示所述数据相关信息的查阅,所述数据请求者发出数据请求;
所述区块链基于智能合约对所述数据请求者的访问权限进行判定。
4.根据权利要求3中所述的一种基于区块链的数据分发方法,其特征在于:
所述数据请求者发出数据请求具体为:
步骤1.3.1,所述数据请求者采用SM2算法生成请求公钥和请求私钥;
步骤1.3.2,所述数据请求者发送包含请求公钥、数据编号、数据请求者标识和数据请求者属性的请求信息。
5.根据权利要求4中所述的一种基于区块链的数据分发方法,其特征在于:
当所述数据文件C存储于所述区块链的云服务器时,所述请求信息中还包括所述数据请求者的属性信息;
所述数据请求者的属性信息由所述智能合约生成。
6.根据权利要求4中所述的一种基于区块链的数据分发方法,其特征在于:
所述智能合约基于所述请求信息对所述数据请求者的访问权限进行判定,当所述数据请求者不具有访问权限时,拒绝所述请求者请求;
当所述数据请求者具备访问权限时,所述智能合约将所述数据请求转发至所述数据所有者。
7.根据权利要求1中所述的一种基于区块链的数据分发方法,其特征在于:
当所述数据文件C存储于所述数据所有者的本地时,向所述数据请求者发送请求反馈,同时向所述区块链反馈交易记录;
所述请求反馈中包括采用请求公钥加密的所述SM4密钥、所述数据的SM4密钥的哈希值。
8.根据权利要求1中所述的一种基于区块链的数据分发方法,其特征在于:
当所述数据文件C存储于所述区块链的云服务器时,向所述数据请求者发送请求反馈,同时生成交易记录;
所述请求反馈中包括所有者属性私钥的哈希值和加密的所有者属性私钥;
其中,所有者属性私钥的加密是所述数据所有者采集所述数据请求者的请求公钥实现的。
9.根据权利要求7或8所述的一种基于区块链的数据分发方法,其特征在于:
所述所有者属性私钥的哈希值的生成方式为:
所述数据所有者根据所述数据请求者的属性信息和所述所有者属性私钥生成当前属性私钥;
向所述当前属性私钥中加入请求者随机数;
采用SM3对加入随机数的所述当前属性私钥进行加密,以获得所述所有者属性私钥的哈希值。
10.根据权利要求9中所述的一种基于区块链的数据分发方法,其特征在于:
当所述数据文件C存储于所述数据所有者的本地时,所述交易记录中包括当前交易的时间、数据所有者、数据请求者、数据简介、数据编号和所述数据的SM4密钥的哈希值;
当所述数据文件C存储于所述区块链的云服务器时,所述交易记录中包括当前交易的时间、数据所有者、数据请求者、数据简介、数据编号和所有者属性私钥的哈希值。
11.根据权利要求7中所述的一种基于区块链的数据分发方法,其特征在于:
步骤3.1.1,当所述数据文件C存储于所述数据所有者的本地时,所述数据请求者接收来自所述数据所有者的加密的数据文件C;
步骤3.1.2,所述数据请求者,基于请求私钥对加密的所述SM4密钥进行解密,并验证解密后的密钥的准确性;
步骤3.1.3,所述数据请求者,基于解密后的所述SM4密钥对加密的所述数据文件C进行解密并验证数据文件C的准确性。
12.根据权利要求8中所述的一种基于区块链的数据分发方法,其特征在于:
步骤3.2.1,当所述数据文件C存储于所述区块链的云服务器时,所述数据请求者基于所述数据存储的云服务器地址下载加密的所述数据文件C;
步骤3.2.2,所述数据请求者,基于请求私钥对加密的所述属性私钥进行解密,并验证解密后的属性私钥的准确性;
步骤3.2.3,所述数据请求者,基于解密后的所述属性私钥对加密的所述数据文件C进行解密并验证数据文件C的准确性。
13.根据权利要求11或12中所述的一种基于区块链的数据分发方法,其特征在于:
当所述SM4密钥和所述数据文件C均具有准确性时,则判定所述数据文件C交易成功;
当所述数据文件C不具有准确性时,则判定所述数据文件C交易失败,基于所述数据请求者的申诉重新执行所述数据请求。
14.一种基于区块链的数据可信溯源方法,其特征在于:
所述方法采用如权利要求1-13任意一项中所述的方法实现数据分发;并且,
当所述区块链中发生数据泄露时,对于泄露情况进行分类;
针对所述所有者属性私钥泄露,以被泄露的所述所有者属性私钥的哈希值作为依据实现泄露溯源;
针对以请求公钥加密的SM4密钥或以请求公钥加密的所有者属性私钥泄露,以被泄露的所述数据请求者的请求私钥作为依据实现泄露溯源;
针对所述区块链中发生了非授权转发,以所述数据文件C和所述数据所有者的访问控制策略作为依据实现泄露溯源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111406053.XA CN114143055B (zh) | 2021-11-24 | 2021-11-24 | 一种基于区块链的数据分发方法和可信溯源方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111406053.XA CN114143055B (zh) | 2021-11-24 | 2021-11-24 | 一种基于区块链的数据分发方法和可信溯源方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114143055A CN114143055A (zh) | 2022-03-04 |
CN114143055B true CN114143055B (zh) | 2023-12-01 |
Family
ID=80391287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111406053.XA Active CN114143055B (zh) | 2021-11-24 | 2021-11-24 | 一种基于区块链的数据分发方法和可信溯源方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114143055B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107347096A (zh) * | 2017-07-07 | 2017-11-14 | 安徽大学 | 一种基于云服务器的位置隐私保护方法 |
KR20190081299A (ko) * | 2017-12-29 | 2019-07-09 | 부경대학교 산학협력단 | 블록체인 기반 데이터 접근 제어 시스템 및 방법 |
WO2019158209A1 (en) * | 2018-02-16 | 2019-08-22 | Ecole polytechnique fédérale de Lausanne (EPFL) | Methods and systems for secure data exchange |
CN110190962A (zh) * | 2019-04-12 | 2019-08-30 | 杭州电子科技大学 | 一种防泄露的文件安全共享方法 |
CN111526200A (zh) * | 2020-04-27 | 2020-08-11 | 远光软件股份有限公司 | 一种基于区块链和云平台的数据存储访问方法及系统 |
CN111614680A (zh) * | 2020-05-25 | 2020-09-01 | 华中科技大学 | 一种基于cp-abe的可追溯云存储访问控制方法和系统 |
CN111737366A (zh) * | 2020-07-22 | 2020-10-02 | 百度在线网络技术(北京)有限公司 | 区块链的隐私数据处理方法、装置、设备以及存储介质 |
CN112257112A (zh) * | 2020-11-16 | 2021-01-22 | 国网河南省电力公司信息通信公司 | 一种基于区块链的数据访问控制方法 |
CN112487443A (zh) * | 2020-11-11 | 2021-03-12 | 昆明理工大学 | 一种基于区块链的能源数据细粒度访问控制方法 |
CN112532588A (zh) * | 2020-11-06 | 2021-03-19 | 北京工业大学 | 一种基于区块链的策略隐藏型数据访问控制方法 |
CN112804064A (zh) * | 2021-01-26 | 2021-05-14 | 西安邮电大学 | 基于区块链的属性加密访问控制系统及方法 |
CN112836229A (zh) * | 2021-02-10 | 2021-05-25 | 北京深安信息科技有限公司 | 属性基加密和区块链结合的可信数据访问控制方案 |
CN112989415A (zh) * | 2021-03-23 | 2021-06-18 | 广东工业大学 | 一种基于区块链的隐私数据存储与访问控制方法及系统 |
CN113364576A (zh) * | 2021-05-28 | 2021-09-07 | 湘潭大学 | 一种基于区块链的数据加密存证与共享方法 |
CN113641648A (zh) * | 2021-08-18 | 2021-11-12 | 山东省计算中心(国家超级计算济南中心) | 一种分布式云安全存储方法、系统和存储介质 |
-
2021
- 2021-11-24 CN CN202111406053.XA patent/CN114143055B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107347096A (zh) * | 2017-07-07 | 2017-11-14 | 安徽大学 | 一种基于云服务器的位置隐私保护方法 |
KR20190081299A (ko) * | 2017-12-29 | 2019-07-09 | 부경대학교 산학협력단 | 블록체인 기반 데이터 접근 제어 시스템 및 방법 |
WO2019158209A1 (en) * | 2018-02-16 | 2019-08-22 | Ecole polytechnique fédérale de Lausanne (EPFL) | Methods and systems for secure data exchange |
CN110190962A (zh) * | 2019-04-12 | 2019-08-30 | 杭州电子科技大学 | 一种防泄露的文件安全共享方法 |
CN111526200A (zh) * | 2020-04-27 | 2020-08-11 | 远光软件股份有限公司 | 一种基于区块链和云平台的数据存储访问方法及系统 |
CN111614680A (zh) * | 2020-05-25 | 2020-09-01 | 华中科技大学 | 一种基于cp-abe的可追溯云存储访问控制方法和系统 |
CN111737366A (zh) * | 2020-07-22 | 2020-10-02 | 百度在线网络技术(北京)有限公司 | 区块链的隐私数据处理方法、装置、设备以及存储介质 |
CN112532588A (zh) * | 2020-11-06 | 2021-03-19 | 北京工业大学 | 一种基于区块链的策略隐藏型数据访问控制方法 |
CN112487443A (zh) * | 2020-11-11 | 2021-03-12 | 昆明理工大学 | 一种基于区块链的能源数据细粒度访问控制方法 |
CN112257112A (zh) * | 2020-11-16 | 2021-01-22 | 国网河南省电力公司信息通信公司 | 一种基于区块链的数据访问控制方法 |
CN112804064A (zh) * | 2021-01-26 | 2021-05-14 | 西安邮电大学 | 基于区块链的属性加密访问控制系统及方法 |
CN112836229A (zh) * | 2021-02-10 | 2021-05-25 | 北京深安信息科技有限公司 | 属性基加密和区块链结合的可信数据访问控制方案 |
CN112989415A (zh) * | 2021-03-23 | 2021-06-18 | 广东工业大学 | 一种基于区块链的隐私数据存储与访问控制方法及系统 |
CN113364576A (zh) * | 2021-05-28 | 2021-09-07 | 湘潭大学 | 一种基于区块链的数据加密存证与共享方法 |
CN113641648A (zh) * | 2021-08-18 | 2021-11-12 | 山东省计算中心(国家超级计算济南中心) | 一种分布式云安全存储方法、系统和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114143055A (zh) | 2022-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113489733B (zh) | 基于区块链的内容中心网络隐私保护方法 | |
US9800416B2 (en) | Distributed validation of digitally signed electronic documents | |
US20180006823A1 (en) | Multi-hop secure content routing based on cryptographic partial blind signatures and embedded terms | |
CN104967693A (zh) | 面向云存储的基于全同态密码技术的文档相似度计算方法 | |
Murugesan et al. | Analysis on homomorphic technique for data security in fog computing | |
Cui et al. | A practical and efficient bidirectional access control scheme for cloud-edge data sharing | |
Liang et al. | PPRP: Preserving-privacy route planning scheme in VANETs | |
WO2014114080A1 (zh) | 数据加密保护方法及系统 | |
Ma et al. | A new private information encryption method in internet of things under cloud computing environment | |
WO2019179625A1 (en) | Distributed data storage network nodes and methods | |
Bhandari et al. | A framework for data security and storage in Cloud Computing | |
Darzi et al. | LPM2DA: a lattice-based privacy-preserving multi-functional and multi-dimensional data aggregation scheme for smart grid | |
Li et al. | Secure and temporary access delegation with equality test for cloud-assisted IoV | |
CN117828673B (zh) | 基于区块链的数据流通与隐私保护方法及装置 | |
CN114389878B (zh) | 一种区块链分片方法及区块链网络系统 | |
Zhang et al. | Cerberus: Privacy-preserving computation in edge computing | |
Yoosuf | Lightweight fog‐centric auditing scheme to verify integrity of IoT healthcare data in the cloud environment | |
CN114142995A (zh) | 面向区块链中继通信网络的密钥安全分发方法及装置 | |
Mi et al. | NTRU Implementation of Efficient Privacy‐Preserving Location‐Based Querying in VANET | |
Zhu et al. | An edge re‐encryption‐based access control mechanism in NDN | |
CN114531455B (zh) | 基于边缘协助的多云安全存储方法 | |
CN114143055B (zh) | 一种基于区块链的数据分发方法和可信溯源方法 | |
Yao et al. | A Collusion‐Resistant Identity‐Based Proxy Reencryption Scheme with Ciphertext Evolution for Secure Cloud Sharing | |
US20220173913A1 (en) | Consent Management | |
CN114866244A (zh) | 基于密文分组链接加密的可控匿名认证方法、系统及装置 |
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 |