数据共享的制作方法

文档序号:26193683发布日期:2021-08-06 18:47阅读:168来源:国知局
数据共享的制作方法

本公开的实施例总体上涉及数据管理领域,并且具体地涉及用于数据共享的设备、方法、装置和计算机可读存储介质。



背景技术:

诸如智能电话、可穿戴设备、家用电器等智能设备使得终端用户(enduser)能够随时随地访问互联网。借助智能设备,终端用户可以访问社交媒体、在线购物、获取远程医疗服务、远程控制智能家电,等等。为了提高系统性能并且增强用户体验,终端用户的一些个人信息(例如,用户名、密码、年龄、性别、指纹、电话号码、唯一设备标识符、位置、信用卡号、财务记录、医疗记录等)可以由服务提供方在终端用户的授权下收集、存储、使用、维护和/或传播。

但是,一些服务提供方可能会收集与所提供的服务无关的附加个人信息,以便进行深入的数据挖掘和分析,以启用其他服务以获取更多利润。此外,一些服务提供方可能会在不通知相关终端用户的情况下与第三方共享所收集的个人信息。所有这些都可能威胁到终端用户的隐私。另一方面,终端用户可能希望自行管理和共享其个人数据。因此,重要的是,提供一种解决方案以使得执法人员能够检测服务提供方是否侵犯了终端用户的隐私并且使得终端用户能够自行管理和共享其个人数据。



技术实现要素:

总体上,本公开的示例实施例提供了用于数据共享的方法、设备、装置和计算机可读存储介质。

在第一方面,提供了一种用于数据共享的方法。该方法包括:响应于从数据共享代理接收到用以共享用户的数据的第一请求,针对用户创建数据共享智能合约,数据共享智能合约指示关于数据的共享的信息。该方法还包括向一个或多个数据消费方发布数据共享智能合约。该方法还包括:响应于从一个或多个数据消费方中的数据消费方接收到用以访问数据的第二请求,通过执行数据共享智能合约生成数据消费方被授权访问数据的指示。该方法还包括向数据消费方发送指示以使得数据消费方能够访问数据。

在第二方面,提供了一种用于数据共享的方法。该方法包括在数据消费方处并且从由数据中介方发布的一个或多个数据共享智能合约中确定与用户的要访问的数据相对应的数据共享智能合约。该方法还包括向数据中介方发送用以执行数据共享智能合约以用于访问数据的第二请求。该方法还包括:响应于从数据中介方接收到关于数据消费方被授权访问数据的指示,访问用户的数据。

在第三方面,提供了一种用于数据共享的方法。该方法包括从用户收集数据。该方法还包括利用密钥加密数据。该方法还包括将经加密的数据存储在数据存储服务器中。该方法还包括向数据中介方发送用以共享用户的数据的第一请求。该方法还包括:响应于从数据中介方接收到数据共享智能合约的标识符,将密钥与数据共享智能合约的标识符相关联地存储在密钥管理服务器中,数据共享智能合约是由数据中介方针对用户而创建的并且指示关于数据的共享的信息。

在第四方面,提供了一种电子设备,该电子设备包括至少一个处理器和包括计算机程序代码的至少一个存储器。至少一个存储器和计算机程序代码被配置为与至少一个处理器一起使该设备执行根据第一方面的方法。

在第五方面,提供了一种电子设备,该电子设备包括至少一个处理器和包括计算机程序代码的至少一个存储器。至少一个存储器和计算机程序代码被配置为与至少一个处理器一起使该设备执行根据第二方面的方法。

在第六方面,提供了一种电子设备,该电子设备包括至少一个处理器和包括计算机程序代码的至少一个存储器。至少一个存储器和计算机程序代码被配置为与至少一个处理器一起使该设备执行根据第三方面的方法。

在第七方面,提供了一种装置,该装置包括用以执行根据第一、第二或第三方面的方法的部件。

在第八方面,提供了一种其上存储有计算机程序的计算机可读存储介质。该计算机程序在由设备的处理器执行时使该设备执行根据第一、第二或第三方面的方法。

应当理解,发明内容部分不旨在标识本公开的实施例的关键或本质特征,也不旨在用于限制本公开的范围。通过以下描述,本公开的其他特征将变得容易理解。

附图说明

通过附图中对本公开的一些实施例的更详细的描述,本公开的上述和其他目的、特征和优点将变得更加明显,在附图中:

图1示出了传统数据共享系统的框图;

图2示出了根据本公开的一些实施例的数据共享系统的框图;

图3示出了根据本公开的一些实施例的用于数据共享的示例过程的示意图;

图4示出了根据本公开的一些实施例的用于数据共享的示例过程的示意图;

图5示出了根据本公开的一些实施例的用于数据共享的示例方法的流程图;

图6示出了根据本公开的一些实施例的用于数据共享的示例方法的流程图;

图7示出了根据本公开的一些实施例的用于数据共享的示例方法的流程图;以及

图8是适合于实现本公开的实施例的设备的简化框图。

在整个附图中,相同或相似的附图标记代表相同或相似的元素。

具体实施方式

