CN112235260B - 一种匿名数据存证方法、装置、设备和存储介质 - Google Patents
一种匿名数据存证方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN112235260B CN112235260B CN202011027570.1A CN202011027570A CN112235260B CN 112235260 B CN112235260 B CN 112235260B CN 202011027570 A CN202011027570 A CN 202011027570A CN 112235260 B CN112235260 B CN 112235260B
- Authority
- CN
- China
- Prior art keywords
- data
- key
- holder
- anonymous
- ownership
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0407—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
- H04L63/0421—Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic 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)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Fuzzy Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例公开了一种匿名数据存证方法、装置、设备和存储介质。响应于数据持有方的数据存储请求,根据持有方标识,生成至少一个密钥分片和持有方标识密文;通过至少一个密钥管理方的密钥信息,分别对各所述密钥分片进行加密,得到各所述密钥分片关联的密钥分片密文;将所述密钥分片密文、所述持有方标识密文和匿名数据摘要,上链存储;响应于数据查询方的数据查询请求,接收至少一个密钥管理方的密钥分片明文;根据所述密钥分片明文,生成解密密钥;根据所述解密密钥对持有方标识密文进行解密,以对数据持有方进行验证,保证了区块链的每一条匿名数据的真实性,同时保证了匿名数据中信息不可篡改,且保证了匿名数据有途径识别到数据来源。
Description
技术领域
本申请实施例涉及区块链技术领域,尤其涉及一种匿名数据存证方法、装置、设备和存储介质。
背景技术
因比特币而走进大众视野的区块链技术,近年来悄然延伸到众多领域,逐渐显现出“区块链+”的巨大潜能。
区块链产品可以分为公有链、私有链和联盟链。公有链是指任何人后能参与的区块链,完全开源,完全匿名。私有链是指区块链记账权限仅由少数成员掌握,并且参与记账的权限由机构内部制定,读取权限可以对方开放也可以任意程度地限制。联盟链是指参与每个节点的权限都完全对等,各节点在不需要完全互信的情况下就可以实现数据的可信交换,联盟链的各个节点通常有与之对应的实体机构组织,通过授权后才能加入或退出网络。
现有的公链往往不关心或者鼓励数据匿名,典型代表就是加密货币,而联盟链往往建立在联盟成员之间相互可信的基础上,对联盟成员监督和管理的能力不足。
发明内容
本申请提供一种匿名数据存证方法、装置、设备和存储介质,以实现区块链上每一条匿名数据都有途径识别到数据来源。
第一方面,本申请实施例提供了一种匿名数据存储方法,应用于区块链节点,包括:
响应于数据持有方的数据存储请求,根据持有方标识,生成至少一个密钥分片和持有方标识密文;
通过至少一个密钥管理方的密钥信息,分别对各所述密钥分片进行加密,得到各所述密钥分片关联的密钥分片密文;
将所述密钥分片密文、所述持有方标识密文和匿名数据摘要,上链存储。
第二方面,本申请实施例还提供了一种匿名数据验证方法,应用于区块链节点,包括:
响应于数据查询方的数据查询请求,接收至少一个密钥管理方的密钥分片明文;
根据所述密钥分片明文,生成解密密钥;
根据所述解密密钥对持有方标识密文进行解密,以对数据持有方进行验证。
第三方面,本申请实施例还提供了一种匿名数据存储装置,配置于区块链节点,包括:
密钥分片生成模块,用于响应于数据持有方的数据存储请求,根据持有方标识,生成至少一个密钥分片和持有方标识密文;
密钥分片密文获取模块,用于通过至少一个密钥管理方的密钥信息,分别对各所述密钥分片进行加密,得到各所述密钥分片关联的密钥分片密文;
存储模块,用于将所述密钥分片密文、所述持有方标识密文和匿名数据摘要,上链存储。
第四方面,本申请实施例还提供了一种匿名数据验证装置,配置于区块链节点,包括:
密钥分片明文得到模块,用于响应于数据查询方的数据查询请求,接收至少一个密钥管理方的密钥分片明文;
解密密钥生成模块,用于根据所述密钥分片明文,生成解密密钥;
验证模块,用于根据所述解密密钥对持有方标识密文进行解密,以对数据持有方进行验证。
第五方面,本申请实施例还提供了一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本申请第一方面提供的一种匿名数据存储方法和/或第二方面提供的一种匿名数据验证方法。
第六方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请第一方面提供的一种匿名数据存储方法和/或第二方面提供的一种匿名数据验证方法。
本申请通过响应于数据持有方的数据存储请求,根据持有方标识,生成至少一个密钥分片和持有方标识密文;通过至少一个密钥管理方的密钥信息,分别对各所述密钥分片进行加密,得到各所述密钥分片关联的密钥分片密文;将所述密钥分片密文、所述持有方标识密文和匿名数据摘要,上链存储;通过响应于数据查询方的数据查询请求,接收至少一个密钥管理方的密钥分片明文;根据所述密钥分片明文,生成解密密钥;根据所述解密密钥对持有方标识密文进行解密,以对数据持有方进行验证;上述技术方案保证了区块链的每一条匿名数据的真实性,匿名数据不能冒充实名数据,同时保证了匿名数据中信息不可篡改,且保证了匿名数据有途径识别到数据的来源,实现了对匿名数据属主判别的权限管理。
附图说明
图1是本申请实施例一中的一种匿名数据存储方法的流程图;
图2是本申请实施例二中的一种匿名数据验证方法的流程图;
图3A是本申请实施例三中的一种区块链新成员注册的流程图;
图3B是本申请实施例三中的一种匿名数据存储方法的流程图;
图3C是本申请实施例三中的一种匿名数据验证方法的流程图;
图3D是本申请实施例三中的一种匿名数据验证方法的流程图;
图3E是本申请实施例三中的一种匿名数据验证方法的流程图;
图3F是本申请实施例三中的一种匿名数据验证方法的流程图;
图4是本申请实施例四中的一种匿名数据存储装置的结构示意图;
图5是本申请实施例五中的一种匿名数据验证装置的结构示意图;
图6是本申请实施例六中的一种电子设备的结构图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
实施例一
图1为本申请实施例一提供的一种匿名数据存储方法的流程图,该方法适用于区块链对匿名数据进行存储和验证的场景中,可以由匿名数据存储装置执行,该装置由软件和/或硬件实现,并具体配置于电子设备中,该电子设备可以是承载有区块链节点的计算设备。
如图1所示的一种匿名数据存储方法,应用于区块链节点,包括:
S110、响应于数据持有方的数据存储请求,根据持有方标识,生成至少一个密钥分片和持有方标识密文。
其中,数据持有方可以是匿名数据的持有者;持有方标识用于唯一表征匿名数据持有方,可以是成员编号等信息,其中,成员编号是区块链管理员在申请成员注册时,给申请成员分配的,由数字构成,作为成员的唯一标识;密钥分片作为密钥中的一部分,可以辅助实现对匿名数据的解密,例如通过设定数量的密钥分片进行解密密钥反算,进而通过解密密钥对相应的加密数据进行解密。
其中,数据存储请求中可以包括待存储数据和/或待存储数据标识。其中,待存储数据标识可以是待存储数据在区块链外的存储地址,或者还可以是待存储数据经哈希计算后得到的数据摘要。
数据持有方在具备数据存储需求时,向区块链网络中的成员节点发送数据存储请求;相应的,区块链网络中的成员节点响应于匿名数据持有方的数据存储请求,读取证书,获取数据持有方的持有方标识,根据持有方标识,运行加密算法,生成至少一个密钥分片和持有方标识密文。其中,证书中包含成员编号,与私钥绑定。其中,密钥分片用于对持有方标识密文进行解密,由联盟委员会成员进行管理。
其中,区块链网络中的成员节点,是申请成员在区块链网络中注册成功后,才成为区块链网络中的成员节点。具体的,申请成员向区块链管理员发起一个注册请求,其中,注册请求中包括申请成员的基本信息,其中,基本信息可以是申请成员的资产规模、算力、存储能力等,用于区块链管理员评判申请成员是否有资格和能力加入到区块链中。相应的,区块链管理员接收申请成员的基本信息,进行评判,若可以加入,则给申请成员分配一个成员编号,作为成员的唯一标识。区块链管理员向区块链网络中的联盟委员会发起投票请求;相应的,联盟委员会成员响应投票请求,决定是否要申请成员加入到区块链中,并将投票结果发送至区块链管理员。区块链管理员接收联盟委员会成员的投票结果,当接收到设定数量的联盟委员会成员的投票结果,表明申请成员有加入区块链的资格,此时,区块链管理员将申请成员的名称、成员编号加入到成员列表中,表明申请成员可以加入区块链网络。至此,申请成员成为区块链网络中的成员节点。
可选的,数据持有方在具备数据存储需求时,向区块链网络中的成员节点发送数据存储请求;相应的,区块链网络中的成员节点响应于匿名数据持有方的数据存储请求,读取证书,获取数据持有方的成员编号;采用门限加密算法,通过安全存储密钥对成员编号进行加密,得到加密后的成员编号,即持有方密文和多个密钥分片。其中,密钥分片用于对加密后的成员编号进行解密,由联盟委员会成员进行管理。例如,生成5个密钥分片,分别由5个联盟委员会成员管理,后续对加密后的成员编号进行解密时,需要获取一定数量的密钥分片,才能进行解密。若后续搜集到3个联盟委员会成员的密钥分片,采用联盟委员会成员的私钥进行解密,得到3个解密后的密钥分片,即密钥分片明文,将密钥分片明文拼装成完整的密钥,对加密后的成员编号进行解密,得到成员编号明文。
其中,证书是区块链管理员根据申请成员的申请信息,利用区块链管理员自己的公钥进行签名,生成的一个证书,也称为准入证书,其中,申请信息包括成员名称、成员编号、公钥和其他信息。若申请成员有证书,则表明申请成员有资格进入到区块链网络中,将证书发送给申请成员;相应的,申请成员接收到证书后,需要在区块链网站上进行登记。其中,成员名称是有申请成员自己命名,公钥是申请成员自己生成的一个公私钥对中的公钥,可以作为申请成员接入到区块链网络的一个地址。其中,证书中包括区块链管理员签名,证书与私钥有绑定关系。申请成员在收到证书后,会向区块链网站发起一个查询地址登记交易,若登记了查询地址,则后续申请成员发起的请求,区块链网络中的成员才会响应该请求,若没有登记查询地址,则区块链网络中的成员则不会对该请求进行响应。
可选的,安全存储密钥可以是可变长度的随机密钥;为了便于后续解密时进行解密层数的确定,需要建立一个安全存储密钥长度表,从该表中获取随机密钥的长度的具体值。可选的,安全存储密钥也可以是固定长度的随机密钥,可以用于确定后续解密时需要解密的层数。
可以理解的是,通过利用安全存储密钥对持有方标识加密,保证了区块链上每次反匿名只能反匿名一次数据记录,不会影响其他数据记录,为区块链的验证提供了可靠凭证。
S120、通过至少一个密钥管理方的密钥信息,分别对各所述密钥分片进行加密,得到各所述密钥分片关联的密钥分片密文。
其中,密钥管理方可以是联盟委员会中管理密钥分片的成员;密钥信息可以是联盟委员会成员的公钥。
区块链网络中的成员节点通过联盟委员会成员的公钥,对密钥分片进行加密,得到加密后的密钥分片,即各密钥分片关联的密钥分片密文。
S130、将所述密钥分片密文、所述持有方标识密文和匿名数据摘要,上链存储。
其中,匿名数据摘要是指对要上传的匿名数据加密后的信息。区块链网络中的成员节点利用区块链管理员的私钥,对要上传的匿名数据进行加密,得到匿名数据摘要。
区块链网络中的成员节点将密钥分片密文、持有方标识密文和匿名数据摘要利用区块链管理员的私钥进行签名,上链存储。
本实施例的技术方案,通过响应于数据持有方的数据存储请求,根据持有方标识,生成至少一个密钥分片和持有方标识密文;通过至少一个密钥管理方的密钥信息,分别对各所述密钥分片进行加密,得到各所述密钥分片关联的密钥分片密文;将所述密钥分片密文、所述持有方标识密文和匿名数据摘要,上链存储。上述技术方法保证了区块链的每一条匿名数据的真实性,匿名数据不能冒充实名数据,同时保证了匿名数据中信息不可篡改,且保证了匿名数据有途径识别到数据的来源,实现了对匿名数据属主判别的权限管理。
在上述各技术方案的基础上,在所述将所述密钥分片密文、所述持有方标识密文和匿名数据摘要,上链存储之前,该方法还包括:
根据对外权属密钥对所述匿名数据摘要进行签名,得到对外权属标识;将所述对外权属标识与所述匿名数据摘要关联,上链存储。
其中,对外权属密钥可以是匿名数据的持有方向区块链网络中成员节点公开的某条所持有数据记录的随机密钥;对外权属标识可以是一个所有权标识,用于表征数据持有方对某条匿名数据的所有权,以供成员节点对对应数据的所有权进行验证。
数据提供方有详情数据,对详情数据进行哈希计算,得到匿名数据摘要,利用数据持有方的对外权属密钥对匿名数据摘要进行签名,得到对外权属标识,将对外权属标识与匿名数据摘要关联,并存储到区块链上。
可以理解的是,针对某一条特定数据引入对外权属密钥,提供了对区块链上该条特定数据进行所有权的验证,而不会暴露对其他数据的所有权信息。
在上述各技术方案的基础上,在所述响应于数据持有方的数据存储请求,根据持有方标识,生成至少一个密钥分片和持有方标识密文之前,该方法还包括:
根据区块链管理节点的账户密钥,对数据存储请求的发起方的证书进行合法性验证,和/或,对链上获取的配置文件进行合法性验证;其中,所述配置文件中包括各所述密钥管理方的密钥信息;若验证通过,则执行对数据持有方的数据存储请求的响应操作。
可选的,区块链网络中其他成员,根据区块链管理节点的账户密钥,对数据存储请求的发起方的证书进行合法性验证,和/或,对链上获取的配置文件进行合法性验证;其中,所述配置文件中包括各所述密钥管理方的密钥信息,可以是区块链管理员的公钥。具体的,区块链管理员根据自己的私钥对证书进行签名;区块链网络中其他成员获得区块链管理员的公钥,根据区块链管理员的公钥确定区块链管理员签名的真假,若签名正确,则说明证书是合法的,即验证通过,则执行对数据持有方的数据存储请求的响应操作;若签名有误,则说明证书不合法,即验证不通过,则禁止执行对数据持有方的数据存储请求的响应操作。
可以理解的是,通过对证书和配置文件的合法性验证,保证了数据请求方的真实性,避免了非法成员的攻击,提高了区块链的安全性。
在上述各技术方案的基础上,该方法还包括:
接收数据提供方的对内权属密钥;将所述对内权属密钥与所述匿名数据摘要关联上链存储。
其中,对内权属密钥,用于验证数据持有方判断区块链上的匿名数据是否归属于自己。可选的,可以是利用一个固定密钥,通过加密算法,对匿名数据摘要进行签名,得到对内权属密钥;可选的,还可以利用一个非固定密钥,通过加密算法,对匿名数据摘要进行签名,得到对内权属密钥。数据持有方接收数据提供方的对内权属密钥,将对内权属密钥与匿名数据所关联,并存储于数据提供方在链上的配置文件中。
需要说明的是,加密算法可以是对称加密算法,例如高级加密标准(AdvancedEncryption Standard,AES)算法,也可以是非对称加密算法,例如椭圆曲线加密算法。
可以理解的是,通过引入对内权属密钥,保证了后续对匿名数据所有权的验证有较高的执行效率。
实施例二
图2为本申请实施例二提供的一种匿名数据验证方法的流程图,该方法适用于区块链对匿名数据进行存储和验证的场景中,该方法可以由匿名数据验证装置执行,该装置由软件和/或硬件实现,并具体配置于电子设备中,该电子设备可以是承载有区块链节点的计算设备。
如图2所示的一种匿名数据验证方法,应用于区块链节点,包括:
S210、响应于数据查询方的数据查询请求,接收至少一个密钥管理方的密钥分片明文。
其中,数据查询请求可以是数据查询方发起的一条数据记录的反匿名交易请求,也可以是数据查询方对链上的一条数据记录的查询请求。密钥管理方可以是区块链上拥有密钥分片的联盟委员会成员;密钥分片明文是指解密后的密钥分片。
联盟委员会响应于数据查询方的数据查询请求;联盟委员会成员选择是否需要进行解密,若需要解密,则用联盟委员会成员的私钥对属于联盟委员会成员的密钥分片进行解密,将解密后的密钥分片即密钥分片明文发送给数据查询方;相应的,数据查询方接收至少一个联盟委员会成员的密钥分片明文。
S220、根据所述密钥分片明文,生成解密密钥。
可选的,若接收到的所述密钥分片明文的数量大于设定门限值,则根据所述密钥分片明文生成所述解密密钥。其中,设定门限值可以根据本领域技术人员需要或经验值得到。
数据查询方若接收到的密钥分片明文的数量大于设定门限值,则用密钥分片明文,运行解密算法,对持有方标识密文进行解密,得到持有方标识密文的解密密钥。其中,设定门限值可以根据本领域技术人员需要或经验值得到。
S230、根据所述解密密钥对持有方标识密文进行解密,以对数据持有方进行验证。
数据查询方根据解密密钥对持有方标识密文进行解密,以对数据持有方进行验证。其中,持有方标识用于唯一表征匿名数据持有方,可以是成员编号等信息;密钥分片可用于对持有方标识密文解密。
根据所述解密密钥对持有方标识密文进行解密,以对数据持有方进行验证一种可选方式,可以是:根据所述解密密钥对持有方标识密文进行解密得到持有方标识;在区块链的成员列表中的查找所述持有方标识,以对数据持有方进行验证。
其中,成员列表包含区块链上所有成员节点的成员标识,当申请成员要加入区块链进行注册时,区块链管理员会为申请成员分一个唯一的成员编号,且区块链管理员会在链上发起一个投票,区块链上联盟委员会投票通过后,区块链管理员将申请成员编号写入成员列表。
具体的,数据查询方根据解密密钥对持有方标识密文进行解密,得到持有方标识,在区块链的成员列表中查找持有方标识,若查找到,则说明找到匿名数据的持有方;若没有查找到,则说明该数据是伪造的或者错误的。
本实施例的技术方案,通过响应于数据查询方的数据查询请求,接收至少一个密钥管理方的密钥分片明文;根据所述密钥分片明文,生成解密密钥;根据所述解密密钥对持有方标识密文进行解密,以对数据持有方进行验证,保证了区块链的每一条匿名数据的真实性,匿名数据不能冒充实名数据,同时保证了匿名数据中信息不可篡改,且保证了匿名数据有途径识别到数据的来源,实现了对匿名数据属主判别的权限管理。
在上述实施例的基础上,对数据持有方进行验证的另一种可选方式,可以是:链上获取匿名数据摘要和对外权属标识;根据数据持有方提供的对外权属密钥对所述匿名数据摘要进行签名,得到参考标识;根据所述参考标识和所述对外权属标识,对所述数据持有方对匿名数据的所有权进行验证。
其中,对外权属标识可以是一个所有权标识,用于表征数据持有方对某条匿名数据的所有权;对外权属密钥可以是匿名数据的持有方可对其他成员公开的持有方本身持有某条数据记录的随机密钥;签名可以是对某个数据进行特征抽取,也可以是对数据用私钥进行加密;参考标识可以是对某个数据进行抽取得到的特征,也可以是对数据加密后的结果。
示例性地,数据持有方获取链上的匿名数据摘要和链上的数据持有方的对外权属标识;数据提供方向区块链网络中成员展示持有的对外权属密钥;相应的,数据持有方根据数据持有方提供的对外权属密钥,对匿名数据摘要进行签名,得到参考标识;若得到的参考标识和链上的数据持有方的对外权属标识相同,则将该数据持有方的持有方标识写入区块链成员列表,匿名数据变为实名数据,证明数据持有方对匿名数据的所有权真实;若得到的参考标识和链上的数据持有者对外权属标识不相同,则不能证明数据持有方对匿名数据的所有权。
可以理解的是,通过得到的参考标识和对外权属标识,来进行数据持有方对匿名数据的所有权验证,使得数据持有方可以公开产生对外权属标识的对外权属密钥,向其他所有区块链成员证明自己对某条匿名数据的所有权,从而实现匿名数据到实名数据的转变,针对某一条特定数据引入对外权属密钥,提供了对区块链上该条特定数据进行所有权的验证,而不会暴露对其他数据的所有权。
区块链上的每条黑名单数据记录,不存储黑名单信息的详情,但有基于详情产生的匿名数据的详情数据。请求方可以对链上的数据记录进行请求,需要验证保证请求方获得的数据是否来源于链上数据记录的持有方,例如,用户A从区块链上得到用户B的数据,用户A向区块链全网发送数据,询问该数据属于谁,用户C告诉用户A是用户C的,则用户A要判断用户C和用户B是否是相同用户。
因此,对数据持有方进行验证的另一种可选方式,可以是:向区块链网络发送目标匿名数据的所有者验证请求,并接收数据提供方反馈的所述目标匿名数据的详情数据;对所述目标匿名数据的详情数据进行哈希计算,得到参考摘要;根据所述参考摘要和链上获取的所述目标匿名数据的匿名数据摘要,对持有方的真实性进行验证。
其中,目标匿名数据的所有者验证请求,可以是针对链上的一条数据记录通过广播进行查询的请求;目标匿名数据的详情数据,可以是匿名数据的详细信息。
可选的,区块链网络中的请求方向区块链网络发送目标匿名数据的所有者验证请求;区块链网络中的提供方判断是否是对本身的匿名数据的所有者请求,若是,则将目标匿名数据的详情数据发送至区块链网络中的请求方;相应的,区块链网络中的请求方接收数据提供方的目标匿名数据的详情数据。区块链网络中的请求方运行特定哈希算法,对目标匿名数据的详情数据进行哈希计算,得到参考摘要,其中,特定哈希算法是指与得到匿名数据摘要时相同的哈希算法;根据参考摘要和从区块链上获取的匿名数据的匿名数据摘要,对持有方的真实性进行验证,若参考摘要和从区块链上获取的匿名数据的匿名数据摘要相匹配,则说明该匿名数据的持有方真实,若参考摘要和从区块链上获取的匿名数据的匿名数据摘要不匹配,则说明收到的数据提供方反馈的目标匿名数据的详情数据是伪造的或者错误的,进而启动申述流程。
其中,申述流程,可以是区块链网络中的成员对数据质量进行质疑,向区块链联盟委员会提起提议,区块链联盟委员会对数据质量进行仲裁的一个过程。
可以理解的是,通过计算得到的参考摘要,来对目标匿名数据的持有方进行验证,保证了在数据提供方匿名的前提下,请求方能够对接收的数据的真实性进行验证。
在响应数据请求方的请求后,请求的响应方即上述数据提供方需要判断链上的目标匿名数据是否归属于自己,如上述例子中C要证明数据属于自己。
因此,对数据持有方进行验证另一种可选方式,还可以是:响应于数据验证者对目标匿名数据的所有者验证请求,链上获取所述目标匿名数据的匿名数据摘要;根据所述目标匿名数据的匿名数据摘要查找本地数据库,以对目标匿名数据的自身所有权进行验证。
区块链网络中的数据响应方响应于数据验证者对目标匿名数据的所有者验证请求,并从区块链上获取目标匿名数据的匿名数据摘要;根据匿名数据摘要查找本地数据库,以对目标匿名数据的自身所有权进行验证。
可选的,区块链网络中的数据响应方响应于数据验证者对目标匿名数据的所有者验证请求,并从区块链上获取目标匿名数据的匿名数据摘要;根据对内权属密钥对所述目标匿名数据的匿名数据摘要进行加密,得到数据查找标识;根据所述数据查找标识查找本地数据库,以对目标匿名数据的自身所有权进行验证。
其中,对内权属密钥,其中,对内权属密钥,用于验证数据持有方判断区块链上的匿名数据是否归属于自己。可选的,可以是利用一个固定密钥,通过加密算法,对匿名数据摘要进行签名,得到对内权属密钥;可选的,还可以利用一个非固定密钥,通过加密算法,对匿名数据摘要进行签名,得到对内权属密钥。其中,加密算法可以是对称加密算法,例如AES算法,也可以是非对称加密算法,例如椭圆曲线加密算法。
需要说明的是,对内权属密钥可以是从本地密钥库获取密钥作为对内权属密钥。其中,本地密钥库是指区块链上成员节点本身拥有的密钥集。
示例性地,区块链网络中的数据响应方响应于数据验证者对目标匿名数据的所有者验证请求,并从区块链上获取目标匿名数据的匿名数据摘要;运行指定的加密算法,利用对内权属密钥对目标匿名数据摘要进行加密,得到数据查找标识;根据数据查找标识,在本地数据库查找,若数据查找标识在本地数据库中,则说明目标匿名数据属于自身,若数据查找标识不在本地数据库,则说明匿名数据不属于自身。
通过引入内部权属密钥,进行目标匿名书的自身所有权的验证,使得区块链成员可以高效的判断区块链上的数据是否归属于自己,以便做出响应。
实施例三
在上述各实施例的基础上,提供了一种优选的实施方式。图3A为本申请实施例三提供的一种区块链新成员注册的流程图。
如图3A所示的区块链新成员注册的流程图,包括:
S310、注册开始;
S311、申请成员向区块链管理员发出申请;
S312、区块链管理员为申请成员分配一个成员编号,并在链上发起是否允许申请成员加入的投票;
S313、区块链上联盟委员会成员进行投票;
S314、区块链管理员接收联盟委员会成员的投票结果,判断投票是否通过,若不通过,则执行S315,若通过,则执行S316。
S315、注册失败,执行S319。
S316、注册成功;
S317、区块链管理员将员名称、成员编号、公钥和其他信息写入证书,并将证书发给申请成员;
其中,其他信息可以是申请成员的资产规模、算力、存储能力等。
S318、申请成员使用证书通过鉴权模块进行验证,将查询地址注册到链上;
其中,鉴权模块是区块链网络中每个成员都有的,用于对证书和配置文件的合法性进行验证。
S319、结束注册。
通过联盟注册,新加入联盟的成员从区块链管理员那里获得一个可以在链上操作的证书,同时将自己的身份标识与证书绑定。其中身份标识可以是持有方标识、私钥等。
申请成员注册成功后,需要进行交易,向区块链上传匿名数据。区块链只会接受签名能够验签通过的信息,即交易,要登记到区块链的交易一定要经过鉴权模块,其中,验签是对签名进行验证,检查合法性。图3B给出了匿名数据存储方法的流程图,包括:
S320、上传开始;
S321、鉴权模块检查证书和配置文件是否合法,若是,则执行S322,若否,则执行S323;
其中,配置文件包括密钥管理方的密钥信息等信息。
S322、验证失败,执行S328。
S323、鉴权模块读取证书信息和配置文件,获得成员编号;
S324、运行门限加密算法,将成员编号加密,得到多个解密密钥分片,分别用配置文件中联盟委员会成员的公钥对密钥分片进行加密,得到密钥分片密文;
S325、将要上传的信息、加密后的成员编号、密钥分片密文等信息拼装起来,利用区块链管理员的私钥进行签名,得到报文信息;
S326、将报文信息发送到链上;
S327、区块链上每个节点验证报文信息的合法性,用区块链管理员公开的与鉴权模块配对的一个公钥进行验证,判断是否通过验证,若是,则执行S322,若否,则执行S328;
S328、消息被登记到链上,上传过程结束。
通过上述流程,可以保证上传到区块链的每一条数据中的成员编号都代表了真实的成员,匿名数据不能冒充实名数据,同时匿名数据中所隐含的标志信息也是不可篡改的。在此前提下,对于匿名数据的验证可以至少包括以下验证情境中的至少一种:
示例性地,验证场景可以用于区块链联盟委员会对匿名数据进行强制解密,如图3C所示的一种匿名数据验证方法的流程图,包括:
S330、查询方发起对一条数据记录的反匿名交易;
S331、联盟委员会成员分别决定是否要解密,若是,则执行S332,若否,则执行S336。
S332、同意解密的联盟委员会成员将属于自己的密钥分片密文进行解密,得到密钥分片明文,将密钥分片明文登记到链上;
S333、收集密钥分片明文,是否达到设定门限值,若是,则执行S335,若否,在执行S334;
其中,进行密钥分片明文收集的节点可以是区块链管理员节点,还可以是常规的区块链成员节点。
S334、是否选择结束,若是,则执行S336;否则,返回执行S333。
S335、运行解密算法,获得分片前的完整解密密钥,用解密密钥对加密的成员编号进行解密,比对成员列表,获得匿名数据提供方信息;
S336、结束反匿名。
示例性地,验证场景可以用于匿名数据的持有者向其他成员证明自己对匿名数据的所有权,图3D给出了一种匿名数据验证方法的流程图,包括:
S340、数据持有者选择某条数据记录进行解匿名;
S341、在本地查询该数据记录对应的随机密钥;
S342、发起解匿名联盟合约,向联盟其他成员展示持有的随机密钥;
其中,随机密钥是对外权属密钥的一种。
S343、联盟合约以匿名数据摘要和随机密钥,在区块链每个节点采用相同的算法,得到参考标识;
S344、判断参考标识是否等于该条数据记录中的外部随机地址,若是,则执行S345,若否,则执行S346;
S345、联盟合约将成员编号写入区块链数据记录,匿名数据变为实名数据;
S346、不能证明解匿名发起者对匿名数据的所有权,解匿名失败。
示例性地,验证场景可以用于请求方判断所接收的数据是否来自于真实的匿名数据持有者,如图3E所示的一种匿名数据验证方法的流程图,包括:
S350、请求方针对区块链上某一条数据记录广播消息,进行详情查询,获取该数据记录的匿名数据摘要;
S351、收到提供方的目标匿名数据的详情数据;
S352、请求方根据目标匿名数据的详情数据,运行相同的哈希算法,得到参考摘要;
S353、判断参考摘要是否和数据记录中的匿名数据摘要一致,若是,则执行S354.若不是,则执行S355;
S354、判定收到的目标匿名数据的详情数据与请求的链上的数据记录是匹配的;
S355、判定收到的目标匿名数据的详情数据与请求的链上的数据记录不匹配,执行S356;
S356、启动申诉流程;
S357、结束。
示例性地,验证场景可以用于数据持有者判断匿名数据是否属于自己,如图3F所示的一种匿名数据验证方法的流程图,包括:
S360、联盟成员收到匿名数据记录的详情数据请求,获取请求数据记录的匿名数据摘要和内部权属密钥;
S361、将匿名数据摘要和固定的密钥作为参数,执行指定的对称加密算法,得到哈希加密结果;
S362、判断得到的哈希加密结果是否等于请求数据记录的内部随机地址,若是,则执行S363,若不是,则执行S364;
其中,内部随机地址是对内权属密钥的一种。
S363、判定该匿名数据归属于自己,对详情请求进行响应;
S364、判定该匿名数据不归属于自己,对详情请求不进行响应;
S365、结束。
实施例四
图4为本申请实施例四提供的一种匿名数据存储装置的结构示意图,本申请实施例适用于区块链对匿名数据进行存储和验证的场景中,该装置由软件和/或硬件实现,并具体配置于电子设备中,该电子设备可以是承载有区块链节点的计算设备。
如图4所示的匿名数据存储装置,配置于区块链节点,包括:密钥分片生成模块410、密钥分片密文获取模块420和存储模块430,其中,
密钥分片生成模块410,用于响应于数据持有方的数据存储请求,根据持有方标识,生成至少一个密钥分片和持有方标识密文;
密钥分片密文获取模块420,用于通过至少一个密钥管理方的密钥信息,分别对各所述密钥分片进行加密,得到各所述密钥分片关联的密钥分片密文;
存储模块430,用于将所述密钥分片密文、所述持有方标识密文和匿名数据摘要,上链存储。
进一步地,密钥分片生成模块410,具体用于采用门限加密算法,通过安全存储密钥对所述持有方标识进行加密,生成至少一个密钥分片和持有方标识密文。
其中,所述安全存储密钥为固定长度的随机密钥。
进一步地,该装置还包括对外权属标识存储模块,对外权属标识存储模块包括:对外权属标识获得单元和对外权属标识存储单元,其中,
对外权属标识获得单元,用于根据对外权属密钥对所述匿名数据摘要进行签名,得到对外权属标识;
对外权属标识存储单元,用于将所述对外权属标识与所述匿名数据摘要关联,上链存储。
进一步地,该装置还包括对内权属密钥存储模块,对内权属密钥存储模块包括对内权属密钥接收单元和对内权属密钥存储单元,其中,
内权属密钥接收单元,用于接收数据提供方的对内权属密钥;
对内权属密钥存储单元,用于将所述对内权属密钥与所述匿名数据摘要关联上链存储。
进一步地,该装置还包括:
合法性验证模块,用于根据区块链管理节点的账户密钥,对数据存储请求的发起方持有方的证书进行合法性验证,和/或,对链上获取的配置文件进行合法性验证;其中,所述配置文件中包括各所述密钥管理方的密钥信息;若验证通过,则执行对数据持有方的数据存储请求的响应操作。
上述匿名数据存储装置可执行本申请任意实施例所提供的匿名数据存储方法,具备执行匿名数据存储方法相应的功能模块和有益效果。
实施例五
图5为本申请实施例五提供的一种匿名数据验证装置的结构示意图,本实施例可适用于区块链相关产品,该装置由软件和/或硬件实现,并具体配置于电子设备中,该电子设备可以是承载有区块链节点的计算设备。
如图5所示的匿名数据验证装置,配置于区块链节点,包括:密钥分片明文得到模块510、解密密钥生成模块520和验证模块530,其中,
密钥分片明文得到模块510,用于响应于数据查询方的数据查询请求,接收至少一个密钥管理方的密钥分片明文;
解密密钥生成模块520,用于根据所述密钥分片明文,生成解密密钥;
验证模块530,用于根据所述解密密钥对持有方标识密文进行解密,以对数据持有方进行验证。
进一步地,解密密钥生成模块520包括解密密钥生成单元,解密密钥生成单元用于若接收到的所述密钥分片明文大于设定门限值,则根据所述密钥分片明文生成所述解密密钥。
进一步地,验证模块530包括持有方标识获得单元和数据持有方验证单元,其中,
持有方标识获得单元,用于根据所述解密密钥对持有方标识密文进行解密得到持有方标识;
数据持有方验证单元,用于在区块链的成员列表中的查找所述持有方标识,以对数据持有方进行验证。
进一步地,该装置还包括:匿名数据摘要和对外权属标识获得模块和参考标识获得模块,其中,
匿名数据摘要和对外权属标识获得模块,用于链上获取匿名数据摘要和对外权属标识;
参考标识获得模块,用于根据数据持有方提供的对外权属密钥对所述匿名数据摘要进行签名,得到参考标识;
验证模块530,还用于根据所述参考标识和所述对外权属标识,对所述数据持有方对匿名数据的所有权进行验证。
进一步地,该装置还包括:详情数据接收模块和参考摘要获得模块,其中,
详情数据接收模块,用于向区块链网络发送目标匿名数据的所有者验证请求,并接收数据提供方反馈的所述目标匿名数据的详情数据;
参考摘要获得模块,用于对所述目标匿名数据的详情数据进行哈希计算,得到参考摘要;
验证模块530,还用于根据所述参考摘要和链上获取的所述目标匿名数据的匿名数据摘要,对持有方的真实性进行验证。
进一步地,该装置还包括:
匿名数据摘要获取模块,用于响应于数据验证者对目标匿名数据的所有者验证请求,链上获取所述目标匿名数据的匿名数据摘要;
验证模块530,还用于根据所述目标匿名数据的匿名数据摘要查找本地数据库,以对目标匿名数据的自身所有权进行验证。
可选的,验证模块530包括:数据查找标识获得单元和自身所有权验证单元,其中,
数据查找标识获得单元,用于根据对内权属密钥对所述目标匿名数据的匿名数据摘要进行加密,得到数据查找标识;
自身所有权验证单元,用于根据所述数据查找标识查找本地数据库,以对目标匿名数据的自身所有权进行验证。
进一步地,该装置还包括:
对内权属密钥获取模块,用于从本地密钥库获取密钥作为对内权属密钥。
上述匿名数据验证装置可执行本申请任意实施例所提供的匿名数据验证方法,具备执行匿名数据验证方法相应的功能模块和有益效果。
实施例六
图6是本申请实施例六中的一种电子设备的结构图。如图6所示的电子设备,包括:输入装置610、输出装置620、处理器630以及存储装置640。
其中,输入装置610,用于接收至少一个密钥管理方的密钥分片明文;还用于接收数据提供方的对内权属密钥;
输出装置620,用于将所述密钥分片密文、所述持有方标识密文和匿名数据摘要,上链存储;
一个或多个处理器630;
存储装置640,用于存储一个或多个程序。
图6中以一个处理器630为例,该电子设备中的输入装置610可以通过总线或其他方式与输出装置620、处理器630以及存储装置640相连,且处理器630和存储装置640也通过总线或其他方式连接,图6中以通过总线连接为例。
在本实施例中,电子设备中的处理器630可以控制输入装置610接收至少一个密钥管理方的密钥分片明文;还接收数据提供方的对内权属密钥;还可以控制处理器630响应于数据持有方的数据存储请求,根据持有方标识,生成至少一个密钥分片和持有方标识密文;通过至少一个密钥管理方的密钥信息,分别对各所述密钥分片进行加密,得到各所述密钥分片关联的密钥分片密文;根据所述密钥分片明文,生成解密密钥;根据所述解密密钥对持有方标识密文进行解密,以对数据持有方进行验证;还可以控制输出装置620将所述密钥分片密文、所述持有方标识密文和匿名数据摘要,上链存储。
该电子设备中的存储装置640作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本申请实施例中应用匿名数据存储方法对应的程序指令/模块(例如,附图4所示的密钥分片生成模块410、密钥分片密文获取模块420和存储模块430)和/或应用匿名数据验证方法对应的程序指令/模块(例如,附图5所示的密钥分片明文得到模块510、解密密钥生成模块520和验证模块530)。处理器630通过运行存储在存储装置640中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例中的匿名数据存储方法和/或匿名数据验证方法。
存储装置640可包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储数据等(如上述实施例中的密钥分片、密钥分片明文和密文、持有方标识、持有方标识密文、安全存储密钥、对外权属密钥和对内权属密钥等)。此外,存储装置640可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置640可进一步包括相对于处理器630远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实施例七
本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被匿名数据存储装置执行时,实现本申请实施提供的匿名数据存储方法,包括:响应于数据持有方的数据存储请求,根据持有方标识,生成至少一个密钥分片和持有方标识密文;通过至少一个密钥管理方的密钥信息,分别对各所述密钥分片进行加密,得到各所述密钥分片关联的密钥分片密文;将所述密钥分片密文、所述持有方标识密文和匿名数据摘要,上链存储。
本申请实施例还提供了另一种计算机可读存储介质,其上存储有计算机程序,该程序被匿名数据验证装置执行时,实现本申请实施提供的匿名数据验证方法,包括:响应于数据查询方的数据查询请求,接收至少一个密钥管理方的密钥分片明文;根据所述密钥分片明文,生成解密密钥;根据所述解密密钥对持有方标识密文进行解密,以对数据持有方进行验证。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。
Claims (16)
1.种匿名数据存储方法,应用于区块链节点,其特征在于,包括:
响应于数据持有方的数据存储请求,根据持有方标识,生成至少一个密钥分片和持有方标识密文;其中,所述数据持有方是匿名数据的持有者;所述数据存储请求包括待存储数据和/或待存储数据标识;所述待存储数据标识是所述待存储数据在所述区块链节点外的存储地址,或者是所述待存储数据经哈希计算后得到的数据摘要;
通过至少一个密钥管理方的密钥信息,分别对各所述密钥分片进行加密,得到各所述密钥分片关联的密钥分片密文;其中,所述密钥管理方是联盟委员会中管理密钥分片的成员;所述密钥信息是所述联盟委员会成员的公钥;
将所述密钥分片密文、所述持有方标识密文和匿名数据摘要,上链存储;
其中,在所述将所述密钥分片密文、所述持有方标识密文和匿名数据摘要,上链存储之前,所述方法还包括:
根据对外权属密钥对所述匿名数据摘要进行签名,得到对外权属标识;其中,所述对外权属密钥是所述数据持有方向区块链网络中成员节点公开的所持有数据记录的随机密钥;所述对外权属标识是一个所有权标识,用于表征所述数据持有方对匿名数据的所有权,以供所述成员节点对对应数据的所有权进行验证;
将所述对外权属标识与所述匿名数据摘要关联,上链存储。
2.根据权利要求1所述的方法,其特征在于,所述根据持有方标识,生成至少一个密钥分片和持有方标识密文,包括:
采用门限加密算法,通过安全存储密钥对所述持有方标识进行加密,生成至少一个密钥分片和持有方标识密文。
3.根据权利要求2所述的方法,其特征在于,所述安全存储密钥为固定长度的随机密钥。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收数据提供方的对内权属密钥;
将所述对内权属密钥与所述匿名数据摘要关联上链存储。
5.根据权利要求1所述的方法,其特征在于,在所述响应于数据持有方的数据存储请求,根据持有方标识,生成至少一个密钥分片和持有方标识密文之前,所述方法还包括:
根据区块链管理节点的账户密钥,对数据存储请求的发起方的证书进行合法性验证,和/或,对链上获取的配置文件进行合法性验证;其中,所述配置文件中包括各所述密钥管理方的密钥信息;
若验证通过,则执行对数据持有方的数据存储请求的响应操作。
6.一种匿名数据验证方法,应用于区块链节点,其特征在于,包括:
响应于数据查询方的数据查询请求,接收至少一个密钥管理方的密钥分片明文;其中,所述数据查询请求是所述数据查询方发起的一条数据记录的反匿名交易请求,或者是所述数据查询方对所述区块链节点上的一条数据记录的查询请求;所述密钥管理方是联盟委员会中管理密钥分片的成员;所述密钥分片明文是解密后的密钥分片;
根据所述密钥分片明文,生成解密密钥;
根据所述解密密钥对持有方标识密文进行解密,以对数据持有方进行验证;
链上获取匿名数据摘要和对外权属标识;其中,所述对外权属标识是一个所有权标识,用于表征所述数据持有方对匿名数据的所有权,以供所述成员节点对对应数据的所有权进行验证;
根据数据持有方提供的对外权属密钥对所述匿名数据摘要进行签名,得到参考标识;其中,所述对外权属密钥是所述数据持有方向区块链网络中成员节点公开的所持有数据记录的随机密钥;
根据所述参考标识和所述对外权属标识,对所述数据持有方对匿名数据的所有权进行验证。
7.根据权利要求6所述的方法,其特征在于,所述根据所述密钥分片明文,生成解密密钥,包括:
若接收到的所述密钥分片明文大于设定门限值,则根据所述密钥分片明文生成所述解密密钥。
8.根据权利要求6所述的方法,其特征在于,所述根据所述解密密钥对持有方标识密文进行解密,以对数据持有方进行验证,包括:
根据所述解密密钥对持有方标识密文进行解密得到持有方标识;
在区块链的成员列表中的查找所述持有方标识,以对数据持有方进行验证。
9.根据权利要求6所述的方法,其特征在于,所述方法还包括:
向区块链网络发送目标匿名数据的所有者验证请求,并接收数据提供方反馈的所述目标匿名数据的详情数据;
对所述目标匿名数据的详情数据进行哈希计算,得到参考摘要;
根据所述参考摘要和链上获取的所述目标匿名数据的匿名数据摘要,对持有方的真实性进行验证。
10.根据权利要求6所述的方法,其特征在于,所述方法还包括:
响应于数据验证者对目标匿名数据的所有者验证请求,链上获取所述目标匿名数据的匿名数据摘要;
根据所述目标匿名数据的匿名数据摘要查找本地数据库,以对目标匿名数据的自身所有权进行验证。
11.根据权利要求10所述的方法,其特征在于,所述根据所述目标匿名数据的匿名数据摘要查找本地数据库,以对目标匿名数据的所有权进行验证,包括:
根据对内权属密钥对所述目标匿名数据的匿名数据摘要进行加密,得到数据查找标识;
根据所述数据查找标识查找本地数据库,以对目标匿名数据的自身所有权进行验证。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
从本地密钥库获取密钥作为对内权属密钥。
13.一种匿名数据存储装置,配置于区块链节点,其特征在于,包括:
密钥分片生成模块,用于响应于数据持有方的数据存储请求,根据持有方标识,生成至少一个密钥分片和持有方标识密文;其中,所述数据持有方是匿名数据的持有者;所述数据存储请求包括待存储数据和/或待存储数据标识;所述待存储数据标识是所述待存储数据在所述区块链节点外的存储地址,或者是所述待存储数据经哈希计算后得到的数据摘要;
密钥分片密文得到模块,用于通过至少一个密钥管理方的密钥信息,分别对各所述密钥分片进行加密,得到各所述密钥分片关联的密钥分片密文;其中,所述密钥管理方是联盟委员会中管理密钥分片的成员;所述密钥信息是所述联盟委员会成员的公钥;
存储模块,用于将所述密钥分片密文、所述持有方标识密文和匿名数据摘要,上链存储;
对外权属标识存储模块,包括:
对外权属标识获得单元,用于根据对外权属密钥对所述匿名数据摘要进行签名,得到对外权属标识;其中,所述对外权属密钥是所述数据持有方向区块链网络中成员节点公开的所持有数据记录的随机密钥;所述对外权属标识是一个所有权标识,用于表征所述数据持有方对匿名数据的所有权,以供所述成员节点对对应数据的所有权进行验证;
对外权属标识存储单元,用于将所述对外权属标识与所述匿名数据摘要关联,上链存储。
14.一种匿名数据验证装置,配置于区块链节点,其特征在于,包括:
密钥分片明文得到模块,用于响应于数据查询方的数据查询请求,接收至少一个密钥管理方的密钥分片明文;其中,所述数据查询请求是所述数据查询方发起的一条数据记录的反匿名交易请求,或者是所述数据查询方对所述区块链节点上的一条数据记录的查询请求;所述密钥管理方是联盟委员会中管理密钥分片的成员;所述密钥分片明文是解密后的密钥分片;
解密密钥生成模块,用于根据所述密钥分片明文,生成解密密钥;
验证模块,用于根据所述解密密钥对持有方标识密文进行解密,以对数据持有方进行验证;
匿名数据摘要和对外权属标识获得模块,用于链上获取匿名数据摘要和对外权属标识;其中,所述对外权属标识是一个所有权标识,用于表征所述数据持有方对匿名数据的所有权,以供所述成员节点对对应数据的所有权进行验证;
参考标识获得模块,用于根据数据持有方提供的对外权属密钥对所述匿名数据摘要进行签名,得到参考标识;其中,所述对外权属密钥是所述数据持有方向区块链网络中成员节点公开的所持有数据记录的随机密钥;
所述验证模块,还用于根据所述参考标识和所述对外权属标识,对所述数据持有方对匿名数据的所有权进行验证。
15.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5任一项所述的一种匿名数据存储方法和/或如权利要求6-12任一项所述的一种匿名数据验证方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5任一项所述的一种匿名数据存储方法和/或如权利要求6-12任一项所述的一种匿名数据验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011027570.1A CN112235260B (zh) | 2020-09-25 | 2020-09-25 | 一种匿名数据存证方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011027570.1A CN112235260B (zh) | 2020-09-25 | 2020-09-25 | 一种匿名数据存证方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112235260A CN112235260A (zh) | 2021-01-15 |
CN112235260B true CN112235260B (zh) | 2023-05-16 |
Family
ID=74107786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011027570.1A Active CN112235260B (zh) | 2020-09-25 | 2020-09-25 | 一种匿名数据存证方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112235260B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112818405A (zh) * | 2021-03-01 | 2021-05-18 | 北京苏博云科可信空间数据技术有限公司 | 一种区块链的数据处理方法及装置、可读存储介质 |
CN113079020B (zh) * | 2021-03-30 | 2022-05-06 | 桂林电子科技大学 | 一种基于门限签名决策体系的联盟链的多链取证方法 |
CN114338164B (zh) * | 2021-12-29 | 2024-04-30 | 支付宝(杭州)信息技术有限公司 | 一种匿名安全比较方法和*** |
WO2023198036A1 (zh) * | 2022-04-11 | 2023-10-19 | 华为技术有限公司 | 一种密钥生成方法、装置及设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11171791B2 (en) * | 2019-01-15 | 2021-11-09 | 0Chain, LLC | Systems and methods of aggregate signing of digital signatures on multiple messages simultaneously using key splitting |
US11240025B2 (en) * | 2018-11-09 | 2022-02-01 | Ares Technologies, Inc. | Systems and methods for distributed key storage |
CN110969431B (zh) * | 2019-11-27 | 2024-04-19 | 北京贵泽***技术有限公司 | 区块链数字币私钥的安全托管方法、设备和*** |
CN111008855B (zh) * | 2019-12-10 | 2024-02-13 | 上海信联信息发展股份有限公司 | 一种基于改进代理重加密的追溯数据访问控制方法 |
CN111211905A (zh) * | 2019-12-17 | 2020-05-29 | 航天信息股份有限公司 | 一种基于无证书认证的Fabric联盟链成员身份管理方法 |
CN111245597B (zh) * | 2020-01-17 | 2023-09-15 | 众安信息技术服务有限公司 | 密钥管理方法、***及设备 |
CN112487100A (zh) * | 2020-04-02 | 2021-03-12 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链的信息发布方法、装置及计算机设备 |
-
2020
- 2020-09-25 CN CN202011027570.1A patent/CN112235260B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112235260A (zh) | 2021-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2021206913B2 (en) | Systems and methods for distributed data sharing with asynchronous third-party attestation | |
CN111914027B (zh) | 一种区块链交易关键字可搜索加密方法及*** | |
CN112235260B (zh) | 一种匿名数据存证方法、装置、设备和存储介质 | |
CN107231351B (zh) | 电子证件的管理方法及相关设备 | |
CN109067801B (zh) | 一种身份认证方法、身份认证装置及计算机可读介质 | |
CN110392038B (zh) | 一种多用户场景下可验证的多密钥可搜索加密方法 | |
CN111212084A (zh) | 一种面向边缘计算的属性加密访问控制方法 | |
CN111753014B (zh) | 基于区块链的身份认证方法及装置 | |
Li et al. | Efficient message authentication with revocation transparency using blockchain for vehicular networks | |
CN114205136A (zh) | 一种基于区块链技术的交通数据资源共享方法及*** | |
CN112261082B (zh) | 基于区块链和安全多方计算的被动dns数据共享方法及*** | |
JP2018137788A (ja) | 構造化集合に組織化された様々な識別情報ドメインからのデータを管理及び検査する方法 | |
Bhargav-Spantzel et al. | Multifactor identity verification using aggregated proof of knowledge | |
CN114465817A (zh) | 一种基于tee预言机集群和区块链的数字证书***及方法 | |
CN114021164A (zh) | 基于区块链的征信***隐私保护方法 | |
Wu et al. | Secure public data auditing scheme for cloud storage in smart city | |
Gowda et al. | BPCPR-FC: blockchain-based privacy preservation with confidentiality using proxy reencryption and ring signature in fog computing environments | |
WO2022016842A1 (zh) | 去中心化身份***中隐藏用户信息的方法和计算机可读介质 | |
CN116506118A (zh) | 一种pki证书透明化服务中身份隐私性保护方法 | |
Pulls | Privacy-Friendly cloud storage for the data track: an educational transparency tool | |
Chen et al. | Sphinx-in-the-head: group signatures from symmetric primitives | |
Song et al. | Enabling transparent deduplication and auditing for encrypted data in cloud | |
Yang et al. | Improved outsourced provable data possession for secure cloud storage | |
Zhang et al. | Traceable dynamic public auditing with identity privacy preserving for cloud storage | |
Tu et al. | A blockchain implementation of an attendance management system |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220914 Address after: 25 Financial Street, Xicheng District, Beijing 100033 Applicant after: CHINA CONSTRUCTION BANK Corp. Address before: 12 / F, 15 / F, 99 Yincheng Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 200120 Applicant before: Jianxin Financial Science and Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |