CN115225258A - 一种基于区块链的跨域可信数据的安全管理方法及系统 - Google Patents

一种基于区块链的跨域可信数据的安全管理方法及系统 Download PDF

Info

Publication number
CN115225258A
CN115225258A CN202211138162.2A CN202211138162A CN115225258A CN 115225258 A CN115225258 A CN 115225258A CN 202211138162 A CN202211138162 A CN 202211138162A CN 115225258 A CN115225258 A CN 115225258A
Authority
CN
China
Prior art keywords
ciphertext
key
index
node
block chain
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
CN202211138162.2A
Other languages
English (en)
Other versions
CN115225258B (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.)
Smart City Research Institute Of China Electronics Technology Group Corp
Original Assignee
Smart City Research Institute Of China Electronics Technology Group Corp
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 Smart City Research Institute Of China Electronics Technology Group Corp filed Critical Smart City Research Institute Of China Electronics Technology Group Corp
Priority to CN202211138162.2A priority Critical patent/CN115225258B/zh
Publication of CN115225258A publication Critical patent/CN115225258A/zh
Application granted granted Critical
Publication of CN115225258B publication Critical patent/CN115225258B/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
    • 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
    • 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
    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请适用于属于区块链业务数据处理技术领域,尤其涉及一种基于区块链的跨域可信数据的安全管理方法及系统,方法包括:数据源节点对可信数据加密,生成可信数据的密文和密钥;数据源节点将密文的哈希值作为密文索引,将密钥的哈希值作为密钥索引;数据源节点根据密文索引和密钥索引构建密文密钥关系索引;数据源节点将密钥和密钥索引存入本地数据库中;数据源节点将密文索引和密文密钥关系索引上传至区块链中,并将密文点对点传输至区块链中的密文存储节点。本申请针对传统的密钥中心化的管理方法而易导致安全可靠性低、无法可控分享的问题,构建了密钥索引链上存储机制,使密钥索引在链上可控组织内进行存储及分享。

Description

