CN110492997B - 一种基于超级账本的加密系统、方法、装置和存储介质 - Google Patents

一种基于超级账本的加密系统、方法、装置和存储介质 Download PDF

Info

Publication number
CN110492997B
CN110492997B CN201910732478.6A CN201910732478A CN110492997B CN 110492997 B CN110492997 B CN 110492997B CN 201910732478 A CN201910732478 A CN 201910732478A CN 110492997 B CN110492997 B CN 110492997B
Authority
CN
China
Prior art keywords
key
key set
authority
attribute
identification information
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.)
Active
Application number
CN201910732478.6A
Other languages
English (en)
Other versions
CN110492997A (zh
Inventor
高英
陈奕健
陈志凌
林宏亮
吴朝捷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN201910732478.6A priority Critical patent/CN110492997B/zh
Publication of CN110492997A publication Critical patent/CN110492997A/zh
Application granted granted Critical
Publication of CN110492997B publication Critical patent/CN110492997B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0847Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving identity based encryption [IBE] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于超级账本的加密系统、方法、装置和存储介质,所述系统包括第一智能合约、第二智能合约、第一认证机构、第二认证机构和多个属性权威机构。由于根据数据访问者的密钥集发放请求来确认一个或多个目标属性权威机构来作为权威中心,而且各属性权威机构之间是相互独立的,通过使用超级账本Fabric来实现去中心化属性基加密算法,无需统一的权威中心,克服了现有的基于密文策略的属性基加密算法的缺陷,即避免统一的权威中心所带来的权威中心失信或者错误所带来的系统崩溃风险,因此适用于对分布式存储的数据的加密处理。本发明广泛应用于数据加密技术领域。

Description

一种基于超级账本的加密系统、方法、装置和存储介质
技术领域
本发明涉及数据加密技术领域,尤其是一种基于超级账本的加密系统、方法、装置和存储介质。
背景技术
在云计算得到广泛应用的背景下,数据提供者的数据存储在分布式的系统中,因此产生了对分布式存储的数据进行加密的需求。现有的加密方法包括对称加密算法、非对称加密算法和密钥策略属性基加密算法和密文策略属性基加密算法等。
对称加密算法的对称加密算法的工作原理是:数据发送方用特殊的解密算法处理明文和密钥,实现加密得到密文并发送。接收方接收到密文后,必须获得该密文此前加密使用过的相同的密钥,才可能对密文解密。这就意味着,若要想要实现数据共享,数据提供者就必须公开密钥。由此可见,在云计算的背景下,对称加密算法安全性很差,不具有可行性。
非对称加密算法的工作原理是:接收方生成一对公私钥并公布公钥,欲发送密文给接收方的话,需要使用接收方公布的公钥加密明文得到密文再发送给接收方,然后接收方使用其私钥对密文解密得到明文。在分布式存储环境中,数据访问者数量庞大,若使用非对称加密算法,需要大量资源储存和管理数据提供者产生的公私钥对,可见该方法也是不太妥当的。
密钥策略属性基加密算法KP-ABE的原理是:密钥对应访问策略,密文对应属性集合,当访问策略和属性集匹配时,才能成功解密。密钥策略属性基加密算法可以适用于对分布式存储的数据进行加密,但它也存在缺点,即采用不同的访问策略时,需要生成不同的密钥,这对于访问策略繁复多变的的系统是不利的。
密文策略属性基加密算法CP-ABE也可以适用于对分布式存储的数据进行加密,但在密文策略属性基加密算法的实施过程中,属性认证由统一的中央权威机构来实现,这种中心化的结构与分布式存储系统的特点相抵触,可扩展性较差,同时存在着单点故障的问题。
术语解释:
区块链(Blockchain):区块链是一个分布式账本,是一种通过去中心化、去信任的方式集体维护一个可靠数据库的技术方案。从数据的角度来看,区块链是一种几乎不可能被更改的分布式数据库。这里的“分布式”不仅体现为数据的分布式存储,也体现为数据的分布式记录;从技术的角度来看区块链并不是一种单一的技术,而是多种技术整合的结果。根据网络范围和节点规模等的不同,区块链可以分为公有区块链、联盟区块链和私有区块链。公有链是指世界上的任意个人或团体都可以参与到区块链的共识过程中,发起交易并得到交易确认,典型的例子是比特币。私有链一般是个人或公司内部用于记账而存在的,与传统的分布式个人数据库相似。而联盟区块链则是某个或多个群体参与到记账过程,同时会有一个CA节点用于验证其他节点的合法性,控制其加入和退出区块链,一个典型的例子是超级账本联盟链。
超级账本Fabric(Hyperledger Fabric):超级账本是Linux基金会主导的一个旨在推动区块链跨行业应用的开源项目,属于联盟链类型,而Fabric是超级账本下五个并行项目之一。Fabric是一个许可的区块链构架。它提供一个模块化的构架,把架构中的节点、智能合约(链码)的执行以及可配置的共识和成员服务。一个Fabric网络包含同伴节点执行智能合约,访问账本数据,背书交易并称为应用程序的接口。命令者节点负责确保此区块链的一致性并传达被背书的交易给网络中的同伴们;以及MSP(Membership ServiceProvider)服务,主要作为证书权威机构来管理X.509证书,以用于验证成员身份以及角色,提供身份审查等功能。图1展示了Fabric的整体架构。
智能合约(Smart Contract):在Fabric中,智能合约又称链码(chaincode)。一个智能合约是一套以数字形式定义的承诺(promises),包括合约参与方可以在上面执行这些承诺的协议。在区块链中,智能合约只是一些运行在电脑(或其他节点)的区块链网络的特定代码,一旦节点执行了这个代码,合约就会更新交易信息。
属性基加密(Attribute-Based Encryption):即基于属性加密,英文缩写为ABE,是一种基于椭圆曲线的加密算法。该算法把身份标识看作是一系列的属性,使用属性基加密之后的密文如果需要解密,必须要具备有对应的属性值并且属性之间满足一定的组合条件。属性基加密能够很好地进行内容访问控制,实现在复杂的云环境中对不同的资源设置对应的访问策略。
基于密文策略的属性基加密(Ciphertext Policy Attribute-BasedEncryption):是属性基加密的一个比较具备广泛使用意义的加密算法,它是基于密文策略的加密方法,英文缩写为CP-ABE。当使用CP-ABE时,密文在加密状态下如果想要被解密,必须具备对应的属性,并且这个属性需要满足一个访问策略树。访问策略树保存在密文中,当需要解密密文时,只要提供的属性集合能够满足对应的访问策略,方能解开密文得到铭文。
去中心化属性基加密算法(Decentralizing Ciphertext Policy Attribute-Based Encryption):其英文缩写为DCP-ABE。DCP-ABE是对CP-ABE的进一步改进,它采用与CP-ABE相同的数据加密与访问方案,但在属性授权环节,DCP-ABE采用多个权威认证机构,消除了权威中心化的弱点。在DCP-ABE中,一个权威机构对应一个属性机构,管理对应的属性集,并对不同用户的属性管理不同的公私钥对。
发明内容
为了解决上述技术问题,本发明的目的在于提供一种基于超级账本的加密系统、方法、装置和存储介质。
一方面,本发明实施例包括一种基于超级账本的加密系统,包括第一智能合约、第二智能合约、第一认证机构、第二认证机构和多个属性权威机构;
所述第一智能合约用于检测密钥集发放请求,并将所述密钥集发放请求发送至所述第一认证机构;所述密钥集发放请求指向所述多个属性权威机构中的至少一个目标属性权威机构,所述密钥集发放请求用于请求所述目标属性权威机构以发放密钥集;
所述第一认证机构用于验证所述目标属性权威机构的合法性;
所述第二智能合约用于在检测到所述目标属性权威机构合法时,获取与所述密钥集发放请求的来源相对应的身份标识信息和第一公钥,然后请求所述第二认证机构验证所述身份标识信息的合法性,当检测到所述身份标识信息合法时,将所述身份标识信息和第一公钥发送至所述目标属性权威机构;
所述目标属性权威机构用于获取密钥集,使用所述第一公钥对所述密钥集进行加密,并发放经过加密的所述密钥集。
进一步地,所述第一智能合约还用于将所述密钥集发放请求作为操作痕迹进行上链。
进一步地,所述目标属性权威机构还用于生成签名信息,并使用所述签名信息对所述密钥集进行签名;所述第二智能合约还用于将所述签名信息作为交互痕迹进行上链。
进一步地,所述第二认证机构验证还用于:
检测超级账本加入请求并确定所述超级账本加入请求的来源;
检测所述来源的身份标识信息,并对所述身份标识信息进行认证,从而生成认证证书;
生成第一公钥和相应的第一私钥;
将所述认证证书、第一公钥和第一私钥发送至所述超级账本加入请求的来源。
进一步地,所述目标属性权威机构还用于:
获取全局参数并调取所存储的属性集;所述属性集包括多个用于描述所述身份标识信息的属性;
根据所述全局参数和属性集,生成第二私钥和相应的第二公钥;
根据所获取到的身份标识信息,从所述属性集中选取相应的属性;
根据所述全局参数、第二私钥和所选取的属性,生成所述密钥集。
进一步地,所述基于超级账本的加密系统还包括加密模块,所述加密模块用于获取明文,根据所述全局参数和第二公钥对所述明文进行加密从而获得密文。
进一步地,所述基于超级账本的加密系统还包括存储模块,所述存储模块用于存储所述密文和第二公钥,并提供所述密文和第二公钥的访问和下载。
另一方面,本发明实施例包括一种基于超级账本的加密方法,包括以下步骤:获取密钥集发放请求;所述密钥集发放请求用于请求发放密钥集;
获取与所述密钥集发放请求向对应的身份标识信息和第一公钥;
验证所述身份标识信息的合法性;
当检测到所述身份标识信息合法时,获取密钥集,使用所述第一公钥对所述密钥集进行加密,并发放经过加密的所述密钥集。
另一方面,本发明实施例还包括一种基于超级账本的加密装置,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行本发明实施例所述方法。
另一方面,本发明实施例还包括一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行本发明方法。
本发明的有益效果是:通过使用超级账本Fabric来实现去中心化属性基加密算法,由于根据数据访问者的密钥集发放请求来确认一个或多个目标属性权威机构来作为权威中心,而且各属性权威机构之间是相互独立的,因此无需统一的权威中心,克服了现有的基于密文策略的属性基加密算法的缺陷,即避免统一的权威中心所带来的权威中心失信或者错误所带来的系统崩溃风险,因此适用于对分布式存储的数据的加密处理。
附图说明
图1为所述超级账本的一种通用架构示意图;
图2为本发明实施例中所述基于超级账本的加密系统的结构示意图;
图3为本发明实施例中所述基于超级账本的加密系统的工作原理图;
图4为本发明实施例中所述基于超级账本的加密方法的流程图。
具体实施方式
本实施例中所述的一种基于超级账本的加密系统,参照图2,包括第一智能合约、第二智能合约、第一认证机构、第二认证机构和多个属性权威机构;
所述第一智能合约用于检测密钥集发放请求,并将所述密钥集发放请求发送至所述第一认证机构;所述密钥集发放请求指向所述多个属性权威机构中的至少一个目标属性权威机构,所述密钥集发放请求用于请求所述目标属性权威机构以发放密钥集;
所述第一认证机构用于验证所述目标属性权威机构的合法性;
所述第二智能合约用于在检测到所述目标属性权威机构合法时,获取与所述密钥集发放请求的来源相对应的身份标识信息和第一公钥,然后请求所述第二认证机构验证所述身份标识信息的合法性,当检测到所述身份标识信息合法时,将所述身份标识信息和第一公钥发送至所述目标属性权威机构;
所述目标属性权威机构用于获取密钥集,使用所述第一公钥对所述密钥集进行加密,并发放经过加密的所述密钥集。
本实施例中,针对如下一个应用环境对所述加密系统进行说明:数据访问者获取到了由加密系统使用密文策略属性基加密算法(CP-ABE)加密得到的密文,并需要获取相应的密钥集对密文进行解密,因此数据访问者向所述加密系统发出密钥集发放请求。
本实施例中所述的加密系统是使用超级账本fabric实现的。所述第一认证模块abe-CA是超级账本fabric的服务角色之一,它的作用是对属性权威机构进行认证,只有通过第一认证模块abe-CA认证的属性权威机构才能成为超级账本fabric的节点。第一认证模块abe-CA还用于对接入超级账本fabric的属性权威机构进行初始化。
所述第二认证模块fabric-CA也是超级账本fabric的服务角色,它的作用是对发出请求的数据访问者进行认证,只有经过第二认证模块fabric-CA认证的数据访问者才能接入超级账本,其请求才能得到响应。具体地,第二认证模块fabric-CA是通过以下步骤来对数据访问者进行认证的:
(1A)检测超级账本加入请求,并通过IP地址或者MAC地址等确定所述超级账本加入请求的来源,即确定是哪个数据访问者发出所述超级账本加入请求;
(2A)检测所述来源,即数据访问者的身份标识信息GID,并对所述身份标识信息GID进行认证,从而生成认证证书;
(3A)生成第一公钥PKuseri和相应的第一私钥SKuseri
(4A)将所述认证证书、第一公钥PKuseri和第一私钥SKuseri发送至所述超级账本加入请求的来源,也就是将所述认证证书、第一公钥PKuseri和第二私钥SKuseri分配给发出超级账本加入请求的数据访问者。
第二认证模块fabric-CA对发放了的认证证书、第一公钥PKuseri和第二私钥SKuseri进行记录。当需要第二认证模块fabric-CA对发出密钥发放请求的数据访问者的合法性进行验证时,可以要求数据访问者提供相应的认证证书和分配到的第一公钥PKuseri,并检测有没有记录相应的认证证书和第一公钥PKuseri,若存在相应的记录,则认为所述数据访问者或其身份标识信息合法。
所发放的第一公钥PKuseri和相应的第一私钥SKuseri除了可以用于对数据访问者进行认证,并对发出请求的数据访问者的合法性进行验证之外,还用于对数据访问者和超级账本之间通信的数据进行加密。例如,当目标属性权威机构将获取到的密钥集通过超级账本发放给数据访问者时,可以由目标属性权威机构将密钥集发送至第二智能合约Chaincode AA,由第二智能合约Chaincode AA使用第一公钥PKuseri对密钥集进行加密,并将经过加密的密钥集发送至数据访问者,由数据访问者使用第一私钥SKuseri进行解密得到密钥集。
第二认证模块fabric-CA还可以对数据访问者进行基于属性的访问控制ABAC,使得数据访问者访问第一智能合约Chaincode CA和第二智能合约Chaincode AA时受到权限控制,从而控制数据访问者对超级账本的资源读写。
所述第一智能合约Chaincode CA,也可称为第一链码,用于连接数据访问者和数据访问者发出的密钥集发放请求所指向的目标属性权威机构,也用于连接第一认证模块abe-CA与目标属性权威机构。所述第二智能合约Chaincode AA,也可称为第二链码,用于连接数据访问者和数据访问者发出的密钥集发放请求所指向的目标属性权威机构。也就是说,数据访问者需要通过第一智能合约Chaincode CA和第二智能合约Chaincode AA来访问目标属性权威机构来获取密钥集;当属性权威机构希望接入超级账本从而成为超级账本中的节点时,需要通过第一智能合约Chaincode CA来与第一认证模块abe-CA进行交互。
各所述属性权威机构分别管理不同的属性集合,例如属性权威机构AAi管理的属性集合为Attrii={attri1,attri2,…,attriq},这些属性可以用来对数据访问者或其身份标识信息进行描述,并且可以用来生成相应的第二公钥和第二密钥。根据第二密钥所生成的密钥集,可以供数据访问者对密文进行解密。因此,通过密钥集发放请求可以追踪到数据访问者或其身份标识信息,进而可以分析出其所对应的属性,通过对各属性权威机构进行搜索,可以发现存储有相应属性的属性权威机构,并将这些属性权威机构定义为目标属性权威机构。
参照图2,所述超级账本中还可以包括Peer、orderer和kafka等用于存储数据和公式的节点。
本实施例中,所述基于超级账本的加密系统的原理在于:当检测到数据访问者发出的密钥集发放请求时,分别对数据访问者以及其密钥集发放请求所指向的目标属性权威机构的合法性进行判定,当数据访问者以及目标属性权威机构均合法时,由目标属性权威机构获取密钥集并使用数据访问者所具有的第一公钥对密钥集进行解密。目标属性权威机构通过超级账本将经过加密的密钥集发放到数据访问者,由数据访问者使用其保管的第一私钥进行解密,从而获得密钥集,数据访问者可以使用密钥集对密文进行解密。
所述基于超级账本的加密系统的优点在于:通过使用超级账本Fabric来实现去中心化属性基加密算法,由于根据数据访问者的密钥集发放请求来确认一个或多个目标属性权威机构来作为权威中心,而且各属性权威机构之间是相互独立的,因此无需统一的权威中心,克服了现有的基于密文策略的属性基加密算法的缺陷,即避免统一的权威中心所带来的权威中心失信或者错误所带来的系统崩溃风险,因此适用于对分布式存储的数据的加密处理。
进一步作为优选的实施方式,所述第一智能合约在获取到密钥集发放请求后,还将所述密钥集发放请求作为操作痕迹进行上链。
进一步作为优选的实施方式,所述目标属性权威机构在获取到密钥集之后,还生成签名信息,并使用所述签名信息对所述密钥集进行签名,并由所述第二智能合约将所述签名信息作为交互痕迹进行上链。
通过对操作痕迹和交互痕迹的上链处理,可以对数据访问者对超级账本的访问以及目标属性权威机构对密钥集的发放进行记录,从而使得密钥集的发放是可追溯的,进一步提高了加密系统的安全性能。
进一步作为优选的实施方式,所述目标属性权威机构是通过执行以下步骤,从而获取所述密钥集的:
(1B)获取全局参数并调取所存储的属性集;所述属性集包括多个用于描述所述身份标识信息的属性;
(2B)根据所述全局参数和属性集,生成第二私钥和相应的第二公钥;
(3B)根据所获取到的身份标识信息,从所述属性集中选取相应的属性;
(4B)根据所述全局参数、第二私钥和所选取的属性,生成所述密钥集。
步骤(1B)中,所述全局参数是对加密系统进行初始化时所生成的工作参数,其可以供加密系统的各组成部分即第一智能合约和第二智能合约等调用,从而保持各组成部分工作状态的一致性。
目标属性权威机构AAi调取其相应的属性集Attrii={attri1,attri2,…,attriq},并根据全局参数和属性集生成第二私钥SK和相应的第二公钥PK,其中第二私钥SK由目标属性权威机构AAi保留,第二公钥PK则进行公布。
目标属性权威机构AAi根据所获取到的身份标识信息,从所述属性集Attrii={attri1,attri2,…,attriq}中选取相应的属性attrii,并结合所述全局参数、第二私钥和身份标识信息来生成密钥集Ki,GID
进一步作为优选的实施方式,所述基于超级账本的加密系统还包括加密模块,所述加密模块用于获取明文,根据所述全局参数和第二公钥PK对所述明文进行加密从而获得密文。
所述加密模块可以从数据共享者处获取需要加密的明文,然后使用全局参数和目标属性权威机构所生成的第二公钥PK对所述明文进行加密,从而得到密文。所述密文可以被通过第二私钥SK来进行解密,从而得到明文。
进一步作为优选的实施方式,所述基于超级账本的加密系统还包括存储模块,具体地,所述存储模块可以是云服务器。所述密文和第二公钥PK可以被存储在所述存储模块中,并且提供所述密文和第二公钥的访问和下载,使得外界可以访问并下载所述密文和第二公钥PK,而只有拥有第二私钥SK的数据访问者才能对所述密文进行解密,从而得到明文。数据访问者可以通过获取密钥集来获取第二私钥SK。
本实施例中,所述加密系统的一个工作流程如图3所示。
图3所示的系统可以按照以下流程工作,从而实现明文的上传、加密、下载和解密:
(1)属性权威机构生成第一公钥、第一私钥、第二公钥和第二私钥,并发送至超级账本;
(2)超级账本在对数据访问者进行认证时,向通过认证的数据访问者发放第一公钥、第一私钥和认证证书;
(3)超级账本将第二公钥发送至加密模块,使得加密模块接收数据共享者上传的明文后,可以使用第二公钥对明文进行加密,从而得到密文;
(4)加密模块将密文上传到超级账本,由超级账本将密文以及相应的第二公钥传送到存储模块;任何数据访问者都可以访问存储模块以获取密文和第二公钥;
(5)数据访问者通过访问存储模块获取密文和第二公钥;
(6)数据访问者向超级账本发出获取第二私钥的请求;
(7)超级账本根据第二私钥生成密钥集,使用第一公钥对密钥集进行加密,并将加密后的密钥集发送至数据访问者;
(8)数据访问者使用第一私钥对经过加密的密钥集进行解密,并恢复出第二密钥;
(9)数据访问者使用第二密钥对密文进行解密,从而获取到明文。
本实施例中所述一种基于超级账本的加密方法,参照图4,包括以下步骤:
S1.获取密钥集发放请求;所述密钥集发放请求用于请求发放密钥集;
S2.获取与所述密钥集发放请求向对应的身份标识信息和第一公钥;
S3.验证所述身份标识信息的合法性;
S4.当检测到所述身份标识信息合法时,获取密钥集,使用所述第一公钥对所述密钥集进行加密,并发放经过加密的所述密钥集。
所述基于超级账本的加密方法可以使用本实施例中所述基于超级账本的加密系统来执行,可以实现与该系统相应的功能和有益效果。
本实施例还包括一种基于超级账本的加密装置,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行本发明实施例所述方法。
本实施例还包括一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行本发明基于超级账本的加密方法。
本实施例中的基于超级账本的加密装置和存储介质,可以执行本发明的基于超级账本的加密方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本公开中所使用的上、下、左、右等描述仅仅是相对于附图中本公开各组成部分的相互位置关系来说的。在本公开中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本实施例所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本实施例说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本实施例所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本实施例所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。
应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
此外,可按任何合适的顺序来执行本实施例描述的过程的操作,除非本实施例另外指示或以其他方式明显地与上下文矛盾。本实施例描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本实施例所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。
计算机程序能够应用于输入数据以执行本实施例所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

Claims (10)

1.一种基于超级账本的加密系统,其特征在于,包括第一智能合约、第二智能合约、第一认证机构、第二认证机构和多个属性权威机构;
所述第一智能合约用于检测密钥集发放请求,并将所述密钥集发放请求发送至所述第一认证机构;所述密钥集发放请求指向所述多个属性权威机构中的至少一个目标属性权威机构,所述密钥集发放请求用于请求所述目标属性权威机构以发放密钥集;
所述第一认证机构用于验证所述目标属性权威机构的合法性;
所述第二智能合约用于在检测到所述目标属性权威机构合法时,获取与所述密钥集发放请求的来源相对应的身份标识信息和第一公钥,然后请求所述第二认证机构验证所述身份标识信息的合法性,当检测到所述身份标识信息合法时,将所述身份标识信息和第一公钥发送至所述目标属性权威机构;
所述目标属性权威机构用于获取密钥集,使用所述第一公钥对所述密钥集进行加密,并发放经过加密的所述密钥集。
2.根据权利要求1所述的一种基于超级账本的加密系统,其特征在于,所述第一智能合约还用于将所述密钥集发放请求作为操作痕迹进行上链。
3.根据权利要求1所述的一种基于超级账本的加密系统,其特征在于,所述目标属性权威机构还用于生成签名信息,并使用所述签名信息对所述密钥集进行签名;所述第二智能合约还用于将所述签名信息作为交互痕迹进行上链。
4.根据权利要求1所述的一种基于超级账本的加密系统,其特征在于,所述第二认证机构验证还用于:
检测超级账本加入请求并确定所述超级账本加入请求的来源;
检测所述来源的身份标识信息,并对所述身份标识信息进行认证,从而生成认证证书;
生成第一公钥和相应的第一私钥;
将所述认证证书、第一公钥和第一私钥发送至所述超级账本加入请求的来源。
5.根据权利要求1-4任一项所述的一种基于超级账本的加密系统,其特征在于,所述目标属性权威机构还用于:
获取全局参数并调取所存储的属性集;所述属性集包括多个用于描述所述身份标识信息的属性;
根据所述全局参数和属性集,生成第二私钥和相应的第二公钥;
根据所获取到的身份标识信息,从所述属性集中选取相应的属性;
根据所述全局参数、第二私钥和所选取的属性,生成所述密钥集。
6.根据权利要求5所述的一种基于超级账本的加密系统,其特征在于,还包括加密模块,所述加密模块用于获取明文,根据所述全局参数和第二公钥对所述明文进行加密从而获得密文。
7.根据权利要求6所述的一种基于超级账本的加密系统,其特征在于,还包括存储模块,所述存储模块用于存储所述密文和第二公钥,并提供所述密文和第二公钥的访问和下载。
8.一种基于超级账本的加密方法,其特征在于,包括以下步骤:
获取密钥集发放请求;所述密钥集发放请求用于请求发放密钥集;所述密钥集发放请求指向多个属性权威机构中的至少一个目标属性权威机构,所述密钥集发放请求用于请求所述目标属性权威机构以发放密钥集;
获取与所述密钥集发放请求向对应的身份标识信息和第一公钥;
验证所述身份标识信息的合法性;
当检测到所述身份标识信息合法时,获取密钥集,使用所述第一公钥对所述密钥集进行加密,并发放经过加密的所述密钥集。
9.一种基于超级账本的加密装置,其特征在于,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行权利要求8所述方法。
10.一种计算机可读存储介质,其中存储有处理器可执行的指令,其特征在于,所述处理器可执行的指令在由处理器执行时用于执行如权利要求8所述方法。
CN201910732478.6A 2019-08-09 2019-08-09 一种基于超级账本的加密系统、方法、装置和存储介质 Active CN110492997B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910732478.6A CN110492997B (zh) 2019-08-09 2019-08-09 一种基于超级账本的加密系统、方法、装置和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910732478.6A CN110492997B (zh) 2019-08-09 2019-08-09 一种基于超级账本的加密系统、方法、装置和存储介质

Publications (2)

Publication Number Publication Date
CN110492997A CN110492997A (zh) 2019-11-22
CN110492997B true CN110492997B (zh) 2020-12-01

Family

ID=68550407

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910732478.6A Active CN110492997B (zh) 2019-08-09 2019-08-09 一种基于超级账本的加密系统、方法、装置和存储介质

Country Status (1)

Country Link
CN (1) CN110492997B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112953946B (zh) * 2021-02-25 2022-05-31 平安科技(深圳)有限公司 云环境下的属性加密方法、装置、设备及存储介质
CN113672379A (zh) * 2021-07-07 2021-11-19 四川大学锦城学院 一种基于分布式处理的数据智能分析方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108292401A (zh) * 2015-07-08 2018-07-17 巴克莱银行公开有限公司 安全的数字数据操作
CN109104415A (zh) * 2018-07-21 2018-12-28 江苏飞搏软件股份有限公司 构建可信节点网络的系统及方法
CN109728903A (zh) * 2018-12-22 2019-05-07 复旦大学 一种使用属性密码的区块链弱中心密码授权方法
CN110061838A (zh) * 2019-04-28 2019-07-26 广州大学 一种dns资源记录的去中心化存储系统及其实现、信息检索方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105592100B (zh) * 2016-01-26 2019-04-23 西安电子科技大学 一种基于属性加密的政务云访问控制方法
CN107507091A (zh) * 2017-09-07 2017-12-22 复旦大学 基于区块链和智能合约的增强型数据权益保护方法
BR112019008174A2 (pt) * 2018-11-07 2019-09-10 Alibaba Group Holding Ltd método implementado por computador, meio de armazenamento legível por computador, não transitório e sistema
CN109559124B (zh) * 2018-12-17 2023-04-18 重庆大学 一种基于区块链的云数据安全共享方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108292401A (zh) * 2015-07-08 2018-07-17 巴克莱银行公开有限公司 安全的数字数据操作
CN109104415A (zh) * 2018-07-21 2018-12-28 江苏飞搏软件股份有限公司 构建可信节点网络的系统及方法
CN109728903A (zh) * 2018-12-22 2019-05-07 复旦大学 一种使用属性密码的区块链弱中心密码授权方法
CN110061838A (zh) * 2019-04-28 2019-07-26 广州大学 一种dns资源记录的去中心化存储系统及其实现、信息检索方法

Also Published As

Publication number Publication date
CN110492997A (zh) 2019-11-22

Similar Documents

Publication Publication Date Title
US11900368B2 (en) Method and system for zero-knowledge and identity based key management for decentralized applications
EP3788523B1 (en) System and method for blockchain-based cross-entity authentication
EP3788522B1 (en) System and method for mapping decentralized identifiers to real-world entities
CN110572398B (zh) 区块链网络的管控方法、装置、设备及存储介质
US11196573B2 (en) Secure de-centralized domain name system
US11695735B2 (en) Security management for net worked client devices using a distributed ledger service
US10567370B2 (en) Certificate authority
KR102307574B1 (ko) 블록체인을 기반으로 한 클라우드 데이터 저장 시스템 및 데이터 저장 방법
EP3526721A1 (en) Method, device and system for validating sensitive user data transactions within trusted circle
CN111512658A (zh) 用于分散式数字认证的方法和系统
US11367065B1 (en) Distributed ledger system for electronic transactions
CN107534855A (zh) 远程控制目标安全元件的权限和权利的方法
WO2019213781A1 (en) Security management for networked client devices using a distributed ledger service
CN112543166B (zh) 实名登录的方法及装置
CN110492997B (zh) 一种基于超级账本的加密系统、方法、装置和存储介质
KR102118556B1 (ko) 프라이빗 블록체인 기반 개인정보 관리 서비스 제공 방법
CN113508379B (zh) 用于分布式系统中的多向信任形成的系统、方法和介质
CN115361147A (zh) 设备注册方法及装置、计算机设备、存储介质
CN114258006B (zh) 获取凭据的方法、装置及系统
TWM585941U (zh) 帳戶資料處理系統
US20240171548A1 (en) Security management for networked client devices using a distributed ledger service
CN117675383A (zh) 针对网络化协同设计的数据传输架构及数据传输方法

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