首页 / 专利库 / 银行与财务事项 / 区块链处理实体 / 使用区块链分类账保护对机密数据的访问

使用链分类账保护对机密数据的访问

阅读:638发布:2020-05-20

专利汇可以提供使用链分类账保护对机密数据的访问专利检索,专利查询,专利分析的服务。并且提供了使用 区 块 链 分类账保护对机密数据的 访问 的方法和系统。可以代表第二实体从第一实体接收对访问 许可 的更新,更新可以改变对机密 数据存储库 的访问许可。可以调用验证更新的 智能合约 。在区块链社区达成共识后,可以执行对第二实体的访问许可的更新。区块链社区可以是共享对机密数据存储库的访问的多个不同组织,并且更新可以被附加到存储区块链社区的访问许可的区块链分类账。,下面是使用链分类账保护对机密数据的访问专利的具体信息内容。

1.一种使用链分类账保护对机密数据的访问的方法,所述方法包括:
代表第二实体从第一实体接收对访问许可的更新,其中所述更新改变对机密数据存储库的访问许可;
调用验证所述更新的智能合约
在区块链社区达成共识后,执行对第二实体的访问许可的更新,其中所述更新被附加到存储所述区块链社区的访问许可的区块链分类账,所述区块链社区包括共享对所述机密数据存储库的访问的多个不同组织。
2.如权利要求1所述的方法,其中,所述智能合约使用身份管理系统来验证第一实体和第二实体的身份。
3.如权利要求2所述的方法,其中,所述智能合约验证第一实体的身份具有更新第二实体的身份的安全参数的许可。
4.如权利要求1所述的方法,其中,所述机密数据存储库包括虚拟专用数据库,并且所述访问许可对应于所述虚拟专用数据库的安全参数。
5.如权利要求4所述的方法,其中,更新后的访问许可向第二实体提供对所述机密数据存储库的行级别的访问。
6.如权利要求1所述的方法,其中,所述区块链分类账用于核实第一实体和第二实体的访问许可。
7.如权利要求6所述的方法,其中,所述区块链分类账包括所述区块链社区的访问许可交易的加密且不可变的分类账。
8.如权利要求1所述的方法,还包括:
从第二身份接收访问所述机密数据存储库的请求
从所述区块链中检索第二身份的更新后的访问许可;以及
允许第二身份访问用与更新后的访问许可对应的安全参数进行密钥加密的机密信息。
9.一种非瞬态计算机可读介质,具有存储在其上的指令,所述指令当由处理器执行时,使所述处理器保护对机密数据的访问,所述保护包括:
代表第二实体从第一实体接收对访问许可的更新,其中所述更新改变对机密数据存储库的访问许可;
调用验证所述更新的智能合约;
在区块链社区达成共识后,执行对第二实体的访问许可的更新,其中所述更新被附加到存储所述区块链社区的访问许可的区块链分类账,所述区块链社区包括共享对所述机密数据存储库的访问的多个不同组织。
10.如权利要求9所述的非瞬态计算机可读介质,其中,所述智能合约使用身份管理系统来验证第一实体和第二实体的身份。
11.如权利要求10所述的非瞬态计算机可读介质,其中所述智能合约验证第一实体的身份具有更新第二实体的身份的安全参数的许可。
12.如权利要求9所述的非瞬态计算机可读介质,其中所述机密数据存储库包括虚拟专用数据库,并且所述访问许可对应于所述虚拟专用数据库的安全参数。
13.如权利要求12所述的非瞬态计算机可读介质,其中,更新后的访问许可向第二实体提供对所述机密数据存储库的行级别的访问。
14.如权利要求9所述的非瞬态计算机可读介质,其中,所述区块链分类账用于核实第一实体和第二实体的访问许可。
15.如权利要求14所述的非瞬态计算机可读介质,其中,所述区块链分类账包括所述区块链社区的访问许可交易的加密且不可变的分类账。
16.如权利要求9所述的非瞬态计算机可读介质,其中,所述保护还包括:
从第二身份接收访问所述机密数据存储库的请求;
从所述区块链中检索第二身份的更新后的访问许可;以及
允许第二身份访问用与更新后的访问许可对应的安全参数进行密钥加密的机密信息。
17.一种使用区块链分类账保护对机密数据的访问的系统,所述系统包括:
处理器,与存储设备进行通信,其中所述处理器被配置为执行指令以:
代表第二实体从第一实体接收对访问许可的更新,其中所述更新改变对机密数据存储库的访问许可;
调用验证所述更新的智能合约;
在区块链社区达成共识后,执行对第二实体的访问许可的更新,其中所述更新被附加到存储所述区块链社区的访问许可的区块链分类账,所述区块链社区包括共享对所述机密数据存储库的访问的多个不同组织。
18.如权利要求9所述的系统,其中,所述智能合约使用身份管理系统来验证第一实体和第二实体的身份,并且所述智能合约验证第一实体的身份具有更新第二实体的身份的安全参数的许可。
19.如权利要求14所述的系统,其中,所述区块链分类账包括所述区块链社区的访问许可交易的加密且不可变的分类账。
20.如权利要求9所述的系统,其中,所述处理器还被配置为执行指令以:
从第二身份接收访问所述机密数据存储库的请求;
从所述区块链中检索第二身份的更新后的访问许可;以及
允许第二身份访问用与更新后的访问许可对应的安全参数进行密钥加密的机密信息。

