CN112446046A - 基于智能合约的数据管理方法及装置 - Google Patents

基于智能合约的数据管理方法及装置 Download PDF

Info

Publication number
CN112446046A
CN112446046A CN202011319993.0A CN202011319993A CN112446046A CN 112446046 A CN112446046 A CN 112446046A CN 202011319993 A CN202011319993 A CN 202011319993A CN 112446046 A CN112446046 A CN 112446046A
Authority
CN
China
Prior art keywords
equipment
metadata
access
digital certificate
hash
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011319993.0A
Other languages
English (en)
Other versions
CN112446046B (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.)
Hainan Fire Chain Technology Co ltd
Original Assignee
Hainan Fire Chain 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 Hainan Fire Chain Technology Co ltd filed Critical Hainan Fire Chain Technology Co ltd
Priority to CN202011319993.0A priority Critical patent/CN112446046B/zh
Publication of CN112446046A publication Critical patent/CN112446046A/zh
Application granted granted Critical
Publication of CN112446046B publication Critical patent/CN112446046B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • G16Y40/50Safety; Security of things, users, data or systems
    • 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
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Abstract

本发明公开了一种基于智能合约的数据管理方法及装置。本发明的技术方案中,基于区块链构建一个设备数据安全共享平台,其中数据管理智能合约的访问操作权限设置为身份智能合约中注册的成员。可见,本发明的技术方案可以结合设备身份智能合约和数据管理智能合约管理设备和进行设备数据访问等,由于设备身份智能合约的限制,可以在很大程度上保证访问数据的用户是安全的用户,进而避免物联网在数据共享过程中受到的攻击,保证用户的隐私安全。

Description

