CN115314211B - 基于异构计算的隐私保护机器学习训练与推理方法及系统 - Google Patents

基于异构计算的隐私保护机器学习训练与推理方法及系统 Download PDF

Info

Publication number
CN115314211B
CN115314211B CN202210946106.5A CN202210946106A CN115314211B CN 115314211 B CN115314211 B CN 115314211B CN 202210946106 A CN202210946106 A CN 202210946106A CN 115314211 B CN115314211 B CN 115314211B
Authority
CN
China
Prior art keywords
key
processor
random
machine learning
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
CN202210946106.5A
Other languages
English (en)
Other versions
CN115314211A (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.)
University of Jinan
Original Assignee
University of Jinan
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 University of Jinan filed Critical University of Jinan
Priority to CN202210946106.5A priority Critical patent/CN115314211B/zh
Publication of CN115314211A publication Critical patent/CN115314211A/zh
Application granted granted Critical
Publication of CN115314211B publication Critical patent/CN115314211B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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/0435Network 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 symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开一种基于异构计算的隐私保护机器学习训练与推理方法及系统,以CPU+GPU+FPGA的异构计算方式进行隐私保护机器学习的训练和推理,CPU负责总体调度和处理不容易并行计算的非线性操作,GPU负责加速训练阶段的线性操作,FPGA负责在推理阶段加速混淆电路的生成,在保护数据隐私安全的前提下,灵活加速机器学习训练和推理过程,提高计算效率,降低推理延迟。

Description