一种基于区块链的跨域可信数据的安全管理方法及系统
技术领域
本申请属于区块链业务数据处理技术领域,尤其涉及一种基于区块链的跨域可信数据的安全管理方法及系统。
背景技术
随着信息技术与计算机网络的高速发展,多领域、多行业的复杂式业务场景通常会汇聚不同种类的数据,这些海量数据在拥有这巨大的应用价值的同时,往往也会包含大量的隐私数据。而这些隐私数据一旦泄露会对公民的合法权益及社会安全造成极大影响,为此数据的可信计算成为当前海量数据交互的热点问题。
区块链由于其去中心化思想所带来的不可篡改、高可靠性、高安全性等特点,使得越来越多的可信计算和数据共享系统使用以区块链为基础平台实现。然而由于区块链具有分布式账本的特性,如果数据在链上存储,则会同步至每一个链上节点,这无法满足一些机密数据存储范围可控的需求。虽然开源联盟链基础框架Fabric 2.0加入了隐私数据计算的功能,但其隐私数据集只能存储在数据所有者本地,从而实现点对点的隐私数据加密传输。这就从原理上背离了数据多方存储来保证数据一致性、可靠性的优势。
同时,现有区块链的加密数据上链工具大多使用统一密钥对数据进行加密。这种统一加密的方式无法保证每一条数据的密钥不同,一方面会存在因为单个密钥泄露导致全部数据泄密的风险,另一方面由于密钥只能本地使用,不能共享,因而导致这种加密方式无法支持链上数据解密运算场景构建。
此外,现有的针对单条数据加密与密钥管理技术大多是中心化的密钥管理机制,即密钥统一存放在单独的密码服务器中,尚未与区块链进行有效的结合,这使得密钥的安全性和可靠性存在挑战,同时亦无法满足一些业务中隐私数据加密共享的需求。
发明内容
本申请实施例提供了一种基于区块链的跨域可信数据的安全管理方法及系统,可以解决传统的密钥中心化的管理方法而易导致安全可靠性低、无法可控分享的问题,增加了密钥的安全性,同时为数据加密共享提供了有效支撑。
第一方面,本申请实施例提供了一种基于区块链的跨域可信数据的安全管理方法,包括:
数据源节点对可信数据加密,生成可信数据的密文和密钥;
数据源节点将密文的哈希值作为密文索引,将密钥的哈希值作为密钥索引;
数据源节点根据密文索引和密钥索引构建密文密钥关系索引;
数据源节点将密钥和密钥索引存入本地数据库中;
数据源节点将密文索引和密文密钥关系索引上传至区块链中,并将密文点对点传输至区块链中的密文存储节点。
应理解,在本申请实施例中,密文密钥关系索引为一个64位字符串,前32位由密钥索引构成,后32位由密文索引构成。
在第一方面的一种可能的实现方式中,数据源节点将密文点对点传输至区块链中的密文存储节点,包括:
数据源节点从区块链中获取密文存储节点目录,密文存储节点目录用于记录区块链中网域的标识和网域中密文存储节点的网络位置信息;
数据源节点根据密文存储节点目录,将可信数据的密文点对点传输至密文存储节点。
应理解,网络位置信息包括了密文存储节点的网络IP及数据访问的认证密钥。
示例性的,在数据源节点根据密文存储节点目录,将可信数据的密文点对点传输至密文存储节点之后,方法还包括以下步骤:
当密文存储节点需要更新,数据源节点获取其所在网域内所有密文存储节点的网络位置信息,并根据网络位置信息更新区块链中的密文存储节点目录。
进一步的,数据源节点对可信数据加密,生成可信数据的密文和密钥,包括:
数据源节点从数据源节点的本地数据库中抓取需要加密的可信数据,其中需要加密的可信数据为结构化数据;
数据源节点将需要加密的可信数据以键值对的方式封装为字符串,其中,字符串的键为可信数据的字段名称,字符串的值为可信数据的数据内容;
数据源节点通过加密机对字符串加密,生成可信数据的密文和密钥。
第二方面,本申请实施例提供了一种基于区块链的跨域可信数据的安全管理方法,包括:
区块链节点从区块链中的密文存储节点中获取可信数据的密文;
区块链节点计算密文的哈希值;
区块链节点从区块链中获取密文的密文索引;
若密文的哈希值与密文索引一致,区块链节点从区块链中获取密文索引对应的密文密钥关系索引,密文密钥关系索引包括密文索引和密钥索引;
区块链节点从密文密钥关系索引中获取密钥索引,并根据密钥索引从数据源节点处获取密钥索引对应的密钥;
区块链节点根据获取的可信数据的密文和密钥进行解密,得到可信数据的明文。
进一步的,区块链节点从区块链中的密文存储节点中获取可信数据的密文,包括:
区块链节点从区块链中获取密文存储节点目录,密文存储节点目录用于记录区块链中网域的标识和网域中密文存储节点的网络位置信息;
区块链节点根据密文存储节点目录,获取区块链节点所在网域的密文存储节点的网络位置信息;
区块链节点根据密文存储节点的网络位置信息,从密文存储节点获取可信数据的密文。
进一步的,区块链节点根据密文存储节点的网络位置信息,从密文存储节点获取可信数据的密文,包括:
当区块链节点所在网域中存在至少两个密文存储节点时,区块链节点从所在网域中负载最小的密文存储节点处获取可信数据的密文。
进一步的,区块链节点从所在网域中负载最小的密文存储节点处获取所述可信数据的密文,包括:
计算所在网域中密文存储节点的负载评价指数L,并选取负载评价指数最低的密文存储节点;
负载评价指数L根据公式:
Figure 100002_DEST_PATH_IMAGE001
获得;
其中,
Figure 100002_DEST_PATH_IMAGE002
为该节点的CPU使用率,
Figure 100002_DEST_PATH_IMAGE003
为该节点的内存使用率,
Figure 100002_DEST_PATH_IMAGE004
为该节点的硬盘 使用率。
进一步的,区块链节点从区块链中的密文存储节点中获取可信数据的密文之前,方法包括以下步骤:
区块链节点向数据源节点发送可信数据的解密申请;
区块链节点接收数据源节点对解密申请的反馈信息;
区块链节点根据反馈信息确认数据源节点同意可信数据的解密申请。
第三方面,本申请实施例提供了一种区块链中跨域可信数据的安全管理系统,包括:
数据封装加密模块,用于对可信数据加密后生成可信数据的密文和密钥;
索引生成模块,用于计算密文和密钥的哈希值,并将密文的哈希值作为密文索引,将密钥的哈希值作为密钥索引;
密文密钥关系索引生成模块,用于根据密文索引和密钥索引构建密文密钥关系索引;
密钥存储模块,用于将密钥和密钥索引存入本地数据库中;
密文索引管理模块,用于将密文索引和密文密钥关系索引上传至区块链中,并将密文点对点传输至区块链中的密文存储节点。
第四方面,本申请实施例提供了一种区块链中跨域可信数据的安全管理系统,包括:
密文获取模块,用于从区块链中的密文存储节点中获取可信数据的密文;
哈希值计算模块,用于计算密文的哈希值;
密文索引获取模块,用于从区块链中获取密文的密文索引;
密文密钥关系索引获取模块,用于当密文的哈希值与密文索引一致时,从区块链中获取密文索引对应的密文密钥关系索引,密文密钥关系索引包括密文索引和密钥索引;
密钥获取模块,用于从密文密钥关系索引中获取密钥索引,并根据密钥索引从数据源节点处获取密钥索引对应的密钥;
解密模块,用于根据获取的可信数据的密文和密钥进行解密,得到可信数据的明文。
本申请实施例与现有技术相比存在的有益效果是:
在本申请中,针对由于一些业务的数据物理存储位置的要求而导致的数据无法链上跨域分布式存储及共享的问题,构建加密数据分布式存储机制,利用点对点通道、私有数据集等技术物理的隔离数据的流转范围,实现区块链组织用户从分布式账本上限制数据的传播范围,从而保证数据只能在特定的组织范围内流转。
本申请针对传统区块链平台无法针对单条数据加密而导致加密数据易泄露、无法加密共享的问题,构建面向分布式加密数据存储的单条数据加密方法,利用设计的数据封装方法,使单条结构化数据的不同字段能够统一加密。
在本申请中,针对传统的密钥中心化的管理方法而易导致安全可靠性低、无法可控分享的问题,构建了密钥索引链上存储机制,使密钥索引在链上可控组织内进行存储及分享。这种机制使得即使密钥库泄露,在没有得到密钥索引的情况下也无法对密文进行解密。一方面增加了密钥的安全性,另一方面为数据加密共享提供了有效支撑。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的一种基于区块链的跨域可信数据的安全管理方法的流程示意图;
图2是本申请另一实施例提供的一种基于区块链的跨域可信数据的安全管理方法的流程示意图;
图3是本申请一实施例提供的一种基于区块链的跨域可信数据的安全管理方法的所适用于的软件架构示意图;
图4是本申请一实施例提供的一种基于区块链的跨域可信数据的安全管理方法的应用场景示意图;
图5是本申请实施例提供的一种区块链中跨域可信数据的安全管理系统的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
请参阅图1,图1是本申请实施例提供的一种基于区块链的跨域可信数据的安全管理方法的流程示意图。
S101、数据源节点对可信数据加密,生成可信数据的密文和密钥。
在一种可能的实现方式中,数据源节点在原始数据库中逐条抓取需要在可信计算环境中加密的数据,并将抓取到的需要加密的可信数据按照键值对的方式封装成字符串。数据源节点得到的封装后的字符串发送到本地的密码机中进行加密运算,得到该条需要加密的可信数据的密文与密钥。
S102、数据源节点将密文的哈希值作为密文索引,将密钥的哈希值作为密钥索引。
在上述可能的实现方式中,数据源节点会计算步骤S101中获取的需要加密的可信数据的密文和密钥的哈希值,分别获取密文对应的32位哈希值以及密钥对应的32位哈希值。
S103、数据源节点根据密文索引和密钥索引构建密文密钥关系索引。
在上述可能的实现方式中,可以简单地将密文对应的32位哈希值以及密钥对应的32位哈希值组合为一个64位的字符串,该字符串即为密文密钥关系索引。也可以通过固定的数据结构,存储密文对应的32位哈希值和密钥对应的32位哈希值。
S104、数据源节点将密钥和密钥索引存入本地数据库中。
S105、数据源节点将密文索引和密文密钥关系索引上传至区块链中,并将密文点对点传输至区块链中的密文存储节点。
具体的,数据源节点将密文点对点传输至区块链中的密文存储节点,包括:
数据源节点从区块链中获取密文存储节点目录,密文存储节点目录包含网域ID以及该区域内密文存储节点的网络位置信息,网域ID为网域的唯一标识,
网络位置信息包括密文存储节点的网络IP及数据访问的认证密钥。数据源节点根据得到的密文存储节点目录,将数据密文采用点对点的方式传输至各区域密文存储节点。
如果区块链上不存在密文存储节点目录,数据源节点从区块链中获取密文存储节点目录时无法直接获取密文存储节点目录,由于同一网域内各节点之间可以互相访问,那么就需要由数据源节点统计自身所在网域中所有可访问的密文存储节点的网络位置信息,之后,数据源节点将自身所处的网域编号和密文存储节点的网络位置信息上传至区块链,区块链会根据收到的网域编号和同一网域编号下所有的密文存储节点的网络位置信息生成密文存储节点目录并存储。
由于在区块链中,各个网域内节点数量是活动的,也就是说每个网域内,根据节点的上线和下线,密文存储节点的数量会发生变化,因此,密文存储节点目录也会随之发生变化,因此,当数据源节点根据密文存储节点目录点对点传输密文,有可能会发现该网域中的密文存储节点的网络地址信息发生变化,因此,数据源节点会重新获取该网域中的密文存储节点的网络地址信息,以此对区块链中的密文存储节点目录进行更新。
需要说明的是,上述实施例中,为本申请提供的一种基于区块链的跨域可信数据的安全管理方法的可信计算环境数据加密部分,通过上述实施例,构建了面向分布式加密数据存储的单条数据加密方法,利用设计的数据封装方法,使单条结构化数据的不同字段能够统一加密,解决了传统区块链平台无法针对单条数据加密而导致加密数据易泄露、无法加密共享的问题,同时设计密文索引链上存储机制提高密文的一致性,降低了由于数据篡改而带来的数据解密错误的风险。同时,使密文密钥关系索引在链上可控组织内进行存储及分享。这种密钥索引链下存储,密文密钥关系索引链上存储的机制使得即使密钥库泄露,在没有得到密钥索引的情况下也无法对密文进行解密。通过本申请方案,解决了传统的密钥中心化的管理方法而易导致安全可靠性低、无法可控分享的问题,增加了密钥的安全性,同时为数据加密共享提供了有效支撑。
图2示出了本申请提供的一种基于区块链的跨域可信数据的安全管理方法在可信计算环境中进行数据解密流程的示意性流程图。
S201、区块链节点从区块链中的密文存储节点中获取可信数据的密文。
需要说明的是,区块链节点在从密文存储节点获取可信数据的密文之前,首先需要向数据源节点发送该条数据的解密申请。数据源节点接到数据解密申请后,判断是否同意解密。若数据源节点不同意解密,则解密流程结束,无法解密,而若数据源节点同意解密,区块链节点获取查询区块链中存储的密文存储节点目录的权限,从区块链中获取密文存储节点目录。
之后,区块链节点根据获取到的密文存储节点目录,确定该计算节点所在区域的密文存储节点的位置信息。如果此区域存在多个密文存储节点,则按照负载最小化的方法选取节点负载评价指数最低的密文存储节点的位置信息。
作为示例而非限定,负载最小化的方法是指计算各节点负载评价指数,并按照评价指数排列,选取评价指数最低的密文存储节点。
负载评价指数(L)的计算方式为:
Figure 391796DEST_PATH_IMAGE001
其中
Figure 512199DEST_PATH_IMAGE002
为该节点的CPU使用率,
Figure DEST_PATH_IMAGE005
为该节点的内存使用率,
Figure DEST_PATH_IMAGE006
为该节点的硬盘使 用率。若负载评价指数低,则说明该密文存储节点正在被较少的其他节点访问,因此数据传 输和指令响应速度较快,可以更快地使访问的区块链节点获取相应的密文。
S202、区块链节点计算密文的哈希值。
S203、区块链节点从区块链中获取密文的密文索引。
需要说明的是,由于区块链在存储密文时,会将密文及其对应的密文索引同时存储,因此区块链节点在获取可信数据密文的同时,可以同时获得密文的密文索引。同时通过密文索引和计算获得的密文哈希值之间进行比对,可以确保区块链节点获取的密文和之前数据源节点存储的密文一致。
S204、若密文的哈希值与密文索引一致,区块链节点从区块链中获取密文索引对应的密文密钥关系索引,密文密钥关系索引包括密文索引和密钥索引。
S205、区块链节点从密文密钥关系索引中获取密钥索引,并根据密钥索引从数据源节点处获取密钥索引对应的密钥。
需要说明的是,如上述实施例,密文密钥关系索引由密文索引和密钥索引组成,通过查询密文密钥关系索引,可以获得密文索引对应的密钥索引。
S206、区块链节点根据获取的可信数据的密文和密钥进行解密,得到可信数据的明文。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
参见图3,本申请所提供的方法中,主要包括的功能模块为数据抓取、数据封装、数据加密、密钥存储、密文索引上链、密文跨域存储管理、密文哈希上链、链上文件解密。
数据抓取是指通过数据库查询的方式将待加密计算的结构化数据明文逐条从数据源的数据库中抓取出来。
数据封装是指将从数据源数据库中抓取出的数据逐条以键值对的方式封装成字符串,其中键为字段名称,值为该条数据中与键对应的数据内容。封装后的数据形式为包含该条数据所有键值对的字符串。
数据加密是指将封装好的字符串发送到加密机中进行加密,数据加密后加密机将返回该条数据的密文及密钥。
加密机是指能够对数据进行加密及解密的加密系统。加密时输入为数据明文,输出为密文及密钥。解密时输入密文和密钥输出明文。
密钥存储是将密钥存储到数据源本地数据库中。密钥存储时需要存储密钥及密钥的索引。该索引为密钥的32位哈希值。
密文索引管理是指产生和链上存储密文索引以及密文密钥关系索引。包括密文索引构建、密文密钥关系索引构建、密文索引上链、密文密钥关系索引上链。
密文索引构建指针对每条密文产生该密文的索引。密文索引为密文的32位哈希值。
密文密钥关系索引构建指针对每条密文产生能够代表密文与其密钥对应关系的索引。密文密钥关系索引为一个64位字符串,前32位由密钥索引构成,后32位由密文索引构成。
密文索引上链是指将密文索引存储到区块链中。
密文密钥关系索引上链是指将密文密钥关系存储到区块链中。
密文跨域管理包括密文跨域传输及密文存储节点目录上链。
密文跨域传输是指将密文数据从数据源服务器通过点对点传输的方式传输到各个网域的指定的密文存储节点中。
网域是指在网络连通区域。在同一网域内所有节点都能够通过网络互相访问。在不同网域之间区块链节点可以互通,密文存储节点只可以和数据源节点点对点通信。
密文存储节点目录上链是指将密文存储节点目录存储至区块链中。
密文存储节点目录是指包含网域ID以及该区域内密文存储节点的网络位置信息。
网域ID为网域的唯一标识。
网络位置信息包括密文存储节点的网络IP及数据访问的认证密钥。
链上密文解密是指在链上进行通过智能合约进行可信计算时,在需要对密文进行解密的情况下,向数据源节点申请密钥并对数据解密的功能。包括数据密钥申请、数据密文获取节点选取、数据密文及密钥获取、数据解密。
密文跨域申请指区块链节点向数据源节点发送数据申请,数据源节点可通过或拒绝请求。
数据密文获取节点选取是指根据链上存储的网域存储节点目录选取与区块链节点在同一网域内的密文存储节点,获取该密文存储节点的网络位置信息。当该网域内的密文存储节点大于1时,按照节点负载最小化方法选取负载最小的密文存储节点。
节点负载最小化方法是指计算各节点负载评价指数,并按照评价指数排列,选取评价指数最低的密文存储节点。
数据密文及密钥获取指从选定的密文存储节点中获取密文,根据密文索引在区块链上查找与该密文对应的密文密钥关系索引,在密文密钥关系索引中解析出该条密文的密钥索引,利用此密钥索引向数据源节点获取密钥。
数据解密是指将获取的密文及密钥发送到密码机中进行解密,从密码机中获取解密后的明文。
为了更好地理解本申请,如图4所示,一个区块链中,包括若干个区块,如区块A、区块B、区块C等,每个区块按照各自产生的时间顺序形成链条,该链条被保存在所有的服务器中,服务器被称为节点,在本实施例中,节点包括以下几个类型:
数据源节点、区块链节点和密文存储节点。需要说明的是,区块链中的节点可以同时属于上述各个类型,例如,区块A中的节点A1既可以是数据源节点,同时也可以是区块链节点或密文存储节点。
在本实施例中,需要加密的可信数据存储在数据源节点A1的本地数据库中,可信数据在存储到数据源节点A1的本地数据库时,可以对可信数据进行数据封装。
示例性的,可以将可信数据以键值对的方式进行封装,其中,键为字段名称,值为该条数据中与键对应的数据内容。封装后的数据形式为包含该条可信数据所有键值对的字符串。
可信数据会在数据源节点A1中的加密机上进行加密。加密机生成上述可信数据的密文以及密钥之后,数据源节点A1会先计算密钥的32位哈希值,计算获得的哈希值即为密钥索引。数据源节点A1会直接将获得的密钥和密钥索引存储在本地的数据库中。
之后,数据源节点A1会再计算密文的32位哈希值,计算获得的密文哈希值即为密文索引。此时,数据源节点A1会构建密文密钥关系索引,在本实施例中,最简单的方式就是将密文索引和密钥索引的32位哈希值组合为一个64位的索引,其中前32位为密钥索引,后32位为密文索引。数据源节点会将计算获得的密文索引和构建的密文密钥关系索引上传至区块链中。
上传完成后,数据源节点A1会获取区块链中的密文存储节点目录,密文存储节点目录中记录了区块链中所有密文存储节点所在的网域以及网络地址信息,数据源节点A1根据网域和网络地址信息,可以直接访问在其他网域的密文存储节点,因此,数据源节点不仅可以将密文点对点地传输至网域B中的密文存储节点B1、B2和B3中,也可以将密文点对点传输至网域C中的密文存储节点C2、C3中。
而当区块链节点C1想要获取可信数据时,首先需要在区块链上发布一条获取该可信数据的解密请求,当该可信数据的数据源节点A1收到该解密请求时,数据源节点A1可以判断是否同意区块链节点C1对该可信数据解密请求,若数据源节点A1不同意区块链节点C1解密请求,那么区块链节点C1就无法从区块链中获取该可信数据,因此可以保证可信数据的安全性。
进一步的,当数据源节点A1同意了区块链节点C1的解密请求后,区块链节点C1会查询区块链中的密文存储节点目录,获取区块链节点自身所在网域中存储加密后可信数据的密文存储节点的网络位置信息,即从密文存储节点C2或C3处获取可信数据的密文,为了保证获取密文的速度,可以从密文存储节点C2或C3中选择负载最低的密文存储节点C2,从密文存储节点C2处获取可信数据的密文。
区块链节点C1获取可信数据的密文的同时,还从区块链上得到密文索引和密钥密文关系索引。区块链节点计算可信数据密文的哈希值,与区块链上的密文索引进行比对,确定所获取的密文确实为要求获得的可信数据,之后,再根据密文索引,从所有密钥密文关系索引中查找后32位与密文索引一致的密钥密文关系索引,截取前32位,即为该可信数据对应的密钥索引。
区块链节点C1获取密钥索引后,再从之前发送解密请求的数据源节点A1处,获取密钥索引对应的密钥,此时区块链节点C1同时拥有了可信数据的密文和密钥,再通过密码机进行解码后,即可获得可信数据的明文。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
参见图5,本申请还提供了一种区块链中跨域可信数据的安全管理系统,包括:
数据封装加密模块,用于对可信数据加密后生成可信数据的密文和密钥;
索引生成模块,用于计算密文和密钥的哈希值,并将密文的哈希值作为密文索引,将密钥的哈希值作为密钥索引;
密文密钥关系索引生成模块,用于根据密文索引和密钥索引构建密文密钥关系索引;
密钥存储模块,用于将密钥和密钥索引存入本地数据库中;
密文索引管理模块,用于将密文索引和密文密钥关系索引上传至区块链中,并将密文点对点传输至区块链中的密文存储节点。
密文获取模块,用于从区块链中的密文存储节点中获取可信数据的密文;
哈希值计算模块,用于计算密文的哈希值;
密文索引获取模块,用于从区块链中获取密文的密文索引;
密文密钥关系索引获取模块,用于当密文的哈希值与密文索引一致时,从区块链中获取密文索引对应的密文密钥关系索引,密文密钥关系索引包括密文索引和密钥索引;
密钥获取模块,用于从密文密钥关系索引中获取密钥索引,并根据密钥索引从数据源节点处获取密钥索引对应的密钥;
解密模块,用于根据获取的可信数据的密文和密钥进行解密,得到可信数据的明文。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件,或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的系统/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的系统/网络设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (11)