基于智能合约的数据管理方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于智能合约的数据管理方法及装置。
背景技术
当前的物联网(Internet of Things,IoT)系统基本采用集中式的客户端-服务器模型,这种模型中,通常是作为客户端的边缘设备将采集的数据通过网络传输存储在集中的云平台服务器中,并由服务器进行管理。其中,边缘设备为物联网系统的前端设备,主要用来收集物理环境信息,或作为执行器通过输出信号来控制外部世界等。
但是,上述这种集中式的存储架构,从边缘设备端、网络到云端服务器都容易遭受到安全攻击,比如设备IP(Internet Protocol,网络互连协议)地址攻击、DDoS(Distributed denial of service,分布式拒绝服务)攻击等,这些攻击容易造成物联网数据共享过程中的各种隐私安全问题,也对物联网系统的管理将造成巨大的压力。
可见,如何避免物联网数据共享过程中的各种隐私安全问题,成为本领域技术人员亟待解决的问题。
发明内容
本发明提供了一种基于智能合约的数据管理方法及装置,以避免物联网数据共享过程中的各种隐私安全问题。
第一方面,本发明实施例提供了一种基于智能合约的数据管理方法,包括:
将接入设备所属的边缘节点服务器连接到以太坊测试链上,以使以太坊公链网络为所述边缘节点服务器分配网关哈希地址,以及,为接入边缘节点服务器的所述接入设备分配设备哈希地址;所述网关哈希地址为所述边缘节点服务器的公钥地址;所述设备哈希地址为所述接入设备的公钥地址;
将接入设备采集的数据集合文件上传到星际文件系统IPFS中,生成访问设备数据集合文件的IPFS哈希链接;
控制接入设备通过边缘服务器在以太坊区块链上注册公私钥,以及,通过边缘节点服务器授权生成代表接入设备真实物理身份信息的元数据数字证书;
控制接入设备使用设备公钥对元数据数字证书进行加密,上传到星际文件系统IPFS中,生成访问所述元数据数字证书的IPFS哈希链接;
将设备公钥和访问元数据数字证书的IPFS哈希链接写入到设备身份智能合约,以完成接入设备在以太坊测试链上的注册;所述设备身份智能合约具有第一地址层级结构,所述第一地址层级结构中首先包括每个边缘节点服务器的网关哈希地址,以及每一个网关哈希地址下保存着接入所述边缘节点服务器的接入设备的设备公钥和访问元数据数字证书的IPFS哈希链接;
将访问设备数据集合文件的IPFS哈希链接与其对应的接入设备的公钥地址写入以太坊测试链上的数据管理智能合约中;所述数据管理智能合约具有第二地址层级结构,所述第二地址层级结构中首先包括每个接入设备的设备公钥地址,以及每一个设备公钥地址下保存着接入设备对应的访问设备数据集合文件的IPFS哈希链接。
结合第一方面,在第一方面的一种可实现方式中,所述方法还包括:
获取所述接入设备所有者拥有的私钥;
在所述以太坊测试链上将所述私钥通过密码算法生成第一公钥;
在所述以太坊测试链上将所述第一公钥进行哈希计算,生成所述接入设备的设备公钥地址。
结合第一方面,在第一方面的一种可实现方式中,所述方法还包括:
获取所述接入设备的设备元数据,所述设备元数据包括接入设备的固件标识码、IP地址以及接入设备首次认证时间戳;
利用所述设备元数据进行哈希计算,生成元数据属性哈希值;
利用所述接入设备所有者拥有的私钥对所述元数据属性哈希值签名,生成元数据属性签名信息;
控制边缘节点服务器利用所述元数据属性签名信息验证所述设备元数据属性哈希值;
在验证通过的情况下,利用所述私钥对接入设备的数字证书文件进行签名,获得接入设备的元数据数字证书;所述数字证书文件包括接入设备的元数据属性哈希值、设备公钥、边缘节点服务器对设备元数据数据数字证书的签名信息和所述设备元数据数字证书的有效期。
结合第一方面,在第一方面的一种可实现方式中,所述方法还包括:
利用所述设备公钥对所述元数据数字证书进行签名;
将签名后的元数据数字证书通过格式化生成JSON格式文件上传至星际文件系统IPFS中,生成访问元数据数字证书的IPFS哈希链接。
结合第一方面,在第一方面的一种可实现方式中,所述方法还包括:
基于默克尔有向无环图Merkle DAG结构组织接入设备的元数据数字证书和采集的数据;所述默克尔有向无环图Merkle DAG结构中,第一节点同时存储分别访问存储元数据数字证书的第二节点的IPFS哈希链接和访问存储采集数据集合文件的第三节点的IPFS哈希链接,并且根据第二节点的IPFS哈希链接寻找到第二节点,根据第二节点中保存的内容可以获取到接入设备的元数据数字证书,根据第三节点的IPFS哈希链接寻找第三节点,并根据第三节点中保存的内容可以获取到所述接入设备采集的数据集合文件。
第二方面,本发明实施例提供了一种基于智能合约的数据管理装置,包括:
设备接入模块,用于将接入设备所属的边缘节点服务器连接到以太坊测试链上,以使以太坊公链网络为所述边缘节点服务器分配网关哈希地址,以及,为接入边缘节点服务器的所述接入设备分配设备哈希地址;所述网关哈希地址为所述边缘节点服务器的公钥地址;所述设备哈希地址为所述接入设备的公钥地址;
数据认证模块,用于将接入设备采集的数据集合文件上传到星际文件系统IPFS中,生成访问设备数据集合文件的IPFS哈希链接;用于控制接入设备通过边缘服务器在以太坊区块链上注册公私钥,以及,通过边缘节点服务器授权生成代表接入设备真实物理身份信息的元数据数字证书;以及,用于控制接入设备使用设备公钥对元数据数字证书进行加密,上传到星际文件系统IPFS中,生成访问所述元数据数字证书的IPFS哈希链接;
设备注册模块,用于将设备公钥和访问元数据数字证书的IPFS哈希链接写入到设备身份智能合约,以完成接入设备在以太坊测试链上的注册;所述设备身份智能合约具有第一地址层级结构,所述第一地址层级结构中首先包括每个边缘节点服务器的网关哈希地址,以及每一个网关哈希地址下保存着接入所述边缘节点服务器的接入设备的设备公钥和访问元数据数字证书的IPFS哈希链接;
数据管理模块,用于将访问设备数据集合文件的IPFS哈希链接与其对应的接入设备的公钥地址写入以太坊测试链上的数据管理智能合约中;所述数据管理智能合约具有第二地址层级结构,所述第二地址层级结构中首先包括每个接入设备的设备公钥地址,以及每一个设备公钥地址下保存着接入设备对应的访问设备数据集合文件的IPFS哈希链接。
结合第二方面,在第二方面的一种可实现方式中,所述装置还包括:
私钥获取模块,用于获取所述接入设备所有者拥有的私钥;
第一计算模块,用于在所述以太坊测试链上将所述私钥通过密码算法生成第一公钥;
第二计算模块,用于在所述以太坊测试链上将所述第一公钥进行哈希计算,生成所述接入设备的设备公钥地址。
结合第二方面,在第二方面的一种可实现方式中,所述数据认证模块,还用于:获取所述接入设备的设备元数据,所述设备元数据包括接入设备的固件标识码、IP地址以及接入设备首次认证时间戳;利用所述设备元数据进行哈希计算,生成元数据属性哈希值;利用所述接入设备所有者拥有的私钥对所述元数据属性哈希值签名,生成元数据属性签名信息;控制边缘节点服务器利用所述元数据属性签名信息验证所述设备元数据属性哈希值;在验证通过的情况下,利用所述私钥对接入设备的数字证书文件进行签名,获得接入设备的元数据数字证书;所述数字证书文件包括接入设备的元数据属性哈希值、设备公钥、边缘节点服务器对设备元数据数据数字证书的签名信息和所述设备元数据数字证书的有效期。
结合第二方面,在第二方面的一种可实现方式中,所述数据认证模块,还用于:利用所述设备公钥对所述元数据数字证书进行签名;将签名后的元数据数字证书通过格式化生成JSON格式文件上传至星际文件系统IPFS中,生成访问元数据数字证书的IPFS哈希链接。
结合第二方面,在第二方面的一种可实现方式中,所述数据管理模块,还用于:基于默克尔有向无环图Merkle DAG结构组织接入设备的元数据数字证书和采集的数据集合文件;所述默克尔有向无环图Merkle DAG结构中,第一节点同时存储分别访问存储元数据数字证书的第二节点的IPFS哈希链接和访问存储采集数据集合文件的第三节点的IPFS哈希链接,并且根据第二节点的IPFS哈希链接寻找到第二节点,根据第二节点中保存的内容可以获取到接入设备的元数据数字证书,根据第三节点的IPFS哈希链接寻找第三节点,并根据第三节点中保存的内容可以获取到所述接入设备采集的数据集合文件。
由以上技术方案可知,本发明实施例提供了一种基于智能合约的数据管理方法及装置。本发明的技术方案中,基于区块链构建一个设备数据安全共享平台,其中数据管理智能合约的访问操作权限设置为身份智能合约中注册的成员。可见,本发明的技术方案可以结合设备身份智能合约和数据管理智能合约管理设备和进行设备数据访问等,由于设备身份智能合约的限制,可以在很大程度上保证访问数据的用户是安全的用户,进而避免物联网在数据共享过程中受到的攻击,保证用户的隐私安全。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施案例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例示出的一种基于智能合约的数据管理方法的流程图;
图2为本发明实施例示出的一种以太坊测试链中各个物联网边缘设备的连接示意图;
图3为本发明实施例示出的一种设备身份智能合约的层级结构示意图;
图4为本发明实施例示出的一种数据管理智能合约的层级结构示意图;
图5为本发明实施例示出的不同哈希地址映射关系在IPFS网络中以Merkle DAG结构存储的示意图;
图6为本发明实施例提供的一种基于智能合约的数据管理装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本发明中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本发明的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本发明中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明(Unless otherwise indicated)。应该理解这样使用的用语在适当情况下可以互换,例如能够根据本发明实施例图示或描述中给出那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含。本发明中使用的术语“模块”,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
当前的物联网系统基本采用集中式的客户端-服务器模型,这种模型中,通常是作为客户端的边缘设备将采集的数据通过网络传输存储在集中的云平台服务器中,并由服务器进行管理。其中,边缘设备为物联网系统的前端设备,主要用来收集物理环境信息,或作为执行器通过输出信号来控制外部世界等。
但是,上述这种集中式的存储架构,从边缘设备端、网络到云端服务器都容易遭受到安全攻击,比如设备IP地址攻击、DDoS攻击等,这些攻击容易造成物联网数据共享过程中的各种隐私安全问题,也对物联网系统的管理将造成巨大的压力。
为了避免物联网数据共享过程中的各种隐私安全问题,本发明实施例中提供了一种基于智能合约的数据管理方法及装置。
图1为本发明实施例示出的一种基于智能合约的数据管理方法的流程图。如图1所示,本发明实施例提供的基于智能合约的数据管理方法包括:
步骤S101,将接入设备所属的边缘节点服务器连接到以太坊测试链上,以使以太坊公链网络为所述边缘节点服务器分配网关哈希地址,以及,为接入边缘节点服务器的所述接入设备分配设备哈希地址;其中,网关哈希地址为边缘节点服务器的公钥地址,设备哈希地址为所述接入设备的公钥地址。
图2为本发明实施例示出的一种以太坊测试链中各个物联网边缘设备的连接示意图,通常情况下,一个边缘节点服务器对应一个网关哈希地址,一个边缘节点服务器通过其对应的物联网网关连接着多个接入设备,例如,智能汽车、智能手表、传感器、温度计、摄像头等,多个边缘节点服务器再连接到以太坊测试链上,具体的连接结构如图2所示,并且,通过边缘节点服务器连接到以太坊测试链上的各个接入设备,也具有其各自的设备哈希地址。
通常,以太坊测试链是属于以太坊公链网络的一部分,而以太坊又是基于区块链技术建立的去中心化应用平台,因此,可以理解的是,本发明实施例中的数据管理方法以及部署的智能合约和边缘节点服务器、接入设备等均可以看作是基于区块链实现的,并且均处于区块链网络中。
上述步骤S101旨在搭建边缘节点服务器之间的以太坊公链网络,也即区块链网络,并同时在区块链的边缘节点服务器上部署设备身份智能合约,设备身份智能合约下面包含一系列网关哈希地址,每个网关哈希地址代表一个网关的公钥,网关哈希地址下面管理对应的边缘节点服务器下所有接入设备对应的访问元数据数字证书的IPFS哈希链接和设备公钥,具体结构如图3所示,图3为本发明实施例示出的一种设备身份智能合约的层级结构示意图,其中访问元数据数字证书的IPFS哈希链接可以称为元数据数字证书IPFS哈希链接。
步骤S102,将接入设备采集的数据集合文件上传到星际文件系统IPFS中,生成访问设备数据集合文件的IPFS哈希链接。
星际文件系统IPFS是一种基于P2P网络的点对点文件分发系统。数据存放在IPFS上的原因是,物联网的数据量较大,可以数据集合分成多份放在IPFS网络的多个节点处,并生成各自的哈希链接,再基于IPFS的默克尔有向无环图Merkle DAG将各个哈希链接组织起来,生成最终的默克尔Merkle根哈希链接,而整体数据集合的获取基于分布式哈希表(Distributed Hash Table,DHT)技术。这里所说的哈希链接即为IPFS哈希链接。
步骤S103,控制接入设备通过边缘服务器在以太坊区块链上注册公私钥,以及,通过边缘节点服务器授权生成代表接入设备真实物理身份信息的元数据数字证书。
通常,边缘节点服务器接入以太坊测试链上之后,所有的接入设备都需要在设备身份智能合约上进行注册,进而才能将用于访问接入设备的元数据数字证书的元数据数字证书IPFS哈希链接写入到设备身份智能合约中,而获得元数据数字证书IPFS哈希链接之前,还需要通过边缘节点服务器获得到接入设备对应的元数据数字证书。
在一些实施例中,通过边缘节点服务器获取到接入设备的元数据数字证书的步骤可以如下所示:
步骤S201,获取接入设备的设备元数据。
其中,设备元数据包括接入设备的固件标识码、IP地址以及接入设备首次认证时间戳。固件标识码可以是介入设备在区块链网络中的MAC地址等,首次认证即为接入设备在区块链上登记的时间。
步骤S202,利用设备元数据进行哈希计算,生成元数据属性哈希值。
步骤S203,利用所述接入设备所有者拥有的私钥对所述元数据属性哈希值签名,生成元数据属性签名信息。
步骤S204,控制边缘节点服务器利用所述元数据属性签名信息验证所述设备元数据属性哈希值。
步骤S205,在验证通过的情况下,利用所述私钥对接入设备的数字证书文件进行签名,获得接入设备的元数据数字证书。
其中,数字证书文件包括接入设备的元数据属性哈希值、设备公钥、边缘节点服务器对设备元数据数据数字证书的签名信息和所述设备元数据数字证书的有效期等。
步骤S104,控制接入设备使用设备公钥对元数据数字证书进行加密,上传到星际文件系统IPFS中,生成访问所述元数据数字证书的IPFS哈希链接。
步骤S105,将设备公钥和访问元数据数字证书的IPFS哈希链接写入到设备身份智能合约,以完成接入设备在以太坊测试上的注册。
其中,设备身份智能合约具有第一地址层级结构,第一地址层级结构中首先包括每个边缘节点服务器的网关哈希地址,以及每一个网关哈希地址下保存着接入所述边缘节点服务器的接入设备的设备公钥和访问元数据数字证书的IPFS哈希链接,如图3所示。
在一些实施例中,在以太坊公链网络中,为接入设备分配设备哈希地址之前,还需要计算出接入设备的公钥地址,由于设备哈希地址与设备公钥地址一致,因此,即可获得接入设备的哈希地址,具体步骤可以如下所示:
步骤S301,获取接入设备所有者拥有的私钥。
设备身份智能合约实现的关键功能包括对加入网络的新设备进行注册管理和验证,只有拥有对应私钥的设备所有者才权限对该地址下管理下的数据进行操作。
步骤S302,在以太坊测试链上将私钥通过密码算法生成第一公钥。密码算法有很多种,本发明实施例中可以采用椭圆曲线算法secp256k1。
步骤S303,在所述以太坊测试链上将所述第一公钥进行哈希计算,生成所述接入设备的设备公钥地址。哈希计算方式也有很多种,本发明实施例中可以采用SHA256。
步骤S106,将访问设备数据集合文件的IPFS哈希链接与其对应的接入设备的公钥地址写入以太坊测试链上的数据管理智能合约中。
图4为本发明实施例示出的一种数据管理智能合约的层级结构示意图。如图4所示,数据管理智能合约具有第二地址层级结构,第二地址层级结构中首先包括每个接入设备的设备公钥地址,以及每一个设备公钥地址下保存着接入设备对应的访问设备数据集合文件的IPFS哈希链接,其中,访问设备数据集合文件的IPFS哈希链接可以称为数据IPFS哈希链接。
在区块链边缘节点服务器上部署数据管理智能合约,用数据管理智能合约来管理接入设备采集的数据集合,因为物联网设备数量较多更适合链下存储,本发明实施例中借鉴分布式哈希表DHT技术和默克尔有向无环图Merkle DAG将数据集合组织起来,形成数据管理智能合约的地址层级结构。
数据管理智能合约的功能主要是管理对应不同接入设备采集的数据集合文件链下存储位置在链上的映射,具体地,选取接入设备采集的数据集合文件在IPFS网络上的哈希访问地址,即数据IPFS哈希链接,写入数据管理智能合约中。
数据管理智能合约提供函数功能实现在更新数据IPFS哈希链接时,调用该函数功能操作权限的是拥有设备身份智能合约中的合法私钥签名的设备拥有者,数据管理智能合约只接受来自设备身份智能合约的消息,通过这种方式确保只有在设备身份智能合约上注册授权的接入设备才可以通过数据管理智能合约更新其数据源或者对数据进行操作。
这样,在设备身份智能合约和数据管理智能合约的双重智能合约约束下,能有保证接入设备的安全性,进而在很大程度上保证访问数据的用户是安全的用户,进而避免物联网在数据共享过程中受到的攻击,保证用户的隐私安全。
基于设备身份智能合约和数据管理智能合约分别管理接入设备和数据访问可以降低操作复杂度,然而从数据存储角度,意味着数据管理智能合约要存储大量数据在IPFS上的访问链接。由于IPFS是基于哈希指纹访问的,当接入设备采集的数据频繁更新时或者有新的接入设备接入以太坊测试链时,其数据管理智能合约中保存的数据将发生改变,接入设备在数据管理智能合约中的数据IPFS哈希链接也将发生改变,这意味着将需要消耗大量的资源去更新数据管理智能合约中的内容。
为了避免频繁地更新数据管理智能合约中的数据IPFS哈希链接,本发明实施例中还可以基于默克尔有向无环图Merkle DAG结构组织接入设备的设备元数据数据证书和采集的数据集合文件。其中,默克尔有向无环图Merkle DAG结构可以参见图5,图5为本发明实施例示出的不同哈希地址映射关系在IPFS网络中以Merkle DAG结构存储的示意图。如图5所示,Merkle DAG结构中具有若干节点,节点用其节点哈希值表示,不同的节点下保存着不同的内容,例如,第一节点A中同时存储分别访问存储元数据数字证书的第二节点B的IPFS哈希链接和访问存储采集的数据集合文件的第三节点C的IPFS哈希链接,根据第二节点B的IPFS哈希链接可以寻找到第二节点B,第二节点B中保存设备元数据数字证书;根据第三节点C的IPFS哈希链接寻找第三节点C,第三节点C中保存接入设备采集的数据集合文件。
在一些实施例中,在接入设备的元数据数字证书上传到星际文件系统IPFS之前,还需要对元数据数字证书进行加密。加密的方式可以是签名,进而需要利用设备公钥对元数据数字证书进行签名;再将签名后的元数据数字证书通过格式化生成JSON格式文件上传至星际文件系统IPFS中,生成访问元数据数字证书的IPFS哈希链接。
另外,本发明实施例中除了需要将元数据数字证书进行加密,还需要对数据集合文件进行加密,并且将加密后的数据集合文件上传至星际文件系统IPFS,这些加密操作通常在接入设备端完成。
基于上述内容可见,本发明实施例中的基于智能合约的数据管理方法,通过设备身份智能合约和数据管理智能合约构建一个基于区块链网络的设备数据安全共享平台,在设备身份智能合约和数据管理智能合约的双重智能合约约束下,能有保证接入设备的安全性,进而在很大程度上保证访问数据的用户是安全的用户,进而避免物联网在数据共享过程中受到的攻击,保证用户的隐私安全。
图6为本发明实施例提供的一种基于智能合约的数据管理装置的结构框图。如图6所示,本发明实施例提供的基于智能合约的数据管理装置包括:
设备接入模块601,用于将接入设备所属的边缘节点服务器连接到以太坊测试链上,以使以太坊公链网络为所述边缘节点服务器分配网关哈希地址,以及,为接入边缘节点服务器的所述接入设备分配设备哈希地址;所述网关哈希地址为所述边缘节点服务器的公钥地址;所述设备哈希地址为所述接入设备的公钥地址;数据认证模块602,用于将接入设备采集的数据集合文件上传到星际文件系统IPFS中,生成访问设备数据集合文件的IPFS哈希链接;用于控制接入设备通过边缘服务器在以太坊区块链上注册公私钥,以及,通过边缘节点服务器授权生成代表接入设备真实物理身份信息的元数据数字证书;以及,用于控制接入设备使用设备公钥对元数据数字证书进行加密,上传到星际文件系统IPFS中,生成访问所述元数据数字证书的IPFS哈希链接;设备注册模块603,用于将设备公钥和访问元数据数字证书的IPFS哈希链接写入到设备身份智能合约,以完成接入设备在以太坊区块链上的注册;所述设备身份智能合约具有第一地址层级结构,所述第一地址层级结构中首先包括每个边缘节点服务器的网关哈希地址,以及每一个网关哈希地址下保存着接入所述边缘节点服务器的接入设备的设备公钥和访问元数据数字证书的IPFS哈希链接;数据管理模块604,用于将访问设备数据集合文件的IPFS哈希链接与其对应的接入设备的公钥地址写入以太坊测试链上的数据管理智能合约中;所述数据管理智能合约具有第二地址层级结构,所述第二地址层级结构中首先包括每个接入设备的设备公钥地址,以及每一个设备公钥地址下保存着接入设备对应的访问设备数据集合文件的IPFS哈希链接。
在一些实施例中,基于智能合约的数据管理装置还包括:私钥获取模块,用于获取所述接入设备所有者拥有的私钥;第一计算模块,用于在所述以太坊测试链上将所述私钥通过密码算法生成第一公钥;第二计算模块,用于在所述以太坊测试链上将所述第一公钥进行哈希计算,生成所述接入设备的设备公钥地址。
在一些实施例中,所述数据认证模块,还用于:获取所述接入设备的设备元数据,所述设备元数据包括接入设备的固件标识码、IP地址以及接入设备首次认证时间戳;利用所述设备元数据进行哈希计算,生成元数据属性哈希值;利用所述接入设备所有者拥有的私钥对所述元数据属性哈希值签名,生成元数据属性签名信息;控制边缘节点服务器利用所述元数据属性签名信息验证所述设备元数据属性哈希值;在验证通过的情况下,利用所述私钥对接入设备的数字证书文件进行签名,获得接入设备的元数据数字证书;所述数字证书文件包括接入设备的元数据属性哈希值、设备公钥、边缘节点服务器对设备元数据数据数字证书的签名信息和所述设备元数据数字证书的有效期。
在一些实施例中,所述数据认证模块,还用于:利用所述设备公钥对所述元数据数字证书进行签名;将签名后的元数据数字证书通过格式化生成JSON格式文件上传至星际文件系统IPFS中,生成访问元数据数字证书的IPFS哈希链接。
在一些实施例中,所述数据管理模块,还用于:基于默克尔有向无环图Merkle DAG结构组织接入设备的元数据数字证书和采集的数据集合文件;所述默克尔有向无环图Merkle DAG结构中,第一节点同时存储分别访问存储元数据数字证书的第二节点的IPFS哈希链接和访问存储采集数据集合文件的第三节点的IPFS哈希链接,并且根据第二节点的IPFS哈希链接寻找到第二节点,根据第二节点中保存的内容可以获取到接入设备的元数据数字证书,根据第三节点的IPFS哈希链接寻找第三节点,并根据第三节点中保存的内容可以获取到所述接入设备采集的数据集合文件。
由以上方案可知,本发明实施例提供了一种基于智能合约的数据管理方法及装置。本发明的技术方案中,基于区块链构建一个设备数据安全共享平台,其中数据管理智能合约的访问操作权限设置为身份智能合约中注册的成员。可见,本发明的技术方案可以结合设备身份智能合约和数据管理智能合约管理设备和进行设备数据访问等,由于设备身份智能合约的限制,可以在很大程度上保证访问数据的用户是安全的用户,进而避免物联网在数据共享过程中受到的攻击,保证用户的隐私安全。
本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (10)