基于异构计算的隐私保护机器学习训练与推理方法及系统
技术领域
本发明涉及隐私保护机器学习技术领域,特别是涉及一种基于异构计算的隐私保护机器学习训练与推理方法及系统。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
在传统机器学习中,用户需要直接将明文数据上传到服务器进行机器学习的训练和推理,在这种情况下会存在很多安全漏洞,例如有些云服务提供商会挖掘用户的隐私数据,又或者云服务器中的不可信软件堆栈会访问内存中的明文数据,从而导致用户隐私信息的泄露;因此,机器学习中的一个很重要的问题就是数据隐私问题。保护数据隐私的方法有多种,其中包括对数据加密保证传输过程中的安全,使用混淆电路、同态加密、TEE等技术保护机器学习训练或推理过程中的数据隐私。
然而,例如混淆电路这样的隐私保护技术执行速度往往比较慢,严重影响系统的性能,目前提高计算效率比较热门的方法是将一些并行度高的计算任务卸载给FPGA、GPU等硬件加速器来处理。
对于硬件加速而言,每个硬件都有各自的特点和不同的计算能力,例如CPU擅长处理控制流与协调控制各方,GPU的单指令多线程(SIMT)的架构使其可以在同一个时刻用相同的指令处理大量的数据,因此GPU适合进行大量数据的并行计算,例如神经网络的训练。而现场可编程门阵列(FPGA)具有流水线并行计算的方式,可以在处理少量数据时,以一种流水线的方式同时进行多种任务的处理。所以FPGA在进行少量数据的计算时(例如神经网络推理),计算延迟远低于GPU。相比较于FPGA,专用集成芯片(ASIC)虽然性能最高,但无法更改内部电路,在面临算法不断更迭的机器学习时无法发挥出自身的优势。由此可见,单种硬件芯片无法灵活的处理各种类型的机器学习算法。
发明内容
为了解决上述问题,本发明提出了一种基于异构计算的隐私保护机器学习训练与推理方法及系统,在保护数据隐私安全的前提下,灵活加速机器学习训练和推理过程,提高计算效率,降低推理延迟。
为了实现上述目的,本发明采用如下技术方案:
第一方面,本发明提供一种基于异构计算的隐私保护机器学习训练方法,应用于包括至少两个处理器的异构计算服务器中,包括:
由第一处理器接收数据发送方发送的加噪数据集的密文、摘要签名和密钥密文集;所述加噪数据集为数据发送方对训练数据集添加噪声而得,所述密钥密文集包括密钥密文和密钥哈希值;
由第一处理器对摘要签名验签且在摘要签名有效时,将服务器私钥和数据发送方公钥发送至第二处理器;
由第二处理器根据服务器私钥和数据发送方公钥采用椭圆曲线加密算法计算椭圆曲线点参数;
由第一处理器根据椭圆曲线点参数和密钥密文得到密钥明文,根据密钥明文和椭圆曲线点参数得到密钥哈希值,验证该密钥哈希值与密钥密文集中的密钥哈希值是否一致;
密钥哈希值验证通过后,由第二处理器对加噪数据集的密文进行解密,得到用于机器学习训练的加噪数据集。
作为可选择的实施方式,对训练数据集添加的噪声满足差分隐私定义。
作为可选择的实施方式,采用随机数发生器产生的随机数作为私钥,采用椭圆曲线加密算法计算椭圆曲线点作为公钥,以此生成数据发送方公私钥对和服务器公私钥对;
数据发送方根据数据发送方私钥da和服务器公钥pb计算椭圆曲线点参数[da]pb=(x2,y2),然后使用密钥派生函数KDF生成中间参数t=KDF(x2||y2,klen),klen为密钥长度;
使用t加密密钥k,得到密钥密文将x2、y2和密钥k级联后进行哈希运算,得到密钥哈希值c2=Hash(x2||k||y2),以此得到密钥密文集C=c1||c2
第二方面,本发明提供一种基于异构计算的隐私保护机器学习推理方法,应用于包括至少两个处理器的异构计算服务器中,包括:
由第一处理器接收机器学习模型,并将机器学习模型转换为布尔电路,在布尔电路上分配客户端输入线和服务器输入线;所述机器学习模型是根据第一方面所述的方法得到的加噪数据集进行训练而得;
由第二处理器对布尔电路输入层的每条输入线的真实值生成随机标签,并根据上一层输入线的随机标签得到输出线的随机标签,根据输入线的随机标签和输出线的随机标签对布尔电路加密生成混淆电路;
由第一处理器接收客户端发送的输入值,根据客户端输入线的随机标签得到输入值对应的随机标签,并将输入值对应的随机标签发送至客户端;
由第二处理器将混淆电路、服务器输入线的随机标签和最终输出线上随机标签与真实值的映射关系发送至客户端,以使客户端根据输入值对应的随机标签和服务器输入线的随机标签对混淆电路进行解密,并根据解密后得到的最终输出线的随机标签与接收的映射关系得到最终推理真实值。
作为可选择的实施方式,对布尔电路加密的过程包括:密文c=其中,ωi和ωj分别为门上的客户端输入线和服务器输入线,bi和bj分别为客户端输入线和服务器输入线对应的真实值,ωk为输出线,g(bi,bj)为输出线对应的真实值,/>分别为客户端输入线、服务器输入线和输出线的随机标签。
作为可选择的实施方式,输出线的随机标签为,对布尔电路上一层输入线的随机标签,根据该层对应的门做异或/与操作后得到输出线的随机标签,依次类推,直至得到最终输出线上的随机标签。
第三方面,本发明提供一种基于异构计算的隐私保护机器学习训练系统,至少包括第一处理器和第二处理器,第一处理器和第二处理器执行下述过程:
第一处理器接收数据发送方发送的加噪数据集的密文、摘要签名和密钥密文集;所述加噪数据集为数据发送方对训练数据集添加噪声而得,所述密钥密文集包括密钥密文和密钥哈希值;
第一处理器对摘要签名验签且在摘要签名有效时,将服务器私钥和数据发送方公钥发送至第二处理器;
第二处理器根据服务器私钥和数据发送方公钥采用椭圆曲线加密算法计算椭圆曲线点参数;
第一处理器根据椭圆曲线点参数和密钥密文得到密钥明文,根据密钥明文和椭圆曲线点参数得到密钥哈希值,验证该密钥哈希值与密钥密文集中的密钥哈希值是否一致;
密钥哈希值验证通过后,由第二处理器对加噪数据集的密文进行解密,得到用于机器学习训练的加噪数据集。
第四方面,本发明提供一种基于异构计算的隐私保护机器学习推理系统,至少包括第一处理器和第二处理器,第一处理器和第二处理器执行下述过程:
第一处理器接收机器学习模型,并将机器学习模型转换为布尔电路,在布尔电路上分配客户端输入线和服务器输入线;所述机器学习模型是根据第一方面所述的方法得到的加噪数据集进行训练而得;
第二处理器对布尔电路输入层的每条输入线的真实值生成随机标签,并根据上一层输入线的随机标签得到输出线的随机标签,根据输入线的随机标签和输出线的随机标签对布尔电路加密生成混淆电路;
第一处理器接收客户端发送的输入值,根据客户端输入线的随机标签得到输入值对应的随机标签,并将输入值对应的随机标签发送至客户端;
第二处理器将混淆电路、服务器输入线的随机标签和最终输出线上随机标签与真实值的映射关系发送至客户端,以使客户端根据输入值对应的随机标签和服务器输入线的随机标签对混淆电路进行解密,并根据解密后得到的最终输出线的随机标签与接收的映射关系得到最终推理真实值。
第五方面,本发明提供一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成第一方面所述的方法和/或第二方面所述的方法。
第六方面,本发明提供一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成第一方面所述的方法和/或第二方面所述的方法。
与现有技术相比,本发明的有益效果为:
本发明提出一种基于异构计算的隐私保护机器学习训练方法及系统,采用差分隐私结合加密算法来保护数据隐私,保证数据计算和传输过程中的隐私安全,有效抵抗差分攻击、成员推理攻击等。即使主机内存在恶意的操作系统或者恶意软件,也很难窃取训练过程中的数据。
本发明提出一种基于异构计算的隐私保护机器学习推理方法及系统,将服务器和客户端都认为是不可信的,将服务器作为混淆电路构造方,因为服务器与客户端之间通过执行OT协议将客户端输入数据对应的标签发送给客户端,服务器无法获取客户端的输入数据,客户端也无法获知服务器其他的标签,因此在机器学习推理过程中有效保护用户的数据隐私。
本发明提出一种基于异构计算的隐私保护机器学习训练与推理方法及系统,提出一种以CPU+GPU+FPGA的异构计算方式进行隐私保护机器学习的训练和推理,充分考虑到CPU擅长处理复杂的控制,GPU适合进行大量重复的并行计算,FPGA在进行机器学习推理时构建流水线的架构可极大降低延迟等硬件特点,由此,CPU负责总体调度和处理不容易并行计算的非线性操作,GPU负责加速训练阶段的线性操作,FPGA负责加速混淆电路的生成,在保护数据隐私安全的前提下,灵活加速机器学习训练和推理过程,提高计算效率,降低推理延迟。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1为本发明实施例1提供的基于异构计算的隐私保护机器学习训练方法示意图;
图2为本发明实施例2提供的基于异构计算的隐私保护机器学习推理方法示意图。
具体实施方式
下面结合附图与实施例对本发明做进一步说明。
应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
异构计算技术由于算力高、可扩展性好、资源利用率高、发展潜力大,已成为并行计算研究领域内的研究热点。相比较于单种芯片的算力,异构计算融合不同指令集和架构的计算单元,提供更灵活的算力的解决方案,能够面对不同计算特点的计算任务。例如CPU-FPGA的异构计算方式不仅可以处理复杂的控制流,还能以数据并行和流水线并行计算的方式处理大量且重复的计算任务。
由此,本发明结合差分隐私和混淆电路等隐私保护技术,并基于CPU+GPU+FPGA异构计算方式,提供一种隐私保护机器学习训练与推理加速方法,在保护数据隐私安全的前提下,灵活加速机器学习训练和推理过程,提高计算效率,降低推理延迟。
相较于机器学习训练,机器学习推理阶段的数据量更少,但是对延迟的要求比较高,在进行机器学习推理时,SIMD架构的GPU会出现较大的延迟,而FPGA流水线的架构非常适合少量数据并行计算的情况。因此本发明将FPGA应用于机器学习推理阶段的加速,将GPU应用于机器学习训练阶段的加速。
实施例1
本实施例提供一种基于异构计算的隐私保护机器学习训练方法,应用于包括至少两个处理器的异构计算服务器中,包括:
由第一处理器接收数据发送方发送的加噪数据集的密文、摘要签名和密钥密文集;所述加噪数据集为数据发送方对训练数据集添加噪声而得,所述密钥密文集包括密钥密文和密钥哈希值;
由第一处理器对摘要签名验签且在摘要签名有效时,将服务器私钥和数据发送方公钥发送至第二处理器;
由第二处理器根据服务器私钥和数据发送方公钥采用椭圆曲线加密算法计算椭圆曲线点参数;
由第一处理器根据椭圆曲线点参数和密钥密文得到密钥明文,根据密钥明文和椭圆曲线点参数得到密钥哈希值,验证该密钥哈希值与密钥密文集中的密钥哈希值是否一致;
密钥哈希值验证通过后,由第二处理器对加噪数据集的密文进行解密,得到用于机器学习训练的加噪数据集。
在本实施例中,在隐私保护机器学习训练阶段中,异构计算服务器的第一处理器采用CPU,第二处理器采用GPU;数据发送方(数据拥有者)为了保护数据集的数据隐私,对训练数据集进行了两重操作,分别是对训练数据集添加满足差分隐私定义的噪声和加密添加了噪声的训练数据集,随后将经过处理的加密的加噪数据集发送给异构计算服务器,数据加密可以保护网络传输过程中的数据安全,添加噪声可以在一定程度上保证异构计算服务器上机器学习训练过程中的数据安全。
在机器学习训练过程中,将训练任务分为线性计算任务和非线性计算任务,并根据GPU擅长并行计算的特点,由GPU执行线性计算任务,由CPU执行非线性计算任务。
如图1所示,基于异构计算的隐私保护机器学习训练方法的具体步骤如下:
S1:由CPU接收数据拥有者发送的加噪数据集的密文、摘要签名和密钥密文集;加噪数据集的密文、摘要签名和密钥密文集的生成过程包括:
(1)数据拥有者对训练数据集X~pdata(x)添加噪声,即其中,噪声满足差分隐私定义:Pr[M(x)∈S]<=eεPr[M(x′)∈S]+δ;
(2)数据拥有者生成128位密钥k,将其作为国密SM4算法的对称密钥;
(3)数据拥有者根据密钥k,使用国密SM4算法对加噪数据集进行加密,生成加噪数据集的密文/>
(4)数据拥有者使用随机数发生器产生随机数da,作为数据拥有者的私钥;采用椭圆曲线加密算法,在椭圆曲线上选取一点G作为生成元,计算椭圆曲线点pa=(x1,y1)=[da]G作为数据拥有者的公钥;
同理,异构计算服务器也用同样的方法生成异构计算服务器的私钥db和公钥pb
随后,数据拥有者和异构计算服务器通过网络互相发送各自的公钥,在这个过程中,异构计算服务器上的GPU负责椭圆曲线点的计算,CPU负责通信和总体控制。
(5)数据拥有者使用国密SM3算法生成训练数据集X的256位消息摘要m',并采用自身的私钥da对消息摘要m'进行签名,生成摘要签名(r,s);
(6)数据拥有者根据服务器的公钥pb计算椭圆曲线点参数[da]pb=(x2,y2),然后使用密钥派生函数KDF生成中间参数t,即y=KDF(x2||y2,klen),其中,klen为密钥长度,此处设置为128位;
使用t加密国密SM4算法的密钥k,即得到密钥密文并将x2、y2和密钥k级联后进行哈希运算,即得到密钥哈希值c2=Hash(x2||k||y2),以此得到密钥密文集C=c1||c2
数据拥有者将加噪数据集的密文c、摘要签名(r,s)、国密SM4算法密钥k的密钥密文集C通过网络发送给异构计算服务器。
S2:异构计算服务器中的CPU接收数据拥有者发送的加噪数据集的密文c、摘要签名(r,s)、密钥密文集C后,首先验证摘要签名(r,s)的有效性;
其中,在验签过程中,GPU负责椭圆曲线点的计算,而CPU负责其他的运算,例如取模运算和哈希运算。
S3:若摘要签名有效,则从密钥密文集C中提取密钥密文c1和密钥哈希值c2;CPU将服务器私钥db和数据拥有者公钥pa发送给GPU。
S4:GPU根据服务器私钥db和数据拥有者公钥pa采用椭圆曲线加密算法计算椭圆曲线点参数[db]pa=(x2,y2),并将计算而得的x2,y2返回至CPU。
S5:CPU根据x2、y2采用密钥派生函数KDF同样生成中间参数t,随后从密钥密文c1中提取密钥k,即并经级联和哈希运算后得到密钥哈希值u=Hash(x2||k||y2),如果该密钥哈希值u与密钥密文集C中的密钥哈希值c2相等,则进行下一步,否则报错并退出。
S6:CPU将加噪数据集的密文c发送至GPU,GPU利用数据拥有者的密钥k对加噪数据集的密文c进行解密,得到用于机器学习训练的加噪数据集
在本实施例中,将机器学习训练任务划分为线性计算任务和非线性计算任务,根据加噪数据集由GPU和CPU分别执行线性计算任务和非线性计算任务;
其中,GPU执行线性计算任务,例如神经网络中的矩阵乘法,即yi=xiωi,GPU将计算结果yi返回给CPU,CPU执行非线性计算任务,例如激活操作,即xi+1=σ(yi),CPU将结果再次发送给GPU进行下一步的线性计算,循环执行,直到训练完成得到机器学习模型。
实施例2
本实施例提供一种基于异构计算的隐私保护机器学习推理方法,应用于包括至少两个处理器的异构计算服务器中,包括:
接收基于实施例1所述的方法得到的机器学习模型,由第一处理器将机器学习模型转换为布尔电路,并在布尔电路上分配客户端输入线和服务器输入线;
由第二处理器对布尔电路输入层的每条输入线的真实值生成随机标签,并根据上一层输入线的随机标签得到输出线的随机标签,根据输入线的随机标签和输出线的随机标签对布尔电路加密生成混淆电路;
由第一处理器接收客户端发送的输入值,根据客户端输入线的随机标签得到输入值对应的随机标签,并将输入值对应的随机标签发送至客户端;
由第二处理器将混淆电路、服务器输入线的随机标签和最终输出线上随机标签与真实值的映射关系发送至客户端,以使客户端根据输入值对应的随机标签和服务器输入线的随机标签对混淆电路进行解密,并根据解密后得到的最终输出线的随机标签与接收的映射关系得到最终推理真实值。
在本实施例中,在隐私保护机器学习推理阶段中,异构计算服务器的第一处理器采用CPU,第二处理器采用FPGA;
那么,可以理解的,该异构计算服务器可以包括三个处理器,即CPU、GPU和FPGA,由CPU和GPU执行实施例1所述的隐私保护机器学习训练方法,由CPU和FPGA执行本实施例所述的隐私保护机器学习推理方法;
或,该异构计算服务器包括两个处理器,即CPU和FPGA,实施例1中包括CPU和GPU的异构计算服务器得到机器学习模型后,发送至本实施例中包括CPU和FPGA的异构计算服务器中。
在本实施例中,由异构计算服务器充当混淆电路构造方(Garbler),而混淆电路的构建是一种大量且重复的工作,根据FPGA擅长并行计算的特点,将生成混淆电路的任务交给FPGA处理;客户端提供输入,通过与异构计算服务器共同执行混淆电路技术在保护数据隐私的前提下得到推理结果。
如图2所示,基于异构计算的隐私保护机器学习推理方法的具体步骤如下:
S1:CPU使用ObliVM框架将机器学习模型转换为布尔电路,并在布尔电路上分配客户端输入线和服务器输入线;
例如,服务器的某一条输入线是ωi,客户端的某一条输入线是ωj
S2:FPGA采用内部查找表等逻辑资源组成硬件与门和硬件或门,每一个硬件与门同一时刻只处理布尔电路上一个门的混淆操作,让FPGA内部的硬件与门尽量多(假设A个硬件与门),而硬件或门只保留一个。
S3:对于布尔电路中的每一层,CPU向FPGA发送布尔电路中门的数量、标签以及每个门所映射的FPGA中的硬件门等信息;门标签为与门(and)还是异或门(xor)。
S4:FPGA对布尔电路的输入层为每条输入线可能输入的真实值(即0或1)生成256位的随机标签;例如,ωj输入线上的0值生成的随机标签为这些随机标签是使用FPGA上的随机数生成器生成的;
同时,对布尔电路上一层输入线的随机标签,根据该层对应的门做异或/与操作后得到输出线(下一层中的线)的随机标签,依次类推,直至得到最终输出线上的随机标签。
S5:对于布尔电路中的每一个门,FPGA根据输入线的随机标签,以及对门操作后得到的输出线的随机标签,对布尔电路进行加密;
例如,一个与门上的输入线为ωi和ωj,对应的真实值分别为bi和bj,输出线为ωk,对应的真实值是g(bi,bj),则密文最终生成混淆电路。
S6:由CPU接收客户端发送的输入值,客户端发送的输入值转换为对应客户端输入线上的二进制值;
对每条客户端输入线与服务器共同执行一次茫然传输(OT),即根据客户端输入线的随机标签得到输入值对应的随机标签(即256位随机值);
例如,输入线ωl上的输入值为0,客户端输入线的随机标签为和/>那么对应的随机标签为/>将其发送给客户端。
S7:FPGA将混淆电路、混淆电路中服务器输入线的随机标签(例如)以及混淆电路最终输出线上随机标签和真实值(即输出的二进制值)的映射关系,例如/>通过CPU发送给客户端。
S8:客户端充当混淆电路计算方(Evaluator),通过输入值对应的随机标签和服务器输入线的随机标签,对混淆电路每一个输出线密文解密,即 并将得到的随机标签作为下一个门的密钥,最终得到最后一层输出线的随机标签;
然后,根据映射关系(输出线ωp上的映射关系为和/>)得到最终的推理结果。
在本实施例中,因为或门的混淆操作可以不采用加密的方式(free-xor),因此混淆速度很快,同一时间内进行混淆操作的与门数量越多,整体速度就越快。在生成混淆电路时,考虑到FPGA中的资源有限和内存读取带宽等原因,不可能将混淆电路中的门同时映射在FPGA的硬件门上进行工作;假设电路中某一层的门数量大于FPGA中硬件门数量,那么在第一个门完成混淆操作后,电路中的第A+1个门才被映射到第一个FPGA硬件门上面执行混淆操作。
在本实施例中,采用混淆电路技术能够保护客户端数据的隐私安全。例如FPGA为输入线生成随机标签,并对输出线标签进行加密,能够防止攻击者根据输出线上的标签出现的频次(与门的输出的四个值中有三个值是相等的)从而推断出真实值;而且客户端和服务器之间执行OT协议,保证了客户端的输入不被其他人看到的同时,还将其对应的标签从服务器安全传输给客户端。
实施例3
本实施例提供一种基于异构计算的隐私保护机器学习训练系统,至少包括第一处理器和第二处理器,所述第一处理器和第二处理器执行下述过程:
第一处理器接收数据发送方发送的加噪数据集的密文、摘要签名和密钥密文集;所述加噪数据集为数据发送方对训练数据集添加噪声而得,所述密钥密文集包括密钥密文和密钥哈希值;
第一处理器对摘要签名验签且在摘要签名有效时,将服务器私钥和数据发送方公钥发送至第二处理器;
第二处理器根据服务器私钥和数据发送方公钥采用椭圆曲线加密算法计算椭圆曲线点参数;
第一处理器根据椭圆曲线点参数和密钥密文得到密钥明文,根据密钥明文和椭圆曲线点参数得到密钥哈希值,验证该密钥哈希值与密钥密文集中的密钥哈希值是否一致;
密钥哈希值验证通过后,由第二处理器对加噪数据集的密文进行解密,得到用于机器学习训练的加噪数据集。
此处需要说明的是,上述过程对应于实施例1中所述的步骤,与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,第一处理器和第二处理器作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
实施例4
本实施例提供一种基于异构计算的隐私保护机器学习推理系统,至少包括第一处理器和第二处理器,所述第一处理器和第二处理器执行下述过程:
第一处理器接收机器学习模型,并将机器学习模型转换为布尔电路,在布尔电路上分配客户端输入线和服务器输入线;所述机器学习模型是根据实施例1所述的方法得到的加噪数据集进行训练而得;
第二处理器对布尔电路输入层的每条输入线的真实值生成随机标签,并根据上一层输入线的随机标签得到输出线的随机标签,根据输入线的随机标签和输出线的随机标签对布尔电路加密生成混淆电路;
第一处理器接收客户端发送的输入值,根据客户端输入线的随机标签得到输入值对应的随机标签,并将输入值对应的随机标签发送至客户端;
第二处理器将混淆电路、服务器输入线的随机标签和最终输出线上随机标签与真实值的映射关系发送至客户端,以使客户端根据输入值对应的随机标签和服务器输入线的随机标签对混淆电路进行解密,并根据解密后得到的最终输出线的随机标签与接收的映射关系得到最终推理真实值。
此处需要说明的是,上述过程对应于实施例2中所述的步骤,与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例2所公开的内容。需要说明的是,第一处理器和第二处理器作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
在更多实施例中,还提供:
一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成实施例1中所述的方法和/或实施例2中所述的方法。为了简洁,在此不再赘述。
应理解,本实施例中,处理器可以是中央处理单元CPU,处理器还可以是其他通用处理器、数字信号处理器DSP、专用集成电路ASIC,现成可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例1中所述的方法和/或实施例2中所述的方法。
实施例1和2中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元即算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