现在将参考一些示例实施例来描述本公开的原理。应当理解,描述这些实施例仅用于说明和帮助本领域技术人员理解和实现本公开,而没有对本公开范围提出任何限制。本文中描述的公开可以以除了下面描述的方式之外的各种方式来实现。

在以下描述和权利要求中,除非另有定义,否则本文中使用的所有技术和科学术语具有与本公开所属领域的普通技术人员通常理解的相同的含义。

本公开中对“一个实施例”、“实施例”、“示例实施例”等的引用表示所描述的实施例可以包括特定特征、结构或特性,但并非必须每个实施例都包括该特定特征、结构或特性。此外,这样的短语不一定指代相同的实施例。此外,当结合一个实施例描述特定特征、结构或特性时,认为与其他实施例相结合来影响这样的特征、结构或特性在本领域技术人员的知识范围内,而无论是否明确描述。

应当理解,虽然本文中可以使用术语“第一”和“第二”等来描述各种元素,但是这些元素不应受这些术语的限制。这些术语仅用于区分一种元素与另一种元素。例如,在不脱离示例实施例的范围的情况下,第一元素可以被称为第二元素,并且类似地,第二元素可以被称为第一元素。如本文中使用的,术语“和/或”包括一个或多个所列术语的任何和所有组合。

本文中使用的术语仅用于描述特定实施例的目的,并不旨在限制示例实施例。如本文中使用的,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文另有明确指示。将进一步理解,术语“包括”、“包含”、“具有”、“含有”、“包括有”和/或“包含有”当在本文中使用时指定所述特征、元素和/或组件等的存在,但不排除一个或多个其他特征、元素、组件和/或其组合的存在或添加。

如本文中使用的,术语“电路系统”可以指代以下中的一项或多项或全部:

(a)仅硬件电路实现(诸如仅在模拟和/或数字电路系统中的实现),以及

(b)硬件电路和软件的组合,诸如(如适用):(i)(多个)模拟和/或数字硬件电路与软件/固件的组合,以及(ii)具有软件的(多个)硬件处理器(包括(多个)数字信号处理器)、软件和(多个)存储器的任何部分,这些部分一起工作以使诸如移动电话或服务器等装置执行各种功能),以及

(c)(多个)硬件电路和/或(多个)处理器,诸如(多个)微处理器或(多个)微处理器的一部分,其需要软件(例如,固件)进行操作,但该软件在操作不需要时可以不存在。

电路系统的该定义适用于该术语在本申请中的所有使用,包括在任何权利要求中。作为另一示例,如本申请中使用的,术语电路系统还涵盖仅硬件电路或处理器(或多个处理器)或硬件电路或处理器的一部分及其(或它们的)伴随软件和/或固件的实现。术语电路系统还涵盖(例如并且如果适用于特定权利要求元素)用于移动设备的基带集成电路或处理器集成电路、或者服务器、蜂窝网络设备或其他计算或网络设备中的类似集成电路。

如上所述,为了提高系统性能并且增强用户体验,终端用户的一些个人信息(例如,用户名、密码、年龄、性别、指纹、电话号码、唯一设备标识符、位置、信用卡号、财务记录、医疗记录等)可以由服务提供方在终端用户的授权下收集、存储、使用、维护和/或传播。但是,一些服务提供方可能会收集与所提供的服务无关的个人信息,以便进行深入的数据挖掘和分析,以启用其他服务以获取更多利润。此外,一些服务提供方可能会在不通知相关终端用户的情况下与第三方共享所收集的个人信息。所有这些都可能威胁到终端用户的隐私。

图1示出了传统数据共享系统100的框图。一般而言,在传统解决方案中,服务提供方可以为想要访问所提供的服务的所有终端用户定义数据使用协议(例如,以用于收集、存储、使用、传播和/或共享个人数据)。终端用户可能必须批准协议才能访问所提供的服务,即使他/她不满足协议中的某些条款和条件。

如图1所示,例如,传统数据共享系统100可以包括用户设备110、一个或多个数据服务服务器120(也称为“数据服务服务器120”)和一个或多个数据消费方客户端130(也称为“数据消费方130”)。用户设备110可以是终端用户的能够生成数据的任何设备,包括但不限于移动电话、可穿戴设备、家用电器、传感器等。数据服务服务器120可以由向终端用户提供服务的服务提供方管理。数据消费方130可以是想要访问来自数据服务服务器120的数据以进行进一步的数据分析以启用其他服务和/或获取更多利润的第三方(诸如另一设备)或另一服务提供方。

当终端用户正在访问由服务提供方提供的服务时,终端用户的个人数据可以从用户设备110被收集。所收集的个人数据可以被自动传送101到由服务提供方管理的数据服务服务器120并且被存储在该处。个人数据的这样的收集可以在具有或没有终端用户的授权的情况下执行。数据消费方客户端130可以向数据服务服务器120发送102用以访问所收集的个人数据的请求。响应于该请求,数据服务服务器120可以在不通知终端用户的情况下向数据消费方客户端130提供103所收集的个人数据。