1.一种基于区块链的跨域可信数据的安全管理方法,其特征在于,包括:
数据源节点对可信数据加密,生成所述可信数据的密文和密钥;
所述数据源节点将所述密文的哈希值作为密文索引,将所述密钥的哈希值作为密钥索引;
所述数据源节点根据所述密文索引和所述密钥索引构建密文密钥关系索引;
所述数据源节点将所述密钥和所述密钥索引存入本地数据库中;
所述数据源节点将所述密文索引和所述密文密钥关系索引上传至区块链中,并将所述密文点对点传输至所述区块链中的密文存储节点。
2.如权利要求1所述的方法,其特征在于,所述数据源节点将所述密文点对点传输至所述区块链中的密文存储节点,包括:
所述数据源节点从所述区块链中获取密文存储节点目录,所述密文存储节点目录用于记录所述区块链中网域的标识和所述网域中密文存储节点的网络位置信息;
所述数据源节点根据所述密文存储节点目录,将所述可信数据的密文点对点传输至所述密文存储节点。
3.如权利要求2所述的方法,其特征在于,在所述数据源节点根据所述密文存储节点目录,将所述可信数据的密文点对点传输至所述密文存储节点之后,所述方法还包括以下步骤:
所述数据源节点判断所处网域内的所述密文存储节点是否需要更新;
当所述密文存储节点需要更新,所述数据源节点获取所述网域内所有密文存储节点的网络位置信息,并根据所述网络位置信息更新所述区块链中的密文存储节点目录。
4.如权利要求1~3任一所述的方法,其特征在于,所述数据源节点对可信数据加密,生成所述可信数据的密文和密钥,包括:
所述数据源节点从所述数据源节点的本地数据库中抓取需要加密的可信数据,其中所述需要加密的可信数据为结构化数据;
所述数据源节点将需要加密的可信数据以键值对的方式封装为字符串,其中,所述字符串的键为所述可信数据的字段名称,所述字符串的值为所述可信数据的数据内容;
所述数据源节点通过加密机对所述字符串加密,生成所述可信数据的密文和密钥。
5.一种基于区块链的跨域可信数据的安全管理方法,其特征在于,包括:
区块链节点从区块链中的密文存储节点中获取可信数据的密文;
所述区块链节点计算所述密文的哈希值;
所述区块链节点从所述区块链中获取所述密文的密文索引;
若所述密文的哈希值与所述密文索引一致,所述区块链节点从所述区块链中获取所述密文索引对应的密文密钥关系索引,所述密文密钥关系索引包括所述密文索引和密钥索引;
所述区块链节点从所述密文密钥关系索引中获取所述密钥索引,并根据所述密钥索引从数据源节点处获取所述密钥索引对应的密钥;
所述区块链节点根据获取的所述可信数据的密文和密钥进行解密,得到所述可信数据的明文。
6.如权利要求5所述的方法,其特征在于,所述区块链节点从区块链中的密文存储节点中获取可信数据的密文,包括:
所述区块链节点从所述区块链中获取密文存储节点目录,所述密文存储节点目录用于记录所述区块链中网域的标识和所述网域中密文存储节点的网络位置信息;
所述区块链节点根据所述密文存储节点目录,获取所述区块链节点所在网域的密文存储节点的网络位置信息;
所述区块链节点根据所述密文存储节点的网络位置信息,从所述密文存储节点获取所述可信数据的密文。
7.如权利要求6所述的方法,其特征在于,所述区块链节点根据所述密文存储节点的网络位置信息,从所述密文存储节点获取所述可信数据的密文,包括:
当所述区块链节点所在网域中存在至少两个密文存储节点时,所述区块链节点从所在网域中负载最小的密文存储节点处获取所述可信数据的密文。
8.如权利要求7所述的方法,其特征在于,所述区块链节点从所在网域中负载最小的密文存储节点处获取所述可信数据的密文,包括:
计算所在网域中所述密文存储节点的负载评价指数L,并选取所述负载评价指数最低的密文存储节点;
所述负载评价指数L根据公式:
Figure DEST_PATH_IMAGE001
获得,
其中
Figure DEST_PATH_IMAGE002
为该节点的CPU使用率,
Figure DEST_PATH_IMAGE003
为该节点的内存使用率,
Figure DEST_PATH_IMAGE004
为该节点的硬盘使用 率。
9.如权利要求5~8任一所述的方法,其特征在于,所述区块链节点从区块链中的密文存储节点中获取可信数据的密文之前,所述方法包括以下步骤:
所述区块链节点向所述数据源节点发送所述可信数据的解密申请;
所述区块链节点接收所述数据源节点对所述解密申请的反馈信息;
所述区块链节点根据所述反馈信息确认所述数据源节点同意所述可信数据的解密申请。
10.一种区块链中跨域可信数据的安全管理系统,其特征在于,包括:
数据封装加密模块,用于对所述可信数据加密后生成所述可信数据的密文和密钥;
索引生成模块,用于计算所述密文和密钥的哈希值,并将所述密文的哈希值作为密文索引,将所述密钥的哈希值作为密钥索引;
密文密钥关系索引生成模块,用于根据所述密文索引和所述密钥索引构建密文密钥关系索引;
密钥存储模块,用于将所述密钥和所述密钥索引存入本地数据库中;
密文索引管理模块,用于将所述密文索引和所述密文密钥关系索引上传至区块链中,并将所述密文点对点传输至所述区块链中的密文存储节点。
11.一种区块链中跨域可信数据的安全管理系统,其特征在于,包括:
密文获取模块,用于从区块链中的密文存储节点中获取可信数据的密文;
哈希值计算模块,用于计算所述密文的哈希值;
密文索引获取模块,用于从所述区块链中获取所述密文的密文索引;
密文密钥关系索引获取模块,用于当所述密文的哈希值与所述密文索引一致时,从所述区块链中获取所述密文索引对应的密文密钥关系索引,所述密文密钥关系索引包括所述密文索引和密钥索引;
密钥获取模块,用于从所述密文密钥关系索引中获取所述密钥索引,并根据所述密钥索引从数据源节点处获取所述密钥索引对应的密钥;
解密模块,用于根据获取的所述可信数据的密文和密钥进行解密,得到所述可信数据的明文。
CN202211138162.2A 2022-09-19 2022-09-19 一种基于区块链的跨域可信数据的安全管理方法及系统 Active CN115225258B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211138162.2A CN115225258B (zh) 2022-09-19 2022-09-19 一种基于区块链的跨域可信数据的安全管理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211138162.2A CN115225258B (zh) 2022-09-19 2022-09-19 一种基于区块链的跨域可信数据的安全管理方法及系统

