CN113553610B - 基于同态加密和可信硬件的多方隐私保护机器学习方法 - Google Patents

基于同态加密和可信硬件的多方隐私保护机器学习方法 Download PDF

Info

Publication number
CN113553610B
CN113553610B CN202111103182.1A CN202111103182A CN113553610B CN 113553610 B CN113553610 B CN 113553610B CN 202111103182 A CN202111103182 A CN 202111103182A CN 113553610 B CN113553610 B CN 113553610B
Authority
CN
China
Prior art keywords
ciphertext
data
machine learning
trusted hardware
server
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
CN202111103182.1A
Other languages
English (en)
Other versions
CN113553610A (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.)
Shenzhen Graduate School Harbin Institute of Technology
Original Assignee
Shenzhen Graduate School Harbin Institute of Technology
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 Shenzhen Graduate School Harbin Institute of Technology filed Critical Shenzhen Graduate School Harbin Institute of Technology
Priority to CN202111103182.1A priority Critical patent/CN113553610B/zh
Publication of CN113553610A publication Critical patent/CN113553610A/zh
Application granted granted Critical
Publication of CN113553610B publication Critical patent/CN113553610B/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
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/127Trusted platform modules [TPM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0464Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload using hop-by-hop encryption, i.e. wherein an intermediate entity decrypts the information and re-encrypts it before forwarding it

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于同态加密和可信硬件的多方隐私保护机器学习方法,包括:将私钥sk发送给各个数据方
Figure DEST_PATH_IMAGE001
和可信硬件R;服务器S整合各个数据方上传的密文数据
Figure 491959DEST_PATH_IMAGE002
得到密文数据集
Figure DEST_PATH_IMAGE003
;服务器S在密文数据集
Figure 18886DEST_PATH_IMAGE003
的基础上,将普通机器学习算法中的线性运算替换为同态加法和同态乘法,在密文状态下进行机器学习建模;服务器S在完成密文下的机器学习建模后,将加密的模型密文
Figure 1886DEST_PATH_IMAGE004
下发给各个数据方
Figure 66269DEST_PATH_IMAGE001
;各个数据方
Figure 349483DEST_PATH_IMAGE001
利用私钥
Figure DEST_PATH_IMAGE005
解密模型密文
Figure 47312DEST_PATH_IMAGE004
,得到由各个数据方
Figure 48766DEST_PATH_IMAGE001
的数据D训练得到的模型
Figure 185349DEST_PATH_IMAGE006
。本发明利用全同态加密的性质、以及依靠可信硬件实现的模拟自举和执行激活函数功能,能够获得与对未加密数据进行机器学习训练的模型一致的准确率。

Description

基于同态加密和可信硬件的多方隐私保护机器学习方法
技术领域
本发明属于机器学习的技术领域,具体涉及一种基于同态加密和可信硬件的多方隐私保护机器学习方法。
背景技术
近些年来,随着各行各业用户数据量的激增,越来越多的企业倾向于使用机器学习算法构建模型来获得更多的收益以及为用户提供更好地服务。然而,使用用户数据进行机器学习建模面临着两个重要的问题:1.因为数据量庞大,需要使用算力强大的云服务进行机器学习建模,而直接将本地的用户数据上传至服务器必定会导致用户数据隐私的泄露;2.随着行业、企业、部门分工的不断深入,完整的用户数据往往分散在同一行业不同企业、同一企业不同部门之中,产生严重的数据壁垒,引发数据孤岛问题,本地较小的数据样本数量是的机器学习建模的泛化能力较差。这两个限制使得机器学习技术在企业的应用受到很大的限制。隐私保护机器学习应运而生,这是一种能够保证数据安全的机器学习建模方法,在极高的安全性下对数据进行整合,各方通过多方协议,实现多方合作,在遵守隐私保护相关法律法规的前提下解决数据的孤岛问题,构建更为泛化的机器学习模型。
隐私保护机器学习方案的实现是将隐私保护技术应用到机器学习技术中去,因此隐私保护机器学习方案的效率、效果、安全性等与所采用的隐私保护工具密切相关。与安全多方计算、差分隐私等常见的隐私保护工具相比,同态加密技术能够在极高的安全性下对密文进行特定的算术运算,非常适合用于多方隐私保护机器学习场景。但是同态加密依然具有运算效率低、只能进行乘法和加法运算等缺点,造成机器学习建模的效率低下、准确率损失。
为了实现隐私保护下的机器学习建模,很多隐私保护工具被广泛地应用到多方机器学习建模中去,其中最有代表性的是近些年来兴起的联邦学习技术,联邦学习常见的隐私保护工具有以下几种:
基于安全多方计算的联邦学习方案,主要有以下两点缺点:1.算法设计难度大。安全多方计算涉及到的技术和算法非常多,包括秘密共享、混淆电路、不经意传输等,每种性能优缺点等都不一样,在具体的联邦学习应用中,需要配合其他技术对这些算法进行灵活组合运用,以满足业务要求,实际难度很高;2. 计算量大、网络通信量大,效率低。计算方之间对可用网络带宽和网络延迟的高度依赖会严重影响安全多方计算的运行时间、内存分配以及传输的数据量。
基于同态加密的联邦学习方案,主要有以下两点缺点:1.模型聚合算法聚合各个数据方上传的梯度值,得到的模型的准确率相比直接对数据进行聚合然后进行训练相比有较大的损失,即联邦学习共同训练的效果不是很显著,与只利用本地数据进行机器学习建模相比并没有很大的提升;2.从上述基于同态加密的联邦学习流程可以看到,各个数据方在本地需要进行包含数据训练、加密解密等大量的计算,对于本地的计算能力有较高的要求,而云服务器仅仅进行模型的聚合操作,无法充分发挥出云服务器计算能力强大的特性。
基于差分隐私的联邦学习方案,主要有以下缺点:差分隐私通过向原始数据中添加噪声的方式来掩盖数据中的隐私信息,必然会导致数据的可用性下降,在机器学习这种对于数据较为敏感的应用场景下会对机器学习模型的准确率造成很大的影响;除此之外,差分隐私技术的安全性不高,会造成一定程度上的隐私数据泄露。
因此,本发明提出了一种基于同态加密和可信硬件的多方隐私保护机器学习方案,通过引入可信硬件来解决使用同态加密技术带来的。
发明内容
本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于同态加密和可信硬件的多方隐私保护机器学习方法,通过引入可信硬件来解决使用同态加密技术带来的机器学习建模的效率低下、准确率损失的问题。
为了达到上述目的,本发明采用以下技术方案:
本发明一方面提供了一种基于同态加密和可信硬件的多方隐私保护机器学习方法,包括下述步骤:
由密钥生成中心进行同态加密方案的初始化、生成公钥
Figure 747947DEST_PATH_IMAGE001
、私钥
Figure 594549DEST_PATH_IMAGE002
和评估密钥
Figure 22120DEST_PATH_IMAGE003
,然后将初始化参数
Figure 411513DEST_PATH_IMAGE004
、公钥
Figure 262575DEST_PATH_IMAGE001
和评估密钥
Figure 737418DEST_PATH_IMAGE003
发送给各个数据方
Figure 827734DEST_PATH_IMAGE005
、服务器S和可信硬件
Figure 71634DEST_PATH_IMAGE006
三者进行初始化,将私钥
Figure 356247DEST_PATH_IMAGE002
发送给各个数据方
Figure 583966DEST_PATH_IMAGE005
和可信硬件
Figure 946814DEST_PATH_IMAGE006
各个数据方
Figure 45220DEST_PATH_IMAGE005
将自己本地的数据
Figure 497805DEST_PATH_IMAGE007
使用公钥
Figure 681661DEST_PATH_IMAGE001
加密,将密文
Figure 254725DEST_PATH_IMAGE008
上传至服务器,服务器S整合各个数据方上传的密文数据
Figure 473217DEST_PATH_IMAGE008
得到密文数据集
Figure 332589DEST_PATH_IMAGE009
服务器S在密文数据集
Figure 505206DEST_PATH_IMAGE009
的基础上,将普通机器学习算法中的线性运算替换为同态加法和同态乘法,对密文数据集
Figure 475436DEST_PATH_IMAGE009
进行机器学习建模训练;所述机器学习建模训练过程中需要对密文数据进行噪声消减和机器学习激活函数计算;所述噪声消减是利用可信硬件
Figure 814014DEST_PATH_IMAGE010
对密文解密后重新加密;所述激活函数计算是利用可信硬件
Figure 844287DEST_PATH_IMAGE006
对密文进行解密后在明文状态下执行非线性激活函数并将结果加密;
服务器S在完成密文下的机器学习建模后,将加密的模型密文
Figure 518849DEST_PATH_IMAGE011
下发给各个数据方
Figure 558349DEST_PATH_IMAGE005
各个数据方
Figure 17012DEST_PATH_IMAGE005
利用私钥
Figure 218186DEST_PATH_IMAGE002
解密模型密文
Figure 739297DEST_PATH_IMAGE011
,得到由各个数据方
Figure 818374DEST_PATH_IMAGE005
的数据
Figure 865965DEST_PATH_IMAGE012
训练得到的模型
Figure 238040DEST_PATH_IMAGE013
优选的,所述各个数据方
Figure 371081DEST_PATH_IMAGE005
将自己本地的数据
Figure 985340DEST_PATH_IMAGE007
使用公钥加密之前,还包括下述步骤:
各个数据方
Figure 887437DEST_PATH_IMAGE005
准备自己本地的数据
Figure 430414DEST_PATH_IMAGE007
,对自己本地的数据
Figure 50751DEST_PATH_IMAGE007
进行预处理、提取特征,为机器学习建模做准备。
优选的,所述服务器S整合各个数据方上传的密文数据
Figure 471630DEST_PATH_IMAGE008
得到密文数据集
Figure 759392DEST_PATH_IMAGE009
,具体为:
i个数据方
Figure 473270DEST_PATH_IMAGE005
上传的密文数据
Figure 315324DEST_PATH_IMAGE008
是一个
Figure 913796DEST_PATH_IMAGE014
的密文矩阵,即
Figure 294879DEST_PATH_IMAGE005
上传的数据共有
Figure 445238DEST_PATH_IMAGE015
条,每条数据包含标签值在内共有
Figure 774588DEST_PATH_IMAGE016
个值,服务器S将所有数据方上传的密文矩阵直接聚合,得到的密文数据集
Figure 35805DEST_PATH_IMAGE009
是一个
Figure 268466DEST_PATH_IMAGE017
的矩阵,其中,
Figure 324146DEST_PATH_IMAGE018
,即服务器将所有数据方上传的数据拼在一起得到共
Figure 140793DEST_PATH_IMAGE019
条数据,每条数据包含标签值在内共有
Figure 471280DEST_PATH_IMAGE016
个值,共
Figure 555517DEST_PATH_IMAGE017
个密文。
优选的,所述将普通机器学习算法中的线性运算替换为同态加法和同态乘法,具体为:
为了在密文状态下进行机器学习训练,将机器学习算法中常用的内积运算、多项式运算等全部拆分为基本的加法和乘法运算,然后将其替换为同态加密所支持的密文下的同态加法和同态乘法操作。
优选的,所述噪声消减具体为:
当密文数据
Figure 782099DEST_PATH_IMAGE020
需要进行噪声消减,则:
服务器S将需要消减噪声的密文
Figure 351621DEST_PATH_IMAGE021
发送给可信硬件
Figure 689061DEST_PATH_IMAGE006
可信硬件
Figure 630735DEST_PATH_IMAGE010
对密文进行解密
Figure 293797DEST_PATH_IMAGE022
,然后对解密结果
Figure 819456DEST_PATH_IMAGE023
重新进行加密得到
Figure 491746DEST_PATH_IMAGE024
,新密文
Figure 279137DEST_PATH_IMAGE025
与原有密文
Figure 254046DEST_PATH_IMAGE021
所加密的内容完全一致,但是由于
Figure 267002DEST_PATH_IMAGE025
是一个新鲜的密文,其包含的噪声与
Figure 477403DEST_PATH_IMAGE021
相比少很多,达到消减噪声的效果;
可信硬件
Figure 892204DEST_PATH_IMAGE006
将完成噪声消减的密文
Figure 398534DEST_PATH_IMAGE025
发送至服务器S进行后续计算。
优选的,所述激活函数计算具体为:
如果密文数据
Figure 633206DEST_PATH_IMAGE026
需要进行激活函数计算,则:
服务器S将需要进行激活函数
Figure 381719DEST_PATH_IMAGE021
运算密文发送给可信硬件
Figure 8616DEST_PATH_IMAGE006
可信硬件
Figure 184383DEST_PATH_IMAGE006
对密文进行解密
Figure 312876DEST_PATH_IMAGE027
,在明文状态下执行非线性激活函数得到结果
Figure 599501DEST_PATH_IMAGE028
,为了避免激活函数的结果泄露隐私信息,将其加密得到
Figure 988894DEST_PATH_IMAGE029
可信硬件
Figure 571447DEST_PATH_IMAGE010
将完成激活函数运算密文结果
Figure 311870DEST_PATH_IMAGE025
发送至服务器S进行后续计算。
优选的,所述机器学习建模支持各种类型的机器学习建模算法,包括线性回归、逻辑回归或支持向量机等算法。
本发明又一方面提供了一种基于同态加密和可信硬件的多方隐私保护机器学习系统,应用于所述的基于同态加密和可信硬件的多方隐私保护机器学习方法,包括预处理模块、公钥加密模块、机器学习模块、模型密文发送模块以及私钥解密模块;
所述预处理模块,用于由密钥生成中心进行同态加密方案的初始化、生成公钥
Figure 402186DEST_PATH_IMAGE001
、私钥
Figure 646085DEST_PATH_IMAGE002
和评估密钥
Figure 668049DEST_PATH_IMAGE003
,然后将初始化参数
Figure 630189DEST_PATH_IMAGE004
、公钥
Figure 258616DEST_PATH_IMAGE001
和评估密钥
Figure 622601DEST_PATH_IMAGE003
发送给各个数据方
Figure 812536DEST_PATH_IMAGE005
、服务器S和可信硬件
Figure 996393DEST_PATH_IMAGE006
三者进行初始化,将私钥
Figure 694091DEST_PATH_IMAGE002
发送给各个数据方
Figure 912582DEST_PATH_IMAGE005
和可信硬件
Figure 270489DEST_PATH_IMAGE006
所述公钥加密模块,用于各个数据方
Figure 676063DEST_PATH_IMAGE005
将自己本地的数据
Figure 911872DEST_PATH_IMAGE007
使用公钥加密,将密文
Figure 984870DEST_PATH_IMAGE008
上传至服务器,服务器S整合各个数据方上传的密文数据
Figure 251029DEST_PATH_IMAGE008
得到密文数据集
Figure 409478DEST_PATH_IMAGE009
所述机器学习模块,用于服务器S在密文数据集
Figure 183398DEST_PATH_IMAGE009
的基础上,将普通机器学习算法中的线性运算替换为同态加法和同态乘法,在密文状态下进行机器学习建模;所述机器学习建模包括对密文数据进行噪声消减和激活函数计算;所述噪声消减是利用可信硬件
Figure 110903DEST_PATH_IMAGE010
对密文解密后重新加密;所述激活函数计算是利用可信硬件
Figure 93770DEST_PATH_IMAGE006
对密文进行解密后在明文状态下执行非线性激活函数再将所得结果加密;
所述模型密文发送模块,用于服务器S在完成密文下的机器学习建模后,将加密的模型密文
Figure 739515DEST_PATH_IMAGE011
下发给各个数据方
Figure 317127DEST_PATH_IMAGE005
所述私钥解密模块,用于各个数据方
Figure 99138DEST_PATH_IMAGE005
利用私钥
Figure 612159DEST_PATH_IMAGE002
解密模型密文
Figure 246665DEST_PATH_IMAGE011
,得到由各个数据方
Figure 362388DEST_PATH_IMAGE005
的数据
Figure 264485DEST_PATH_IMAGE030
训练得到的模型
Figure 73041DEST_PATH_IMAGE013
本发明又一方面提供了一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序指令,所述计算机程序指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行所述的基于同态加密和可信硬件的多方隐私保护机器学习方法。
本发明再一方面提供了一种计算机可读存储介质,存储有程序,所述程序被处理器执行时,实现所述的基于同态加密和可信硬件的多方隐私保护机器学习方法。
本发明与现有技术相比,具有如下优点和有益效果:
1.本发明利用全同态加密方案支持密文加法和密文乘法的特性,数据方将本地的数据加密后上传至服务器,服务器整合所有的密文数据后,在密文形式下完成机器学习的建模,其准确率与直接整合明文数据进行机器学习建模的准确率一致;
2.借助于可信硬件,实现可信环境下的对密文先解密、再加密的操作来“模拟自举”,以一种低运算成本的方式来消减密文中的噪声,以便继续后续计算。密钥生成中心将公钥、私钥等密钥发送至可信硬件,服务器开始训练后,利用与可信硬件的交互,完成解密、再加密操作来模拟自举消减噪声,因此服务器可以完成任意的机器学习建模计算;
3.由于全同态加密的特性,密文计算只能进行密文加法和密文乘法运算,即只能进行密文的线性运算,因此机器学习建模的过程中非线性的激活函数如Sigmoid无法直接进行密文下的运算,常见的解决方法是利用泰勒展开来近似激活函数。而低阶的泰勒展开会使得准确率降低,高阶的泰勒展开会严重降低运算效率。本发明利用可信硬件来完成激活函数的运算,服务器在机器学习建模的过程中,将需要进行激活函数运算的密文发送给可信硬件,可信硬件解密后明文状态下进行非线性的激活函数运算,然后加密发给至服务器,完成激活函数的运算。上述过程跟明文训练相比、准确率不会因为非线性激活函数而下降,能取得与明文训练一样的效果,并且运算效率也较高。与完全在密文状态下进行训练相比,由可信硬件完成模拟自举和激活函数运算的操作能够可以避免大量效率极低的同态运算从而大幅提高效率以及避免了激活函数线性化所带来的准确率损失;
4.本发明所使用的全同态加密方案基于格上RLWE困难问题,具有抗量子攻击的安全性,因此数据方与服务器之间、服务器与可信硬件之间的密文传输有极高的安全性保证;
5.本发明所提出的隐私保护机器学习方案中,数据方仅仅需要将自己本地数据加密、上传至服务器,待服务器上的机器学习建模结束后,数据方解密梯度值即可得到整合所有数据训练得到的模型,数据方本地无需进行其他操作,因此对于数据方的算力要求较低,具有更高的可行性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例基于同态加密和可信硬件的多方隐私保护机器学习方法的流程图。
图2为本发明实施例基于同态加密和可信硬件的多方隐私保护机器学习系统的方框图。
图3为本发明实施例电子设备的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。
机器学习:机器学习是人工智能的一个分支,对能通过经验自动改进的计算机算法的研究;机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。
同态加密:同态加密是一种加密算法,允许对密文进行特定形式的代数运算后,对结果密文进行解密,可以得到对明文进行相同运算的结果,借助同态加密,能够在保护隐私不泄露的同时实现对数据的运算。
可信硬件:通过硬件隔离手段对涉及隐私数据的运算和操作进行保护。在不破解硬件的前提下,攻击者无法直接读取其中的隐私数据和系统密钥,由此保障了数据的机密性。同时,攻击者无法通过固化的硬件逻辑和硬件层面篡改检测,以此确保相关系统运行过程不被恶意篡改。
本发明所使用的全同态加密方案为CKKS方案,CKKS方案是由Cheon等人于2017年提出,支持对浮点数和复数的加密,非常适合用于隐私保护机器学习场景;CKKS同态加密方案包含8个主要的函数,以下是其详细的定义:
1.
Figure 191914DEST_PATH_IMAGE031
:输入安全参数
Figure 845749DEST_PATH_IMAGE032
,生成密文模数
Figure 602352DEST_PATH_IMAGE033
,然后由
Figure 581810DEST_PATH_IMAGE032
Figure 925329DEST_PATH_IMAGE033
生成整数h、P和实数
Figure 382855DEST_PATH_IMAGE034
。然后以h为汉明重量,从
Figure 259544DEST_PATH_IMAGE035
选取一个向量作为s,从
Figure 144323DEST_PATH_IMAGE036
中选取
Figure 978068DEST_PATH_IMAGE037
,从
Figure 239285DEST_PATH_IMAGE038
中选取
Figure 970481DEST_PATH_IMAGE039
,以
Figure 26161DEST_PATH_IMAGE040
为高斯分布的方差生成两个随机数
Figure 344272DEST_PATH_IMAGE041
Figure 143601DEST_PATH_IMAGE042
。根据上述参数,生成私钥
Figure 994883DEST_PATH_IMAGE002
、公钥
Figure 221465DEST_PATH_IMAGE001
和评估密钥
Figure 23942DEST_PATH_IMAGE003
Figure 361382DEST_PATH_IMAGE043
Figure 332750DEST_PATH_IMAGE044
Figure 464654DEST_PATH_IMAGE045
2.
Figure 757357DEST_PATH_IMAGE046
:输入一个消息向量
Figure 898488DEST_PATH_IMAGE047
和比例因子
Figure 458783DEST_PATH_IMAGE048
,输出一个对应的明文多项式
Figure 292746DEST_PATH_IMAGE049
3.
Figure 798378DEST_PATH_IMAGE050
:输入一个明文多项式
Figure 743200DEST_PATH_IMAGE049
和比例因子
Figure 158001DEST_PATH_IMAGE048
,输出对应的
Figure 162866DEST_PATH_IMAGE047
4.
Figure 164582DEST_PATH_IMAGE051
:输入明文多项式m和公钥
Figure 647516DEST_PATH_IMAGE001
,首先从
Figure 182403DEST_PATH_IMAGE035
中选取向量
Figure 623748DEST_PATH_IMAGE052
,然后以
Figure 844252DEST_PATH_IMAGE040
为高斯分布的方差生成两个随机数
Figure 130877DEST_PATH_IMAGE053
Figure 254690DEST_PATH_IMAGE054
,输出密文:
Figure 601358DEST_PATH_IMAGE055
5.
Figure 577667DEST_PATH_IMAGE056
:输入密文
Figure 667982DEST_PATH_IMAGE057
和私钥
Figure 646303DEST_PATH_IMAGE002
,输出明文
Figure 898292DEST_PATH_IMAGE058
Figure 364827DEST_PATH_IMAGE059
6.
Figure 993254DEST_PATH_IMAGE060
:输入两个密文
Figure 622819DEST_PATH_IMAGE061
Figure 45710DEST_PATH_IMAGE062
,输出密文之和
Figure 996610DEST_PATH_IMAGE063
Figure 428729DEST_PATH_IMAGE064
7.
Figure 381641DEST_PATH_IMAGE065
:输入两个密文
Figure 241013DEST_PATH_IMAGE066
Figure 410701DEST_PATH_IMAGE067
,设
Figure 646510DEST_PATH_IMAGE068
Figure 735820DEST_PATH_IMAGE069
d表示两个密文的乘积,输出d的重线性化形式:
Figure 766093DEST_PATH_IMAGE070
其中
Figure 706234DEST_PATH_IMAGE071
运算符表示舍入到最近的整数。
8.
Figure 480155DEST_PATH_IMAGE072
:输入一个密文c,将其密文模数由
Figure 407660DEST_PATH_IMAGE073
变为
Figure 608834DEST_PATH_IMAGE074
,一般用在密文乘法之后的线性化步骤中:
Figure 395525DEST_PATH_IMAGE075
本申请借助于全同态加密技术支持密文加法和密文乘法的特性,实现了对数据方的加密数据整合后进行密文训练。负责的机器学习建模任务由算力强大的云服务器完成,数据方仅仅需要将本地的数据加密上传,待服务器完成机器学习建模后解密服务器下发的模型梯度值即可获得整合所有数据训练得到的模型。另外,得益于本申请所采用的全同态加密方案基于的格上RLWE困难问题,本申请的安全性有足够的保障。而现有方案多使用联邦学习的模型聚合技术,即数据方需要在本地进行机器学习建模然后进行梯度聚合操作,对本地的计算能力有较高的要求的同时,通过模型聚合得到的最终模型的准确率与直接聚合全部数据进行训练相比也会有所损失。
请参阅图1,在本申请的一个实施例中提供了一种基于同态加密和可信硬件的多方隐私保护机器学习方法,包括下述步骤:
1. 由密钥生成中心进行同态加密方案的初始化、生成公钥
Figure 209022DEST_PATH_IMAGE001
、私钥
Figure 256612DEST_PATH_IMAGE002
和评估密钥
Figure 894267DEST_PATH_IMAGE003
,然后将初始化参数
Figure 27308DEST_PATH_IMAGE004
、公钥
Figure 641567DEST_PATH_IMAGE001
和评估密钥
Figure 809243DEST_PATH_IMAGE003
发送给用户
Figure 352220DEST_PATH_IMAGE005
、服务器S和可信硬件
Figure 706978DEST_PATH_IMAGE010
三者进行初始化,将私钥
Figure 127857DEST_PATH_IMAGE002
发送给数据方和可信硬件,以便后续使用。
2. 各个数据方
Figure 150040DEST_PATH_IMAGE005
准备自己本地的数据
Figure 863918DEST_PATH_IMAGE007
,对其进行预处理、提取特征等,为机器学习建模做准备。
3. 各个数据方
Figure 971551DEST_PATH_IMAGE005
将自己本地的数据
Figure 933472DEST_PATH_IMAGE007
使用公钥加密,将密文
Figure 544582DEST_PATH_IMAGE008
上传至服务器。
4.服务器S整合各个数据方上传的密文数据
Figure 835886DEST_PATH_IMAGE008
得到密文数据集
Figure 165236DEST_PATH_IMAGE009
5.服务器S在密文数据集
Figure 426453DEST_PATH_IMAGE009
的基础上,利用全同态加密能够对密文实现同态加法和同态乘法计算的特性,将普通机器学习算法中的线性运算替换为同态加法和同态乘法,在密文状态下进行机器学习建模。
在第5步中,如果密文数据
Figure 659114DEST_PATH_IMAGE020
需要进行噪声消减,则:
6. 服务器S将需要消减噪声的密文c发送给可信硬件
Figure 980374DEST_PATH_IMAGE010
7.可信硬件
Figure 797020DEST_PATH_IMAGE010
对密文进行解密
Figure 596349DEST_PATH_IMAGE022
,然后对解密结果
Figure 680586DEST_PATH_IMAGE023
重新进行加密得到
Figure 438326DEST_PATH_IMAGE024
,可知新密文
Figure 476689DEST_PATH_IMAGE025
与原有密文
Figure 79709DEST_PATH_IMAGE021
所加密的内容完全一致,但是由于
Figure 286962DEST_PATH_IMAGE025
是一个新鲜的密文,其包含的噪声与
Figure 684445DEST_PATH_IMAGE021
相比少很多,因此达到了消减噪声的效果;
8. 可信硬件
Figure 475684DEST_PATH_IMAGE006
将完成噪声消减的密文
Figure 616815DEST_PATH_IMAGE025
发送至服务器S进行后续计算。
在第5步中,如果密文数据
Figure 669785DEST_PATH_IMAGE026
需要进行激活函数计算,则:
9. 服务器
Figure 238170DEST_PATH_IMAGE076
将需要进行激活函数
Figure 782283DEST_PATH_IMAGE021
运算密文发送给可信硬件
Figure 461526DEST_PATH_IMAGE006
10.可信硬件
Figure 643371DEST_PATH_IMAGE010
对密文进行解密
Figure 648236DEST_PATH_IMAGE027
,在明文状态下执行非线性激活函数得到结果
Figure 148488DEST_PATH_IMAGE028
,为了避免激活函数的结果泄露隐私信息,将其加密得到
Figure 631422DEST_PATH_IMAGE029
11.可信硬件
Figure 664843DEST_PATH_IMAGE006
将完成计算函数运算密文结果
Figure 575031DEST_PATH_IMAGE025
发送至服务器S进行后续计算。
12.经过上述步骤,服务器S在完成密文下的机器学习建模后,将加密的模型
Figure 562578DEST_PATH_IMAGE011
下发给所有的数据方
Figure 583624DEST_PATH_IMAGE005
13.数据方
Figure 474482DEST_PATH_IMAGE005
利用私钥
Figure 821149DEST_PATH_IMAGE002
解密模型密文
Figure 295993DEST_PATH_IMAGE011
,即可得到由所有数据方的数据
Figure 386309DEST_PATH_IMAGE012
训练得到的模型
Figure 134603DEST_PATH_IMAGE013
本申请采用可信硬件技术实现模拟自举和执行激活函数,为了加速密文训练过程、提高密文训练效率,本发明所采用的全同态加密方案摒弃了原有的效率极低的自举操作,而是通过可信硬件对密文的解密、再加密的方法来消减密文中的噪声。另外,为了降低采用线性化激活函数对于模型准确率的影响,本发明采用可信硬件解密密文、然后执行非线性激活函数、然后再加密并将密文传输给服务器的做法,使得密文训练的准确率与明文训练的准确率完全一致。已有的一些基于全同态加密的密文训练往往采用自举操作和线性化激活函数,不仅严重影响了整体的效率,而且一定程度上造成了模型准确率的损失。
需要说明的是,对于前述的各方法实施例,为了简便描述,将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。
基于与上述实施例中的基于同态加密和可信硬件的多方隐私保护机器学习方法相同的思想,本发明还提供了基于同态加密和可信硬件的多方隐私保护机器学习系统,该系统可用于执行上述基于同态加密和可信硬件的多方隐私保护机器学习方法。为了便于说明,基于同态加密和可信硬件的多方隐私保护机器学习系统实施例的结构示意图中,仅仅示出了与本发明实施例相关的部分,本领域技术人员可以理解,图示结构并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
请参阅图2,在本申请的另一个实施例中,提供了一种基于同态加密和可信硬件的多方隐私保护机器学习系统100,该系统包括预处理模块101、公钥加密模块102、机器学习模块103、模型密文发送模块104以及私钥解密模块105;
所述预处理模块101,用于由密钥生成中心进行同态加密方案的初始化、生成公钥
Figure 652172DEST_PATH_IMAGE001
、私钥
Figure 614312DEST_PATH_IMAGE002
和评估密钥
Figure 242739DEST_PATH_IMAGE003
,然后将初始化参数
Figure 842610DEST_PATH_IMAGE004
、公钥
Figure 531080DEST_PATH_IMAGE001
和评估密钥
Figure 980516DEST_PATH_IMAGE003
发送给各个数据方
Figure 147055DEST_PATH_IMAGE005
、服务器S和可信硬件
Figure 506493DEST_PATH_IMAGE006
三者进行初始化,将私钥
Figure 723454DEST_PATH_IMAGE002
发送给各个数据方
Figure 394607DEST_PATH_IMAGE005
和可信硬件
Figure 630416DEST_PATH_IMAGE010
所述公钥加密模块102,用于各个数据方
Figure 204879DEST_PATH_IMAGE005
将自己本地的数据
Figure 376097DEST_PATH_IMAGE007
使用公钥加密,将密文
Figure 393601DEST_PATH_IMAGE008
上传至服务器,服务器S整合各个数据方上传的密文数据
Figure 42888DEST_PATH_IMAGE008
得到密文数据集
Figure 235972DEST_PATH_IMAGE009
所述机器学习模块103,用于服务器S在密文数据集
Figure 953259DEST_PATH_IMAGE009
的基础上,将普通机器学习算法中的线性运算替换为同态加法和同态乘法,在密文状态下进行机器学习建模;所述机器学习建模包括对密文数据进行噪声消减和激活函数计算;所述噪声消减是利用可信硬件
Figure 599004DEST_PATH_IMAGE010
对密文解密后重新加密;所述激活函数计算是利用可信硬件
Figure 911037DEST_PATH_IMAGE010
对密文进行解密后在明文状态下执行非线性激活函数;
所述模型密文发送模块104,用于服务器S在完成密文下的机器学习建模后,将加密的模型密文
Figure 958627DEST_PATH_IMAGE011
下发给各个数据方
Figure 832168DEST_PATH_IMAGE005
所述私钥解密模块105,用于各个数据方
Figure 965209DEST_PATH_IMAGE005
利用私钥
Figure 80932DEST_PATH_IMAGE002
解密模型密文
Figure 983029DEST_PATH_IMAGE011
,得到由各个数据方
Figure 24541DEST_PATH_IMAGE005
的数据
Figure 379299DEST_PATH_IMAGE030
训练得到的模型
Figure 564293DEST_PATH_IMAGE013
更进一步的,所述机器学习模块包括噪声消减模块和激活函数计算;
所述噪声消减模块的实现过程如下:
当密文数据
Figure 320896DEST_PATH_IMAGE020
需要进行噪声消减,则:
服务器S将需要消减噪声的密文
Figure 536239DEST_PATH_IMAGE021
发送给可信硬件
Figure 643873DEST_PATH_IMAGE006
可信硬件
Figure 101399DEST_PATH_IMAGE006
对密文进行解密
Figure 978088DEST_PATH_IMAGE022
,然后对解密结果
Figure 632841DEST_PATH_IMAGE023
重新进行加密得到
Figure 696612DEST_PATH_IMAGE024
,新密文
Figure 957829DEST_PATH_IMAGE025
与原有密文
Figure 689025DEST_PATH_IMAGE021
所加密的内容完全一致,但是由于
Figure 511749DEST_PATH_IMAGE025
是一个新鲜的密文,其包含的噪声与
Figure 62816DEST_PATH_IMAGE021
相比少很多,达到消减噪声的效果;
可信硬件
Figure 127724DEST_PATH_IMAGE006
将完成噪声消减的密文
Figure 713427DEST_PATH_IMAGE025
发送至服务器S进行后续计算。
所述激活函数计算模块的实现过程如下:
如果密文数据
Figure 438544DEST_PATH_IMAGE026
需要进行激活函数计算,则:
服务器
Figure 742486DEST_PATH_IMAGE076
将需要进行激活函数
Figure 345506DEST_PATH_IMAGE021
运算密文发送给可信硬件
Figure 785714DEST_PATH_IMAGE006
可信硬件
Figure 950242DEST_PATH_IMAGE006
对密文进行解密
Figure 475901DEST_PATH_IMAGE027
,在明文状态下执行非线性激活函数得到结果
Figure 944928DEST_PATH_IMAGE028
,为了避免激活函数的结果泄露隐私信息,将其加密得到
Figure 997899DEST_PATH_IMAGE029
可信硬件
Figure 566283DEST_PATH_IMAGE010
将完成激活函数运算密文结果
Figure 844818DEST_PATH_IMAGE025
发送至服务器S进行后续计算。
需要说明的是,本发明的基于同态加密和可信硬件的多方隐私保护机器学习系统与本发明的基于同态加密和可信硬件的多方隐私保护机器学习方法一一对应,在上述基于同态加密和可信硬件的多方隐私保护机器学习方法的实施例阐述的技术特征及其有益效果均适用于基于同态加密和可信硬件的多方隐私保护机器学习的实施例中,具体内容可参见本发明方法实施例中的叙述,此处不再赘述,特此声明。
此外,上述实施例的基于同态加密和可信硬件的多方隐私保护机器学习系统的实施方式中,各程序模块的逻辑划分仅是举例说明,实际应用中可以根据需要,例如出于相应硬件的配置要求或者软件的实现的便利考虑,将上述功能分配由不同的程序模块完成,即将所述基于同态加密和可信硬件的多方隐私保护机器学习系统的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分功能。
请参阅图3,在一个实施例中,提供了一种实现基于同态加密和可信硬件的多方隐私保护机器学习方法的电子设备,所述电子设备200可以包括第一处理器201、第一存储器202和总线,还可以包括存储在所述第一存储器202中并可在所述第一处理器201上运行的计算机程序,如多方隐私保护机器学习程序203。
其中,所述第一存储器202至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述第一存储器202在一些实施例中可以是电子设备200的内部存储单元,例如该电子设备200的移动硬盘。所述第一存储器202在另一些实施例中也可以是电子设备200的外部存储设备,例如电子设备200上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(Flash Card)等。进一步地,所述第一存储器202还可以既包括电子设备200的内部存储单元也包括外部存储设备。所述第一存储器202不仅可以用于存储安装于电子设备200的应用软件及各类数据,例如多方隐私保护机器学习程序203的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述第一处理器201在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述第一处理器201是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述第一存储器202内的程序或者模块(例如联邦学习防御程序等),以及调用存储在所述第一存储器202内的数据,以执行电子设备200的各种功能和处理数据。
图3仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图3示出的结构并不构成对所述电子设备200的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
所述电子设备200中的所述第一存储器202存储的多方隐私保护机器学习程序203是多个指令的组合,在所述第一处理器201中运行时,可以实现:
由密钥生成中心进行同态加密方案的初始化、生成公钥
Figure 789640DEST_PATH_IMAGE001
、私钥
Figure 705906DEST_PATH_IMAGE002
和评估密钥
Figure 445192DEST_PATH_IMAGE003
,然后将初始化参数
Figure 945443DEST_PATH_IMAGE004
、公钥
Figure 693956DEST_PATH_IMAGE001
和评估密钥
Figure 461799DEST_PATH_IMAGE003
发送给各个数据方
Figure 371986DEST_PATH_IMAGE005
、服务器S和可信硬件
Figure 625113DEST_PATH_IMAGE006
三者进行初始化,将私钥
Figure 911737DEST_PATH_IMAGE002
发送给各个数据方
Figure 802595DEST_PATH_IMAGE005
和可信硬件
Figure 149263DEST_PATH_IMAGE006
各个数据方
Figure 358527DEST_PATH_IMAGE005
将自己本地的数据
Figure 448843DEST_PATH_IMAGE007
使用公钥加密,将密文
Figure 197137DEST_PATH_IMAGE008
上传至服务器,服务器
Figure 714706DEST_PATH_IMAGE076
整合各个数据方上传的密文数据
Figure 676846DEST_PATH_IMAGE008
得到密文数据集
Figure 305274DEST_PATH_IMAGE009
服务器S在密文数据集
Figure 905144DEST_PATH_IMAGE009
的基础上,将普通机器学习算法中的线性运算替换为同态加法和同态乘法,在密文状态下进行机器学习建模;所述机器学习建模包括对密文数据进行噪声消减和激活函数计算;所述噪声消减是利用可信硬件
Figure 593615DEST_PATH_IMAGE006
对密文解密后重新加密;所述激活函数计算是利用可信硬件
Figure 777471DEST_PATH_IMAGE006
对密文进行解密后在明文状态下执行非线性激活函数;
服务器S在完成密文下的机器学习建模后,将加密的模型密文
Figure 209590DEST_PATH_IMAGE011
下发给各个数据方
Figure 926617DEST_PATH_IMAGE005
各个数据方
Figure 785988DEST_PATH_IMAGE005
利用私钥
Figure 457141DEST_PATH_IMAGE002
解密模型密文
Figure 427371DEST_PATH_IMAGE011
,得到由各个数据方
Figure 1834DEST_PATH_IMAGE005
的数据
Figure 32107DEST_PATH_IMAGE012
训练得到的模型
Figure 190556DEST_PATH_IMAGE013
进一步地,所述电子设备200集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非易失性计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM (DRAM)、同步DRAM (SDRAM)、双数据率SDRAM (DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (10)

1.基于同态加密和可信硬件的多方隐私保护机器学习方法,其特征在于,包括下述步骤:
由密钥生成中心进行同态加密方案的初始化、生成公钥
Figure 322399DEST_PATH_IMAGE001
、私钥
Figure 973961DEST_PATH_IMAGE002
和评估密钥
Figure 816015DEST_PATH_IMAGE003
,然后将初始化参数
Figure 7962DEST_PATH_IMAGE004
、公钥
Figure 884651DEST_PATH_IMAGE001
和评估密钥
Figure 769430DEST_PATH_IMAGE003
发送给各个数据方
Figure 895518DEST_PATH_IMAGE005
、服务器S和可信硬件
Figure 156735DEST_PATH_IMAGE006
三者进行初始化,将私钥
Figure 887931DEST_PATH_IMAGE002
发送给各个数据方
Figure 678032DEST_PATH_IMAGE005
和可信硬件
Figure 760258DEST_PATH_IMAGE006
各个数据方
Figure 559586DEST_PATH_IMAGE005
将自己本地的数据
Figure 145288DEST_PATH_IMAGE007
使用公钥
Figure 637450DEST_PATH_IMAGE001
加密,将密文
Figure 675813DEST_PATH_IMAGE008
上传至服务器,服务器S整合各个数据方上传的密文数据
Figure 13253DEST_PATH_IMAGE008
得到密文数据集
Figure 719041DEST_PATH_IMAGE009
服务器S在密文数据集
Figure 116524DEST_PATH_IMAGE009
的基础上,将普通机器学习算法中的线性运算替换为同态加法和同态乘法,对密文数据集
Figure 907763DEST_PATH_IMAGE009
进行机器学习建模训练;所述机器学习建模训练过程中需要对密文数据进行噪声消减和机器学习激活函数计算;所述噪声消减是利用可信硬件
Figure 48894DEST_PATH_IMAGE006
对密文解密后重新加密;所述激活函数计算是利用可信硬件
Figure 609188DEST_PATH_IMAGE006
对密文进行解密后在明文状态下执行非线性激活函数并将结果加密;
服务器S在完成密文下的机器学习建模后,将加密的模型密文
Figure 115256DEST_PATH_IMAGE010
下发给各个数据方
Figure 151649DEST_PATH_IMAGE005
各个数据方
Figure 830892DEST_PATH_IMAGE005
利用私钥
Figure 245693DEST_PATH_IMAGE002
解密模型密文
Figure 250558DEST_PATH_IMAGE010
,得到由各个数据方
Figure 750809DEST_PATH_IMAGE005
的数据
Figure 233743DEST_PATH_IMAGE011
训练得到的模型
Figure 768630DEST_PATH_IMAGE012
2.根据权利要求1所述基于同态加密和可信硬件的多方隐私保护机器学习方法,其特征在于,所述各个数据方
Figure 741134DEST_PATH_IMAGE005
将自己本地的数据
Figure 728682DEST_PATH_IMAGE007
使用公钥加密之前,还包括下述步骤:
各个数据方
Figure 15306DEST_PATH_IMAGE005
准备自己本地的数据
Figure 139120DEST_PATH_IMAGE007
,对自己本地的数据
Figure 220209DEST_PATH_IMAGE007
进行预处理、提取特征,为机器学习建模做准备。
3.根据权利要求1所述基于同态加密和可信硬件的多方隐私保护机器学习方法,其特征在于,所述服务器S整合各个数据方上传的密文数据
Figure 695052DEST_PATH_IMAGE008
得到密文数据集
Figure 457472DEST_PATH_IMAGE009
,具体为:
i个数据方
Figure 29268DEST_PATH_IMAGE005
上传的密文数据
Figure 953361DEST_PATH_IMAGE008
是一个
Figure 915501DEST_PATH_IMAGE013
的密文矩阵,即
Figure 543929DEST_PATH_IMAGE005
上传的数据共有
Figure 642335DEST_PATH_IMAGE014
条,每条数据包含标签值在内共有
Figure 65226DEST_PATH_IMAGE015
个值,服务器S将所有数据方上传的密文矩阵直接聚合,得到的密文数据集
Figure 514662DEST_PATH_IMAGE009
是一个
Figure 743518DEST_PATH_IMAGE016
的矩阵,其中,
Figure 899692DEST_PATH_IMAGE017
,即服务器将所有数据方上传的数据拼在一起得到共
Figure 555802DEST_PATH_IMAGE018
条数据,每条数据包含标签值在内共有
Figure 430217DEST_PATH_IMAGE015
个值,共
Figure 462764DEST_PATH_IMAGE016
个密文。
4.根据权利要求1所述基于同态加密和可信硬件的多方隐私保护机器学习方法,其特征在于,所述将普通机器学习算法中的线性运算替换为同态加法和同态乘法,具体为:
为了在密文状态下进行机器学习训练,将机器学习算法中常用的内积运算、多项式运算全部拆分为基本的加法和乘法运算,然后将其替换为同态加密所支持的密文下的同态加法和同态乘法操作。
5.根据权利要求1所述基于同态加密和可信硬件的多方隐私保护机器学习方法,其特征在于,所述噪声消减具体为:
当密文数据
Figure 739024DEST_PATH_IMAGE019
需要进行噪声消减,则:
服务器S将需要消减噪声的密文
Figure 769297DEST_PATH_IMAGE020
发送给可信硬件
Figure 927746DEST_PATH_IMAGE006
可信硬件
Figure 701667DEST_PATH_IMAGE021
对密文进行解密
Figure 629172DEST_PATH_IMAGE022
,然后对解密结果
Figure 627084DEST_PATH_IMAGE023
重新进行加密得到
Figure 272829DEST_PATH_IMAGE024
,新密文
Figure 584861DEST_PATH_IMAGE025
与原有密文
Figure 632452DEST_PATH_IMAGE020
所加密的内容完全一致;
可信硬件
Figure 4527DEST_PATH_IMAGE006
将完成噪声消减的密文
Figure 137568DEST_PATH_IMAGE025
发送至服务器S进行后续计算。
6.根据权利要求1所述基于同态加密和可信硬件的多方隐私保护机器学习方法,其特征在于,所述激活函数计算具体为:
如果密文数据
Figure 253292DEST_PATH_IMAGE026
需要进行激活函数计算,则:
服务器S将需要进行激活函数
Figure 155389DEST_PATH_IMAGE020
运算密文发送给可信硬件
Figure 432786DEST_PATH_IMAGE006
可信硬件
Figure 53124DEST_PATH_IMAGE006
对密文进行解密
Figure 972538DEST_PATH_IMAGE027
,在明文状态下执行非线性激活函数得到结果
Figure DEST_PATH_IMAGE028
,将激活函数的结果加密得到
Figure 791458DEST_PATH_IMAGE029
可信硬件
Figure 708599DEST_PATH_IMAGE021
将完成激活函数运算密文结果
Figure 816232DEST_PATH_IMAGE025
发送至服务器S进行后续计算。
7.根据权利要求1所述基于同态加密和可信硬件的多方隐私保护机器学习方法,其特征在于,所述机器学习建模支持各种类型的机器学习建模算法,包括线性回归、逻辑回归或支持向量机算法。
8.基于同态加密和可信硬件的多方隐私保护机器学习系统,其特征在于,应用于权利要求1-7中任一项所述的基于同态加密和可信硬件的多方隐私保护机器学习方法,包括预处理模块、公钥加密模块、机器学习模块、模型密文发送模块以及私钥解密模块;
所述预处理模块,用于由密钥生成中心进行同态加密方案的初始化、生成公钥
Figure 273758DEST_PATH_IMAGE001
、私钥
Figure 681606DEST_PATH_IMAGE002
和评估密钥
Figure 831964DEST_PATH_IMAGE003
,然后将初始化参数
Figure 161315DEST_PATH_IMAGE004
、公钥
Figure 422532DEST_PATH_IMAGE001
和评估密钥
Figure 888148DEST_PATH_IMAGE003
发送给各个数据方
Figure 209408DEST_PATH_IMAGE005
、服务器S和可信硬件
Figure 760475DEST_PATH_IMAGE006
三者进行初始化,将私钥
Figure 825383DEST_PATH_IMAGE002
发送给各个数据方
Figure 411085DEST_PATH_IMAGE005
和可信硬件
Figure 637667DEST_PATH_IMAGE006
所述公钥加密模块,用于各个数据方
Figure 676030DEST_PATH_IMAGE005
将自己本地的数据
Figure 279050DEST_PATH_IMAGE007
使用公钥加密,将密文
Figure 984838DEST_PATH_IMAGE008
上传至服务器,服务器S整合各个数据方上传的密文数据
Figure 54425DEST_PATH_IMAGE008
得到密文数据集
Figure 845663DEST_PATH_IMAGE009
所述机器学习模块,用于服务器S在密文数据集
Figure 986795DEST_PATH_IMAGE009
的基础上,将普通机器学习算法中的线性运算替换为同态加法和同态乘法,在密文状态下进行机器学习建模;所述机器学习建模包括对密文数据进行噪声消减和激活函数计算;所述噪声消减是利用可信硬件
Figure 547089DEST_PATH_IMAGE006
对密文解密后重新加密;所述激活函数计算是利用可信硬件
Figure 115474DEST_PATH_IMAGE006
对密文进行解密后在明文状态下执行非线性激活函数再将所得结果加密;
所述模型密文发送模块,用于服务器S在完成密文下的机器学习建模后,将加密的模型密文
Figure 394008DEST_PATH_IMAGE010
下发给各个数据方
Figure 362268DEST_PATH_IMAGE005
所述私钥解密模块,用于各个数据方
Figure 777069DEST_PATH_IMAGE005
利用私钥
Figure 516355DEST_PATH_IMAGE002
解密模型密文
Figure 16606DEST_PATH_IMAGE010
,得到由各个数据方
Figure 765119DEST_PATH_IMAGE005
的数据
Figure 300006DEST_PATH_IMAGE011
训练得到的模型
Figure 210193DEST_PATH_IMAGE012
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序指令,所述计算机程序指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-7中任意一项所述的基于同态加密和可信硬件的多方隐私保护机器学习方法。
10.一种计算机可读存储介质,存储有程序,其特征在于,所述程序被处理器执行时,实现权利要求1-7任一项所述的基于同态加密和可信硬件的多方隐私保护机器学习方法。
CN202111103182.1A 2021-09-22 2021-09-22 基于同态加密和可信硬件的多方隐私保护机器学习方法 Active CN113553610B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111103182.1A CN113553610B (zh) 2021-09-22 2021-09-22 基于同态加密和可信硬件的多方隐私保护机器学习方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111103182.1A CN113553610B (zh) 2021-09-22 2021-09-22 基于同态加密和可信硬件的多方隐私保护机器学习方法

Publications (2)

Publication Number Publication Date
CN113553610A CN113553610A (zh) 2021-10-26
CN113553610B true CN113553610B (zh) 2021-12-31

Family

ID=78106385

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111103182.1A Active CN113553610B (zh) 2021-09-22 2021-09-22 基于同态加密和可信硬件的多方隐私保护机器学习方法

Country Status (1)

Country Link
CN (1) CN113553610B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113965313B (zh) * 2021-12-15 2022-04-05 北京百度网讯科技有限公司 基于同态加密的模型训练方法、装置、设备以及存储介质
CN114547643B (zh) * 2022-01-20 2024-04-19 华东师范大学 一种基于同态加密的线性回归纵向联邦学习方法
CN114844621B (zh) * 2022-04-08 2023-04-07 哈尔滨工业大学(深圳) 基于多密钥全同态加密的多用户隐私保护机器学习方法及装置
CN115118448B (zh) * 2022-04-21 2023-09-01 腾讯科技(深圳)有限公司 数据处理方法、装置、设备及存储介质
CN115050079B (zh) * 2022-06-30 2023-08-01 北京瑞莱智慧科技有限公司 人脸识别方法、装置及存储介质
CN115510466B (zh) * 2022-09-28 2024-03-05 北京瑞莱智慧科技有限公司 密文预测方法、相关装置及存储介质
CN115801449B (zh) * 2023-01-09 2023-05-26 深圳市迪博企业风险管理技术有限公司 风险评估数据的隐私保护方法、系统和可读存储介质
CN115801224B (zh) * 2023-01-16 2023-04-28 北京隐算科技有限公司 一种云计算环境中支持浮点数运算的全同态加密方法
CN115996151B (zh) * 2023-03-22 2023-06-16 中南大学 一种电子医疗数据共享方法、系统、设备及介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8862895B2 (en) * 2010-04-27 2014-10-14 Fuji Xerox Co., Ltd. Systems and methods for communication, storage, retrieval, and computation of simple statistics and logical operations on encrypted data
EP3203679A1 (en) * 2016-02-04 2017-08-09 ABB Schweiz AG Machine learning based on homomorphic encryption
CN107147484B (zh) * 2017-05-12 2020-03-31 南京邮电大学 一种面向隐私保护的浮点数全同态加密方法
US11095428B2 (en) * 2018-07-24 2021-08-17 Duality Technologies, Inc. Hybrid system and method for secure collaboration using homomorphic encryption and trusted hardware
CN110059501B (zh) * 2019-04-16 2021-02-02 广州大学 一种基于差分隐私的安全外包机器学习方法
FR3097353B1 (fr) * 2019-06-12 2021-07-02 Commissariat Energie Atomique Méthode d’apprentissage collaboratif d’un réseau de neurones artificiels sans divulgation des données d’apprentissage
CN112118099B (zh) * 2020-09-16 2021-10-08 西安电子科技大学 抗推理攻击的分布式多任务学习隐私保护方法及系统
CN112183767A (zh) * 2020-09-30 2021-01-05 哈尔滨工业大学(深圳) 一种多密钥下模型聚合的联邦学习方法及相关设备
CN113221153B (zh) * 2021-05-31 2022-12-27 平安科技(深圳)有限公司 图神经网络训练方法、装置、计算设备及存储介质

Also Published As

Publication number Publication date
CN113553610A (zh) 2021-10-26

Similar Documents

Publication Publication Date Title
CN113553610B (zh) 基于同态加密和可信硬件的多方隐私保护机器学习方法
US11095428B2 (en) Hybrid system and method for secure collaboration using homomorphic encryption and trusted hardware
Abid et al. RETRACTED ARTICLE: An optimised homomorphic CRT-RSA algorithm for secure and efficient communication
CN114844621B (zh) 基于多密钥全同态加密的多用户隐私保护机器学习方法及装置
CN113761563B (zh) 数据交集计算方法、装置及电子设备
Ibarrondo et al. Banners: Binarized neural networks with replicated secret sharing
CN105743906A (zh) 一种基于内容关联密钥的图片文件加解密方法及系统
CN113055153B (zh) 一种基于全同态加密算法的数据加密方法、系统和介质
Hu Study of file encryption and decryption system using security key
Shabbir et al. Ensuring the confidentiality of nuclear information at cloud using modular encryption standard
Joseph et al. A Novel Algorithm for secured data sharing in cloud using GWOA-DNA cryptography
Hao et al. Fastsecnet: An efficient cryptographic framework for private neural network inference
Liu et al. Efficient and Privacy-Preserving Logistic Regression Scheme based on Leveled Fully Homomorphic Encryption
CN114430321A (zh) 基于dfa自适应安全的黑盒可追踪密钥属性加密方法及装置
CN113645022A (zh) 一种确定隐私集合交集方法、装置、电子设备及存储介质
Ortakci et al. Performance analyses of aes and 3des algorithms for encryption of satellite images
CN115865531B (zh) 一种代理重加密数字资产授权方法
CN116841750B (zh) 集成加密算法的边缘计算设备
CN114006689B (zh) 基于联邦学习的数据处理方法、装置及介质
CN114817970B (zh) 基于数据来源保护的数据分析方法、系统及相关设备
Zhang et al. Decentralized and secure deduplication with dynamic ownership in MLaaS
US11811741B2 (en) Information processing system and information processing method
US11874950B1 (en) Protecting membership for secure computation and communication
US11983285B1 (en) Secure multi-party computation and communication
CN112738108B (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