从如图1所示的上述传统数据共享场景中可以看出,在传统解决方案中,终端用户无法控制哪些个人数据将被收集、存储和共享。服务提供方可以完全控制所收集的个人数据。终端用户不知道服务提供方和/或数据消费方如何使用其个人数据。终端用户不会被告知或通知其个人数据在何时、由何人以及如何被使用。服务提供方而非终端用户将从共享终端用户的个人数据中受益。此外,执法人员很难发现服务提供方是否侵犯/侵害了终端用户的隐私。服务提供方和数据消费方可以具有自己的个人数据使用的审计日志。但是,这些审计日志可能不公开,并且可能很容易被修改或篡改。

根据本公开的实施例,提出了一种用于数据共享的解决方案。在该解决方案中,引入了数据中介方,数据中介方充当终端用户与数据消费方之间的数据事务协调器。

终端用户可以收集其个人数据(诸如位置、医疗记录和购物记录),并且然后将数据加密并且将密文存储在数据存储服务器处,数据存储服务器可以由终端用户或第三方管理。终端用户可以支持两种收集方式来收集其个人数据。一种称为基于拉取的数据收集。这表示,数据消费方根据其业务目标来定义数据收集要求。终端用户可以直接从数据消费方或间接从数据中介方获取数据收集要求,并且然后如果他们愿意与数据消费方共享这些个人数据,则可以根据要求收集其个人数据。另一种称为基于推送的数据收集。这表示,终端用户收集其个人数据并且自行与其他人共享。

如果终端用户想要与其他人共享个人数据,则终端用户可以向数据中介方注册并且然后发布关于如何访问所共享的个人数据的对应智能合约。数据消费方也可以向数据中介方注册并且从而了解由终端用户发布的数据合约。如果数据消费方想要访问终端用户的所共享的个人数据,则它可以向数据中介方发送用以执行数据合约的请求。数据中介方可以向数据消费方发布授权令牌,使得数据消费方可以基于授权令牌访问终端用户的个人数据。关于数据消费方的访问的信息可以由数据中介方记录在分布式账本中。

因此,终端用户可以追踪其个人数据的数据使用。此外,该解决方案使得执法人员能够检测数据消费方在使用其个人数据时是否侵犯了终端用户的隐私。

图2示出了根据本公开的一些实施例的数据共享系统200的框图。如图2所示,通常,数据共享系统200包括数据共享代理210、数据中介方220、一个或多个数据消费方客户端230(也称为“数据消费方230”或“多个数据消费方230”)、一个或多个密钥管理服务器240(也称为“密钥管理服务器240”或“多个密钥管理服务器240”)和一个或多个数据存储服务器250(也称为“数据存储服务器250”或“多个数据存储服务器250”)。应当理解,数据共享系统200的结构和功能仅出于说明的目的而描述,而没有对本公开的范围提出任何限制。本公开的实施例也可以应用于具有不同结构和/或不同功能的不同系统。

在一些实施例中,数据共享代理210可以部署或实现在终端用户的用户设备处。例如,用户设备可以是可以生成数据的任何设备,包括但不限于移动电话、可穿戴设备、家用电器、传感器等。数据共享代理210可以从终端用户收集各种数据,诸如终端用户的个人信息的原始数据。另外,数据共享代理210可以被配置为进一步对终端用户的所收集的数据进行匿名化和/或脱敏。数据共享代理210可以利用密钥对经匿名化和/或经脱敏的数据进行加密,并且然后将经加密的数据发送到数据存储服务器250。如果终端用户想要与其他人共享他/她的数据,则数据共享代理210可以被引起向数据中介方220发送数据共享请求(以下也称为“第一请求”)。数据中介方220可以响应于第一请求而针对终端用户创建对应数据共享智能合约。可以向数据共享代理210指示数据共享智能合约的标识符。数据共享代理210可以将密钥与数据共享智能合约的标识符相关联地存储在密钥管理服务器240中。

在一些实施例中,数据中介方220可以是基于通用分布式账本平台的应用,该应用使得终端用户能够安全且自动地与数据消费方共享其个人数据。备选地,在一些实施例中,数据中介方220可以被实现为用于执行这样的应用的一个或多个设备。

在一些实施例中,数据中介方220可以包括注册管理单元221,注册管理单元221被配置为管理终端用户和数据消费方的注册。例如,数据中介方220可以基于加密哈希函数可选地连同其他参数(诸如数据中介方220的标识符、时间戳等)一起从他/她的公钥中得出终端用户或数据消费方的唯一标识符。终端用户和数据消费方可以自行保管其相应私钥。

在一些实施例中,数据中介方220可以包括智能合约管理单元222,智能合约管理单元222被配置为响应于从数据共享代理210接收到数据共享请求而针对终端用户创建对应数据共享智能合约。例如,数据共享请求可以指示由终端用户定义的用于共享数据的一个或多个策略。所创建的数据共享智能合约可以描述如何根据由终端用户定义的一个或多个策略来访问和共享数据。在一些实施例中,由终端用户定义的策略可以是细粒度策略,该细粒度策略表明,对数据的访问和共享应当满足一些特定要求,诸如数据消费方的位置、数据消费方的行业细分(例如,金融、医疗保健/制药、智慧城市、能源/公用事业等)、数据消费方的国家等。例如,一些终端用户可以设置禁止来自某些地区/地点的数据消费方访问其数据的这样的数据共享策略。所创建的数据共享智能合约可以由数据中介方220存储在账本处,诸如如图2所示的账本224-1、224-2、……、224-n(统称为“账本224”或个体地称为“账本”224)之一。例如,一个账本224可以存储一个或多个数据共享智能合约和/或一个或多个数据使用记录,如下所述。

