CN114172735B - 基于智能合约的双链混合式区块链数据共享方法及系统 - Google Patents

基于智能合约的双链混合式区块链数据共享方法及系统 Download PDF

Info

Publication number
CN114172735B
CN114172735B CN202111512837.0A CN202111512837A CN114172735B CN 114172735 B CN114172735 B CN 114172735B CN 202111512837 A CN202111512837 A CN 202111512837A CN 114172735 B CN114172735 B CN 114172735B
Authority
CN
China
Prior art keywords
data
department
contract
user
identity
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
CN202111512837.0A
Other languages
English (en)
Other versions
CN114172735A (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.)
Information Engineering University of PLA Strategic Support Force
Original Assignee
Information Engineering University of PLA Strategic Support Force
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 Information Engineering University of PLA Strategic Support Force filed Critical Information Engineering University of PLA Strategic Support Force
Priority to CN202111512837.0A priority Critical patent/CN114172735B/zh
Publication of CN114172735A publication Critical patent/CN114172735A/zh
Application granted granted Critical
Publication of CN114172735B publication Critical patent/CN114172735B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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
    • 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/0435Network 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 symmetric encryption, i.e. same key used 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/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/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/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/3247Cryptographic 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 involving digital signatures
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Storage Device Security (AREA)

Abstract

本发明属于区块链及智能合约技术领域,特别涉及一种基于智能合约的双链混合式区块链数据共享方法及系统,利用IPFS星际文件系统和由联盟链与私有链组成的区块链并基于部署在联盟链上的智能合约实现各部门中成员对上传数据进行部门内和/或部门间的数据共享,其中,联盟链存储各部门成员信息和数据摘要信息,私有链存储联盟链上区块信息摘要,智能合约包含用于管理部门成员及成员身份信息的部门层合约及用于各成员节点对数据进行业务逻辑处理的用户层合约,基于部门层合约执行所述部门层合约内容实现各部门及成员注册、身份管理和注销。本发明通过数据确权保护、防止数据被篡改及去中心化数据共享,保障数据共享服务的安全可靠,具有较好的应用前景。

Description