Claims (9)

1.基于异构计算的隐私保护机器学习训练方法,其特征在于,应用于包括至少两个处理器的异构计算服务器中,包括:
由第一处理器接收数据发送方发送的加噪数据集的密文、摘要签名和密钥密文集;所述加噪数据集为数据发送方对训练数据集添加噪声而得,所述密钥密文集包括密钥密文和密钥哈希值;
由第一处理器对摘要签名验签且在摘要签名有效时,将服务器私钥和数据发送方公钥发送至第二处理器;
由第二处理器根据服务器私钥和数据发送方公钥采用椭圆曲线加密算法计算椭圆曲线点参数;
由第一处理器根据椭圆曲线点参数和密钥密文得到密钥明文,根据密钥明文和椭圆曲线点参数得到密钥哈希值,验证该密钥哈希值与密钥密文集中的密钥哈希值是否一致;
密钥哈希值验证通过后,由第二处理器对加噪数据集的密文进行解密,得到用于机器学习训练的加噪数据集;
对训练数据集添加的噪声满足差分隐私定义。
2.如权利要求1所述的基于异构计算的隐私保护机器学习训练方法,其特征在于,采用随机数发生器产生的随机数作为私钥,采用椭圆曲线加密算法计算椭圆曲线点作为公钥,以此生成数据发送方公私钥对和服务器公私钥对;
数据发送方根据数据发送方私钥da和服务器公钥pb计算椭圆曲线点参数[da]pb=(x2,y2),然后使用密钥派生函数KDF生成中间参数t=KDF(x2||y2,klen),klen为密钥长度;
使用t加密密钥k,得到密钥密文将x2、y2和密钥k级联后进行哈希运算,得到密钥哈希值c2=Hash(x2||k||y2),以此得到密钥密文集C=c1||c2
3.基于异构计算的隐私保护机器学习推理方法,其特征在于,应用于包括至少两个处理器的异构计算服务器中,包括:
第一处理器接收机器学习模型,并将机器学习模型转换为布尔电路,在布尔电路上分配客户端输入线和服务器输入线;所述机器学习模型是根据权利要求1-2任一项所述的方法得到的加噪数据集进行训练而得;
由第二处理器对布尔电路输入层的每条输入线的真实值生成随机标签,并根据上一层输入线的随机标签得到输出线的随机标签,根据输入线的随机标签和输出线的随机标签对布尔电路加密生成混淆电路;
由第一处理器接收客户端发送的输入值,根据客户端输入线的随机标签得到输入值对应的随机标签,并将输入值对应的随机标签发送至客户端;
由第二处理器将混淆电路、服务器输入线的随机标签和最终输出线上随机标签与真实值的映射关系发送至客户端,以使客户端根据输入值对应的随机标签和服务器输入线的随机标签对混淆电路进行解密,并根据解密后得到的最终输出线的随机标签与接收的映射关系得到最终推理真实值。
4.如权利要求3所述的基于异构计算的隐私保护机器学习推理方法,其特征在于,对布尔电路加密的过程包括:密文c=其中,ωi和ωj分别为门上的客户端输入线和服务器输入线,bi和bj分别为客户端输入线和服务器输入线对应的真实值,ωk为输出线,g(bi,bj)为输出线对应的真实值,/>分别为客户端输入线、服务器输入线和输出线的随机标签。
5.如权利要求3所述的基于异构计算的隐私保护机器学习推理方法,其特征在于,输出线的随机标签为,对布尔电路上一层输入线的随机标签,根据该层对应的门做异或/与操作后得到输出线的随机标签,依次类推,直至得到最终输出线上的随机标签。
6.基于异构计算的隐私保护机器学习训练系统,其特征在于,至少包括第一处理器和第二处理器,所述第一处理器和第二处理器执行下述过程:
第一处理器接收数据发送方发送的加噪数据集的密文、摘要签名和密钥密文集;所述加噪数据集为数据发送方对训练数据集添加噪声而得,所述密钥密文集包括密钥密文和密钥哈希值;
第一处理器对摘要签名验签且在摘要签名有效时,将服务器私钥和数据发送方公钥发送至第二处理器;
第二处理器根据服务器私钥和数据发送方公钥采用椭圆曲线加密算法计算椭圆曲线点参数;
第一处理器根据椭圆曲线点参数和密钥密文得到密钥明文,根据密钥明文和椭圆曲线点参数得到密钥哈希值,验证该密钥哈希值与密钥密文集中的密钥哈希值是否一致;
密钥哈希值验证通过后,由第二处理器对加噪数据集的密文进行解密,得到用于机器学习训练的加噪数据集;
对训练数据集添加的噪声满足差分隐私定义。
7.基于异构计算的隐私保护机器学习推理系统,其特征在于,至少包括第一处理器和第二处理器,所述第一处理器和第二处理器执行下述过程:
第一处理器接收基于权利要求1-2任一项所述的方法得到的机器学习模型,并将机器学习模型转换为布尔电路,在布尔电路上分配客户端输入线和服务器输入线;
第二处理器对布尔电路输入层的每条输入线的真实值生成随机标签,并根据上一层输入线的随机标签得到输出线的随机标签,根据输入线的随机标签和输出线的随机标签对布尔电路加密生成混淆电路;
第一处理器接收客户端发送的输入值,根据客户端输入线的随机标签得到输入值对应的随机标签,并将输入值对应的随机标签发送至客户端;
第二处理器将混淆电路、服务器输入线的随机标签和最终输出线上随机标签与真实值的映射关系发送至客户端,以使客户端根据输入值对应的随机标签和服务器输入线的随机标签对混淆电路进行解密,并根据解密后得到的最终输出线的随机标签与接收的映射关系得到最终推理真实值。
8.一种电子设备,其特征在于,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成权利要求1-2任一项所述的方法和/或权利要求3-5任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,用于存储计算机指令,所述计算机指令被处理器执行时,完成权利要求1-2任一项所述的方法和/或权利要求3-5任一项所述的方法。
CN202210946106.5A 2022-08-08 2022-08-08 基于异构计算的隐私保护机器学习训练与推理方法及系统 Active CN115314211B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210946106.5A CN115314211B (zh) 2022-08-08 2022-08-08 基于异构计算的隐私保护机器学习训练与推理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210946106.5A CN115314211B (zh) 2022-08-08 2022-08-08 基于异构计算的隐私保护机器学习训练与推理方法及系统