在一些实施例中,每个数据共享智能合约可以与对应终端用户相关联。一个数据共享智能合约可以具有自己的唯一标识符,该标识符也作为用于执行数据共享智能合约的地址。数据共享智能合约的标识符可以基于加密哈希函数从终端用户的公钥、数据在数据存储服务器250中的地址并且可选地连同其他参数(诸如数据中介方220的标识符、时间戳等)一起被得出。也就是说,数据中介方220可以不保留终端用户的数据,而是保留数据在数据共享智能合约中的地址(指示从哪里取回数据)。

在一些实施例中,终端用户的个人数据可以作为密文存储在数据存储服务器250处,该数据存储服务器250可以由终端用户管理或由第三方(例如,数据服务提供方、云服务提供方等)管理。可选地,个人数据的完整性验证码可以与加密的个人数据相关联地存储。完整性验证码可以基于加密哈希函数从个人数据中获取并且然后利用终端用户的私钥进行签名。

在一些实施例中,响应于确定要访问的期望个人数据,数据消费方230可以向数据中介方220发送用以执行对应数据共享智能合约以用以访问数据的请求(也称为“第二请求”)。响应于从数据消费方230接收到第二请求,数据中介方220(诸如智能合约管理单元222)可以根据来自数据消费方230的请求而执行数据共享智能合约。

在一些实施例中,数据中介方220还可以包括如图2所示的授权管理单元223。例如,在数据共享智能合约的成功执行之后,可以由数据中介方220中的授权管理单元223生成授权令牌并且将其发出给数据消费方230。另外,对应数据使用记录、数据共享智能合约的标识符和授权令牌的哈希可以记录在分布式账本224中。对应数据使用记录可以记录关于数据消费方对个人数据的访问的信息,诸如个人数据被使用的方式、个人数据何时被使用、谁使用个人数据等。利用授权令牌和个人数据的地址,可选地连同终端用户的公钥(其可以用于验证个人数据的完整性)一起,数据消费方230可以访问期望的个人数据。

存储在分布式账本224中的数据使用记录使得终端用户和/或执法人员能够追踪个人数据的使用。例如,数据使用记录可以用于记录个人数据如何被使用和何时被使用、以及谁使用个人数据。在一些实施例中,可以针对由一个终端用户执行一个数据共享智能合约的一个数据消费方保留或存储一个数据使用记录。如上所述,一个账本224可以存储一个或多个数据使用记录和/或一个或多个数据共享智能合约。

在一些实施例中,每个数据使用记录可以具有其自己的标识符,该标识符可以基于加密哈希函数从对应数据共享智能合约的标识符、数据消费方的标识符并且可选地连同其他参数(诸如数据中介方220的标识符、时间戳等)一起被得出。

在一些实施例中,数据中介方220可以从数据消费方获取和发布个人数据收集要求(例如,诸如医疗记录和购物记录等数据类别、以及诸如要收集的性别和年龄等数据属性),这启用了基于拉取的数据收集。

在一些实施例中,数据中介方220可以优化个人数据收集。例如,为了提高系统性能和最大化终端用户的个人数据的价值,数据中介方220可以基于数据消费方230的要求和/或一些潜在应用场景来设计数据收集表格。数据收集表格可以指示将用于收集个人数据的数据格式,诸如要收集的数据项、数据字段、数据类型(例如,字符串、数字、日期)和/或数据长度。备选地,在一些实施例中,数据收集表格可以由第三方(诸如其他服务提供方)设计。数据中介方220可以向数据共享代理210指示数据收集表格,使得数据共享代理210可以基于数据收集表格从终端用户收集数据。以这种方式,数据中介方220可以引导终端用户以相同格式将其个人数据存储到一个或多个数据存储服务器,以促进对所存储的数据的访问。

在一些实施例中,密钥管理服务器240可以包括密钥管理单元241,密钥管理单元241被配置为将数据共享智能合约的标识符和用于加密与数据共享智能合约相关联的数据的对应密钥存储在存储单元243。在一些实施例中,密钥管理服务器240可以与数据中介方220一起部署,诸如部署在同一物理设备中。用于加密与数据共享智能合约相关联的数据的密钥可以从数据共享代理210接收并且由终端用户提供。例如,数据共享代理210可以使用密钥来加密经匿名化和/或经脱敏的个人数据。