基于智能合约的双链混合式区块链数据共享方法及系统
技术领域
本发明属于区块链及智能合约技术领域,特别涉及一种基于智能合约的双链混合式区块链数据共享方法及系统。
背景技术
互联网时代通过网络进行通信是实现数据共享的主要途径,但由于通信双方之间缺乏信任和监管,使得数据篡改、恶意删除、伪造等不法行为屡见不鲜。为了制止上述恶意行为,人们在进行文件存储、数据共享、资产交易时通常引入一个可信第三方作为中介来解决信任问题。数据分享者将数据上传至中心服务器后数据存储在中心服务器,其他用户通过中心服务器获得想要的数据。中心化的系统存在单点故障、单点攻击,中心缺乏监管的问题,很容易出现损害用户利益的问题。同时用户将数据上传至中心服务器以后丧失对数据的控制,很容易出现数据非法传播和滥用,损害用户的利益。
区块链技术是比特币重要的底层技术之一,它本质上是一个去中心化的数据库,记录了一定时间内区块节点全部的交易信息,由全体节点共同维护。区块链各个区块之间通过哈希算法实现链接,后一个区块包含前一个区块的哈希值,区块之间前后链接形成区块链。去中心化是区块链技术最本质的特征,区块链技术不需依赖额外的第三方管理机构或硬件设施,没有中心管制,通过共识算法和分布式存储,各个节点实现了信息自我验证、传递和管理。区块链主要类型有公有链、联盟链、私有链三种类型:公有链是指任何人都可以参与,任何人都可以使用,没有权限设定,数据公开透明的网络,比特币就是一个公有链网络系统。私有链是指不对外开放,仅仅在组织内部使用的系统。联盟链通常使用在几个有合作协议的企业或机构之间,选定几个主要节点作为记账节点,一般具有身份认证和权限设置。现有的数据共享方案大多是通过服务器客户端模式作为服务模式,通过web页面提供服务接口:数据上传:数据分享者将风险的数据通过网络发送至中心服务器;数据存储:中心服务器将用户上传的数据存储至中心服务器并发布信息;数据获取:用户根据中心服务器发布的信息提出获取数据的请求,中心服务器审核后将数据通过网络发送给用户。当前数据共享服务通过中心化存储、客户端服务器模式提供服务,这样做引入了一个中心服务器作为可信任的第三方来解决通信双方的信任问题并简化了处理流程,给用户提供了数据共享服务。但中心化的服务模式往往面临这以下几个风险:一是单点故障和单点攻击。中心化的系统中心服务器承担着提供服务和数据存储的任务,当中心服务器遭受攻击或出现故障时,整个系统的安全性都会受到很大影响;二是中心缺乏监管。系统权限集中于中心,数据存储在中心,但是缺乏对中心的监管,很容易出现数据泄露、篡改等损害用户利益的行为;三是数据失控的风险,用户将数据上传到中心服务器以后失去了对数据的控制,数据很容易被滥用、误用。
发明内容
针对传统的中心化数据共享系统存在单点故障、单点攻击,中心缺乏监管,数据失控等问题,本发明提供一种基于智能合约的双链混合式区块链数据共享方法及系统,通过数据确权保护、防止数据被篡改及去中心化数据共享,保障数据共享服务的安全可靠。
按照本发明所提供的设计方案,一种基于智能合约的双链混合式区块链数据共享方法,利用IPFS星际文件系统和由联盟链与私有链组成的区块链并基于部署在联盟链上的智能合约实现各部门中成员作为数据上传者和/或作为数据请求者对上传数据进行部门内和/或部门间共享,其中,联盟链存储各部门成员信息和数据摘要信息,私有链存储联盟链上区块信息摘要,智能合约包含用于管理部门成员及成员身份信息的部门层合约及用于各成员节点对数据进行业务逻辑处理的用户层合约,基于部门层合约执行所述部门层合约内容实现各部门及成员注册、身份管理和注销,该共享过程包含如下内容:
数据上传者将待上传数据加密存储至IPFS星际文件系统中本地IPFS集群并将数据存储的IPFS地址及数据哈希值以文件地址链形式存储至联盟链上,和/或数据请求者利用自身私钥将所需数据的文件信息和身份标识进行签名并将签名信息发布到联盟链上;
检测到数据共享请求时,为数据上传者和数据请求者创建用户层合约环境,使数据上传者和数据请求者共同创建用户层合约;
针对数据共享请求,按照用户层合约内容执行所述用户层合约,实现所述数据上传者和所述数据请求者之间的数据共享。
作为本发明基于智能合约的双链混合式区块链数据共享方法,进一步地,基于部门层合约执行所述部门层合约内容实现各部门及成员注册、身份管理和注销,包括:
部门节点管理本部门内部成员时,按照成员注册合约存储新加入成员公钥、身份标识及关联合约内容;并按照成员注销合约对成员身份进行撤销;
权威节点作为决策者,按照部门身份管理合约记录部门公钥、身份标识及与部门相关的成员注册合约和成员注销合约。
作为本发明基于智能合约的双链混合式区块链数据共享方法,进一步地,决策者按照部门身份管理合约记录部门公钥、身份标识及与部门相关的成员注册合约和成员注销合约,包含:
成立新部门时,新部门节点在本地生成公私密钥对,私钥本地保存,公钥利用安全信道发送给决策者并提出系统加入请求;
决策值审理加入请求,并利用部门身份管理合约保存该新部门公钥,并为其创建部门身份标识、成员注册合约和成员注销合约。
作为本发明基于智能合约的双链混合式区块链数据共享方法,进一步地,决策者按照部门身份管理合约记录部门公钥、身份标识及与部门相关的成员注册合约和成员注销合约,还包含:
部门增加成员时,成员节点在本地生成公私钥对,并利用部门节点公钥将成员公钥及成员身份信息加密后发送给部门节点;
部门节点审理新增成员请求,并通过部门私钥对成员信息签名验证,验证通过后为成员创建身份ID并连同成员公钥存储在成员注册合约中;
成员节点离开部门或成员私钥丢失申请对成员用户身份进行注销时,部门节点对成员用户公钥及身份ID签名并利用成员注销合约进行验证,对验证通过后的成员在其身份中添加注销标识。
作为本发明基于智能合约的双链混合式区块链数据共享方法,进一步地,按照用户层合约内容执行所述用户层合约实现所述数据上传者和所述数据请求者之间的数据共享,包含:
依据数据上传管理合约存储成员节点发布数据信息,该信息包含:数据编号、数据哈希值、数据IPFS地址及数据上传时间;
依据数据权限控制合约控制成员节点上传数据访问对象并存储数据编号、数据共享标识及共享信息;
依据数据获取合约验证数据请求者权限并进行数据共享。
作为本发明基于智能合约的双链混合式区块链数据共享方法,进一步地,成员节点发布数据信息时,先随机生成用于对上传数据附件加密的对称密钥,利用该对称密钥对数据附件加密得到加密文件,将加密文件存储到本地IPFS集群中获取该加密文件的IPFS地址;整合加密文件的IPFS地址、数据附件哈希值、文件描述及上传时间,并将该整合后的数据存储到IPFS集群中整合数据IPFS地址,对成员ID、数据编号、整合数据IPFS地址、整合数据对象哈希值签名并通过调用数据上传管理合约进行上传和身份验证,若验证成功则在数据上传管理合约中添加文件映射信息,该文件映射信息至少包含:文件编号及摘要。
作为本发明基于智能合约的双链混合式区块链数据共享方法,进一步地,节点数据共享时,用户首先用待分享部门的公钥对目标文件加密密钥进行非对称加密得到非对称密钥,然后用自己成员私钥对目标文件的文件编号、自己成员身份标识、待分享部门身份标识、非对称密钥进行签名并利用数据权限控制合约对签名信息进行验证,验证通过后将待分享部门身份标识和非对称密钥写到目标文件的文件编号分享列表中;当有部门内或部门间成员用户访问时,该成员用户利用自己成员私钥将要访问的文件编号及自己成员身份标识进行签名,并通过调用数据获取管理合约验证签名信息及该成员用户所述部门,验证通过后将数据的整合数据IPFS地址、非对称密钥、整合数据对象哈希值反馈给该成员用户;成员用户根据整合数据IPFS地址从IPFS集群中获取数据对象,并根据整合数据对象哈希值来验证对象是否被篡改,然后将自身成员身份标识、非对称密钥进行签名并发送给部门节点,请求恢复出加密密钥;部门节点收到请求后,验证签名信息及该成员用户所述部门,验证通过后利用部门私钥获取加密密钥并用成员用户公钥进行加密后发送给成员用户;成员用户对针对请求反馈的消息利用自身成员私钥解密获取加密密钥,并通过加密密钥对加密文件进行解密,根据文件哈希值判断是否被篡改。
进一步地,本发明还提供一种基于智能合约的双链混合式区块链数据共享系统,包含:IPFS星际文件系统,由联盟链与私有链组成的区块链,及利用IPFS星际文件系统和区块链并基于部署在联盟链上的智能合约实现各部门中成员作为数据上传者和/或作为数据请求者对上传数据进行部门内和/或部门间共享的数据共享模块,其中,联盟链存储各部门成员信息和数据摘要信息,私有链存储联盟链上区块信息摘要,智能合约包含用于管理部门成员及成员身份信息的部门层合约及用于各成员节点对数据进行业务逻辑处理的用户层合约,基于部门层合约执行所述部门层合约内容实现各部门及成员注册、身份管理和注销,数据共享模块包含:用于数据上传者将待上传数据加密存储至IPFS星际文件系统中本地IPFS集群并将数据存储的IPFS地址及数据哈希值以文件地址链形式存储至联盟链上和/或数据请求者利用自身私钥将所需数据的文件信息和身份标识进行签名并将签名信息发布到联盟链上的上传子模块,用于检测到数据共享请求时为数据上传者和数据请求者创建用户层合约环境以使数据上传者和数据请求者共同创建用户层合约的合约子模块,和用于针对数据共享请求按照用户层合约内容执行所述用户层合约来实现所述数据上传者和所述数据请求者之间的数据共享的共享子模块。
本发明的有益效果:
本发明通过星际文件系统实现数据分布式存储,通过联盟链和私有链作为底层技术保护数据,在保证数据安全、防止非法篡改的同时还兼顾了系统效率,通过智能合约认证用户身份,设置数据访问策略,实现灵活的数据可控共享。系统通过区块链技术的特性保障存储、读取、执行整个过程透明可追踪、不可篡改,有效保障了数据的安全可信,为实现数据共享提供了一种更为可靠的方案,具有较好的应用前景。
附图说明:
图1为实施例中基于智能合约的双链混合式区块链数据共享原理示意;
图2为实施例中智能合约原理示意。
具体实施方式:
为使本发明的目的、技术方案和优点更加清楚、明白,下面结合附图和技术方案对本发明作进一步详细的说明。
针对传统的中心化数据共享系统存在单点故障、单点攻击,中心缺乏监管,数据失控等问题,本发明实施例,提供一种基于智能合约的双链混合式区块链数据共享方法,利用IPFS星际文件系统和由联盟链与私有链组成的区块链并基于部署在联盟链上的智能合约实现各部门中成员作为数据上传者和/或作为数据请求者对上传数据进行部门内和/或部门间共享,其中,联盟链存储各部门成员信息和数据摘要信息,私有链存储联盟链上区块信息摘要,智能合约包含用于管理部门成员及成员身份信息的部门层合约及用于各成员节点对数据进行业务逻辑处理的用户层合约,基于部门层合约执行所述部门层合约内容实现各部门及成员注册、身份管理和注销,该共享过程包含如下内容:
数据上传者将待上传数据加密存储至IPFS星际文件系统中本地IPFS集群并将数据存储的IPFS地址及数据哈希值以文件地址链形式存储至联盟链上,和/或数据请求者利用自身私钥将所需数据的文件信息和身份标识进行签名并将签名信息发布到联盟链上;
检测到数据共享请求时,为数据上传者和数据请求者创建用户层合约环境,使数据上传者和数据请求者共同创建用户层合约;
针对数据共享请求,按照用户层合约内容执行所述用户层合约,实现所述数据上传者和所述数据请求者之间的数据共享。
通过星际文件系统实现数据分布式存储,通过联盟链和私有链作为底层技术保护数据,在保证数据安全、防止非法篡改的同时还兼顾了系统效率,通过智能合约认证用户身份,设置数据访问策略,实现灵活的数据可控共享。系统通过区块链技术的特性保障存储、读取、执行整个过程透明可追踪、不可篡改,有效保障了数据的安全可信,为实现数据共享提供了一种更为可靠的方案。
参见图1所示,由联盟链,私有链,系统RPC,IPFS文件存储系统组成,进行数据共享的系统内部各主要部门作为权威节点参与联盟区块链,享有成员注册、撤销,数据验证与共享等服务;系统RPC以API接口的形式为部门提供身份管理功能,为成员提供信息上传共享等功能。私有区块链是采用POW共识算法的以太坊私有链,通过定期存储联盟链上区块信息信息的摘要对联盟链上的数据进行保护,实现信息的防篡改。联盟区块链是采用DPOS共识算法的以太坊联盟链,通过部署在其上的智能合约存储各部门成员信息和发布数据的摘要信息,实现身份管理、数据分享、数据控制等功能逻辑。私有IPFS集群存储了加密数据的原始信息,可通过swarm.key进行节点的身份认证,通过分布式哈希表(DHT)、块交换(BitTorrent)等技术保障了数据的安全性。参见图2所示,部署在联盟区块链上的智能合约体系包括部门层合约和用户层合约。
作为本发明实施例中基于智能合约的双链混合式区块链数据共享方法,进一步地,基于部门层合约执行所述部门层合约内容实现各部门及成员注册、身份管理和注销,包括:
部门节点管理本部门内部成员时,按照成员注册合约存储新加入成员公钥、身份标识及关联合约内容;并按照成员注销合约对成员身份进行撤销;
权威节点作为决策者,按照部门身份管理合约记录部门公钥、身份标识及与部门相关的成员注册合约和成员注销合约。
部门层合约用于记录系统各部门的身份标识,管理部门成员以及实现各部门对本部门内部成员的管理,用以实现成员身份的创建与撤销,其具体可包含如下内容:
部门身份管理合约(Department Identity Control Contract DICC)作为全局合约,用于记录系统内部主要部门的公钥(PK),身份标识(D-ID)以及与其相关的成员注册合约和成员注销合约等信息。部门管理合约的部署者即为组织内最高决策者,可以决定部门的加入与撤销。
成员注册合约(Member Identity Register Contract MIRC)用于部门节点管理本部门内部的成员,当部门有新成员加入时,成员注册合约存储该成员的公钥(pk)和身份标识(M-ID)以及与其关联的成员层合约。
成员注销合约(Member Identity Delete Contract MIDC)用于成员离开或该成员私钥信息丢失的情况下对原本成员身份的撤销。
作为本发明实施例中基于智能合约的双链混合式区块链数据共享方法,进一步地,按照用户层合约内容执行所述用户层合约实现所述数据上传者和所述数据请求者之间的数据共享,包含:
依据数据上传管理合约存储成员节点发布数据信息,该信息包含:数据编号、数据哈希值、数据IPFS地址及数据上传时间;
依据数据权限控制合约控制成员节点上传数据访问对象并存储数据编号、数据共享标识及共享信息;
依据数据获取合约验证数据请求者权限并进行数据共享。
用户层合约是各用户节点对发布数据进行保护、验证、恢复和共享等业务逻辑的合约,其具体可包含如下内容:
数据上传管理合约(Data Upload Management Contract DUMC)存储节点发布数据的信息,包括数据编号(File-Number F-N),数据哈希值,数据的IPFS地址、数据上传时间等。
数据权限控制合约(Data Authority Control Contract DACC)用以控制用户上传信息的访问对象,用户通过此合约实现数据的可控访问,存储数据F-N、数据共享标识(Share-Identity S-ID)、共享信息。
数据获取合约(Data Acquisition Management Contract DAMC)用于验证请求者的权限并实现数据的共享。
部门是系统内部管理的重要主体,为进行数据分享主体的用户提供身份证明。当系统需要成立新部门时,需要得到合约部署者,即系统最高权限者的同意后方可加入。部门身份创建和撤销流程可设计如下:
(1)新部门节点在本地利用ECDSA椭圆曲线算法秘密地生成公私密钥对<PKD,SKD>,私钥新部门节点在本地秘密保存。
(2)将新生成的公钥PKD通过可靠信道发送给合约部署者,提出加入系统的请求。
(3)合约部署者审理加入请求,当同意该请求时,DICC合约保存该档部门的公钥信息,然后为其生成D-ID并创建成员创建合约(MIRC)和成员注销合约(MIDC),从而完成部门身份的注册。
系统成员是系统内部进行数据交流与共享的主体,像在企业,学校等组织内,每个成员都属于某一个部门并借此来实现组织内部的分工并由部门实现对成员身份的管理。当某一部门新增加一个成员时,成员节点先在本地利用ECDSA椭圆曲线算法生成公私钥对<PKM,SKM>,将自己的公钥PKM连同成员身份信息用部门节点公钥PKD加密后发送给部门节点。部门节点审理成员的加入请求,当通过后,部门用自己的SKD对成员信息进行签名并调用成员注册合约身份。合约验证部门的签名信息,验证通过后为成员创建一个M-ID,连同成员的公钥信息PKM存储在成员注册合约中,完成成员身份的注册。当成员节点离开部门或者私钥丢失时,需要对用户节点的身份进行注销,部门节点对用户的公钥PKM、M-ID等信息用签名后发送给成员注销合约,成员注册合约验证部门签名是否正确,验证通过后在成员身份中加上注销标识。否则返回错误信息。
中心化系统数据存储在中心服务器中,数据的安全性得不到保障,极易受到单点故障或单点攻击的威胁导致数据篡改或丢失。利用区块链和IPFS文件系统,数据分布式存储,数据哈希值上链,可以避免数据被非法篡改。数据上传和存储是指将数据对象Datajson的IPFS地址和哈希值存储到区块链中,其具体流程可设计如下:当对数据进行上传和存储操作时,成员先随机生成一个对称密钥k用于对附件的加密,该成员用k对数据进行加密后得到fileencrypted存储到本地IPFS集群中得到该文件的IPFS地址IPFSencryptedfile,然后连同附件数据的哈希值Hashfile,文件描述,上传时间等信息整合得到Datajson,将Datajson存储到IPFS集群中得到IPFS地址IPFSDatajson,最后对M-id,数据编号F-N,数据对象的IPFS地址IPFSDatajson,数据对象的哈希值hashDatajson进行签名调用数据上传管理合约进行上传,合约通过M-id确认成员身份并对签名进行确认,确认成功后则在合约中添加文件编号与摘要等信息的映射。
数据的共享是指用户上传的数据在部门成员之间以及跨部门之间共享交流,通过智能合约和IPFS系统,实现了可靠的数据共享,具体流程可设计如下:
用户A首先用待分享部门M的公钥对目标文件的加密密钥k进行非对称加密得到kencrypted,然后用自己的私钥SKA对目标文件的文件编号F-N,自己的身份标识M-ID-A,待分享的部门身份标识D-ID-M,kencrypted等进行签名发送给数据权限控制合约中,合约对签名信息进行验证,验证通过后将D-ID-M和kencrypted写到F-N的分享列表中。
M部门中的用户B访问时,用自己的私钥SKB将要访问的文件编号F-N,自己的身份标识M-ID-B进行签名,调用数据获取管理合约,合约验证用户B的签名信息以及用户B是否属于部门M,验证通过后将数据的IPFSDatajson,kencrypted,hashDatajson等信息返回给用户B。
用户B根据IPFSDatajson从IPFS集群中得到数据对象,根据hashDatajson来验证数据是否被篡改,然后将自己的身份标识M-ID-B,kencrypted进行签名发送给部门节点M,请求其恢复出加密密钥k。
部门节点M收到请求后,首先验证签名信息是否正确以及用户B是否属于本部门,验证通过后利用自己的私钥解出k并用用户B的公钥进行加密发送给用户B。
用户B收到消息以后用自己的私钥解出密钥以后对fileencrypted进行解密文件,并根据文件哈希值来判断是否被篡改。
结合区块链系统实现数据共享,通过智能合约记录和管理系统用户身份,设定数据访问控制逻辑,实现了用户对数据的确权和保护;通过链下分布式存储数据,链上记录数据哈希值,防止数据被篡改;整个系统数据记录不可篡改,透明可查,分散了中心的权限,实现了去中心化数据共享。
进一步地,基于上述的方法,本发明还提供一种基于智能合约的双链混合式区块链数据共享系统,包含:IPFS星际文件系统,由联盟链与私有链组成的区块链,及利用IPFS星际文件系统和区块链并基于部署在联盟链上的智能合约实现各部门中成员作为数据上传者和/或作为数据请求者对上传数据进行部门内和/或部门间共享的数据共享模块,其中,联盟链存储各部门成员信息和数据摘要信息,私有链存储联盟链上区块信息摘要,智能合约包含用于管理部门成员及成员身份信息的部门层合约及用于各成员节点对数据进行业务逻辑处理的用户层合约,基于部门层合约执行所述部门层合约内容实现各部门及成员注册、身份管理和注销,数据共享模块包含:用于数据上传者将待上传数据加密存储至IPFS星际文件系统中本地IPFS集群并将数据存储的IPFS地址及数据哈希值以文件地址链形式存储至联盟链上和/或数据请求者利用自身私钥将所需数据的文件信息和身份标识进行签名并将签名信息发布到联盟链上的上传子模块,用于检测到数据共享请求时为数据上传者和数据请求者创建用户层合约环境以使数据上传者和数据请求者共同创建用户层合约的合约子模块,和用于针对数据共享请求按照用户层合约内容执行所述用户层合约来实现所述数据上传者和所述数据请求者之间的数据共享的共享子模块。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。
基于上述的方法和/或系统,本发明实施例还提供一种服务器,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的方法。
基于上述的方法和/或系统,本发明实施例还提供一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现上述的方法。
在这里示出和描述的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制,因此,示例性实施例的其他示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (8)

