CN111737366B - 区块链的隐私数据处理方法、装置、设备以及存储介质 - Google Patents

区块链的隐私数据处理方法、装置、设备以及存储介质 Download PDF

Info

Publication number
CN111737366B
CN111737366B CN202010708863.XA CN202010708863A CN111737366B CN 111737366 B CN111737366 B CN 111737366B CN 202010708863 A CN202010708863 A CN 202010708863A CN 111737366 B CN111737366 B CN 111737366B
Authority
CN
China
Prior art keywords
data
authorized
trusted computing
plaintext
target
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
CN202010708863.XA
Other languages
English (en)
Other versions
CN111737366A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202010708863.XA priority Critical patent/CN111737366B/zh
Publication of CN111737366A publication Critical patent/CN111737366A/zh
Application granted granted Critical
Publication of CN111737366B publication Critical patent/CN111737366B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本申请公开了一种区块链的隐私数据处理方法、装置、设备以及存储介质,涉及区块链技术领域,可用于云计算和云服务。具体实现方案为:获取数据拥有方发送的数据授权请求;数据授权请求包括待授权数据和数据使用方的区块链账户地址,待授权数据至少包括加密数据;在可信计算环境中,根据数据使用方的区块链账户地址,对待授权数据中加密数据进行授权处理,得到已授权数据或待授权数据的数据使用凭证;向区块链网络发送包括已授权数据或待授权数据的数据使用凭证的上链事务请求,以进行上链存储。以降低隐私数据权限管理的复杂度。

Description