在一些实施例中,经加密的个人数据可以存储在数据存储服务器250处,数据存储服务器250可以由终端用户管理或由第三方管理。在某些情况下,由终端用户管理的数据存储服务器也可以称为“本地数据存储服务器”。例如,对于企业,他们可以有能力管理这样的本地数据存储服务器。如图2所示,例如,数据存储服务器250可以包括数据管理单元251和存储单元252。例如,数据管理单元251可以被配置为从数据共享代理210接收加密数据,并且将经加密的数据存储到存储单元252中。

在一些实施例中,密钥管理服务器240还可以包括授权验证单元242,授权验证单元242负责验证由数据消费方230提供的授权令牌。例如,授权验证单元242可以在数据中介方220的帮助下验证授权令牌。在一些实施例中,由数据消费方230提供的授权令牌可以包括数据消费方230的标识符、对应数据共享智能合约的标识符和密钥管理服务器230的地址。授权验证单元242可以通过请求数据中介方220检查数据消费方230的标识符和对应数据共享智能合约的标识符是否与分布式账本224中的对应数据使用记录相匹配来验证授权令牌。如果授权验证单元242确定授权令牌有效,则它可以向数据消费方230发送加密密钥。

在一些实施例中,响应于从授权验证单元242接收到加密密钥,数据消费方230可以向数据存储服务器250发送针对加密数据的第三请求。数据存储服务器250中的数据管理单元251可以从存储单元252获取经加密的数据并且将其发送回数据消费方230。数据消费方230可以利用加密密钥解密从数据存储服务器250获取的经加密的数据。

为了提高个人数据的安全性,可以对个人数据进行加密,并且将其与加密密钥分开存储。在一些实施例中,经加密的个人数据可以存储在数据存储服务器250处,而加密密钥可以存储在密钥管理服务器240处。例如,数据存储服务器250和密钥管理服务器240可以在不同物理设备中实现。因此,即使密钥管理服务器240知道用于加密个人数据的密钥,密钥管理服务器240也不知道个人数据,因为密钥管理服务器240不知道个人数据的地址。同时,数据存储服务器250也不知道个人数据,因为数据是利用数据存储服务器250不知道的密钥加密的。

图3示出了根据本公开的一些实施例的用于数据共享的示例过程300的示意图。过程300涉及数据共享的准备阶段。为了讨论的目的,将参考图2描述过程300。流程300可以涉及如图2所示的数据共享代理210、数据中介方220、数据消费方230、密钥管理服务器240和数据存储服务器250。

如图3所示,数据中介方220可以确定302将用于从终端用户收集数据的数据格式(即,数据收集表格,其指示要收集的数据项、数据字段、数据类型(例如,字符串、数字、日期)和/或数据长度)。例如,数据中介方220可以从数据消费方230获取数据收集要求并且基于数据收集要求确定数据格式。数据中介方220可以向数据共享代理210指示304数据格式。根据由数据中介方220指示的数据格式,数据共享代理210可以从终端用户收集306数据。

响应于数据从终端用户被收集,数据共享代理210可以对所收集的数据进行匿名化和/或脱敏,并且利用密钥对经匿名化和/或经脱敏的数据进行加密,如图3中的308所示。数据共享代理210然后可以将经加密的数据安全地存储310在数据存储服务器250中。例如,数据共享代理210可以经由目前已知的或将进一步开发的任何安全性机制(诸如传输层安全性(tls)协议、ip安全性(ipsec)协议等)将经加密的数据发送到数据存储服务器250。

如果终端用户想要共享个人数据,则数据共享代理210可以向数据中介方220发送312用以共享用户的数据的第一请求。例如,第一请求可以包括以下中的一项或多项:终端用户的公钥、数据描述、数据使用策略、数据在数据存储服务器250中的地址等。

响应于接收到第一请求,数据中介方220可以针对终端用户创建314数据共享智能合约并且将所创建的数据共享智能合约发布316给一个或多个数据消费方(包括数据消费方230)。例如,所创建的数据共享智能合约可以基于由终端用户定义的策略来描述如何访问和共享终端用户的数据。数据共享智能合约的标识符可以基于加密哈希函数从终端用户的公钥、数据在数据存储服务器250中的地址以及可选地连同其他参数(诸如数据中介方220的标识符、时间戳等)一起被得出。所创建的数据共享智能合约可以存储在分布式账本224中。数据中介方220可以向数据共享代理210指示318数据共享智能合约的标识符。

数据共享代理210可以将数据共享智能合约的标识符和用于加密数据的密钥两者安全地存储320在密钥管理服务器240中。例如,数据共享代理210可以将数据共享智能合约的标识符和密钥经由目前已知的或将进一步开发的任何安全性机制(诸如tls、ipsec等)发送给密钥管理服务器240。密钥管理服务器240可以与加密密钥相关联地安全地保存数据共享智能合约的标识符。

这样,从终端用户收集的数据准备好被数据消费方访问。

图4示出了根据本公开的一些实施例的用于数据共享的示例过程400的示意图。例如,过程400可以在过程300之后执行。为了讨论的目的,将参考图2描述过程400。过程400可以涉及如图2所示的数据中介方220、数据消费方230、密钥管理服务器240和数据存储服务器250。