1.一种基于智能合约的双链混合式区块链数据共享方法,其特征在于,利用IPFS星际文件系统和由联盟链与私有链组成的区块链并基于部署在联盟链上的智能合约实现各部门中成员作为数据上传者和/或作为数据请求者对上传数据进行部门内和/或部门间共享,其中,联盟链存储各部门成员信息和数据摘要信息,私有链存储联盟链上区块信息摘要,智能合约包含用于管理部门成员及成员身份信息的部门层合约及用于各成员节点对数据进行业务逻辑处理的用户层合约,基于部门层合约执行所述部门层合约内容实现各部门及成员注册、身份管理和注销,该共享过程包含如下内容:
数据上传者将待上传数据加密存储至IPFS星际文件系统中本地IPFS集群并将数据存储的IPFS地址及数据哈希值以文件地址链形式存储至联盟链上,和/或数据请求者利用自身私钥将所需数据的文件信息和身份标识进行签名并将签名信息发布到联盟链上;
检测到数据共享请求时,为数据上传者和数据请求者创建用户层合约环境,使数据上传者和数据请求者共同创建用户层合约;
针对数据共享请求,按照用户层合约内容执行所述用户层合约,实现所述数据上传者和所述数据请求者之间的数据共享;具体实现包含:依据数据上传管理合约存储成员节点发布数据信息,该信息包含:数据编号、数据哈希值、数据IPFS地址及数据上传时间;依据数据权限控制合约控制成员节点上传数据访问对象并存储数据编号、数据共享标识及共享信息;依据数据获取合约验证数据请求者权限并进行数据共享;
且共享过程中,在基于部门层合约执行所述部门层合约内容实现各部门及成员注册、身份管理和注销的具体实现,包括:部门节点管理本部门内部成员时,按照成员注册合约存储新加入成员公钥、身份标识及关联合约内容;并按照成员注销合约对成员身份进行撤销;权威节点作为决策者,按照部门身份管理合约记录部门公钥、身份标识及与部门相关的成员注册合约和成员注销合约。
2.根据权利要求1所述的基于智能合约的双链混合式区块链数据共享方法,其特征在于,决策者按照部门身份管理合约记录部门公钥、身份标识及与部门相关的成员注册合约和成员注销合约,包含:
成立新部门时,新部门节点在本地生成公私密钥对,私钥本地保存,公钥利用安全信道发送给决策者并提出系统加入请求;
决策值审理加入请求,并利用部门身份管理合约保存该新部门公钥,并为其创建部门身份标识、成员注册合约和成员注销合约。
3.根据权利要求1所述的基于智能合约的双链混合式区块链数据共享方法,其特征在于,决策者按照部门身份管理合约记录部门公钥、身份标识及与部门相关的成员注册合约和成员注销合约,还包含:
部门增加成员时,成员节点在本地生成公私钥对,并利用部门节点公钥将成员公钥及成员身份信息加密后发送给部门节点;
部门节点审理新增成员请求,并通过部门私钥对成员信息签名验证,验证通过后为成员创建身份ID并连同成员公钥存储在成员注册合约中;
成员节点离开部门或成员私钥丢失申请对成员用户身份进行注销时,部门节点对成员用户公钥及身份ID签名并利用成员注销合约进行验证,对验证通过后的成员在其身份中添加注销标识。
4.根据权利要求3所述的基于智能合约的双链混合式区块链数据共享方法,其特征在于,成员节点发布数据信息时,先随机生成用于对上传数据附件加密的对称密钥,利用该对称密钥对数据附件加密得到加密文件,将加密文件存储到本地IPFS集群中获取该加密文件的IPFS地址;整合加密文件的IPFS地址、数据附件哈希值、文件描述及上传时间,并将该整合后的数据存储到IPFS集群中整合数据IPFS地址,对成员ID、数据编号、整合数据IPFS地址、整合数据对象哈希值签名并通过调用数据上传管理合约进行上传和身份验证,若验证成功则在数据上传管理合约中添加文件映射信息,该文件映射信息至少包含:文件编号及摘要。
5.根据权利要求4所述的基于智能合约的双链混合式区块链数据共享方法,其特征在于,节点数据共享时,用户首先用待分享部门的公钥对目标文件加密密钥进行非对称加密得到非对称密钥,然后用自己成员私钥对目标文件的文件编号、自己成员身份标识、待分享部门身份标识、非对称密钥进行签名并利用数据权限控制合约对签名信息进行验证,验证通过后将待分享部门身份标识和非对称密钥写到目标文件的文件编号分享列表中;当有部门内或部门间成员用户访问时,该成员用户利用自己成员私钥将要访问的文件编号及自己成员身份标识进行签名,并通过调用数据获取管理合约验证签名信息及该成员用户所述部门,验证通过后将数据的整合数据IPFS地址、非对称密钥、整合数据对象哈希值反馈给该成员用户;成员用户根据整合数据IPFS地址从IPFS集群中获取数据对象,并根据整合数据对象哈希值来验证对象是否被篡改,然后将自身成员身份标识、非对称密钥进行签名并发送给部门节点,请求恢复出加密密钥;部门节点收到请求后,验证签名信息及该成员用户所述部门,验证通过后利用部门私钥获取加密密钥并用成员用户公钥进行加密后发送给成员用户;成员用户对针对请求反馈的消息利用自身成员私钥解密获取加密密钥,并通过加密密钥对加密文件进行解密,根据文件哈希值判断是否被篡改。
6.一种基于智能合约的双链混合式区块链数据共享系统,其特征在于,包含:IPFS星际文件系统,由联盟链与私有链组成的区块链,及利用IPFS星际文件系统和区块链并基于部署在联盟链上的智能合约实现各部门中成员作为数据上传者和/或作为数据请求者对上传数据进行部门内和/或部门间共享的数据共享模块,其中,联盟链存储各部门成员信息和数据摘要信息,私有链存储联盟链上区块信息摘要,智能合约包含用于管理部门成员及成员身份信息的部门层合约及用于各成员节点对数据进行业务逻辑处理的用户层合约,基于部门层合约执行所述部门层合约内容实现各部门及成员注册、身份管理和注销,数据共享模块包含:用于数据上传者将待上传数据加密存储至IPFS星际文件系统中本地IPFS集群并将数据存储的IPFS地址及数据哈希值以文件地址链形式存储至联盟链上和/或数据请求者利用自身私钥将所需数据的文件信息和身份标识进行签名并将签名信息发布到联盟链上的上传子模块,用于检测到数据共享请求时为数据上传者和数据请求者创建用户层合约环境以使数据上传者和数据请求者共同创建用户层合约的合约子模块,和用于针对数据共享请求按照用户层合约内容执行所述用户层合约来实现所述数据上传者和所述数据请求者之间的数据共享的共享子模块,共享子模块依据数据上传管理合约存储成员节点发布数据信息,该信息包含:数据编号、数据哈希值、数据IPFS地址及数据上传时间;依据数据权限控制合约控制成员节点上传数据访问对象并存储数据编号、数据共享标识及共享信息;依据数据获取合约验证数据请求者权限并进行数据共享,其中,在基于部门层合约执行所述部门层合约内容实现各部门及成员注册、身份管理和注销的具体实现,包括:部门节点管理本部门内部成员时,按照成员注册合约存储新加入成员公钥、身份标识及关联合约内容;并按照成员注销合约对成员身份进行撤销;权威节点作为决策者,按照部门身份管理合约记录部门公钥、身份标识及与部门相关的成员注册合约和成员注销合约。
7.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器之行时,使得所述处理器执行如权利要求1~5任一项所述的方法的步骤。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1~5中任一项所述方法的步骤。
CN202111512837.0A 2021-12-11 2021-12-11 基于智能合约的双链混合式区块链数据共享方法及系统 Active CN114172735B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111512837.0A CN114172735B (zh) 2021-12-11 2021-12-11 基于智能合约的双链混合式区块链数据共享方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111512837.0A CN114172735B (zh) 2021-12-11 2021-12-11 基于智能合约的双链混合式区块链数据共享方法及系统