区块链的隐私数据处理方法、装置、设备以及存储介质
技术领域
本申请涉及计算机技术领域,尤其区块链技术,具体涉及一种区块链的隐私数据处理方法、装置、设备以及存储介质。
背景技术
随着区块链技术的发展,其在诸多应用场景已经逐渐落地实现。在实际应用中,对于涉及关键业务场景的数据需要进行隐私保护,以保证用户的利益;与此同时,某些业务场景下需要使用用户的隐私数据进行计算,以及监管机构也需要查看具体数据内容等。因此,需要对用户隐私数据的访问权限进行管理。
然而,目前主要通过维护访问控制列表,或基于用户属性加密等方式来对数据访问权限进行管理,管理复杂度高。
发明内容
本公开提供了一种区块链的隐私数据处理方法、装置、设备以及存储介质,以降低隐私数据权限管理的复杂度。
根据本公开的一方面,提供了一种区块链的隐私数据处理方法,由配置有可信计算环境的可信计算设备执行,该方法包括:
获取数据拥有方发送的数据授权请求;其中,所述数据授权请求包括待授权数据和数据使用方的区块链账户地址,所述待授权数据至少包括加密数据;
在可信计算环境中,根据所述数据使用方的区块链账户地址,对所述待授权数据中加密数据进行授权处理,得到已授权数据或所述待授权数据的数据使用凭证;
向区块链网络发送包括已授权数据或所述待授权数据的数据使用凭证的上链事务请求,以进行上链存储。
根据本公开的另一方面,提供了一种区块链的隐私数据处理方法,由数据拥有方执行,该方法包括:
在具有数据授权需求时,向配置有可信计算环境的可信计算设备发送数据授权请求,所述数据授权请求包括待授权数据和数据使用方的区块链账户地址,所述待授权数据至少包括加密数据,以请求所述可信计算设备根据所述数据使用方的区块链账户地址,执行对所述待授权数据中加密数据的授权处理操作,并向区块链网络发送包括授权处理得到的已授权数据或所述待授权数据的数据使用凭证的上链事务请求。
根据本公开的另一方面,提供了一种区块链的隐私数据处理方法,由数据使用方执行,该方法包括:
从区块链网络中获取计算所需的目标待授权数据和所述目标待授权数据的目标数据使用凭证;
向配置有可信计算环境的可信计算设备发送包括所述目标待授权数据和所述目标数据使用凭证的数据计算请求,以请求所述可信计算设备在依据所述目标待授权数据和所述目标数据使用凭证验证所述数据使用方具有使用所述目标待授权数据权限下,响应所述数据计算请求,以获得明文计算结果;
接收所述可信计算设备反馈的所述明文计算结果。
根据本公开的另一方面,提供了一种区块链的隐私数据处理装置,配置在配置有可信计算环境的可信计算设备中,该装置包括:
授权请求获取模块,用于获取数据拥有方发送的数据授权请求;其中,所述数据授权请求包括待授权数据和数据使用方的区块链账户地址,所述待授权数据至少包括加密数据;
授权处理模块,用于在可信计算环境中,根据所述数据使用方的区块链账户地址,对所述待授权数据中加密数据进行授权处理,得到已授权数据或所述待授权数据的数据使用凭证;
事务请求发送模块,用于向区块链网络发送包括已授权数据或所述待授权数据的数据使用凭证的上链事务请求,以进行上链存储。
根据本公开的另一方面,提供了一种区块链的隐私数据处理装置,配置在数据拥有方所属设备中,该装置包括:
授权请求发送模块,用于在具有数据授权需求时,向配置有可信计算环境的可信计算设备发送数据授权请求,所述数据授权请求包括待授权数据和数据使用方的区块链账户地址,所述待授权数据至少包括加密数据,以请求所述可信计算设备根据所述数据使用方的区块链账户地址,执行对所述待授权数据中加密数据的授权处理操作,并向区块链网络发送包括授权处理得到的已授权数据或所述待授权数据的数据使用凭证的上链事务请求。
根据本公开的另一方面,提供了一种区块链的隐私数据处理装置,配置在数据使用方所属设备中,该装置包括:
数据获取模块,用于从区块链网络中获取计算所需的目标待授权数据和所述目标待授权数据的目标数据使用凭证;
计算请求发送模块,用于向配置有可信计算环境的可信计算设备发送包括所述目标待授权数据和所述目标数据使用凭证的数据计算请求,以请求所述可信计算设备在依据所述目标待授权数据和所述目标数据使用凭证验证所述数据使用方具有使用所述目标待授权数据权限下,响应所述数据计算请求,以获得明文计算结果;
计算结果接收模块,用于接收所述可信计算设备反馈的所述明文计算结果。
根据本公开的另一方面,提供了一种电子设备,该电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请任一实施例所述的区块链的隐私数据处理方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行本申请任一实施例所述的区块链的隐私数据处理方法。
根据本申请的技术解决了目前对于隐私数据访问权限管理方式管理复杂度高等问题,实现了数据拥有方对数据的控制力,保证了隐私数据安全,同时简化了隐私数据的权限管理。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请实施例提供的一种区块链的隐私数据处理方法的流程图;
图2是根据本申请实施例提供的另一种区块链的隐私数据处理方法的流程图;
图3A是根据本申请实施例提供的另一种区块链的隐私数据处理方法的流程图;
图3B和图3C是根据本申请实施例提供的一种数据授权处理过程框图;
图4A是根据本申请实施例提供的另一种区块链的隐私数据处理方法的流程图;
图4B是根据本申请实施例提供的一种数据计算过程框图;
图5是根据本申请实施例提供的另一种区块链的隐私数据处理方法的流程图;
图6是根据本申请实施例提供的另一种区块链的隐私数据处理方法的流程图;
图7是根据本申请实施例提供的一种区块链的隐私数据处理装置的结构示意图;
图8是根据本申请实施例提供的另一种区块链的隐私数据处理装置的结构示意图;
图9是根据本申请实施例提供的另一种区块链的隐私数据处理装置的结构示意图;
图10是用来实现本申请实施例的区块链的隐私数据处理方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本申请实施例提供的一种区块链的隐私数据处理方法的流程图。本申请实施例适用于基于区块链进行隐私数据处理的情况,尤其适用于在可信计算环境下进行隐私数据授权处理,以及将处理结果存储于区块链网络中的情况。该方法可以由配置有可信计算环境的可信计算设备执行。该可信计算设备可以是区块链网络中的节点设备,也可以不是区块链网络中的节点设备,但是可以通过区块链节点设备提供的接口与该区块链节点设备进行交互,参与到区块链网络中。可选的,可信计算设备可以是配置有可信计算环境的计算设备。可信计算环境(Trusted Execution Environment,TEE)可以是通过硬件技术实现的保证存储空间和计算过程可信的环境,可信计算环境可以保护运行在其中的代码和数据等不会被任何外部软件篡改和窃取。可选的,提供可信计算环境的机制可以有很多,例如,可以是Intel推出的SGX(Software Guard Extensions)硬件安全机制。
可选的,该方法可以由基于区块链的隐私数据处理装置来执行,该装置可以采用软件和/或硬件的方式实现,并可集成于配置有可信计算环境的可信计算设备中。如图1所示,本实施例提供的基于区块链的隐私数据处理方法可以包括:
S101,获取数据拥有方发送的数据授权请求;其中,数据授权请求包括待授权数据和数据使用方的区块链账户地址,待授权数据至少包括加密数据。
其中,所谓数据拥有方即数据拥有者,拥有数据的控制权(包括但不限于数据在区块链网络中的存储、获取、查询、修改、以及删除等),以及数据分享权限等。对应的,数据使用方即为需要使用数据拥有方的数据(例如部分或全部隐私数据等)进行某种功能计算(如监管机构对大量数据进行统计、查询等)的一方。
本实施例中,数据授权请求可以是数据拥有方根据其数据授权需求,向配置有可信计算环境的可信计算设备所发起的对数据的使用权限进行授权处理的请求。可选的,数据授权请求中可以包括但不限于数据使用方的区块链账户地址、待授权数据、以及数据拥有方的签名等;其中,区块链账户地址可用区块链账户公钥的散列值表示;待授权数据中至少可以包括加密数据,加密数据通过对待授权的明文数据进行加密得到。进而待授权数据中还可以包括生成对称密钥(用于对数据进行加解密)所需的信息等。可选的,本实施例中,数据拥有方可通过如下可选方式获得待授权数据:为了保证数据的安全,数据拥有方在向可信计算设备发送数据授权请求之前,可以基于密钥生成机制,如可以基于时间戳和随机数,或基于时间戳和数据拥有方的区块链账户,或者基于Intel SGX(SoftwareDevelopment Kit,SDK)软件开发包提供的对称密码体系等,生成对称密钥,并采用对称密钥对明文数据进行加密,得到加密数据;之后可以将加密数据、时间戳、随机数或数据拥有方的区块链账户等按一定数据结构封装形成待授权数据。此外,为了防止数据在加密处理过程中被泄露,可选的,数据拥有方在向可信计算设备发送数据授权请求之前,可以通过加密传输方式向可信计算设备发送包括明文数据的加密处理请求,以使可信计算设备在可信计算环境中基于密钥生成机制,生成对称密钥,并采用对称密钥对明文数据进行加密,得到加密数据;之后可以将加密数据、时间戳、随机数或数据拥有方的区块链账户等按一定数据结构封装形成待授权数据,并通过加密传输方式将待授权数据传输给数据拥有方。此时,可信计算设备还可以替代数据拥有方将区块链网络发起包括待授权数据的上链事务请求,以便将待授权数据存储于区块链。
具体的,当数据拥有方具有数据授权需求时,可以向配置有可信计算环境的可信计算设备发送数据授权请求。进而,该可信计算设备获取数据拥有方发送的数据授权请求。
S102,在可信计算环境中,根据数据使用方的区块链账户地址,对待授权数据中加密数据进行授权处理,得到已授权数据或待授权数据的数据使用凭证。
可选的,为了保证数据的安全性,可信计算设备可以先对发送数据授权请求的数据拥有方的身份进行验证,并在验证其身份合法的情况下,执行数据的授权处理。示例性的,根据数据使用方的区块链账户地址,对加密数据授权处理可以包括:从数据授权请求中获取数据拥有方的签名,并采用数据拥有方的账户密钥进行验证;如果验证通过,则根据数据使用方的区块链账户地址,对加密数据进行授权处理。
具体的,可信计算设备可以从数据授权请求中获取数据拥有方的签名(如采用区块链账户私钥进行的签名),之后可以采用数据拥有方的账户密钥(如区块链账户公钥)对所获取的签名的合法性进行验证,若验证通过,则执行授权处理操作。本实施例中,增加对数据拥有方身份的验证过程,可进一步保证数据的安全性和可靠性,同时可保证区块链网络安全运行。
需要说明的是,数据拥有方可以将数据的可读使用权(即可见且可使用数据的权限)或隐藏使用权(也可称为不可读使用权,即不可见但可使用数据的权限)分享给数据使用方,以供数据使用方进行某种功能计算。可选的,数据拥有方分享给数据使用方的权限不同,可信计算设备进行授权处理的方式不同,进而得到的授权处理结果不同。示例性的,若数据拥有方将可读使用权分享给数据使用方,则可信计算设备进行授权处理将得到已授权数据;若数据拥有方将隐藏使用权分享给数据使用方,则可信计算设备进行授权处理将得到待授权数据的数据使用凭证。其中,已授权数据与数据授权请求中的待授权数据的格式相同,已授权数据中至少可以包括新加密数据,新加密数据可以是可信计算设备基于密钥生成机制,如可以根据数据使用方的区块链账户地址和时间戳等生成对称密钥,并采用对称密钥对明文数据进行加密得到;数据使用凭证是用于表明具有数据使用权限的一种证明方式,本实施例中待授权数据的使用凭证即为待授权数据中加密数据的使用凭证。
可选的,数据拥有方可以将分享给数据使用方的权限类型携带在数据授权请求中,来请求可信计算设备进行该种权限类型的授权处理;或者,数据拥有方还可以通过授权数据在数据授权请求中的位置来表明分享给数据使用方的权限类型,例如数据授权请求中待授权数据在头部表明将可读使用权分享给数据使用方,反之,若数据授权请求中待授权数据在尾部表明将隐藏使用权分享给数据使用方。
具体的,可信计算设备可以对加密数据进行解密,得到明文数据;在获得明文数据之后,可信计算设备可以根据数据授权请求中的权限类型,或通过识别数据授权请求的数据格式确定的权限类型,调用实现该种权限类型的相关功能代码,并基于数据使用方的区块链账户地址和明文数据等运行该功能代码,实现对待授权数据中加密数据的授权处理,得到授权处理结果,即已授权数据或待授权数据的数据使用凭证。其中,可信计算设备可通过执行如下操作得到明文数据:可信计算设备可从待授权数据中获取生成对称密钥所需的信息,并基于加密机制,根据生成对称密钥所需的信息,生成对称密钥;采用所生成的对称密钥对加密数据进行解密,得到明文数据。此外,为了进一步保证数据的安全可靠,可选的,待授权数据中还可以包括明文数据的指纹信息,进而可信计算设备在获得明文数据后,可通过指纹信息对解密后的明文数据进行验证。
需要说明的是,由于可信计算设备是在可信计算环境中进行授权处理的,所以即使处理过程中涉及到了隐私数据,也可以保证隐私数据的安全性,不会造成隐私数据的泄露。
S103,向区块链网络发送包括已授权数据或待授权数据的数据使用凭证的上链事务请求,以进行上链存储。
本实施例中,上链事务请求中可以包括已授权数据或待授权数据的数据使用凭证,为以防止恶意的节点设备伪装可信计算设备发起上链事务请求,上链事务请求中还可以包括可信计算设备的设备标识等。
具体的,可信计算设备在得到已授权数据或待授权数据的数据使用凭证之后,可以替代数据拥有方在可信计算环境中,基于数据拥有方的区块链账户私钥发起上链事务请求。可选的,可信计算设备可以从数据拥有方获取其区块链账户私钥,或者还可以从数据授权请求中获取数据拥有方的区块链账户私钥等。
可选的,若可信计算设备是区块链网络中的节点设备,则该可信计算设备可以在本地基于区块链部署协议产生包括已授权数据或待授权数据的数据使用凭证的上链事务请求,并向区块链网络发送该上链事务请求,以请求区块链网络中的其他节点执行上链操作,以将已授权数据或待授权数据的数据使用凭证存储于区块链。其中,基于区块链部署协议产生上链事务请求时,可以是将待上链数据(可以包括但不限于已授权数据或待授权数据的数据使用凭证)添加到交易的相关字段中,从而产生将待上链数据进行上链存储的上链事务请求;还可以是调用上链存储智能合约,将待上链数据作为输入数据,运行该智能合约,产生将待上链数据进行上链存储的上链事务请求。
可选的,若可信计算设备是不区块链网络中的节点设备,则该可信计算设备可以将待上链数据(可以包括但不限于已授权数据或待授权数据的数据使用凭证)通过接口传输给区块链节点,以请求该区块链节点基于区块链部署协议产生包括已授权数据或待授权数据的数据使用凭证的上链事务请求,并向区块链网络发送该上链事务请求,以请求区块链网络中的其他节点执行上链操作,以将已授权数据或待授权数据的数据使用凭证存储于区块链。
进而数据使用方在具有数据使用需求时,可以从区块链网络获取已授权数据,并根据已授权数据获得明文数据;或者,从区块链网络获取待授权数据的数据使用凭证,并根据该数据使用凭证获得明文计算结果。
本申请实施例的技术方案,可信计算设备获取数据拥有方发送的包括数据使用方的区块链账户地址和至少包括加密数据的待授权数据,在可信计算环境中根据数据使用方的区块链账户地址,对待授权数据中加密数据进行授权处理后,向区块链网络发送包括授权处理结果(已授权数据或待授权数据的数据使用凭证)的上链事务请求进行上链存储,以便数据使用方基于已授权数据获得明文数据,或基于待授权数据的数据使用凭证获得明文计算结果,解决了目前对于隐私数据访问权限管理方式管理复杂度高等问题,实现了数据拥有方对数据的控制力。基于可信计算环境进行授权处理,避免了授权处理过程中数据被公开,保证了数据的私密性和授权过程的可靠性。同时,无需维护专门的权限控制表等,简化了隐私数据的权限管理。此外,将授权处理结果上链存储,还可满足隐私数据的计算在区块链网络中的上链需求。
图2是根据本申请实施例提供的一种区块链的隐私数据处理方法的流程图。本实施例在上述实施例的基础上,提供了一种对数据进行授权处理的方案。如图2所示,本实施例提供的基于区块链的隐私数据处理方法可以包括:
S201,获取数据拥有方发送的数据授权请求;其中,数据授权请求包括待授权数据和数据使用方的区块链账户地址,待授权数据至少包括加密数据。
S202,在可信计算环境中,根据目标衍生密钥、数据拥有方的区块链账户地址和待授权数据中明文数据的数据散列值,生成第一对称密钥。
可选的,为了保证数据的安全性和可靠性,需要保证采用不同对称密钥对不同数据拥有方的数据进行加解密,也就是说,需要保证对称密钥是可更新且无关联的。为此,本实施例采用基于HMAC(Hash-based Message Authentication Code,密钥相关的哈希运算消息认证码)算法引入了一种链式派生kds(key derivation secret,衍生密钥)的方法,同时可根据所派生的衍生密钥、明文数据的参数信息(如明文数据的散列值)、以及数据拥有方的区块链账户地址等生成用于对数据进行加解密的对称密钥,保证了对称密钥的安全,进而保证了数据的安全。
具体为,中心设备可以在本地随机生成一个根密钥,之后在可信计算环境中基于HMAC算法,根据根密钥派生不同版本的衍生密钥。其中,中心设备可以是公信力较强的,用于管理区块链网络中衍生密钥事宜等的中立的第三方设备。例如,中心设备根据派生衍生密钥机制确定到达派生时间时,在配置有可信计算环境的可信计算设备中任选一可信计算设备,通过加密传输方式将根密钥和衍生密钥的版本号发送至该可信计算设备,以使该可信计算设备基于HMAC算法,根据根密钥派生出对应版本号的衍生密钥,并通过加密传输方式将所派生的衍生密钥反馈给中心设备。需要说明的是,中心设备每次通过可信计算环境所派生的衍生密钥都是当前最新版本的衍生密钥,进而中心设备在监测到衍生密钥更新事件(如当前时间达到密钥更新周期)时,可以向各可信计算设备发送包括最新版本衍生密钥的衍生密钥更新请求;可信计算设备获取中心设备发送的包括最新版本衍生密钥的衍生密钥更新请求,在可信计算环境中,根据最新版本衍生密钥,进行衍生密钥更新操作,即用最新版本衍生密钥替代当前存储在可信计算环境中的衍生密钥。例如,最新版本衍生密钥为kds_3,当前存储在可信计算环境中的衍生密钥为kds_2,则用kds_3代替kds_2。本实施例,通过动态更新可信计算环境中衍生密钥,可使用于加解密数据的对称密钥动态更新且不易被破解,进而保证了数据的安全性。此外,可信计算设备还可以利用Intel SGX的SDK提供的加密功能对从中心设备获取的最新版本衍生密钥进行加密,并将加密的最新版本衍生密钥存储在可信计算设备本地(可以不是可信计算环境中),以便可信计算设备如果重启,无需再从中心设备获取最新版本衍生密钥,可从本地加载到该可信计算设备的可信计算环境中进行解密获得最新版本衍生密钥后直接进行正常授权处理功能等。
可选的,本实施例中的待授权数据优选采用如下方式获得:数据拥有方向可信计算设备发送包括明文数据的加密处理请求;可信计算设备获取数据拥有方发送的包括明文数据的加密处理请求,之后在可信计算环境中,对明文数据进行处理,得到加密数据,并向数据拥有方反馈至少包括加密数据的待授权数据。具体的,可信计算设备可以将其可信计算环境中存储的衍生密钥作为目标衍生密钥,或者数据拥有方可以指定用于生成对称密钥所需的衍生密钥的密钥版本号,并将密钥版本号携带在加密处理请求中,进而可信计算设备可以根据数据拥有方指定的密钥版本号,获取对应的衍生密钥,并将其作为目标衍生密钥;对明文数据进行散列处理,得到明文数据的散列值;并基于HMAC算法,根据目标衍生密钥、数据拥有方的区块链账户地址、以及明文数据的散列值,生成第一对称密钥;并采用第一对称密钥对明文数据进行加密,以获得加密数据;之后,可以将加密数据、明文数据的散列值、数据拥有方的区块链账户地址、以及密钥版本号等按照一定数据结构进行封装,形成待授权数据。本实施例采用可信计算设备形成待授权数据,可避免数据在加密处理过程中被泄露,保证了数据拥有方的数据的安全性。
进而,可信计算设备在获取数据拥有方发送的数据授权请求之后,可以获取明文数据的散列值、目标衍生密钥和数据拥有方的区块链账户地址;而后,可以基于HMAC算法,根据目标衍生密钥、数据拥有方的区块链账户地址、以及明文数据的散列值,生成第一对称密钥。本实施例中,可信计算设备可以将其可信计算环境中存储的衍生密钥最为目标衍生密钥;或者可信计算设备可以根据授权数据中密钥版本号,获取对应的衍生密钥,并将对应的衍生密钥作为目标衍生密钥。需要说明的是,本实施例通过在衍生密钥中增加版本号,增加了衍生密钥管理的安全性和灵活度。可选的,可信计算设备获取数据拥有方的区块链账户地址的方法可以是从其本地获取,还可以是从待授权数据中获取,还可以是从区块链中获取。
S203,采用第一对称密钥,对加密数据进行解密,得到明文数据。
具体的,可信计算设备在生成第一对称密钥之后,可以在其可信计算环境中采用所生成的第一对称密钥,对待授权数据中的加密数据进行解密,可得到明文数据。
S204,根据权限类型和数据使用方的区块链账户地址,对明文数据进行授权处理,得到已授权数据或待授权数据的数据使用凭证。
可选的,数据拥有方分享给数据使用方的权限不同,可信计算设备进行授权处理的方式不同,进而得到的授权处理结果不同。示例性的,若数据拥有方将可读使用权分享给数据使用方,则可信计算设备进行授权处理将得到已授权数据;若数据拥有方将隐藏使用权分享给数据使用方,则可信计算设备进行授权处理将得到待授权数据的数据使用凭证。
具体的,可信计算设备可以基于可信计算环境,根据数据授权请求中的权限类型,调用实现该种权限类型的相关功能代码,并基于数据使用方的区块链账户地址和明文数据等运行该功能代码,实现数据的授权处理,得到授权处理结果,即已授权数据或待授权数据的数据使用凭证。
S205,向区块链网络发送包括已授权数据或待授权数据的数据使用凭证的上链事务请求,以进行上链存储。
本申请实施例的技术方案,通过引入衍生密钥,根据衍生密钥、明文数据的散列值、以及数据拥有方的区块链账户地址等生成用于对数据进行加解密的对称密钥,保证了对称密钥的安全,进而保证了数据的安全;同时基于可信计算环境进行授权处理,避免了授权处理过程中数据被公开,进一步保证了数据的私密性和授权过程的可靠性。此外,本申请无需维护专门的权限控制表等,简化了隐私数据的权限管理;以及将授权处理结果(已授权数据或待授权数据的数据使用凭证)上链存储,还可满足隐私数据的计算在区块链网络中的上链需求。
图3A是根据本申请实施例提供的一种区块链的隐私数据处理方法的流程图;图3B和图3C是根据本申请实施例提供的一种数据授权处理过程框图。本实施例在上述实施例的基础上,又提供了一种对数据进行授权处理的方案。结合图3A、3B和3C,本实施例提供的基于区块链的隐私数据处理方法可以包括:
S301,获取数据拥有方发送的数据授权请求;其中,数据授权请求包括待授权数据和数据使用方的区块链账户地址,待授权数据至少包括加密数据。
S302,在可信计算环境中,根据目标衍生密钥、数据拥有方的区块链账户地址和待授权数据中明文数据的数据散列值,生成第一对称密钥。
S303,采用第一对称密钥,对加密数据进行解密,得到明文数据。
S304,判断权限类型;若权限类型为可读使用权,则执行S305;若权限类型为隐藏使用权,则执行S308。
S305,根据目标衍生密钥、数据散列值、以及数据使用方的区块链账户地址,生成第二对称密钥。
可选的,若权限类型为可读使用权,则说数据拥有方的数据对数据使用方是可见且可用的;此时,明文数据可以利用数据使用方的区块链账户地址进行加密,以保证加密后的数据可以被数据使用方解密,以便获取明文数据。具体的,可信计算设备可以在其可信计算环境中,基于HMAC算法,根据目标衍生密钥、数据使用方的区块链账户地址、以及明文数据的散列值,生成第二对称密钥。
S306,采用第二对称密钥对明文数据进行加密,得到新加密数据。
具体的,可信计算设备在生成第二对称密钥之后,可以采用第二对称密钥对明文数据进行加密,进而得到新加密数据。
S307,基于新加密数据和数据散列值,生成已授权数据。
具体的,可信计算设备在得到新加密数据之后,可以将新加密数据、明文数据的散列值、以及其他参数(如可以包括但不限于数据使用方的区块链账户地址和密钥版本号)按照一定数据结构进行封装,形成已授权数据。
S308,根据目标衍生密钥、数据散列值、数据使用方的区块链账户地址、以及数据拥有方的区块链账户地址,生成待授权数据的数据使用凭证。
可选的,若权限类型为隐藏使用权,则说数据拥有方的数据对数据使用方是不可见但可用的;此时,可信计算设备可以在其可信计算环境中,对明文数据进行散列处理,得到数据散列值;或者可以直接使用待授权数据中的数据散列值;之后基于HMAC算法,根据目标衍生密钥、数据使用方的区块链账户地址、数据拥有方的区块链账户地址、以及明文数据的散列值,生成待授权数据的数据使用凭证。
S309,向区块链网络发送包括已授权数据或待授权数据的数据使用凭证的上链事务请求,以进行上链存储。
本申请实施例的技术方案,通过引入衍生密钥,根据衍生密钥、明文数据的散列值、以及数据拥有方的区块链账户地址等生成用于对数据进行加解密的对称密钥,保证了对称密钥的安全,进而保证了数据的安全;同时引入权限类型,且对于不同权限类型,基于可信计算环境进行不同授权处理操作,实现了数据拥有方对数据的控制力,避免了授权处理过程中数据被公开,极大的保证了数据的私密性和授权过程的可靠性。此外,本申请无需维护专门的权限控制表等,简化了隐私数据的权限管理;以及将授权处理结果(已授权数据或待授权数据的数据使用凭证)上链存储,还可满足隐私数据的计算在区块链网络中的上链需求。
图4A是根据本申请实施例提供的一种区块链的隐私数据处理方法的流程图;图4B是根据本申请实施例提供的一种数据计算过程框图。本实施例在上述实施例的基础上,增加了在可信计算环境中进行数据计算的过程。结合图4A和4B,本实施例提供的基于区块链的隐私数据处理方法可以包括:
S401,获取数据拥有方发送的数据授权请求;其中,数据授权请求包括待授权数据和数据使用方的区块链账户地址,待授权数据至少包括加密数据。
S402,在可信计算环境中,根据数据使用方的区块链账户地址,对待授权数据中加密数据进行授权处理,得到待授权数据的数据使用凭证。
S403,向区块链网络发送包括待授权数据的数据使用凭证的上链事务请求,以进行上链存储。
S404,获取数据使用方发送的数据计算请求;数据计算请求中包括计算所需的目标待授权数据和目标待授权数据的目标数据使用凭证。
具体的,数据使用方在具有数据计算需求时,可以从区块链网络中获取所需的目标待授权数据和对应的目标数据使用凭证;之后,可以选择具有相关计算功能且配置有可信计算环境的可信计算设备,然后向该可信计算设备发送数据计算请求。可选的,配置有可信计算环境的可信计算设备中可具备至少一种数据计算功能,数据使用方可通过与可信计算设备进行交互,查看可信计算设备所具有的计算功能。
可选的,数据计算请求中可以包括计算所需的目标待授权数据和对应的目标数据使用凭证,还可以包括数据使用方的区块链账户地址,指定的密钥版本号,计算要求或计算方式等。
此外,数据计算请求中还可以包括数据使用方的签名(如采用区块链账户私钥进行的签名)等。进而可信计算设备在获取数据使用方发送的数据计算请求之后,可以从数据计算请求中获取数据使用方的签名,并采用数据使用方的区块链账户公钥对所获取的签名的合法性进行验证,在验证通过的情况下,执行S405。
S405,在可信计算环境中,依据目标待授权数据和目标数据使用凭证,验证数据使用方对目标待授权数据的使用权限。
可选的,可信计算设备在获取数据使用方发送的数据计算请求之后,可以从目标待授权数据中获取密钥版本号,并根据所获取的密钥版本号获取对应的衍生密钥;还可以从目标待授权数据中获取数据散列值和数据拥有方的区块链账户地址;同时,可以从本地,或数据使用方所发送的数据计算请求中,或者区块链中获取数据使用方的区块链账户地址;之后,根据所获取的数据使用方的区块链账户地址、数据拥有方的区块链账户地址、数据散列值和对应的衍生密钥,生成数据使用凭证;将所生成的数据使用凭证与获取的目标使用凭证进行一致性比较;进而依据比较结果,验证数据使用方对目标待授权数据中加密数据的使用权限。示例性的,若比较结果为一致,则说明数据使用方具有目标待授权数据的使用权限,进一步为目标待授权数据中加密数据的使用权限;否则,则说明数据使用方不具有目标待授权数据中加密数据的使用权限。
进一步的,若数据使用方需要使用多个数据拥有方的数据进行某种功能计算,则目标待授权数据的数量为至少两个。此时,只有验证数据使用方对所获取的每一目标待授权数据中加密数据均有使用权限,则才可执行S406。
S406,若数据使用方具有目标待授权数据的使用权限,则在可信计算环境中,响应数据计算请求,并获得明文计算结果。
具体的,若数据使用方具有目标待授权数据中加密数据的使用权限,则可信计算设备可以基于可信计算环境,根据所获取的对应的衍生密钥、从目标待授权数据中所获取的数据拥有方的区块链账户地址和数据散列值,生成对称密钥,采用所生成的对称密钥对目标待授权数据中的加密数据进行解密,得到明文数据;之后采用数据使用方指定的计算方式对明文数据进行计算,即可获得明文计算结果。例如,数据使用方的计算要求为:使用数据拥有方1的目标待授权数据1中的加密数据训练神经网络模型A。此时,可信计算设备在接收到该数据计算请求后,可以是基于可信计算环境,根据目标待授权数据1获取明文数据,然后调用训练神经网络模型的功能程序代码,将所获取的明文数据作为输入数据,运行该功能程序代码,进行神经网络模型A的训练,得到的明文计算结果可以是训练后的神经网络模型A的模型参数或训练好的神经网络模型A。
S407,向数据使用方反馈明文计算结果。
具体的,在获得明文计算结果之后,可信计算设备可以通过加密传输方式向数据使用方反馈明文计算结果,以便数据使用方可获取明文计算结果,且避免传输过程中数据被泄露。
可选的,加密传输方式可以是,可信计算设备采用数据使用方的区块链账户私钥对明文计算结果进行加密,之后向数据使用方反馈加密的明文计算结果,以便数据使用方采用区块链账户公钥对加密的明文计算结果进行解密,得到明文计算结果。
或者,还可以是,可信计算设备在可信计算环境中,根据数据使用方指定版本的衍生密钥、明文计算结果的数据散列值、以及数据使用方的区块链账户地址,生成第三对称密钥;在可信计算环境中,采用第三对称密钥对明文计算结果进行加密,得到加密计算结果;向数据使用方反馈加密计算结果,以供数据使用方基于加密计算结果,获得明文计算结果。
具体的,可信计算设备可以基于可信计算环境,对明文计算结果进行散列处理,得到明文计算结果的数据散列值;根据数据计算请求中指定的密钥版本号,获取指定版本的衍生密钥;根据明文计算结果的数据散列值、数据使用方的区块链账户地址和指定版本的衍生密钥,生成第三对称密钥,并采用第三对称密钥对明文计算结果进行加密,得到加密计算结果;之后可以向数据使用方反馈加密计算结果,以便数据使用方基于加密计算结果,获得明文计算结果。
需要说明的是,本实施例基于可信计算设备采用第三对称密钥对明文计算结果进行加密的方式,不仅可避免传输过程中计算结果被泄露,而且可保证计算结果在数据使用方本地不被泄露(若数据使用方获得计算结果后不立即进行查看)。同时,增加了方案的灵活度。
本申请实施例的技术方案,数据使用方在具有数据计算需求时,可向可信计算设备发送数据计算请求,可信计算设备基于可信计算环境,通过根据目标待授权数据和目标数据使用凭证对数据使用方的使用权限进行验证,并在验证通过情况下,响应数据计算请求,以获得明文计算结果,并向数据使用方反馈明文计算结果。本申请通过可信计算环境保证了隐私数据的安全,同时实现了隐私数据的计算需求。
图5是根据本申请实施例提供的一种区块链的隐私数据处理方法的流程图。本申请实施例适用于基于区块链进行隐私数据处理的情况,尤其适用于在可信计算环境下进行隐私数据授权处理,以及将处理结果存储于区块链网络中的情况。可选的,该方法可以由基于区块链的隐私数据处理装置来执行,该装置可以采用软件和/或硬件的方式实现,并可集成于数据拥有方所属设备中。如图5所示,本实施例提供的基于区块链的隐私数据处理方法可以包括:
S501,在具有数据授权需求时,向配置有可信计算环境的可信计算设备发送数据授权请求,数据授权请求包括待授权数据和数据使用方的区块链账户地址,待授权数据至少包括加密数据,以请求可信计算设备根据数据使用方的区块链账户地址,执行对待授权数据中加密数据的授权处理操作,并向区块链网络发送包括授权处理得到的已授权数据或待授权数据的数据使用凭证的上链事务请求。
可选的,数据授权请求中可以包括但不限于数据使用方的区块链账户地址、授权数据、以及数据拥有方的签名等;其中,区块链账户地址可用区块链账户公钥的散列值表示;待授权数据中至少可以包括加密数据,加密数据通过对待授权的明文数据进行加密得到。进而待授权数据中还可以包括生成对称密钥(用于对数据进行加解密)所需的信息等。可选的,本实施例中,数据拥有方可通过如下可选方式获得待授权数据:为了保证数据的安全,数据拥有方在向配置有可信计算环境的可信计算设备发送数据授权请求之前,可以向可信计算设备发送包括明文数据的加密处理请求,以请求可信计算设备在可信计算环境中,对明文数据进行处理,以得到至少包括加密数据的待授权数据;接收可信计算设备反馈的待授权数据。本实施例采用可信计算设备形成待授权数据,可避免数据在加密处理过程中被泄露,保证了数据拥有方的数据的安全性。
具体的,当数据拥有方具有数据授权需求时,可以向配置有可信计算环境的可信计算设备发送数据授权请求。进而,该可信计算设备获取数据拥有方发送的数据授权请求,在可信计算环境中,根据数据使用方的区块链账户地址,对待授权数据中加密数据进行授权处理,得到已授权数据或待授权数据的数据使用凭证;之后向区块链网络发送包括已授权数据或待授权数据的数据使用凭证的上链事务请求,以进行上链存储,用于数据使用方根据区块链网络中的已授权数据获得明文数据,或根据待授权数据的数据使用凭证获得明文计算结果。
本申请实施例的技术方案,数据拥有方具有数据授权需求时,向配置有可信计算环境的可信计算设备发送数据授权请求;可信计算设备获取数据拥有方发送的包括数据使用方的区块链账户地址和至少包括加密数据的待授权数据,在可信计算环境中根据数据使用方的区块链账户地址,对加密数据进行授权处理后,向区块链网络发送包括授权处理结果(已授权数据或待授权数据的数据使用凭证)的上链事务请求进行上链存储,以便数据使用方基于已授权数据获得明文数据,或基于待授权数据的数据使用凭证获得明文计算结果,解决了目前对于隐私数据访问权限管理方式管理复杂度高等问题,实现了数据拥有方对数据的控制力。基于可信计算环境进行授权处理,避免了授权处理过程中数据被公开,保证了数据的私密性和授权过程的可靠性。同时,无需维护专门的权限控制表等,简化了隐私数据的权限管理。
图6是根据本申请实施例提供的一种区块链的隐私数据处理方法的流程图。本申请实施例适用于基于区块链进行隐私数据处理的情况,尤其适用于在可信计算环境下进行隐私数据授权处理,以及将处理结果存储于区块链网络中的情况。可选的,该方法可以由基于区块链的隐私数据处理装置来执行,该装置可以采用软件和/或硬件的方式实现,并可集成于数据使用方所属设备中。如图6所示,本实施例提供的基于区块链的隐私数据处理方法可以包括:
S601,从区块链网络中获取计算所需的目标待授权数据和目标待授权数据的目标数据使用凭证。
S602,向配置有可信计算环境的可信计算设备发送包括目标待授权数据和目标数据使用凭证的数据计算请求,以请求可信计算设备在依据目标待授权数据和目标数据使用凭证验证数据使用方具有使用目标待授权数据权限下,响应数据计算请求,以获得明文计算结果。
可选的,数据计算请求中可以包括计算所需的目标待授权数据和对应的目标数据使用凭证,还可以包括指定的密钥版本号,计算要求或计算方式等。此外,数据计算请求中还可以包括数据使用方的签名(如采用区块链账户私钥进行的签名)等。
具体的,数据使用方在具有数据计算需求时,可以从区块链网络中获取所需的目标待授权数据和对应的目标数据使用凭证;之后,可以选择具有相关计算功能且配置有可信计算环境的可信计算设备,然后向该可信计算设备发送数据计算请求。可选的,配置有可信计算环境的可信计算设备中可具备至少一种数据计算功能,数据使用方可通过与可信计算设备进行交互,查看可信计算设备所具有的计算功能。
可信计算设备获取数据使用方发送的数据计算请求,在可信计算环境中,依据目标待授权数据和目标待授权数据的目标数据使用凭证,验证数据使用方对目标待授权数据的使用权限;并在验证数据使用方具有目标待授权数据的使用权限时,在可信计算环境中,响应数据计算请求,并获得明文计算结果,向数据使用方反馈明文计算结果。
S603,接收可信计算设备反馈的明文计算结果。
为了避免传输过程中计算结果被泄露,可选的,可信计算设备在可信计算环境中,根据数据使用方指定版本的衍生密钥、明文计算结果的数据散列值、以及数据使用方的区块链账户地址,生成第三对称密钥;在可信计算环境中,采用第三对称密钥对明文计算结果进行加密,得到加密计算结果;向数据使用方反馈加密计算结果。进而数据使用方接收可信计算设备反馈的加密计算结果,基于加密计算结果,获得明文计算结果。具体的,数据使用方获得加密计算结果之后,若想查看可再次与可信计算设备交互,可信计算设备对加密计算结果进行解密,得到明文计算结果,之后可采用可信计算设备指定的加密方式对明文计算结果进行加密,并反馈;进而数据使用方可获得明文计算结果。例如,可信计算设备采用数据使用方的区块链账户私钥对明文计算结果进行加密,之后向数据使用方反馈加密的明文计算结果,以便数据使用方采用区块链账户公钥对加密的明文计算结果进行解密,得到明文计算结果。
需要说明的是,本实施例基于可信计算设备采用第三对称密钥对明文计算结果进行加密的方式,不仅可避免传输过程中计算结果被泄露,而且可保证计算结果在数据使用方本地不被泄露(若数据使用方获得计算结果后不立即进行查看)。同时,增加了方案的灵活度。
可选的,数据使用方在具有明文数据读取、查询以及使用等需求时,还可以通过与可信计算设备交互获得明文数据,而后进行明文数据读取、查询以及使用等。例如,数据使用方从区块链网络中获取新授权数据;向配置有可信计算环境的可信计算设备发送包括已授权数据的数据读取请求,以请求可信计算设备采用第二对称密钥对已授权数据进行解密,以获得明文数据;接收可信计算设备反馈的明文数据。具体的,可信计算设备可以从已授权数据中获取数据使用方的区块链账户地址、密钥版本号和数据散列值;并根据数据使用方的区块链账户地址、密钥版本号和数据散列值生成第二对称密钥,采用第二对称密钥对已授权数据中的新加密数据进行解密,得到明文数据,并向数据使用方反馈明文数据;进而数据使用方可接收可信计算设备反馈的明文数据。本实施例,数据使用方(如监管机构)在想要查看数据拥有方的隐私数据时,可直接与可信计算设备交互,可信计算设备可直接基于已授权数据获取明文数据,无需再次请求数据拥有方,或者查询数据拥有方的权限控制表等,简化了隐私数据的权限管理。
本申请实施例的技术方案,数据使用方在具有数据计算需求时,可向可信计算设备发送数据计算请求,可信计算设备基于可信计算环境,通过根据目标授权数据和目标数据使用凭证对数据使用方的使用权限进行验证,并在验证通过情况下,响应数据计算请求,以获得明文计算结果,并向数据使用方反馈明文计算结果。本申请通过可信计算环境保证了隐私数据的安全,同时实现了隐私数据的计算需求。
图7是根据本申请实施例提供的一种区块链的隐私数据处理装置的结构示意图。该装置可实现本申请实施例所述的区块链的隐私数据处理方法。该装置可集成于配置有可信计算环境的可信计算设备中。该区块链的隐私数据处理装置700具体包括:
授权请求获取模块701,用于获取数据拥有方发送的数据授权请求;其中,数据授权请求包括待授权数据和数据使用方的区块链账户地址,待授权数据至少包括加密数据;
授权处理模块702,用于在可信计算环境中,根据数据使用方的区块链账户地址,对待授权数据中加密数据进行授权处理,得到已授权数据或待授权数据的数据使用凭证;
事务请求发送模块703,用于向区块链网络发送包括已授权数据或待授权数据的数据使用凭证的上链事务请求,以进行上链存储。
本申请实施例的技术方案,可信计算设备获取数据拥有方发送的包括数据使用方的区块链账户地址和至少包括加密数据的待授权数据,在可信计算环境中根据数据使用方的区块链账户地址,对待授权数据中加密数据进行授权处理后,向区块链网络发送包括授权处理结果(已授权数据或待授权数据的数据使用凭证)的上链事务请求进行上链存储,以便数据使用方基于已授权数据获得明文数据,或基于待授权数据的数据使用凭证获得明文计算结果,解决了目前对于隐私数据访问权限管理方式管理复杂度高等问题,实现了数据拥有方对数据的控制力。基于可信计算环境进行授权处理,避免了授权处理过程中数据被公开,保证了数据的私密性和授权过程的可靠性。同时,无需维护专门的权限控制表等,简化了隐私数据的权限管理。此外,将授权处理结果上链存储,还可满足隐私数据的计算在区块链网络中的上链需求。
示例性的,授权处理模块702包括:
第一密钥生成单元,用于根据目标衍生密钥、数据拥有方的区块链账户地址和待授权数据中明文数据的数据散列值,生成第一对称密钥;
明文数据确定单元,用于采用第一对称密钥,对加密数据进行解密,得到明文数据;
授权处理单元,用于根据权限类型和数据使用方的区块链账户地址,对明文数据进行授权处理,得到已授权数据或待授权数据的数据使用凭证。
示例性的,授权处理单元具体用于:
若权限类型为可读使用权,则根据目标衍生密钥、数据散列值、以及数据使用方的区块链账户地址,生成第二对称密钥;
采用第二对称密钥对明文数据进行加密,得到新加密数据;
基于新加密数据和数据散列值,生成已授权数据。
示例性的,授权处理单元还具体用于:
若权限类型为隐藏使用权,则根据目标衍生密钥、数据散列值、数据使用方的区块链账户地址、以及数据拥有方的区块链账户地址,生成待授权数据的数据使用凭证。
示例性的,上述装置还可以包括:
目标密钥确定单元,用于根据待授权数据中密钥版本号,获取对应的衍生密钥,并将对应的衍生密钥作为目标衍生密钥。
示例性的,上述装置还可以包括:
计算请求获取模块,用于获取数据使用方发送的数据计算请求;数据计算请求中包括计算所需的目标待授权数据和目标待授权数据的目标数据使用凭证;
权限验证模块,用于在可信计算环境中,依据目标待授权数据和目标数据使用凭证,验证数据使用方对目标待授权数据的使用权限;
计算结果获得模块,用于若数据使用方具有目标待授权数据中加密数据的使用权限,则在可信计算环境中,响应数据计算请求,并获得明文计算结果;
计算结果反馈模块,用于向数据使用方反馈明文计算结果。
示例性的,计算结果反馈模块具体用于:
在可信计算环境中,根据数据使用方指定版本的衍生密钥、明文计算结果的数据散列值、以及数据使用方的区块链账户地址,生成第三对称密钥;
在可信计算环境中,采用第三对称密钥对明文计算结果进行加密,得到加密计算结果;
向数据使用方反馈加密计算结果,以供数据使用方基于加密计算结果,获得明文计算结果。
示例性的,授权处理模块702具体用于:
从数据授权请求中获取数据拥有方的签名,并采用数据拥有方的账户密钥进行验证;
如果验证通过,则根据数据使用方的区块链账户地址,对加密数据进行授权处理。
示例性的,上述装置还可以包括:
更新请求获取模块,用于获取中心设备发送的包括最新版本衍生密钥的衍生密钥更新请求;
密钥更新模块,用于在可信计算环境中,根据最新版本衍生密钥,进行衍生密钥更新操作。
示例性的,上述装置还可以包括:
加密请求获取模块,用于获取数据拥有方发送的包括明文数据的加密处理请求;
授权数据发送模块,用于在可信计算环境中,对明文数据进行处理,得到加密数据,并向数据拥有方反馈至少包括加密数据的待授权数据。
图8是根据本申请实施例提供的一种区块链的隐私数据处理装置的结构示意图。该装置可实现本申请实施例所述的区块链的隐私数据处理方法。该装置可集成于数据拥有方所属设备中。该区块链的隐私数据处理装置800具体包括:
授权请求发送模块801,用于在具有数据授权需求时,向配置有可信计算环境的可信计算设备发送数据授权请求,数据授权请求包括待授权数据和数据使用方的区块链账户地址,待授权数据至少包括加密数据,以请求可信计算设备根据数据使用方的区块链账户地址,执行对待授权数据中加密数据的授权处理操作,并向区块链网络发送包括授权处理得到的已授权数据或待授权数据的数据使用凭证的上链事务请求。
本申请实施例的技术方案,数据拥有方具有数据授权需求时,向配置有可信计算环境的可信计算设备发送数据授权请求;可信计算设备获取数据拥有方发送的包括数据使用方的区块链账户地址和至少包括加密数据的待授权数据,在可信计算环境中根据数据使用方的区块链账户地址,对待授权数据中加密数据进行授权处理后,向区块链网络发送包括授权处理结果(已授权数据或待授权数据的数据使用凭证)的上链事务请求进行上链存储,以便数据使用方基于已授权数据获得明文数据,或基于待授权数据的数据使用凭证获得明文计算结果,解决了目前对于隐私数据访问权限管理方式管理复杂度高等问题,实现了数据拥有方对数据的控制力。基于可信计算环境进行授权处理,避免了授权处理过程中数据被公开,保证了数据的私密性和授权过程的可靠性。同时,无需维护专门的权限控制表等,简化了隐私数据的权限管理。
示例性的,上述装置还可以包括:
加密请求发送模块,用于向可信计算设备发送包括明文数据的加密处理请求,以请求可信计算设备在可信计算环境中,对明文数据进行处理,以得到至少包括加密数据的待授权数据;
授权数据获取模块,用于接收可信计算设备反馈的待授权数据。
图9是根据本申请实施例提供的一种区块链的隐私数据处理装置的结构示意图。该装置可实现本申请实施例所述的区块链的隐私数据处理方法。该装置可集成于数据使用方所属设备中。该区块链的隐私数据处理装置900具体包括:
数据获取模块901,用于从区块链网络中获取计算所需的目标待授权数据和目标待授权数据的目标数据使用凭证;
计算请求发送模块902,用于向配置有可信计算环境的可信计算设备发送包括目标待授权数据和目标数据使用凭证的数据计算请求,以请求可信计算设备在依据目标待授权数据和目标数据使用凭证验证数据使用方具有使用目标授权数据权限下,响应数据计算请求,以获得明文计算结果;
计算结果接收模块903,用于接收可信计算设备反馈的明文计算结果。
本申请实施例的技术方案,数据使用方在具有数据计算需求时,可向可信计算设备发送数据计算请求,可信计算设备基于可信计算环境,通过根据目标待授权数据和目标数据使用凭证对数据使用方的使用权限进行验证,并在验证通过情况下,响应数据计算请求,以获得明文计算结果,并向数据使用方反馈明文计算结果。本申请通过可信计算环境保证了隐私数据的安全,同时实现了隐私数据的计算需求。
示例性的,计算结果接收模块903具体用于:
接收可信计算设备反馈的加密计算结果,其中,加密计算结果是可信计算设备采用第三对称密钥对明文计算结果进行加密得到;
基于加密计算结果,获得明文计算结果。
示例性的,上述装置还可以包括:
新授权数据获取模块,用于从区块链网络中获取已授权数据;
读取请求发送模块,用于向配置有可信计算环境的可信计算设备发送包括已授权数据的数据读取请求,以请求可信计算设备采用第二对称密钥对已授权数据进行解密,以获得明文数据;
明文数据接收模块,用于接收可信计算设备反馈的明文数据。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图10所示,是根据本申请实施例的区块链的隐私数据处理的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图10所示,该电子设备包括:一个或多个处理器1001、存储器1002,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图10中以一个处理器1001为例。
存储器1002即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的区块链的隐私数据处理的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的区块链的隐私数据处理的方法。
存储器1002作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的区块链的隐私数据处理的方法对应的程序指令/模块(例如,附图7所示的授权请求获取模块701、授权处理模块702和事务请求发送模块703;或者,附图8所示的授权请求发送模块801;或者附图9所示的数据获取模块901、计算请求发送模块902和计算结果接收模块903)。处理器1001通过运行存储在存储器1002中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的区块链的隐私数据处理的方法。
存储器1002可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据区块链的隐私数据处理的电子设备的使用所创建的数据等。此外,存储器1002可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器1002可选包括相对于处理器1001远程设置的存储器,这些远程存储器可以通过网络连接至区块链的隐私数据处理方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、区块链网络、局域网、移动通信网及其组合。
区块链的隐私数据处理的方法的电子设备还可以包括:输入装置1003和输出装置1004。处理器1001、存储器1002、输入装置1003和输出装置1004可以通过总线或者其他方式连接,图10中以通过总线连接为例。
输入装置1003可接收输入的数字或字符信息,以及产生与区块链的隐私数据处理方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置1004可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
根据本申请实施例的技术方案,可信计算设备获取数据拥有方发送的包括数据使用方的区块链账户地址和至少包括加密数据的待授权数据,在可信计算环境中根据数据使用方的区块链账户地址,对待授权数据中加密数据进行授权处理后,向区块链网络发送包括授权处理结果(已授权数据或待授权数据的数据使用凭证)的上链事务请求进行上链存储,以便数据使用方基于已授权数据获得明文数据,或基于待授权数据的数据使用凭证获得明文计算结果,解决了目前对于隐私数据访问权限管理方式管理复杂度高等问题,实现了数据拥有方对数据的控制力。基于可信计算环境进行授权处理,避免了授权处理过程中数据被公开,保证了数据的私密性和授权过程的可靠性。同时,无需维护专门的权限控制表等,简化了隐私数据的权限管理。此外,将授权处理结果上链存储,还可满足隐私数据的计算在区块链网络中的上链需求。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (32)