如图4所示,数据消费方230可以从由数据中介方220发布的一个或多个数据共享智能合约中确定402要执行的数据共享智能合约。所确定的数据共享智能合约可以对应于数据消费方230想要访问的终端用户的数据。数据消费方230可以向数据中介方220发送404用以执行数据共享智能合约以用于访问数据的第二请求。

响应于接收到第二请求,数据中介方220可以执行数据共享智能合约并且针对数据消费方230生成授权指示,如图4中的406所示。例如,数据共享智能合约可以指示由终端用户定义的用于共享数据的一个或多个策略。数据中介方220可以基于第二请求来确定数据消费方230对数据的访问是否符合一个或多个策略。如果数据消费方230的访问符合由终端用户定义的策略,则数据中介方220可以生成用于授权数据消费方230的访问的授权令牌。例如,授权令牌可以包括以下中的一项或多项:数据消费方230的标识符、数据共享智能合约的标识符、密钥管理服务器240的地址等。另外,数据中介方220可以通过基于其标识符执行数据共享智能合约来得出用户的公钥和数据在数据存储服务器250中的地址中的至少一项。数据中介方220可以向数据消费方230发送408授权令牌、数据的地址和/或终端用户的公钥(诸如用于验证个人数据的完整性)。

数据中介方220可以将关于数据消费方230对数据的访问的信息记录到数据使用记录中,并且将数据使用记录存储在分布式账本224中,如图4中的410所示。数据使用记录可以包括以下中的一项或多项:关于数据消费方对个人数据的访问的信息(诸如个人数据被使用的方式、个人数据何时被使用、以及谁使用个人数据)、数据消费方230的标识符、数据共享智能合约的标识符和授权令牌的哈希。

响应于从数据中介方220接收到授权令牌,数据消费方可以向密钥管理服务器240发送412授权令牌以获取加密密钥。密钥管理服务器240可以例如在如上所述的数据中介方220的帮助下验证414所接收的授权令牌。根据授权令牌中包括的数据共享智能合约的标识符,密钥管理服务器240可以查找加密密钥并且将加密密钥发送416到数据消费方230。

响应于从密钥管理服务器240接收到加密密钥,数据消费方230可以向数据存储服务器250发送418对针加密数据的第三请求。数据存储服务器250可以向数据消费方230发送420经加密的数据可选地连同数据的数据完整性验证码一起。数据消费方230可以利用加密密钥对经加密的数据进行解密,并且可选地基于数据完整性验证码和终端用户的公钥来验证数据的完整性,如图4中的422所示。

通过以上描述,可以看出,本公开的实施例提供了一种新的数据共享方案。该解决方案使得低级执法人员能够检测和确定服务提供方在使用和共享终端用户的个人数据时是否侵犯了终端用户的隐私。该解决方案还使得终端用户能够追踪服务提供方如何使用和共享其个人数据,即使服务提供方被授权这样做。此外,该解决方案使得终端用户能够自行管理和共享其个人数据以获取利润。

图5示出了根据本公开的一些实施例的用于数据共享的示例方法500的流程图。方法500可以在如图2所示的数据中介方220处实现。应当理解,方法500可以包括未示出的附加框和/或可以省略一些示出的框,并且本公开的范围不限于此。

在框510处,数据中介方220确定用以共享用户的数据的第一请求是否从收集数据的数据共享代理被接收到。

响应于接收到第一请求,在框520处,数据中介方220针对用户创建数据共享智能合约,数据共享智能合约指示关于数据的共享的信息。

在一些实施例中,第一请求可以包括由用户定义的用于共享数据的策略。数据中介方220可以基于该策略生成数据共享智能合约。

在一些实施例中,第一请求可以包括用户的公钥和存储在数据存储服务器中的日期的地址。数据中介方220可以至少基于公钥和地址来生成数据共享智能合约的标识符。

在一些实施例中,数据中介方220可以向数据共享代理发送数据共享智能合约的标识符。

在框530处,数据中介方220向一个或多个数据消费方发布数据共享智能合约。

在框540处,数据中介方220确定用以访问数据的第二请求是否从一个或多个数据消费方之一笨比接收到。

响应于接收到第二请求,在框550处,数据中介方220通过执行数据共享智能合约来生成数据消费方被授权访问数据的指示。

在框560处,数据中介方220向数据消费方发送该指示以使得数据消费方能够访问数据。

在一些实施例中,数据共享智能合约可以指示由用户定义的用于共享数据的策略。数据中介方220可以基于第二请求来确定数据消费方对数据的访问是否符合策略。响应于确定数据消费方对数据的访问符合策略,数据中介方220可以生成用以授权数据消费方访问数据的授权令牌。数据中介方220可以向数据消费方发送授权令牌。

在一些实施例中,可以至少基于用户的公钥和存储在数据存储服务器中的数据的地址来生成数据共享智能合约的标识符。数据中介方220可以通过基于标识符执行数据共享智能合约来确定用户的公钥和数据的地址中的至少一项。数据中介方220可以向数据消费方发送用户的公钥和数据的地址中的该至少一项。

