1.本发明涉及数据处理技术领域,尤其涉及一种基于隐私保护的数据处理方法、装置、设备及存储介质。
背景技术:2.多方隐私数据处理系统通常会涉及多个子系统,每个子系统部署数据采集设备来采集大量业务数据,多方隐私数据处理是指允许持有隐私数据集合的各方在不泄漏各自所持有隐私数据的前提下,得到各方的隐私数据集合的交集的一种安全计算技术。
3.然而,这些业务数据分散在多个不同的子系统中,需要各个子系统之间开通对外提供服务接口进行数据传输,在实际场景中,对外提供服务容易导致服务接口的地址被泄露,出现恶意查询对数据上传的参与方的服务器进行访问,造成数据隐私的安全性低。
技术实现要素:4.鉴于以上内容,本发明提供一种基于隐私保护的数据处理方法、装置、设备及存储介质,其目的在于解决现有技术中,多方隐私数据处理过程中,需要参与方的服务器对外提供服务接口造成数据隐私的安全性低的技术问题。
5.为实现上述目的,本发明提供一种基于隐私保护的数据处理方法,所述方法应用于至少一个任务中心和一个子系统,各个子系统包括至少一个数据存储设备,任务中心与各个子系统在预设的可信执行环境中进行通信连接,所述方法包括:
6.将各个子系统的签名证书、加密证书、身份id生成可信证书列表;
7.根据预设的待办任务流程表,对各个所述子系统生成对应的任务id和待办子任务;
8.当监测到第一子系统根据第一任务id从预设地址获取所述待办任务流程表的第一待办子任务并进行解密后,根据可信证书列表对解密后的第一待办子任务进行验签,得到所述第一待办子任务的操作内容;
9.从所述第一子系统的数据存储设备中获取与所述操作内容关联的目标数据,对所述目标数据进行加密和签名,得到目标数据结果并上传至所述预设地址。
10.优选的,构建预设的可信执行环境,包括:
11.读取在加密内存执行环境中运行的软件的输入数据;
12.对所述输入数据进行预设处理,形成密钥私有专用的可信执行环境。
13.优选的,在所述将各个子系统的签名证书、加密证书、身份id生成可信证书列表之前,该方法还包括:
14.在可信执行环境中,获取各个所述子系统的随机数执行密钥初始化操作,生成各个所述子系统的签名证书、加密证书。
15.优选的,所述获取各个所述子系统的随机数执行密钥初始化操作,生成各个所述子系统的签名证书、加密证书,包括:
16.根据预设的加密算法,将所述随机数生成签名密钥对,所述签名密钥对包括:第一私钥和第一公钥;
17.根据预设的认证中心对所述第一公钥进行签名,得到签名证书、加密证书、加密密钥对数字信封。
18.优选的,在所述得到签名证书、加密证书、加密密钥对数字信封之后,该方法还包括:
19.根据所述加密密钥的第一私钥对对所述数字信封进行解密,得到加密密钥对,所述加密密钥对包括:第二私钥、第二公钥。
20.优选的,所述获取所述待办任务流程表的第一待办子任务并进行解密,包括:
21.根据所述第一子系统的加密密钥对的第二私钥对所述第一待办子任务进行解密,得到所述第一待办子任务的明文数据。
22.优选的,所述根据可信证书列表对解密后的第一待办子任务进行验签,得到所述第一待办子任务的操作内容,包括:
23.读取所述第一待办子任务的明文数据中包含的签名证书,并判断所述签名证书是否存在可信证书列表中,若是,则根据所述任务中心的签名证书验签所述明文数据,得到所述第一待办子任务的操作内容。
24.为实现上述目的,本发明还提供一种基于隐私保护的数据处理装置,所述装置包括:
25.生成模块:用于将各个子系统的签名证书、加密证书、身份id生成可信证书列表;
26.任务模块:用于根据预设的待办任务流程表,对各个所述子系统生成对应的任务id和待办子任务;
27.解密模块:用于当监测到第一子系统根据第一任务id从预设地址获取所述待办任务流程表的第一待办子任务并进行解密后,根据可信证书列表对解密后的第一待办子任务进行验签,得到所述第一待办子任务的操作内容;
28.加密模块:用于从所述第一子系统的数据存储设备中获取与所述操作内容关联的目标数据,对所述目标数据进行加密和签名,得到目标数据结果并上传至所述预设地址。
29.为实现上述目的,本发明还提供一种电子设备,所述电子设备包括:
30.至少一个处理器;以及,
31.与所述至少一个处理器通信连接的存储器;其中,
32.所述存储器存储有可被所述至少一个处理器执行的程序,所述程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述基于隐私保护的数据处理方法。
33.为实现上述目的,本发明还提供一种计算机可读介质,所述计算机可读介质存储有多方隐私数据,所述多方隐私数据被处理器执行时,实现上述基于隐私保护的数据处理方法的步骤。
34.本发明在预先构建的可信执行环境中,生成各个子系统的签名证书、加密证书、可信证书列表,通过任务中心设定待办任务流程表为各个子系统分配任务id和待办子任务,通过设定各个待办子任务的操作内容,确保数据上传方只上传符合隐私协议的必要数据。
35.在数据上传过程中,通过参与方的加密证书对上传数据进行加密,上传方的签名密钥的第一私钥对对加密后的上传数据进行签名;在数据获取过程中,通过参与方的参与
方的加密密钥对的第二私钥对获取的数据进行解密,上传方的签名证书对解密后的数据进行验签;且数据的上传地址和获取地址是匹配对应的,从而保证各方的隐私数据的安全性,解决现有技术中参与方的服务器对外提供服务接口容易造成数据泄露的技术问题。
附图说明
36.图1为本发明基于隐私保护的数据处理方法的流程图示意图;
37.图2为本发明基于隐私保护的数据处理装置的模块示意图;
38.图3为本发明基于隐私保护的数据处理方法的电子设备的示意图;
39.本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
40.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
41.本发明实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificialintelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
42.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
43.本发明提供一种基于隐私保护的数据处理方法。参照图1所示,本发明基于隐私保护的数据处理方法的流程图示意图。该方法可以由一个电子设备执行,该电子设备可以由软件和/或硬件实现。所述方法应用于至少一个任务中心和一个子系统,各个子系统包括至少一个数据存储设备,任务中心与各个子系统在预设的可信执行环境中进行通信连接,所述方法包括基于隐私保护的数据处理方法包括以下步骤s10-s40:
44.步骤s10:将各个子系统的签名证书、加密证书、身份id生成可信证书列表。
45.本实施例中,各个子系统和任务中心在各自预先构建一个可信执行环境中获取随机数进行密钥初始化操作,生成各个子系统的签名证书、加密证书。随机数是在一定范围内随机产生的数,并且得到这个范围内的每一个数的机会一样。通过可信执行环境形成一个闭环的数据传输环境,确保外部无法窃取数据。
46.可信执行环境可以是指国家密码管理中心认可的可信执行环境(例如,海光csv可信执行环境),在可信执行环境的csv虚拟机使用国密sm4硬件引擎加密内存数据,构造出一个安全的tee可信执行环境,保证主机管理员或其他用户无法访问tee内的数据,支持启动度量和运行时远程身份认证,保证运行的是合法的用户程序。在可信执行环境的加密内存的密钥由硬件随机数发生器生成,密钥对软件不可见,保证用户的数据安全。
47.在一个实施例中,构建预设的可信执行环境,包括:
48.读取在加密内存执行环境中运行的软件的输入数据;
49.对所述输入数据进行预设处理,形成密钥私有专用的可信执行环境。
50.在一个实施例中,所述对所述输入数据进行预设处理,形成密钥私有专用的可信执行环境,包括:
51.根据物理主机的安全cpu对所述输入数据,生成证明报告;
52.在所述物理主机的硬件密码模块对所述证明报告验证成功后,生成总线会话密钥;
53.根据所述证明报告中用户数据中的公钥对所述总线会话密钥进行加密,得到所述总线会话密钥的密文;
54.将所述硬件密码模块的标识id和所述总线会话密钥的密文作为密钥授权结果,并将所述密钥授权结果返回至在加密内存执行环境中运行的软件;
55.根据所述软件的私钥对所述总线会话密钥的密文进行解密,得到解密后的总线会话密钥;
56.当调用所述硬件密码模块中标识id对应的密钥时,使用所述解密后的总线会话密钥对调用过程进行保护,形成密钥私有专用的可信执行环境。
57.物理主机的安全cpu为软件提供了加密内存执行环境,加密内存数据的密钥在安全cpu芯片内部随机生成和管理,软件代码无法访问加密内存的密钥。但是安全cpu所提供的密钥管理和服务十分有限,无法满足软件应用对大量密钥的使用需求,需要引入硬件密码模块来满足这些需求。
58.物理主机的硬件密码模块能在硬件内部完成大量密钥的生成、存储和计算,仅输出密钥的计算结果,保证了密钥的安全,为软件提供了安全完善的密钥管理和服务。
59.但是现有安全cpu与硬件密码模块之间的关系是松散耦合的,因为存在以下两个安全问题,所以某个加密内存执行环境与硬件密码模块中某个特定密钥之间没有形成“密钥私有专用”的可信执行关系:
60.1、加密内存执行环境与硬件密码模块之间是通过外部总线(如:pci总线)来交互数据的,现有安全cpu芯片无法通过硬件加密的方式对外部总线上传输的数据进行加密保护;
61.2、外部总线上的硬件密码模块是被同一台物理主机上的所有加密内存执行环境所共享使用的。硬件密码模块内部的密钥虽然不会泄露,但能被同一台物理主机上的不同加密内存执行环境调用;
62.为了解决上面两个问题,本实施例需要构建新的可信执行环境内部的安全机制:
63.步骤a1:配置硬件密码模块的密钥授权:安全cpu在芯片内部有一个平台背书密钥对平台背书密钥(platform endorsement key缩写:pek),这是一个sm2密钥对,包含私钥(pek_private)和公钥(pek_public)。pek是加密内存执行环境平台初始化时在安全cpu芯片内部生成的。安全cpu为每个加密内存执行环境分配了一个唯一的标识id(envid)。安全cpu芯片厂家为安全cpu芯片分配了一个唯一标识id(chipid)。
64.硬件密码模块在生成密钥(密钥的唯一标识id为hsmkeyid)时,都必须为该密钥配置使用授权信息(hsmkeyauth),这些授权信息保存在硬件密码模块内部的安全存储空间中,不能被外部未授权篡改。通过授权信息(hsmkeyauth)形成了硬件密码模块中某个特定
sm3进行完整性验证和授权验证。
82.当各个子系统和任务中心都各自完成了密钥初始化步骤后,任务中心根据待办任务流程表生成各个待办子任务的执行顺序,根据执行顺序对各个子系统和任务中心生成身份id(例如,任务中心(任务发起方-疾控子系统)的身份id为c00,第一子系统(参与方-通信运营商子系统)的身份id为p01、第二子系统(参与方-公共监控子系统)的身份id为p02、第三子系统(参与方-公民身份证子系统)的身份id为p03。
83.将各个子系统和任务中心的签名证书、加密证书、身份id生成可信证书列表,并将可信证书列表分别存储至各个子系统的数据存储设备,通过在各个子系统存储有一份可信证书列表,只对在可信证书列表的关联子系统的请求进行处理,防止不在可信证书列表的用户随意请求数据,可以减少系统资源的开支。
84.生成的可信证书列表请见下表1:
85.c00signcert(签名证书)00enccert(加密证书)00p01signcert(签名证书)01enccert(加密证书)01p02signcert(签名证书)02enccert(加密证书)02p03signcert(签名证书)03enccert(加密证书)03
86.表1
87.在一个实施例中,在所述将各个子系统的签名证书、加密证书、身份id生成可信证书列表之前,该方法还包括:
88.在可信执行环境中,获取各个所述子系统的随机数执行密钥初始化操作,生成各个所述子系统的签名证书、加密证书。
89.在一个实施例中,所述获取各个所述子系统的随机数执行密钥初始化操作,生成各个所述子系统的签名证书、加密证书,包括:
90.根据预设的加密算法,将所述随机数生成签名密钥对,所述签名密钥对包括:第一私钥和第一公钥;
91.根据预设的认证中心对所述第一公钥进行签名,得到签名证书、加密证书、加密密钥对数字信封。
92.预设加密算法包括但不限于sm4算法;根据各个子系统和任务中心的可信执行环境的生成随机数功能,生成各个子系统和任务中心的随机数。
93.根据预设加密算法将随机数生成sm2签名密钥对,签名密钥对包括:第一私钥、第一公钥;将签名密钥对的第一公钥从可信执行环境导出,发送到国家密码管理局认可的数字证书认证中心签发签名证书,接收从数字证书认证中心返回签名证书的同时,还会返回加密密钥对数字信封和加密证书。
94.在一个实施例中,在所述得到签名证书、加密证书、加密密钥对数字信封之后,该方法还包括:
95.根据所述加密密钥的第一私钥对对所述数字信封进行解密,得到加密密钥对,所述加密密钥对包括:第二私钥、第二公钥。
96.在可信执行环境中,使用第一私钥对加密密钥对数字信封进行解密得到sm2加密密钥对。最后各个子系统、任务中心完成密钥初始化后,各方各自持有的密钥情况请见下表2:
[0097][0098][0099]
表2
[0100]
通过密钥初始化为数据上传和获取提供自动加密和解密的技术保护,保证网络安全的四大要素,即信息传输的保密性、数据交换的完整性、发送数据的不可否认性、参与方身份的确定性。
[0101]
步骤s20:根据预设的待办任务流程表,对各个所述子系统生成对应的任务id和待办子任务。
[0102]
在本实施例中,由任务中心设定待办任务流程表,任务中心可以是指发起任务一方的子系统;任务中心根据待办任务流程表的各个待办子任务的执行顺序,根据执行顺序为各个子系统分配任务id、对应的待办子任务,另外,在可信执行环境中,只需要任务中心单方面开通对外开通服务接口,其它参与待办子任务的子系统(即接收待办子任务的一方)是不需要对外开通服务接口,通过任务中心设定的待办任务流程表的预设地址,确保了参与待办子任务的子系统的服务器不受恶意查询的攻击。
[0103]
本发明以流行病学调查中查找密切接触者为例子来描述基于隐私保护的数据处理方法的实现,该例子将从确诊患者的身份证号找到密切接触者的身份证号、密切接触的位置和时间。
[0104]
首先定义:疾控子系统(任务中心)的身份id为c00,其它子系统的参与方(参与方)身份id分别为:通信运营商子系统为p01、公共监控子系统为p02、公民身份证子系统为p03。
[0105]
生成预设待办任务流程表请见下表3:
[0106]
[0107][0108]
表3
[0109]
任务中心在待办任务流程表填写第一待办子任务的操作内容(例如,确诊患者身份证号信息),同时将第一待办子任务加密、签名上传至预设地址的输出栏并推送第一待办子任务的发布消息至第一子系统,预设地址可以是指区块链节点或云服务器的指定端口,其中,将第一待办子任务加密、签名上传至预设地址的步骤包括:
[0110]
1、根据待办任务流程表的第一待办子任务的参与方(第一子系统)的加密证书的第二公钥加密操作内容;
[0111]
2、根据任务中心的签名密钥的第一私钥对操作内容进行签名,将加密并签名后的操作内容上传预设地址的输出栏。
[0112]
在待办任务流程表中,只有上一个待办子任务完成并将数据上传至预设地址的输出栏,才发布下一个待办子任务,由下一个子系统(即接收或获取下一个待办子任务的参与方)从预设地址的输入栏获取下一个待办子任务的操作内容,以此类推地,执行待办任务流程表的各个待办子任务,预设地址的输入栏与预设地址的输出栏是匹配对应的,即上一个待办子任务的输出地址等于一个待办子任务的获取地址,从而确保数据来源的一致性和合法性。
[0113]
例如,表3的任务t01操作op01:疾控子系统(身份id:c00)根据待办任务流程表,使用通信运营商子系统(身份id:p01)的加密证书将确诊患者身份证号信息加密操作,根据疾控子系统的签名密钥的第一私钥对确诊患者身份证号信息进行签名,最后将加密并签名后的确诊患者身份证号信息上传预设地址的输出栏。
[0114]
步骤s30:当监测到第一子系统根据第一任务id从预设地址获取所述待办任务流程表的第一待办子任务并进行解密后,根据可信证书列表对解密后的第一待办子任务进行验签,得到所述第一待办子任务的操作内容。
[0115]
在本实施例中,任务中心将第一待办子任务的发布消息推送至第一子系统,发布消息包含有第一待办子任务的存储地址(即预设地址),第一子系统根据第一任务id从预设地址的输入栏获取到第一待办子任务并进行解密后,根据可信证书列表对解密后的第一待办子任务进行验签,得到第一待办子任务的操作内容。
[0116]
例如,表3的任务t02操作op03:通信运营商子系统(身份id:p01)从预设地址的输入栏获取到加密并签名后的确诊患者身份证号信息,对该信息进行解密和验签,得到第一待办子任务为查询确诊患者所有手机号。
[0117]
在一个实施例中,所述获取所述待办任务流程表的第一待办子任务并进行解密,包括:
[0118]
根据所述第一子系统的加密密钥对的第二私钥对所述第一待办子任务进行解密,得到所述第一待办子任务的明文数据。
[0119]
在一个实施例中,所述根据可信证书列表对解密后的第一待办子任务进行验签,得到所述第一待办子任务的操作内容,包括:
[0120]
读取所述第一待办子任务的明文数据中包含的签名证书,并判断所述签名证书是否存在可信证书列表中,若是,则根据所述任务中心的签名证书验签所述明文数据,得到所述第一待办子任务的操作内容。
[0121]
第一待办子任务的明文数据是指发起任务一方提供的数据(例如,确诊患者身份证号);第一待办子任务的操作内容是指根据明文数据要查询的数据(例如,根据确诊患者身份证号查询确诊患者所有手机号,再根据所有手机号查询曾经确诊患者到过的基站位置和基站停留时间段)。
[0122]
每个待办子任务的参与方解密对应的待办子任务时,使用自己的加密密钥对的第二私钥解密对应的待办子任务后,同时确保自己的可信证书列表中存储有第一待办子任务的明文数据中包含有上传方的签名证书,以证明双方通信为合法性,最后使用上传方的签名证书来验签明文数据,得到第一待办子任务的操作内容,通过双重保障确保数据在传输过程没有被篡改过。
[0123]
在一个实施例中,还包括:
[0124]
若判断所述签名证书不存在可信证书列表中,则生成获取所述第一待办子任务失败的提示消息。
[0125]
说明上传方的签名证书并没有存储在接收第一个待办子任务的参与方的可信证书列表中,即第一待办子任务为无效请求,生成获取所述第一待办子任务失败的提示消息(例如,您好,验签的数据为无效,请检查再重试)。
[0126]
步骤s40:从所述第一子系统的数据存储设备中获取与所述操作内容关联的目标数据,对所述目标数据进行加密和签名,得到目标数据结果并上传至所述预设地址。
[0127]
在本实施例中,根据第一待办子任务的操作内容,从第一子系统的数据存储设备中查询到大量与该操作内容关联的候选数据(例如,根据确诊患者身份证号查询确诊患者所有手机号,再根据所有手机号查询到开户信息、历史位置信息、历史通话信息),根据预设的隐私协议筛选出确诊患者的所有手机号在预设时间段内(例如,2022年9月1日-2022年9月5日)曾经到过的基站位置和基站停留时间段作为目标数据,对目标数据进行加密和签名,得到目标数据结果并上传至预设地址的输出栏。
[0128]
例如,表3的任务t02操作op03:通信运营商子系统(身份id:p01)在自身数据集中查询确诊患者所有手机号曾经到过的基站位置和基站停留时间段,将基站位置和基站停留时间段输出作为目标数据进行加密和签名,得到目标数据结果并上传至预设地址的输出栏,以使公共监控子系统(身份id:p02)执行任务t03。
[0129]
在一个实施例中,所述从所述第一子系统的数据存储设备中获取与所述操作内容关联的目标数据,包括:
[0130]
从所述第一子系统的数据存储设备中获取与所述操作内容关联的候选数据,
[0131]
根据预设隐私协议对所述候选数据进行筛选,得到所述目标数据。
[0132]
预设隐私协议是指第一子系统与任务中心提前签订上传必要数据的协议;例如,根据操作内容从第一子系统的数据存储设备中的候选数据会包含有许多用户的隐私数据(例如,开户信息、历史位置信息、历史通话信息),这些隐私数据也超出了操作内容的请求范围,为了保证将非必要数据不上传,因此对这些隐私数据再进一步筛选,只获取符合查询字段(例如,查询字段为2022年9月1日-2022年9月5日的基站位置和基站停留时间段)的数据,得到必要数据即目标数据。
[0133]
在一个实施例中,所述对所述目标数据进行加密和签名,得到目标数据结果并上传至所述预设地址,包括:
[0134]
根据所述待办任务流程表的下一待办子任务的接收方的加密证书加密所述目标数据;
[0135]
根据所述第一子系统的签名密钥对的第一私钥对所述目标数据进行签名,得到所述目标数据结果并上传至所述预设地址。
[0136]
每个待办子任务的参与方上传对应的待办子任务的目标数据时,使用接收目标数据的参与方的加密证书加密目标数据,还要使用上传方的签名密钥的第一私钥对目标数据进行签名,通过加密确保数据的私密性,及通过签名确保数据没有被篡改过。
[0137]
在一个实施例中,在所述得到目标数据结果并上传至所述预设地址之后,该方法还包括:
[0138]
根据所述待办任务流程表和所述目标数据结果,生成下一个待办子任务的消息并推送到至下一个子系统,以使重复执行步骤s30-s40。
[0139]
例如,表3的任务t03和t04,都会重复执行步骤s30-s40中,解密与验签从预设地址的输入栏获取待办子任务的步骤,及加密与签名上传数据结果至预设地址的输出栏的步骤:
[0140]
表3的任务t03操作op04:公共监控子系统从预设地址的输入栏获取到确诊患者头像照片、基站位置和基站停留时间段进行解密与验签,根据这两个信息在自身公共监控视频数据中查找出基站位置一定范围内且处于停留时间段内的监控视频,然后根据输入的确诊患者头像照片识别出这些视频中与患者头像同时出现的其它头像作为密切接触者头像,从识别出患者头像的视频采集位置和采集时间可得到密切接触的位置和时间。将密切接触者位置和时间进行加密和签名上传至预设地址的输出栏,返回给疾控子系统。
[0141]
任务t03操作op05:公共监控子系统根据输入的基站位置和基站停留时间段在自身公共监控视频数据中查找出基站位置一定范围内且处于停留时间段内的监控视频,然后根据输入的确诊患者头像照片识别出这些视频中与患者头像同时出现的其它头像作为密
切接触者头像,从识别出患者头像的视频采集位置和采集时间可得到密切接触的位置和时间。将密切接触者的头像照片进行加密和签名上传至预设地址的输出栏,输出给公民身份证子系统。
[0142]
任务t04操作op06:公民身份证子系统从预设地址的输入栏获取到密切接触者头像照片进行解密与验签,根据输入的密切接触者头像照片在自身数据集中进行图像识别得到密切接触者身份证号。将密切接触者身份证号进行加密和签名上传至预设地址的输出栏,输出给疾控子系统。
[0143]
在一个实施例中,在所述得到目标数据结果并上传至所述预设地址之后,该方法还包括:
[0144]
获取所述预设地址中各个所述子系统上传的目标数据结果并进行融合,得到融合数据。
[0145]
例如,表3的完成t01至t04任务完成后,疾控子系统最终从预设地址得到数据融合结果:密切接触者身份证号、密切接触的位置和时间。
[0146]
通过设定待办任务流程表将持有隐私数据集合的各方在不泄漏各自所持有隐私数据的前提下,通过在可信执行环境中进行通信连接;
[0147]
在数据上传过程中,通过参与方的加密证书对上传数据进行加密,上传方的签名密钥的第一私钥对对加密后的上传数据进行签名;在数据获取过程中,通过参与方的参与方的加密密钥对的第二私钥对获取的数据进行解密,上传方的签名证书对解密后的数据进行验签;且参与方有权对上传数据进行筛选,只将必要数据上传,保证对用户的最大隐私保护。
[0148]
获取预设地址中各个子系统上传的数据结果并进行融合,得到融合数据,又能确保各方的隐私数据集合不发生泄露的问题,为保证各方的隐私数据的安全性提供一种安全计算技术。
[0149]
参照图2所示,本发明基于隐私保护的数据处理装置的模块示意图。
[0150]
本发明所述基于隐私保护的数据处理装置100可以安装于电子设备中。根据实现的功能,所述基于隐私保护的数据处理装置100可以包括生成模块110、生成模块120、解密模块130及加密模块140。本发所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
[0151]
本实施例,关于各模块/单元的功能如下:
[0152]
生成模块110:用于将各个子系统的签名证书、加密证书、身份id生成可信证书列表;
[0153]
任务模块120:用于根据预设的待办任务流程表,对各个所述子系统生成对应的任务id和待办子任务;
[0154]
解密模块130:用于当监测到第一子系统根据第一任务id从预设地址获取所述待办任务流程表的第一待办子任务并进行解密后,根据可信证书列表对解密后的第一待办子任务进行验签,得到所述第一待办子任务的操作内容;
[0155]
加密模块140:用于从所述第一子系统的数据存储设备中获取与所述操作内容关联的目标数据,对所述目标数据进行加密和签名,得到目标数据结果并上传至所述预设地址。
[0156]
在一个实施例中,构建预设的可信执行环境,包括:
[0157]
读取在加密内存执行环境中运行的软件的输入数据;
[0158]
对所述输入数据进行预设处理,形成密钥私有专用的可信执行环境。
[0159]
在一个实施例中,在所述将各个子系统的签名证书、加密证书、身份id生成可信证书列表之前,该方法还包括:
[0160]
在可信执行环境中,获取各个所述子系统的随机数执行密钥初始化操作,生成各个所述子系统的签名证书、加密证书。
[0161]
在一个实施例中,所述获取各个所述子系统的随机数执行密钥初始化操作,生成各个所述子系统的签名证书、加密证书,包括:
[0162]
根据预设的加密算法,将所述随机数生成签名密钥对,所述签名密钥对包括:第一私钥和第一公钥;
[0163]
根据预设的认证中心对所述第一公钥进行签名,得到签名证书、加密证书、加密密钥对数字信封。
[0164]
在一个实施例中,在所述得到签名证书、加密证书、加密密钥对数字信封之后,该方法还包括:
[0165]
根据所述加密密钥的第一私钥对对所述数字信封进行解密,得到加密密钥对,所述加密密钥对包括:第二私钥、第二公钥。
[0166]
在一个实施例中,所述获取所述待办任务流程表的第一待办子任务并进行解密,包括:
[0167]
根据所述第一子系统的加密密钥对的第二私钥对所述第一待办子任务进行解密,得到所述第一待办子任务的明文数据。
[0168]
在一个实施例中,所述根据可信证书列表对解密后的第一待办子任务进行验签,得到所述第一待办子任务的操作内容,包括:
[0169]
读取所述第一待办子任务的明文数据中包含的签名证书,并判断所述签名证书是否存在可信证书列表中,若是,则根据所述任务中心的签名证书验签所述明文数据,得到所述第一待办子任务的操作内容。
[0170]
参照图3所示,为本发明基于隐私保护的数据处理方法的电子设备的示意图。
[0171]
该电子设备1包括但不限于:存储器11、处理器12、显示器13及网络接口14。所述电子设备1通过网络接口14连接网络,获取原始数据。其中,所述网络可以是企业内部网(intranet)、互联网(internet)、全球移动通讯系统(globalsystemofmobilecommunication,gsm)、宽带码分多址(widebandcodedivisionmultipleaccess,wcdma)、4g网络、5g网络、蓝牙(bluetooth)、wi-fi、通话网络等无线或有线网络。
[0172]
其中,存储器11至少包括一种类型的可读介质,所述可读介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器11可以是所述电子设备1的内部存储单元,例如该电子设备1的硬盘或内存。在另一些实施例中,所述存储器11也可以是所述电子设备1的外部存储设备,例如该电子设备1配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。当然,所
述存储器11还可以既包括所述电子设备1的内部存储单元也包括其外部存储设备。本实施例中,存储器11通常用于存储安装于所述电子设备1的操作系统和各类应用软件,例如基于隐私保护的数据处理10的程序代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
[0173]
处理器12在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述电子设备1的总体操作,例如执行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行基于隐私保护的数据处理10的程序代码等。
[0174]
显示器13可以称为显示屏或显示单元。在一些实施例中显示器13可以是led显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(organiclight-emittingdiode,oled)触摸器等。显示器13用于显示在电子设备1中处理的信息以及用于显示可视化的工作界面,例如显示数据统计的结果。
[0175]
网络接口14可选地可以包括标准的有线接口、无线接口(如wi-fi接口),该网络接口14通常用于在所述电子设备1与其它电子设备之间建立通信连接。
[0176]
图3仅示出了具有组件11-14以及基于隐私保护的数据处理10的电子设备1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
[0177]
可选地,所述电子设备1还可以包括用户接口,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(organiclight-emittingdiode,oled)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
[0178]
该电子设备1还可以包括射频(radiofrequency,rf)电路、传感器和音频电路等等,在此不再赘述。
[0179]
在上述实施例中,处理器12执行存储器11中存储的基于隐私保护的数据处理10时可以实现如下步骤:
[0180]
将各个子系统的签名证书、加密证书、身份id生成可信证书列表;
[0181]
根据预设的待办任务流程表,对各个所述子系统生成对应的任务id和待办子任务;
[0182]
当监测到第一子系统根据第一任务id从预设地址获取所述待办任务流程表的第一待办子任务并进行解密后,根据可信证书列表对解密后的第一待办子任务进行验签,得到所述第一待办子任务的操作内容;
[0183]
从所述第一子系统的数据存储设备中获取与所述操作内容关联的目标数据,对所述目标数据进行加密和签名,得到目标数据结果并上传至所述预设地址。
[0184]
所述存储设备可以为电子设备1的存储器11,也可以为与电子设备1通讯连接的其它存储设备。
[0185]
关于上述步骤的详细介绍,请参照上述图2关于基于隐私保护的数据处理装置100实施例的功能模块图以及图1关于基于隐私保护的数据处理方法实施例的流程图的说明。
[0186]
此外,本发明实施例还提出一种计算机可读介质,所述计算机可读介质可以是非易失性的,也可以是易失性的。该计算机可读介质可以是硬盘、多媒体卡、sd卡、闪存卡、smc、只读存储器(rom)、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器等等中的任一种或者几种的任意组合。所述计算机可读介质中包括存储数据区和存储程序区,存储数据区存储根据区块链节点的使用所创建的数据,存储程序区存储有基于隐私保护的数据处理程序10,所述基于隐私保护的数据处理程序10被处理器执行时实现如下操作:
[0187]
将各个子系统的签名证书、加密证书、身份id生成可信证书列表;
[0188]
根据预设的待办任务流程表,对各个所述子系统生成对应的任务id和待办子任务;
[0189]
当监测到第一子系统根据第一任务id从预设地址获取所述待办任务流程表的第一待办子任务并进行解密后,根据可信证书列表对解密后的第一待办子任务进行验签,得到所述第一待办子任务的操作内容;
[0190]
从所述第一子系统的数据存储设备中获取与所述操作内容关联的目标数据,对所述目标数据进行加密和签名,得到目标数据结果并上传至所述预设地址。
[0191]
本发明之计算机可读介质的具体实施方式与上述基于隐私保护的数据处理方法的具体实施方式大致相同,在此不再赘述。
[0192]
在另一个实施例中,本发明所提供的基于隐私保护的数据处理方法,为进一步保证上述所有出现的数据的私密和安全性,上述所有数据还可以存储于一区块链的节点中。例如,这些数据均可存储在区块链节点中。
[0193]
需要说明的是,本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
[0194]
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且该方法还包括没有明确列出的其他要素,或者是该方法还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
[0195]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,电子装置,或者网络设备等)执行本发明各个实施例所述的方法。
[0196]
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技
术领域,均同理包括在本发明的专利保护范围内。