一种隐私计算环境下的机器学习系统和方法与流程
- 国知局
- 2024-07-31 22:49:47
本发明涉及机器学习领域,具体涉及一种隐私计算环境下的机器学习系统和方法。
背景技术:
1、随着大数据时代各行业对数据分析需求的持续增加,通过机器学习(machinelearning)高效地获取知识,已逐渐成为当今机器学习技术发展的主要推动力。随着数据产生速度的持续加快,数据的体量有了前所未有的增长,机器学习的学习数据源的体量也是前所未有的大。
2、在学习数据量很大的情况下,可能会有非法的学习数据混入其中,干扰机器学习。在非法的学习数据的误导下,机器学习得到的模型可能是有偏差的,甚至是错误的,如此,就达不到机器学习的目的。更有甚者,非法用户将对人类有害的非法学习数据(例如,攻击人类)作为数据源传输给机器学习,得到的模型可能会生成对人类造成伤害的指令,因此,需要避免机器学习这种有害的非法学习数据。
3、然而,由于学习数据量很大,人为筛选出学习数据源中的非法学习数据源是不现实的。同时,如果学习数据源中的合法学习数据处于明文的状态,那么非法学习数据源就可以通过分析该明文的数据结构来伪造与该明文具有相同数据结构的非法学习数据,如此一来,由于非法学习数据与合法学习数据具有相同的数据结构,所以非法数据源的筛选变得越发困难。
4、有鉴于此,让机器学习只学习合法的学习数据,从而得到准确且安全的机器学习模型是目前机器学习领域需要解决的技术问题。
技术实现思路
1、发明目的:本发明目的是提供一种隐私计算环境下的机器学习系统和方法,只有合法的受控数据可以被机器学习系统中的机器学习模块学习,以生成机器学习模型。非法的学习数据源所传输的非法学习数据会被筛选出来,无法干扰机器学习模型的准确性和安全性。基于此,使用本发明所提出的机器学习方法和系统生成的机器学习模型的准确性和安全性更高。
2、技术方案:本发明提供一种隐私计算环境下的机器学习系统,包括机器学习装置、合法学习数据源和ca中心,其中,所述合法学习数据源、所述ca中心与所述机器学习装置两两相互连接;
3、所述合法学习数据源配置为包括多个子数据源,并向所述ca中心请求所述多个子数据源的量子安全身份;所述多个子数据源中的数据作为学习数据提供给机器学习装置;
4、所述ca中心配置成为所述机器学习装置和所述合法学习数据源中的多个子数据源颁发量子安全身份;
5、所述机器学习装置配置为对接收到的学习数据进行合法性认证,认证通过后对所述学习数据进行学习,以生成基于所述学习数据的机器学习模型。
6、作为本发明的一种改进,所述机器学习装置包括机器学习模块、认证模块、加密模块、第一解密模块、密钥模块、第一输入接口和输出接口,其中,机器学习模块与认证模块、加密模块相连接,认证模块还与第一解密模块相连接,密钥模块与认证模块、加密模块、第一解密模块相连接,第一输入接口与第一解密模块、密钥模块相连接,输出接口与加密模块相连接;
7、所述机器学习模块配置为根据所述学习数据,采用机器学习算法生成机器学习模型;
8、所述认证模块配置为对接收到的学习数据进行合法性认证;
9、所述加密模块配置为与子数据源针对所述学习数据协商一组密钥,该组密钥由密钥模块分发并存储;
10、所述输出接口配置成为所述加密模块和所述子数据源建立通信连接,以进行密钥协商;
11、所述第一解密模块配置为对合法学习数据源经由第一输入接口发送的学习数据进行解密,将解密后的明文数据发送到所述认证模块进行合法性认证;
12、所述密钥模块配置为存储密钥,以及为加密模块的密钥协商过程、第一解密模块的解密过程和认证模块的认证过程提供相应的密钥;以及在需要补充密钥时,经由第一输入接口从所述机器学习装置外的密钥中心获取补充密钥。
13、作为本发明的一种改进,所述认证模块进一步包括数据认证单元和身份认证单元,数据认证单元和身份认证单元相连接,其中,所述数据认证单元用于对接收到的学习数据进行数据认证,所述身份认证单元用于存储量子安全身份,并对所述学习数据的子数据源进行身份认证。
14、作为本发明的一种改进,所述合法学习数据中的子数据源中包括子存储模块、子加密模块、子哈希模块和子密钥模块,所述子加密模块与子存储模块、子哈希模块、子密钥模块相连接,所述子哈希模块还与子密钥模块相连接;其中,所述子存储模块用于存储学习数据,所述子加密模块用于执行加密操作,所述子哈希模块用于执行哈希计算,所述子密钥模块用于存储密钥并为子加密模块和子哈希模块提供密钥。
15、作为本发明的一种改进,所述机器学习系统还包括应用端,其中,所述应用端配置为需要使用机器学习模型对新数据进行预测的应用所在的客户端,且所述应用端的数量为至少一个;
16、所述机器学习装置还包括第二输入接口和第二解密模块,所述机器学习装置经由第二输入接口和输出接口与所述应用端相连接;其中,第二输入接口与第二解密模块相连接,第二解密模块还与机器学习模块和密钥模块相连接;
17、所述第二输入接口配置为接收来自所述应用端的新数据,并将所述新数据发送至第二解密模块;
18、所述第二解密模块配置为利用密钥模块提供的相应的密钥对所述新数据进行解密,并将解密后的新数据发送至机器学习模块;
19、所述机器学习模块还配置为基于生成的机器学习模型对解密后的新数据进行预测,生成预测结果数据并发送至加密模块;
20、所述加密模块还配置为对生成的预测结果数据进行加密,加密后的密文数据经由输出接口输出至应用端;
21、所述密钥模块还配置成为加密模块的加密过程、第二解密模块的解密过程提供相应的密钥。
22、作为本发明的一种改进,还提供一种隐私计算环境下的机器学习方法,应用于上文所述的隐私计算环境下的机器学习系统,所述机器学习方法包括以下步骤:
23、步骤1:ca中心为合法学习数据源中的多个子数据源颁发量子安全身份;
24、步骤2:合法学习数据源中的任一子数据源生成供机器学习装置进行机器学习的学习数据ldata,其中,所述学习数据ldata中包括子数据源的量子安全身份和原始学习数据;
25、步骤3:子数据源将学习数据ldata经由第一输入接口发送至机器学习装置的第一解密模块进行解密,第一解密模块将解密后的明文数据发送给认证模块进行合法性认证;其中,所述合法性认证包括数据认证和身份认证;所述解密后的明文数据包括子数据源的量子安全身份和原始学习数据;
26、步骤4:响应于数据认证和身份认证均通过,认证模块将步骤3中获得的明文数据中的原始学习数据发送至机器学习模块;
27、步骤5:机器学习模块基于接收到的原始学习数据生成机器学习模型module。
28、作为本发明的一种改进,在所述步骤1中,所述多个子数据源包括第一子数据源至第n子数据源,对应的量子安全身份为量子安全身份id21至id2n;其中,第一子数据源至第n子数据源的量子安全身份id21至id2n分别存储于各子数据源的子存储模块中;ca中心将量子安全身份id21至id2n发送至机器学习装置中并由认证模块中的身份认证单元存储。
29、作为本发明的一种改进,所述步骤2的具体过程为:
30、步骤(1):机器学习装置的加密模块和第m子数据源中的子加密模块协商一组密钥(k1,k2,k3,k4,k5,k6),该组密钥分别存储在机器学习装置中的密钥模块和第m子数据源中的子密钥模块中,其中1≤m≤n;
31、步骤(2):第m子数据源中的子加密模块从第m子数据源中的子存储模块中读取存储的第m子数据源生成的学习数据ldata中的原始学习数据data2m,从第m子数据源中的子密钥模块中获取密钥k1,使用密钥k1加密原始学习数据data2m,得到第一密文m1=data2m⊕k1;
32、步骤(3):第m子数据源中的子哈希模块从第m子数据源中的子密钥模块中获取一个密钥作为随机数生成一个不可约多项式p1(x),记录该不可约多项式除最高项以外的系数为字符串str1,并从第m子数据源中的子密钥模块中获取密钥k2,基于该不可约多项式p1(x)和密钥k2生成哈希函数hp1,k2,使用该哈希函数计算第一密文m1的哈希值hp1,k2(m1),并将该哈希值hp1,k2(m1)和字符串str1发送给第m子数据源中的子加密模块;
33、步骤(4):第m子数据源中的子加密模块从第m子数据源中的子密钥模块中获取密钥k3,以加密接收到的哈希值hp1,k2(m1)和字符串str1,得到第二密文m2=[hp1,k2(m1),str1]⊕k3;
34、步骤(5):第m子数据源中的子加密模块从第m子数据源中的子存储模块中读取存储的量子安全身份id2m,从第m子数据源中的子密钥模块中获取密钥k4,使用密钥k4加密该量子安全身份id2m,得到第三密文m3=id2m⊕k4;
35、步骤(6):第m子数据源中的子哈希模块从第m子数据源中的子密钥模块中获取一个密钥作为随机数生成一个不可约多项式p2(x),记录该不可约多项式除最高项以外的系数为字符串str2,并从第m子数据源中的子密钥模块中获取密钥k5,基于该不可约多项式p2(x)和密钥k5生成哈希函数hp2,k5,使用该哈希函数计算第三密文m3的哈希值hp2,k5(m3),并将该哈希值hp2,k5(m3)和字符串str2发送给第m子数据源中的子加密模块;
36、步骤(7):第m子数据源中的子加密模块从第m子数据源中的子密钥模块中获取密钥k6,以加密接收到的哈希值hp2,k5(m3)和字符串str2,得到第四密文m4=[hp2,k5(m3),str2]⊕k6;
37、步骤(8):第m子数据源中的子加密模块将第一密文m1、第二密文m2和第四密文m4拼接为学习数据ldata=(m1,m2,m4)。
38、作为本发明的一种改进,所述步骤3的具体过程为:
39、第一解密模块从密钥模块中获取密钥k1对第一密文m1进行解密、获取密钥k3对第二密文m2进行解密、获取密钥k6对第四密文m4进行解密,得到解密后的原始学习数据data2m′、哈希值h′p1,k2(m1)、字符串str1′、哈希值h′p2,k5(m3)、和字符串str2′,将解密后的原始学习数据data2m′、哈希值h′p1,k2(m1)、和字符串str1′发送给认证模块的数据认证单元,将解密后的哈希值h′p2,k5(m3)、和字符串str2′发送给认证模块的身份认证单元;
40、认证模块进行数据认证:
41、数据认证单元从密钥模块中获取密钥k1,使用密钥k1与原始学习数据data2m′进行异或操作,得到密文m1′=data2m′⊕k1;数据认证单元基于字符串str1′生成不可约多项式p1′(x),基于该不可约多项式p1′(x)和密钥k2生成哈希函数h″p1,k2,使用该哈希函数h″p1,k2计算第一密文m1的哈希值h″p1,k2(m1);比对计算得到的哈希值h″p1,k2(m1)和解密得到的哈希值h′p1,k2(m1),若一致,则接下来对解密后的原始学习数据data2m′进行格式校对,若格式校对也通过,则数据认证通过,若格式校对不通过,则数据认证不通过,数据认证单元舍弃该条学习数据;若哈希值不一致,则数据认证不通过,数据认证单元舍弃该条学习数据;
42、认证模块进行身份认证:
43、身份认证单元从本地获取第m子数据源的量子安全身份id2m′,再从密钥模块中获取密钥k4,使用密钥k4与量子安全身份id2m′进行异或操作,得到密文m3′=id2m′⊕k4;身份认证单元基于字符串str2′生成不可约多项式p2′(x),基于该不可约多项式p1′(x)和密钥k5生成哈希函数h″p2,k5,使用该哈希函数h″p2,k5计算密文m3′的哈希值h″p2,k5(m3″);比对计算得到的哈希值h″p2,k5(m3″)和解密得到的哈希值h′p2,k5(m3),若一致,则身份认证通过;若不一致,则身份认证不通过,身份认证单元舍弃该条学习数据。
44、作为本发明的一种改进,所述步骤2的具体过程或者为:
45、步骤1):机器学习装置的加密模块和第m子数据源中的子加密模块协商一组密钥(k7,k8,k9),该组密钥分别存储在密钥模块和第m子数据源中的子密钥模块中;
46、步骤2):第m子数据源中的子加密模块从第m子数据源中的子存储模块中同时读取原始学习数据data2m和第m子数据源的量子安全身份id2m,将二者作为一个整体,使用密钥k7进行加密,获得第五密文m5=(data2m,id2m)⊕k7;
47、步骤3):第m子数据源中的子哈希模块计算第五密文m5的哈希值hp3,k8(m5),记录生成该哈希值所涉及到的不可约多项式的除最高项以外的系数为字符串str3,并将该哈希值hp3,k8(m5)和字符串str3发送给第m子数据源中的子加密模块;其中,生成哈希值hp3,k8(m5)的方法与步骤(3)或步骤(6)中的哈希计算方法一致;
48、步骤4):第m子数据源中的子加密模块从第m子数据源中的子密钥模块中获取密钥k9,以加密接收到的哈希值和字符串str3,得到第六密文
49、步骤5):第m子数据源中的子加密模块拼接第五密文m5和第六密文m6为学习数据ldata=(m5,m6);
50、所述步骤3的具体过程或者为:
51、第一解密模块从密钥模块中获取密钥k7对第五密文m5进行解密、获取密钥k9对第六密文m6进行解密,得到解密后的原始学习数据data2m′、量子安全身份id2m′、哈希值字符串str3′,将解密后的原始学习数据data2m′、量子安全身份id2m′、哈希值字符串str3′发送给认证模块的数据认证单元和身份认证单元;
52、认证模块进行数据认证:
53、数据认证单元从密钥模块中获取密钥k7,使用密钥k7与原始学习数据data2m′、量子安全身份id2m′进行异或操作,得到密文m5′=(data2m′,id2m′)⊕k7;数据认证单元基于字符串str3′生成不可约多项式p3′(x),并从密钥模块中获取密钥k8,基于该不可约多项式p3′(x)和密钥k8生成哈希函数使用该哈希函数计算密文m5′的哈希值比对计算得到的哈希值和解密得到的哈希值若一致,则接下来对解密后的原始学习数据data2m′进行格式校对,若格式校对也通过,则数据认证通过,若格式校对不通过,则数据认证不通过,数据认证单元舍弃该条学习数据;若哈希值不一致,则数据认证不通过,数据认证单元舍弃该条学习数据;
54、认证模块进行身份认证:
55、身份认证单元从本地获取第m子数据源的量子安全身份id2m″,比对接收到的量子安全身份id2m′和从本地获取的量子安全身份id2m″,若一致,则身份认证通过;若不一致,则身份认证不通过,身份认证单元舍弃该条学习数据。
56、作为本发明的一种改进,所述机器学习方法应用于上文所述的隐私计算环境下的机器学习系统,所述机器学习方法还包括:
57、步骤6:应用端向机器学习装置发送新数据,机器学习装置基于生成的机器学习模型module对所述新数据进行预测,生成预测结果数据并返回应用端。
58、作为本发明的一种改进,所述步骤6的具体过程为:
59、步骤(6-1):应用端经由第二输入接口将需要进行预测的新数据datain发送至机器学习装置的第二解密模块,第二解密模块对接收到的所述新数据datain执行解密操作,将解密后的新数据datain′发送至机器学习模块;
60、步骤(6-2):机器学习模块使用步骤5中生成的机器学习模型module处理解密后的新数据datain′后获得预测结果pre-data并发送至加密模块;
61、步骤(6-3):加密模块对所述预测结果pre-data执行加密操作,得到第七密文m7;其中,所述解密操作和所述加密操作所使用的密钥均从密钥模块中获取;
62、步骤(6-4):机器学习装置经由输出接口将第七密文m7发送至应用端,以供应用端中的应用使用。
63、本发明的有益效果:
64、1、本发明提出的机器学习装置中隐私计算环境的存在可以使得学习数据“可用而不可见”,避免了非法学习数据源分析明文状态下的合法学习数据,从而伪造与该合法学习数据具有相同数据结构的非法学习数据的情况,非法学习数据的伪造变得更加困难;
65、2、合法学习数据源使用一种加密算法对学习数据进行加密,机器学习装置采用与该加密算法相对应的解密算法进行解密操作,只有合法的学习数据在解密后能被识别,非法的学习数据在经过解密操作后会变成无法被识别的乱码,从而将非法的学习数据筛选出来;
66、3、通过本发明提出的机器学习系统和方法,可以剔除掉大量学习数据中的非法学习数据,使得机器学习只学习合法的学习数据,提升了机器学习生成的模型的准确性;这里的非法学习数据也包括了例如攻击人类之类的具有伤害指示的学习数据,通过剔除这类非法学习数据,提升了机器学习生成的模型的安全性。
本文地址:https://www.jishuxx.com/zhuanli/20240730/194860.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。