CN112199714B - 基于区块链的隐私保护方法、装置及电子设备 - Google Patents
基于区块链的隐私保护方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112199714B CN112199714B CN202011405417.8A CN202011405417A CN112199714B CN 112199714 B CN112199714 B CN 112199714B CN 202011405417 A CN202011405417 A CN 202011405417A CN 112199714 B CN112199714 B CN 112199714B
- Authority
- CN
- China
- Prior art keywords
- encrypted data
- target
- public key
- module
- tee
- 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
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K17/00—Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
- G06K17/0022—Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations arrangements or provisious for transferring data to distant stations, e.g. from a sensing device
- G06K17/0025—Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations arrangements or provisious for transferring data to distant stations, e.g. from a sensing device the arrangement consisting of a wireless interrogation device in combination with a device for optically marking the record carrier
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本说明书实施例提供一种基于区块链的隐私保护方法、装置及电子设备,根据该方法应用于分布式数字身份***客户端,所述客户端登录有目标账户,所述方法包括:从区块链节点获取第一加密数据;利用第一公钥对应的第一私钥,对第一加密数据进行解密,得到各个发行方各自颁发的各个可验证声明;基于与所述区块链节点对应的第二公钥和所述各个可验证声明,进行预设加密操作,得到第二加密数据;并向所述区块链节点发起目标交易,以使区块链节点对第二加密数据进行预设的解密操作后,进行联合计算,得到目标用户的目标身份凭证。从而能够实现在对多个发行方颁发的可验证声明进行联合计算时,***露用户隐私,保护了用户的隐私安全。
Description
技术领域
本说明书一个或多个实施例涉及区块链技术领域,特别涉及一种基于区块链的隐私保护方法、装置及电子设备。
背景技术
随着技术的不断发展,区块链技术已经应用于诸多领域,例如应用于数字金融领域等。目前来说,一方面,需要根据业务需求对区块链上的用户的数字化资产和各种身份信息进行汇总和分析计算,该用户的数字化资产和各种身份信息可能涉及不同的颁发机构。另一方面,在进行上述汇总和分析计算时,又可能涉及到用户的隐私问题。因此,在***露用户隐私的前提下,如何对用户的数字化资产和各种身份信息进行汇总和分析计算具有重要的意义。
发明内容
为了解决上述技术问题之一,本说明书一个或多个实施例提供一种基于区块链的隐私保护方法、装置及电子设备。
根据第一方面,提供一种基于区块链的隐私保护方法,应用于分布式数字身份***客户端,所述客户端登录有目标账户,所述方法包括:
从区块链节点获取第一加密数据;所述第一加密数据包括多个加密声明;任一加密声明为利用所述目标账户对应的第一公钥对一发行方颁发的可验证声明加密得到的;所述可验证声明为与所述目标账户的身份关联的属性信息;
利用所述第一公钥对应的第一私钥,对所述第一加密数据进行解密,得到各个发行方各自颁发的各个可验证声明;
基于与所述区块链节点对应的第二公钥和所述各个可验证声明,进行预设加密操作,得到第二加密数据;
向所述区块链节点发起目标交易,所述目标交易携带所述第二加密数据,所述目标交易指示所述区块链节点执行预先部署的目标智能合约中的解密逻辑和联合计算逻辑,使得所述解密逻辑基于所述第二公钥对应的第二私钥对所述第二加密数据进行解密,得到所述各个可验证声明,所述目标智能合约中的联合计算逻辑基于所述各个可验证声明进行联合计算,将所述联合计算的结果确定为所述目标用户的目标身份凭证。
可选的,安装所述客户端的终端设备上设置有可信执行环境TEE;
其中,所述对所述第一加密数据进行解密,包括:在所述TEE中执行所述对所述第一加密数据进行解密的操作;以及
所述进行预设加密操作,包括:在所述TEE中进行预设加密操作。
可选的,所述方法还包括:
响应于业务方的用于验证所述目标身份凭证的验证请求,向所述区块链节点发送用于查询所述目标身份凭证的查询请求;
获取所述业务方对应的第三公钥;
接收所述区块链节点返回的第三加密数据;所述第三加密数据为利用所述第一公钥对所述目标身份凭证加密得到的;
利用所述第一私钥,对所述第三加密数据进行解密,得到所述目标身份凭证;
基于所述第三公钥对所述目标身份凭证进行加密,得到第四加密数据;
向所述业务方提供所述第四加密数据。
可选的,安装所述客户端的终端设备上设置有可信执行环境TEE;
其中,所述对所述第三加密数据进行解密,包括:在所述TEE中执行所述对所述第三加密数据进行解密的操作;以及
所述基于所述第三公钥对所述目标身份凭证进行加密,包括:在所述TEE中执行所述基于所述第三公钥对所述目标身份凭证进行加密的操作。
可选的,所述向所述业务方提供所述第四加密数据,包括:
生成并呈现包括所述第四加密数据的信息的二维码;或者
通过近场通信NFC将所述第四加密数据传输至所述业务方;或者
通过蓝牙将所述第四加密数据传输至所述业务方;或者
通过局域网络将所述第四加密数据传输至所述业务方。
可选的,在所述从区块链节点获取第一加密数据之前,还包括:
在针对所述目标账户的核身验证通过后,生成携带数字签名的凭证申请请求;其中,所述核身验证在所述TEE中执行,所述数字签名在所述TEE中生成;
向所述各个发行方发送所述凭证申请请求,以请求所述各个发行方各自颁发并加密各个可验证声明,得到各个加密声明,并上传所述各个加密声明进行上链存证。
根据第二方面,提供一种基于区块链的隐私保护方法,应用于区块链节点,所述区块链节点与分布式数字身份***客户端对接,所述客户端登录有目标账户,所述方法包括:
向所述客户端发送第一加密数据;所述第一加密数据包括多个加密声明;任一加密声明为利用所述目标账户对应的第一公钥对一发行方颁发的可验证声明加密得到的;所述可验证声明为与所述目标账户的身份关联的属性信息;
接收所述客户端发起的目标交易;所述目标交易携带第二加密数据,所述第二加密数据为所述客户端基于所述区块链节点对应的第二公钥和各个发行方各自颁发的各个可验证声明,进行预设加密操作得到的;
响应于所述目标交易,执行预先部署的目标智能合约中的解密逻辑,使得所述解密逻辑基于所述第二公钥对应的第二私钥对所述第二加密数据进行解密,得到所述各个可验证声明;
执行所述目标智能合约中的联合计算逻辑,使得所述联合计算逻辑基于所述各个可验证声明进行联合计算,将所述联合计算的结果确定为所述目标用户的目标身份凭证;
利用所述第一公钥对所述目标身份凭证进行加密,得到第三加密数据;
将所述第三加密数据上链存证。
可选的,所述基于所述各个可验证声明进行联合计算,包括:
将所述各个可验证声明同一预设字段的字段值进行聚合运算;或者
综合所述各个可验证声明不同字段的字段值进行预设判断。
可选的,所述区块链节点上设置有TEE;
其中,所述执行预先部署的目标智能合约中的解密逻辑,包括:
在所述TEE中执行所述解密逻辑;
所述执行所述目标智能合约中的联合计算逻辑,包括:
在所述TEE中执行所述联合计算逻辑;以及
所述对所述目标身份凭证进行加密,包括:
在所述TEE中执行所述对所述目标身份凭证进行加密的操作。
可选的,在所述向所述客户端发送第一加密数据之前,还包括:
接收所述各个发行方各自发送的各个加密声明;
将所述各个加密声明上链存证。
根据第三方面,提供一种基于区块链的隐私保护装置,应用于分布式数字身份***客户端,所述客户端登录有目标账户,所述装置包括:
第一获取模块,用于从区块链节点获取第一加密数据;所述第一加密数据包括多个加密声明;任一加密声明为利用所述目标账户对应的第一公钥对一发行方颁发的可验证声明加密得到的;所述可验证声明为与所述目标账户的身份关联的属性信息;
第一解密模块,用于利用所述第一公钥对应的第一私钥,对所述第一加密数据进行解密,得到各个发行方各自颁发的各个可验证声明;
第一加密模块,用于基于与所述区块链节点对应的第二公钥和所述各个可验证声明,进行预设加密操作,得到第二加密数据;
发送模块,用于向所述区块链节点发起目标交易,所述目标交易携带所述第二加密数据,所述目标交易指示所述区块链节点执行预先部署的目标智能合约中的解密逻辑和联合计算逻辑,使得所述解密逻辑基于所述第二公钥对应的第二私钥对所述第二加密数据进行解密,得到所述各个可验证声明,所述联合计算逻辑基于所述各个可验证声明进行联合计算,将所述联合计算的结果确定为所述目标用户的目标身份凭证。
可选的,安装所述客户端的终端设备上设置有可信执行环境TEE;
其中,所述第一解密模块被配置用于:在所述TEE中执行所述对所述第一加密数据进行解密的操作;以及
所述第一加密模块被配置用于:在所述TEE中进行预设加密操作。
可选的,所述装置还包括:
查询模块,用于响应于业务方的用于验证所述目标身份凭证的验证请求,向所述区块链节点发送用于查询所述目标身份凭证的查询请求;
第二获取模块,用于获取所述业务方对应的第三公钥;
接收模块,用于接收所述区块链节点返回的第三加密数据;所述第三加密数据为利用所述第一公钥对所述目标身份凭证加密得到的;
第二解密模块,用于利用所述第一私钥,对所述第三加密数据进行解密,得到所述目标身份凭证;
第二加密模块,用于基于所述第三公钥对所述目标身份凭证进行加密,得到第四加密数据;
提供模块,用于向所述业务方提供所述第四加密数据。
可选的,安装所述客户端的终端设备上设置有可信执行环境TEE;
其中,所述第二解密模块被配置用于:在所述TEE中执行所述对所述第三加密数据进行解密的操作;以及
所述第二加密模块被配置用于:在所述TEE中执行所述基于所述第三公钥对所述目标身份凭证进行加密的操作。
可选的,所述提供模块被配置用于:
生成并呈现包括所述第四加密数据的信息的二维码;或者
通过近场通信NFC将所述第四加密数据传输至所述业务方;或者
通过蓝牙将所述第四加密数据传输至所述业务方;或者
通过局域网络将所述第四加密数据传输至所述业务方。
可选的,所述装置还包括:
生成模块,用于在针对所述目标账户的核身验证通过后,生成携带数字签名的凭证申请请求;其中,所述核身验证在所述TEE中执行,所述数字签名在所述TEE中生成;
请求模块,用于向所述各个发行方发送所述凭证申请请求,以请求所述各个发行方各自颁发并加密各个可验证声明,得到各个加密声明,并上传所述各个加密声明进行上链存证。
根据第四方面,提供一种基于区块链的隐私保护装置,应用于区块链节点,所述区块链节点与分布式数字身份***客户端对接,所述客户端登录有目标账户,所述装置包括:
发送模块,用于向所述客户端发送第一加密数据;所述第一加密数据包括多个加密声明;任一加密声明为利用所述目标账户对应的第一公钥对一发行方颁发的可验证声明加密得到的;所述可验证声明为与所述目标账户的身份关联的属性信息;
第一接收模块,用于接收所述客户端发起的目标交易;所述目标交易携带第二加密数据,所述第二加密数据为所述客户端基于所述区块链节点对应的第二公钥和各个发行方各自颁发的各个可验证声明,进行预设加密操作得到的;
解密模块,用于响应于所述目标交易,执行预先部署的目标智能合约中的解密逻辑,使得所述解密逻辑基于所述第二公钥对应的第二私钥对所述第二加密数据进行解密,得到所述各个可验证声明;
计算模块,用于执行所述目标智能合约中的联合计算逻辑,使得所述联合计算逻辑基于所述各个可验证声明进行联合计算,将所述联合计算的结果确定为所述目标用户的目标身份凭证;
加密模块,用于利用所述第一公钥对所述目标身份凭证进行加密,得到第三加密数据;
第一存证模块,用于将所述第三加密数据上链存证。
可选的,所述计算模块被配置用于:
将所述各个可验证声明同一预设字段的字段值进行聚合运算;或者
综合所述各个可验证声明不同字段的字段值进行预设判断。
可选的,所述区块链节点上设置有TEE;
其中,所述解密模块被配置用于:
在所述TEE中执行所述解密逻辑;
所述计算模块被配置用于:
在所述TEE中执行所述联合计算逻辑;以及
所述加密模块被配置用于:
在所述TEE中执行所述对所述目标身份凭证进行加密的操作。
可选的,所述装置还包括:
第二接收模块,用于接收所述各个发行方各自发送的各个加密声明;
第二存证模块,用于将所述各个加密声明上链存证。
根据第五方面,提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面或第二方面中任一项所述的方法。
根据第六方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述第一方面或第二方面中任一项所述的方法。
本说明书的实施例提供的技术方案可以包括以下有益效果:
本说明书的实施例提供的基于区块链的隐私保护方法和装置,通过从区块链节点获取第一加密数据,利用第一公钥对应的第一私钥,对第一加密数据进行解密,得到各个发行方各自颁发的各个可验证声明。基于与区块链节点对应的第二公钥和各个可验证声明,进行预设加密操作,得到第二加密数据,并向区块链节点发起目标交易,以使区块链节点对第二加密数据进行预设的解密操作,得到各个发行方各自颁发的各个可验证声明,并基于各个可验证声明进行联合计算,将联合计算得到的结果作为目标用户的目标身份凭证。从而能够实现在对多个发行方颁发的可验证声明进行联合计算时,***露用户隐私,保护了用户的隐私安全。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本说明书根据一示例性实施例示出的一种基于区块链的隐私保护场景示意图;
图2是本说明书根据一示例性实施例示出的一种基于区块链的隐私保护方法的流程图;
图3是本说明书根据一示例性实施例示出的另一种基于区块链的隐私保护方法的流程图;
图4是本说明书根据一示例性实施例示出的另一种基于区块链的隐私保护方法的流程图;
图5是本说明书根据一示例性实施例示出的一种基于区块链的隐私保护装置的框图;
图6是本说明书根据一示例性实施例示出的另一种基于区块链的隐私保护装置的框图;
图7是本说明根据一示例性实施例示出的一种电子设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
如图1所示,是根据一示例性实施例示出的一种基于区块链的隐私保护场景示意图。
在图1示出的场景中,节点A、节点B、节点C、节点D、节点E和节点F均为区块链***中的区块链节点。可以理解,图1仅是示例性的示出六个区块链节点,实际上区块链***中可以包括任意数目的区块链节点。
用户持有的手机101安装有分布式数字身份钱包客户端。该钱包客户端登录有目标账户,并且,手机101上设置有可信执行环境TEE。该钱包客户端可以在手机101的TEE中利用生物核身技术对用户身份进行验证,并在通过验证后,在TEE中生成数字签名。然后,将携带数字签名以及目标账户的分布式数字身份标识的凭证申请请求发送给银行甲持有的服务器102和银行乙持有的服务器103。
服务器102从凭证申请请求中获取目标账户的分布式数字身份标识,并基于该分布式数字身份标识,从区块链上获取目标账户对应的公钥X。利用公钥X验证凭证申请请求携带的数字签名,验证通过后,服务器102颁发目标账户在银行甲的存款余额为m的第一声明。利用公钥X对第一声明进行加密,得到加密声明a,并将加密声明a上传至银行甲对接的节点B。由节点B执行将加密声明a上链存证的操作。
服务器103从凭证申请请求中获取目标账户的分布式数字身份标识,并基于该分布式数字身份标识,从区块链上获取目标账户对应的公钥X。利用公钥X验证凭证申请请求携带的数字签名,验证通过后,服务器103颁发目标账户在银行乙的存款余额为n的第二声明。利用公钥X对第二声明进行加密,得到加密声明b,并将加密声明b上传至银行乙对接的节点E。由节点E执行将加密声明b上链存证的操作。
由于业务方为用户办理业务时,需要用户出示目标账户在银行甲和银行乙的存款总额的目标身份凭证,因此,手机101中的钱包客户端可以从节点A获取加密声明a和加密声明b,并利用公钥X对应的私钥X,在TEE中分别对加密声明a和加密声明b进行解密,得到第一声明和第二声明。然后,在手机101的TEE中,利用对称密钥A对第一声明和第二声明进行加密,得到第一密文,再利用区块链节点对应的公钥Y对对称密钥A进行加密,得到第二密文。接着,手机101中的钱包客户端向区块链发起目标交易,该目标交易携带第一密文和第二密文。
区块链的节点A、节点B、节点C、节点D、节点E和节点F响应于目标交易,分别在TEE中执行预先部署的目标智能合约中的解密逻辑,以利用公钥Y对应的私钥Y对第二密文进行解密,得到对称密钥A,并利用对称密钥A对第一密文进行解密,得到第一声明和第二声明。然后,再在TEE中执行目标智能合约中的联合计算逻辑,以计算目标账户在银行甲的存款余额m和在银行乙的存款余额n的和,得到目标账户在银行甲和银行乙的存款总额为m+n的目标身份凭证。并利用公钥X对目标身份凭证进行加密,得到加密数据h,并将加密数据h上链存证。
当用户需要出示目标身份凭证时,业务方持有的服务器104向手机101的钱包客户端发送用于验证目标身份凭证的验证请求。该钱包客户端响应于该验证请求,向节点A发送用于查询目标身份凭证的查询请求,并基于该验证请求获取业务方的分布式数字身份所对应的公钥G。节点A向手机101的钱包客户端返回加密数据h,钱包客户端在手机101的TEE中利用私钥X对加密数据h进行解密,得到目标身份凭证。然后,在TEE中基于公钥G和目标身份凭证进行加密,得到加密数据k,并向业务方持有的服务器104提供加密数据k。服务器104可以利用公钥G对应的私钥G对加密数据k进行解密,得到目标身份凭证。
下面将结合具体的实施例对本说明书提供的方案进行详细描述。
如图2所示,图2是根据一示例性实施例示出的一种基于区块链的隐私保护方法的流程图,该方法应用于分布式数字身份***客户端,分布式数字身份***客户端可以是分布式数字身份***中的任一客户端,例如,该客户端具体可以为分布式数字钱包等。该客户端安装于终端设备上,登录有目标账户。本领域技术人员可以理解,该终端设备可以包括但不限于诸如智能手机的移动终端设备、智能穿戴式设备、平板电脑、个人数字助理、膝上型便携式计算机以及台式计算机等等。该方法包括以下步骤:
在步骤201中,从区块链节点获取第一加密数据。
在本实施例中,该第一加密数据可以包括多个加密声明,任一加密声明为利用目标账户对应的第一公钥对一个发行方颁发的可验证声明加密得到的。其中,目标账户对应于一个DID(Decentralized Identifiers,分布式数字身份标识符),该DID是由字符串组成的标识符,用来代表一个数字身份,目标账户对应的DID绑定有相应的第一公钥。任一发行方可以基于目标账户对应的DID获取第一公钥,并利用第一公钥对其颁发的可验证声明加密得到加密声明。
在本实施例中,可验证声明为与目标账户的身份关联的属性信息,可验证声明可以包括但不限于:姓名,电子邮件地址、年龄、职业、学历证明、信用评分、银行存款余额等。发行方可以是能够颁发可验证声明的机构参与方,例如,发行方可以是银行机构,能够颁发信用评分、银行存款余额等可验证声明。又例如,发行方还可以是学历认证机构,能够颁发学历证明等可验证声明。
在步骤202中,利用第一公钥对应的第一私钥,对第一加密数据进行解密,得到各个发行方各自颁发的各个可验证声明。
在本实施例中,由于第一加密数据包括多个加密声明,任一加密声明为利用目标账户对应的第一公钥对一发行方颁发的可验证声明加密得到的。因此,可以利用第一公钥对应的第一私钥,分别对第一加密数据包括的各个加密声明进行解密,得到各个发行方各自颁发的各个可验证声明。
在步骤203中,基于与区块链节点对应的第二公钥和各个可验证声明,进行预设加密操作,得到第二加密数据。
在本实施例中,可以基于与区块链节点对应的第二公钥和各个可验证声明,进行预设加密操作,得到第二加密数据。具体来说,在一种实现方式中,可以生成一个对称密钥,利用对称密钥对各个可验证声明进行加密,得到第一密文。并利用第二公钥对对称密钥进行加密,得到第二密文。由第一密文和第二密文构成第二加密数据。在另一种实现方式中,还可以利用第二公钥对各个可验证声明进行加密,得到第二加密数据。可以理解,还可以通过其它任意合理的方式进行预设加密操作,本申请对预设加密操作的具体方式方面不限定。
在步骤204中,向区块链节点发起目标交易。
在本实施例中,可以向区块链节点发起目标交易,该目标交易携带第二加密数据,该目标交易指示区块链节点执行预先部署的目标智能合约中的解密逻辑,以基于第二公钥对应的第二私钥和第二加密数据,进行预设的解密操作,得到各个可验证声明,并执行目标智能合约中的联合计算逻辑,以基于各个可验证声明进行联合计算,将联合计算的结果确定为目标用户的目标身份凭证。其中,联合计算可以是综合各个可验证声明进行的计算。
本说明书的上述实施例提供的基于区块链的隐私保护方法,通过从区块链节点获取第一加密数据,利用第一公钥对应的第一私钥,对第一加密数据进行解密,得到各个发行方各自颁发的各个可验证声明。基于与区块链节点对应的第二公钥和各个可验证声明,进行预设加密操作,得到第二加密数据,并向区块链节点发起目标交易,以使区块链节点对第二加密数据进行预设的解密操作,得到各个发行方各自颁发的各个可验证声明,并基于各个可验证声明进行联合计算,将联合计算得到的结果作为目标用户的目标身份凭证。从而能够实现在对多个发行方颁发的可验证声明进行联合计算时,***露用户隐私,保护了用户的隐私安全。
在一些可选实施方式中,安装上述分布式数字身份***客户端的终端设备上可以设置有TEE(Trusted Execution Environment,可信执行环境),可以在TEE中进行加密和解密操作,也可以在TEE中进行数字签名的操作,还可以在TEE中执行生物核身认证的操作,还可以在TEE中执行智能合约。例如,参照图2实施例,步骤202和步骤203均可以在TEE中执行。由于本实施例的终端设备上设置有TEE,从而进一步保护了用户的隐私安全。
如图3所示,图3根据一示例性实施例示出的另一种基于区块链的隐私保护方法的流程图,该实施例描述了向业务方提供加密数据的过程,该方法可以应用于分布式数字身份***客户端,包括以下步骤:
在步骤301中,响应于业务方的用于验证目标身份凭证的验证请求,向区块链节点发送用于查询目标身份凭证的查询请求。
在步骤302中,获取业务方对应的第三公钥。
在本实施例中,业务方为用户办理业务时,如果需要用户出示目标身份凭证,可以向客户端发送用于验证目标身份凭证的验证请求。客户端响应于该验证请求,可以向区块链节点发送用于查询目标身份凭证的查询请求,并获取业务方的分布式数字身份所对应的第三公钥。其中,第三公钥与业务方的分布式数字身份关联地存储于区块链上。
在步骤303中,接收区块链节点返回的第三加密数据,第三加密数据为利用第一公钥对目标身份凭证加密得到的。
在步骤304中,利用第一公钥对应的第一私钥,对第三加密数据进行解密,得到目标身份凭证。
在本实施例中,区块链节点响应于查询请求,向客户端返回第三加密数据,该第三加密数据为区块链节点预先利用第一公钥对目标身份凭证加密得到的。客户端可以利用第一公钥对应的第一私钥,对第三加密数据进行解密,得到目标身份凭证。
在步骤305中,基于第三公钥对目标身份凭证进行加密,得到第四加密数据。
在一种实现方式中,可以直接利用第三公钥对目标身份凭证进行加密,得到第四加密数据。在另一种实现方式中,还可以先生成目标身份凭证的数字签名,并利用第三公钥对目标身份凭证进行加密,将数字签名和对目标身份凭证进行加密后的数据作为第四加密数据。
在步骤306中,向业务方提供第四加密数据。
在本实施例中,可以向业务方提供第四加密数据。具体来说,在一种实现方式中,可以生成并呈现包括第四加密数据的信息的二维码,以供业务方通过扫描二维码,获取第四加密数据。其中,该二维码可以是第四加密数据的编码信息,也可以是获取第四加密数据的地址信息。
在另一种实现方式中,也可以通过近场通信NFC,或者蓝牙,或者局域网络将第四加密数据传输至业务方。可以理解,本实施例对向业务方提供第四加密数据的具体方式方面不限定。
本说明书的上述实施例提供的基于区块链的隐私保护方法,通过响应于业务方的用于验证目标身份凭证的验证请求,向区块链节点发送用于查询目标身份凭证的查询请求,获取业务方的分布式数字身份所对应的第三公钥,接收区块链节点返回的第三加密数据,第三加密数据为利用第一公钥对目标身份凭证加密得到的,利用第一公钥对应的第一私钥,对第三加密数据进行解密,得到目标身份凭证,基于第三公钥和目标身份凭证进行加密,得到第四加密数据,并向业务方提供第四加密数据。从而有助于保护用户的隐私安全。
在另一些可选实施方式中,安装上述分布式数字身份***客户端的终端设备上可以设置有TEE(Trusted Execution Environment,可信执行环境)。参照图3实施例,步骤304和步骤305均可以在TEE中执行。由于本实施例的终端设备上设置有TEE,从而进一步保护了用户的隐私安全。
在另一些可选实施方式中,在图2实施例的步骤201之前,客户端针对目标账户进行核身验证,在核身验证通过后,生成携带数字签名的凭证申请请求。可选的,核身验证在TEE中执行,数字签名在TEE中生成。接着,客户端向各个发行方发送凭证申请请求,各个发行方响应于凭证申请请求,各自颁发并加密各个可验证声明,得到各个加密声明,并将各个加密声明上传至区块链进行上链存证。
如图4所示,图4根据一示例性实施例示出的另一种基于区块链的隐私保护方法的流程图,该方法应用于区块链节点,区块链节点与分布式数字身份***客户端对接,该客户端登录有目标账户。该方法包括以下步骤:
在步骤401中,向客户端发送第一加密数据。
在本实施例中,区块链节点向客户端发送第一加密数据。第一加密数据包括多个加密声明,任一加密声明为利用目标账户对应的第一公钥对一发行方颁发的可验证声明加密得到的,可验证声明为与目标账户的身份关联的属性信息。
在步骤402中,接收客户端发起的目标交易。
在步骤403中,响应于目标交易,执行预先部署的目标智能合约中的解密逻辑,使得解密逻辑基于第二公钥对应的第二私钥对第二加密数据进行解密,得到各个可验证声明。
在步骤404中,执行目标智能合约中的联合计算逻辑,使得联合计算逻辑基于各个可验证声明进行联合计算,将联合计算的结果确定为目标用户的目标身份凭证。
在本实施例中,该目标交易携带第二加密数据,第二加密数据为客户端基于区块链节点对应的第二公钥和各个发行方各自颁发的各个可验证声明,进行预设加密操作得到的。
在本实施例中,区块链节点响应于目标交易,执行预先部署的目标智能合约中的解密逻辑,以基于第二公钥对应的第二私钥和第二加密数据,进行解密,得到各个可验证声明。
具体来说,在一种实现方式中,第二加密数据包括第一密文和第二密文。可以利用第二私钥对第二密文进行解密,得到对称密钥,并利用对称密钥对第一密文进行解密,得到各个可验证声明。
在另一种实现方式中,还可以利用第二私钥直接对第二加密数据进行解密,得到各个可验证声明。可以理解,还可以通过其它任意合理的方式进行解密,本申请对解密的具体方式方面不限定。
在本实施例中,可以基于各个可验证声明进行联合计算,在一种实现方式中,可以将各个可验证声明同一预设字段的字段值进行聚合运算。其中,聚合运算可以包括以下任一种运算:求和运算,求平均值运算,求最大值,求最小值等。例如,如果各个可验证声明同一预设字段的字段值为各个银行的余额值,则基于各个可验证声明进行联合计算可以包括求各个银行的余额值的总和,或者求各个银行的余额值的平均值,等等。
在另一种实现方式中,可以综合各个可验证声明不同字段的字段值进行预设判断。例如,可以预先设定不同字段的打分规则,按照打分规则对各个可验证声明进行打分,并根据分数的总和计算用户的等级。将该等级作为目标用户的目标身份凭证。又例如,还可以将各个可验证声明不同字段的字段值输入预先训练的目标模型,利用目标模型对目标用户进行综合评价,将评价结果作为目标用户的目标身份凭证。
在步骤405中,利用第一公钥对目标身份凭证进行加密,得到第三加密数据。
在步骤406中,将第三加密数据上链存证。
本说明书的上述实施例提供的基于区块链的隐私保护方法,通过向客户端发送第一加密数据,接收客户端发起的目标交易,响应于目标交易,执行预先部署的目标智能合约中的解密逻辑,以基于第二公钥对应的第二私钥和第二加密数据进行解密,得到各个可验证声明,执行目标智能合约中的联合计算逻辑,以基于各个可验证声明进行联合计算,将联合计算的结果确定为目标用户的目标身份凭证,利用第一公钥对目标身份凭证进行加密,得到第三加密数据,并将第三加密数据上链存证。从而能够实现在对多个发行方颁发的可验证声明进行联合计算时,***露用户隐私,保护了用户的隐私安全。
在一些可选实施方式中,区块链节点上可以设置有TEE,可以在TEE中进行加密和解密操作,也可以在TEE中进行数字签名的操作,还可以在TEE中执行生物核身认证的操作,还可以在TEE中执行智能合约。例如,参照图4实施例,步骤403,步骤404和步骤405均可以在TEE中执行。由于本实施例的区块链节点上设置有TEE,从而进一步保护了用户的隐私安全。
在另一些可选实施方式中,在图4实施例的步骤401之前,区块链节点接收各个发行方各自发送的各个加密声明,并将各个加密声明上链存证。
应当注意,尽管在上述实施例中,以特定顺序描述了本说明书实施例的方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
与前述基于区块链的隐私保护方法实施例相对应,本说明书还提供了基于区块链的隐私保护装置的实施例。
如图5所示,图5是本说明书根据一示例性实施例示出的一种基于区块链的隐私保护装置框图,应用于分布式数字身份***客户端,该客户端登录有目标账户,该装置可以包括:第一获取模块501,第一解密模块502,第一加密模块503和发送模块504。
其中,第一获取模块501,用于从区块链节点获取第一加密数据,第一加密数据包括多个加密声明,任一加密声明为利用目标账户对应的第一公钥对一发行方颁发的可验证声明加密得到的,可验证声明为与目标账户的身份关联的属性信息。
第一解密模块502,用于利用第一公钥对应的第一私钥,对第一加密数据进行解密,得到各个发行方各自颁发的各个可验证声明。
第一加密模块503,用于基于与区块链节点对应的第二公钥和各个可验证声明,进行预设加密操作,得到第二加密数据。
发送模块504,用于向区块链节点发起目标交易,目标交易携带第二加密数据,目标交易指示区块链节点执行预先部署的目标智能合约中的解密逻辑和联合计算逻辑,使得所述解密逻辑基于第二公钥对应的第二私钥对第二加密数据进行解密,得到各个可验证声明,联合计算逻辑基于各个可验证声明进行联合计算,将联合计算的结果确定为目标用户的目标身份凭证。
在一些可选实施方式中,安装客户端的终端设备上设置有可信执行环境TEE。其中,第一解密模块502被配置用于:在TEE中执行对第一加密数据进行解密的操作。以及,第一加密模块503被配置用于:在TEE中进行预设加密操作。
在另一些可选实施方式中,该装置还可以包括:查询模块,第二获取模块,接收模块,第二解密模块,第二加密模块和提供模块(图中未示出)。
其中,查询模块,用于响应于业务方的用于验证目标身份凭证的验证请求,向区块链节点发送用于查询目标身份凭证的查询请求。
第二获取模块,用于获取业务方对应的第三公钥。
接收模块,用于接收区块链节点返回的第三加密数据,第三加密数据为利用第一公钥对目标身份凭证加密得到的。
第二解密模块,用于利用第一私钥,对第三加密数据进行解密,得到目标身份凭证。
第二加密模块,用于基于第三公钥对目标身份凭证进行加密,得到第四加密数据。
提供模块,用于向业务方提供第四加密数据。
在另一些可选实施方式中,安装客户端的终端设备上设置有可信执行环境TEE。
其中,第二解密模块被配置用于:在TEE中执行对第三加密数据进行解密的操作。以及,第二加密模块被配置用于:在TEE中执行基于第三公钥对目标身份凭证进行加密的操作。
在另一些可选实施方式中,提供模块被配置用于:生成并呈现包括第四加密数据的信息的二维码。或者,通过近场通信NFC将第四加密数据传输至业务方。或者,通过蓝牙将第四加密数据传输至业务方。或者,通过局域网络将第四加密数据传输至业务方。
在另一些可选实施方式中,该装置还可以包括:生成模块和请求模块(图中未示出)。
其中,生成模块,用于在针对目标账户的核身验证通过后,生成携带数字签名的凭证申请请求,其中,核身验证在TEE中执行,数字签名在TEE中生成。
请求模块,用于向各个发行方发送凭证申请请求,以请求各个发行方各自颁发并加密各个可验证声明,得到各个加密声明,并上传各个加密声明进行上链存证。
应当理解,上述装置可以预先设置在终端设备中,也可以通过下载等方式而加载到终端设备中。上述装置中的相应模块可以与终端设备中的模块相互配合以实现基于区块链的隐私保护方案。
如图6所示,图6是本说明书根据一示例性实施例示出的另一种基于区块链的隐私保护装置框图,应用于区块链节点,该区块链节点与分布式数字身份***客户端对接,该客户端登录有目标账户,该装置可以包括:发送模块601,第一接收模块602,解密模块603,计算模块604,加密模块605和第一存证模块606。
其中,发送模块601,用于向客户端发送第一加密数据,第一加密数据包括多个加密声明,任一加密声明为利用目标账户对应的第一公钥对一发行方颁发的可验证声明加密得到的,可验证声明为与目标账户的身份关联的属性信息。
第一接收模块602,用于接收客户端发起的目标交易,目标交易携带第二加密数据,第二加密数据为客户端基于区块链节点对应的第二公钥和各个发行方各自颁发的各个可验证声明,进行预设加密操作得到的。
解密模块603,用于响应于目标交易,执行预先部署的目标智能合约中的解密逻辑,使得所述解密逻辑基于第二公钥对应的第二私钥对第二加密数据进行解密,得到各个可验证声明。
计算模块604,用于执行目标智能合约中的联合计算逻辑,使得所述联合计算逻辑基于各个可验证声明进行联合计算,将联合计算的结果确定为目标用户的目标身份凭证。
加密模块605,用于利用第一公钥对目标身份凭证进行加密,得到第三加密数据。
第一存证模块606,用于将第三加密数据上链存证。
在一些可选实施方式中,计算模块604被配置用于:将各个可验证声明同一预设字段的字段值进行聚合运算,或者综合各个可验证声明不同字段的字段值进行预设判断。
在另一些可选实施方式中,区块链节点上设置有TEE。其中,解密模块603被配置用于:在TEE中执行解密逻辑。计算模块604被配置用于:在TEE中执行联合计算逻辑。以及加密模块605被配置用于:在TEE中执行对目标身份凭证进行加密的操作。
在另一些可选实施方式中,该装置还可以包括:第二接收模块和第二存证模块(图中未示出)。
其中,第二接收模块,用于接收各个发行方各自发送的各个加密声明。
第二存证模块,用于将各个加密声明上链存证。
应当理解,上述装置可以预先设置在区块链节点中,也可以通过下载等方式而加载到区块链节点中。上述装置中的相应模块可以与区块链节点中的模块相互配合以实现基于区块链的隐私保护方案。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书一个或多个实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本说明书一个或多个实施例还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图2至图3任一实施例提供的基于区块链的隐私保护方法。
对应于上述的基于区块链的隐私保护方法,本说明书一个或多个实施例还提出了图7所示的根据本说明书的一示例性实施例的电子设备的示意结构图。请参考图7,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成基于区块链的隐私保护装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。其中,软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (18)
1.一种基于区块链的隐私保护方法,应用于分布式数字身份***客户端,所述客户端登录有目标账户,所述方法包括:
从区块链节点获取第一加密数据;所述第一加密数据包括多个加密声明;任一加密声明为利用所述目标账户对应的第一公钥对一发行方颁发的可验证声明加密得到的;所述可验证声明为与所述目标账户的身份关联的属性信息;
利用所述第一公钥对应的第一私钥,对所述第一加密数据进行解密,得到各个发行方各自颁发的各个可验证声明;
基于与所述区块链节点对应的第二公钥和所述各个可验证声明,进行预设加密操作,得到第二加密数据;
向所述区块链节点发起目标交易,所述目标交易携带所述第二加密数据,所述目标交易指示所述区块链节点执行预先部署的目标智能合约中的解密逻辑和联合计算逻辑,使得所述解密逻辑基于所述第二公钥对应的第二私钥对所述第二加密数据进行解密,得到所述各个可验证声明,所述联合计算逻辑基于所述各个可验证声明进行联合计算,将所述联合计算的结果确定为所述目标账户的目标身份凭证;
其中,安装所述客户端的终端设备上设置有可信执行环境TEE;
其中,所述对所述第一加密数据进行解密,包括:在所述TEE中执行所述对所述第一加密数据进行解密的操作;以及
所述进行预设加密操作,包括:在所述TEE中进行预设加密操作。
2.根据权利要求1所述的方法,其中,所述方法还包括:
响应于业务方的用于验证所述目标身份凭证的验证请求,向所述区块链节点发送用于查询所述目标身份凭证的查询请求;
获取所述业务方对应的第三公钥;
接收所述区块链节点返回的第三加密数据;所述第三加密数据为利用所述第一公钥对所述目标身份凭证加密得到的;
利用所述第一私钥,对所述第三加密数据进行解密,得到所述目标身份凭证;
基于所述第三公钥对所述目标身份凭证进行加密,得到第四加密数据;
向所述业务方提供所述第四加密数据。
3.根据权利要求2所述的方法,其中,所述对所述第三加密数据进行解密,包括:
在所述TEE中执行所述对所述第三加密数据进行解密的操作;以及
所述基于所述第三公钥对所述目标身份凭证进行加密,包括:在所述TEE中执行所述基于所述第三公钥对所述目标身份凭证进行加密的操作。
4.根据权利要求2所述的方法,其中,所述向所述业务方提供所述第四加密数据,包括:
生成并呈现包括所述第四加密数据的信息的二维码;或者
通过近场通信NFC将所述第四加密数据传输至所述业务方;或者
通过蓝牙将所述第四加密数据传输至所述业务方;或者
通过局域网络将所述第四加密数据传输至所述业务方。
5.根据权利要求1所述的方法,其中,在所述从区块链节点获取第一加密数据之前,还包括:
在针对所述目标账户的核身验证通过后,生成携带数字签名的凭证申请请求;其中,所述核身验证在所述TEE中执行,所述数字签名在所述TEE中生成;
向所述各个发行方发送所述凭证申请请求,以请求所述各个发行方各自颁发并加密各个可验证声明,得到各个加密声明,并上传所述各个加密声明进行上链存证。
6.一种基于区块链的隐私保护方法,应用于区块链节点,所述区块链节点与分布式数字身份***客户端对接,所述客户端登录有目标账户,所述方法包括:
向所述客户端发送第一加密数据;所述第一加密数据包括多个加密声明;任一加密声明为利用所述目标账户对应的第一公钥对一发行方颁发的可验证声明加密得到的;所述可验证声明为与所述目标账户的身份关联的属性信息;
接收所述客户端发起的目标交易;所述目标交易携带第二加密数据,所述第二加密数据为所述客户端基于所述区块链节点对应的第二公钥和各个发行方各自颁发的各个可验证声明,进行预设加密操作得到的;
响应于所述目标交易,执行预先部署的目标智能合约中的解密逻辑,使得所述解密逻辑基于所述第二公钥对应的第二私钥对所述第二加密数据进行解密,得到所述各个可验证声明;
执行所述目标智能合约中的联合计算逻辑,使得所述联合计算逻辑基于所述各个可验证声明进行联合计算,将所述联合计算的结果确定为所述目标账户的目标身份凭证;
利用所述第一公钥对所述目标身份凭证进行加密,得到第三加密数据;
将所述第三加密数据上链存证;
其中,所述区块链节点上设置有TEE;
其中,所述执行预先部署的目标智能合约中的解密逻辑,包括:
在所述TEE中执行所述解密逻辑;
所述执行所述目标智能合约中的联合计算逻辑,包括:
在所述TEE中执行所述联合计算逻辑;以及
所述对所述目标身份凭证进行加密,包括:
在所述TEE中执行所述对所述目标身份凭证进行加密的操作。
7.根据权利要求6所述的方法,其中,所述基于所述各个可验证声明进行联合计算,包括:
将所述各个可验证声明同一预设字段的字段值进行聚合运算;或者
综合所述各个可验证声明不同字段的字段值进行预设判断。
8.根据权利要求6所述的方法,其中,在所述向所述客户端发送第一加密数据之前,还包括:
接收所述各个发行方各自发送的各个加密声明;
将所述各个加密声明上链存证。
9.一种基于区块链的隐私保护装置,应用于分布式数字身份***客户端,所述客户端登录有目标账户,所述装置包括:
第一获取模块,用于从区块链节点获取第一加密数据;所述第一加密数据包括多个加密声明;任一加密声明为利用所述目标账户对应的第一公钥对一发行方颁发的可验证声明加密得到的;所述可验证声明为与所述目标账户的身份关联的属性信息;
第一解密模块,用于利用所述第一公钥对应的第一私钥,对所述第一加密数据进行解密,得到各个发行方各自颁发的各个可验证声明;
第一加密模块,用于基于与所述区块链节点对应的第二公钥和所述各个可验证声明,进行预设加密操作,得到第二加密数据;
发送模块,用于向所述区块链节点发起目标交易,所述目标交易携带所述第二加密数据,所述目标交易指示所述区块链节点执行预先部署的目标智能合约中的解密逻辑和联合计算逻辑,使得所述解密逻辑基于所述第二公钥对应的第二私钥对所述第二加密数据进行解密,得到所述各个可验证声明,所述联合计算逻辑基于所述各个可验证声明进行联合计算,将所述联合计算的结果确定为所述目标账户的目标身份凭证;
其中,安装所述客户端的终端设备上设置有可信执行环境TEE;
其中,所述第一解密模块被配置用于:在所述TEE中执行所述对所述第一加密数据进行解密的操作;以及
所述第一加密模块被配置用于:在所述TEE中进行预设加密操作。
10.根据权利要求9所述的装置,其中,所述装置还包括:
查询模块,用于响应于业务方的用于验证所述目标身份凭证的验证请求,向所述区块链节点发送用于查询所述目标身份凭证的查询请求;
第二获取模块,用于获取所述业务方对应的第三公钥;
接收模块,用于接收所述区块链节点返回的第三加密数据;所述第三加密数据为利用所述第一公钥对所述目标身份凭证加密得到的;
第二解密模块,用于利用所述第一私钥,对所述第三加密数据进行解密,得到所述目标身份凭证;
第二加密模块,用于基于所述第三公钥对所述目标身份凭证进行加密,得到第四加密数据;
提供模块,用于向所述业务方提供所述第四加密数据。
11.根据权利要求10所述的装置,其中,所述第二解密模块被配置用于:
在所述TEE中执行所述对所述第三加密数据进行解密的操作;以及
所述第二加密模块被配置用于:在所述TEE中执行所述基于所述第三公钥对所述目标身份凭证进行加密的操作。
12.根据权利要求10所述的装置,其中,所述提供模块被配置用于:
生成并呈现包括所述第四加密数据的信息的二维码;或者
通过近场通信NFC将所述第四加密数据传输至所述业务方;或者
通过蓝牙将所述第四加密数据传输至所述业务方;或者
通过局域网络将所述第四加密数据传输至所述业务方。
13.根据权利要求9所述的装置,其中,所述装置还包括:
生成模块,用于在针对所述目标账户的核身验证通过后,生成携带数字签名的凭证申请请求;其中,所述核身验证在所述TEE中执行,所述数字签名在所述TEE中生成;
请求模块,用于向所述各个发行方发送所述凭证申请请求,以请求所述各个发行方各自颁发并加密各个可验证声明,得到各个加密声明,并上传所述各个加密声明进行上链存证。
14.一种基于区块链的隐私保护装置,应用于区块链节点,所述区块链节点与分布式数字身份***客户端对接,所述客户端登录有目标账户,所述装置包括:
发送模块,用于向所述客户端发送第一加密数据;所述第一加密数据包括多个加密声明;任一加密声明为利用所述目标账户对应的第一公钥对一发行方颁发的可验证声明加密得到的;所述可验证声明为与所述目标账户的身份关联的属性信息;
第一接收模块,用于接收所述客户端发起的目标交易;所述目标交易携带第二加密数据,所述第二加密数据为所述客户端基于所述区块链节点对应的第二公钥和各个发行方各自颁发的各个可验证声明,进行预设加密操作得到的;
解密模块,用于响应于所述目标交易,执行预先部署的目标智能合约中的解密逻辑,使得所述解密逻辑基于所述第二公钥对应的第二私钥对所述第二加密数据进行解密,得到所述各个可验证声明;
计算模块,用于执行所述目标智能合约中的联合计算逻辑,使得所述联合计算逻辑基于所述各个可验证声明进行联合计算,将所述联合计算的结果确定为所述目标账户的目标身份凭证;
加密模块,用于利用所述第一公钥对所述目标身份凭证进行加密,得到第三加密数据;
第一存证模块,用于将所述第三加密数据上链存证;
其中,所述区块链节点上设置有TEE;
其中,所述解密模块被配置用于:
在所述TEE中执行所述解密逻辑;
所述计算模块被配置用于:
在所述TEE中执行所述联合计算逻辑;以及
所述加密模块被配置用于:
在所述TEE中执行所述对所述目标身份凭证进行加密的操作。
15.根据权利要求14所述的装置,其中,所述计算模块被配置用于:
将所述各个可验证声明同一预设字段的字段值进行聚合运算;或者
综合所述各个可验证声明不同字段的字段值进行预设判断。
16.根据权利要求14所述的装置,其中,所述装置还包括:
第二接收模块,用于接收所述各个发行方各自发送的各个加密声明;
第二存证模块,用于将所述各个加密声明上链存证。
17.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1-8中任一项所述的方法。
18.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011405417.8A CN112199714B (zh) | 2020-12-04 | 2020-12-04 | 基于区块链的隐私保护方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011405417.8A CN112199714B (zh) | 2020-12-04 | 2020-12-04 | 基于区块链的隐私保护方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112199714A CN112199714A (zh) | 2021-01-08 |
CN112199714B true CN112199714B (zh) | 2021-09-07 |
Family
ID=74033843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011405417.8A Active CN112199714B (zh) | 2020-12-04 | 2020-12-04 | 基于区块链的隐私保护方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112199714B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113221089B (zh) * | 2021-03-15 | 2023-11-07 | 东北大学 | 基于可验证声明的隐私保护属性认证***及方法 |
CN112926092A (zh) * | 2021-03-30 | 2021-06-08 | 支付宝(杭州)信息技术有限公司 | 保护隐私的身份信息存储、身份认证方法及装置 |
CN112733179B (zh) * | 2021-04-01 | 2021-06-25 | 武汉大学 | 一种轻量级非交互隐私保护数据聚合方法 |
CN113221164A (zh) * | 2021-05-11 | 2021-08-06 | 支付宝(杭州)信息技术有限公司 | 基于区块链的数据核验方法及装置、电子设备 |
CN113312664B (zh) * | 2021-06-01 | 2022-06-28 | 支付宝(杭州)信息技术有限公司 | 用户数据授权方法及用户数据授权*** |
CN113486367B (zh) * | 2021-06-09 | 2022-05-03 | 湖南大学 | 高性能可拓展的分布式账本的自主动态数字身份管理架构 |
CN113395281B (zh) * | 2021-06-11 | 2022-11-01 | 网易(杭州)网络有限公司 | 可验证声明的验证方法、装置和电子设备 |
CN113495924B (zh) * | 2021-06-28 | 2024-06-07 | 成都金融梦工场投资管理有限公司 | 一种基于区块链的可防伪数据安全共享方法 |
CN113899866B (zh) * | 2021-12-10 | 2022-03-22 | 佛山绿色发展创新研究院 | 一种基于云服务器的氢气检测*** |
CN115001709B (zh) * | 2022-05-31 | 2024-03-12 | 赵瑞 | 适用于数字医疗数据的可信采集与隐私保护方法 |
CN115174146B (zh) * | 2022-06-02 | 2024-02-23 | 浙江毫微米科技有限公司 | 基于分布式身份的通信方法及装置 |
CN114900302B (zh) * | 2022-07-12 | 2022-11-25 | 杭州天谷信息科技有限公司 | 一种匿名证书的颁发方法 |
CN115564438B (zh) * | 2022-12-06 | 2023-03-24 | 北京百度网讯科技有限公司 | 基于区块链的数字资源处理方法、装置、设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110224837B (zh) * | 2019-06-06 | 2021-11-19 | 西安纸贵互联网科技有限公司 | 基于分布式身份标识的零知识证明方法及终端 |
CN116910726A (zh) * | 2019-07-02 | 2023-10-20 | 创新先进技术有限公司 | 用于将去中心化标识映射到真实实体的***和方法 |
SG10201907039XA (en) * | 2019-07-31 | 2019-09-27 | Alibaba Group Holding Ltd | Methods and devices for deadlock detection in real-time gross settlement systems |
CN110795501A (zh) * | 2019-10-11 | 2020-02-14 | 支付宝(杭州)信息技术有限公司 | 基于区块链的可验证声明的创建方法、装置、设备及*** |
-
2020
- 2020-12-04 CN CN202011405417.8A patent/CN112199714B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112199714A (zh) | 2021-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112199714B (zh) | 基于区块链的隐私保护方法、装置及电子设备 | |
US11770369B2 (en) | System and method for identity verification across mobile applications | |
CN109067539B (zh) | 联盟链交易方法、设备及计算机可读存储介质 | |
RU2710897C2 (ru) | Способы безопасного генерирования криптограмм | |
Ahmed et al. | Security in next generation mobile payment systems: A comprehensive survey | |
CN105612543B (zh) | 用于为移动设备供应支付凭证的方法和*** | |
EP3779753A2 (en) | Validation cryptogram for interaction | |
WO2018063167A1 (en) | Distributed electronic record and transaction history | |
CN104462949B (zh) | 一种插件的调用方法及装置 | |
EP2985728A1 (en) | Providing customer information obtained from a carrier system to a client device | |
US20210152366A1 (en) | Verification and encryption scheme in data storage | |
CN108876593A (zh) | 一种在线交易方法和装置 | |
CN103281187B (zh) | 安全认证方法、设备和*** | |
EP2897094A1 (en) | Method for phone authentication in e-business transactions and computer-readable recording medium having program for phone authentication in e-business transactions recorded thereon | |
CN105635168A (zh) | 一种脱机交易装置及其安全密钥的使用方法 | |
CN114270780A (zh) | 网关不可知令牌化 | |
EP3788535A1 (en) | Techniques for performing secure operations | |
KR102211033B1 (ko) | 전자인증절차의 대행 서비스 시스템 | |
Sung et al. | Mobile Payment Based on Transaction Certificate Using Cloud Self‐Proxy Server | |
CN109816525A (zh) | 一种数据处理方法及其装置、介质、终端 | |
KR102199486B1 (ko) | 컨텐츠 제공자를 위한 전자인증 대행방법 | |
Dass et al. | Security framework for addressing the issues of trust on mobile financial services | |
CN111402037A (zh) | 一种用户数据处理方法及装置 | |
CN111695096B (zh) | 一种身份验证的方法及装置 | |
CN105187356A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40046317 Country of ref document: HK |