在一些实施例中,在框510之前,数据中介方220可以确定将用于从用户收集数据的数据格式,并且向数据共享代理发送数据格式的指示,使得数据共享代理以该数据格式从用户收集数据。

在一些实施例中,响应于数据共享智能合约被创建,数据中介方220可以将数据共享智能合约存储在分布式账本中。

在一些实施例中,响应于指示该被发送给数据消费方,数据中介方220可以将关于数据消费方对数据的访问的信息记录在数据使用记录中并且将数据使用记录存储在分布式账本中。在一些实施例中,数据中介方220可以基于数据共享智能合约的标识符和数据消费方的标识符来生成数据使用记录的标识符。

图6示出了根据本公开的一些实施例的用于数据共享的示例方法600的流程图。方法600可以在如图2所示的数据消费方230处实现。应当理解,方法600可以包括未示出的附加框和/或可以省略一些示出的框,并且本公开的范围不限于此。

在框610处,数据消费方230从由数据中介方发布的一个或多个数据共享智能合约中确定与用户的要访问的数据相对应的数据共享智能合约。

在一些实施例中,数据可以利用密钥加密并且存储在数据存储服务器中,并且用于加密数据的密钥可以存储在与数据存储服务器不同的密钥管理服务器中。

在框620处,数据消费方230向数据中介方发用以执行数据共享智能合约以用于访问数据的第二请求。

在框630处,数据消费方230确定数据消费方被授权访问数据的指示是否从数据中介方被接收到。

响应于接收到该指示,在框640处,数据消费方230访问用户的数据。

在一些实施例中,该指示可以包括用以授权数据消费方访问数据的授权令牌和经加密的数据在数据存储服务器中的地址。数据消费方230可以向密钥管理服务器发送授权令牌。响应于从密钥管理服务器接收到用于加密数据的密钥,数据消费方230可以基于地址向数据存储服务器发送针对加密数据的第三请求。响应于从数据存储服务器接收到加密数据,数据消费方230可以通过利用密钥解密经加密的数据来访问数据。

在一些实施例中,该指示可以包括用户的公钥。数据消费方230可以从数据存储服务器获取用于验证数据完整性的验证码,该验证码是通过利用用户的私钥对数据的哈希值进行签名而生成的。数据消费方230可以基于验证码和用户的公钥来验证数据的完整性。

图7示出了根据本公开的一些实施例的用于数据共享的示例方法700的流程图。方法700可以在如图2所示的数据共享代理210处实现。应当理解,方法700可以包括未示出的附加框和/或可以省略一些示出的框,并且本公开的范围不限于此。

在框710处,数据共享代理210从用户收集数据。

在框720处,数据共享代理210利用密钥加密数据。

在框730处,数据共享代理210将经加密的数据存储在数据存储服务器中。

在框740处,数据共享代理210向数据中介方发送用以共享用户的数据的第一请求。

在框750处,数据共享代理210确定数据共享智能合约的标识符是否从数据中介方被接收到。

响应于接收到数据共享智能合约的标识符,在框760处,数据共享代理210将密钥与数据共享智能合约的标识符相关联地存储在密钥管理服务器中,数据共享智能合约指示关于数据的共享的信息。

在一些实施例中,数据共享代理210可以从数据中介方接收将用于收集数据的格式的指示。数据共享代理210可以以该数据格式从用户收集数据。

在一些实施例中,在框720之前,数据共享代理210可以对数据进行匿名化和/或脱敏。

在一些实施例中,数据共享代理210可以生成用于验证数据完整性的验证码,并且将该验证码与经加密的数据相关联地存储在数据存储服务器中。在一些实施例中,数据共享代理210可以基于加密哈希函数生成数据的哈希值,并且通过利用用户的私钥对哈希值进行签名来生成验证码。

在一些实施例中,一种能够执行方法500、600和/或700的装置可以包括用于执行方法500、600和/或700的相应步骤的部件。该部件可以以任何合适的形式实现。例如,该部件可以在电路系统或软件模块中实现。

在一些实施例中,一种能够执行方法500的装置(例如,数据中介方220)包括:用于响应于从数据共享代理接收到用以共享用户的数据的第一请求而针对用户创建数据共享智能合约的部件,数据共享智能合约指示关于数据的共享的信息;用于向一个或多个数据消费方发布数据共享智能合约的部件;用于响应于从一个或多个数据消费方中的数据消费方接收到用以访问数据的第二请求而通过执行数据共享智能合约来生成数据消费方被授权访问数据的指示的部件;以及用于向数据消费方发送该指示以使得数据消费方能够访问数据的部件。

在一些实施例中,一种能够执行方法600的装置(例如,数据消费方230)包括:用于在数据消费方处并且从由数据中介方发布的一个或多个数据共享智能合约中确定与用户的要访问的数据相对应的数据共享智能合约的部件;用于向数据中介方发送用以执行数据共享智能合约以用于访问数据的第二请求的部件;以及用于响应于从数据中介方接收到数据消费方被授权访问数据的指示而访问用户的数据的部件。