Publications (2)

Publication Number Publication Date
CN114172735A CN114172735A (zh) 2022-03-11
CN114172735B true CN114172735B (zh) 2023-07-14

Family

ID=80485788

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111512837.0A Active CN114172735B (zh) 2021-12-11 2021-12-11 基于智能合约的双链混合式区块链数据共享方法及系统

Country Status (1)

Country Link
CN (1) CN114172735B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114650144B (zh) * 2022-03-29 2023-10-27 中国工商银行股份有限公司 基于区块链的文件分享方法及系统、电子设备及存储介质
CN114697044A (zh) * 2022-03-29 2022-07-01 国网山东省电力公司信息通信公司 一种基于区块链技术的身份认证模块集成系统
CN114785602B (zh) * 2022-04-26 2023-08-25 国网四川省电力公司经济技术研究院 一种用电数据安全共享模型、方法及系统
CN114884676A (zh) * 2022-05-05 2022-08-09 浪潮软件股份有限公司 一种基于区块链的政务数据共享方法
CN114844896B (zh) * 2022-05-07 2023-07-04 深圳嘉业产业发展有限公司 一种基于区块链的资源共享方法及系统
CN114978664A (zh) * 2022-05-18 2022-08-30 中银金融科技有限公司 一种数据共享方法、装置及电子设备
CN115052009B (zh) * 2022-06-17 2023-04-07 吉林大学 基于双链区块链的网络功能虚拟化数据保护方法及系统
CN114826779B (zh) * 2022-06-22 2022-09-02 军事科学院系统工程研究院网络信息研究所 一种分布式多方数据安全共享方法和系统
CN115150417A (zh) * 2022-07-01 2022-10-04 南方电网电力科技股份有限公司 一种基于区块链的数据存储方法及相关装置
CN115225647B (zh) * 2022-07-15 2024-03-22 中国科学院信息工程研究所 基于智能合约的制造业数据演化实体部门间安全交互方法
CN115208665B (zh) * 2022-07-15 2023-05-05 河南农业大学 一种基于区块链的种质资源数据安全共享方法及系统
CN115767515B (zh) * 2022-10-28 2023-07-14 广州声博士声学技术有限公司 一种无基站实时噪声大数据的加密共享方法及系统
CN115766181B (zh) * 2022-11-09 2024-05-03 哈尔滨工业大学 基于区块链的空间环境地面模拟装置数据共享架构及方法
CN115604035B (zh) * 2022-12-13 2023-03-28 杭州城市大脑有限公司 一种基于联盟链的城市大脑数据共享方法
CN116029629B (zh) * 2023-02-01 2023-06-20 上海文景信息科技有限公司 一种多式联运一单制认证方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109871669A (zh) * 2019-03-14 2019-06-11 哈尔滨工程大学 一种基于区块链技术的数据共享解决方法
CN110334525A (zh) * 2019-05-23 2019-10-15 积惠多(北京)科技有限公司 一种基于区块链多层联盟式账户管理系统及方法
CN112003886A (zh) * 2020-07-03 2020-11-27 北京工业大学 一种基于区块链的物联网数据共享系统和方法
CN113158224A (zh) * 2021-03-02 2021-07-23 陈丽燕 一种基于区块链的商业数据共享模型系统
CN113360458A (zh) * 2021-06-05 2021-09-07 湖南大学 一种基于联盟链的分布式文件存储共享系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11971874B2 (en) * 2019-01-31 2024-04-30 Salesforce, Inc. Systems, methods, and apparatuses for implementing efficient storage and validation of data and metadata within a blockchain using distributed ledger technology (DLT)
US11743027B2 (en) * 2019-10-08 2023-08-29 Johny Mathew Decentralized methods and systems for storage, access, distribution and exchange of electronic information and documents over the internet using blockchain to protect against cyber attacks and theft

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109871669A (zh) * 2019-03-14 2019-06-11 哈尔滨工程大学 一种基于区块链技术的数据共享解决方法
CN110334525A (zh) * 2019-05-23 2019-10-15 积惠多(北京)科技有限公司 一种基于区块链多层联盟式账户管理系统及方法
CN112003886A (zh) * 2020-07-03 2020-11-27 北京工业大学 一种基于区块链的物联网数据共享系统和方法
CN113158224A (zh) * 2021-03-02 2021-07-23 陈丽燕 一种基于区块链的商业数据共享模型系统
CN113360458A (zh) * 2021-06-05 2021-09-07 湖南大学 一种基于联盟链的分布式文件存储共享系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于联盟区块链和IPFS的音乐共享模型;高文涛;张桂芸;;天津师范大学学报(自然科学版)(02);全文 *