Publications (2)

Publication Number Publication Date
CN115314211A CN115314211A (zh) 2022-11-08
CN115314211B true CN115314211B (zh) 2024-04-30

Family

ID=83861729

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210946106.5A Active CN115314211B (zh) 2022-08-08 2022-08-08 基于异构计算的隐私保护机器学习训练与推理方法及系统

Country Status (1)

Country Link
CN (1) CN115314211B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116132017B (zh) * 2022-11-16 2023-09-26 泉城省实验室 隐私保护机器学习推理加速的方法与系统
CN116318621B (zh) * 2023-05-23 2023-08-01 青岛鑫晟汇科技有限公司 一种基于同态加密的产业物联数据隐私保护系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110135185A (zh) * 2018-02-08 2019-08-16 苹果公司 使用生成式对抗网络进行私有化的机器学习
CN111832050A (zh) * 2020-07-10 2020-10-27 深圳致星科技有限公司 用于联邦学习的基于FPGA芯片实现的Paillier加密方案
CN112182649A (zh) * 2020-09-22 2021-01-05 上海海洋大学 一种基于安全两方计算线性回归算法的数据隐私保护系统
CN113051608A (zh) * 2021-03-11 2021-06-29 佳讯飞鸿(北京)智能科技研究院有限公司 一种联邦学习的虚拟化共享模型传输方法
CN113204502A (zh) * 2021-04-20 2021-08-03 深圳致星科技有限公司 异构加速计算优化方法、装置、设备及可读存储介质
CN113434873A (zh) * 2021-06-01 2021-09-24 内蒙古大学 一种基于同态加密的联邦学习隐私保护方法
CN113761557A (zh) * 2021-09-02 2021-12-07 积至(广州)信息技术有限公司 一种基于全同态加密算法的多方深度学习隐私保护方法
CN114844621A (zh) * 2022-04-08 2022-08-02 哈尔滨工业大学(深圳) 基于多密钥全同态加密的多用户隐私保护机器学习方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110135185A (zh) * 2018-02-08 2019-08-16 苹果公司 使用生成式对抗网络进行私有化的机器学习
CN111832050A (zh) * 2020-07-10 2020-10-27 深圳致星科技有限公司 用于联邦学习的基于FPGA芯片实现的Paillier加密方案
CN112182649A (zh) * 2020-09-22 2021-01-05 上海海洋大学 一种基于安全两方计算线性回归算法的数据隐私保护系统
CN113051608A (zh) * 2021-03-11 2021-06-29 佳讯飞鸿(北京)智能科技研究院有限公司 一种联邦学习的虚拟化共享模型传输方法
CN113204502A (zh) * 2021-04-20 2021-08-03 深圳致星科技有限公司 异构加速计算优化方法、装置、设备及可读存储介质
CN113434873A (zh) * 2021-06-01 2021-09-24 内蒙古大学 一种基于同态加密的联邦学习隐私保护方法
CN113761557A (zh) * 2021-09-02 2021-12-07 积至(广州)信息技术有限公司 一种基于全同态加密算法的多方深度学习隐私保护方法
CN114844621A (zh) * 2022-04-08 2022-08-02 哈尔滨工业大学(深圳) 基于多密钥全同态加密的多用户隐私保护机器学习方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
隐私保护机器学习的密码学方法;蒋瀚;刘怡然;宋祥福;王皓;郑志华;徐秋亮;;电子与信息学报;20200515(第05期);全文 *

