隐私保护机器学习推理加速的方法与系统技术方案

技术编号:37613017 阅读:16 留言:0更新日期:2023-05-18 12:04
本发明专利技术公开了隐私保护机器学习推理加速的方法及系统,SGX接收机器学习过程中的待推理数据,判断待推理数据是线性还是非线性,如果是非线性,则在SGX中进行非线性运算;如果是线性,SGX将线性数据部分进行加密,并将加密处理后的线性数据部分发送给FPGA;FPGA对加密处理后的线性数据部分进行解密处理,并将解密后的线性数据部分进行线性运算;线性运算结束后,FPGA将线性运算结果进行加密,并将加密的密文返回给SGX;SGX对接收到的密文进行解密后,再对解密后的数据进行非线性运算,至此完成机器学习的一次推理过程,继续完成机器学习的后续线性数据部分的处理,直至机器学习的所有待推理数据均被处理完毕。有待推理数据均被处理完毕。有待推理数据均被处理完毕。

【技术实现步骤摘要】
隐私保护机器学习推理加速的方法与系统


[0001]本专利技术涉及隐私保护
,特别是涉及隐私保护机器学习推理加速的方法与系统。

技术介绍

[0002]本部分的陈述仅仅是提到了与本专利技术相关的
技术介绍
,并不必然构成现有技术。
[0003]随着云计算大数据时代的到来,互联网时时刻刻释放出海量的数据,随着产生、存储、分析的数据量越来越大,从海量数据中挖掘出有价值的信息成为了一种挑战。人工智能的出现为数据的处理提供了新的思路,通过机器学习的方式建立处理问题的模型,并通过大量的数据对模型进行训练,再利用训练好的模型可以对相关数据进行推理,实现推测的功能,能够很好的满足人们的现实需求,但原有的机器学习算法对安全的考虑不够细致。数据的整合、分析与传输的过程中都有可能会导致数据的泄露,因此用户和服务提供商都面临着隐私泄露问题,用户担心自己的个人信息如身份信息、地理位置等被泄露,服务商也担忧相关信息被窃取。
[0004]现有的研究表明,只保护数据的存储往往不够充分,有一些技术专门是为了研究如何窃取传输过程中的数据以及如何攻击机器学习模型而生的。根据攻击对象的不同,机器学习中的隐私威胁可以分为针对数据的威胁和针对模型的威胁,针对数据的威胁包括数据泄漏、成员推理攻击等,针对模型的威胁主要指模型反转攻击。因此,解决机器学习中的隐私保护问题是一个重要的研究领域。
[0005]Xia等人针对现有的基于CPU的TEE(可信执行环境)不支持FPGA以及FPGA中的数据有泄露风险的问题,他们提出了CPU
/>FPGA架构,这是一种可信的硬件隔离路径。他们试图在CPU

FPGA硬件上的实现SGX

FPGA高安全性和低开销的目标,通过在异构CPU

FPGA架构中桥接CPU中的飞地和FPGA,最终实现了一个FPGA TEE。Elrabaa等人开发了一种基于FPGA保护公共云和数据中心中用户数据以及应用程序的新方案。该方案包含所有必要的协议、硬件和软件组件,以提供针对包括内部攻击在内的许多已知潜在攻击的保护。它实现了完美的前向保密,提供了FPGA认证和完整性检查,并在用户和FPGA之间安全地建立了对称会话密钥,验证了一个用于展示所提出方案的完整的原型在当前FPGA上的可行性。结果表明,在FPGA上运行实验安全图像处理应用程序所花费的时间比在传统的最先进CPU上运行相同应用程序的时间少50%,所以使用FPGA加速机器学习推理过程是可行的。
[0006]现有技术存在的技术缺陷是:
[0007]在机器学习的训练与推理中,传统方案常采用CPU+GPU的方式来完成计算。但是,CPU、GPU都属于冯
·
诺依曼结构,指令译码执行、共享内存。在冯
·
诺依曼结构中,由于执行单元(如CPU核)可能执行任意指令,就需要有指令存储器、译码器、各种指令的运算器、分支跳转处理逻辑。由于指令流的控制逻辑复杂,不可能有太多条独立的指令流,因此GPU使用SIMD(单指令流多数据流)来让多个执行单元以同样的步调处理不同的数据,CPU也支持SIMD指令。传统方案的技术缺陷是因为GPU使用SIMD(单指令流多数据流)导致工作效率降
低。
[0008]此外,传统方案中使用FPGA为机器学习推理加速的时候,将要运算的相关数据直接由CPU发送到FPGA上。在数据经过系统总线由CPU发送到FPGA过程中容易受到攻击,从而导致隐私的泄露。

