CN116964583A - 数据存储系统和数据存储方法 - Google Patents
数据存储系统和数据存储方法 Download PDFInfo
- Publication number
- CN116964583A CN116964583A CN202280018388.0A CN202280018388A CN116964583A CN 116964583 A CN116964583 A CN 116964583A CN 202280018388 A CN202280018388 A CN 202280018388A CN 116964583 A CN116964583 A CN 116964583A
- Authority
- CN
- China
- Prior art keywords
- data
- confidential
- node
- tamper proof
- public
- 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.)
- Pending
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 46
- 238000000034 method Methods 0.000 title claims description 32
- 238000004590 computer program Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 21
- 230000008439 repair process Effects 0.000 description 18
- 238000012423 maintenance Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 3
- 239000004744 fabric Substances 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
Classifications
-
- 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
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
- G06F21/645—Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Storage Device Security (AREA)
Abstract
一种数据存储系统(10),包括:节点(16),其被配置成存储区块链(BC);以及数据存储服务器(26)。节点(16)还被配置成:在接收到来自数据源的数据时,将数据分离成机密数据和公开数据,获得机密数据的防篡改证据,将分离的机密数据发送至数据存储服务器(26),并且将公开数据和防篡改证据存储在区块链(BC)上。数据存储服务器(26)被配置成在接收到来自节点(16)的机密数据时存储机密数据。
Description
相关申请的交叉引用
本申请要求于2021年3月4日提交的美国临时申请第63/156,737号的优先权,该美国临时申请的全部公开内容通过引用并入本文。
技术领域
本文所描述的主题总体上涉及数据存储系统、用于存储数据的方法以及存储计算机程序的计算机可读非暂态存储介质。
背景技术
最近,各种类型的企业或组织都面临着共享数据以增强互联业务活动的需求。例如,汽车制造商(OEM)共享自主驾驶数据以提高其驾驶性能。这样的汽车制造商还针对汽车回收业务存储和共享车辆相关数据,例如里程和维修历史。然而,保持数据可用性及其可靠性的平衡是要克服的最重要的问题之一。
最近,已经开发了区块链技术来提供分布式数据存储机制,其使得难以对已存储数据进行非法或未经授权的更改。例如,Hyperledger Fabric提供了基于有限信息通道的共享系统以保护区块链网络中多个联盟之间的机密数据(参见非专利文献1)。然而,非专利文献1提出的机制对于每个参与者处理其自身数据而言不够灵活。因此,存在对在针对每个参与者实体的数据处理方面具有灵活性的改进的数据存储系统的需求。
引用列表
非专利文献
非专利文献1:“Hyperledger Fabric:ADistributed Operating System forPermissioned Blockchains”arXiv:1801.10228v2[cs.DC]2018年4月17日。
发明内容
本节提供了本公开内容的总体概要,并且不是对其全部范围或其特征中的所有特征的全面公开。
根据本公开内容的第一方面,一种数据存储系统,包括:节点,其被配置成存储区块链;以及数据存储服务器。该节点还被配置成:在接收到来自数据源的数据时,将数据分离成机密数据和公开数据(public data),获得机密数据的防篡改证据(tamper proof),将分离的机密数据发送至数据存储服务器,并且将公开数据和防篡改证据存储在区块链上。数据存储服务器被配置成:在接收到来自节点的机密数据时,存储该机密数据。
根据本公开内容的第二方面,一种用于存储数据的方法,包括:将从数据源接收到的数据分离成机密数据和公开数据,获得机密数据的防篡改证据,将公开数据和防篡改证据存储在区块链上,并且将机密数据存储在数据存储服务器中。
根据本公开内容的第三方面,一种存储计算机程序的计算机可读非暂态存储介质,所述计算机程序被配置成使至少一个处理器:将从数据源接收到的数据分离成机密数据和公开数据,获得机密数据的防篡改证据,将公开数据和防篡改证据存储在区块链上,并且将机密数据存储在数据存储服务器中。
附图说明
并入本说明书并构成本说明书的一部分的附图示出了本公开内容的各种系统、方法和其他实施方式。应当理解,附图中所示出的元素边界(例如,方框、方框组或其他形状)表示边界的一个实施方式。在一些实施方式中,元素可以不按比例绘制。
图1示意性地示出了数据存储系统的一个实施方式的整体配置。
图2示出了根据实施方式的业务实体的框图。
图3是示出存储在每个服务器中的机密数据和存储在区块链上的公开数据、防篡改证据和数据位置的示例的图。
图4示出了数据存储过程的流程图。
图5示出了数据提供过程的流程图。
具体实施方式
在下文中,将参照附图描述本公开内容的实施方式。
图1示出了示意性地示出根据本实施方式的数据存储系统(在下文中,称为“系统”)10的一个示例的图。系统10被配置成使用链上层和链下层两者来存储与各种类型的对象、资产或事物(例如,汽车、摩托车、智能家居、产品、商品、艺术品、农作物、数字资产等)相关的数据。由各种类型的数据源来提供这样的对象的数据,所述数据源例如汽车、摩托车、智能家居的所有者,构成系统10的业务实体的工人或雇员等。系统10还被配置成在接收到来自各种类型的数据用户的数据请求时向这些数据用户提供所存储的数据。数据用户可以包括构成系统10的参与者业务实体、不构成系统10但被授权使用系统10的非参与者业务实体以及被授权使用系统10的个人。
如稍后将描述的,系统10被配置成在链下(即,本地服务器)上存储机密数据,而公开数据则被存储在链上(即,区块链BC)上。在接收到数据请求时,系统10通过从本地服务器中检索机密数据以及从区块链BC中检索公开数据来向数据用户提供所请求的数据。如图1中所示,系统10形成区块链联盟,其中仅允许被授权或被许可的业务实体BE(或联盟)参与。在该实施方式中,系统10由多个业务实体BE和接入网关节点30形成。接入网关节点30被配置成充当系统10的网关,来自数据用户的数据请求通过接入网关节点30输入到系统10中。
参与者业务实体BE可以包括但不必限于汽车制造商(OEM)、保险公司、维修店(或经销商)、银行等。每个业务实体BE可以充当形成区块链网络14的节点以存储对象的公开数据。每个业务实体BE还充当将对象的机密数据存储在其自身数据库(DB)中的本地服务器。因此,每个业务实体BE在链上层和链下层两者中进行操作。
如图1中所示,在本实施方式中,系统10包括三个业务实体BE(例如,OEM、保险公司和维修店)。每个业务实体BE包括联盟节点16(在下文中,称为“节点”)和数据存储服务器26(在下文中,称为“服务器”),并且参与者实体BE的所有节点16彼此连接以形成区块链网络14。所有节点16存储并保存其上记录有对象的公开数据的区块链BC。更具体地,每个节点16被配置成将公开数据存储在区块链BC上的公开数据存储装置32中。此外,如稍后将描述的,节点16还将数据位置存储在位置表34中,并且将机密数据的防篡改证据存储在区块链BC上的防篡改证据存储装置36中。应当注意,节点16可以在各种类型的公知平台例如以太坊、Hyperledger Fabric等上工作。
如图2中所示,节点16包括至少一个处理器(或节点处理器16a)和至少一个存储器(或节点存储器16b)。一方面,节点处理器16a可以是能够在执行被存储在节点存储器16b上的程序时执行如本文中所描述的各种功能的电子处理器,例如微处理器。在一个实施方式中,节点存储器16b可以是随机存取存储器(RAM)、只读存储器(ROM)、硬盘驱动器、闪存或用于存储程序的其他合适的存储器。所述程序是在由节点处理器16a执行时使节点处理器16b执行本文中所公开的各种功能的计算机可读指令。此外,如下面将详细描述的,节点处理器16a在链上层上的一些功能是通过在满足预定条件时执行存储在区块链BC上的智能合约经由应用(app)来提供的。
在节点16从数据源接收到关于对象的数据时,节点处理器16a被编程为基于由每个业务实体BE特别预定义的数据策略来将数据分离成机密数据和公开数据。数据被以包括多个数据项的数据集的形式提供给节点16。多个数据项被分类为一个或更多个数据类别。数据策略是限定如何处理数据源所提供的数据的规则(即,公开地存储在区块链BC上或机密地保存在本地服务器中)。每个业务实体BE根据其业务目的或来自数据源的请求来自由地定制数据策略。例如,业务实体BE可以将数据策略限定成将数据源的个人数据或个人可识别数据分类为“机密数据”。此外,数据策略可以被设置成将针对业务实体具有高业务价值的数据(例如,商业秘密)分类为“机密数据”。反之,数据策略可以被限定成将数据源的非个人数据或非个人可识别数据(personally-unidentifiabledata)分类为“公开数据”。此外,数据策略可以将不具有高业务价值的数据分类为“公开数据”。
图3示意性地示出了在每个业务实体BE处机密地存储的数据和在区块链BC上公开地存储的数据。在该示例中,对象是所有者所拥有的特定汽车(被称为“车辆A”)。作为业务实体BE的一个示例的汽车制造商(OEM)可以收集车辆A的车辆相关信息。例如,车辆相关信息包括所有者信息、速度、位置、里程、车载摄像装置图像数据等。在该示例中,车辆相关信息是数据类别,并且数据项——所有者信息、位置和车载摄像装置图像数据可以被分类为个人数据或个人可识别数据。因此,节点处理器16a将这些数据项分类为“机密数据”。相比之下,由于数据项——速度和里程是非个人可识别数据并且因此可以被公开共享,所以节点处理器16a将这些数据项分类为“公开数据”。应当注意,在该示例中,车辆A的所有者是提供车辆A的车辆相关信息的数据源。
作为业务实体BE的另一示例的维修店可以收集例如关于车辆A的两个类别的数据,即“维修项目”和“维修账单信息”。数据类别——维修项目可以包括“部件A”和“部件B”,“部件A”和“部件B”是在维修店维修的车辆A的部件。数据类别——维修账单信息可以包括“维修费用”和“账户信息”作为数据项。在该示例中,数据类别——维修项目(即,部件A和部件B)的所有信息被节点处理器16a分类为公开数据,因为这些数据项不具有个人或个人可识别性质。相比之下,在数据类别——维修账单信息中,所有数据项被节点处理器16a分类为机密数据,因为这样的信息应当被机密地保存。应当注意,维修店(即,节点处理器16a)在维修店的机修工等在完成车辆A的维修之后将这些类型的信息输入到其DB中时获得这些信息。因此,在该示例中,这样的机修工就是数据源。
保险公司也是业务实体BE的另一示例,并且保险公司可以收集一个类别即“保险单”,其包括数据项“投保信息”、“保险条款”和“支付信息”。在该示例中,节点处理器16a将保险单下的所有数据项分类为“机密数据”,因为这样的信息也应当被机密地保存。应当注意,保险公司(即,节点处理器)在保险公司的员工在保险合同形成之后将信息输入到其数据库中时接收这些数据项。因此,保险公司这样的员工可以充当数据源。
在将接收到的数据分离成机密数据和公开数据之后,节点处理器16a被编程为获得机密数据的防篡改证据。在该示例中,防篡改证据是使用哈希函数根据机密数据计算的哈希值。此外,节点处理器16a被编程为针对每个类别的数据计算机密数据的哈希值。在如上面所描述的图3的示例中,数据类别“车辆相关信息”包括三个数据项(即,所有者信息、位置和车载摄像装置信息)作为机密数据。因此,节点处理器16a使用哈希函数来计算所有这三个项的哈希值。可以使用任何公开可用的哈希函数来计算哈希值。这样的函数的示例可以包括SHA-256和SHA3-256。
节点处理器16a将公开数据和防篡改证据发送至区块链BC上的数据管理器38,数据管理器38是在执行智能合约时运行的应用(app)。数据管理器38被编程为在接收到公开数据时将公开数据存储在区块链BC上的公开数据存储装置32中。数据管理器38还被编程为将机密数据的防篡改证据存储在区块链BC上的防篡改证据存储装置36中。数据管理器38将公开数据及其数据类别存储在公开数据存储装置32中。如图3中所示,数据项“速度”和“里程”被存储在数据类别——车辆相关信息下,并且数据项“部件A”和“部件B”被存储在数据类别——维修项目下。应当注意,由于数据类别——保险单下的数据项被分类为“机密数据”,因此这些项没有存储在区块链BC上的公开数据存储装置32中。
数据管理器38被编程为将针对每个数据类别的防篡改证据(即,哈希值)存储在防篡改证据存储装置36中。在图3的示例中,数据类别——车辆相关信息具有防篡改证据“XXX”,数据类型——维修账单信息具有防篡改证据“YYY”,并且数据类型——保险单具有防篡改证据“ZZZ”。
节点处理器16a还被编程为将位置表34存储在区块链BC上。位置表34是示出机密数据与其位置之间的对应关系的表。在节点16接收到来自数据源的数据时,数据管理器38更新位置表34。在本实施方式中,位置表34指示针对每个数据类别的机密数据的位置。在图3所示的上述示例中,位置表34示出数据类别“维修账单信息”位于(即,被存储在)维修店。此外,位置表34示出数据类别“车辆相关信息”和数据类别“保险单”分别位于(即,被存储在)OEM和保险公司。如该示例中所示出的,位置表34不列出数据项本身。
节点处理器16a还被编程为验证数据请求是否被认可。通过确认数据请求是否包括证明数据用户被适当地授权通过系统10获得数据的证书来执行该认可。如果确定数据请求被认可,则节点处理器16a被编程为指示服务器26检索所请求的机密数据并向数据用户提供所请求的机密数据。
接入网关节点30充当网关,通过接入网关节点30接收数据请求并将该数据请求转发给存储该数据请求所请求的机密数据的适当业务实体BE(更具体地,适当节点16)。与业务实体BE的节点16一样,接入网关节点30包括至少一个处理器和至少一个存储器(未示出)。在接入网关节点30接收到来自数据用户的数据请求时,接入网关节点30通过数据管理器38从位置表34获得所请求的机密数据的数据位置。在本实施方式中,通过数据请求来针对每个数据类别请求数据,并且数据管理器38通过参照位置表34来获得所请求的数据类别的数据位置。然后,数据管理器38将所获得的数据位置发送至接入网关节点30。接入网关节点30被配置成将数据请求转发至由数据位置标识的节点。
接入网关节点30还被配置成通过数据管理器38获得公开数据和机密数据的防篡改证据。例如,如果数据用户请求数据类别——车辆相关信息下的数据,则数据管理器38从公开数据存储装置32获得数据项“速度”和“里程”。数据管理器38还从防篡改证据存储装置36获得车辆相关信息的防篡改证据“XXX”。然后,数据管理器38将所获得的公开数据和防篡改证据发送至接入网关节点30。接入网关节点30将公开数据和防篡改证据发送至数据用户。如稍后描述的,数据用户使用防篡改证据来验证自机密数据被存储以来该数据是否未被篡改。所获得的防篡改证据还被发送至存储有所请求的机密数据的业务实体BE。
每个业务实体BE包括具有数据库(DB)28的服务器26(即,本地服务器)。从节点16发送的机密数据被存储在DB 28中。如图2中所示,服务器26包括至少一个处理器(或服务器处理器26a)和至少一个存储器(或服务器存储器26b)。服务器处理器26a可以是能够在执行被存储在服务器存储器26b上的程序时执行本文中所描述的各种功能的微处理器。服务器存储器26b可以是随机存取存储器(RAM)、只读存储器(ROM)、硬盘驱动器、闪存或用于存储程序的其他合适的存储器。程序是在由服务器处理器26a执行时使服务器处理器26b执行本文中所公开的各种功能的计算机可读指令。
每个业务实体BE的服务器26被配置成将一个或更多个对象的机密数据存储在DB28中。服务器26还被配置成在从数据源接收到更新的信息时对机密数据进行更新。在本实施方式中,每个服务器26将关于对象的一个或更多个类别的数据存储在DB 28中,并且每个数据类别包括被分类为机密数据的一个或更多个数据项。对于每个服务器26而言,该一个或更多个数据类别的机密数据是唯一的,并且因此存储在一个服务器26中的一个或更多个数据类别的机密数据与存储在其他服务器26中的各数据类别的机密数据不同。在图2的示例中,DB 28存储被分类为数据类别A和数据类别B的数据。数据类别A包括两个数据项(数据项1和数据项2),而类别B包括一个数据项(数据项1)。
更具体地,在图3所示的上述示例中,OEM的服务器26(DB 28)将所有者信息、位置和车载摄像装置图像数据作为“机密数据”存储在数据类别——车辆相关信息下。维修店的服务器26将维修费用和账户信息作为“机密数据”存储在数据类别——维修账单信息下。保险公司的服务器26将投保信息、保险条款和支付信息作为“机密数据”存储在数据类别——保险单下。
服务器处理器26a被编程为在接收到来自节点处理器16a的指令时检索数据请求所请求的机密数据。服务器处理器26a还被编程为计算检索到的机密数据的哈希值,并且将所计算的哈希值与从接入网关节点30接收到的防篡改证据进行比较。服务器处理器26a被编程为仅在哈希值与篡改值匹配的情况下(即,仅在确定检索到的机密数据未被篡改的情况下)将检索到的机密数据发送至数据用户。
接下来,将描述根据本实施方式的由系统10执行的整个过程的一个示例。通常,系统10在数据源提供数据的情况下执行数据存储过程,并且在数据用户发出数据请求的情况下执行数据提供过程。首先将参照图1和图4来描述数据存储过程。在图1中,由黑色箭头指示数据存储过程中的数据流。在以下描述中,如图3中所描述的,假设车辆A的所有者向OEM提供关于车辆A的数据集。所提供的数据由单个数据类别即车辆相关信息构成,所述车辆相关信息包括所有者信息、位置、车载摄像装置图像数据、速度和里程。
当OEM的节点16在步骤10处接收到来自所有者的数据时,数据存储过程开始。在步骤20处,节点处理器16a根据预先定义的数据策略将数据分离成机密数据和公开数据。在该示例中,节点处理器16a将所有者信息、位置和车载摄像装置图像数据分类为机密数据。反之,节点处理器16a将其余数据(即,速度和里程)分类为公开数据。然后,在步骤30处,节点处理器16a获得针对每个数据类别的机密数据的防篡改证据。在该示例中,节点处理器16a计算所有机密数据(即,所有者信息、位置和车载摄像装置图像数据)的哈希值作为防篡改证据。
接下来,在步骤40处,节点处理器16a将防篡改证据和公开数据(即,速度和里程)发送至数据管理器38。然后,在步骤50处,数据管理器38将公开数据和防篡改证据分别存储在公开数据存储装置32和防篡改证据存储装置36中。在该示例中,速度和里程被存储在公开数据存储装置32中,在如图3中所示的数据类别——车辆相关信息下。机密数据(即,所有者信息、位置和车载摄像装置图像数据)的防篡改证据(YYY)被存储在防篡改证据存储装置36中,在数据类别——车辆相关信息下。在步骤60处,数据管理器38还将数据类别——车辆相关信息中的数据位置(即,OEM)存储在位置表34中。
接下来,在步骤70处,节点处理器16a将机密数据(即,所有者信息、位置和车载摄像装置图像数据)发送至OEM的服务器26。在步骤80处,当服务器26接收到机密数据时,服务器26将机密数据存储在DB 28中。然后,数据存储过程结束。
如上面所描述的,节点处理器16a根据数据策略将接收到的数据分离成机密数据和公开数据。因此,仅公开数据被存储在区块链BC上,而机密数据被保存在业务实体BE处的服务器26中。因此,机密数据可以被机密地保存在每个业务实体BE处。此外,通过设置数据策略,每个业务实体可以自由地将数据分类为机密数据和公开数据。因此,业务实体BE可以根据其业务目的或数据的值灵活地处理数据。此外,服务器26仅将机密数据存储在自身的DB 28中,而其余公开数据则被存储在区块链BC上。因此,可以减少在每个服务器26处存储的数据的量,从而提高存储效率并降低成本。
防篡改证据和公开数据分别被存储在区块链BC上的防篡改证据存储装置36和公开数据存储装置中。因此,可以在较低非法或未经授权更改的风险下安全地存储防篡改证据和公开数据。
接下来,将参照图1和图5描述数据提供过程。在图1中,由白色箭头指示数据提供过程中的数据流。在以下描述中,假设保险公司发出用于获得与车辆A的维修相关的数据的数据请求。在这种情况下,数据请求包括用于获得维修账单信息和维修项这两个数据类别的请求。数据请求还包括证明保险公司已被授权通过系统10获得数据的证书。因此,在该示例中,保险公司既充当数据用户又充当构成系统10的一个业务实体BE。
当接入网关节点30在步骤100处接收到来自保险公司的数据请求时,数据提供过程开始。在步骤110处,接入网关节点30向数据管理器38发送指令以获得所请求的数据类别的机密数据的数据位置、所请求的数据类别的公开数据以及所请求的数据类别的机密数据的防篡改证据。在该示例中,接入网关节点30请求数据管理器38获得数据请求所请求的维修账单信息的数据位置。接入网关节点30还请求数据管理器38获得数据请求所请求的维修项目的公开数据。接入网关节点30还请求数据管理器38获得数据请求所请求的维修账单信息的防篡改证据。
在步骤120处,在接收到来自接入网关节点30的指令时,数据管理器38通过参照位置表34获得维修账单信息(即,维修店)的数据位置。在步骤130处,数据管理器38还分别从公开数据存储装置32和防篡改证据存储装置36获得维修项目的公开数据(即,部件A和部件B)以及维修账单信息的防篡改证据(即,“YYY”)。然后,在步骤140处,数据管理器38将所获得的数据位置、公开数据和防篡改证据发送至接入网关节点30。
当接入网关节点30从数据管理器38接收到上述信息时,在步骤150处,接入网关节点30将公开数据(即,部件A和部件B)和防篡改证据(即,“YYY”)发送至数据用户。接下来,在步骤160处,接入网关节点30将数据请求和所获得的防篡改证据转发至由所获得的数据位置标识的业务实体BE的节点16。在该示例中,由于数据位置指示维修账单信息被存储在维修店处,所以接入网关节点30将数据请求和防篡改证据发送至维修店的节点16。
当维修店的节点16从接入网关节点30接收到数据请求时,在步骤170处,节点处理器16a基于数据请求中所包括的证书来验证数据请求是否被认可。如果节点处理器16a验证数据请求被正确认可(步骤170:是),则过程进行至步骤180。反之,如果节点处理器16a验证数据请求没有被正确认可(步骤170:否),则数据提供过程结束。在该示例中,由于保险公司(数据用户)已经被适当地授权,所以该过程进行至步骤180。
在步骤180处,节点处理器16a向服务器26发送指令以检索所请求的机密数据。节点处理器16a还向服务器26发送从接入网关节点30接收到的防篡改证据。在该示例中,通过数据请求来请求数据类别——维修账单信息,节点处理器16a指示服务器26检索被分类为维修账单信息的数据项。在服务器26接收到来自节点处理器16a的指令时,在步骤190处,服务器处理器26a从DB 28检索所请求的机密数据。在该示例中,由于服务器26被指示检索维修账单信息下的数据项,所以服务器处理器26a从DB 28中检索维修费用和账户信息。
接下来,在步骤200处,服务器处理器26a计算检索到的机密数据的哈希值。在该示例中,服务器处理器26a使用哈希函数来计算维修费用和账户信息的哈希值。然后,在步骤210处,服务器处理器26a验证检索到的机密数据是否未被篡改。更具体地,服务器处理器将计算的哈希值与从接入网关节点30接收的防篡改证据进行比较。然后,如果计算的哈希值与防篡改证据匹配,则服务器处理器26a验证检索到的机密数据未被篡改(步骤210:是),并且过程进行至步骤220。反之,如果计算的哈希值与防篡改证据不匹配,则服务器处理器26a确定检索到的机密数据已经被篡改(步骤210:否),并且数据提供过程结束。在步骤220处,服务器处理器26a将检索到的机密数据发送至数据用户。在这种情况下,服务器处理器26a将维修费用和账户信息发送至保险公司。然后,数据提供过程结束。
如上所述,根据本实施方式的系统10,数据用户获得所请求的数据以及机密数据的防篡改证据。因此,数据用户可以通过计算所获得的机密数据的哈希值并将防篡改证据与计算的哈希值进行比较来验证机密数据是否未被篡改。此外,服务器26在向数据用户发送机密数据之前确认检索到的机密数据未被篡改。因此,系统10可以在非常低的篡改风险的情况下提供所请求的机密数据。
接入网关节点30从位置表34获得机密数据的数据位置。因此,接入网关节点30可以基于数据位置来识别存储所请求的机密数据的适当业务实体BE。
(对实施方式的修改)
在上述实施方式中,接入网关节点30专门接收数据请求并处理该数据请求。然而,业务实体BE的节点16可以执行与接入网关节点30相同的功能。在这种情况下,可以取消接入网关节点30。此外,接入网关节点30可以被配置成从数据源接收数据,并且将接收到的数据分发至适当的业务实体BE。
在上述实施方式中,接入网关节点30获得防篡改证据并将其发送至业务实体BE的节点16。然而,节点16可以通过数据管理器38直接获得防篡改证据以验证机密数据未被篡改。在上述实施方式中,多个业务实体BE构成系统10。然而,单个业务实体可以构成系统10。
在上述实施方式中,数据用户通过指定一个或更多个数据类别来发出数据请求。然而,替代指定一个或更多个数据类别,可以针对每个数据项进行数据请求。
Claims (12)
1.一种数据存储系统,包括:
节点(16、30),其被配置成存储区块链(BC);以及
数据存储服务器(26),其中,
所述节点(16、30)还被配置成:在接收到来自数据源的数据时,
将所述数据分离成机密数据和公开数据;
获得所述机密数据的防篡改证据;
将所述机密数据发送至所述数据存储服务器(26);以及
将所述公开数据和所述防篡改证据存储在所述区块链(BC)上,并且
所述数据存储服务器(26)被配置成:在接收到来自所述节点(16、30)的机密数据时,存储所述机密数据。
2.根据权利要求1所述的数据存储系统,其中,
所述节点(16、30)还被配置成:在接收到来自数据用户的数据请求时,
从所述区块链(BC)获得与所述数据请求对应的机密数据的防篡改证据;
从所述区块链(BC)获得与所述数据请求对应的公开数据;以及
将所述防篡改证据和所述公开数据发送至所述数据用户,并且
所述数据存储服务器(26)还被配置成:在接收到来自所述数据用户的数据请求时,将与所述数据请求对应的机密数据发送至所述数据用户。
3.根据权利要求2所述的数据存储系统,其中,
所述节点(16、30)还被配置成:在接收到来自所述数据用户的数据请求时,将所述防篡改证据发送至所述数据存储服务器(26),并且
所述数据存储服务器(26)还被配置成:
使用所述防篡改证据来确定所述机密数据是否被篡改;以及
在确定所述机密数据未被篡改时,将所述机密信息发送至所述数据用户。
4.根据权利要求2或3所述的数据存储系统,其中,
所述节点包括接入网关节点(30),所述节点通过所述接入网关节点(30)接收所述数据请求,并且
所述接入网关节点(30)被配置成:在接收到来自所述数据用户的数据请求时,将从所述区块链(BC)获得的公开数据和防篡改证据发送至所述数据用户。
5.根据权利要求4所述的数据存储系统,其中,
所述节点还包括多个节点(16),
所述数据存储服务器(26)包括各自对应于所述多个节点(16)中的相应节点的多个服务器,
所述多个服务器中的每个服务器存储与其他服务器的机密数据不同的机密数据,
所述节点还被配置成:存储示出每个机密数据在所述区块链(BC)上的数据位置的位置表(34),并且
所述接入网关节点(30)还被配置成:在接收到来自所述数据用户的数据请求时:
通过参照所述位置表(34)来获得与所述数据请求对应的机密数据的数据位置;以及
基于所获得的数据位置将所述数据请求发送至所述多个服务器中存储所请求的机密数据的服务器。
6.根据权利要求1至5中任一项所述的数据存储系统,其中,
所述防篡改证据是通过计算所述机密数据的哈希值获得的。
7.一种用于存储数据的方法,包括:
将从数据源接收到的数据分离成机密数据和公开数据;
获得所述机密数据的防篡改证据;
将所述公开数据和所述防篡改证据存储在区块链(BC)上;以及
将所述机密数据存储在数据存储服务器(26)中。
8.根据权利要求7所述的方法,还包括:
从所述区块链(BC)获得与来自数据用户的数据请求对应的公开数据以及机密数据的防篡改证据;
将所述公开数据和所述防篡改证据发送至所述数据用户;以及
将与所述数据请求对应并且存储在所述数据存储服务器(26)中的机密数据发送至所述数据用户。
9.根据权利要求8所述的方法,还包括:
使用从所述区块链(BC)获得的防篡改证据来确定存储在所述数据存储服务器(26)中的机密数据是否被篡改;以及
在确定所述机密数据未被篡改时,将所述机密数据发送至所述数据用户。
10.一种存储计算机程序的计算机可读非暂态存储介质,所述计算机程序被配置成使至少一个处理器(16a、26a):
将从数据源接收到的数据分离成机密数据和公开数据;
获得所述机密数据的防篡改证据;
将所述公开数据和所述防篡改证据存储在区块链上;并且
将所述机密数据存储在数据存储服务器(26)中。
11.根据权利要求10所述的计算机可读非暂态存储介质,还被配置成使所述至少一个处理器(16a、26a):
从所述区块链(BC)获得与来自数据用户的数据请求对应的公开数据以及机密数据的防篡改证据;
将所述公开数据和所述防篡改证据发送至所述数据用户;并且
将与所述数据请求对应并且存储在所述数据存储服务器(26)中的机密数据发送至所述数据用户。
12.根据权利要求11所述的计算机可读非暂态存储介质,还被配置成使所述至少一个处理器(16a、26a):
使用从所述区块链(BC)获得的防篡改证据来确定存储在所述数据存储服务器(26)中的机密数据是否被篡改;以及
在确定所述机密数据未被篡改时,将所述机密数据发送至所述数据用户。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163156737P | 2021-03-04 | 2021-03-04 | |
US63/156,737 | 2021-03-04 | ||
PCT/JP2022/001555 WO2022185755A1 (en) | 2021-03-04 | 2022-01-18 | Data storage system and data storing method |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116964583A true CN116964583A (zh) | 2023-10-27 |
Family
ID=83155340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280018388.0A Pending CN116964583A (zh) | 2021-03-04 | 2022-01-18 | 数据存储系统和数据存储方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230409757A1 (zh) |
EP (1) | EP4302219A4 (zh) |
JP (1) | JP7568127B2 (zh) |
CN (1) | CN116964583A (zh) |
WO (1) | WO2022185755A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180285839A1 (en) * | 2017-04-04 | 2018-10-04 | Datient, Inc. | Providing data provenance, permissioning, compliance, and access control for data storage systems using an immutable ledger overlay network |
US11061886B2 (en) | 2018-06-28 | 2021-07-13 | Blockchain Integrated Partners, Llc | Systems and methods for data validation and assurance |
US11803169B2 (en) * | 2019-04-09 | 2023-10-31 | Intertrust Technologies Corporation | Connected device information management systems and methods |
US11128471B2 (en) * | 2019-04-25 | 2021-09-21 | Microsoft Technology Licensing, Llc | Accessibility controls in distributed data systems |
EP3779755B1 (en) * | 2019-08-14 | 2023-09-13 | Fujitsu Limited | A computer-implemented method for cross-chain-interoperability |
-
2022
- 2022-01-18 WO PCT/JP2022/001555 patent/WO2022185755A1/en active Application Filing
- 2022-01-18 EP EP22762814.6A patent/EP4302219A4/en active Pending
- 2022-01-18 JP JP2023551262A patent/JP7568127B2/ja active Active
- 2022-01-18 CN CN202280018388.0A patent/CN116964583A/zh active Pending
-
2023
- 2023-08-31 US US18/459,162 patent/US20230409757A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022185755A1 (en) | 2022-09-09 |
JP7568127B2 (ja) | 2024-10-16 |
JP2024507919A (ja) | 2024-02-21 |
US20230409757A1 (en) | 2023-12-21 |
EP4302219A1 (en) | 2024-01-10 |
EP4302219A4 (en) | 2024-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11776061B1 (en) | Using a distributed ledger for tracking VIN recordkeeping | |
US11362809B2 (en) | Systems and methods for post-collision vehicle routing via blockchain | |
US20240273638A1 (en) | Distributed ledger system for managing loss histories for properties | |
US20190098015A1 (en) | Integrity of Data Records | |
CN116964583A (zh) | 数据存储系统和数据存储方法 | |
US20240119534A1 (en) | Systems and methods for generating, maintaining, and using portable data on a blockchain | |
US20230351379A1 (en) | Systems and methods for generating a smart contract for a parametric event | |
WO2018134505A1 (fr) | Système d'assistance à la récupération d'objets volés ou perdus, permettant de géolocaliser des objets à l'aide d'unités informatiques détenues par des individus contributeurs |
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 |