1.一种区块链的隐私数据处理方法,由配置有可信计算环境的可信计算设备执行,所述方法包括:
获取数据拥有方发送的数据授权请求;其中,所述数据授权请求包括待授权数据和数据使用方的区块链账户地址,所述待授权数据至少包括加密数据;
在可信计算环境中,根据目标衍生密钥、所述数据拥有方的区块链账户地址和所述待授权数据中明文数据的数据散列值,生成第一对称密钥,采用所述第一对称密钥对所述待授权数据中加密数据进行解密,得到明文数据,并根据所述数据使用方的区块链账户地址,对所述明文数据进行授权处理,得到已授权数据或所述待授权数据的数据使用凭证;
向区块链网络发送包括已授权数据或所述待授权数据的数据使用凭证的上链事务请求,以进行上链存储。
2.根据权利要求1所述的方法,其中,根据所述数据使用方的区块链账户地址,对所述明文数据进行授权处理,得到已授权数据或所述待授权数据的数据使用凭证,包括:
根据权限类型和所述数据使用方的区块链账户地址,对所述明文数据进行授权处理,得到已授权数据或所述待授权数据的数据使用凭证。
3.根据权利要求2所述的方法,其中,根据所述权限类型和所述数据使用方的区块链账户地址,对所述明文数据进行授权处理,得到已授权数据,包括:
若所述权限类型为可读使用权,则根据所述目标衍生密钥、所述数据散列值、以及所述数据使用方的区块链账户地址,生成第二对称密钥;
采用所述第二对称密钥对所述明文数据进行加密,得到新加密数据;
基于所述新加密数据和所述数据散列值,生成已授权数据。
4.根据权利要求2所述的方法,其中,根据所述权限类型和所述数据使用方的区块链账户地址,对所述明文数据进行授权处理,得到所述待授权数据的数据使用凭证,包括:
若所述权限类型为隐藏使用权,则根据所述目标衍生密钥、所述数据散列值、所述数据使用方的区块链账户地址、以及所述数据拥有方的区块链账户地址,生成所述待授权数据的数据使用凭证。
5.根据权利要求1所述的方法,其中,根据目标衍生密钥、所述数据拥有方的区块链账户地址和所述待授权数据中明文数据的数据散列值,生成第一对称密钥之前,包括:
根据所述待授权数据中密钥版本号,获取对应的衍生密钥,并将所述对应的衍生密钥作为目标衍生密钥。
6.根据权利要求1或4所述的方法,还包括:
获取所述数据使用方发送的数据计算请求;所述数据计算请求中包括计算所需的目标待授权数据和所述目标待授权数据的目标数据使用凭证;
在可信计算环境中,依据所述目标待授权数据和所述目标数据使用凭证,验证所述数据使用方对所述目标待授权数据的使用权限;
若所述数据使用方具有所述目标待授权数据的使用权限,则在可信计算环境中,响应所述数据计算请求,并获得明文计算结果;
向所述数据使用方反馈所述明文计算结果。
7.根据权利要求6所述的方法,其中,向所述数据使用方反馈所述明文计算结果,包括:
在可信计算环境中,根据所述数据使用方指定版本的衍生密钥、所述明文计算结果的数据散列值、以及所述数据使用方的区块链账户地址,生成第三对称密钥;
在可信计算环境中,采用所述第三对称密钥对所述明文计算结果进行加密,得到加密计算结果;
向所述数据使用方反馈加密计算结果,以供所述数据使用方基于所述加密计算结果,获得明文计算结果。
8.根据权利要求1所述的方法,其中,根据所述数据使用方的区块链账户地址,对所述明文数据进行授权处理,包括:
从所述数据授权请求中获取数据拥有方的签名,并采用所述数据拥有方的账户密钥进行验证;
如果验证通过,则根据所述数据使用方的区块链账户地址,对所述明文数据进行授权处理。
9.根据权利要求2所述的方法,还包括:
获取中心设备发送的包括最新版本衍生密钥的衍生密钥更新请求;
在可信计算环境中,根据所述最新版本衍生密钥,进行衍生密钥更新操作。
10.根据权利要求1所述的方法,其中,获取数据拥有方发送的数据授权请求之前,还包括:
获取所述数据拥有方发送的包括明文数据的加密处理请求;
在可信计算环境中,对所述明文数据进行处理,得到加密数据,并向所述数据拥有方反馈至少包括加密数据的待授权数据。
11.一种区块链的隐私数据处理方法,由数据拥有方执行,所述方法包括:
在具有数据授权需求时,向配置有可信计算环境的可信计算设备发送数据授权请求,所述数据授权请求包括待授权数据和数据使用方的区块链账户地址,所述待授权数据至少包括加密数据,以请求所述可信计算设备根据目标衍生密钥、所述数据拥有方的区块链账户地址和所述待授权数据中明文数据的数据散列值,生成第一对称密钥,采用所述第一对称密钥对所述待授权数据中加密数据进行解密,得到明文数据,并根据所述数据使用方的区块链账户地址,执行对所述明文数据的授权处理操作,并向区块链网络发送包括授权处理得到的已授权数据或所述待授权数据的数据使用凭证的上链事务请求。
12.根据权利要求11所述的方法,其中,向配置有可信计算环境的可信计算设备发送数据授权请求之前,还包括:
向所述可信计算设备发送包括明文数据的加密处理请求,以请求所述可信计算设备在可信计算环境中,对所述明文数据进行处理,以得到至少包括加密数据的待授权数据;
接收所述可信计算设备反馈的所述待授权数据。
13.一种区块链的隐私数据处理方法,由数据使用方执行,所述方法包括:
从区块链网络中获取计算所需的目标待授权数据和所述目标待授权数据的目标数据使用凭证;所述目标待授权数据和所述目标待授权数据的目标数据使用凭证由配置有可信计算环境的可信计算设备根据目标衍生密钥、数据拥有方的区块链账户地址和所述待授权数据中明文数据的数据散列值,生成第一对称密钥,采用所述第一对称密钥对所述目标待授权数据中加密数据进行解密,得到明文数据,并根据数据使用方的区块链账户地址,执行对所述明文数据的授权处理操作得到;
向配置有可信计算环境的可信计算设备发送包括所述目标待授权数据和所述目标数据使用凭证的数据计算请求,以请求所述可信计算设备在依据所述目标待授权数据和所述目标数据使用凭证验证所述数据使用方具有使用所述目标待授权数据权限下,响应所述数据计算请求,以获得明文计算结果;
接收所述可信计算设备反馈的所述明文计算结果。
14.根据权利要求13所述的方法,其中,接收所述可信计算设备反馈的所述明文计算结果,包括:
接收所述可信计算设备反馈的加密计算结果,其中,所述加密计算结果是所述可信计算设备采用第三对称密钥对所述明文计算结果进行加密得到;
基于所述加密计算结果,获得明文计算结果。
15.根据权利要求13所述的方法,还包括:
从区块链网络中获取已授权数据;
向配置有可信计算环境的可信计算设备发送包括所述已授权数据的数据读取请求,以请求所述可信计算设备采用第二对称密钥对所述已授权数据进行解密,以获得明文数据;
接收所述可信计算设备反馈的所述明文数据。
16.一种区块链的隐私数据处理装置,配置在配置有可信计算环境的可信计算设备中,所述装置包括:
授权请求获取模块,用于获取数据拥有方发送的数据授权请求;其中,所述数据授权请求包括待授权数据和数据使用方的区块链账户地址,所述待授权数据至少包括加密数据;
授权处理模块,用于在可信计算环境中,根据目标衍生密钥、所述数据拥有方的区块链账户地址和所述待授权数据中明文数据的数据散列值,生成第一对称密钥,采用所述第一对称密钥对所述待授权数据中加密数据进行解密,得到明文数据,并根据所述数据使用方的区块链账户地址,对所述明文数据进行授权处理,得到已授权数据或所述待授权数据的数据使用凭证;
事务请求发送模块,用于向区块链网络发送包括已授权数据或所述待授权数据的数据使用凭证的上链事务请求,以进行上链存储。
17.根据权利要求16所述的装置,其中,所述授权处理模块包括:
授权处理单元,用于根据权限类型和所述数据使用方的区块链账户地址,对所述明文数据进行授权处理,得到已授权数据或所述待授权数据的数据使用凭证。
18.根据权利要求17所述的装置,其中,所述授权处理单元具体用于:
若所述权限类型为可读使用权,则根据所述目标衍生密钥、所述数据散列值、以及所述数据使用方的区块链账户地址,生成第二对称密钥;
采用所述第二对称密钥对所述明文数据进行加密,得到新加密数据;
基于所述新加密数据和所述数据散列值,生成已授权数据。
19.根据权利要求17所述的装置,其中,所述授权处理单元具体用于:
若所述权限类型为隐藏使用权,则根据所述目标衍生密钥、所述数据散列值、所述数据使用方的区块链账户地址、以及所述数据拥有方的区块链账户地址,生成所述待授权数据的数据使用凭证。
20.根据权利要求16所述的装置,还包括:
目标密钥确定单元,用于根据所述待授权数据中密钥版本号,获取对应的衍生密钥,并将所述对应的衍生密钥作为目标衍生密钥。
21.根据权利要求16或19所述的装置,还包括:
计算请求获取模块,用于获取所述数据使用方发送的数据计算请求;所述数据计算请求中包括计算所需的目标待授权数据和所述目标待授权数据的目标数据使用凭证;
权限验证模块,用于在可信计算环境中,依据所述目标待授权数据和所述目标数据使用凭证,验证所述数据使用方对所述目标待授权数据的使用权限;
计算结果获得模块,用于若所述数据使用方具有所述目标待授权数据的使用权限,则在可信计算环境中,响应所述数据计算请求,并获得明文计算结果;
计算结果反馈模块,用于向所述数据使用方反馈所述明文计算结果。
22.根据权利要求21所述的装置,其中,所述计算结果反馈模块具体用于:
在可信计算环境中,根据所述数据使用方指定版本的衍生密钥、所述明文计算结果的数据散列值、以及所述数据使用方的区块链账户地址,生成第三对称密钥;
在可信计算环境中,采用所述第三对称密钥对所述明文计算结果进行加密,得到加密计算结果;
向所述数据使用方反馈加密计算结果,以供所述数据使用方基于所述加密计算结果,获得明文计算结果。
23.根据权利要求16所述的装置,其中,所述授权处理模块具体用于:
从所述数据授权请求中获取数据拥有方的签名,并采用所述数据拥有方的账户密钥进行验证;
如果验证通过,则根据所述数据使用方的区块链账户地址,对所述明文数据进行授权处理。
24.根据权利要求17所述的装置,还包括:
更新请求获取模块,用于获取中心设备发送的包括最新版本衍生密钥的衍生密钥更新请求;
密钥更新模块,用于在可信计算环境中,根据所述最新版本衍生密钥,进行衍生密钥更新操作。
25.根据权利要求16所述的装置,还包括:
加密请求获取模块,用于获取所述数据拥有方发送的包括明文数据的加密处理请求;
授权数据发送模块,用于在可信计算环境中,对所述明文数据进行处理,得到加密数据,并向所述数据拥有方反馈至少包括加密数据的待授权数据。
26.一种区块链的隐私数据处理装置,配置在数据拥有方所属设备中,所述装置包括:
授权请求发送模块,用于在具有数据授权需求时,向配置有可信计算环境的可信计算设备发送数据授权请求,所述数据授权请求包括待授权数据和数据使用方的区块链账户地址,所述待授权数据至少包括加密数据,以请求所述可信计算设备根据目标衍生密钥、所述数据拥有方的区块链账户地址和所述待授权数据中明文数据的数据散列值,生成第一对称密钥,采用所述第一对称密钥对所述待授权数据中加密数据进行解密,得到明文数据,并根据所述数据使用方的区块链账户地址,执行对所述明文数据的授权处理操作,并向区块链网络发送包括授权处理得到的已授权数据或所述待授权数据的数据使用凭证的上链事务请求。
27.根据权利要求26所述的装置,还包括:
加密请求发送模块,用于向所述可信计算设备发送包括明文数据的加密处理请求,以请求所述可信计算设备在可信计算环境中,对所述明文数据进行处理,以得到至少包括加密数据的待授权数据;
授权数据获取模块,用于接收所述可信计算设备反馈的所述待授权数据。
28.一种区块链的隐私数据处理装置,配置在数据使用方所属设备中,所述装置包括:
数据获取模块,用于从区块链网络中获取计算所需的目标待授权数据和所述目标待授权数据的目标数据使用凭证;所述目标待授权数据和所述目标待授权数据的目标数据使用凭证由配置有可信计算环境的可信计算设备根据目标衍生密钥、数据拥有方的区块链账户地址和所述待授权数据中明文数据的数据散列值,生成第一对称密钥,采用所述第一对称密钥对所述目标待授权数据中加密数据进行解密,得到明文数据,并根据数据使用方的区块链账户地址,执行对所述明文数据的授权处理操作得到;
计算请求发送模块,用于向配置有可信计算环境的可信计算设备发送包括所述目标待授权数据和所述目标数据使用凭证的数据计算请求,以请求所述可信计算设备在依据所述目标待授权数据和所述目标数据使用凭证验证所述数据使用方具有使用所述目标待授权数据权限下,响应所述数据计算请求,以获得明文计算结果;
计算结果接收模块,用于接收所述可信计算设备反馈的所述明文计算结果。
29.根据权利要求28所述的装置,其中,所述计算结果接收模块具体用于:
接收所述可信计算设备反馈的加密计算结果,其中,所述加密计算结果是所述可信计算设备采用第三对称密钥对所述明文计算结果进行加密得到;
基于所述加密计算结果,获得明文计算结果。
30.根据权利要求28所述的装置,还包括:
新授权数据获取模块,用于从区块链网络中获取已授权数据;
读取请求发送模块,用于向配置有可信计算环境的可信计算设备发送包括所述已授权数据的数据读取请求,以请求所述可信计算设备采用第二对称密钥对所述已授权数据进行解密,以获得明文数据;
明文数据接收模块,用于接收所述可信计算设备反馈的所述明文数据。
31.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-10中任一项所述的区块链的隐私数据处理方法,或者执行权利要求11-12中任一项所述的区块链的隐私数据处理方法,或者执行权利要求13-15中任一所述的区块链的隐私数据处理方法。
32.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行权利要求1-10中任一项所述的区块链的隐私数据处理方法,或者执行权利要求11-12中任一项所述的区块链的隐私数据处理方法,或者执行权利要求13-15中任一所述的区块链的隐私数据处理方法。
CN202010708863.XA 2020-07-22 2020-07-22 区块链的隐私数据处理方法、装置、设备以及存储介质 Active CN111737366B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010708863.XA CN111737366B (zh) 2020-07-22 2020-07-22 区块链的隐私数据处理方法、装置、设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010708863.XA CN111737366B (zh) 2020-07-22 2020-07-22 区块链的隐私数据处理方法、装置、设备以及存储介质