技术实现思路

[0009]为了解决现有技术的不足,本专利技术提供了隐私保护机器学习推理加速的方法与系统;该方案可以安全地传输SGX内使用SM4加密的机器学习推理过程的线性数据部分,也可以安全地接收来自FPGA的运算结果,攻击者无法从系统总线上获取到明文数据,有效保证了数据传输的隐私。
[0010]第一方面,本专利技术提供了隐私保护机器学习推理加速的方法;
[0011]隐私保护机器学习推理加速的方法,包括:
[0012]S101:部署在CPU中的可信执行环境SGX接收机器学习过程中的待推理数据,判断待推理数据是线性数据部分还是非线性数据部分,如果是非线性数据部分,则在SGX中进行非线性运算;如果是线性数据部分,则进入S102;
[0013]S102:SGX将线性数据部分进行加密,并将加密处理后的线性数据部分发送给FPGA;FPGA对加密处理后的线性数据部分进行解密处理,并将解密后的线性数据部分进行线性运算;线性运算结束后,FPGA将线性运算结果进行加密,并将加密的密文返回给SGX;
[0014]S103:SGX对接收到的密文进行解密后,再对解密后的数据进行非线性运算,至此完成机器学习的一次推理过程,然后,返回S102继续完成机器学习的后续线性数据部分的处理,直至机器学习的所有待推理数据均被处理完毕,结束。
[0015]第二方面,本专利技术提供了隐私保护机器学习推理加速的系统;
[0016]隐私保护机器学习推理加速的系统,包括:相互连接的CPU和FPGA;所述CPU上设置有可信执行环境SGX;
[0017]SGX接收机器学习过程中的待推理数据,判断待推理数据是线性数据部分还是非线性数据部分,如果是非线性数据部分,则在SGX中进行非线性运算;如果是线性数据部分,则SGX将线性数据部分进行加密,并将加密处理后的线性数据部分发送给FPGA;
[0018]FPGA对加密处理后的线性数据部分进行解密处理,并将解密后的线性数据部分进行线性运算;线性运算结束后,FPGA将线性运算结果进行加密,并将加密的密文返回给SGX;
[0019]SGX对接收到的密文进行解密后,再对解密后的数据进行非线性运算,至此完成机器学习的一次推理过程,然后,继续完成机器学习的后续待推理数据的处理,直至机器学习的所有待推理数据均被处理完毕,结束。
[0020]与现有技术相比,本专利技术的有益效果是:
[0021]1.本专利技术提出了一种可信执行环境SGX结合FPGA实现隐私保护机器学习推理的方案,该方案可以安全地传输可信执行环境SGX内使用SM4加密的机器学习推理过程的线性数据部分,也可以安全地接收来自FPGA的运算结果,攻击者无法从系统总线上获取到明文数据,有效保证了数据传输的隐私。
[0022]2.FPGA安全代理内部的模块中含有抵抗侧信道攻击的结构,FPGA内部的SecKDF是利用了SM2的输出密钥k和密钥k的反码在同时输出的时候,任意时刻都会有高电平的输
出,从而使得攻击者无法通过测试FPGA内部模块的功率获取SM2密钥协商生成的密钥k。
[0023]3.本专利技术FPGA安全代理的实现是通过FPGA内部可编程逻辑资源实现的,安全代理占用的可编程资源较少,但是在性能又有较好的提升。随着底层硬件芯片技术的发展,FPGA安全代理可以使用完全静态逻辑的方式来实现,也就是使用硬件烧录的形式,烧录之后不可更改,更能够在防止攻击者恶意地更改安全代理模块从而导致数据泄露的情况发生本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.隐私保护机器学习推理加速的方法,其特征是,包括:部署在CPU中的可信执行环境SGX接收机器学习过程中的待推理数据,判断待推理数据是线性数据部分还是非线性数据部分,如果是非线性数据部分,则在SGX中进行非线性运算;如果是线性数据部分,则进入下一步;SGX将线性数据部分进行加密,并将加密处理后的线性数据部分发送给FPGA;FPGA对加密处理后的线性数据部分进行解密处理,并将解密后的线性数据部分进行线性运算;线性运算结束后,FPGA将线性运算结果进行加密,并将加密的密文返回给SGX;SGX对接收到的密文进行解密后,再对解密后的数据进行非线性运算,至此完成机器学习的一次推理过程,然后,继续完成机器学习的后续线性数据部分的处理,直至机器学习的所有待推理数据均被处理完毕,结束。2.如权利要求1所述的隐私保护机器学习推理加速的方法,其特征是,所述部署在CPU中的可信执行环境SGX接收机器学习过程中的待推理数据之前,还包括:部署在CPU中的可信执行环境SGX对FPGA进行身份认证;部署在CPU中的可信执行环境SGX与FPGA进行密钥协商,得到加密密钥和解密密钥;在密钥协商过程中,防止FPGA受到侧信道攻击。3.如权利要求2所述的隐私保护机器学习推理加速的方法,其特征是,部署在CPU中的可信执行环境SGX对FPGA进行身份认证,具体包括:FPGA生成数字签名(r,s);FPGA将数字签名(r,s)发送给SGX;SGX根据数字签名(r,s)计算出随机数R;SGX判断随机数r是否属于[1,n

1],随机数s是否属于[1,n

1]以及R==r三者是否同时成立,当前仅当三者同时成立时,数字签名验证成功,身份认证通过;R表示SGX端作为数字签名的验证方,在通过数字签名(r,s)验证FPGA端的时候,计算生成的参数。4.如权利要求2所述的隐私保护机器学习推理加速的方法,其特征是,部署在CPU中的可信执行环境SGX与FPGA进行密钥协商,得到加密密钥和解密密钥,具体包括:SGX生成随机数r
A
,基于随机数r
A
生成坐标R
A
;将坐标R
A
发送给FPGA;FPGA生成随机数r
B
,基于随机数r
B
生成坐标R
B
;将坐标R
B
发送给SGX;SGX基于R
B
生成加密密钥和解密密钥K
A
;FPGA基于R
A
生成加密密钥和解密密钥K
B
。5.如权利要求2所述的隐私保护机器学习推理加速的方法,其特征是,所述在密钥协商过程中,防止FPGA受到侧信道攻击,具体包括:将KDF函数的执行放置在FPGA中的SecKDF模块上进行;SecKDF模块中不仅仅只有密钥k的生成,同时有k的反码的生成;k和k的反码在同一时刻叠加波形都是高电平,总体监测的时候全部为高电平,攻击者监测FPGA的功率的时候便无法恢复出SM2协商的密钥k。6.如权利要求5所述的隐私保护机器学习推理加速的方法,其特征是,SecKDF模块,包括:第一KDF模块和第二KDF模块,第一KDF模块的输入值是x
V
、y
V
、Z
A
、Z
B
,输出值是密钥k的反码第二KDF模块的输入值是x
V
、y
V
、Z
A
、Z
B
,输出值是输出值是密钥k本身;
第一KDF模块位于SM2内部,其输入端是SM2中生成共享密钥时所产生参数的接口相连接;第一KDF模块将x
V

【专利技术属性】
技术研发人员:赵川王豪赵圣楠荆山陈贞翔杨波
申请(专利权)人:泉城省实验室
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1