会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 分布式账本技术 / 用于使用分布式账本技术进行安全密钥管理的系统和方法

用于使用分布式账本技术进行安全密钥管理的系统和方法

申请号 CN202280038672.4 申请日 2022-03-24 公开(公告)号 CN117396869A 公开(公告)日 2024-01-12
申请人 科里布拉比利时股份有限公司; 发明人 萨蒂恩德·戈埃尔;
摘要 本公开针对用于使用分布式账本技术(DLT)来安全地管理和治理加密/解密密钥的系统和方法。在一些示例中,客户端可以拥有数据属性(或数据属性的数据集)。客户端可以接收令牌化参数以应用于数据属性,从而加密数据属性。在将数据属性令牌化之后,客户端然后可以请求创建加密密钥以应用于令牌。第三方密钥管理系统(KMS)可以创建加密密钥和盐值。可以将盐值应用于令牌,并且然后,可以加密加盐令牌。另外,可以创建解密密钥并将其安全地存储在第三方KMS处。客户端可以将经加密的令牌传送到第三方整合平台,其中,整合平台请求对解密密钥的接入,以揭示基础令牌。
权利要求

1.一种系统,包括:

至少一个处理器;以及

存储器,其耦合到所述至少一个处理器,所述存储器包括计算机可执行指令,所述计算机可执行指令在由所述至少一个处理器执行时,执行方法,所述方法包括:接收至少一个经加密的令牌;

请求与所述至少一个经加密的令牌相关的至少一个解密密钥;

基于至少一个智能合约,接收所述至少一个解密密钥;

将所述至少一个解密密钥应用于所述至少一个经加密的令牌;

接收至少一个经解密的令牌;

处理所述至少一个经解密的令牌;以及

将来自对所述至少一个经解密的令牌的所述处理的结果传送到所述至少一个经加密的令牌的至少一个所有者。

2.根据权利要求1所述的系统,其中,所述至少一个经加密的令牌采用至少一个盐值和至少一种256位加密算法加密。

3.根据权利要求1所述的系统,其中,所述至少一个解密密钥存储在至少一个许可区块链上。

4.根据权利要求1所述的系统,其中,所述至少一个智能合约包括管理对所述至少一个解密密钥的接入的至少一个规则。

5.根据权利要求4所述的系统,其中,所述至少一个规则暂时约束对所述至少一个解密密钥的接入。

6.根据权利要求4所述的系统,其中,所述至少一个规则基于对所述至少一个经加密令牌的分类来约束对所述至少一个解密密钥的接入。

7.根据权利要求1所述的系统,其中,处理所述至少一个经解密的令牌包括:将可信源数据匹配应用于所述至少一个经解密的令牌。

8.根据权利要求1所述的系统,还包括:接收至少一个撤销通知,撤销对所述至少一个解密密钥的接入。

9.一种用于使用分布式账本技术来安全地管理对密钥的接入的方法,包括:接收创建加密密钥的请求,其中,所述加密密钥与至少一个令牌相关;

生成所述加密密钥;

生成与所述加密密钥相关的解密密钥;

生成盐值;

将所述加密密钥,所述解密密钥,和所述盐值存储在许可区块链上;

将所述加密密钥和所述盐值传送到所述至少一个令牌的所有者;

接收管理对所述解密密钥的接入的至少一个规则;以及基于管理对所述解密密钥的接入的所述至少一个规则,在所述许可区块链上创建智能合约。

10.根据权利要求9所述的方法,其中,所述至少一个令牌使用至少一种AES256位加密算法加密。

11.根据权利要求9所述的方法,还包括:将所述盐值应用于所述至少一个令牌,以生成加盐令牌。

12.根据权利要求11所述的方法,还包括:将所述至少一个加密密钥应用于所述加盐令牌,以生成经加密的令牌。

13.根据权利要求9所述的方法,还包括:接收接入所述解密密钥的至少一个请求。

14.根据权利要求13所述的方法,还包括:查询所述许可区块链上的所述智能合约,以分析管理对所述解密密钥的接入的所述至少一个规则。

15.根据权利要求14所述的方法,基于对管理对所述解密密钥的接入的所述至少一个规则的所述分析,授权对所述解密密钥的接入。

16.根据权利要求14所述的方法,基于对管理对所述解密密钥的接入的所述至少一个规则的所述分析,拒绝对所述解密密钥的接入。

17.根据权利要求13所述的方法,其中,接入所述解密密钥的所述至少一个请求存储在所述许可区块链上。

18.根据权利要求15所述的方法,还包括:将对所述解密密钥的所述接入授权记录在所述许可区块链上。

19.根据权利要求16所述的方法,还包括:将对所述解密密钥的所述接入拒绝记录在所述许可区块链上。

20.一种计算机可读介质,存储有非暂时性计算机可执行指令,所述非暂时性计算机可执行指令在被执行时使计算系统执行用于在分布式账本技术(DLT)环境中安全地管理密钥的方法,所述方法包括:接收创建加密密钥的请求,其中,所述加密密钥与至少一个令牌相关;

生成所述加密密钥;

生成与所述加密密钥相关的解密密钥;

生成盐值;

将所述加密密钥,所述解密密钥,和所述盐值存储在许可区块链上;

将所述加密密钥和所述盐值传送到所述至少一个令牌的所有者;

接收管理对所述解密密钥的接入的至少一个规则;

基于管理对所述解密密钥的接入的所述至少一个规则,在所述许可区块链上创建智能合约;