Publications (2)

Publication Number Publication Date
CN111737366A CN111737366A (zh) 2020-10-02
CN111737366B true CN111737366B (zh) 2021-01-12

Family

ID=72657201

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010708863.XA Active CN111737366B (zh) 2020-07-22 2020-07-22 区块链的隐私数据处理方法、装置、设备以及存储介质

Country Status (1)

Country Link
CN (1) CN111737366B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112149080B (zh) * 2020-11-24 2021-03-12 国网江苏省电力有限公司苏州供电分公司 一种授权信息验证系统和方法
CN112256800A (zh) * 2020-12-21 2021-01-22 支付宝(杭州)信息技术有限公司 一种基于向量承诺的联盟链数据处理方法、装置以及设备
CN112668018B (zh) * 2020-12-24 2023-08-25 山大地纬软件股份有限公司 一种基于区块链的政府数据协议授权共享的方法与装置
CN112883407B (zh) * 2021-04-04 2022-05-24 湖南科技学院 一种基于车联网的隐私数据全生命周期保护方法及系统
CN113268742B (zh) * 2021-04-07 2022-05-24 支付宝(杭州)信息技术有限公司 数据授权方法、装置及电子设备
CN113326327B (zh) * 2021-06-15 2022-04-19 支付宝(杭州)信息技术有限公司 一种基于区块链的凭证查询方法、系统及装置
CN113836576B (zh) * 2021-08-25 2023-07-07 安徽高山科技有限公司 一种用于打车软件的用户隐私数据保护方法
CN113569270A (zh) * 2021-09-24 2021-10-29 中关村科学城城市大脑股份有限公司 一种基于区块链的数据使用权行使方法及系统
CN114143055B (zh) * 2021-11-24 2023-12-01 国网江苏省电力有限公司营销服务中心 一种基于区块链的数据分发方法和可信溯源方法
CN114944949B (zh) * 2022-05-17 2023-03-24 清华大学 一种基于区块链的数据授权方法、系统、装置及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200074111A1 (en) * 2018-08-30 2020-03-05 Www.Trustscience.Com Inc. Data safe
CN110138733B (zh) * 2019-04-03 2021-09-21 华南理工大学 基于区块链的对象存储系统可信存证与访问权限控制方法
CN110348237A (zh) * 2019-05-24 2019-10-18 深圳壹账通智能科技有限公司 基于区块链的数据管理方法及装置、存储介质、电子设备
CN110490741B (zh) * 2019-08-13 2023-03-24 山大地纬软件股份有限公司 一种区块链中数据有效性及可控性管理的装置与方法
CN111352996B (zh) * 2020-02-26 2023-09-19 百度在线网络技术(北京)有限公司 基于区块链网络的数据共享方法、装置、设备及介质