Also Published As

Publication number Publication date
CN114172735A (zh) 2022-03-11

Similar Documents

Publication Publication Date Title
CN114172735B (zh) 基于智能合约的双链混合式区块链数据共享方法及系统
US11025435B2 (en) System and method for blockchain-based cross-entity authentication
US11533164B2 (en) System and method for blockchain-based cross-entity authentication
EP3788523B1 (en) System and method for blockchain-based cross-entity authentication
CN108418680B (zh) 一种基于安全多方计算技术的区块链密钥恢复方法、介质
Kaaniche et al. A blockchain-based data usage auditing architecture with enhanced privacy and availability
WO2021000419A1 (en) System and method for blockchain-based cross-entity authentication
US20230087557A1 (en) System for privacy protection during iot secure data sharing and method thereof
US11196573B2 (en) Secure de-centralized domain name system
US20210089676A1 (en) Methods and systems for secure data exchange
Kokoris Kogias et al. Calypso: Private data management for decentralized ledgers
CN109327481B (zh) 一种基于区块链的全网统一在线认证方法及系统
CN109450843B (zh) 一种基于区块链的ssl证书管理方法及系统
US11924332B2 (en) Cryptographic systems and methods using distributed ledgers
JP2012518330A (ja) 高信頼なクラウド・コンピューティングおよびクラウド・サービスのフレームワーク
Yan et al. Integrity audit of shared cloud data with identity tracking
Guo et al. Using blockchain to control access to cloud data
CN114124392B (zh) 支持访问控制的数据可控流通方法、系统、设备和介质
CN114168921A (zh) 具有隐私保护的众包任务分配方法、系统和存储介质
Chen et al. An open identity authentication scheme based on blockchain
Wu et al. Verified CSAC-based CP-ABE access control of cloud storage in SWIM
Zeidler et al. Towards a framework for privacy-preserving data sharing in portable clouds
CN116566745B (zh) 一种基于区块链的数据共享与监测系统及方法
Alniamy et al. Blockchain-based secure collaboration platform for sharing and accessing scientific research data
Guo¹ et al. Check for updates Using Blockchain to Control Access to Cloud Data

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