CN115987988A - 基于中继链的属性代理重加密方法、模型及存储介质 - Google Patents
基于中继链的属性代理重加密方法、模型及存储介质 Download PDFInfo
- Publication number
- CN115987988A CN115987988A CN202310276584.4A CN202310276584A CN115987988A CN 115987988 A CN115987988 A CN 115987988A CN 202310276584 A CN202310276584 A CN 202310276584A CN 115987988 A CN115987988 A CN 115987988A
- Authority
- CN
- China
- Prior art keywords
- user
- data
- cross
- ciphertext
- key
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种基于中继链的属性代理重加密方法、模型及存储介质,该方法包括组成代理中继链,发布公共参数;发起注册,获取公共参数;属性授权中心初始化;生成一对称密钥,通过对称密钥加密保密文件,以生成对称数据密文,通过加密算法加密对称密钥,以生成密钥密文;将密文均上传至IPFS,当接收到数据获取请求时,判断用户是否在区块链系统内;若否,则按照第一预设规则向用户下发所述保密文件;若是,则判断用户是否已被授权;若用户已被授权,则按照第二预设规则向用户下发保密文件;若用户未被授权,则按照第三预设规则向用户下发保密文件。通过上述方式能够实现区块链跨链系统中高可用、细粒度且可追责的信息保护。
Description
技术领域
本发明涉及区块链技术领域,特别涉及一种基于中继链的属性代理重加密方法、模型及存储介质。
背景技术
基于中继链的跨链技术可以实现不同区块链之间的互通性,使得用户可以在不同的链上进行交易和转账,从而增强了区块链网络的功能和使用价值。此外,中继链作为一个中心化的管理者,可以有效地解决不同链之间的信任问题,从而降低了跨链交易的风险和成本。然而,跨链技术本身存在着信息泄露的风险,因此需要采取一些措施来保护用户隐私数据。
属性代理重加密技术(Attribute-based Proxy Re-Encryption,简称ABPRE)是一种可用于保护跨链通信中隐私信息的加密技术。其基本思想是将原始数据加密并委托给代理方进行重加密,从而实现对数据的保护和授权访问。
然而,由于跨链技术本身的复杂性和技术难度,加上跨链信息保护需要解决的问题更加繁琐,因此相对来说面向区块链跨链的信息保护方法也较少,且现有技术大部分基于传统公钥加密机制,需要将隐私数据多次重复加密数据和重复上链,消耗客户端资源,基于代理重加密机制,访问控制粒度粗,且使用单节点重加密服务器会出现重加密服务器遭受外界的入侵或者攻击时,容易泄漏其内部存储的加密数据,或者当该单节点出现故障时,整个重加密流程将无法使用,导致数据访问和共享均受阻,同时单节点的数据处理效率较低、扩展性有限,降低了工作效率。
发明内容
基于此,本发明的目的是提供一种基于中继链的属性代理重加密方法、模型及存储介质,以解决现有技术大部分基于传统公钥加密机制,需要将隐私数据多次重复加密数据和重复上链,消耗客户端资源,基于代理重加密机制,访问控制粒度粗,且使用单节点重加密服务器会出现重加密服务器遭受外界的入侵或者攻击时,容易泄漏其内部存储的加密数据,或者当该单节点出现故障时,整个重加密流程将无法使用,导致数据访问和共享均受阻,同时单节点的数据处理效率较低、扩展性有限,降低了工作效率的问题。
本发明实施例第一方面提出了一种基于中继链的属性代理重加密方法,所述方法包括:
接收各个区块链系统推举出的代理中继节点,以组成对应的代理中继链,并生成创世区块公布跨链系统中的公共参数;
通过各个所述代理中继节点向所述代理中继链注册区块链系统,并获取所述公共参数发送至所述区块链系统中的属性授权中心;
基于各个所述区块链系统的属性授权中心通过所述公共参数生成对应的系统公钥和系统主密钥,并将所述系统主密钥保存、将所述系统公钥公开至对应的区块链系统中;
接收所述区块链系统中的第一用户随机生成的对称秘钥,并通过所述对称秘钥对区块链系统中的保密文件进行加密处理,以生成对应的对称数据密文,并基于第一预设算法生成与所述对称秘钥对应的密钥密文;
将所述对称数据密文和所述密钥密文均上传至IPFS中,并通过所述IPFS生成与所述对称数据密文和所述密钥密文对应的数据索引,并通过第一预设合约将所述数据索引存储至所述区块链系统中的分布式账本中;
当接收到第二用户的数据获取请求时,判断所述第二用户是否在所述区块链系统内;
若判断到所述第二用户不在所述区块链系统内,则按照第一预设规则向所述第二用户下发所述保密文件;
若判断到所述第二用户在所述区块链系统内,则判断所述第二用户是否已被授权;
若判断到所述第二用户已被授权,则按照第二预设规则向所述第二用户下发所述保密文件;
若判断到所述第二用户未被授权,则按照第三预设规则向所述第二用户下发所述保密文件。
本发明的有益效果是:通过使用多个属性授权中心管理其所属区块链的用户属性授权、系统公钥和主密钥的生成,并且每个属性授权中心能够由各区块链系统自行管理,从而能够有效的防止用户隐私信息发生泄露,并且本申请使用了适用于跨链系统的属性代理重加密算法,使得本申请能够实现跨链系统中数据的链内及链外加密共享和加密数据细粒度的访问控制。其次,本申请通过部署在代理中继链上的智能合约对保密文件进行重加密,即使个别加密服务器出现故障时,系统也可以稳定有效运行,并且由于智能合约无法进行人为干预,同时所有重加密操作都将被记录在代理中继链的分布式账本中,从而能够有效的避免现有的半可信代理重加密服务器所带来的数据篡改和隐私泄露的现象发生,并且当跨链各方对某一数据共享操作出现异议可以通过对代理中继链分布式账本中的重加密操作记录进行溯源快速定位操作用户并对其进行追责,实现了区块链跨链系统中高可用、细粒度且可追责的数据可信共享和信息保护。
优选的,所述方法还包括:
当接收到新用户的加入请求时,获取所述新用户的用户属性集,并将所述用户属性集、所述系统主密钥以及所述公共参数输入至所述属性授权中心中,以使所述属性授权中心输出对应的用户属性私钥;
将所述用户属性私钥发送至用户的终端内。
优选的,所述按照第一预设规则向所述第二用户下发所述保密文件的步骤包括:
调用跨链数据发起合约,并通过所述跨链数据发起合约生成对应的跨链交易,且通过预设跨链网关监听所述跨链交易;
通过所述预设跨链网关将所述跨链交易传输至所述代理中继链中,以在另一区块链系统中调用出与所述跨链交易对应的跨链数据接收合约,并接收所述跨链数据接收合约携带的跨链用户请求信息,所述跨链用户请求信息包括跨链用户ID以及跨链用户请求内容;
当接收到跨链数据共享请求时,判断所述跨链数据共享请求是否满足第一预设要求;
若判断到所述跨链数据共享请求满足第一预设要求,则基于第二预设算法根据所述系统公钥生成对应的第一重加密密钥,并将所述第一重加密密钥发送至所述代理中继链中,以调用所述代理中继链中的第一重加密合约;
通过所述第一重加密合约对所述保密文件进行重加密处理,以生成对应的第一重加密密文。
优选的,所述通过所述第一重加密合约对所述保密文件进行重加密处理,以生成对应的第一重加密密文的步骤之后,所述方法还包括:
将所述第一重加密密文上传至所述IPFS中,并接收所述IPFS返回的所述数据索引,以根据所述数据索引调用对应的跨链数据更新合约;
通过所述跨链数据更新合约对所述跨链用户请求内容进行更新,并调用跨链数据查询合约;
通过所述跨链数据查询合约查询更新后的跨链用户请求内容,并通过更新后的跨链用户请求内容从所述IPFS中获取到所述第一重加密密文以及所述对称数据密文;
基于预设解密算法依次对所述第一重加密密文以及所述对称数据密文进行解密处理,以获取到所述保密文件。
优选的,所述按照第二预设规则向所述第二用户下发所述保密文件的步骤包括:
通过所述数据索引从所述IPFS中下载所述密钥密文以及所述对称数据密文,并基于所述用户属性私钥依次对所述密钥密文以及所述对称数据密文进行解密处理,以获取到所述保密文件。
优选的,所述按照第三预设规则向所述第二用户下发所述保密文件的步骤包括:
调用本地数据接收合约,并接收所述本地数据接收合约携带的本地用户请求信息,且将所述本地用户请求信息存储至分布式账本中,所述本地用户请求信息包括本地用户ID以及本地用户请求内容;
当接收到本地数据共享请求时,判断所述本地数据共享请求是否满足第二预设要求;
若判断到所述本地数据共享请求满足所述第二预设要求,则基于所述第二预设算法根据所述系统公钥生成第二重加密密钥,并将所述第二重加密密钥发送至所述代理中继链中,以调用所述代理中继链中的第二重加密合约;
通过所述第二重加密合约对所述保密文件进行重加密处理,以生成对应的第二重加密密文。
优选的,所述通过所述第二重加密合约对所述保密文件进行重加密处理,以生成对应的第二重加密密文的步骤之后,所述方法还包括:
将所述第二重加密密文上传至所述IPFS中,并接收所述IPFS返回的所述数据索引,以根据所述数据索引调用对应的本地数据更新合约;
通过所述本地数据更新合约对所述本地用户请求内容进行更新,并调用本地数据查询合约;
通过所述本地数据查询合约查询更新后的本地用户请求内容,并通过更新后的本地用户请求内容从所述IPFS中获取到所述第二重加密密文以及所述对称数据密文;
基于所述预设解密算法依次对所述第二重加密密文以及所述对称数据密文进行解密处理,以获取到所述保密文件。
本发明实施例第二方面提出了一种基于中继链的属性代理重加密模型,所述模型包括:
推举模块,用于接收各个区块链系统推举出的代理中继节点,以组成对应的代理中继链,并生成创世区块公布跨链系统中的公共参数;
第一获取模块,用于通过各个所述代理中继节点向所述代理中继链注册区块链系统,并获取所述公共参数发送至所述区块链系统中的属性授权中心;
处理模块,用于基于各个所述区块链系统的属性授权中心通过所述公共参数生成对应的系统公钥和系统主密钥,并将所述系统主密钥保存、将所述系统公钥公开至对应的区块链系统中;
加密模块,用于接收所述区块链系统中的第一用户随机生成的对称秘钥,并通过所述对称秘钥对区块链系统中的保密文件进行加密处理,以生成对应的对称数据密文,并基于第一预设算法生成与所述对称秘钥对应的密钥密文;
存储模块,用于将所述对称数据密文和所述密钥密文均上传至IPFS中,并通过所述IPFS生成与所述对称数据密文和所述密钥密文对应的数据索引,并通过第一预设合约将所述数据索引存储至所述区块链系统中的分布式账本中;
接收模块,用于当接收到第二用户的数据获取请求时,判断所述第二用户是否在所述区块链系统内;
第一执行模块,用于若判断到所述第二用户不在所述区块链系统内,则按照第一预设规则向所述第二用户下发所述保密文件;
判断模块,用于若判断到所述第二用户在所述区块链系统内,则判断所述第二用户是否已被授权;
第二执行模块,用于若判断到所述第二用户已被授权,则按照第二预设规则向所述第二用户下发所述保密文件;
第三执行模块,用于若判断到所述第二用户未被授权,则按照第三预设规则向所述第二用户下发所述保密文件。
其中,上述基于中继链的属性代理重加密模型中,所述基于中继链的属性代理重加密模型还包括第二获取模块,所述第二获取模块具体用于:
当接收到新用户的加入请求时,获取所述新用户的用户属性集,并将所述用户属性集、所述系统主密钥以及所述公共参数输入至所述属性授权中心中,以使所述属性授权中心输出对应的用户属性私钥;
将所述用户属性私钥发送至用户的终端内。
其中,上述基于中继链的属性代理重加密模型中,所述第一执行模块具体用于:
调用跨链数据发起合约,并通过所述跨链数据发起合约生成对应的跨链交易,且通过预设跨链网关监听所述跨链交易;
通过所述预设跨链网关将所述跨链交易传输至所述代理中继链中,以在另一区块链系统中调用出与所述跨链交易对应的跨链数据接收合约,并接收所述跨链数据接收合约携带的跨链用户请求信息,所述跨链用户请求信息包括跨链用户ID以及跨链用户请求内容;
当接收到跨链数据共享请求时,判断所述跨链数据共享请求是否满足第一预设要求;
若判断到所述跨链数据共享请求满足第一预设要求,则基于第二预设算法根据所述系统公钥生成对应的第一重加密密钥,并将所述第一重加密密钥发送至所述代理中继链中,以调用所述代理中继链中的第一重加密合约;
通过所述第一重加密合约对所述保密文件进行重加密处理,以生成对应的第一重加密密文。
其中,上述基于中继链的属性代理重加密模型中,所述基于中继链的属性代理重加密模型还包括第一更新模块,所述第一更新模块具体用于:
将所述第一重加密密文上传至所述IPFS中,并接收所述IPFS返回的所述数据索引,以根据所述数据索引调用对应的跨链数据更新合约;
通过所述跨链数据更新合约对所述跨链用户请求内容进行更新,并调用跨链数据查询合约;
通过所述跨链数据查询合约查询更新后的跨链用户请求内容,并通过更新后的跨链用户请求内容从所述IPFS中获取到所述第一重加密密文以及所述对称数据密文;
基于预设解密算法依次对所述第一重加密密文以及所述对称数据密文进行解密处理,以获取到所述保密文件。
其中,上述基于中继链的属性代理重加密模型中,所述第二执行模块具体用于:
通过所述数据索引从所述IPFS中下载所述密钥密文以及所述对称数据密文,并基于所述用户属性私钥依次对所述密钥密文以及所述对称数据密文进行解密处理,以获取到所述保密文件。
其中,上述基于中继链的属性代理重加密模型中,所述第三执行模块具体用于:
调用本地数据接收合约,并接收所述本地数据接收合约携带的本地用户请求信息,且将所述本地用户请求信息存储至分布式账本中,所述本地用户请求信息包括本地用户ID以及本地用户请求内容;
当接收到本地数据共享请求时,判断所述本地数据共享请求是否满足第二预设要求;
若判断到所述本地数据共享请求满足所述第二预设要求,则基于所述第二预设算法根据所述系统公钥生成第二重加密密钥,并将所述第二重加密密钥发送至所述代理中继链中,以调用所述代理中继链中的第二重加密合约;
通过所述第二重加密合约对所述保密文件进行重加密处理,以生成对应的第二重加密密文。
其中,上述基于中继链的属性代理重加密模型中,所述基于中继链的属性代理重加密模型还包括第二更新模块,所述第二更新模块具体用于:
将所述第二重加密密文上传至所述IPFS中,并接收所述IPFS返回的所述数据索引,以根据所述数据索引调用对应的本地数据更新合约;
通过所述本地数据更新合约对所述本地用户请求内容进行更新,并调用本地数据查询合约;
通过所述本地数据查询合约查询更新后的本地用户请求内容,并通过更新后的本地用户请求内容从所述IPFS中获取到所述第二重加密密文以及所述对称数据密文;
基于所述预设解密算法依次对所述第二重加密密文以及所述对称数据密文进行解密处理,以获取到所述保密文件。
本发明实施例第三方面提出了一种计算机,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上面所述的基于中继链的属性代理重加密方法。
本发明实施例第四方面提出了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上面所述的基于中继链的属性代理重加密方法。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1为本发明第一实施例提供的基于中继链的属性代理重加密方法的流程图;
图2为本发明第一实施例提供的基于中继链的属性代理重加密方法中的信息交互示意图;
图3为本发明第一实施例提供的基于中继链的属性代理重加密方法中的判断流程图;
图4为本发明第二实施例提供的基于中继链的属性代理重加密模型的结构框图。
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的若干实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
需要说明的是,当元件被称为“固设于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
现有技术大部分基于传统公钥加密机制,需要多次重复加密数据和重复上链,消耗客户端资源,基于代理重加密机制,访问控制粒度粗,且使用单节点重加密服务器会出现重加密服务器遭受外界的入侵或者攻击时,容易泄漏其内部存储的加密数据,或者当该单节点出现故障时,整个重加密流程将无法使用,导致数据访问和共享均受阻,同时单节点的数据处理效率较低、扩展性有限,降低了工作效率。
请参阅图1,所示为本发明第一实施例提供的基于中继链的属性代理重加密方法,本实施例提供的基于中继链的属性代理重加密方法能够有效的避免现有的半可信代理重加密服务器所带来的数据篡改和隐私泄露的现象发生,并且当跨链各方对某一数据共享操作出现异议可以通过对代理中继链分布式账本中的重加密操作记录进行溯源快速定位操作用户并对其进行追责,实现了区块链跨链系统中高可用、细粒度且可追责的数据可信共享和信息保护。
具体的,本实施例提供的基于中继链的属性代理重加密方法具体包括以下步骤:
步骤S10,接收各个区块链系统推举出的代理中继节点,以组成对应的代理中继链,并生成创世区块公布跨链系统中的公共参数;
步骤S20,通过各个所述代理中继节点向所述代理中继链注册区块链系统,并获取所述公共参数发送至所述区块链系统中的属性授权中心;
步骤S30,基于各个所述区块链系统的属性授权中心通过所述公共参数生成对应的系统公钥和系统主密钥,并将所述系统主密钥保存、将所述系统公钥公开至对应的区块链系统中;
步骤S40,接收所述区块链系统中的第一用户随机生成的对称秘钥,并通过所述对称秘钥对区块链系统中的保密文件进行加密处理,以生成对应的对称数据密文,并基于第一预设算法生成与所述对称秘钥对应的密钥密文;
具体的,在本实施例中,首先需要说明的是,本实施例提供的基于中继链的属性代理重加密方法可以应用在多个区块链系统中,能够使多个区块链系统中的用户均能够获取到需要的保密文件,从而起到数据共享的效果。
另外,在本实施例中,需要指出的是,在区块链系统实际的应用过程中,用户通常都会把若干个同类文件进行归类并打包,并使用统一的信息对其进行描述,为了便于理解,本实施例以用户共享的数据为单个文件进行解释说明。本实施例采用混合加密的方式对文件进行加密,具体的,首先使用对称加密算法,如AES、DES等算法来加密数据文件,然后将对称加密算法中的对称秘钥采用密文策略属性加密算法进行加密获得对称秘钥密文。对应的,用户需要先解密对称秘钥密文得到对称秘钥,然后再使用对称秘钥解密对称数据密文,从而得到原始数据文件,即上述保密文件。
因此,在本步骤中,需要说明的是,本步骤首先会随机生成一个对称秘钥
KF,进一步的,运行AESEncrypt(对称加密)算法输入该对称密钥加密当前区块链系统中的保密文件
File,从而能够得到对应的对称数据密文
DCT,与此同时,通过AttrEncrypt(属性加密)算法输入数据访问结构、对称秘钥
KF、系统公钥
PK生成与上述对称秘钥对应的密钥密文
KCT。
其中:,进一步的,。
步骤S50,将所述对称数据密文和所述密钥密文均上传至IPFS中,并通过所述IPFS生成与所述对称数据密文和所述密钥密文对应的数据索引,并通过第一预设合约将所述数据索引存储至所述区块链系统中的分布式账本中;
进一步的,在本步骤中,需要说明的是,在通过上述步骤分别获取到需要的对称数据密文以及密钥密文之后,本步骤会立即将当前对称数据密文以及密钥密文上传至IPFS中,与此同时,通过该IPFS生成与当前对称数据密文和密钥密文对应的数据索引。
在此基础之上,本步骤进一步通过第一预设合约,即通过文件信息存储合约将上述数据索引存储至上述区块链系统中的分布式账本中。
步骤S60,当接收到第二用户的数据获取请求时,判断所述第二用户是否在所述区块链系统内;
具体的,在实际的工作过程中,当接收到第二用户的数据获取请求时,本步骤会首先判断当前用户是否在所述区块链系统中,即判断当前用户是否在其已经加入的区块链系统中。
步骤S70,若判断到所述第二用户不在所述区块链系统内,则按照第一预设规则向所述第二用户下发所述保密文件;
具体的,在本步骤中,若实时判断到当前用户不在当前区块链系统中,本步骤会立即按照第一预设规则向当前用户下发对应的保密文件。
步骤S80,若判断到所述第二用户在所述区块链系统内,则判断所述第二用户是否已被授权;
对应的,在本步骤中,若实时判断到当前用户在当前区块链系统中,则本步骤需要进一步判断当前用户是否已经被授权,其中,需要说明的是,用户是否被授权的判断依据是:当前用户的用户属性集是否符合其申请的保密文件的访问结构,如果符合,则说明相对于当前保密文件当前用户就是授权用户,如果不符合,则说明相对于当前保密文件当前用户就是未授权用户,即用户是否授权是相对于保密文件来判断的。
步骤S90,若判断到所述第二用户已被授权,则按照第二预设规则向所述第二用户下发所述保密文件;
更进一步的,若实时判断到当前用户已经被授予权利,则直接按照第二预设规则向当前用户下发其需要的保密文件。
步骤S100,若判断到所述第二用户未被授权,则按照第三预设规则向所述第二用户下发所述保密文件。
对应的,若实时判断到当前用户未被授权,则直接按照第三预设规则向当前用户下发其需要的保密文件。
其中,如图2所示,需要说明的是,所示为本实施例提供的基于中继链的属性代理重加密模型,其中,该基于中继链的属性代理重加密模型具体由多个可信属性授权中心,多个区块链系统,数据拥有者(Data Owner,DO)如用户A,来自同一区块链网络和不同区块链网络的数据请求者(Data Requester,DR)如用户B、C、D以及IPFS和一条代理中继链以及多个跨链网关构成。
其中,可信属性授权中心:负责运行初始化算法完成系统初始化生成系统公钥和主密钥,然后将系统公钥公开至其所在区块链系统,并保存系统主密钥;
数据拥有者(DO):DO对其所共享的数据拥有绝对的控制权,可以自定义共享数据访问权限,从而实现细粒度的访问控制;
数据请求者(DR):数据请求者由链内数据请求者和跨链数据请求者组成;
星际文件系统(IPFS):IPFS是一个点对点分布式文件系统,解决了区块链系统存储形式单一,存储容量受限问题,保证了加密数据的可信存储和共享。
代理中继链:代理中继链是本实施例的核心组件,系统公共参数由跨链多方共同生成并公布在代理中继链的创世区块中,代理中继链作为接入本跨链系统区块链的侧链,主要负责跨链交易的验证、持久化以及路由,代理中继链由跨链多方共同维护;
跨链网关:跨链网关是主要职责包括收集跨链交易和转发跨链交易。
具体的,为了便于理解,例如图中区块链系统A和区块链系统B推举代理中继节点组成代理中继链,公布公共参数,代理中继节点向中继链注册其所属区块链信息,并将公共参数发送至其区块链系统中的可信属性授权中心,可信属性授权中心初始化其系统公钥和系统主密钥,并为其系统中的用户生成属性私钥,用户A、用户B以及用户C属于区块链系统A,对应的,用户D属于区块链系统B,在实际的使用过程中,例如用户B满足用户A保密数据的访问结构,则用户B想要访问用户A的保密数据只需从其所在的区块链系统中获取加密数据,然后下载对称数据密文,并使用其自身密钥对加密数据进行解密,进而获取加密数据的原始数据。假设用户C的用户属性集不满足密文访问结构,则可以通过本地数据共享交易访问加密密文,经过用户A本地审核通过,并且代理中继链重加密后,使用其自身拥有的密钥解密重加密密文,进而获取加密数据的原始数据。例如用户D想要访问用户A的加密数据,则需要通过跨链数据共享交易申请访问加密密文,经过用户A跨链审核通过,并且代理中继链重加密后,使用其自身拥有的密钥解密重加密密文,进而获取加密数据的原始数据。
进一步的,在本实施例中,如图3所示,需要说明的是,在本实施例完成区块链系统的初始化以及数据上链之后,当接收到用户的数据请求指令时,就会实时判断当前用户是否为另一区块链系统中的用户,若是,则执行对应的跨链交易,对应的,若否,则执行对应的链内交易。
其中,在本实施例中,需要指出的是,该方法还包括:
当接收到新用户的加入请求时,获取所述新用户的用户属性集,并将所述用户属性集、所述系统主密钥以及所述公共参数输入至所述属性授权中心中,以使所述属性授权中心输出对应的用户属性私钥;
将所述用户属性私钥发送至用户的终端内。
具体的,在本实施例中,需要说明的是,本实施例在向用户下发保密文件之前,需要对跨链系统和当前区块链系统进行初始化处理,进一步的,各区块链系统推举出代理中继节点组成代理中继链,跨链各方共同通过RCSetup(公共参数初始化)算法输入系统安全参数生成公共参数
params,各代理中继节点向代理中继链注册本区块链系统其中包含该区块链系统ID,框架,版本号等信息,并获取公共参数发送至该区块链系统属性授权中心,各区块链系统的属性授权中心通过公共参数运行TAASetup(系统初始化)算法输入系统属性集合生成系统公钥
PK和系统主密钥
MSK,并将系统主密钥保存,系统公钥公开至其所在区块链系统。其中,,进一步的,。
进一步的,本实施例进一步通过当前可信属性授权中心将上述系统公钥公开至其所在的区块链系统中,与此同时,同步保存上述系统主密钥。
更进一步的,当上述区块链系统接收到新用户的加入请求时,本实施例会首先获取当前用户的用户属性集,进一步的,上述可信属性授权中心将当前用户的用户属性集
S、系统主密钥
MSK和系统公钥
PK同时输入至TAAKeyGen(属性密钥生成)算法中,从而能够输出对应的用户属性私钥
SK,与此同时,将该用户属性私钥下发至用户的终端内,以使用户能够获取到当前用户属性私钥。具体的,。
进一步的,在本实施例中,需要指出的是,上述按照第一预设规则向所述第二用户下发所述保密文件的步骤包括:
具体的,在本实施例中,需要说明的是,当实时判断到当前用户不在当前区块链系统中时,即当前用户属于另一区块链系统时,使得当前用户需要跨链获取当前区块链系统中的保密文件。因此,当前用户需要首先调用跨链数据发起合约,并进一步通过该跨链数据发起合约启用对应的跨链网关,以调用出与所述跨链网关对应的跨链交易。其中,跨链数据发起合约会发送跨链事件至当前跨链网关,该跨链网关会对当前跨链交易进行封装、验证并转发至上述代理中继链中,并最终将该跨链交易存储至当前代理中继链的分布式账本中。
进一步的,本实施例会通过上述代理中继链向当前区块链系统对应的网关推送本次跨链交易,对应的,当前区块链系统通过对应的跨链网关接收到本次跨链交易,并立即将当前跨链交易提交到当前区块链系统中,以对应调用出与当前跨链交易对应的跨链数据接收合约,并接收该跨链数据接收合约携带的跨链用户请求信息,所述跨链用户请求信息包括跨链用户ID以及跨链用户请求内容;
其中,需要说明的是,本实施例提供的代理中继链会对本次跨链交易共识出块,即将上述跨链交易存储至当前代理中继链的分布式账本中,在此基础之上,当前代理中继链会进一步向当前区块链系统对应的跨链网关推送本次跨链交易,与此同时,当前区块链系统接收本次跨链交易,并最终将本次跨链交易提交至当前区块链系统的跨链数据接收合约中。另外,本实施例还会将上述跨链用户请求信息以K-V的格式存储至当前区块链系统中的分布式账本中。其中,K表示跨链数据请求的ID,V表示跨链数据请求信息。在此基础之上,再通过回执交易(反向执行上面的步骤)将跨链数据请求的ID存储到来源区块链系统的分布式账本中,只有通过该跨链数据请求的ID才能进行后续的查询请求。
更进一步的,当接收到跨链数据共享请求时,本实施例会实时判断当前跨链数据共享请求是否满足第一预设要求;具体的,本实施例会实时判断上述跨链用户请求信息中的请求类型Type是否为1,其中,本实施例提供的请求类型Type只有0和1两种类型,其中1表示跨链,对应的,0表示链内,并且Type的值是由智能合约设定而成的,是不能够被篡改的。
若判断到所述跨链数据共享请求满足第一预设要求,则基于第二预设算法根据上述系统公钥、用户属性私钥
SK、用户属性集合
S、新的数据访问结构生成对应的第一重加密密钥
RK,并将当前第一重加密密钥发送至上述代理中继链中,输入系统公钥
PK、第一重加密密钥
RK、密钥密文
KCT以调用上述代理中继链中的第一重加密合约,优选的,本实施例提供的第二预设算法为ReKeyGen(重加密密钥生成)算法,第一重加密合约为RCEncrypt。
其中,需要说明的是,,进一步的,。
通过所述第一重加密合约对所述保密文件进行重加密处理,以生成对应的第一重加密密文RCT。
其中,在本实施例中,需要指出的是,上述通过所述第一重加密合约对所述保密文件进行重加密处理,以生成对应的第一重加密密文的步骤之后,所述方法还包括:
进一步的,在本实施例中,需要说明的是,本实施例会进一步将上述第一重加密密文上传至上述IPFS中,与此同时,并接收上述IPFS返回的上述数据索引,以根据当前数据索引调用对应的跨链数据更新合约,其中,需要指出的是,本实施例提供的数据索引与上述第一重加密密文两者之间具有一一对应的映射关系。
更进一步的,本实施例通过上述跨链数据更新合约对上述跨链用户请求内容进行更新,并调用跨链数据查询合约;
在此基础之上,本实施例通过跨链数据请求ID以及当前跨链数据查询合约查询更新后的跨链用户请求内容,并进一步通过更新后的跨链用户请求内容从上述IPFS中获取到上述第一重加密密文以及上述对称数据密文;
最后,本实施例基于预设解密算法依次对当前第一重加密密文以及当前对称数据密文进行解密处理,以获取到所述保密文件。优选的,在本实施例中,本实施例通过预先设置好的AttrDecrypt(属性解密)算法输入系统公钥
PK、密钥密文
KCT、用户属性私钥
SK、用户属性集合
S对上述第一重加密密文进行解密处理,进一步运行AESDecrypt(对称解密)算法输入对称密钥
FK、数据密文
DCT,以使当前用户能够最终获取到需要的保密文件
File。
其中,需要说明的是,,进一步的,。
进一步的,在本实施例中,需要说明的是,上述按照第二预设规则向所述第二用户下发所述保密文件的步骤包括:
通过所述数据索引从所述IPFS中下载所述密钥密文以及所述对称数据密文,并基于所述用户属性私钥依次对所述密钥密文以及所述对称数据密文进行解密处理,以获取到所述保密文件。
具体的,在本实施例中,需要说明的是,若本实施例实时判断到当前用户属于当前区块链系统,且当前用户的属性集合满足上述数据访问结构,则本实施例能够直接通过上述数据索引从上述IPFS中下载出对应的密钥密文以及对称数据密文,在此基础之上,能够使用用户属性私钥通过上述解密算法依次对当前密钥密文以及对称数据密文进行解密处理,以最终获取到需要的保密文件。
另外,在本实施例中,还需要说明的是,上述按照第三预设规则向所述第二用户下发所述保密文件的步骤包括:
具体的,在本实施例中,需要说明的是,若本实施例实时判断到当前用户属于当前区块链系统,但未被授权时,即当前用户属性集合不满足上述数据访问结构,则本实施例需要当前用户调用本地数据接收合约,并进一步接收本地数据接收合约携带的本地用户请求信息,该本地用户请求信息包括本地用户ID以及本地用户请求内容;
进一步的,在本实施例中,当接收到本地数据共享请求时,判断当前本地数据共享请求是否满足第二预设要求;具体的,本实施例会实时判断上述跨链用户请求信息中的请求类型Type是否为1,其中,本实施例提供的请求类型Type只有0和1两种类型,其中1表示跨链,对应的,0表示链内,并且Type的值是由智能合约设定而成的,是不能够被篡改的。
具体的,若判断到当前本地数据共享请求满足上述第二预设要求,则进一步基于上述第二预设算法根据上述系统公钥生成第二重加密密钥,并将当前第二重加密密钥发送至上述代理中继链中,以调用上述代理中继链中的第二重加密合约;
在此基础之上,最后通过上述第二重加密合约对上述保密文件进行重加密处理,以生成对应的第二重加密密文。
另外,在本实施例中,还需要指出的是,上述通过所述第二重加密合约对所述保密文件进行重加密处理,以生成对应的第二重加密密文的步骤之后,所述方法还包括:
同理,在本实施例中,需要说明的是,本实施例会进一步将上述第二重加密密文上传至上述IPFS中,并接收上述IPFS返回的所述数据索引,以根据所述数据索引调用对应的本地数据更新合约;
进一步的,通过上述本地数据更新合约对上述本地用户请求内容进行更新,并调用本地数据查询合约;
在此基础之上,通过上述本地数据查询合约查询更新后的本地用户请求内容,并通过更新后的本地用户请求内容从上述IPFS中获取到上述第二重加密密文以及上述对称数据密文;
最后,在本实施例中,同样基于上述预设解密算法依次对上述第二重加密密文以及上述对称数据密文进行解密处理,以获取到需要的保密文件。
使用时,通过使用多个属性授权中心管理其所属区块链的用户属性授权、系统公钥和主密钥的生成,并且每个属性授权中心能够由各区块链系统自行管理,从而能够有效的防止用户隐私信息发生泄露,并且本申请使用了适用于跨链系统的属性代理重加密算法,使得本申请能够实现跨链系统中数据的加密共享和加密数据细粒度的访问控制。其次,本申请通过部署在代理中继链上的智能合约对保密文件进行重加密,即使个别加密服务器出现故障时,系统也可以稳定有效运行,并且由于智能合约无法进行人为干预,同时所有重加密操作都将被记录在代理中继链的分布式账本中,从而能够有效的避免现有的半可信代理重加密服务器所带来的数据篡改和隐私泄露的现象发生,并且当跨链各方对某一数据共享操作出现异议可以通过对代理中继链分布式账本中的重加密操作记录进行溯源快速定位操作用户并对其进行追责,实现了区块链跨链系统中高可用、细粒度且可追责的数据可信共享和信息保护。
需要说明的是,上述的实施过程只是为了说明本申请的可实施性,但这并不代表本申请的基于中继链的属性代理重加密方法只有上述唯一一种实施流程,相反的,只要能够将本申请的基于中继链的属性代理重加密方法实施起来,都可以被纳入本申请的可行实施方案。
综上,本发明上述实施例提供的基于中继链的属性代理重加密方法能够有效的避免现有的半可信代理重加密服务器所带来的数据篡改和隐私泄露的现象发生,实现了区块链跨链系统中高可用的细粒度数据的可信共享和信息保护。
请参阅图4,所示为本发明第二实施例提供的基于中继链的属性代理重加密模型,所述模型包括:
推举模块12,用于接收各个区块链系统推举出的代理中继节点,以组成对应的代理中继链,并生成创世区块公布跨链系统中的公共参数;
第一获取模块22,用于通过各个所述代理中继节点向所述代理中继链注册区块链系统,并获取所述公共参数发送至所述区块链系统中的属性授权中心;
处理模块32,用于基于各个所述区块链系统的属性授权中心通过所述公共参数生成对应的系统公钥和系统主密钥,并将所述系统主密钥保存、将所述系统公钥公开至对应的区块链系统中;
加密模块42,用于接收所述区块链系统中的第一用户随机生成的对称秘钥,并通过所述对称秘钥对区块链系统中的保密文件进行加密处理,以生成对应的对称数据密文,并基于第一预设算法生成与所述对称秘钥对应的密钥密文;
存储模块52,用于将所述对称数据密文和所述密钥密文均上传至IPFS中,并通过所述IPFS生成与所述对称数据密文和所述密钥密文对应的数据索引,并通过第一预设合约将所述数据索引存储至所述区块链系统中的分布式账本中;
接收模块62,用于当接收到第二用户的数据获取请求时,判断所述第二用户是否在所述区块链系统内;
第一执行模块72,用于若判断到所述第二用户不在所述区块链系统内,则按照第一预设规则向所述第二用户下发所述保密文件;
判断模块82,用于若判断到所述第二用户在所述区块链系统内,则判断所述第二用户是否已被授权;
第二执行模块92,用于若判断到所述第二用户已被授权,则按照第二预设规则向所述第二用户下发所述保密文件;
第三执行模块102,用于若判断到所述第二用户未被授权,则按照第三预设规则向所述第二用户下发所述保密文件。
其中,上述基于中继链的属性代理重加密模型中,所述基于中继链的属性代理重加密模型还包括第二获取模块112,所述第二获取模块112具体用于:
当接收到新用户的加入请求时,获取所述新用户的用户属性集,并将所述用户属性集、所述系统主密钥以及所述公共参数输入至所述属性授权中心中,以使所述属性授权中心输出对应的用户属性私钥;
将所述用户属性私钥发送至用户的终端内。
其中,上述基于中继链的属性代理重加密模型中,所述第一执行模块72具体用于:
调用跨链数据发起合约,并通过所述跨链数据发起合约生成对应的跨链交易,且通过预设跨链网关监听所述跨链交易;
通过所述预设跨链网关将所述跨链交易传输至所述代理中继链中,以在另一区块链系统中调用出与所述跨链交易对应的跨链数据接收合约,并接收所述跨链数据接收合约携带的跨链用户请求信息,所述跨链用户请求信息包括跨链用户ID以及跨链用户请求内容;
当接收到跨链数据共享请求时,判断所述跨链数据共享请求是否满足第一预设要求;
若判断到所述跨链数据共享请求满足第一预设要求,则基于第二预设算法根据所述系统公钥生成对应的第一重加密密钥,并将所述第一重加密密钥发送至所述代理中继链中,以调用所述代理中继链中的第一重加密合约;
通过所述第一重加密合约对所述保密文件进行重加密处理,以生成对应的第一重加密密文。
其中,上述基于中继链的属性代理重加密模型中,所述基于中继链的属性代理重加密模型还包括第一更新模块122,所述第一更新模块122具体用于:
将所述第一重加密密文上传至所述IPFS中,并接收所述IPFS返回的所述数据索引,以根据所述数据索引调用对应的跨链数据更新合约;
通过所述跨链数据更新合约对所述跨链用户请求内容进行更新,并调用跨链数据查询合约;
通过所述跨链数据查询合约查询更新后的跨链用户请求内容,并通过更新后的跨链用户请求内容从所述IPFS中获取到所述第一重加密密文以及所述对称数据密文;
基于预设解密算法依次对所述第一重加密密文以及所述对称数据密文进行解密处理,以获取到所述保密文件。
其中,上述基于中继链的属性代理重加密模型中,所述第二执行模块92具体用于:
通过所述数据索引从所述IPFS中下载所述密钥密文以及所述对称数据密文,并基于所述用户属性私钥依次对所述密钥密文以及所述对称数据密文进行解密处理,以获取到所述保密文件。
其中,上述基于中继链的属性代理重加密模型中,所述第三执行模块102具体用于:
调用本地数据接收合约,并接收所述本地数据接收合约携带的本地用户请求信息,且将所述本地用户请求信息存储至分布式账本中,所述本地用户请求信息包括本地用户ID以及本地用户请求内容;
当接收到本地数据共享请求时,判断所述本地数据共享请求是否满足第二预设要求;
若判断到所述本地数据共享请求满足所述第二预设要求,则基于所述第二预设算法根据所述系统公钥生成第二重加密密钥,并将所述第二重加密密钥发送至所述代理中继链中,以调用所述代理中继链中的第二重加密合约;
通过所述第二重加密合约对所述保密文件进行重加密处理,以生成对应的第二重加密密文。
其中,上述基于中继链的属性代理重加密模型中,所述基于中继链的属性代理重加密模型还包括第二更新模块132,所述第二更新模块132具体用于:
将所述第二重加密密文上传至所述IPFS中,并接收所述IPFS返回的所述数据索引,以根据所述数据索引调用对应的本地数据更新合约;
通过所述本地数据更新合约对所述本地用户请求内容进行更新,并调用本地数据查询合约;
通过所述本地数据查询合约查询更新后的本地用户请求内容,并通过更新后的本地用户请求内容从所述IPFS中获取到所述第二重加密密文以及所述对称数据密文;
基于所述预设解密算法依次对所述第二重加密密文以及所述对称数据密文进行解密处理,以获取到所述保密文件。
本发明第三实施例提供了一种计算机,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述实施例提供的基于中继链的属性代理重加密方法。
本发明第四实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例提供的基于中继链的属性代理重加密方法。
综上所述,本发明上述实施例提供的基于中继链的属性代理重加密方法、模型及存储介质通过使用多个属性授权中心管理其所属区块链的用户属性授权、系统公钥和主密钥的生成,并且每个属性授权中心能够由各区块链系统自行管理,从而能够有效的防止用户隐私信息发生泄露,并且本申请使用了适用于跨链系统的属性代理重加密算法,使得本申请能够实现跨链系统中数据的链内及链外加密共享和加密数据细粒度的访问控制。其次,本申请通过部署在代理中继链上的智能合约对保密文件进行重加密,即使个别加密服务器出现故障时,系统也可以稳定有效运行,并且由于智能合约无法进行人为干预,同时所有重加密操作都将被记录在代理中继链的分布式账本中,从而能够有效的避免现有的半可信代理重加密服务器所带来的数据篡改和隐私泄露的现象发生,并且当跨链各方对某一数据共享操作出现异议可以通过对代理中继链分布式账本中的重加密操作记录进行溯源快速定位操作用户并对其进行追责,实现了区块链跨链系统中高可用、细粒度且可追责的数据可信共享和信息保护。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、 “示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于中继链的属性代理重加密方法,其特征在于,所述方法包括:
接收各个区块链系统推举出的代理中继节点,以组成对应的代理中继链,并生成创世区块公布跨链系统中的公共参数;
通过各个所述代理中继节点向所述代理中继链注册区块链系统,并获取所述公共参数发送至所述区块链系统中的属性授权中心;
基于各个所述区块链系统的属性授权中心通过所述公共参数生成对应的系统公钥和系统主密钥,并将所述系统主密钥保存、将所述系统公钥公开至对应的区块链系统中;
接收所述区块链系统中的第一用户随机生成的对称秘钥,并通过所述对称秘钥对所述区块链系统中的保密文件进行加密处理,以生成对应的对称数据密文,并基于第一预设算法生成与所述对称秘钥对应的密钥密文;
将所述对称数据密文和所述密钥密文均上传至IPFS中,并通过所述IPFS生成与所述对称数据密文和所述密钥密文对应的数据索引,并通过第一预设合约将所述数据索引存储至所述区块链系统中的分布式账本中;
当接收到第二用户的数据获取请求时,判断所述第二用户是否在所述区块链系统内;
若判断到所述第二用户不在所述区块链系统内,则按照第一预设规则向所述第二用户下发所述保密文件;
若判断到所述第二用户在所述区块链系统内,则判断所述第二用户是否已被授权;
若判断到所述第二用户已被授权,则按照第二预设规则向所述第二用户下发所述保密文件;
若判断到所述第二用户未被授权,则按照第三预设规则向所述第二用户下发所述保密文件。
2.根据权利要求1所述的基于中继链的属性代理重加密方法,其特征在于:所述方法还包括:
当接收到新用户的加入请求时,获取所述新用户的用户属性集,并将所述用户属性集、所述系统主密钥以及所述公共参数输入至所述属性授权中心中,以使所述属性授权中心输出对应的用户属性私钥;
将所述用户属性私钥发送至用户的终端内。
3.根据权利要求1所述的基于中继链的属性代理重加密方法,其特征在于:所述按照第一预设规则向所述第二用户下发所述保密文件的步骤包括:
调用跨链数据发起合约,并通过所述跨链数据发起合约生成对应的跨链交易,且通过预设跨链网关监听所述跨链交易;
通过所述预设跨链网关将所述跨链交易传输至所述代理中继链中,以在另一区块链系统中调用出与所述跨链交易对应的跨链数据接收合约,并接收所述跨链数据接收合约携带的跨链用户请求信息,且将所述跨链数据请求信息存储至分布式账本中,所述跨链用户请求信息包括跨链用户ID以及跨链用户请求内容;
当接收到跨链数据共享请求时,判断所述跨链数据共享请求是否满足第一预设要求;
若判断到所述跨链数据共享请求满足第一预设要求,则基于第二预设算法根据所述系统公钥生成对应的第一重加密密钥,并将所述第一重加密密钥发送至所述代理中继链中,以调用所述代理中继链中的第一重加密合约;
通过所述第一重加密合约对所述保密文件进行重加密处理,以生成对应的第一重加密密文。
4.根据权利要求3所述的基于中继链的属性代理重加密方法,其特征在于:所述通过所述第一重加密合约对所述保密文件进行重加密处理,以生成对应的第一重加密密文的步骤之后,所述方法还包括:
将所述第一重加密密文上传至所述IPFS中,并接收所述IPFS返回的所述数据索引,以根据所述数据索引调用对应的跨链数据更新合约;
通过所述跨链数据更新合约对所述跨链用户请求内容进行更新,并调用跨链数据查询合约;
通过所述跨链数据查询合约查询更新后的跨链用户请求内容,并通过更新后的跨链用户请求内容从所述IPFS中获取到所述第一重加密密文以及所述对称数据密文;
基于预设解密算法依次对所述第一重加密密文以及所述对称数据密文进行解密处理,以获取到所述保密文件。
5.根据权利要求2所述的基于中继链的属性代理重加密方法,其特征在于:所述按照第二预设规则向所述第二用户下发所述保密文件的步骤包括:
通过所述数据索引从所述IPFS中下载所述密钥密文以及所述对称数据密文,并基于所述用户属性私钥依次对所述密钥密文以及所述对称数据密文进行解密处理,以获取到所述保密文件。
6.根据权利要求4所述的基于中继链的属性代理重加密方法,其特征在于:所述按照第三预设规则向所述第二用户下发所述保密文件的步骤包括:
调用本地数据接收合约,并接收所述本地数据接收合约携带的本地用户请求信息,且将所述本地用户请求信息存储至分布式账本中,所述本地用户请求信息包括本地用户ID以及本地用户请求内容;
当接收到本地数据共享请求时,判断所述本地数据共享请求是否满足第二预设要求;
若判断到所述本地数据共享请求满足所述第二预设要求,则基于所述第二预设算法根据所述系统公钥生成第二重加密密钥,并将所述第二重加密密钥发送至所述代理中继链中,以调用所述代理中继链中的第二重加密合约;
通过所述第二重加密合约对所述保密文件进行重加密处理,以生成对应的第二重加密密文。
7.根据权利要求6所述的基于中继链的属性代理重加密方法,其特征在于:所述通过所述第二重加密合约对所述保密文件进行重加密处理,以生成对应的第二重加密密文的步骤之后,所述方法还包括:
将所述第二重加密密文上传至所述IPFS中,并接收所述IPFS返回的所述数据索引,以根据所述数据索引调用对应的本地数据更新合约;
通过所述本地数据更新合约对所述本地用户请求内容进行更新,并调用本地数据查询合约;
通过所述本地数据查询合约查询更新后的本地用户请求内容,并通过更新后的本地用户请求内容从所述IPFS中获取到所述第二重加密密文以及所述对称数据密文;
基于所述预设解密算法依次对所述第二重加密密文以及所述对称数据密文进行解密处理,以获取到所述保密文件。
8.一种基于中继链的属性代理重加密模型,其特征在于,所述模型包括:
推举模块,用于接收各个区块链系统推举出的代理中继节点,以组成对应的代理中继链,并生成创世区块公布跨链系统中的公共参数;
第一获取模块,用于通过各个所述代理中继节点向所述代理中继链注册区块链系统,并获取所述公共参数发送至所述区块链系统中的属性授权中心;
处理模块,用于基于各个所述区块链系统的属性授权中心通过所述公共参数生成对应的系统公钥和系统主密钥,并将所述系统主密钥保存、将所述系统公钥公开至对应的区块链系统中;
加密模块,用于接收所述区块链系统中的第一用户随机生成的对称秘钥,并通过所述对称秘钥对区块链系统中的保密文件进行加密处理,以生成对应的对称数据密文,并基于第一预设算法生成与所述对称秘钥对应的密钥密文;
存储模块,用于将所述对称数据密文和所述密钥密文均上传至IPFS中,并通过所述IPFS生成与所述对称数据密文和所述密钥密文对应的数据索引,并通过第一预设合约将所述数据索引存储至所述区块链系统中的分布式账本中;
接收模块,用于当接收到第二用户的数据获取请求时,判断所述第二用户是否在所述区块链系统内;
第一执行模块,用于若判断到所述第二用户不在所述区块链系统内,则按照第一预设规则向所述第二用户下发所述保密文件;
判断模块,用于若判断到所述第二用户在所述区块链系统内,则判断所述第二用户是否已被授权;
第二执行模块,用于若判断到所述第二用户已被授权,则按照第二预设规则向所述第二用户下发所述保密文件;
第三执行模块,用于若判断到所述第二用户未被授权,则按照第三预设规则向所述第二用户下发所述保密文件。
9.一种计算机,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任意一项所述的基于中继链的属性代理重加密方法。
10.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至7中任意一项所述的基于中继链的属性代理重加密方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310276584.4A CN115987988B (zh) | 2023-03-21 | 2023-03-21 | 基于中继链的属性代理重加密方法、模型及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310276584.4A CN115987988B (zh) | 2023-03-21 | 2023-03-21 | 基于中继链的属性代理重加密方法、模型及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115987988A true CN115987988A (zh) | 2023-04-18 |
CN115987988B CN115987988B (zh) | 2023-06-30 |
Family
ID=85959994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310276584.4A Active CN115987988B (zh) | 2023-03-21 | 2023-03-21 | 基于中继链的属性代理重加密方法、模型及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115987988B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111191288A (zh) * | 2019-12-30 | 2020-05-22 | 中电海康集团有限公司 | 一种基于代理重加密的区块链数据访问权限控制方法 |
CN113067857A (zh) * | 2021-03-15 | 2021-07-02 | 新疆大学 | 一种基于双链结构的电子病历跨院共享方法 |
WO2021223097A1 (zh) * | 2020-05-06 | 2021-11-11 | 北京大学深圳研究生院 | 一种网络中数据内容的鉴授权方法和计算机可读存储介质 |
CN115242555A (zh) * | 2022-09-21 | 2022-10-25 | 北京邮电大学 | 一种可监管的跨链隐私数据共享方法及装置 |
CN115277040A (zh) * | 2022-03-23 | 2022-11-01 | 山东新一代信息产业技术研究院有限公司 | 一种基于区块链技术的医疗健康数据存储和共享方法及系统 |
CN115809480A (zh) * | 2022-12-05 | 2023-03-17 | 南京邮电大学 | 一种面向细粒度跨链交易数据的隐私保护方法 |
-
2023
- 2023-03-21 CN CN202310276584.4A patent/CN115987988B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111191288A (zh) * | 2019-12-30 | 2020-05-22 | 中电海康集团有限公司 | 一种基于代理重加密的区块链数据访问权限控制方法 |
WO2021223097A1 (zh) * | 2020-05-06 | 2021-11-11 | 北京大学深圳研究生院 | 一种网络中数据内容的鉴授权方法和计算机可读存储介质 |
CN113067857A (zh) * | 2021-03-15 | 2021-07-02 | 新疆大学 | 一种基于双链结构的电子病历跨院共享方法 |
CN115277040A (zh) * | 2022-03-23 | 2022-11-01 | 山东新一代信息产业技术研究院有限公司 | 一种基于区块链技术的医疗健康数据存储和共享方法及系统 |
CN115242555A (zh) * | 2022-09-21 | 2022-10-25 | 北京邮电大学 | 一种可监管的跨链隐私数据共享方法及装置 |
CN115809480A (zh) * | 2022-12-05 | 2023-03-17 | 南京邮电大学 | 一种面向细粒度跨链交易数据的隐私保护方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115987988B (zh) | 2023-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108235806B (zh) | 安全访问区块链的方法、装置、系统、存储介质及电子设备 | |
US8059818B2 (en) | Accessing protected data on network storage from multiple devices | |
EP3089399B1 (en) | Methods and devices for securing keys for a non-secured, distributed environment with applications to virtualization and cloud-computing security and management | |
Yan et al. | Heterogeneous data storage management with deduplication in cloud computing | |
CA2714196C (en) | Information distribution system and program for the same | |
CN111292041B (zh) | 一种电子合同生成方法、装置、设备及存储介质 | |
US20150067330A1 (en) | Method and system for network data access | |
US7266705B2 (en) | Secure transmission of data within a distributed computer system | |
JP2012518329A (ja) | 信頼済みクラウドコンピューティングおよびサービスに関するフレームワーク | |
EP1984889A2 (en) | Secure digital content management using mutating identifiers | |
JP2013511103A (ja) | 信頼できるコンピューティング・サービスとデータ・サービスのためのコンテナを利用しないデータ | |
CN111079191A (zh) | 一种基于区块链的cp-abe访问控制方案 | |
CN113422683B (zh) | 一种边云协同数据传输方法、系统、存储介质及终端 | |
KR101839048B1 (ko) | 사물 인터넷 환경의 종단간 보안 플랫폼 | |
US11968302B1 (en) | Method and system for pre-shared key (PSK) based secure communications with domain name system (DNS) authenticator | |
CN115495768A (zh) | 基于区块链及多方安全计算的涉密信息处理方法及系统 | |
Mirtalebi et al. | Enhancing security of Web service against WSDL threats | |
CN114091058A (zh) | 在第一区域和第二区域间数据安全共享的方法和系统 | |
CN111327634B (zh) | 网站访问监管方法、安全套接层代理装置、终端及系统 | |
CN115987988B (zh) | 基于中继链的属性代理重加密方法、模型及存储介质 | |
CN116633576A (zh) | 安全可信NC-Link代理器、控制方法、设备及终端 | |
CN115906117A (zh) | 一种基于区块链交易可信应用实现方法 | |
Charanya et al. | Attribute based encryption for secure sharing of E-health data | |
CN114258006B (zh) | 获取凭据的方法、装置及系统 | |
US12015721B1 (en) | System and method for dynamic retrieval of certificates with remote lifecycle management |
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 |