Also Published As

Publication number Publication date
CN115314211A (zh) 2022-11-08

Similar Documents

Publication Publication Date Title
US7978851B2 (en) Keystream encryption device, method, and program
US7899190B2 (en) Security countermeasures for power analysis attacks
CN115314211B (zh) 基于异构计算的隐私保护机器学习训练与推理方法及系统
US20230327856A1 (en) Secure multi-party computation methods, apparatuses, and systems
CN112287377A (zh) 基于联邦学习的模型训练方法、计算机设备及存储介质
Shende et al. FPGA based hardware implementation of hybrid cryptographic algorithm for encryption and decryption
Yang et al. Secure and efficient parallel hash function construction and its application on cloud audit
Kapoor et al. Analysis of symmetric and asymmetric key algorithms
Srivastava et al. Review on quantum safe algorithms based on Symmetric Key and Asymmetric Key Encryption methods
Assafli et al. Generation and evaluation of a new time-dependent dynamic S-box algorithm for AES block cipher cryptosystems
Forhad et al. An improvement of advanced encryption standard
Parvathy et al. VLSI implementation of Blowfish algorithm for secure image data transmission
Pothireddy et al. Data Security in Cloud Environment by Using Hybrid Encryption Technique: A Comprehensive Study on Enhancing Confidentiality and Reliability.
Yadav et al. Hybrid cryptography approach to secure the data in computing environment
Negi et al. Implementation of AES Employing Systolic Array and Pipelining Approach
Bhavani et al. Security enhancement using modified AES and Diffie–Hellman key exchange
Siva et al. Hybrid cryptography security in public cloud using TwoFish and ECC algorithm
Labbi et al. Symmetric encryption algorithm for RFID systems using a dynamic generation of key
Wei et al. Homomorphic Encryption Based Privacy Protection Techniques for Cloud Computing
Innocent et al. Secure two-party computation: Generic approach and exploiting specific properties of functions approach
Dodmane A new hybrid symmetric-key technique to enhance data security of textual information using random number generator
Qayum et al. QR decomposition-based cryptography: Via image generation (QR-CRYPT)
Anbazhagan et al. ENHANCED PRIVACY PRESERVING USING MULTILEVEL ENCRYPTION TECHNIQUE
Tun et al. Message Security using One Time Pad and AES Hybrid Cryptography
Sharma et al. TEXCEL: text encryption with elliptic curve cryptography for enhanced security

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