说明书全文

使用链分类账保护对机密数据的访问

[0001] 对相关申请的交叉引用
[0002] 本申请要求于2018年5月29日提交的美国专利申请15/991,204的优先权,该申请的公开内容通过引用并入本文。

技术领域

[0003] 本公开的实施例一般而言涉及使用区块链分类账(blockchain ledger)保护对机密数据的访问。

背景技术

[0004] 诸如企业实体、政府或其它组织之类的组织已寻求相互合作,以发挥协同作用、实现业务需求或以其它方式实现目标。但是,与敏感信息相关联的险使组织无法共享某些类型的数据。虽然数据存储系统在保护敏感数据方面有所改进,但组织仍然对能够访问敏感数据的个人感到担心。最近的数据泄露已经表明,当多个实体共享对敏感数据的访问时,需要关于访问许可管理的透明度。发明内容
[0005] 本公开的实施例一般而言涉及用于使用区块链分类账来保护对机密数据的访问的系统和方法,其极大地改进了相关技术。
[0006] 可以代表第二实体从第一实体接收对访问许可的更新,该更新可以改变对机密数据存储库的访问许可。可以调用验证更新的智能合约。在区块链社区达成共识后,可以执行对第二实体的访问许可的更新。区块链社区可以是共享对机密数据存储库的访问的多个不同组织,并且更新可以附加到存储区块链社区的访问许可的区块链分类账。
[0007] 实施例的特征和优点在下面的描述中阐述,或者从描述中显而易见,或者可以通过本公开的实践来学习。附图说明
[0008] 根据以下结合附图的优选实施例的具体实施方式,进一步的实施例、细节、优点和修改将变得显而易见。
[0009] 图1图示了根据示例实施例的使用区块链分类账保护对机密数据的访问的系统。
[0010] 图2图示了根据示例实施例的可操作地耦合到区块链分类账系统的计算设备的框图
[0011] 图3图示了根据示例实施例的使用区块链分类账从安全数据存储库中检索机密数据的流程图
[0012] 图4图示了根据示例实施例的安全属性数据模型。
[0013] 图5图示了根据示例实施例的使用区块链分类账和智能合约访问机密数据的更新后的访问许可的流程图。
[0014] 图6图示了根据示例实施例的使用区块链分类账保护对机密数据的访问。

具体实施方式