接收接入所述解密密钥的至少一个请求;

基于管理对所述解密的接入的所述至少一个规则来判断是否授权对所述解密密钥的接入,其中,所述至少一个规则是所述智能合约的一部分;以及基于所述判断,授权对所述解密密钥的接入。

说明书全文

用于使用分布式账本技术进行安全密钥管理的系统和方法

[0001] 相关申请交叉引用
[0002] 题为″通用参考源创建和精确安全匹配的系统和方法(SYSTEMS AND METHODS FOR UNIVERSAL REFERENCE SOURCE CREATION AND ACCURATE SECURE MATCHlNG)″的美国专利申请号17/103,751;题为″上下文驱动的数据分析(CONTEXT DRIVEN DATA PROFILING)″的专利申请号16/844,927;以及题为″用于私有且安全的数据链接的上下文数据屏蔽的系统和方法(SYSTEMS AND METHOD OF CONTEXTUAL DATA MASKING FOR PRIVATE AND SECURE DATA LINKAGE)″的专利申请号16/776,293通过引用整体并入本文。

技术领域

[0003] 本公开涉及一种分布式密钥管理系统以及分布式账本技术(DLT)的使用。
[0004] 概述
[0005] 加密方案用于保护所有者/源的数据资产,同时与各方/供应商共享某些数据资产,以便从所述各方/供应商采购服务。因此,存在供外部黑客攻击或被可能有权接入经加密的数据资产的不良行为者滥用的固有漏洞。然而,数据所有者希望在不损害基础数据接入(例如,曝光原始数据)的情况下获得第三方服务的好处。为了解决该问题,本申请提出用于创建,托管,和管理加密和解密密钥的分布式机制,其中,没有任何两方可以接入每个密钥(或秘密)来解锁数据。在运行时分离密钥这样的结构允许在第三方环境中创建安全且可信的数据交换。此外,在存储密钥和接入日志时利用区块链提供了不可变性,以避免第三方管理平台的任何错误行为。在向某些利益相关者授权对某些密钥的接入的方面,利用DLT使密钥在密钥管理平台之间的分布保持可靠和负责任。
[0006] 另一个考虑包括处理数据。为了更好地利用数据以获得由第三方供应商提供的服务的最大价值,需要处理基础数据。然而,经由服务合约对某些应用提供全面许可会在组织内的敏感数据资产上造成潜在的漏洞。此外,随着组织的成长和运转,先前允许使用的某些数据资产可能变得不被许可。为了解决该问题,本申请利用智能合约(DLT的一个方面)来创建运行时批准工具,用于授权或撤销对某些数据资产的接入。

背景技术

[0007] 为了从使用非对称或对称加密(例如,RSA算法)的发送方接收和解密经加密的数据,发送方通常需要在加密之前接入接收方的密钥,使得当接收方接收到经加密的数据时,接收方可以使用密钥(在非对称加密的情况下为私钥)来解密数据。为了提供接收方的加密密钥,发送方(或中介)通常必须从接收方请求加密密钥并等待接收方递送密钥。手动请求加密密钥的过程繁琐且耗时。此外,等待接收方发送和/或授权对加密密钥的接入引起发送方与接收方之间的通信过程的不必要的延迟。因此,需要在实体之间更高效地传送公钥,同时维护高级别的安全性。
[0008] 作为背景,公钥密码术(或非对称密码术)是使用密钥对的密码系统:可以被广泛传播的公钥;以及只有私钥的所有者知道的私钥。在非对称密码系统中,实体可以使用接收方的公钥来加密消息,但是经加密的消息仅可以采用接收方的私钥来解密。
[0009] 传输层安全(TLS)是依赖于用于通过计算机网络进行通信的公钥密码术的一种因特网标准。在客户端和服务器能够开始交换受TLS保护的信息之前,客户端和服务器必须安全地交换或同意加密密钥和密码以在加密数据时使用。加密算法的一个这样的示例是高级加密标准(AES),其是区块密码的子集。
[0010] 与对称密码术相关的是″盐值(salt)″,其是用作到将数据,密码,密码短语,密钥,令牌等散列的单向函数的附加输入的随机数据。盐值用于保护存储中的密码。可以为每个密码随机生成新的盐值。在典型的设置中,盐值和密码(或其在密钥扩展后的版本)被连结起来并采用密码散列函数进行处理,并且输出的散列值(但不是原始密码)与盐值一起存储在数据库中。这允许稍后认证,而不会在认证数据存储受损的情况下保留明文密码并因此冒着暴露明文密码的风险。可以使用的一种这样的散列算法是SHA‑2(安全散列算法2),其是一组密码散列函数。
[0011] 本申请的另一方面是基于区块链的技术。区块链是不断增长的记录列表,称为区块,区块使用密码术进行链接和保护。每个区块可以包含散列指针(作为到前一个区块的链接),时间戳,和交易数据(例如,每个区块可以包括许多交易)。从设计上讲,区块链固有地对交易数据的修改有抵抗力。区块链可以由共同遵守用于验证新区块的共识协议的节点(例如,设备)的点对点网络管理。一旦被记录,就无法在不更改所有先前区块的情况下追溯地更改给定区块中的交易数据,这需要大多数网络节点的共谋。通常,区块链是一种″分布式账本″的类型。分布式账本使用独立的计算机(例如,节点)来在其各自的电子账本中记录,共享,和同步交易(而不是像传统账本中那样保持数据集中)。
[0012] 区块链是由不完全信任彼此的节点的网络维护的仅附加数据结构。许可区块链是其中以某种方式(例如,由中央管理机构和/或网络的其他节点)控制对节点的网络的接入类型的区块链。区块链网络中的所有节点都同意一组有序的区块,并且每个区块可以包含一个或多个交易。因此,区块链可以被视为有序交易的日志。一种特定类型的区块链(例如,比特币)将硬币存储为由网络的所有节点共享的系统状态。基于比特币的节点实施将硬币从一个节点地址移动到另一个节点地址的简单的复制状态机模型,其中,每个节点可以包括多个地址。此外,公共区块链可以包括完整的节点,其中,完整的节点可以包括整个交易历史(例如,交易日志),并且节点可以不包括整个交易历史。例如,比特币包括连接到比特币的所有节点中的数千个完整的节点。
[0013] 随着非集中式区块链的出现,非集中式金融或″DeFi″应运而生。DeFi是集中式无许可金融基础设施的总称,其中运行各种基于加密货币的金融应用。使这些应用非集中的原因是它们不是由中央机构管理,而是代替地,这些应用的规则是以代码写入的,并且代码对公众开放以供任何人审计。以代码写入的这些规则被称为″智能合约″,其是在区块链上运行的程序,当某些条件得到满足时,该程序自动执行。DeFi应用使用智能合约构建。DeFi应用可以被视为在区块链的顶部上运行的第二层应用的集群。
[0014] 目前,在实体之间接入和共享数据需要手动请求每个实体,并且数据的共享通常缺乏安全性(例如,使用对称密码术,比如简单的密码)或中介(例如,通过不安全的通道直接将数据传送给请求方)。因此,需要在实体之间更高效且更安全地共享数据。
[0015] 针对这些和其他一般考虑,作出了本文所公开的多个方面。此外,尽管可以讨论相对具体的问题,但应当理解,示例不应限于解决在本公开的背景技术或其他地方确定(identified)的具体问题。