Publications (2)

Publication Number Publication Date
CN115225258A true CN115225258A (zh) 2022-10-21
CN115225258B CN115225258B (zh) 2023-01-06

Family

ID=83617134

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211138162.2A Active CN115225258B (zh) 2022-09-19 2022-09-19 一种基于区块链的跨域可信数据的安全管理方法及系统

Country Status (1)

Country Link
CN (1) CN115225258B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116455596A (zh) * 2023-02-16 2023-07-18 广东顺德电力设计院有限公司 一种基于共识机制的虚拟电厂数据安全保护方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108632284A (zh) * 2018-05-10 2018-10-09 网易(杭州)网络有限公司 基于区块链的用户数据授权方法、介质、装置和计算设备
CN108681898A (zh) * 2018-05-15 2018-10-19 广东工业大学 一种基于区块链的数据交易方法及系统
CN108765240A (zh) * 2018-07-16 2018-11-06 阿里巴巴集团控股有限公司 基于区块链的机构间客户验证方法、交易监管方法和装置
CN110689349A (zh) * 2019-10-08 2020-01-14 深圳前海微众银行股份有限公司 一种区块链中的交易哈希值存储和搜索方法及装置
US20200293549A1 (en) * 2018-06-29 2020-09-17 Alibaba Group Holding Limited Blockchain-based data processing method and device
CN112019591A (zh) * 2020-07-09 2020-12-01 南京邮电大学 一种基于区块链的云数据共享方法
CN114218592A (zh) * 2021-12-20 2022-03-22 平安壹钱包电子商务有限公司 敏感数据的加解密方法、装置、计算机设备及存储介质
CN114679319A (zh) * 2022-03-25 2022-06-28 南京邮电大学 基于区块链的分布式数据同步加密方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108632284A (zh) * 2018-05-10 2018-10-09 网易(杭州)网络有限公司 基于区块链的用户数据授权方法、介质、装置和计算设备
CN108681898A (zh) * 2018-05-15 2018-10-19 广东工业大学 一种基于区块链的数据交易方法及系统
US20200293549A1 (en) * 2018-06-29 2020-09-17 Alibaba Group Holding Limited Blockchain-based data processing method and device
CN108765240A (zh) * 2018-07-16 2018-11-06 阿里巴巴集团控股有限公司 基于区块链的机构间客户验证方法、交易监管方法和装置
CN110689349A (zh) * 2019-10-08 2020-01-14 深圳前海微众银行股份有限公司 一种区块链中的交易哈希值存储和搜索方法及装置
CN112019591A (zh) * 2020-07-09 2020-12-01 南京邮电大学 一种基于区块链的云数据共享方法
CN114218592A (zh) * 2021-12-20 2022-03-22 平安壹钱包电子商务有限公司 敏感数据的加解密方法、装置、计算机设备及存储介质
CN114679319A (zh) * 2022-03-25 2022-06-28 南京邮电大学 基于区块链的分布式数据同步加密方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DEKAI YAN等: "A Blockchain-based Database System for Decentralized Information Management", 《2021 IEEE GLOBAL COMMUNICATIONS CONFERENCE (GLOBECOM)》 *
吴振铨等: "基于联盟区块链的智能电网数据安全存储与共享系统", 《计算机应用》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116455596A (zh) * 2023-02-16 2023-07-18 广东顺德电力设计院有限公司 一种基于共识机制的虚拟电厂数据安全保护方法