[0015] 实施例使用区块链分类账来保护对机密数据的访问。区块链分类账可以是分布式电子分类账,其包括使用密码功能保护的连接记录或区块。区块链的实现可以是递归的,其中分类账中的每个区块包括其前面的区块的密码散列。因此,区块链分类账可以为分类账所代表的例如从创始区块(或交易)到最近区块(或交易)的基础记录或交易提供透明度。
[0016] 实施例使用区块链分类账来管理对机密信息的访问许可。例如,一些现实世界的情况要求多个组织共享对机密信息的访问。这些情况可以包括由诸如国家政府之类的团体或实体共享被识别为敏感或机密的信息,以便向诸如国家安全服务的团体或实体提供服务。其它情况可以类似地从共享机密信息中受益,诸如依赖机密信息或专有信息的组织之间的合资企业(joint venture)等。
[0017] 在一些实施例中,每个组织处的身份(identity)(诸如个人)可以被授权访问各种级别的机密信息。例如,机密信息可以存储在数据库中并且用不同的安全参数(例如,安全分类级别、标题、项目名称、发布等)进行密钥加密(key)。每个组织的身份的访问许可可以允许访问用与各个访问许可对应的安全参数进行密钥加密的机密信息。
[0018] 实施例通过使用区块链分类账管理访问许可和对访问许可的更新来保护对跨不同组织的这些各个身份的机密信息的访问。例如,共享对机密信息的访问的不同组织可以代表区块链社区的成员。当组织请求更新其身份之一的访问许可时,可以触发一系列动作(例如,可以调用智能合约)来执行交易。可以通过请求组织/身份向区块链社区提出更改。一旦区块链社区达成共识,智能合约就可以执行更改。交易或区块可以被附加到区块链,该区块链反映对身份的访问许可的变化。
[0019] 因此,区块链分类账可以存储(例如,参与组织的)社区成员的身份的最新且透明的访问许可。在一些实施例中,当身份请求访问机密信息时,数据库可以查询区块链以检索发出请求的身份的最新访问许可。然后,可以使用这些访问许可从数据库中检索对应的机密信息,从而确保使用最新且透明的访问许可来仅检索身份被允许访问的机密信息。
[0020] 现在将详细参考本公开的实施例,其示例在附图中示出。在以下具体实施方式中,阐述了许多具体细节以便提供对本公开的透彻理解。但是,对于本领域普通技术人员显而易见的是,可以在没有这些具体细节的情况下实践本公开。在其它情况下,没有详细描述众所周知的方法、过程、组件和电路,以免不必要地模糊实施例的各方面。只要有可能,相同的标号将用于相似的元素。
[0021] 图1图示了根据实施例的使用区块链分类账保护机密数据的系统。系统100包括实体102、伙伴(partner)104和106、区块链108、区块链副本110和112、以及数据库114。在一些实施例中,实体102可以是能够访问存储在数据库114中的机密信息的组织。例如,数据库114可以是虚拟专用数据库,诸如实现虚拟专用数据库(“VPD”)协议(例如, 标签安全性( Label Security))的 数据库。存储在数据库114中的数据可
以由实体102的身份(例如,经认证的个人)基于对身份的受管理的访问许可来访问。
[0022] 在一些实施例中,伙伴104和106也可以是共享对存储在数据库114中的机密信息的访问的组织。例如,实体102可以是参与与伙伴104和106的合资企业的组织,其中每个组织可以访问存储在数据库114中的不同级别的机密信息。实体102和伙伴104和106可以各自具有相关联的身份(例如,个人),其具有被配置为从用某些安全参数保护的数据库114中访问某些数据的访问许可。
[0023] 可以使用区块链分类账108和区块链分类账副本110和112来管理与实体102和伙伴104和106中的每一个相关联的身份集合的访问许可。例如,对该身份集合的访问许可的改变可以由区块链分类账108透明且不可变地表示。在一些实施例中,区块链分类账108可以包括该身份集合的初始访问许可集合,并且区块链分类账108的附加区块表示对初始访问许可集合的改变。在这样的实现中,区块链分类账108可以存储该身份集合的最新访问许可,同时还存储对这些身份的访问许可的所有改变的交易历史。在一些实施例中,区块链分类账108管理中央分类账,而区块链分类账副本110和112存储该中央分类账的副本。
[0024] 在示例实现中,实体102可以包括身份A和B。身份A可以请求对身份B的访问许可的改变。可以将该改变提交给区块链社区(例如,实体102和伙伴104和106)。一旦区块链社区取得共识或批准更改,就可以将区块附加到区块链分类账108,该区块表示为身份B请求的访问许可更改。
[0025] 在实施例中,当身份B请求访问机密信息时,数据库114可以通过区块链分类账108检索为身份B存储的最新访问许可。这种安全和透明的访问许可管理确保了身份B只能访问区块链社区已经许可的安全信息。
[0026] 在一些实施例中,实体102可以在 数据库内配置数据库114并生成保护所存储的数据的商定安全模型。该模型可以包括可发布性标记、查核(clearance)、项目名称等。然后,使用(例如,对于国家安全客户的)数据发布加速器、 标签安全性和/或VPD来控制存储在系统内的数据。然后,实体102可以在区块链成员资格(例如,伙伴104和
106)中的每个可信方之间配置区块链108,并且可以与区块链交互/访问区块链的有效用户可以由成员商定。在一些实施例中,可以在区块链上生成智能合约,该智能合约允许各个用户添加或更改用户的安全属性。
[0027] 实施例实现了优于先前实现的系统的许多技术优点。例如,使用区块链管理、存储和检索对共享机密信息的访问许可的实施例可以在共享机密信息的成员组织之间提供增强的透明度,从而鼓励采用数据共享。对区块链的更改被不可变地存储,因此访问许可可用于高效审计。区块链存储的透明度和不变性还允许数据共享伙伴确保有效地管理商定的安全控制,从而进一步鼓励采用数据共享。
[0028] 此外,在允许访问用户/身份之前直接从区块链中检索访问许可确保了使用最新(和透明管理)的访问许可。一些实现利用安全且轻量级的访问许可/安全属性模型(例如,标签安全性),从而为区块链提供计算上高效的访问许可。例如,庞大的访问许可可能很快导致大的区块链,这在附加区块时将产生更具挑战性的计算问题。
[0029] 此外,使用分布式和安全加密的记录分类账降低了泄露风险,该泄露风险在使用中央数据库的现有实现中普遍存在。例如,访问许可的透明管理使得能够进行可追溯性,使得社区可以阻止来自不受信任的参与者/身份的访问。实施例扩展了基于属性的访问控制(“ABAC”),以提供用于管理对机密数据的访问的更安全和技术上改进的实现。
[0030] 图2是根据实施例的计算机服务器/系统210的框图。如图2所示,系统210可以包括总线设备212和/或其它通信机制,该其它通信机制被配置为在系统210的各种组件(诸如处理器222和存储器214)之间传送信息。此外,通信设备220可以通过对要通过网络(未示出)从处理器222发送到另一个设备的数据进行编码以及通过网络为处理器222从另一个系统接收的数据进行解码来实现处理器222与其它设备之间的连接性。
[0031] 例如,通信设备220可以包括被配置为提供无线网络通信的网络接口卡。可以使用各种无线通信技术,包括红外、无线电、 Wi-Fi和/或蜂窝通信。替代地,通信设备220可以被配置为提供有线网络连接,诸如以太网连接。
[0032] 处理器222可以包括一个或多个通用或专用处理器,以执行系统210的计算和控制功能。处理器222可以包括单个集成电路,诸如微处理设备,或者可以包括协同工作以完成处理器222的功能的多个集成电路设备和/或电路板。此外,处理器222可以执行存储在存储器214内的计算机程序,诸如操作系统215、访问许可管理器216和其它应用218。
[0033] 系统210可以包括存储器214,用于存储信息和由处理器222执行的指令。存储器214可以包含用于检索、呈现、修改和存储数据的各种组件。例如,存储器214可以存储在由处理器222执行时提供功能的软件模块。模块可以包括为系统210提供操作系统功能的操作系统215。模块可以包括操作系统215、访问许可管理器216,以及其它应用模块218。操作系统215为系统210提供操作系统功能。访问许可管理器216可以提供用于存储和/或管理对区块链的访问许可的功能,或者还可以提供本公开的任何其它功能。在一些情况下,访问许可管理器216可以被实现为存储器中(in-memory)配置。
[0034] 非瞬态存储器214可以包括可以由处理器222访问的各种计算机可读介质。例如,存储器214可以包括随机存取存储器(“RAM”)、动态RAM(“DRAM”)、静态RAM(“SRAM”)、只读存储器(“ROM”)、闪存、高速缓存存储器和/或任何其它类型的非瞬态计算机可读介质的任何组合。
[0035] 处理器222还经由总线212耦合到显示器224,诸如液晶显示器(“LCD”)。键盘226和光标控制设备228(诸如计算机鼠标)还耦合到通信设备212以使用户能够与系统210对接。
[0036] 在一些实施例中,系统210可以是较大系统的一部分。因此,系统210可以包括一个或多个附加功能模块218以包括附加功能。其它应用模块118可以例如包括嵌入在中的参与引擎(“EE”)的各种模块或者 区块链云服务的模块。数据
库217耦合到总线212,以向模块216和218提供集中式存储。数据库217可以将数据存储在逻辑上相关的记录或文件的集成集合中。数据库217可以类似于图1的数据库114、操作数据库、分析数据库、数据仓库、分布式数据库、最终用户数据库、外部数据库、导航数据库、存储器中数据库、面向文档的数据库、实时数据库、关系数据库、面向对象的数据库、Hadoop分布式文件系统(“HFDS”)、NoSQL数据库或本领域已知的任何其它数据库。
[0037] 虽然被示出为单个系统,但系统210的功能可以被实现为分布式系统。例如,存储器214和处理器222可以分布在共同表示系统210的多个不同计算机上。在一个实施例中,系统210可以是设备(例如,智能电话、平板电脑、计算机等)的一部分。
[0038] 在实施例中,系统210可以与设备分离,并且可以远程地为设备提供所描述的功能。另外,可以不包括系统210的一个或多个组件。例如,对于作为用户或消费者设备的功能,系统210可以是智能电话或者其他无线设备,该其他无线设备包括处理器、存储器和显示器,不包括图2中所示的其它组件中的一个或多个,并且包括未在图2中示出的附件组件。
[0039] 在一些实施例中,系统210或类似系统可以由区块链社区成员实现以处理区块链分类账交易。例如,系统210可以用于执行与将区块附加到区块链分类账相关的密码功能,或用于执行其它相关的区块链密码功能(例如,与工作相关的计算、验证、共识等的证明)。例如,系统210可以实现 区块链云服务或任何其它云服务和/或区块链服务的功
能。
[0040] 图3图示了根据示例实施例的用于检索由区块链分类账保护的机密数据的流程。流程300包括用户302、服务304、数据库306和区块链308。用户302可以是作为区块链社区的一部分的组织(例如,图1的实体102)的用户。服务304可以包括适合于实现各种实施例的软件服务,包括身份管理服务、数据库查询服务、web服务等。示例服务可以由各种区块链和/或企业数据解决方案提供,诸如由各种Hyperledger(超级分类账)区块链项目(例如,Hyperledger架构)和/或 区块链云服务执行的服务。数据库306可以类似于图1
的数据库114或图2的数据库217,并且区块链308可以类似于图1的区块链分类账108。
[0041] 在实施例中,用户302可以使用服务304来执行身份认证。例如,服务304之一可以包括用于与用户302相关联的组织(例如,图1中的实体102)的身份管理系统。可以认证用户302的身份的示例身份管理系统是 身份云服务(“IDCS”)。在一些实施例中,组织可以实现基于云的用户认证系统,诸如在美国专利号9,838,376中描述的系统。还可以实现任何其它合适的身份管理系统。
[0042] 一旦用户302的身份被认证,用户就可以利用服务304来向数据库306查询机密信息。作为响应,数据库306可以例如基于用户先前的认证来验证用户302。在实施例中,身份管理服务可以提供可以用于验证的凭证,诸如令牌。例如,IDCS服务可以为用户302提供一个或多个令牌,使得各种其它系统(诸如数据库306)可以验证用户的身份。
[0043] 一旦验证了用户302的身份,数据库306就可以从区块链308中检索经验证的身份的访问许可或安全属性。在一些实施例中,区块链308可以被认为是基于密钥的分类账,并且每个身份将在分类账上具有密钥(或地址)。在这样的实施例中,数据库306可以在区块链308上检索用户302的密钥值,因为区块链308的该位置处的数据对应于用户302的身份的安全属性。
[0044] 在一些实施例中,区块链308可以包括存储区块链的当前“世界的状态”的数据库(例如,与数据库306的机密数据存储库分离),其中每当交易被添加到分类账时,世界的状态都被更新。例如,该数据库可以是NoSQL数据库,并且可以执行半复合(semi-complex)查询来检索数据。
[0045] 在实现中,区块链308的“世界的状态”可以包括区块链308对其管理访问许可的身份的最新访问许可。在这样的实现中,可以从该数据库检索最新的访问许可,并用于访问存储在数据库306中的机密数据。在这样的实施例中,虽然数据库用于存储对机密数据的最新访问许可,但是区块链308仍然维护不可变记录并管理这些访问许可的交易的执行。因此,区块链308仍然提供透明度并确保正在实现用于管理对机密数据的访问的建立策略。
[0046] 如图3所示,可以使用属性模型来定义身份的访问许可。在图示的示例访问许可属性模型中,身份具有“秘密(SECRET)”查核(clearance)、被查核为简称(briefing)“A”,“B”和“C”、属于组(group)“麻醉品(narcotics)”和“恐怖主义(terrorism)”、并且与项目(project)“闪电(lightning)”和“雷(thunder)”相关联。
[0047] 图4图示了根据实施例的用于安全数据的属性模型。例如,类似于图3中针对身份所示的访问许可属性模型,安全数据可以类似地用安全属性402进行密钥加密。安全属性402可以包括“标题”,其可以类似于简称、“分类”、“项目”和“发布”。关于访问存储在数据库
306中的机密数据,可以允许具有与保护一条机密数据的安全属性对应的访问许可的用户/身份来访问/检索数据。
[0048] 例如,一些实现将安全数据存储在关系数据表内。这些关系数据表的表、行和/或列可以具有限制对数据的访问的不同安全级别。在实施例中,可以使用安全属性的第一混合(mix)来保护第一表(例如,集合或行和/或列),而使用安全属性的第二混合来保护第二表。另外,一些实施例包括这些数据表的列/行级别的安全属性的不同混合。因此,可以允许具有对应安全属性的身份从第一表而非第二表检索数据,并且在一些实现中可以允许从第一表的某些列/行检索数据但不允许从第一表的其它列/行检索数据。
[0049] 在一些实施例中,数据库306可以是实现 标签安全性的VPD。例如,数据库306可以被配置为使用由区块链社区的成员商定的安全模型来存储数据。例如,安全模型可以包括发布标记、查核级别、项目名称、图4中所示的其它安全属性等。可以使用其它VPD和标签安全性特征来保护对存储数据的访问,并且在一些情况下可以使用
数据发布加速器。
[0050] 考虑图3中所示的检索到的安全属性或访问许可,允许用户302的经认证和验证的身份基于用户302的身份的访问许可与子集404的安全属性之间的对应关系来检索用子集404的安全属性进行密钥加密的信息。身份的访问许可和/或机密数据的安全属性可以类似地结构化,或者在一些实施例中可以不同。
[0051] 此外,访问许可/安全属性可以包括分层(hierarchical)结构,诸如高级别安全查核、较高级别安全查核和最高级别安全查核。在此示例中,具有最高级别安全查核的访问许可被允许访问/检索最高级别、较高级别和高级别安全数据,具有较高级别安全查核的访问许可被允许访问/检索较高级别和高级别安全数据,并且具有高级别安全查核的访问许可仅被允许访问/检索高级别安全数据。其它访问许可/属性可以类似地实现分层功能。
[0052] 返回到图3,可以将与用户302的身份的返回访问许可对应的用安全属性进行密钥加密的所请求的机密数据返回给用户302/服务304。例如,如果用户302/服务304请求从数据库306检索安全数据集合,则由数据库306返回的安全数据将是从区块链308返回的与用户302的经认证身份的访问许可对应的所请求数据。
[0053] 图5图示了根据实施例的用于更新身份的访问许可的流程。流程500包括用户502和504(例如,分别为Bob和Jane)、智能合约506、身份服务508、区块链510和更新后的区块链512。
[0054] 在实施例中,用户502和504可以是与作为区块链社区的一部分的第一组织相关联的用户,如本公开中所讨论的。用户504的访问许可可以例如基于对用户的工作分配的改变或任何其它合适的情况而不时地更新。因此,用户502可以请求改变用户504的访问许可。在该示例中,可以例如在身份服务508内向用户502委派某些特权以改变与第一组织相关联的用户的访问许可。在其它实施例中,用户504可以请求更新这些访问许可,并且可以遵循类似于流程500的流程。
[0055] 示例身份服务508是 IDCS,如在本公开中进一步讨论的。在该示例中,身份服务508可以附属于第一组织,但是可以类似地实现其它结构,诸如管理各种组织(例如,区块链社区内的第一组织和其它组织)的身份的身份服务。
[0056] 在实施例中,为了使用户502请求更新用户504的访问许可,可以调用智能合约服务来执行智能合约506,该智能合约506可以是最终实现更新的一系列动作。智能合约可以被视为由软件执行的半自动化动作系列,其遵循基于动作的结果的执行流程。由软件执行的示例智能合约可以包括共识动作。例如,一旦社区的大多数人同意某个动作,社区就可以同意应该采取该动作,诸如执行一段软件代码。智能合约可以电子地从社区接收关于是否应该采取动作的投票或其它指示,并且一旦社区的大多数人已经同意,智能合约就可以自动执行该动作(例如,一段代码)。
[0057] 智能合约506可以首先用身份服务508来认证用户502和504(例如,Bob和Jane)的身份。在实施例中,智能合约506然后可以确定用户502Bob是否有权改变用户504Jane的访问许可。在一些实施例中,改变访问许可的授权可以基于所请求的改变。
[0058] 例如,用户502可以具有身份服务508和第一组织内的色。如果所请求的改变是第一类型,诸如强制访问控制改变(例如,对安全查核级别的改变),则当用户的角色允许第一类型的改变时(例如,第一组织内的安保人员),用户502将被允许做出改变。如果所请求的改变是第二类型,诸如自主访问控制改变(例如,对组或项目的改变),则当用户的角色允许第二类型的改变时(例如,第一组织内的组/项目的管理员),用户502将被允许做出改变。在一些实施例中,组织/身份管理系统还可以包含附加的业务逻辑/规则,这些附加的业务逻辑/规则确定何时用户被允许改变组织的(其它)用户的访问许可。
[0059] 如果用户502和504已经被成功认证并且用户502被允许执行对用户504的访问许可所请求的特定改变,则智能合约506可以向区块链510提出改变。如以上所讨论的,区块链510可以包括多个区块链社区成员(例如,组织)。区块链社区的成员可以验证所提出的更改,并且当取得对区块链的共识时,可以将区块附加到区块链510以生成更新后的区块链
512。因此,流程500已经生成不可变且透明的记录分类账,该记录分类账表示对与区块链社区的成员附属的用户的访问许可(例如,用于访问共享的安全数据)的改变。
[0060] 在一些实施例中,可以使用实际拜占庭容错(“PBFT”)算法、授权证明(“PoA”)和/或经过时间证明(“PoET”)算法中的一个或多个来获得区块链508的共识。诸如由Hyperledger架构实现的PBFT算法可以提供在商定节点之间的共识。PBFT的一个益处是它可以减少恶意节点,这可以用在不太可信的许可分类账中或防止区块链社区中的组织被恶意代码破坏的风险。PoA已经指定了一旦足够多的(例如,大多数)指定节点同意就将更新交易的节点。这在其中一些节点具有权限而其它节点没有权限的许可分类账中是有用的。PoET基于扩展跨许可分类账的节点执行交易的机会。当可以信任任何节点(或节点的子集中的任何节点)来改变许可分类账时,这会是有用的。
[0061] 在一些实施例中,当取得共识并且将新区块添加到区块链时,该区块与前一区块的散列、时间戳、随机数(任意随机数)以及正被添加在该区块中的数据的散列一起存储。在一些实施例中,数据本身未被加密并且在技术上可以由区块链分类账的节点读取。虽然在一些实施例中数据本身未被加密,但是身份受到保护,因为每个身份由地址引用(例如,在区块链内)。换句话说,身份A具有“绝密”查核的事实可以得到保护,因为身份A的地址列出了查核级别。在一些实施例中,可以对访问许可集合进行加密,诸如具有“绝密”查核的访问许可或一些其它敏感访问许可。在该示例中,可以向数据库提供解密密钥,使得可以向验证节点提供解密数据以对其进行验证。
[0062] 实施例可以利用任何合适的软件服务并实现各种版本的区块链技术。例如,实施例可以包括一个或多个配置的Hyperledger项目,诸如架构(Fabric),以实现所公开的功能。在一些实施例中,区块链利用的数据处理和密码功能可以包括公钥、私钥以及数字签名密码技术、散列函数和密码散列函数(例如,安全散列算法(“SHA”)、SHA-0、SHA-1、SHA-2等)、以及用于保护分类账同时还维持可行计算(例如,“工作证明”)场景的任何其它合适的数据处理或密码功能。
[0063] 实施例还可以实现任何合适的“智能合约”或任何合适的替代物。例如,Hyperledger“链代码”可以被配置为执行所公开的智能合约功能,或者可以实现任何其它合适的自动功能或代码。
[0064] 在一些实施例中,对用户的访问许可的改变可以在区块链社区的子集之间保持私密。例如,超级分类账(Hyper Ledger)架构的“通道”特征可以用于实现给定通道的成员子集之间的私有通信。在其它实施例中,可能存在具有类似概念的其它区块链实现。此功能可以在区块链社区内的各方之间提供私有交易。例如,组织A和组织B可以对给定身份的访问许可应用更改,但是此更改可以对区块链社区的其它成员隐藏。
[0065] 在这样的实施例中,数据库可以访问该私有交易,因此数据库被给予查看该私有数据的许可,或者可以为子集生成私有分类账,并且可以在暴露对其自己的系统的访问时使用私有分类账(并且这些系统将连接到该私有分类账)。在这些实施例中,参考审计,对区块链分类账的更改限于各方/组织可以访问的分类账。
[0066] 实施例还可以包括可以用于与区块链(或区块链的副本)对接的一个或多个分布式应用或app。例如,区块链社区的成员(例如,共享机密数据的组织)的用户可以使用在客户端计算设备(例如,服务器、膝上型电脑、移动设备等)上运行的一个或多个应用或app(例如,移动app或轻量级应用)来访问区块链。例如,应用可以被配置为(使用一个或多个软件服务)与存储区块链社区的机密信息的数据库进行交互,以便请求访问机密信息的部分。在另一个示例中,应用可以被配置为从智能合约接收提议,使得可以访问/操纵区块链(或区块链的副本)。例如,应用可以用于取得共识并最终处理区块链以附加新区块。
[0067] 在一些实施例中,区块链社区的成员可以使用管理现有安全协议的配置系统或经由网站(例如,定制web或移动户)与区块链进行交互。在现有身份系统的情况下,可以通过正常通道(例如,通过改变组织中的角色、简要介绍项目等)来更新用户的属性,然后身份系统可以调用区块链并运行智能合约将这些更改应用于用户的身份(例如,应注意的是,身份的区块链地址将被记录在其身份属性中)。在一些实施例中,可以涉及一方/一个组织,即,组织的雇员被授权访问在该组织所拥有的机密数据库中保持的数据。
[0068] 在一些实施例中,用户可以与网站(例如,门户)进行交互并与web表单对接以提供访问许可改变的细节。这可以包括添加/改变的访问许可(例如,项目、可发布性、组、标签等)以及正在为其实现改变的用户/身份的地址。在一些实施例中,发出请求的用户的地址也被包括在该提交中(例如,为了使智能合约检查该用户的更改许可)。这样的交互可以触发区块链上的智能合约以验证请求,如以上进一步讨论的。在一些实施例中,还可以例如在智能合约或web表单内执行附加工作流程(例如,以批准请求)。
[0069] 图6图示了根据示例实施例的使用区块链分类账保护对机密数据的访问的示例功能。在一个实施例中,以下图6的功能由存储在存储器或其它计算机可读或有形介质中的软件来实现,并由处理器执行。在其它实施例中,每个功能可以由硬件(例如,通过使用专用集成电路(“ASIC”)、可编程门阵列(“PGA”)、现场可编程门阵列(“FPGA”)等)或硬件和软件的任何组合来执行。
[0070] 在602处,可以代表第二实体从第一实体接收对访问许可的更新,其中该更新改变对机密数据存储库的访问许可。参考图1,实体102(或伙伴104和/或106)的第一身份可以请求改变实体102的第二身份的访问许可。在一些实施例中,访问许可可以保护存储在数据库114处的机密数据。数据库114可以实现包括VPD和/或 安全标签协议的安全模
型,并且访问许可可以对应于虚拟专用数据库的安全参数。在实施例中,更新后的访问许可向第二实体提供对机密数据存储库的行级别的访问。
[0071] 在604处,可以调用智能合约来验证更新。例如,可以调用智能合约来验证第一身份具有许可来更新第二身份的访问许可。在实施例中,可以使用身份管理系统(例如,IDCS)和用于实体102的一个或多个软件服务来执行这种验证。
[0072] 在606处,可以将更新提交给区块链社区的多个成员。例如,可以向区块链社区的成员(例如,伙伴104和106)提出经验证的更新。在实施例中,区块链分类账用于核实第一实体和第二实体的访问许可。在608处,在区块链社区达成共识后,可以执行对第二实体的访问许可的更新,其中该更新被附加到存储区块链社区的访问许可的区块链分类账,该区块链社区包括共享对机密数据存储库的访问的多个不同组织。
[0073] 在610处,可以用更新来填充区块链分类账的分布式副本。例如,新区块可以被附加到区块链108,并且区块链副本110和112可以用新区块来填充。在实施例中,区块链108可以是区块链社区的访问许可交易的加密且不可变的分类账。
[0074] 在612处,可以从区块链中检索第二身份的更新后的访问许可。例如,可以从第二身份接收从数据库114检索机密数据的请求。响应于接收到请求,数据库114可以从区块链108中检索第二身份的更新后的访问许可。
[0075] 在614处,第二实体可以使用更新后的访问许可来访问机密信息。在实施例中,数据库114可以返回从数据库114请求的机密信息,该机密信息具有对应于检索到的第二身份的访问许可的安全属性。例如,可以允许第二实体访问用与更新后的访问许可对应的安全参数进行密钥加密的机密信息。
[0076] 实施例使用区块链分类账来管理对机密信息的访问许可。例如,一些现实世界的情况要求多个组织共享对机密信息的访问。这些情况可以包括由诸如国家政府之类的团体或实体共享被识别为敏感或机密的信息,以便向诸如国家安全服务的团体或实体提供服务。其它情况可以类似地从共享机密信息中受益,诸如依赖机密信息或专有信息的组织之间的合资企业等。
[0077] 在一些实施例中,每个组织处的身份(诸如个人)可以被授权访问各种级别的机密信息。例如,机密信息可以存储在数据库中并且用不同的安全参数(例如,安全分类级别、标题、项目名称、发布等)进行密钥加密。每个组织的身份的访问许可可以允许访问用与各个访问许可对应的安全参数进行密钥加密的机密信息。
[0078] 实施例通过使用区块链分类账管理访问许可和对访问许可的更新来保护对跨不同组织的这些各种身份的机密信息的访问。例如,共享对机密信息的访问的不同组织可以代表区块链社区的成员。当组织请求更新其身份之一的访问许可时,可以触发一系列动作(例如,可以调用智能合约)来执行交易。可以通过请求组织/身份向区块链社区提出更改。一旦区块链社区达成共识,智能合约就可以执行更改。交易或区块可以被附加到区块链,该区块链反映身份的访问许可的更改。
[0079] 因此,区块链分类账可以存储(例如,参与组织的)社区成员的身份的最新且透明的访问许可。在一些实施例中,当身份请求访问机密信息时,数据库可以查询区块链以检索发出请求身份的最新访问许可。然后,可以使用这些访问许可从数据库中检索对应的机密信息,从而确保使用最新且透明的访问许可来仅检索身份被允许访问的机密信息。
[0080] 贯穿本说明书描述的本公开的特征、结构或特性可以在一个或多个实施例中以任何合适的方式组合。例如,在整个说明书中,“一个实施例”、“一些实施例”、“某个实施例”、“某些实施例”或其它类似语言的使用是指结合实施例描述的特定特征、结构或特性可以被包括在本公开的至少一个实施例中的事实。因此,贯穿本说明书出现的短语“一个实施例”、“一些实施例”、“某个实施例”、“某些实施例”或其它类似语言不一定都指代相同的一组实施例,并且所描述的特征、结构或特性可以在一个或多个实施例中以任何合适的方式被组合。
[0081] 本领域普通技术人员将容易理解,如上所讨论的实施例可以以不同顺序的步骤和/或在配置中用与所公开的元件不同的元件来实践。因此,虽然本公开考虑了概述的实施例,但是对于本领域技术人员显而易见的是,某些修改、变化和替代构造将是显而易见的,同时保持在本公开的精神和范围内。因此,为了确定本公开的范围和界限,应该参考所附权利要求
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