1.一种基于智能合约的数据管理方法,其特征在于,包括:
将接入设备所属的边缘节点服务器连接到以太坊测试链上,以使以太坊公链网络为所述边缘节点服务器分配网关哈希地址,以及,为接入边缘节点服务器的所述接入设备分配设备哈希地址;所述网关哈希地址为所述边缘节点服务器的公钥地址;所述设备哈希地址为所述接入设备的公钥地址;
将接入设备采集的数据集合文件上传到星际文件系统IPFS中,生成访问设备数据集合文件的IPFS哈希链接;
控制接入设备通过边缘服务器在以太坊区块链上注册公私钥,以及,通过边缘节点服务器授权生成代表接入设备真实物理身份信息的元数据数字证书;
控制接入设备使用设备公钥对元数据数字证书进行加密,上传到星际文件系统IPFS中,生成访问所述元数据数字证书的IPFS哈希链接;
将设备公钥和访问元数据数字证书的IPFS哈希链接写入到设备身份智能合约,以完成接入设备在以太坊测试链上的注册;所述设备身份智能合约具有第一地址层级结构,所述第一地址层级结构中首先包括每个边缘节点服务器的网关哈希地址,以及每一个网关哈希地址下保存着接入所述边缘节点服务器的接入设备的设备公钥和访问元数据数字证书的IPFS哈希链接;
将访问设备数据集合文件的IPFS哈希链接与其对应的接入设备的公钥地址写入以太坊测试链上的数据管理智能合约中;所述数据管理智能合约具有第二地址层级结构,所述第二地址层级结构中首先包括每个接入设备的设备公钥地址,以及每一个设备公钥地址下保存着接入设备对应的访问设备数据集合文件的IPFS哈希链接。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述接入设备所有者拥有的私钥;
在所述以太坊测试链上将所述私钥通过密码算法生成第一公钥;
在所述以太坊测试链上将所述第一公钥进行哈希计算,生成所述接入设备的设备公钥地址。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述接入设备的设备元数据,所述设备元数据包括接入设备的固件标识码、IP地址以及接入设备首次认证时间戳;
利用所述设备元数据进行哈希计算,生成元数据属性哈希值;
利用所述接入设备所有者拥有的私钥对所述元数据属性哈希值签名,生成元数据属性签名信息;
控制边缘节点服务器利用所述元数据属性签名信息验证所述设备元数据属性哈希值;
在验证通过的情况下,利用所述私钥对接入设备的数字证书文件进行签名,获得接入设备的元数据数字证书;所述数字证书文件包括接入设备的元数据属性哈希值、设备公钥、边缘节点服务器对设备元数据数据数字证书的签名信息和所述设备元数据数字证书的有效期。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
利用所述设备公钥对所述元数据数字证书进行签名;
将签名后的元数据数字证书通过格式化生成JSON格式文件上传至星际文件系统IPFS中,生成访问元数据数字证书的IPFS哈希链接。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于默克尔有向无环图Merkle DAG结构组织接入设备的元数据数字证书和采集的数据集合文件;所述默克尔有向无环图Merkle DAG结构中,第一节点同时存储分别访问存储元数据数字证书的第二节点的IPFS哈希链接和访问存储采集数据集合文件的第三节点的IPFS哈希链接,并且根据第二节点的IPFS哈希链接寻找到第二节点,根据第二节点中保存的内容可以获取到接入设备的元数据数字证书,根据第三节点的IPFS哈希链接寻找第三节点,并根据第三节点中保存的内容可以获取到所述接入设备采集的数据集合文件。
6.一种基于智能合约的数据管理装置,其特征在于,包括:
设备接入模块,用于将接入设备所属的边缘节点服务器连接到以太坊测试链上,以使以太坊公链网络为所述边缘节点服务器分配网关哈希地址,以及,为接入边缘节点服务器的所述接入设备分配设备哈希地址;所述网关哈希地址为所述边缘节点服务器的公钥地址;所述设备哈希地址为所述接入设备的公钥地址;
数据认证模块,用于将接入设备采集的数据集合文件上传到星际文件系统IPFS中,生成访问设备数据集合文件的IPFS哈希链接;用于控制接入设备通过边缘服务器在以太坊区块链上注册公私钥,以及,通过边缘节点服务器授权生成代表接入设备真实物理身份信息的元数据数字证书;以及,用于控制接入设备使用设备公钥对元数据数字证书进行加密,上传到星际文件系统IPFS中,生成访问所述元数据数字证书的IPFS哈希链接;
设备注册模块,用于将设备公钥和访问元数据数字证书的IPFS哈希链接写入到设备身份智能合约,以完成接入设备在以太坊测试链上的注册;所述设备身份智能合约具有第一地址层级结构,所述第一地址层级结构中首先包括每个边缘节点服务器的网关哈希地址,以及每一个网关哈希地址下保存着接入所述边缘节点服务器的接入设备的设备公钥和访问元数据数字证书的IPFS哈希链接;
数据管理模块,用于将访问设备数据集合文件的IPFS哈希链接与其对应的接入设备的公钥地址写入以太坊测试链上的数据管理智能合约中;所述数据管理智能合约具有第二地址层级结构,所述第二地址层级结构中首先包括每个接入设备的设备公钥地址,以及每一个设备公钥地址下保存着接入设备对应的访问设备数据集合文件的IPFS哈希链接。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
私钥获取模块,用于获取所述接入设备所有者拥有的私钥;
第一计算模块,用于在所述以太坊测试链上将所述私钥通过密码算法生成第一公钥;
第二计算模块,用于在所述以太坊测试链上将所述第一公钥进行哈希计算,生成所述接入设备的设备公钥地址。
8.根据权利要求6所述的装置,其特征在于,所述数据认证模块,还用于:获取所述接入设备的设备元数据,所述设备元数据包括接入设备的固件标识码、IP地址以及接入设备首次认证时间戳;利用所述设备元数据进行哈希计算,生成元数据属性哈希值;利用所述接入设备所有者拥有的私钥对所述元数据属性哈希值签名,生成元数据属性签名信息;控制边缘节点服务器利用所述元数据属性签名信息验证所述设备元数据属性哈希值;在验证通过的情况下,利用所述私钥对接入设备的数字证书文件进行签名,获得接入设备的元数据数字证书;所述数字证书文件包括接入设备的元数据属性哈希值、设备公钥、边缘节点服务器对设备元数据数据数字证书的签名信息和所述设备元数据数字证书的有效期。
9.根据权利要求8所述的装置,其特征在于,所述数据认证模块,还用于:利用所述设备公钥对所述元数据数字证书进行签名;将签名后的元数据数字证书通过格式化生成JSON格式文件上传至星际文件系统IPFS中,生成访问元数据数字证书的IPFS哈希链接。
10.根据权利要求6所述的装置,其特征在于,所述数据管理模块,还用于:基于默克尔有向无环图Merkle DAG结构组织接入设备的元数据数字证书和采集的数据集合文件;所述默克尔有向无环图Merkle DAG结构中,第一节点同时存储分别访问存储元数据数字证书的第二节点的IPFS哈希链接和访问存储采集数据集合文件的第三节点的IPFS哈希链接,并且根据第二节点的IPFS哈希链接寻找到第二节点,根据第二节点中保存的内容可以获取到接入设备的元数据数字证书,根据第三节点的IPFS哈希链接寻找第三节点,并根据第三节点中保存的内容可以获取到所述接入设备采集的数据集合文件。
CN202011319993.0A 2020-11-23 2020-11-23 基于智能合约的数据管理方法及装置 Active CN112446046B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011319993.0A CN112446046B (zh) 2020-11-23 2020-11-23 基于智能合约的数据管理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011319993.0A CN112446046B (zh) 2020-11-23 2020-11-23 基于智能合约的数据管理方法及装置