Also Published As

Publication number Publication date
CN115225258B (zh) 2023-01-06

Similar Documents

Publication Publication Date Title
CN109120639B (zh) 一种基于区块链的数据云存储加密方法及系统
CN112836229B (zh) 属性基加密和区块链结合的可信数据访问控制方案
CN110166411B (zh) 一种数据传输方法、装置和网络节点
US9935954B2 (en) System and method for securing machine-to-machine communications
CN103763315B (zh) 一种应用于移动设备云存储的可信数据存取控制方法
CN110502916B (zh) 一种基于区块链的敏感性数据处理方法与系统
US6807181B1 (en) Context based control data
KR20200131307A (ko) 데이터 액세스 권한 제어 방법 및 장치
CN113420319A (zh) 一种基于区块链和权限合约的数据隐私保护的方法和系统
CN111274599A (zh) 一种基于区块链的数据共享方法及相关装置
CN109995530B (zh) 一种适用于移动定位系统的安全分布式数据库交互系统
CN114826652A (zh) 一种基于双区块链的可溯源访问控制方法
Abreu et al. Identity and access management for IoT in smart grid
CN115225258B (zh) 一种基于区块链的跨域可信数据的安全管理方法及系统
CN114826702B (zh) 数据库访问密码加密方法、装置和计算机设备
Chen et al. Password-authenticated searchable encryption
Liu et al. A privacy-preserving medical data sharing scheme based on consortium blockchain
CN113824553A (zh) 密钥管理方法、装置及系统
Lucani et al. Secure generalized deduplication via multi-key revealing encryption
Fan et al. Ucam: A User-Centric, Blockchain-Based and End-to-End Secure Home IP Camera System
US20240179150A1 (en) Management of access rights to digital files with possible delegation of the rights
Zhang et al. Investigating the design space for name confidentiality in Named Data Networking
KR20190139742A (ko) 블록체인에서 정보 조회 시간의 기록을 위한 분산 원장 장치
CN114866244A (zh) 基于密文分组链接加密的可控匿名认证方法、系统及装置
RU2707398C1 (ru) Способ и система защищенного хранения информации в файловых хранилищах данных

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