附图说明

[0016] 参照附图描述了非限制性和非穷举性示例。
[0017] 图1示出了用于使用分布式账本管理接入密钥的分布式系统的示例。
[0018] 图2示出了用于管理接入密钥的示例分布式区块链架构。
[0019] 图3示出了用于实施用于使用分布式账本管理接入密钥的系统和方法的示例输入处理系统。
[0020] 图4示出了用于从第三方整合平台的角度使用分布式账本管理接入密钥的示例方法。
[0021] 图5示出了用于使用分布式账本管理接入密钥的示例方法。
[0022] 图6示出了用于从请求方或请求方的应用的角度使用分布式账本管理接入密钥的示例方法。
[0023] 图7示出了用于实施用于使用分布式账本管理接入密钥的系统和方法的示例环境。
[0024] 图8示出了其中可以实施本实施例中的一个或多个实施例的适合的操作环境的一个示例。

具体实施方式

[0025] 下文参照附图更全面地描述本公开的多个方面,该附图构成本文的一部分,并且示出了具体的示例性方面。然而,本公开的不同方面可以以许多不同的形式实施,且不应被解释为仅限于本文所述的方面;而是,提供这些方面使得本公开将是彻底和完整的,并将这些方面的范围完全传达给本领域技术人员。各个方面可以作为方法,系统,或设备进行实践。因此,各个方面可以采取硬件实施,完全以软件实施,或组合软件和硬件方面来实施的形式。因此,以下详细描述不应作为限制性的。
[0026] 本申请的实施例针对用于使用分布式账本技术(DLT)管理密钥(或″秘密″)的系统和方法。具体地,在示例环境中,客户端(其希望共享数据)可以与第三方整合平台(即,中介)进行接口连接。第三方整合平台可以向客户端提供远程软件/应用,这需要配置参数,特定于客户端的用户认证以及盐值散列等。然后,客户端侧应用可以将加密应用于散列的(由第三方秘密加盐的)客户端数据,其功能类似于公钥‑私钥基础设施中的私钥。在示例中,客户端可以从正在提供DLT密钥管理系统(KMS)的不同第三方平台获得秘密密钥。通过利用DLT KMS,客户端能够接收用于进一步加密其数据的认证密钥。第三方KMS提供商还持有客户端的密钥/秘密,并且可以根据来自客户端的指令与第三方整合平台共享该密钥。一旦加密密钥/秘密由客户端生成,第三方KMS提供商然后就可以将经加密的密钥/秘密传送到分布式账本(例如,区块链)。经加密的密钥可以存储在分布式账本上以供等待客户端(接入密钥的所有者)的许可的远程应用将来接入。远程应用还可以使用客户端的秘密/密钥和第三方秘密/密钥来令牌化并加密至少一个属性(例如,数据属性,例如姓名,地址,电话号码,社会保险号码,业务实体,产品标识符等),以创建″经加密的令牌″。该经加密的令牌/数据可以传送到第三方整合平台。为了接入由令牌表示的基础令牌/数据,需要通过使用客户端的密钥作为输入来解密令牌(即,数据属性的双层加密)。
[0027] 当请求方期望接入客户端的秘密/密钥时,客户端必须首先向请求方指示许可。这样的许可授权可以作为区块记录在区块链上。一旦许可被授权,第三方整合平台然后就可以接入区块链上客户端的秘密/密钥并应用解密算法(例如,加密的令牌/数据解密),因此客户端的秘密/密钥可以被请求方用于然后接入基础令牌/数据属性。请求方然后可以通过使用解密密钥作为输入来接入标识令牌/数据。换句话说,为了使请求方接入存储在第三方整合平台上的基础标识令牌/数据,使用秘密/密钥来解密令牌。一旦令牌/数据被请求方解密并接入,以用于以下类似用例,就与请求方拥有的用于可信源数据匹配目的令牌/数据进行比较。例如,请求方可以使用基础令牌/数据来支持完成与客户端先前不拥有的某个数据实体相关的某个数据属性(例如,电话号码)。
[0028] 在该示例中,重要的是需注意到,第三方整合平台无权接入作为经加密的或经解密的令牌的一部分的基础数据。仅客户端有权接入基础数据。
[0029] 图1示出了用于使用分布式账本管理秘密/密钥的分布式系统的示例。所呈现的示例系统100是相互依赖的部件的组合,该相互依赖的部件相互作用以形成用于基于智能合约来自动转移资产的集成整体。系统的部件可以是硬件部件或者在系统的硬件部件上实施和/或由系统的硬件部件执行的软件。例如,系统100包括客户端设备102,104,和106,本地数据库110,112,和114,网络108,以及服务器设备116,118,和/或120。在一些示例中,客户端设备和/或服务器设备可以是分布式账本节点。在其他示例中,如果网络中的每个客户端设备和/或服务器设备具有分布式账本的副本并正在运行分布式账本软件应用,则该客户端设备和/或服务器设备可以被视为分布式账本节点。
[0030] 客户端设备102,104,和/或106可以被配置为接收和传送秘密/密钥,加密算法,和令牌。它们还可以被配置为在区块链网络内通信,以及在本地数据库110,112,和/或114中本地托管区块链的副本。区块链的顶部上可以驻留客户端设备102,104,和/或106被配置以运行的DeFi应用。在一个示例中,客户端设备102可以是移动电话,客户端设备104可以是平板电脑,并且客户端设备106可以是膝上型计算机/个人计算机。
[0031] 在一些示例方面中,客户端设备102,104,和/或106可以被配置为与卫星(例如卫星122)通信。卫星122可以是蜂窝系统内的卫星(或多个卫星)。客户端设备102,104,和/或106可以经由蜂窝协议从卫星122接收数据。由客户端设备102,104,和/或106接收的蜂窝数据可以存储在本地数据库110,112,和/或114中。另外,这样的蜂窝数据可以远程存储在远程服务器116,118,和/或120处。在其他示例中,客户端设备102,1O4,和/或106可以被配置为经由近程通信协议(例如蓝牙)相互通信。
[0032] 客户端设备102,104,和/或106还可以被配置为运行软件,该软件实施具有至少一个DeFi应用的区块链,以用于接收秘密/密钥(经加密的)并读取接入秘密/密钥的请求以及秘密/密钥的客户端所有者与请求方之间的交易历史。此外,客户端设备102,104,和/或106可以被配置为运行由第三方整合平台提供的软件,该软件允许加密(例如,使用盐值)秘密/密钥。
[0033] 例如,在初始设置期间,客户端可以授权对第三方整合平台的接入,以经由客户端设备102,104,和/或106接收数据。系统然后可以开始从客户端接收经加密的令牌形式的经加密数据(即,数据属性+盐值+秘密/密钥)。令牌可以从客户端传送到第三方整合平台,其中,令牌可以远程存储在服务器116,118,和/或120上。在其他实例中,令牌的副本可以本地存储在数据库110,112,和/或114处。在一些示例中,经加密的密钥(例如,公钥+盐值)可以作为区块存储在区块链上。秘密/密钥可以通过网络108或卫星122从客户端设备传送。
[0034] 在其他示例中,盐值散列(即,全局盐值),令牌加密密钥,和对象ID加密密钥可以存储在私有区块链上,由分布式账本主机服务器(例如服务器116,118,和/或120)托管。
[0035] 智能合约(例如,服务提供商与消费者之间的SLA)也可以驻留在区块链网络上。智能合约可以是在客户端与请求方之间,客户端与第三方整合平台之间,请求方与第三方整合平台之间和/或前述内容的组合之间执行的智能合约。智能合约的副本可以本地存储在本地数据库110,112,和/或114处,以及远程存储在服务器116,118,和/或120处。智能合约可以判断哪些实体有权接入客户端的秘密/密钥。例如,可以确立智能合约以允许某个请求方接入客户端的秘密/密钥,以便然后接入在由客户端先前传送到第三方整合平台的经加密的令牌/令牌内加密的特定标识令牌/数据。智能合约可以包含对哪些实体有权接入客户端的密钥以及可以使用密钥来接入多久和接入哪个令牌/数据的规定。此外,智能合约可以指示何时撤销某个接入。
[0036] 在一些示例方面中,客户端设备102,104,和/或106可以被配备为从输入设备接收信号。可以经由蓝牙,Wi‑Fi,红外,光信号,二进制以及用于传送/接收信号的其他介质和协议在客户端设备102,104,和/或106上接收信号。例如,用户可以使用移动设备102来查询区块链以传送接入密钥和/或授权或撤销对接入密钥的许可。图形用户界面可以显示在移动设备102上,以允许用户在区块链上执行动作。
[0037] 在其他示例方面中,设备116,118,和/或120可以是用于将经加密的令牌存储在系统中的数据库。如先前所述,经加密的令牌是使用密钥和盐值进行双层加密的经加密和散列的数据属性。数据属性可以包括关于个人,业务,产品,位置等的任何可行数据属性。数据属性可以包括个体的个人身份信息(P||),或者在其他示例中,包括供应链中的特定产品的某些产品标识信息。例如,一个数据库可以存储与某些域(例如,个人)相关的令牌,并且另v数据库可以存储与其他域(例如,业务)相关的令牌。可以利用上下文指示符来存储和组织由第三方整合平台接收的令牌。例如,子域可以应用于令牌。例如,子域可以是更广泛的域(例如,业务)内的行业(例如,汽车)。
[0038] 图2示出了用于管理秘密/密钥的示例分布式区块链架构。图2是像图1一样的分布式系统的替代性图示。在图2中,网络设备中的每一个彼此互连并通信。在一些示例中,网络中的每个设备具有区块链的副本,因为区块链不是由任何单一实体控制,而是分布式系统。在其他示例中,区块链可以是包括接入控制层的许可区块链,从而防止并允许一些设备读取某些信息并将其写入到区块链。
[0039] 具体地,在图2中,移动设备202,平板电脑204,和208,膝上型计算机206,卫星210,以及服务器节点212‑218均在区块链网络中相互连接并通信。每个节点可以存储区块链的本地副本或区块链的至少一部分。例如,膝上型计算机206可以查询区块链网络中的区块链,并且服务器214可以接收查询并从存储在服务器214上的区块链的副本产生区块。膝上型计算机206可以接收位于区块内的信息(例如,秘密/密钥,许可的授权,撤销等)。简言之,本文所述的系统和方法可以在如图2中所显示的分布式架构中实施,并且在一些示例中,在分布式区块链网络内的单一节点上实施。
[0040] 图3示出了用于实施用于使用分布式账本管理接入密钥的系统和方法的示例输入处理系统。输入处理系统(例如,一个或多个数据处理器)能够基于由与管理秘密/密钥和/或加密算法相关的各种源提供的处理数据执行算法,软件例程,和/或指令。输入处理系统可以是通用计算机或专门的专用计算机。根据图3所示的实施例,所公开的系统可以包括存储器305,一个或多个处理器310,数据采集模块315,智能合约模块320,加密模块325,和通信模块330。本技术的其他实施例可以包括这些模块和部件中的部分,全部,或没有这些模块和部件,以及其他模块,应用程序,数据,和/或部件。然而,一些实施例可以将这些模块和部件中的两个或多个合并到单一模块中和/或将这些模块中的一个或多个的一部分功能与不同的模块相关联。
[0041] 存储器305可以存储用于在处理器310上运行一个或多个应用或模块的指令。例如,存储器305可以用于一个或多个实施例中,以容纳执行数据采集模块315,智能合约模块320,加密模块325,和通信模块330的功能所需的全部或部分指令。通常,存储器305可以包括用于存储信息的任何设备,机制,或填充的数据结构(包括区块链数据结构的本地副本)。
根据本公开的一些实施例,存储器305可以涵盖但不限于任何类型的易失性存储器,非易失性存储器,和动态存储器。例如,存储器305可以是随机存取存储器,存储器存储设备,光存储器设备,磁性介质,软盘,磁带,硬盘驱动器,SIMM,SDRAM,RDRAM,DDR,RAM,SODIMM,EPROM,EEPROM,光盘,DVD,和/或类似物。根据一些实施例,存储器305可以包括一个或多个磁盘驱动器,闪存驱动器,一个或多个数据库,一个或多个表,一个或多个文件,本地缓存存储器,处理器缓存存储器,关系数据库,平面数据库,和/或类似物。此外,本领域普通技术人员将理解用于存储信息的许多附加设备和技术可以用作存储器305。在一些示例方面中,存储器
305可以存储包含令牌,令牌加密密钥,对象标识符加密密钥,和其他加密密钥等的至少一个数据库。在其他示例方面中,存储器305可以存储具有至少一个DeFi应用的区块链的至少一个副本,该至少一个DeFi应用在区块链上运行。在又一些示例方面中,存储器305可以存储可以经由DeFi应用提交到区块链的资产(例如,接入密钥)。可以存储在存储器305中的数据,程序,和数据库中的任何一项都可以应用于由数据采集模块315采集的数据。
[0042] 数据采集模块315可以被配置为采集与秘密/密钥和令牌相关的数据。例如,数据采集模块315可以被配置为从客户端接收秘密/密钥,并将秘密/密钥传送到智能合约模块320以用于写入到区块链。在其他实例中,数据采集模块315可以从客户端接收经加密的令牌/令牌,其可以包括经加密的令牌/数据属性。
[0043] 替代地,数据采集模块315可以从包括这样的信息的一个或多个数据源(例如,客户端设备,分布式账本,请求方,第三方整合平台等)询问或以其他方式征求数据。例如,数据采集模块315可以有权接入客户端配置,加密,和/或解密密钥等。数据采集模块315可以使用一组API或类似的接口来将请求传达到这样的数据源并从这样的数据源接收响应数据。在至少一个示例中,响应于采集数据的具体用户请求(例如,某些数据属性被散列并加密并且作为经加密的令牌传送到第三方整合平台)或者响应于满足一个或多个标准(例如,请求方已经被授权对客户端的密钥的接入,因此客户端现在将经加密的令牌传送到第三方整合平台,以由请求方解密),可以根据预设时间表来触发数据采集模块315的数据采集过程。数据采集模块315还可以被配置为接收与在客户端,请求方,和第三方整合平台之间协商和执行的智能合约的条款相关的数据。
[0044] 智能合约模块320可以被配置为从数据采集模块315接收数据。由智能合约模块320接收的数据可以允许智能合约模块320在区块链上构造至少一个智能合约。例如,如果从客户端向请求方授权接入,则智能合约可以被配置为规定只要接入被授权就允许请求方接入客户端的密钥。智能合约模块320还可以被配置为接收秘密/密钥(即,经加密的密钥)并将其存储在区块链上,以供具有接入密钥的许可的请求方接入。此外,来自请求方的请求(例如,接入密钥的读取请求)可以经由智能合约模块320存储在区块链上。
[0045] 在其他示例方面中,智能合约模块320可以被配置为接收与客户端,第三方KMS平台,和第三方整合平台之间的智能合约相关的数据。例如,智能合约可以规定,第三方整合平台可以从第三方KMS平台(其存储了客户端的解密密钥)接收属于客户端的解密密钥。该解密密钥可以允许第三方整合平台解密令牌,以便执行处理(例如,可信源数据匹配)。
[0046] 加密模块325可以被配置为将加密算法应用于一条数据。例如,加密模块325可以被配置为在数据的散列期间应用盐值来创建″令牌″。在另一示例中,加密模块325可以被配置为将加密算法应用于数据属性(例如,盐值+密钥+数据属性),以创建经加密的令牌。加密模块325还可以被配置为存储并控制对解密密钥(例如令牌解密密钥和对象标识符(ID)解密密钥)的接入。加密模块325可以使用其他散列和加密方法,包括但不限于SHA2348,SHA3,三重DES,双鱼加密算法,河豚加密算法,高级加密标准(AEs),IDEA加密算法,MD5加密算法,和/或RSA安全加密算法。
[0047] 通信模块330与采用远程服务器或采用一个或多个客户端设备发送/接收信息(例如,由数据采集模块315,智能合约模块320,和加密模块325采集的)相关。这些通信可以采用任何适合的技术类型,例如蓝牙,WiFi,WiMax,蜂窝,单跳通信,多跳通信,专用短程通信(DSRC),或专有通信协议。在一些实施例中,通信模块330发送由数据采集模块315采集并由智能合约模块320和加密模块325处理的信息。此外,通信模块330可以被配置为传达来自智能合约模块320的智能合约的某些条款,并经由加密模块325加密或解密某些数据到客户端设备。另外,通信模块330可以被配置为在客户端与请求方之间传达在例如允许或撤销接入密钥之后授权的许可或拒绝的许可的更新状态消息。
[0048] 图4示出了用于从第三方整合平台的角度使用分布式账本来管理秘密/密钥的示例方法。方法400是从第三方整合平台的角度来说的。例如,第三方整合平台可以充当客户端(秘密/密钥的所有者)与请求方之间的中介。方法400开始于在402处从请求方接收接入客户端密钥的请求。在404处,请求然后存储在分布式账本(例如,区块链)上。在406处,请求然后可以被传送到客户端,其中,客户端可以判断授权还是拒绝请求。如果客户端接受请求,则客户端可以传送接入密钥以存储在分布式账本上。在另一示例中,步骤406可以是到正在托管客户端的秘密/密钥的第三方KMS提供商的传送请求。例如,基于先前确立的智能合约,如果客户端先前已经授权了第三方整合平台接收秘密/密钥的许可,第三方KMS提供商可以向第三方整合平台提供客户端密钥。在这样的架构中,客户端可以不拥有秘密/密钥,因为第三方KMS系统正在托管和管理客户端的秘密/密钥。
[0049] 第三方整合平台可以在408处接收客户端秘密/密钥,并在410处将客户端秘密/密钥存储在分布式账本上。此时,请求方可以经由读取功能请求接入秘密/密钥。然而,如果请求方不具有接入分布式账本上的秘密/密钥的许可,则请求方将被拒绝接入该秘密/密钥。
[0050] 在412处,可以接收来自请求方的读取请求。在414处,读取请求可以存储在分布式账本上。在416处,第三方整合平台可以检查分布式账本上的记录,以判断请求方是否具有接入客户端的秘密/密钥的许可。在决策框418处,如果许可存在,则在420处授权请求方对客户端的密钥的接入。如果许可不存在,则拒绝对客户端的密钥的接入。
[0051] 图5示出了用于使用分布式账本来管理秘密/密钥的示例方法。方法500开始于创建并管理客户端的加密密钥。在示例中,第三方密钥管理系统(KMS)可以从客户端接收生成可以应用于客户端希望与第三方整合平台共享的特定令牌或数据属性的密钥的请求。密钥可以由第三方KMS实体创建并存储在私有许可区块链上。此外,盐值可以在加密前应用于数据属性,以将附加的加密层添加到数据属性。盐值到数据属性的该应用可以发生在步骤504处。″盐值″是用作单向散列函数的附加输入的附加到数据的随机数据。盐值可以从分布式账本节点接收。从KMS实体(例如,DLT专用节点(主机服务器))接收的这些加密密钥还可以充当多条随机数据以与密钥或数据属性组合,从而进一步加密令牌和/或数据属性。在一些示例中,密钥可以包括令牌盐值(AES256)和对象ID加密密钥(AES256)。加密的输出,即加盐数据属性,是经加密的令牌″EToken″(数据属性+盐值+密钥=EToken)。EToken是最终可以提供给第三方整合平台的内容。
[0052] 在步骤506处,客户端可以将盐值和至少一个加密密钥应用于数据属性,以创建EToken。EToken是通过盐值和至少一个加密密钥的输入而加密的散列数据属性。在步骤508处,第三方整合平台可以从第三方KMS实体请求EToken解密密钥。基于先前确立的规则(例如,智能合约),第三方KMS可以为第三方整合平台授权或拒绝对EToken解密密钥的接入。例如,存储在区块链上的智能合约可以指示,第三方整合平台针对仅某些数据属性或在仅一定时间段内有权接入EToken解密密钥。否则,EToken解密密钥不可由第三方整合平台接入。在一些实例中,客户端可以具有对应于特定EToken的多个EToken解密密钥。
[0053] 在步骤510处,第三方整合平台可以从客户端接收EToken。重要的是要注意到,第三方整合平台在没有第三方整合平台可以从第三方KMS实体接收的EToken解密密钥的情况下无法解密EToken。客户端还可以拥有客户端解密密钥的副本,但是为了减少弱点,第三方KMS管理系统可以创建并存储客户端解密密钥,从而控制对密钥的接入。此外,EToken解密密钥仅解密Etoken,以揭示令牌本身,而不是基础数据。换句话说,第三方数据整合平台从不暴露于构成令牌的原始基础数据。第三方整合平台被配备为处理令牌,以用于例如数据匹配,可信源参考匹配等。
[0054] 在步骤512处,在第三方整合平台从KMS管理系统接收到令牌解密密钥之后,可以由第三方整合平台解密Etoken。处理可以在经解密令牌上完成,并且处理的结果可以传送回到客户端处的边缘节点(参见图7)。
[0055] 图6示出了用于从请求方的角度使用分布式账本来管理秘密/密钥的示例方法。方法600是从与第三方整合平台接口连接的请求方的角度来说的。方法600开始于在步骤602处传送接入客户端密钥的请求。该请求被接收并存储在分布式账本上。如果授权了许可,则在步骤604处,请求方将接收对已经授权了接入客户端密钥的许可的指示。在已经授权了接入之后,在步骤606处,可以传送读取请求。读取请求可以指示读取当前在EToken/令牌内加密的某个令牌/数据属性的意图。由于已经授权了对客户端密钥的接入,因此在步骤608处,系统自动将解密密钥提供给请求方。因此,请求方可以简单地引用区块链(或其他分布式账本)中证明请求方具有接入客户端密钥的许可的区块,而不是每次请求方期望接入客户端提供的令牌/数据时都必须查验(ping)客户端。这去除了在客户端与请求方之间共享数据时的低效率和延迟。
[0056] 一旦在608处将解密密钥提供给请求方,就可以使用解密密钥来解密存在令牌/数据属性的EToken/令牌。在步骤610处,可以将解密密钥用作到令牌的加密函数的输入。在解密EToken/令牌之后,在步骤612处,经解密的令牌/数据属性可用于接入。在步骤614处,请求方然后可以执行数据分析(例如,可信源匹配)。
[0057] 图7示出了用于实施用于使用分布式账本来管理秘密/密钥的系统和方法的示例环境。环境700描绘了客户端节点702,第三方KMS实体704,和第三方整合平台706。在示例中,客户端可以从KMS实体704请求创建加密/解密密钥(例如,公钥/私钥,秘密密钥等)。KMS实体可以为客户端创建加密密钥并将密钥存储在分布式账本(例如区块链)上。账本可以是仅由具有许可的那些可接入的许可账本。加密密钥可以用于进一步加密客户端的令牌。令牌是已经使用由第三方整合平台提供给客户端的配置参数散列的数据属性。换句话说,经加密的令牌是具有至少两个加密层的数据属性——(i)通过应用来自第三方整合平台的令牌化参数将数据属性散列以变成令牌;以及(ii)通过应用来自第三方KMS平台的加密密钥来进一步加密令牌。这样的双重分布式加密方案既保护了隐私又增强了基础数据属性的安全性。
[0058] 在其他示例中,除加密密钥之外,第三方KMS系统还可以提供盐值。例如,令牌——在通过来自KMS系统的加密密钥加密之前——可以被″加盐″。这可能意味着,例如,随机的数据字符串(例如,数字,字母,位等)在被加密之前被附加到令牌。令牌的加盐给基础数据属性提供了又一层安全性。
[0059] 盐值和令牌加密密钥两者均可以由第三方KMS系统创建,存储,和管理。在其他示例中,客户端可以接收盐值和令牌加密密钥以进行管理。一旦加密密钥被第三方KMS系统创建,就可以将加密密钥提供给客户端,以应用于令牌。加密密钥和盐值可以应用于令牌,以创建最终可以传送到第三方整合平台以进行处理(例如,数据匹配)的EToken。
[0060] 在一个示例中,客户端可以拥有客户端希望与其拥有的其他数据集匹配的数据属性的数据集。因此,客户端从第三方整合平台征求服务以用于数据匹配。第三方整合平台可以为客户端提供某些配置参数和令牌化软件,以供客户端应用于其令牌,使得基础数据属性被散列/加密并从第三方整合平台的视角来看被隐藏。在数据属性被令牌化之后,客户端然后可以选择创建加密密钥以应用于令牌,从而进一步保护基础数据。加密密钥可以由客户端使用第三方KMS系统的服务来创建。应用于令牌的加密机制可以由首先将盐值应用于令牌以及然后将加密应用于加盐令牌以创建″EToken″组成。EToken然后可以传送到第三方整合平台706以进行处理。
[0061] 为了使第三方整合平台706为某个用例/应用处理EToken,它必须首先解密EToken,使得其可以接入基础令牌(而不是基础数据属性)。基于客户端与第三方整合平台之间先前确立的智能合约,第三方KMS系统可以向第三方整合平台提供令牌解密密钥。可以这样设置,使得智能合约存在于由第三方KMS系统704托管的许可账本(例如,区块链)上。因此,当第三方整合平台706从第三方KMS系统704请求令牌解密密钥时,第三方KMS系统704可以简单地检查托管的智能合约的规则,以查看请求是否满足智能合约的要求。例如,智能合约可以具有在令牌解密密钥可以被传送之前第三方整合平台可能需要满足的某些要求和输入,例如用于接入的时间范围,可以解密的令牌的类型等。如果智能合约规则得到满足(例如,客户端702已经给与第三方整合平台706解密特定EToken的许可),则令牌解密密钥可以从第三方KMS系统704与第三方整合平台706共享。一旦由整合平台706接收,令牌解密密钥就可以应用于Etoken以揭示基础令牌。整合平台然后可以继续在令牌上运行处理动作,例如可信源数据匹配。
[0062] 图8示出了其中可以实施本实施例中的一个或多个实施例的适合的操作环境的一个示例。这只是适合的操作环境的一个示例,并不旨在对使用范围或功能有任何限制。可能适合使用的其他众所周知的计算系统,环境,和/或配置包括但不限于个人计算机,服务器计算机,手持或膝上型设备,多处理器系统,基于微处理器的系统,可编程消费电子产品(例如,智能手机),网络PC,小型计算机,大型计算机,包括上述系统或设备中的任何系统或设备的分布式计算环境等。
[0063] 在其最基本的配置中,操作环境800通常包括至少一个处理单元802和存储器804。取决于计算设备的确切配置和类型,存储器804(存储与设备相关的信息,区块链网络,加密算法,公钥,盐值,以及执行本文公开的方法的指令等等)可以是易失性的(例如RAM),非易失性的(例如ROM,闪存等),或这两者的某种组合。该最基本的配置在图8中由虚线806示出。
此外,环境800还可以包括存储设备(可拆卸的808和/或不可拆卸的810),包括但不限于磁盘或光盘或磁带。类似地,环境800还可以具有输入设备814,例如键盘,鼠标,笔,语音输入等,和/或输出设备816,例如显示器,扬声器,打印机等。环境中还可以包括一个或多个通信连接,812,例如蓝牙,WiFi,WiMax,LAN,WAN,点对点等。
[0064] 操作环境800通常包括至少某种形式的计算机可读介质。计算机可读介质可以是可由处理单元802或包括操作环境的其他设备接入的任何可用介质。作为示例,而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实施的用于存储诸如计算机可读指令,数据结构(例如,区块链),程序模块,或其他数据的信息的易失性和非易失性可拆卸和不可拆卸介质。计算机存储介质包括RAM,ROM,EEPROM,闪存,或其他存储器技术,CD‑ROM,数字多功能磁盘(DVD)或其他光存储,磁带盒,磁带,磁盘存储,或其他磁性存储设备,或者可以用于存储期望的信息的任何其他有形介质。计算机存储介质不包括通信介质。
[0065] 通信介质体现计算机可读指令,数据结构,程序模块,或者诸如载波或其他传输机制的调制数据信号中的其他数据,并且包括任何信息递送介质。术语″调制数据信号″是指以对信号中的信息进行编码的方式设置或改变其特性中的一个或多个特性的信号。作为示例,而非限制,通信介质包括有线介质,例如有线网络或直接有线连接,以及无线介质,例如声学,RF,红外,和其他无线介质。上述各项中的任何项的组合也应包括在计算机可读介质的范围内。
[0066] 操作环境800可以是使用到一个或多个远程计算机的逻辑连接在联网环境中操作的单个计算机。远程计算机可以是个人计算机,服务器,路由器,网络PC,对等设备,分布式账本节点,或其他公共网络节点,并且通常包括上述元素中的许多或全部以及未如此提及的其他元素。逻辑连接可以包括受可用通信介质支持的任何方法。这样的联网环境常位于办公室,企业范围的计算机网络,内部网,和因特网中。
[0067] 例如,上文参照框图和/或根据本公开的多个方面的方法,系统,和计算机程序产品的操作图示描述了本公开的多个方面。方框中标注的功能/动作可以不按任何流程图所示的顺序发生。例如,连续示出的两个方框事实上可以基本上并发执行,或者方框有时可以以相反的顺序执行,这取决于所涉及的功能/动作。
[0068] 本申请中提供的一个或多个方面的描述和说明并不旨在以任何方式限制或约束所要求保护的本公开的范围。本申请中提供的多个方面,示例,和细节被认为足以传达对其的拥有,并使得其他人能够制作和使用所要求保护的公开的最佳模式。要求保护的公开不应被解释为仅限于本申请中提供的任何方面,示例,或细节。无论是以组合或单独地示出和描述,各种特征(结构和方法)旨在选择性地被包括或被省略,以产生具有特定特征集的实施例。在提供了本申请的描述和说明之后,本领域技术人员可以设想落入本申请所体现的一般发明构思的较宽泛方面的精神内的变化,修改,和替代方面,而不脱离所要求保护的公开的较宽泛的范围。
[0069] 综上所述,应当理解,出于说明的目的,已经在本文中描述了本发明的具体实施例,但可以在不脱离本发明的范围的情况下进行多种修改。因此,除受所附权利要求限制之外,本发明不受限制。