Publications (2)

Publication Number Publication Date
CN112446046A true CN112446046A (zh) 2021-03-05
CN112446046B CN112446046B (zh) 2024-01-26

Family

ID=74738903

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011319993.0A Active CN112446046B (zh) 2020-11-23 2020-11-23 基于智能合约的数据管理方法及装置

Country Status (1)

Country Link
CN (1) CN112446046B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113641631A (zh) * 2021-08-10 2021-11-12 深圳技术大学 基于区块链的ipfs文件管理方法、设备及存储介质
CN116806038A (zh) * 2023-08-18 2023-09-26 上海临滴科技有限公司 一种去中心化的计算机数据共享方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101849912B1 (ko) * 2017-05-25 2018-04-19 주식회사 코인플러그 스마트 컨트랙트 기반의 인증서 서비스를 제공하는 방법 및 이를 이용한 서버
CN110278462A (zh) * 2019-06-20 2019-09-24 北京工业大学 一种基于区块链的流动放映授权管理方法
CN110851796A (zh) * 2019-11-12 2020-02-28 北京工商大学 一种基于区块链智能合约的音乐版权保护系统
CN111147228A (zh) * 2019-12-28 2020-05-12 西安电子科技大学 基于以太坊IoT实体轻量级认证方法、系统、智能终端
CN111343001A (zh) * 2020-02-07 2020-06-26 复旦大学 一种基于区块链的社交数据共享系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101849912B1 (ko) * 2017-05-25 2018-04-19 주식회사 코인플러그 스마트 컨트랙트 기반의 인증서 서비스를 제공하는 방법 및 이를 이용한 서버
CN110278462A (zh) * 2019-06-20 2019-09-24 北京工业大学 一种基于区块链的流动放映授权管理方法
CN110851796A (zh) * 2019-11-12 2020-02-28 北京工商大学 一种基于区块链智能合约的音乐版权保护系统
CN111147228A (zh) * 2019-12-28 2020-05-12 西安电子科技大学 基于以太坊IoT实体轻量级认证方法、系统、智能终端
CN111343001A (zh) * 2020-02-07 2020-06-26 复旦大学 一种基于区块链的社交数据共享系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113641631A (zh) * 2021-08-10 2021-11-12 深圳技术大学 基于区块链的ipfs文件管理方法、设备及存储介质
CN113641631B (zh) * 2021-08-10 2023-05-23 深圳技术大学 基于区块链的ipfs文件管理方法、设备及存储介质
CN116806038A (zh) * 2023-08-18 2023-09-26 上海临滴科技有限公司 一种去中心化的计算机数据共享方法及装置

