一种基于区块链的用户隐私数据提供方法及装置
技术领域
本文件涉及计算机领域,尤其涉及一种基于区块链的用户隐私数据提供方法及装置。
背景技术
目前,随着互联网数据服务技术的快速发展,以及在数字化凭证日趋完善的当下,数据消费方是否可以快速方便的查询目标用户在指定行业下所产生的个人数据,例如,用人单位需要快速查询应聘者的用户教育数据(例如,教育经历),这些数据提供服务也成为一个值得关注的服务场景。
其中,以指定行业为教育行业为例,用户教育数据能够在一定程度上反映用户的业务能力,但用户教育数据涉及用户的相关隐私,属于用户隐私数据。然而,在现有的用户教育数据等隐私数据的提供方案中,存在用户隐私数据的保密性差、安全性低的问题,可能导致用户隐私信数据被泄露的风险,这势必将给用户带来不必要的麻烦。
由此可知,需要提供一种保护用户隐私、安全性高的隐私数据提供的技术方案。
发明内容
本说明书一个或多个实施例的目的是提供一种基于区块链的用户隐私数据提供方法。该基于区块链的用户隐私数据提供方法包括:
接收数据消费方发送的数据消费请求;其中,数据消费请求是针对目标用户的用户隐私数据的消费请求,用户隐私数据包括预先加密并上传至可信执行环境TEE中的个人数据,所述TEE构建于区块链的节点中。通过区块链中部署的智能合约在可信执行环境TEE中,基于数据消费请求对应的请求体数据,对数据消费请求执行预设校验,得到相应的预设校验结果。若预设校验结果满足校验通过条件,则获取针对数据消费请求所得到的目标隐私数据,并向数据消费方发送加密后的所述目标隐私数据;其中,目标隐私数据是在可信执行环境TEE中基于区块链中存储的用户隐私数据得到的。
本说明书一个或多个实施例的目的是提供一种基于区块链的用户隐私数据提供装置。该基于区块链的用户隐私数据提供装置包括:
消费请求获取模块,其接收数据消费方发送的数据消费请求;其中,数据消费请求是针对目标用户的用户隐私数据的消费请求,用户隐私数据包括预先加密并上传至可信执行环境TEE中的个人数据,所述TEE构建于区块链的节点中。信息校验模块,其通过区块链中部署的智能合约在可信执行环境TEE中,基于数据消费请求对应的请求体数据,对数据消费请求执行预设校验,得到相应的预设校验结果。数据提供模块,其若预设校验结果满足校验通过条件,则获取针对数据消费请求所得到的目标隐私数据,并向数据消费方发送加密后的所述目标隐私数据;其中,目标隐私数据是在可信执行环境TEE中基于区块链中存储的用户隐私数据得到的。
本说明书一个或多个实施例的目的是提供一种基于区块链的用户隐私数据提供设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器。
所述计算机可执行指令在被执行时使所述处理器接收数据消费方发送的数据消费请求;其中,数据消费请求是针对目标用户的用户隐私数据的消费请求,用户隐私数据包括预先加密并上传至可信执行环境TEE中的个人数据,所述TEE构建于区块链的节点中。通过区块链中部署的智能合约在可信执行环境TEE中,基于数据消费请求对应的请求体数据,对数据消费请求执行预设校验,得到相应的预设校验结果。若预设校验结果满足校验通过条件,则获取针对数据消费请求所得到的目标隐私数据,并向数据消费方发送加密后的所述目标隐私数据;其中,目标隐私数据是在可信执行环境TEE中基于区块链中存储的用户隐私数据得到的。
本说明书一个或多个实施例的目的是提供一种存储介质,用于存储计算机可执行指令。所述可执行指令在被处理器执行时接收数据消费方发送的数据消费请求;其中,数据消费请求是针对目标用户的用户隐私数据的消费请求,用户隐私数据包括预先加密并上传至可信执行环境TEE中的个人数据,所述TEE构建于区块链的节点中。通过区块链中部署的智能合约在可信执行环境TEE中,基于数据消费请求对应的请求体数据,对数据消费请求执行预设校验,得到相应的预设校验结果。若预设校验结果满足校验通过条件,则获取针对数据消费请求所得到的目标隐私数据,并向数据消费方发送加密后的所述目标隐私数据;其中,目标隐私数据是在可信执行环境TEE中基于区块链中存储的用户隐私数据得到的。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图:
图1为本说明书一个或多个实施例提供的基于区块链的用户隐私数据提供系统的应用场景示意图;
图2为本说明书一个或多个实施例提供的基于区块链的用户隐私数据提供方法的第一种流程示意图;
图3为本说明书一个或多个实施例提供的基于区块链的用户隐私数据提供方法的第二种流程示意图;
图4为本说明书一个或多个实施例提供的基于区块链的用户隐私数据提供方法的第三种流程示意图;
图5为本说明书一个或多个实施例提供的基于区块链的用户隐私数据提供方法中涉及的多端交互过程的第一示意图;
图6为本说明书一个或多个实施例提供的基于区块链的用户隐私数据提供方法中涉及的多端交互过程的第二示意图;
图7为本说明书一个或多个实施例提供的基于区块链的用户隐私数据提供装置的第一种模块组成示意图;
图8为本说明书一个或多个实施例提供的基于区块链的用户隐私数据提供装置的第二种模块组成示意图;
图9为本说明书一个或多个实施例提供的基于区块链的用户隐私数据提供设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书一个或多个中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一个或多个一部分实施例,而不是全部的实施例。基于本说明书一个或多个中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。
需要说明的是,在不冲突的情况下,本说明书中的一个或多个实施例以及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本说明书一个或多个实施例。
本说明书一个或多个实施例提供了一种基于区块链的用户隐私数据提供方法及装置,无论是针对用户隐私数据的数据上链阶段,还是针对用户隐私数据的数据消费阶段,借助构建于区块链的节点中的可信执行环境TEE执行相应的数据处理,以及在数据传输过程中以密文数据形式进行传输,将用户隐私数据上传至区块链的可信执行环境TEE中,以及将目标隐私数据返回至数据消费方,来实现对外提供用户隐私数据的消费服务,这样既能够确保数据传输过程中的用户隐私数据的安全性,又能够确保在区块链上进行数据处理的用户隐私数据的安全性,从而实现从全链路上确保用户在指定行业下所产生的用户隐私数据的安全性,进而提高了用户在该指定行业下个人经历相关的用户隐私数据的安全等级。
图1为本说明书一个或多个实施例提供的基于区块链的用户隐私数据提供系统的应用场景示意图,如图1所示,该系统包括:数据持有方、数据消费方、数据提供节点和区块链中至少一个区块链节点,该区块链节点中设置有可信执行环境TEE(Trusted ExecutionEnvironment),即该区块链节点中设置有为数据和代码的执行提供一个更安全的空间的可信硬件;其中,该数据持有方和数据消费方可以是目标用户所使用的智能手机、平板电脑等移动终端,还可以是目标机构所使用的计算机等终端设备,该数据提供节点可以是独立的服务器,也可以是由多个服务器组成的服务器集群,该数据提供节点可以是区块链中任一区块链节点,也可以是区块链节点之外的外部可信节点;其中,考虑到可能存在数据持有方和数据消费方不具有与区块链节点直接对接的能力,因此,优选的,该数据提供节点为与区块链节点进行数据交互的外部可信节点,以对用户隐私数据信息上链和对外提供用户隐私数据的消费服务,这样屏蔽了数据持有方和数据消费方与区块链的复杂交互过程,为数据持有方和数据消费方提供安全、可靠、方便、简化的数据提供服务。
在具体实施时,数据持有方、数据消费方、数据提供节点和区块链中的区块链节点中任一项均可以设置可信执行环境TEE、以及安装可信应用,针对任一设置可信执行环境TEE、以及安装可信应用的终端设备或服务端,可以通过可信应用获取外部传输的数据,并通过可信应用将获取到的数据传递至本地的可信执行环境TEE,还可以通过可信应用向其他终端设备或服务端发送数据。以设置可信执行环境TEE、以及安装可信应用的区块链节点为例,针对用户隐私数据上链的过程,区块链节点通过可信应用接收数据提供节点以密文形式发送的待上链的用户隐私数据,并将该待上链的用户隐私数据传递至本地的可信执行环境TEE,以在该可信执行环境TEE中对用户隐私数据进行上链处理。同样的,针对设置可信执行环境TEE、以及安装可信应用的数据提供节点,也可以通过可信应用接收数据持有方以密文形式发送的待上链的用户隐私数据,并将该待上链的用户隐私数据传递至本地的可信执行环境TEE,以在该可信执行环境TEE中对用户隐私数据进行相应处理,例如,对用户隐私数据进行解密、安全性校验、加密等处理。
基于图1中的基于区块链的用户隐私数据提供系统的应用场景示意图,以数据提供节点为是区块链节点之外的外部可信节点为例,基于区块链的用户隐私数据提供过程具体包括:
数据持有方,向数据提供节点发送目标用户的隐私数据存证请求,其中,该隐私数据存证请求携带有第一加密数据,该第一加密数据包括待上链的用户隐私数据,该用户隐私数据可以包括:目标用户在指定行业下所产生的个人数据,以该指定行业为教育行业为例,数据持有方包括:用户就读的学校、用户参加的培训机构、职业考试权威机构、各省市人力资源和社会保障局,对应的,该用户隐私数据可以包括:用于表征目标用户的教育经历的用户行为数据,例如,目标用户各阶段就读的学校信息、参与的培训课程信息、取得的证书信息、参加各项考试的成绩信息中至少一项。
数据提供节点,接收数据持有方的隐私数据存证请求;其中,该存证请求携带的第一加密数据是利用信封加密方式对明文的用户隐私数据进行加密得到的。
数据提供节点,基于隐私数据存证请求中携带的第一加密数据,将待上链的用户隐私数据传递至可信执行环境TEE;其中,该TEE构建于区块链中的至少一个区块链节点中,该区块链中部署有第一智能合约。
区块链中的至少一个区块链节点,通过区块链中部署的第一智能合约在相应的可信执行环境TEE中,对目标用户的用户隐私数据进行上链处理,以将目标用户的用户隐私数据存储至可信执行环境TEE中。
数据提供节点,在目标用户的用户隐私数据存储至可信执行环境TEE中之后,接收数据消费方发送的数据消费请求;其中,该数据消费请求是针对目标用户的用户隐私数据的消费请求,该用户隐私数据包括预先加密并上传至可信执行环境TEE中的个人数据,该TEE构建于区块链中的至少一个区块链节点中。
数据提供节点,将数据消费请求对应的请求体数据传递至区块链中的可信执行环境TEE;其中,该区块链中还部署有第二智能合约;具体的,数据提供节点可以利用信封加密方式对请求体数据进行加密,将加密后的请求体数据传递至区块链中的可信执行环境TEE,以触发区块链节点返回相应的目标隐私数据。
区块链中的至少一个区块链节点,通过区块链中部署的第二智能合约在相应的可信执行环境TEE中,基于数据消费请求对应的请求体数据,对所述数据消费请求执行预设校验,得到相应的预设校验结果;具体的,考虑到数据提供节点传递至可信执行环境TEE的请求体数据可以是利用信封加密方式加密后的,对应的,区块链节点需要先解密得到明文的请求体数据,再基于该请求体数据对数据消费请求进行相应的校验,以确定是否返回数据消费方所请求的目标隐私数据。
数据提供节点,若预设校验结果满足校验通过条件,则获取针对数据消费方的数据消费请求所得到的目标隐私数据,并向数据消费方发送加密后的所述目标隐私数据;其中,该目标隐私数据是区块链节点在可信执行环境TEE中确定预设校验结果满足校验通过条件、基于区块链中存储的用户隐私数据得到的,对应的,区块链节点向数据提供节点发送加密后的目标隐私数据,以使数据提供节点将目标隐私数据返回至数据消费方。
在上述应用场景中,针对对外提供目标用户的隐私数据消费服务的过程中,无论是针对用户隐私数据的数据上链阶段,还是针对用户隐私数据的数据消费阶段,借助构建于区块链的节点中的可信执行环境TEE执行相应的数据处理,以及在数据传输过程中以密文数据形式进行传输,将用户隐私数据上传至区块链的可信执行环境TEE中,以及将目标隐私数据返回至数据消费方,来实现对外提供用户隐私数据的消费服务,这样既能够确保数据传输过程中的用户隐私数据的安全性,又能够确保在区块链上进行数据处理的用户隐私数据的安全性,从而实现从全链路上确保用户在指定行业下所产生的用户隐私数据的安全性,进而提高了用户在该指定行业下个人经历相关的用户隐私数据的安全等级;并且,通过区块链将目标用户在指定行业下的所有个人数据进行关联整合,这样便于向数据消费方提供用户在任何时间节点下的用户隐私数据,在确保用户隐私数据的安全性的前提下,还提高了用户隐私数据的提供效率。
图2为本说明书一个或多个实施例提供的基于区块链的用户隐私数据提供方法的第一种流程示意图,如图2所示,该方法至少包括以下步骤:
S202,接收数据消费方发送的数据消费请求;其中,该数据消费请求是针对目标用户的用户隐私数据的消费请求,该用户隐私数据包括预先加密并上传至可信执行环境TEE中的个人数据,该TEE构建于区块链的节点中;
其中,以教育行业为例,上述用户隐私数据可以包括:用于表征目标用户的教育经历的用户行为数据;例如,目标用户各阶段就读的学校信息、参与的培训课程信息、培训机构信息、取得的证书信息、参加各项考试的成绩信息中至少一项。
其中,上述区块链可以是公有链,也可以是联盟链,优选地,上述区块链为联盟链,加入该联盟链的成员可以包括:指定行业下的相关用户或机构、数据提供节点,其中,该指定行业下的相关用户或机构可以是数据托管方、数据认证方、数据持有方、数据消费方等,构成一个用户隐私数据上链和消费服务网络;其中,加入联盟链的用户或机构可能具有多个角色,例如,一个机构可以是数据持有方,也可以是数据消费方,还可以是数据认证方或数据托管方。进一步的,为了确保数据的安全性,仅对加入联盟链的用户或机构提供数据上链服务或数据消费服务,其中,针对每个加入联盟链的用户或机构均分配一个唯一性链上账号,该唯一性链上账号用于表征加入联盟链的用户或机构的唯一性身份信息,后续基于各联盟链成员的唯一性链上账号为其提供相应的用户隐私数据的上链服务、或者用户隐私数据的消费服务;另外,上述数据提供节点可以是加入联盟链中的任一数据托管方。
S204,通过区块链中部署的智能合约在可信执行环境TEE中,基于数据消费请求对应的请求体数据,对数据消费请求执行预设校验,得到相应的预设校验结果;其中,该预设校验包括:数据隐私属性校验、数据托管关系校验、数据授权关系校验、消费请求类型校验中至少一项;
在具体实施时,若数据隐私等级低于或等于第一预设隐私等级,则该预设校验包括:数据隐私属性校验、数据托管关系校验;若数据隐私等级高于第一预设隐私等级且低于第二预设隐私等级,则该预设校验包括:数据隐私属性校验、数据托管关系校验和数据授权关系校验;若数据隐私等级高于或等于第二预设隐私等级,则该预设校验包括:数据隐私属性校验、数据托管关系校验、数据授权关系校验和消费请求类型校验。
具体的,针对数据提供节点为外部可信节点的情况,数据提供节点在接收到数据消费方发送的数据消费请求后,将数据消费请求对应的请求体数据传递至区块链中的可信执行环境TEE,以使区块链中至少一个区块链节点通过区块链中部署的智能合约在可信执行环境TEE中,基于该请求体数据,对数据消费请求执行预设校验,得到相应的预设校验结果。
进一步的,为了便于区块链节点快速对数据消费请求进行预设校验,上述数据消费请求对应的请求体数据是基于数据消费请求中携带的原始请求体数据和联盟链中各成员的唯一性链上账号所确定的;具体的,数据提供节点,先根据数据消费请求中携带的原始请求体数据确定目标请求体数据;再将该目标请求体数据传递至区块链中的可信执行环境TEE,以使区块链中至少一个区块链节点通过区块链中部署的智能合约在可信执行环境TEE中,基于目标请求体数据,对数据消费请求执行预设校验,得到相应的预设校验结果;
其中,上述原始请求体数据包括数据消费方的标识信息、目标用户的标识信息、待消费数据的标识信息中至少一项,例如,该目标用户的标识信息可以包括目标用户的学号、身份证、姓名中至少一项;该待消费数据的标识信息可以包括用户隐私数据的生效时间段、所属类别、数据来源信息中至少一项;对应的,上述目标请求数据可以包括数据消费方的唯一性链上账号、待消费数据的数据持有方的唯一性链上账号、数据托管方的唯一性链上账号、待消费数据的标识信息中至少一项;
例如,数据消费方AA需要查询学号为aaaa的学生在XXX大学第一学期的学习成绩,其中,学生可以将其大学期间的教育相关数据授权给数据消费方AA,XXX大学可以将学生数据托管给机构YYY;对应的,上述原始请求体数据包括数据消费方的标识AA、目标用户的学号aaaa、待消费的用户隐私数据的生效时间段为大学第一学期、所属类别为学习成绩、数据来源信息为XXX大学;上述目标请求数据可以包括数据消费方AA的唯一性链上账号、待消费数据的数据持有方XXX大学的唯一性链上账号、数据托管方YYY的唯一性链上账号、目标用户的标识信息、待消费数据的标识信息中至少一项。
具体的,上述预设校验可以包括:数据隐私属性校验、托管关系校验、授权关系校验中至少一项,区块链中部署的智能合约包括预设校验规则,通过该智能合约自动完成针对数据消费请求的预设校验,再根据预设校验结果确定是否向数据消费方返回目标隐私数据。
S206,若预设校验结果满足校验通过条件,则获取针对数据消费请求所得到的目标隐私数据,并向数据消费方发送加密后的目标隐私数据;其中,该目标隐私数据是在可信执行环境TEE中基于区块链中存储的上述用户隐私数据得到的。
其中,上述数据消费请求包括:数据查询请求、数据核验请求、或者数据证明请求;对应的,上述目标隐私数据可以是数据消费方请求查询的用户隐私数据,还可以是数据消费方请求核验的用户隐私数据的真伪结果,也可以是数据消费方请求证明的用户隐私数据的证明信息。
具体的,针对数据提供节点为外部可信节点的情况,区块链中至少一个区块链节点在确定预设校验结果满足校验通过条件后,确定与数据消费方的数据消费请求对应的目标隐私数据,并将加密后的目标隐私数据发送至数据提供节点;数据提供节点接收区块链节点返回的目标隐私数据,并将该目标隐私数据返回至数据消费方。
本说明书一个或多个实施例中,无论是针对用户隐私数据的数据上链阶段,还是针对用户隐私数据的数据消费阶段,借助构建于区块链的节点中的可信执行环境TEE执行相应的数据处理,以及在数据传输过程中以密文数据形式进行传输,将用户隐私数据上传至区块链的可信执行环境TEE中,以及将目标隐私数据返回至数据消费方,来实现对外提供用户隐私数据的消费服务,这样既能够确保数据传输过程中的用户隐私数据的安全性,又能够确保在区块链上进行数据处理的用户隐私数据的安全性,从而实现从全链路上确保用户在指定行业下所产生的用户隐私数据的安全性,进而提高了用户在该指定行业下个人经历相关的用户隐私数据的安全等级。
其中,通过数据提供节点将用户隐私数据传递至构建于区块链的节点中的可信执行环境TEE中,以将目标用户的所有已上链的用户隐私数据进行关联并存储至该可信执行环境TEE中,从而确保目标用户的用户隐私数据的全面性、完整性和安全性,具体的,针对用户隐私数据的数据上链过程,如图3所示,在S202,接收数据消费方发送的数据消费请求之前,还包括:
S208,接收数据持有方发送的目标用户的隐私数据存证请求;其中,该存证请求携带有第一加密数据,该第一加密数据是利用信封加密方式对明文的用户隐私数据进行加密得到的;
其中,上述数据持有方可以是目标用户使用的终端设备,也可以是对用户隐私数据进行认证的数据认证方,例如,以用户隐私数据为大学成绩而言,数据认证方为用户所就读的大学。
S210,基于上述第一加密数据,将目标用户的用户隐私数据传递至区块链中的可信执行环境TEE;其中,该区块链中部署有第一智能合约;
具体的,数据提供节点在接收到隐私数据存证请求后,可以直接将该存证请求携带的第一加密数据直接传递至区块链中的可信执行环境TEE,也可以先对第一加密数据进行解密、安全性校验,再对安全性校验通过的用户隐私数据进行加密后传递至区块链中的可信执行环境TEE,以使区块链中至少一个区块链节点在可信执行环境TEE中,对目标用户的用户隐私数据进行上链处理。
S212,通过区块链中部署的第一智能合约在可信执行环境TEE中,对目标用户的用户隐私数据进行上链处理;具体的,在将用户隐私数据存储至区块链中的可信执行环境TEE的过程中,将该用户隐私数据与目标用户的已上链的用户隐私数据进行关联,从而确保目标用户的用户隐私数据的全面性、完整性和安全性。
具体的,针对区块链为联盟链的情况,通过建立联盟链,将指定行业相关的用户或机构加入该联盟链,从而实现将该指定行业的所有相关信息进行整合;例如,若数据消费方为某用人单位,该用人单位需要对应聘者简历上的信息进行核验或者查询该应聘者更多的个人信息,此时某用人单位可以向数据提供节点请求相应的数据消费服务,即向数据提供节点发送相应的数据消费请求即可,这样用人单位即可实现快速完成对应聘者的数据校验、查询,减少了社会上多方沟通、协作的中间人力消耗;例如,若应聘者简历中涉及:学生X在哪个学校毕业、哪个机构参加什么培训、在哪个公司就职等个人信息,如果需要校验数据的真实性,无需分别向学校、培训机构、历史入职公司这三个机构请求数据核验,直接向数据提供节点请求数据校验服务即可完成对所有数据的校验。
进一步的,考虑到数据持有方请求上链的用户隐私数据可能存在一定风险,为了进一步提高隐私数据上链的安全性,针对存在风险的用户隐私数据直接在数据提供节点处过滤掉,避免流入可信执行环境TEE中,基于此,如图4所示,上述S210,基于上述第一加密数据,将目标用户的用户隐私数据传递至区块链中的可信执行环境TEE,具体包括:
S2101,对上述第一加密数据进行解密,得到目标用户的用户隐私数据;
S2102,判断解密得到的用户隐私数据是否通过安全性校验;其中,针对安全性校验的过程,可以是由可信数据提供节点执行,也可以是由可信数据提供节点触发第三方服务器执行;
若安全性校验通过,则执行S2103,基于解密得到的用户隐私数据,生成第二加密数据;以及S2104,将上述第二加密数据传递至区块链中的可信执行环境TEE;其中,该区块链中部署有第一智能合约;
若安全性校验不通过,则执行S2105,生成表征安全性校验不通过的数据异常提示信息,以及S2106,将数据异常提示信息发送至数据持有方;
对应的,上述S212,通过区块链中部署的第一智能合约在可信执行环境TEE中,对目标用户的用户隐私数据进行上链处理,具体包括:
S2121,通过区块链中部署的第一智能合约在可信执行环境TEE中,基于第二加密数据对目标用户的用户隐私数据进行上链处理。具体的,区块链节点可以通过可信应用获取数据提供节点以密文形式传输的用户隐私数据(如第二加密数据),并将该用户隐私数据传递至本地的可信执行环境TEE中。
其中,TEE可以为可信执行环境,TEE可以通过预定的编程语言编写的程序来实现(即可以是以软件的形式实现),TEE的可信执行环境可以是安全并与其它环境相隔离的数据处理环境,即在可信执行环境中执行的处理,以及数据处理的过程中产生的数据等无法被可执行环境外的其它执行环境或应用程序所访问。TEE的可信执行环境可以通过创建一个可以在可信区域(如TrustZone等)中独立运行的小型操作系统实现,TEE可以以系统调用(如由TrustZone内核直接处理)的方式直接提供的服务。TEE可以通过提供的接口来进行用户隐私数据上链或目标隐私数据获取等处理,从而保证用户隐私数据(如用户教育相关数据、用户支付相关数据等)不会被篡改、密码不会被劫持、指纹或面部等信息不会被盗用。
其中,可信应用可以是预先指定的、可以用于对用户隐私数据上链或目标隐私数据获取的可信应用,例如某金融支付应用、某即时通讯应用或预先开发的应用程序等,可信应用可以是需要安装在终端设备或服务器中的应用程序,也可以是预先植入终端设备某硬件设备或服务器中的代码程序,还可以是以插件的形式设置于终端设备或服务器的操作系统的后台运行的程序等,具体可以根据实际情况设定。
其中,无论是用户隐私数据的上链阶段,还是用户隐私数据的消费阶段中的预设校验过程,所使用的智能合约可以是预先被设置于区块链节点的TEE中,该智能合约中可以包括用于确定预设校验结果满足核验通过的校验约束条件,或者包括用于确定隐私数据是否上链成功的上链状态判定条件,因此,为了保证校验约束条件和上链状态判定条件的安全、防篡改,智能合约可以为密文,即可以通过指定的加密或签名方式对智能合约进行加密或签名,形成智能合约的密文,然后再通过可信应用将智能合约的密文通过指定的安全数据传输通道传递至区块链节点的可信执行环境TEE中。在该可行执行环境中,可以对智能合约的密文进行解密或验签,在确定智能合约中的校验约束条件或上链状态判定条件未被篡改后,可以将智能合约存储于TEE中。
在具体实施中,通过设置用于执行用户隐私数据上链、目标隐私数据获取、或用户隐私数据处理的可信应用,能够进一步确保用户隐私数据的安全性,通过可信应用进行用户隐私数据的传递,对用户隐私数据进行临时保护,例如可以防止未授权的其它应用程序访问待上链的用户隐私数据或待返回给数据消费方的目标隐私数据,以此进行数据保护。另外,不仅在区块链节点中安装可信应用,还可以在数据提供节点中安装相应的可信应用、以及设置可信执行环境TEE。可信应用可以预先设置有安全接口,相应的,区块链节点或数据提供节点的TEE中也可以设置有相应的安全接口,通过可信应用与TEE之间的安全接口,可信应用与TEE之间可以建立安全的数据传输通道。可信应用可以将用户隐私数据通过上述安全接口和数据传输通道传递至区块链节点或数据提供节点的TEE中,通过上述设置可信应用、安全接口和数据传输通道等可以保证用户隐私数据在数据上链或数据消费的过程中的安全性。
需要说明的是,可信应用也可以包括多种,可以根据用户隐私数据的隐私等级等设置相应的可信应用,也可以根据用户隐私数据的数据内容或数据类型等设置相应的可信应用,还可以根据用户隐私数据对应的用户的不同而设置相应的可信应用,在实际应用中,如何设置可信应用可以根据实际情况设定,本说明书实施例对此不做限定。
其中,为了进一步提供用户隐私数据的安全性,数据提供节点中也可以设置可信执行环境TEE,对应的,数据提供节点的所有数据处理过程均在该可信执行环境TEE中进行;具体的,数据持有方通过可信应用将隐私数据存证请求中的第一加密数据传递至数据提供节点,数据提供节点在本地的可信执行环境TEE中,基于第一加密数据生成第二加密数据,并将该第二加密数据传递至区块链中的可信执行环境TEE。
其中,上述第一加密数据可以包括:利用第一对称密钥对用户隐私数据进行加密得到的第一密文隐私数据、以及利用第一公钥对第一对称密钥进行加密得到的第一密文密钥;
对应的,上述S2101,对上述第一加密数据进行解密,得到目标用户的用户隐私数据,具体包括:
步骤一,利用与第一公钥对应的第一私钥,对第一密文密钥进行解密处理,得到第一对称密钥;
步骤二,利用解密得到的第一对称密钥,对第一密文隐私数据进行解密处理,得到目标用户的用户隐私数据。
具体的,上述第一对称密钥为数据持有方利用预设SDK自动生成的对称密钥;上述第一公钥和第一私钥是为数据提供节点生成的一对非对称密钥,其中,第一公钥下发给数据持有方,第一私钥保存于数据提供节点的本地,这样数据持有方利用第一公钥进行数据加密,对应的,数据提供节点利用第一私钥对加密后的数据进行解密,得到明文数据,由于第一私钥仅保存于数据提供节点的本地,因此,只有数据提供节点才能解密得到数据持有方利用第一公钥加密的数据的明文数据。
其中,在对第一加密数据进行解密得到明文的用户隐私数据后,先对用户隐私数据进行安全性校验,再对安全性校验通过的用户隐私数据进行加密,并将加密后的用户隐私数据上传至区块链,基于此,上述S2103,基于解密得到的用户隐私数据,生成第二加密数据,具体包括:
步骤一,利用第二对称密钥,对目标用户的用户隐私数据进行加密处理,得到第二密文隐私数据;
步骤二,利用第二公钥,对上述第二对称密钥进行加密处理,得到第二密文密钥;
步骤三,基于上述第二密文隐私数据和上述第二密文密钥,生成第二加密数据。
具体的,上述第二对称密钥为数据提供节点利用预设SDK自动生成的对称密钥,上述第二公钥和第二私钥是为区块链生成的一对非对称密钥,其中,第二公钥下发给数据提供节点,第二私钥保存于区块链节点的本地,这样数据提供节点利用第二公钥进行数据加密,对应的,区块链节点利用第二私钥对加密后的数据进行解密,得到明文数据,由于第二私钥仅保存于区块链节点的本地,因此,只有区块链节点才能解密得到数据提供节点利用第二公钥加密的数据的明文数据。
其中,数据提供节点在将第二加密数据上传至区块链后,区块链节点需要先对第二加密数据进行解密,再对解密得到的用户隐私数据进行上链处理,基于此,上述S2121,通过区块链中部署的第一智能合约在可信执行环境TEE中,基于第二加密数据对目标用户的用户隐私数据进行上链处理,具体包括:
步骤一,通过区块链中部署的第一智能合约在可信执行环境TEE中,利用与第二公钥对应的第二私钥,对第二加密数据中的第二密文密钥进行解密处理,得到第二对称密钥;以及,
步骤二,利用解密得到的第二对称密钥,对第二加密数据中的第二密文隐私数据进行解密处理,得到目标用户的用户隐私数据;以及,
步骤三,将目标用户的用户隐私数据存储至区块链中的可信执行环境TEE中。
进一步的,考虑到可能存在数据上链失败的情况,为了避免因网络异常或区块链节点异常等导致数据上链失败,从而导致目标用户的用户隐私数据缺失、不完整的问题,增加数据上链状态反馈机制,具体的,在S212,通过区块链中部署的第一智能合约在可信执行环境TEE中,对目标用户的用户隐私数据进行上链处理之后,还包括:
获取数据持有方请求上链的用户隐私数据的数据上链状态信息;其中,该数据上链状态信息包括:数据上链成功或数据上链失败;
若上述数据上链状态信息为数据上链失败,则继续触发执行上述S212,通过区块链中部署的第一智能合约在可信执行环境TEE中,对目标用户的用户隐私数据进行上链处理的步骤,或者向指定终端发送上链异常提示信息。
具体的,区块链节点在针对用户隐私数据进行上链处理后,向数据提供节点返回用户隐私数据的数据上链状态信息,数据提供节点在获取到该数据上链状态信息后,重新触发区块链节点对目标用户的用户隐私数据进行上链处理,从而实现用户隐私数据的可靠上链服务;
进一步,考虑到导致数据上链失败的原因具有多样化,上述数据上链状态信息还包括:数据上链执行数据,数据提供节点根据该数据上链执行数据确定数据上链失败原因,若数据上链失败原因为网络异常,则继续触发执行上述S212,通过区块链中部署的第一智能合约在可信执行环境TEE中,对目标用户的用户隐私数据进行上链处理的步骤;若数据上链失败原因为区块链节点异常,则向指定终端发送包含异常区块链节点的标识的上链异常提示信息,以触发对异常区块链节点进行维护。
另外,数据提供节点还可以基于用户隐私数据的数据上链状态信息,更新隐私数据上链请求状态记录,以便作为后续追溯依据。
其中,针对隐私数据消费阶段,上述请求体数据还可以包括第三密文密钥,该第三密文密钥是利用第三公钥对第三对称密钥进行加密得到的;
对应的,上述S206,向数据消费方发送加密后的目标隐私数据,具体包括:
利用第三公钥对应的第三私钥,对上述第三密文密钥进行解密处理,得到第三对称密钥;
利用解密得到的第三对称密钥对目标隐私数据进行加密,得到加密后的目标隐私数据;
将加密后的目标隐私数据发送至数据消费方。
具体的,上述第三对称密钥为数据消费方利用预设SDK自动生成的对称密钥;上述第三公钥和第三私钥是为数据提供节点生成的一对非对称密钥,该第三公钥和第三私钥可以是与第一公钥和第一私钥为统一对非对称密钥,其中,第三公钥下发给数据消费方,第三私钥保存于数据提供节点的本地,这样数据消费方利用第三公钥进行数据加密,对应的,数据提供节点利用第三私钥对加密后的数据进行解密,得到明文数据,由于第三私钥仅保存于数据提供节点的本地,因此,只有数据提供节点才能解密得到数据消费方利用第三公钥加密的数据的明文数据。
其中,针对对数据消费请求进行预设校验的过程,上述S204,通过区块链中部署的智能合约在可信执行环境TEE中,基于数据消费请求对应的请求体数据,对数据消费请求执行预设校验,得到相应的预设校验结果,具体包括:
步骤一,将数据消费请求对应的请求体数据传递至区块链中的可信执行环境TEE;其中,该区块链中还部署有第二智能合约;
步骤二,通过区块链中部署的第二智能合约在可信执行环境TEE中,基于上述请求体数据,对数据请求方的数据消费请求执行预设校验,得到相应的预设校验结果。
具体的,上述步骤一,将数据消费请求对应的请求体数据传递至区块链中的可信执行环境TEE,具体包括:
利用第四对称密钥,对数据消费请求对应的请求体数据进行加密处理,得到密文请求体数据;其中,该数据消费请求对应的请求体数据可以是数据提供节点基于原始请求体数据和联盟链中各成员的唯一性链上账号确定的目标请求体数据;
利用第四公钥,对上述第四对称密钥进行加密处理,得到第四密文密钥;
将上述密文请求体数据和上述第四密文密钥传递至区块链中的可信执行环境TEE。
具体的,上述第四对称密钥为数据提供节点利用预设SDK自动生成的对称密钥,上述第四公钥和第四私钥是为区块链生成的一对非对称密钥,该第四公钥和第四私钥可以是与第二公钥和第二私钥为统一对非对称密钥,其中,第四公钥下发给数据提供节点,第四私钥保存于区块链节点的本地,这样数据提供节点利用第四公钥进行数据加密,对应的,区块链节点利用第四私钥对加密后的数据进行解密,得到明文数据,由于第四私钥仅保存于区块链节点的本地,因此,只有区块链节点才能解密得到数据提供节点利用第四公钥加密的数据的明文数据。
具体的,在数据提供节点将密文请求体数据和第四密文密钥作为请求体数据传递至区块链中的可信执行环境TEE之后,上述步骤二,通过区块链中部署的第二智能合约在可信执行环境TEE中,基于上述请求体数据,对数据请求方的数据消费请求执行预设校验,得到相应的预设校验结果,具体包括:
通过区块链中部署的第二智能合约在可信执行环境TEE中,利用与第四公钥对应的第四私钥,对第四密文密钥进行解密,得到第四对称密钥;以及,
利用解密得到的第四对称密钥,对密文请求体数据进行解密,得到明文的请求体数据;以及,
基于上述明文的请求体数据,对数据消费方的数据消费请求执行预设校验,得到相应的预设校验结果。
另外,区块链节点在向数据提供节点返回目标隐私数据的过程中,可以利用第四对称密钥对目标隐私数据进行加密,将加密后的目标隐私数据返回至数据提供节点;数据提供节点利用本地生成的第四对称密钥对加密后的目标隐私数据进行解密得到明文的目标隐私数据,再利用解密得到的第三对称密钥对明文的目标隐私数据进行加密,得到加密后的目标隐私数据;将该加密后的目标隐私数据发送至数据消费方。
其中,为了进一步提供用户隐私数据的安全性,数据提供节点中也可以设置可信执行环境TEE,对应的,数据提供节点的所有数据处理过程均在该可信执行环境TEE中进行;具体的,区块链节点通过可信应用将加密后的目标隐私数据传递至数据提供节点,数据提供节点在本地的可信执行环境TEE中,对该加密后的目标隐私数据进行解密、加密,得到利用第三对称密钥加密后的目标隐私数据,再将该加密后的目标隐私数据发送至数据消费方。
具体的,针对对数据消费方的数据消费请求执行预设校验的过程,上述基于上述明文的请求体数据,对数据消费方的数据消费请求执行预设校验,得到相应的预设校验结果,具体包括:
对数据消费方的数据消费请求所针对的用户隐私数据的数据隐私属性进行校验,得到第一校验结果;其中,所述第一校验结果包括用户隐私数据的隐私等级;具体的,基于明文的请求体数据中的待消费数据的标识信息,确定数据消费请求所针对的用户隐私数据的数据隐私属性;
基于预存的数据托管记录,对上述用户隐私数据的数据持有方与数据托管方是否存在托管关系进行校验,得到第二校验结果;其中,该数据托管记录包括多条数据托管关系记录,该数据托管关系记录可以是数据提供节点预先基于数据持有方与数据托管方签署的授权协议上传至区块链的;该数据托管方可以是联盟链中至少一个成员,即数据持有方是否与联盟链中至少一个成员之间预先签署有托管协议;具体的,基于预存的数据托管记录、明文的请求体数据中的待消费数据的数据持有方的唯一性链上账号、数据托管方的唯一性链上账号、待消费数据的标识信息,确定用户隐私数据的数据持有方与数据托管方是否存在托管关系;
基于预存的数据授权记录,对上述用户隐私数据的数据消费方与数据持有方是否存在授权关系进行校验,得到第三校验结果;其中,该数据授权记录包括多条数据授权关系记录,该数据授权关系记录可以是数据提供节点预先基于数据消费方与数据持有方签署的授权协议上传至区块链的;具体的,基于预存的数据授权记录、明文的请求体数据中的待消费数据的数据持有方的唯一性链上账号、数据消费方的唯一性链上账号、待消费数据的标识信息,确定用户隐私数据的数据消费方与数据持有方是否存在授权关系;
根据上述第一校验结果、第二校验结果、第三校验结果和数据消费请求的类型中至少一项,确定针对上述数据消费请求得到的预设校验结果;
在具体实施时,数据隐私等级的校验优先级最高,即优先考虑数据消费请求所针对的用户隐私数据的所属隐私等级,
具体的,上述根据上述第一校验结果、第二校验结果、第三校验结果和数据消费请求的类型中至少一项,确定针对上述数据消费请求得到的预设校验结果,具体包括:
根据第一校验结果,判断数据隐私等级是否低于或等于第一预设隐私等级;
若低于或等于第一预设隐私等级,则根据第一校验结果和第三校验结果,确定针对上述数据消费请求得到的预设校验结果;
若高于第一预设隐私等级,则判断数据隐私等级是否高于或等于第二预设隐私等级;
若高于或等于第二预设隐私等级,则根据第一校验结果、第二校验结果、第三校验结果和数据消费请求的类型,确定针对上述数据消费请求得到的预设校验结果;
若高于第一预设隐私等级且低于第二预设隐私等级,则根据第一校验结果、第二校验结果、第三校验结果,确定针对上述数据消费请求得到的预设校验结果。
在确定出预设校验结果后,判断预设校验结果是否符合任一预设的校验约束条件,若是,则确定预设校验结果满足校验通过条件,即允许数据消费方获取所需的目标隐私数据。
其中,上述校验约束条件可以包括如下至少一项:
(1)数据隐私等级高于第一预设隐私等级且低于第二预设隐私等级、存在授权关系、存在托管关系;
(2)数据隐私等级高于或等于第二预设隐私等级、目标请求类型为数据核验请求、存在授权关系、存在托管关系;
(3)数据隐私等级低于或等于第一预设隐私等级、存在托管关系;
例如,第一预设隐私等级为0级,第二预设隐私等级为2级,若用户隐私数据的数据隐私等级为1级、数据消费方与数据持有方存在授权关系、以及数据持有方与任一数据托管方存在托管关系,则确定预设校验结果满足校验通过条件;
若用户隐私数据的数据隐私等级为2级、数据消费请求为数据核验请求、数据消费方与数据持有方存在授权关系、以及数据持有方与任一数据托管方存在托管关系,则确定预设校验结果满足校验通过条件;
若用户隐私数据的数据隐私等级为0级、以及数据持有方与任一数据托管方存在托管关系,则确定预设校验结果满足校验通过条件;
其中,针对数据隐私等级高于或等于第二预设隐私等级且数据消费请求的类型为查询请求的情况,则确定预设校验结果不满足校验通过条件,则数据提供节点向数据消费方发送不响应数据消费请求的反馈信息,以使数据消费方提供待核验的用户隐私数据。
也就是说,若数据消费请求所针对的用户隐私数据的隐私等级高于第一预设隐私等级且低于第二预设隐私等级,则允许数据消费方查询已授权的用户隐私数据,即数据消费方能够获取到明文的用户隐私数据;若数据消费请求所针对的用户隐私数据的隐私等级高于或等于第二预设隐私等级,则向数据消费方提供针对已知的用户隐私数据的核验服务,具体的,需要数据消费方提供一个用户隐私数据,再将数据消费请求中携带的用户隐私数据与预先上传至区块链的真实隐私数据进行对比核验,向数据消费方返回针对数据消费请求中携带的用户隐私数据的核验结果,即数据消费方无法从区块链上获取到隐私等级比较高的用户隐私数据的明文数据;若数据消费请求所针对的用户隐私数据的隐私等级低于或等于第一预设隐私等级,则用户隐私数据为公开数据,不需要授权即可对外提供该用户隐私数据的查询服务。
在一个具体的实施例中,以通过外部可信节点与区块链节点进行数据交互,对数据持有方发送的用户隐私数据进行上链处理为例,针对用户隐私数据的数据上链过程,如图5所示,具体包括:
S501,数据持有方,利用第一对称密钥对待上链的用户隐私数据进行加密,得到第一密文隐私数据;
S502,数据持有方,利用第一公钥对第一对称密钥进行加密,得到第一密文密钥;
S503,数据持有方,向数据提供节点发送携带有第一密文隐私数据和第一密文密钥的隐私数据存证请求;
S504,数据提供节点,利用与第一公钥对应的第一私钥,对第一密文密钥进行解密,得到第一对称密钥;
S505,数据提供节点,利用解密得到的第一对称密钥,对第一密文隐私数据进行解密,得到目标用户的明文的用户隐私数据;
S506,数据提供节点,若针对明文的用户隐私数据的安全性校验通过,则利用第二对称密钥,对目标用户的用户隐私数据进行加密,得到第二密文隐私数据;
S507,数据提供节点,利用第二公钥,对第二对称密钥进行加密,得到第二密文密钥;
S508,数据提供节点,将第二密文隐私数据和第二密文密钥传递至区块链中的可信执行环境TEE,以调用区块链中部署的智能合约进行数据上链;
S509,区块链节点,在可信执行环境TEE中,利用与第二公钥对应的第二私钥,对第二密文密钥进行解密,得到第二对称密钥;以及,
S510,区块链节点,利用解密得到的第二对称密钥,对第二密文隐私数据进行解密,得到目标用户的用户隐私数据;以及,
S511,区块链节点,将目标用户的用户隐私数据存储至区块链中的可信执行环境TEE中;以及,
S512,区块链节点,通过区块链中部署的第一智能合约生成针对用户隐私数据的数据上链回执信息,并利用第二对称密钥,对数据上链回执信息进行加密,得到加密后的数据上链回执信息;
S513,区块链节点,向数据提供节点返回加密后的数据上链回执信息,以使数据提供节点,基于利用第二对称密钥解密得到的数据上链回执信息,更新用户隐私数据的上链执行状态,其中,该上链执行状态包括:上链成功或上链失败。
对应的,以通过外部可信节点与区块链节点进行数据交互,为数据消费方提供用户隐私数据的查询服务为例,针对用户隐私数据的数据消费过程,如图6所示,具体包括:
S601,数据消费方,利用第三公钥对第三对称密钥进行加密,得到第三密文密钥,并基于该第三密文密钥得到原始请求体数据;
S602,数据消费方,向数据提供节点发送携带有原始请求体数据的数据消费请求;
S603,数据提供节点,利用第四对称密钥,对基于原始请求体数据得到的数据消费请求对应的请求体数据进行加密,得到密文请求体数据;
S604,数据提供节点,利用第四公钥,对第四对称密钥进行加密,得到第四密文密钥;
S605,数据提供节点,将上述密文请求体数据和第四密文密钥传递至区块链中的可信执行环境TEE;以调用区块链中部署的智能合约获取对应的目标隐私数据;
S606,区块链节点,在可信执行环境TEE中,利用与第四公钥对应的第四私钥,对第四密文密钥进行解密,得到第四对称密钥;以及,
S607,区块链节点,利用解密得到的第四对称密钥,对密文请求体数据进行解密,得到明文的请求体数据;以及,
S608,区块链节点,通过区块链中部署的第二智能合约基于上述明文的请求体数据,对数据消费方的数据消费请求执行预设校验,得到相应的预设校验结果;其中,该预设校验包括:数据隐私属性校验、数据托管关系校验、数据授权关系校验中至少一项;
S609,区块链节点,若预设校验结果满足校验通过条件,则获取与数据消费请求对应的目标隐私数据;
S610,区块链节点,向数据提供节点发送利用第四对称密钥加密得到的目标隐私数据;
S611,数据提供节点,利用本地的第四对称密钥对加密后的目标隐私数据进行解密,得到明文的目标隐私数据;
S612,数据提供节点,向数据消费方发送利用第三对称密钥对明文的目标隐私数据进行加密得到的目标隐私数据;其中,该第三对称密钥是利用第三公钥对应的第三私钥对第三密文密钥进行解密得到的;
S613,数据消费方,利用本地的第三对称密钥对加密后的目标隐私数据进行解密,得到明文的目标隐私数据。
本说明书一个或多个实施例中的基于区块链的用户隐私数据提供方法,接收数据消费方发送的数据消费请求;其中,该数据消费请求是针对目标用户的用户隐私数据的消费请求,该用户隐私数据包括预先加密并上传至可信执行环境TEE中的个人数据,该TEE构建于区块链的节点中。通过区块链中部署的智能合约在可信执行环境TEE中,基于数据消费请求对应的请求体数据,对数据消费请求执行预设校验,得到相应的预设校验结果。若预设校验结果满足校验通过条件,则获取针对数据消费方的数据消费请求所得到的目标隐私数据,并向数据消费方发送加密后的目标隐私数据;其中,目标隐私数据是在可信执行环境TEE中基于区块链中存储的用户隐私数据得到的。无论是针对用户隐私数据的数据上链阶段,还是针对用户隐私数据的数据消费阶段,借助构建于区块链的节点中的可信执行环境TEE执行相应的数据处理,以及在数据传输过程中以密文数据形式进行传输,将用户隐私数据上传至区块链的可信执行环境TEE中,以及将目标隐私数据返回至数据消费方,来实现对外提供用户隐私数据的消费服务,这样既能够确保数据传输过程中的用户隐私数据的安全性,又能够确保在区块链上进行数据处理的用户隐私数据的安全性,从而实现从全链路上确保用户在指定行业下所产生的用户隐私数据的安全性,进而提高了用户在该指定行业下个人经历相关的用户隐私数据的安全等级。
对应上述图2至图6描述的基于区块链的用户隐私数据提供方法,基于相同的技术构思,本说明书一个或多个实施例还提供了一种基于区块链的用户隐私数据提供装置,图7为本说明书一个或多个实施例提供的基于区块链的用户隐私数据提供装置的第一种模块组成示意图,该装置用于执行图2至图6描述的基于区块链的用户隐私数据提供方法,如图7所示,该装置包括:
消费请求获取模块702,其接收数据消费方发送的数据消费请求;其中,所述数据消费请求是针对目标用户的用户隐私数据的消费请求,所述用户隐私数据包括预先加密并上传至可信执行环境TEE中的个人数据,所述TEE构建于区块链的节点中;
信息校验模块704,其通过所述区块链中部署的智能合约在所述可信执行环境TEE中,基于所述数据消费请求对应的请求体数据,对所述数据消费请求执行预设校验,得到相应的预设校验结果;
数据提供模块706,其若所述预设校验结果满足校验通过条件,则获取针对所述数据消费请求所得到的目标隐私数据,并向所述数据消费方发送加密后的所述目标隐私数据;其中,所述目标隐私数据是在所述可信执行环境TEE中基于所述区块链中存储的所述用户隐私数据得到的。
可选地,如图8所示,所述装置还包括:
上链请求获取模块708,其接收数据持有方发送的目标用户的隐私数据存证请求;其中,所述存证请求携带有第一加密数据,所述第一加密数据是利用信封加密方式对明文的用户隐私数据进行加密得到的;
第一数据传递模块710,其基于所述第一加密数据,将所述用户隐私数据传递至所述区块链中的可信执行环境TEE;其中,所述区块链中部署有第一智能合约;
数据上链模块712,其通过所述第一智能合约在所述可信执行环境TEE中,对所述用户隐私数据进行上链处理。
可选地,所述第一数据传递模块710,其:
对所述第一加密数据进行解密,得到所述目标用户的所述用户隐私数据;
判断解密得到的所述用户隐私数据是否通过安全性校验;
若安全性校验通过,则基于所述用户隐私数据,生成第二加密数据;
将所述第二加密数据传递至所述区块链中的可信执行环境TEE。
可选地,所述第一加密数据包括:利用第一对称密钥对用户隐私数据进行加密得到的第一密文隐私数据、以及利用第一公钥对所述第一对称密钥进行加密得到的第一密文密钥;
对应的,所述第一数据传递模块710,其:
利用与所述第一公钥对应的第一私钥,对所述第一密文密钥进行解密处理,得到所述第一对称密钥;
利用所述第一对称密钥,对所述第一密文隐私数据进行解密处理,得到所述用户隐私数据。
可选地,所述第一数据传递模块710,其:
利用第二对称密钥,对所述目标用户的所述用户隐私数据进行加密处理,得到第二密文隐私数据;
利用第二公钥,对所述第二对称密钥进行加密处理,得到第二密文密钥;
基于所述第二密文隐私数据和所述第二密文密钥,生成第二加密数据。
可选地,所述数据上链模块712,其:
通过所述第一智能合约在所述可信执行环境TEE中,利用与所述第二公钥对应的第二私钥,对所述第二密文密钥进行解密处理,得到所述第二对称密钥;以及,
利用所述第二对称密钥,对所述第二密文隐私数据进行解密处理,得到所述用户隐私数据;以及,
将所述用户隐私数据存储至所述区块链中的可信执行环境TEE中。
可选地,所述装置还包括:
异常反馈模块,其若针对所述用户隐私数据的安全性校验不通过,则生成表征安全性校验不通过的数据异常提示信息,并将所述数据异常提示信息发送至所述数据持有方。
可选地,所述装置还包括:
上链状态获取模块,其获取所述用户隐私数据的数据上链状态信息;
上链异常响应模块,其若所述数据上链状态信息为数据上链失败,则继续触发执行通过所述第一智能合约在所述可信执行环境TEE中,对所述用户隐私数据进行上链处理的步骤,或者向指定终端发送上链异常提示信息。
可选地,所述请求体数据包括第三密文密钥,所述第三密文密钥是利用第三公钥对第三对称密钥进行加密得到的;
所述数据提供模块706,其:
利用所述第三公钥对应的第三私钥,对所述第三密文密钥进行解密处理,得到所述第三对称密钥;
利用所述第三对称密钥对所述目标隐私数据进行加密,得到加密后的目标隐私数据;
将所述加密后的目标隐私数据发送至所述数据消费方。
可选地,所述装置还包括:
第二数据传递模块714,其将所述数据消费请求对应的请求体数据传递至所述区块链中的可信执行环境TEE;其中,所述区块链中还部署有第二智能合约;
对应的,所述信息校验模块704,其通过所述第二智能合约在所述可信执行环境TEE中,基于所述请求体数据,对所述数据消费请求执行预设校验,得到相应的预设校验结果。
可选地,所述第二数据传递模块714,其:
利用第四对称密钥,对所述数据消费请求对应的请求体数据进行加密处理,得到密文请求体数据;
利用第四公钥,对所述第四对称密钥进行加密处理,得到第四密文密钥;
将所述密文请求体数据和所述第四密文密钥传递至所述区块链中的可信执行环境TEE。
可选地,所述信息校验模块704,其:
通过所述第二智能合约在所述可信执行环境TEE中,利用与所述第四公钥对应的第四私钥,对所述第四密文密钥进行解密,得到第四对称密钥;以及,
利用所述第四对称密钥,对所述密文请求体数据进行解密,得到明文的请求体数据;以及,
基于所述明文的请求体数据,对所述数据消费请求执行预设校验,得到相应的预设校验结果。
可选地,所述信息校验模块704,其:
对所述数据消费请求所针对的用户隐私数据的数据隐私属性进行校验,得到第一校验结果;
基于预存的数据托管记录,对所述用户隐私数据的数据持有方与数据托管方是否存在托管关系进行校验,得到第二校验结果;
基于预存的数据授权记录,对所述数据消费方与所述数据持有方是否存在授权关系进行校验,得到第三校验结果;
根据所述第一校验结果、所述第二校验结果和所述第三校验结果中至少一项,确定针对所述数据消费请求得到的预设校验结果。
可选地,所述用户隐私数据包括:用于表征所述目标用户的教育经历的用户行为数据。
本说明书一个或多个实施例中的基于区块链的用户隐私数据提供装置,接收数据消费方发送的数据消费请求;其中,该数据消费请求是针对目标用户的用户隐私数据的消费请求,该用户隐私数据包括预先加密并上传至可信执行环境TEE中的个人数据,该TEE构建于区块链的节点中。通过区块链中部署的智能合约在可信执行环境TEE中,基于数据消费请求对应的请求体数据,对数据消费请求执行预设校验,得到相应的预设校验结果。若预设校验结果满足校验通过条件,则获取针对数据消费方的数据消费请求所得到的目标隐私数据,并向数据消费方发送加密后的目标隐私数据;其中,目标隐私数据是在可信执行环境TEE中基于区块链中存储的用户隐私数据得到的。无论是针对用户隐私数据的数据上链阶段,还是针对用户隐私数据的数据消费阶段,借助构建于区块链的节点中的可信执行环境TEE执行相应的数据处理,以及在数据传输过程中以密文数据形式进行传输,将用户隐私数据上传至区块链的可信执行环境TEE中,以及将目标隐私数据返回至数据消费方,来实现对外提供用户隐私数据的消费服务,这样既能够确保数据传输过程中的用户隐私数据的安全性,又能够确保在区块链上进行数据处理的用户隐私数据的安全性,从而实现从全链路上确保用户在指定行业下所产生的用户隐私数据的安全性,进而提高了用户在该指定行业下个人经历相关的用户隐私数据的安全等级。
需要说明的是,本说明书中关于基于区块链的用户隐私数据提供装置的实施例与本说明书中关于基于区块链的用户隐私数据提供方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应的基于区块链的用户隐私数据提供方法的实施,重复之处不再赘述。
进一步地,对应上述图2至图6所示的方法,基于相同的技术构思,本说明书一个或多个实施例还提供了一种基于区块链的用户隐私数据提供设备,该设备用于执行上述的基于区块链的用户隐私数据提供方法,如图9所示。
基于区块链的用户隐私数据提供设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器901和存储器902,存储器902中可以存储有一个或一个以上存储应用程序或数据。其中,存储器902可以是短暂存储或持久存储。存储在存储器902的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对基于区块链的用户隐私数据提供设备中的一系列计算机可执行指令。更进一步地,处理器901可以设置为与存储器902通信,在基于区块链的用户隐私数据提供设备上执行存储器902中的一系列计算机可执行指令。基于区块链的用户隐私数据提供设备还可以包括一个或一个以上电源903,一个或一个以上有线或无线网络接口904,一个或一个以上输入输出接口905,一个或一个以上键盘906等。
在一个具体的实施例中,基于区块链的用户隐私数据提供设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对基于区块链的用户隐私数据提供设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
接收数据消费方发送的数据消费请求;其中,所述数据消费请求是针对目标用户的用户隐私数据的消费请求,所述用户隐私数据包括预先加密并上传至可信执行环境TEE中的个人数据,所述TEE构建于区块链的节点中;
通过所述区块链中部署的智能合约在所述可信执行环境TEE中,基于所述数据消费请求对应的请求体数据,对所述数据消费请求执行预设校验,得到相应的预设校验结果;
若所述预设校验结果满足校验通过条件,则获取针对所述数据消费请求所得到的目标隐私数据,并向所述数据消费方发送加密后的所述目标隐私数据;其中,所述目标隐私数据是在所述可信执行环境TEE中基于所述区块链中存储的所述用户隐私数据得到的。
可选地,计算机可执行指令在被执行时,在接收数据消费方发送的数据消费请求之前,还包括:
接收数据持有方发送的目标用户的隐私数据存证请求;其中,所述存证请求携带有第一加密数据,所述第一加密数据是利用信封加密方式对明文的用户隐私数据进行加密得到的;
基于所述第一加密数据,将所述用户隐私数据传递至所述区块链中的可信执行环境TEE;其中,所述区块链中部署有第一智能合约;
通过所述第一智能合约在所述可信执行环境TEE中,对所述用户隐私数据进行上链处理。
可选地,计算机可执行指令在被执行时,所述基于所述第一加密数据,将所述用户隐私数据传递至所述区块链中的可信执行环境TEE,包括:
对所述第一加密数据进行解密,得到所述目标用户的所述用户隐私数据;
判断解密得到的所述用户隐私数据是否通过安全性校验;
若安全性校验通过,则基于所述用户隐私数据,生成第二加密数据;
将所述第二加密数据传递至所述区块链中的可信执行环境TEE。
可选地,计算机可执行指令在被执行时,所述第一加密数据包括:利用第一对称密钥对用户隐私数据进行加密得到的第一密文隐私数据、以及利用第一公钥对所述第一对称密钥进行加密得到的第一密文密钥;
所述对所述第一加密数据进行解密,得到所述目标用户的所述用户隐私数据,包括:
利用与所述第一公钥对应的第一私钥,对所述第一密文密钥进行解密处理,得到所述第一对称密钥;
利用所述第一对称密钥,对所述第一密文隐私数据进行解密处理,得到所述用户隐私数据。
可选地,计算机可执行指令在被执行时,所述基于所述用户隐私数据,生成第二加密数据,包括:
利用第二对称密钥,对所述目标用户的所述用户隐私数据进行加密处理,得到第二密文隐私数据;
利用第二公钥,对所述第二对称密钥进行加密处理,得到第二密文密钥;
基于所述第二密文隐私数据和所述第二密文密钥,生成第二加密数据。
可选地,计算机可执行指令在被执行时,所述通过所述第一智能合约在所述可信执行环境TEE中,对所述用户隐私数据进行上链处理,包括:
通过所述第一智能合约在所述可信执行环境TEE中,利用与所述第二公钥对应的第二私钥,对所述第二密文密钥进行解密处理,得到所述第二对称密钥;以及,
利用所述第二对称密钥,对所述第二密文隐私数据进行解密处理,得到所述用户隐私数据;以及,
将所述用户隐私数据存储至所述区块链中的可信执行环境TEE中。
可选地,计算机可执行指令在被执行时,在对所述第一加密数据进行解密,得到所述目标用户的所述用户隐私数据之后,还包括:
若针对所述用户隐私数据的安全性校验不通过,则生成表征安全性校验不通过的数据异常提示信息,并将所述数据异常提示信息发送至所述数据持有方。
可选地,计算机可执行指令在被执行时,在通过所述第一智能合约在所述可信执行环境TEE中,对所述用户隐私数据进行上链处理之后,还包括:
获取所述用户隐私数据的数据上链状态信息;
若所述数据上链状态信息为数据上链失败,则继续触发执行通过所述第一智能合约在所述可信执行环境TEE中,对所述用户隐私数据进行上链处理的步骤,或者向指定终端发送上链异常提示信息。
可选地,计算机可执行指令在被执行时,所述请求体数据包括第三密文密钥,所述第三密文密钥是利用第三公钥对第三对称密钥进行加密得到的;
所述向所述数据消费方发送加密后的所述目标隐私数据,包括:
利用所述第三公钥对应的第三私钥,对所述第三密文密钥进行解密处理,得到所述第三对称密钥;
利用所述第三对称密钥对所述目标隐私数据进行加密,得到加密后的目标隐私数据;
将所述加密后的目标隐私数据发送至所述数据消费方。
可选地,计算机可执行指令在被执行时,所述通过所述区块链中部署的智能合约在所述可信执行环境TEE中,基于所述数据消费请求对应的请求体数据,对所述数据消费请求执行预设校验,得到相应的预设校验结果,包括:
将所述数据消费请求对应的请求体数据传递至所述区块链中的可信执行环境TEE;其中,所述区块链中还部署有第二智能合约;
通过所述第二智能合约在所述可信执行环境TEE中,基于所述请求体数据,对所述数据消费请求执行预设校验,得到相应的预设校验结果。
可选地,计算机可执行指令在被执行时,所述将所述数据消费请求对应的请求体数据传递至所述区块链中的可信执行环境TEE,包括:
利用第四对称密钥,对所述数据消费请求对应的请求体数据进行加密处理,得到密文请求体数据;
利用第四公钥,对所述第四对称密钥进行加密处理,得到第四密文密钥;
将所述密文请求体数据和所述第四密文密钥传递至所述区块链中的可信执行环境TEE。
可选地,计算机可执行指令在被执行时,所述通过所述第二智能合约在所述可信执行环境TEE中,基于所述请求体数据,对所述数据消费请求执行预设校验,得到相应的预设校验结果,包括:
通过所述第二智能合约在所述可信执行环境TEE中,利用与所述第四公钥对应的第四私钥,对所述第四密文密钥进行解密,得到第四对称密钥;以及,
利用所述第四对称密钥,对所述密文请求体数据进行解密,得到明文的请求体数据;以及,
基于所述明文的请求体数据,对所述数据消费请求执行预设校验,得到相应的预设校验结果。
可选地,计算机可执行指令在被执行时,所述基于所述明文的请求体数据,对所述数据消费请求执行预设校验,得到相应的预设校验结果,包括:
对所述数据消费请求所针对的用户隐私数据的数据隐私属性进行校验,得到第一校验结果;
基于预存的数据托管记录,对所述用户隐私数据的数据持有方与数据托管方是否存在托管关系进行校验,得到第二校验结果;
基于预存的数据授权记录,对所述数据消费方与所述数据持有方是否存在授权关系进行校验,得到第三校验结果;
根据所述第一校验结果、所述第二校验结果和所述第三校验结果中至少一项,确定针对所述数据消费请求得到的预设校验结果。
可选地,计算机可执行指令在被执行时,所述用户隐私数据包括:用于表征所述目标用户的教育经历的用户行为数据。
本说明书一个或多个实施例中的基于区块链的用户隐私数据提供设备,接收数据消费方发送的数据消费请求;其中,该数据消费请求是针对目标用户的用户隐私数据的消费请求,该用户隐私数据包括预先加密并上传至可信执行环境TEE中的个人数据,该TEE构建于区块链的节点中。通过区块链中部署的智能合约在可信执行环境TEE中,基于数据消费请求对应的请求体数据,对数据消费请求执行预设校验,得到相应的预设校验结果。若预设校验结果满足校验通过条件,则获取针对数据消费方的数据消费请求所得到的目标隐私数据,并向数据消费方发送加密后的目标隐私数据;其中,目标隐私数据是在可信执行环境TEE中基于区块链中存储的用户隐私数据得到的。无论是针对用户隐私数据的数据上链阶段,还是针对用户隐私数据的数据消费阶段,借助构建于区块链的节点中的可信执行环境TEE执行相应的数据处理,以及在数据传输过程中以密文数据形式进行传输,将用户隐私数据上传至区块链的可信执行环境TEE中,以及将目标隐私数据返回至数据消费方,来实现对外提供用户隐私数据的消费服务,这样既能够确保数据传输过程中的用户隐私数据的安全性,又能够确保在区块链上进行数据处理的用户隐私数据的安全性,从而实现从全链路上确保用户在指定行业下所产生的用户隐私数据的安全性,进而提高了用户在该指定行业下个人经历相关的用户隐私数据的安全等级。
需要说明的是,本说明书中关于基于区块链的用户隐私数据提供设备的实施例与本说明书中关于基于区块链的用户隐私数据提供方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应的基于区块链的用户隐私数据提供方法的实施,重复之处不再赘述。
进一步地,对应上述图2至图6所示的方法,基于相同的技术构思,本说明书一个或多个实施例还提供了一种存储介质,用于存储计算机可执行指令,一种具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令在被处理器执行时,能实现以下流程:
接收数据消费方发送的数据消费请求;其中,所述数据消费请求是针对目标用户的用户隐私数据的消费请求,所述用户隐私数据包括预先加密并上传至可信执行环境TEE中的个人数据,该TEE构建于区块链的节点中;
通过所述区块链中部署的智能合约在所述可信执行环境TEE中,基于所述数据消费请求对应的请求体数据,对所述数据消费请求执行预设校验,得到相应的预设校验结果;
若所述预设校验结果满足校验通过条件,则获取针对所述数据消费请求所得到的目标隐私数据,并向所述数据消费方发送加密后的所述目标隐私数据;其中,所述目标隐私数据是在所述可信执行环境TEE中基于所述区块链中存储的所述用户隐私数据得到的。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,在接收数据消费方发送的数据消费请求之前,还包括:
接收数据持有方发送的目标用户的隐私数据存证请求;其中,所述存证请求携带有第一加密数据,所述第一加密数据是利用信封加密方式对明文的用户隐私数据进行加密得到的;
基于所述第一加密数据,将所述用户隐私数据传递至所述区块链中的可信执行环境TEE;其中,所述区块链中部署有第一智能合约;
通过所述第一智能合约在所述可信执行环境TEE中,对所述用户隐私数据进行上链处理。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述基于所述第一加密数据,将所述用户隐私数据传递至所述区块链中的可信执行环境TEE,包括:
对所述第一加密数据进行解密,得到所述目标用户的所述用户隐私数据;
判断解密得到的所述用户隐私数据是否通过安全性校验;
若安全性校验通过,则基于所述用户隐私数据,生成第二加密数据;
将所述第二加密数据传递至所述区块链中的可信执行环境TEE。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述第一加密数据包括:利用第一对称密钥对用户隐私数据进行加密得到的第一密文隐私数据、以及利用第一公钥对所述第一对称密钥进行加密得到的第一密文密钥;
所述对所述第一加密数据进行解密,得到所述目标用户的所述用户隐私数据,包括:
利用与所述第一公钥对应的第一私钥,对所述第一密文密钥进行解密处理,得到所述第一对称密钥;
利用所述第一对称密钥,对所述第一密文隐私数据进行解密处理,得到所述用户隐私数据。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述基于所述用户隐私数据,生成第二加密数据,包括:
利用第二对称密钥,对所述目标用户的所述用户隐私数据进行加密处理,得到第二密文隐私数据;
利用第二公钥,对所述第二对称密钥进行加密处理,得到第二密文密钥;
基于所述第二密文隐私数据和所述第二密文密钥,生成第二加密数据。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述通过所述第一智能合约在所述可信执行环境TEE中,对所述用户隐私数据进行上链处理,包括:
通过所述第一智能合约在所述可信执行环境TEE中,利用与所述第二公钥对应的第二私钥,对所述第二密文密钥进行解密处理,得到所述第二对称密钥;以及,
利用所述第二对称密钥,对所述第二密文隐私数据进行解密处理,得到所述用户隐私数据;以及,
将所述用户隐私数据存储至所述区块链中的可信执行环境TEE中。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,在对所述第一加密数据进行解密,得到所述目标用户的所述用户隐私数据之后,还包括:
若针对所述用户隐私数据的安全性校验不通过,则生成表征安全性校验不通过的数据异常提示信息,并将所述数据异常提示信息发送至所述数据持有方。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,在通过所述第一智能合约在所述可信执行环境TEE中,对所述用户隐私数据进行上链处理之后,还包括:
获取所述用户隐私数据的数据上链状态信息;
若所述数据上链状态信息为数据上链失败,则继续触发执行通过所述第一智能合约在所述可信执行环境TEE中,对所述用户隐私数据进行上链处理的步骤,或者向指定终端发送上链异常提示信息。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述请求体数据包括第三密文密钥,所述第三密文密钥是利用第三公钥对第三对称密钥进行加密得到的;
所述向所述数据消费方发送加密后的所述目标隐私数据,包括:
利用所述第三公钥对应的第三私钥,对所述第三密文密钥进行解密处理,得到所述第三对称密钥;
利用所述第三对称密钥对所述目标隐私数据进行加密,得到加密后的目标隐私数据;
将所述加密后的目标隐私数据发送至所述数据消费方。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述通过所述区块链中部署的智能合约在所述可信执行环境TEE中,基于所述数据消费请求对应的请求体数据,对所述数据消费请求执行预设校验,得到相应的预设校验结果,包括:
将所述数据消费请求对应的请求体数据传递至所述区块链中的可信执行环境TEE;其中,所述区块链中还部署有第二智能合约;
通过所述第二智能合约在所述可信执行环境TEE中,基于所述请求体数据,对所述数据消费请求执行预设校验,得到相应的预设校验结果。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述将所述数据消费请求对应的请求体数据传递至所述区块链中的可信执行环境TEE,包括:
利用第四对称密钥,对所述数据消费请求对应的请求体数据进行加密处理,得到密文请求体数据;
利用第四公钥,对所述第四对称密钥进行加密处理,得到第四密文密钥;
将所述密文请求体数据和所述第四密文密钥传递至所述区块链中的可信执行环境TEE。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述通过所述第二智能合约在所述可信执行环境TEE中,基于所述请求体数据,对所述数据消费请求执行预设校验,得到相应的预设校验结果,包括:
通过所述第二智能合约在所述可信执行环境TEE中,利用与所述第四公钥对应的第四私钥,对所述第四密文密钥进行解密,得到第四对称密钥;以及,
利用所述第四对称密钥,对所述密文请求体数据进行解密,得到明文的请求体数据;以及,
基于所述明文的请求体数据,对所述数据消费请求执行预设校验,得到相应的预设校验结果。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述基于所述明文的请求体数据,对所述数据消费请求执行预设校验,得到相应的预设校验结果,包括:
对所述数据消费请求所针对的用户隐私数据的数据隐私属性进行校验,得到第一校验结果;
基于预存的数据托管记录,对所述用户隐私数据的数据持有方与数据托管方是否存在托管关系进行校验,得到第二校验结果;
基于预存的数据授权记录,对所述数据消费方与所述数据持有方是否存在授权关系进行校验,得到第三校验结果;
根据所述第一校验结果、所述第二校验结果和所述第三校验结果中至少一项,确定针对所述数据消费请求得到的预设校验结果。
可选地,该存储介质存储的计算机可执行指令在被处理器执行时,所述用户隐私数据包括:用于表征所述目标用户的教育经历的用户行为数据。
本说明书一个或多个实施例中的存储介质存储的计算机可执行指令在被处理器执行时,接收数据消费方发送的数据消费请求;其中,该数据消费请求是针对目标用户的用户隐私数据的消费请求,该用户隐私数据包括预先加密并可信执行环境TEE中的个人数据,该TEE构建于区块链的节点中。通过区块链中部署的智能合约在可信执行环境TEE中,基于数据消费请求对应的请求体数据,对数据消费请求执行预设校验,得到相应的预设校验结果。若预设校验结果满足校验通过条件,则获取针对数据消费方的数据消费请求所得到的目标隐私数据,并向数据消费方发送加密后的目标隐私数据;其中,目标隐私数据是在可信执行环境TEE中基于区块链中存储的用户隐私数据得到的。无论是针对用户隐私数据的数据上链阶段,还是针对用户隐私数据的数据消费阶段,借助构建于区块链的节点中的可信执行环境TEE执行相应的数据处理,以及在数据传输过程中以密文数据形式进行传输,将用户隐私数据上传至区块链的可信执行环境TEE中,以及将目标隐私数据返回至数据消费方,来实现对外提供用户隐私数据的消费服务,这样既能够确保数据传输过程中的用户隐私数据的安全性,又能够确保在区块链上进行数据处理的用户隐私数据的安全性,从而实现从全链路上确保用户在指定行业下所产生的用户隐私数据的安全性,进而提高了用户在该指定行业下个人经历相关的用户隐私数据的安全等级。
需要说明的是,本说明书中关于存储介质的实施例与本说明书中关于基于区块链的用户隐私数据提供方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应的基于区块链的用户隐私数据提供方法的实施,重复之处不再赘述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HD Cal、JHDL(Java Hardware Description Language)、Lava、Lola、My HDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书一个或多个时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书一个或多个的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书一个或多个可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个是参照根据本说明书一个或多个实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书一个或多个的实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书一个或多个的实施例而已,并不用于限制本说明书一个或多个。对于本领域技术人员来说,本说明书一个或多个可以有各种更改和变化。凡在本说明书一个或多个的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个的权利要求范围之内。