Also Published As

Publication number Publication date
CN111737366A (zh) 2020-10-02

Similar Documents

Publication Publication Date Title
CN111737366B (zh) 区块链的隐私数据处理方法、装置、设备以及存储介质
CN108632284B (zh) 基于区块链的用户数据授权方法、介质、装置和计算设备
US11665000B2 (en) Method and apparatus for processing privacy data of block chain, device, and storage medium
CN108235806B (zh) 安全访问区块链的方法、装置、系统、存储介质及电子设备
US10484185B2 (en) Method and system for distributing attestation key and certificate in trusted computing
CN111143890B (zh) 一种基于区块链的计算处理方法、装置、设备和介质
CN112422532B (zh) 业务通信方法、系统、装置及电子设备
CN111310216B (zh) 区块链数据处理方法、装置、电子设备和介质
CN110492990B (zh) 区块链场景下的私钥管理方法、装置及系统
JP7069286B2 (ja) プライバシーデータの処理方法、プライバシーデータの処理装置、機器及び媒体
CN109587101B (zh) 一种数字证书管理方法、装置及存储介质
US11546321B2 (en) Non-custodial tool for building decentralized computer applications
US20120254622A1 (en) Secure Access to Electronic Devices
US10601590B1 (en) Secure secrets in hardware security module for use by protected function in trusted execution environment
CN111538977B (zh) 云api密钥的管理、云平台的访问方法、装置及服务器
CN111464297B (zh) 基于区块链的事务处理方法、装置、电子设备和介质
CN108199847B (zh) 数字安全处理方法、计算机设备及存储介质
WO2018112482A1 (en) Method and system for distributing attestation key and certificate in trusted computing
EP4096147A1 (en) Secure enclave implementation of proxied cryptographic keys
CN109379345B (zh) 敏感信息传输方法及系统
CN112966287A (zh) 获取用户数据的方法、系统、设备和计算机可读介质
JP2014235753A (ja) データを入力する方法と装置
CN111400743B (zh) 基于区块链网络的事务处理方法、装置、电子设备和介质
CN112261015A (zh) 基于区块链的信息共享方法、平台、系统以及电子设备
CN115600215A (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