Also Published As

Publication number Publication date
CN112446046B (zh) 2024-01-26

Similar Documents

Publication Publication Date Title
Minoli et al. Blockchain mechanisms for IoT security
Bai et al. BPIIoT: A light-weighted blockchain-based platform for industrial IoT
EP3522088B1 (en) Securing blockchain access through a gateway
US20210081938A1 (en) Method and apparatus for computer-assisted provision of a security-protected digital twin
EP4035050A1 (en) Consensus protocol for blockchain dag structure
Choi et al. Blockchain-based distributed firmware update architecture for IoT devices
CN105247529A (zh) 在目录服务之间同步凭证散列
CN112134956A (zh) 一种基于区块链的分布式物联网指令管理方法和系统
CN110476313B (zh) 操作输电网络的方法
Pillai et al. Securing firmware in Internet of Things using blockchain
CN112446046B (zh) 基于智能合约的数据管理方法及装置
US20200259810A1 (en) Systems and methods for blockchain-based secure storage
Meloni et al. Exploiting the IoT potential of blockchain in the IEEE P1931. 1 ROOF standard
CN111488372A (zh) 一种数据处理方法、设备及存储介质
Ali et al. Big data based smart blockchain for information retrieval in privacy-preserving healthcare system
Murthy et al. A survey on integrating cloud computing with blockchain
CN110597541A (zh) 基于区块链的接口更新处理方法、装置、设备及存储介质
Oikonomou et al. A hyperledger fabric-based blockchain architecture to secure iot-based health monitoring systems
Gurunathan et al. A review and development methodology of a lightweight security model for IoT-based smart devices
CN114547698A (zh) 一种基于区块链的cors服务数据存储系统和方法
CN110445765B (zh) 基于区块链的数据共享方法、终端设备及介质
US20200043016A1 (en) Network node for processing measurement data
US20220114276A1 (en) Controlling a data network with respect to a use of a distributed database
Yenduri et al. Blockchain for software maintainability in healthcare
Shaikh et al. Data storage in blockchain based architectures for internet of things (IoT)

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