在一些实施例中,一种能够执行方法700的装置(例如,数据共享代理210)包括:用于从用户收集数据的部件;用于利用密钥加密数据的部件;用于将经加密的数据存储在数据存储服务器中的部件;用于向数据中介方发送用以共享用户的数据的第一请求的部件;以及用于响应于从数据中介方接收到数据共享智能合约的标识符而将密钥与数据共享智能合约的标识符相关联地存储在密钥管理服务器中的部件,数据共享智能合约指示关于数据的共享的信息。

在一些实施例中,该部件包括至少一个处理器;以及包括计算机程序代码的至少一个存储器,该至少一个存储器和计算机程序代码被配置为与至少一个处理器一起引起该装置的执行。

图8示出了可以用于实现本公开的实施例的设备800的示意框图。例如,如图2所示的数据共享代理210、数据中介方220、数据消费方230、密钥管理服务器240和/或数据存储服务器250可以通过设备800来实现。如图8所示,设备800包括中央处理单元(cpu)801,cpu801可以基于存储在只读存储器(rom)802中的计算机程序指令或从存储单元808上传到随机存取存储器(ram)803的计算机程序指令来执行各种适当的动作和处理。在ram803中,还存在存储设备800的操作所需要的各种程序和数据。cpu801、rom802和ram803经由总线804彼此连接。输入/输出(i/o)接口805也连接到总线804。

设备800中的以下组件连接到i/o接口805:包括:输入单元806,诸如键盘、鼠标等;输出单元807,诸如各种类型的显示器和扬声器;存储单元808,诸如磁盘、光盘等;通信单元809,诸如网卡、调制解调器、无线通信收发器。通信单元809允许设备800经由诸如互联网和/或电信网络等计算机网络与其他设备交换数据/信息。

诸如方法500、600和/或700等上述方法可以由处理单元801执行。例如,在一些实现中,方法500、600和/或700可以实现为物理上包含在诸如存储单元808等机器可读介质中的计算机软件程序。在一些实现中,计算机程序可以通过rom802和/或通信单元809部分或全部加载和/或安装在设备800上。当计算机程序被上传到ram803并且由cpu801执行时,上述方法500、600和/或700中的一个或多个步骤可以被执行。

本公开可以是系统、装置、设备、方法和/或计算机程序产品。计算机程序产品可以包括其上具有用于引起处理器执行本公开的各方面的计算机可读程序指令的计算机可读存储介质。

计算机可读存储介质可以是可以保留和存储供指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述各项的任何合适的组合。计算机可读存储介质的更具体示例的非详尽列表包括:便携式计算机软盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式光盘只读存储器(cd-rom)、数字多功能磁盘(dvd)、记忆棒、软盘、机械编码设备(诸如其上记录有指令的凹槽中的穿孔卡或凸起结构)、以及前述各项的任何合适的组合。本文中使用的计算机可读存储介质不应当被解释为瞬态信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,穿过光缆的光脉冲)、或通过电线传输的电信号。

本文中描述的计算机可读程序指令可以从计算机可读存储介质下载到相应计算/处理设备,或者经由网络(例如,互联网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并且转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。

用于执行本公开的操作的计算机可读程序指令可以是汇编器指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言(包括面向对象的编程语言(诸如smalltalk、c++等)和常规过程编程语言(诸如“c”编程语言或类似编程语言))的任何组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上,部分在用户的计算机上,作为独立软件包,部分在用户的计算机上并且部分在远程计算机上,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(lan)或广域网(wan))连接到用户的计算机,或者可以与外部计算机建立连接(例如,使用互联网服务提供方通过互联网进行连接)。在一些实施例中,包括例如可编程逻辑电路系统、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)在内的电子电路系统可以通过利用计算机可读程序指令的状态信息个性化电子电路系统来执行计算机可读程序指令,以便执行本公开的各方面。

本文中参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图而描述了本公开的各方面。应当理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。

这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的该指令能够创建用于实现流程图和/或框图框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,该计算机可读存储介质可以指导计算机、可编程数据处理装置和/或其他设备以特定方式起作用,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现在流程图和/或框图中指定的功能/动作的各方面的指令。

计算机可读程序指令也可以被加载到计算机、其他可编程数据处理装置或其他设备上,以引起一系列操作步骤在计算机、其他可编程装置或其他设备上被执行以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中指定的功能/动作。

流程图和框图示出了根据本公开的各个实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示代码模块、片段或部分,其包括用于实现指定逻辑功能的一个或多个可执行指令。在一些备选实现中,块框中标注的功能可以不按照图中标注的顺序发生。例如,根据所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行。还应当注意,框图和/或流程图的每个框以及框图和/或流程图中的框的组合可以由执行指定功能或动作或者执行特殊用途的硬件和计算机指令的组合的特殊用途的基于硬件的系统来实现。

本公开的各种实施例的描述是出于说明的目的而呈现的,而非旨在穷举或限于所公开的实施例。在不脱离所描述实施例的范围和精神的情况下,很多修改和变化对于本领域普通技术人员来说将是很清楚的。选择本文中使用的术语以最好地解释实施例的原理、实际应用或对市场中发现的技术的技术改进,或者使得本领域普通技术人员能够理解本文中公开的实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1