有效
面向外包神经网络推理的多项式链验证方法与装置
卢鹏、王毅、付绍静、陈荣茂、柳林、薛玉洁、赵宝康、陈曙晖、罗玉川、魏子令、郭茜
中国人民解放军国防科技大学
卢
卢鹏 专利 1
中国人民解放军国防科技大学知识系统模式识别生物模型计算
王
王毅 专利 16
中国人民解放军国防科技大学数字信息传输安全通信电通信技术
付
付绍静 专利 37
中国人民解放军国防科技大学计算机安全电子数据处理计算技术
陈
陈荣茂 专利 19
中国人民解放军国防科技大学安全通信数字信息传输电通信技术
柳
柳林 专利 34
中国人民解放军国防科技大学电子数据处理计算技术安全通信
薛
薛玉洁 专利 1
中国人民解放军国防科技大学知识系统模式识别生物模型计算
赵
赵宝康 专利 90
中国人民解放军国防科技大学数字信息传输电通信技术电学
陈
陈曙晖 专利 91
中国人民解放军国防科技大学数据交换网H04L29/00数字信息传输
罗
罗玉川 专利 32
中国人民解放军国防科学技术大学计算机安全计算技术电子数据处理
魏
魏子令 专利 32
中国人民解放军国防科技大学电子数据处理数字信息传输电通信技术
郭
郭茜 专利 1
中国人民解放军国防科技大学知识系统模式识别生物模型计算
摘要
本发明涉及特定计算模型与信息安全技术领域,针对现有外包推理技术中高计算开销与高成本的问题,提出一种面向外包神经网络推理的多项式链验证方法与装置。所述方法包括:进行数据输入;预处理阶段,客户端生成输入数据的掩码矩阵,模型端生成模型参数的掩码与验证辅助矩阵,将输入数据、掩码矩阵及Beaver三元组分成多个份额并分发至不同计算服务器;通过构建可验证的多项式链,在加性秘密共享下生成验证量及掩码返回客户端,通过设计多项式形式的验证等式,完成推理过程的验证。本发明通过设计多项式等式完成推理验证,确保全程计算完整性与隐私的同时,实现了并行计算的在线验证计算时间为常数级的低开销、低成本的步骤级验证。
1.一种面向外包神经网络推理的多项式链验证方法,其特征在于,包括:步骤110,在模型端输入多功能层设计的神经网络的权重矩阵和非线性层近似激活函数的多项式系数;所述权重矩阵至少包括:卷积层的卷积核矩阵、全连接层的权重矩阵以及偏置矩阵;在客户端输入多个传感数据矩阵;步骤120,进行客户端与模型端的预处理操作;利用加性秘密共享,分别将权重矩阵、多项式系数和预构建的Beaver三元组分割为多个份额,分发给不同的计算服务器;每个计算服务器将接收的份额存储在硬件隔离的安全存储区域内;步骤130,各计算服务器调用设置的并行逻辑计算单元,对面向外包神经网络推理过程中每个功能层进行在线外包推理的计算与验证,包括:每个计算服务器基于安全存储区域内存储的份额与预置的多项式链规则,在加性秘密共享状态下计算并输出各功能层的验证量;将所述验证量进行掩码后返回客户端;客户端在掩码域内利用多项式形式的验证等式对掩码后的验证量进行验证,若验证通过,则继续进行后续推理,若未通过,则中止推理;步骤140,若所有功能层均验证通过,客户端根据最后一个功能层的公钥与同乘因子之积以及最后一个功能层的输出份额,计算出可信明文推理结果。
2.根据权利要求1所述的面向外包神经网络推理的多项式链验证方法,其特征在于,输入客户端的所述传感数据矩阵来源于物理世界中感知信号的待处理信息;所述感知信号至少包括光学图像传感器捕获的视觉信号、由声学传感器捕获的音频信号、医学传感器捕获的医学生物信号或工业传感器捕获的时序监测信号;所述传感数据矩阵由感知信号的待处理信息经过数字化、预处理和特征化后获得。
3.根据权利要求1所述的面向外包神经网络推理的多项式链验证方法,其特征在于,所述面向外包神经网络推理采用的安全模型/威胁模型,至少包括一个半诚实的客户端、一个半诚实的模型端以及多个恶意多数的计算服务器;所述计算服务器至少配置有:并行逻辑计算单元,用于同时处理每个功能层的输出份额参与的核心运算;安全存储区域,用于在计算过程中隔离存储每个功能层的输出份额、中间计算份额以及验证状态,防止与非安全内存区域发生未授权的数据交换;专用的验证量生成计算模块,用于实现计算流程与主推理计算流程在硬件上并行调度,使大部分验证开销被隐藏。
4.根据权利要求1所述的面向外包神经网络推理的多项式链验证方法,其特征在于,所述面向外包神经网络推理采用的神经网络,至少包括下列功能层:第一卷积层、第一激活层、第一池化层、第二卷积层、第二激活层、第二池化层、第一全连接层、第二全连接层和输出层;所述第一卷积层、第一池化层、第二卷积层、第二池化层以及第一全连接层是加密目标功能层;所述第一激活层、第二激活层、输出层是不需要加密但需要设置激活函数的非线性层;所述加密目标功能层与第二全连接层均为线性功能层;所述第一激活层或第二激活层采用的近似激活函数 由下式给出: ;其中, 表示近似激活函数的输入数据, 是近似激活函数 的多项式系数;所述输出层采用的近似激活函数: ;其中, 是近似激活函数 的多项式系数;模型端输入:第一卷积层的卷积核矩阵 ;第二卷积层的卷积核矩阵 ;第一全连接层的权重矩阵 ;第二全连接层的权重矩阵 ;以及偏置矩阵: 、 ;各近似激活函数的多项式系数;客户端输入传感数据矩阵。
5.根据权利要求4所述的面向外包神经网络推理的多项式链验证方法,其特征在于,所述步骤120,包括:步骤121,客户端的预处理操作,包括:随机生成校验值 ; 是输入的传感数据矩阵;利用校验值和模型端发送的随机参考矩阵,对每个输入 进行掩码,得到传感数据矩阵的掩码矩阵: ;其中, 是维度与输入的传感数据矩阵 相同且元素相互独立随机的矩阵;利用加性秘密共享,将每个输入的传感数据矩阵 及对应的掩码矩阵 分别拆分为 份,分发给 个计算服务器,并存储在对应的安全存储区域内,其中,第 个计算服务器得到份额分别记为: , ;步骤122,模型端的预处理,包括:生成多组随机密钥三元组,每组随机密钥三元组包含两个独立随机数的私钥以及第三个随机数的公钥,其中,公钥是前面两个独立的私钥的乘积项,最后一组的随机密钥三元组分配给第二全连接层与输出层;生成一个全局的同乘因子,所述同乘因子等于2的随机幂次方,且小于Beaver三元组中有限域大小 ;生成额外随机掩码平衡因子以及为加密目标功能层分别生成随机压缩变量,用于表示对应加密目标功能层的输出维度;所述随机压缩变量的个数与加密目标功能层的层数相同;生成一个通用的随机参考矩阵 ;将掩码过程所需的随机材料发送给每个计算服务器;所述随机材料至少包括同乘因子、多组随机密钥三元组与随机压缩变量;将随机参考矩阵 作为输入,提前预计算出神经网络模型中每个线性功能层相应的展平输出,第一激活层/第二激活层不需要进行预计算;生成模型参数与中间计算份额的掩码值,用于将高维向量的验证转化为高效的标量验证,包括:利用所述同乘因子和随机密钥三元组,对模型参数进行掩码,生成掩码值;所述模型参数至少包括:近似激活函数 和 的多项式系数、额外随机掩码平衡因子;利用随机压缩变量、同乘因子和随机密钥三元组,对预计算获得的各功能层的展平输出计算内积,生成压缩后的标量掩码值;将随机参考矩阵 、最后一个功能层的公钥与同乘因子之积、标量掩码值、最后一层原始输出的掩码值发送给客户端;用加性秘密共享将权重矩阵和激活函数的多项式系数 、 、 、 、 、 拆成 份,分发给 个计算服务器;用 表示被分发到第 个计算服务器的对应份额;步骤123,乘法门操作,生成Beaver三元组,并采用加性秘密共享进行拆分成 份,分发给 个计算服务器;每一次乘法门操作,所有计算服务器同步消耗自己被分配的份额,所有份额用完即废。
6.根据权利要求5所述的面向外包神经网络推理的多项式链验证方法,其特征在于,所述步骤122中:生成四组随机密钥三元组: ;其中, ,且随机数 与 是相互独立的私钥,而随机数 是公钥,由 构成;最后一组 的随机密钥三元组分配给第二全连接层与输出层;生成一个随机数 作为同乘因子,且 ,其中, t 为随机正整数,且 ;随机生成两个额外随机掩码平衡因子 、 和随机压缩变量 ;所述线性功能层:第一卷积层、第一池化层、第二卷积层、第二池化层、第一全连接层、第二全连接层,对应的展平输出分别为: 、 、 、 、 、 ;用 与卷积层激活函数系数 、 分别相乘得到掩码值 、 ;用 与 、 、 分别相乘得到掩码值 、 、 ;用 与 、 、 分别相乘得到掩码值 、 、 ;用 与 、 、 分别相乘得到掩码值 、 、 ;用 与 、 分别相乘得到掩码值 、 ;用 与 、 、 、 、 分别相乘得到掩码值 、 、 、 、 ;用 与 、 、 分别相乘得到掩码值 、 、 ;计算内积进行预计算: 、 、 、 、 、 、 、 、 、 ,得到对应标量掩码值: 、 、 、 、 、 、 、 、 、 ;其中, 表示元素均为 的常数矩阵,展平后得到的向量长度与计算内积的 / 相同; 是第一池化层/第二池化层使用的元素均为 的常数矩阵,展平后得到的向量长度与计算内积的 / 相同;所述最后一个功能层的原始输出的掩码值是: ; 。
7.根据权利要求6所述的面向外包神经网络推理的多项式链验证方法,其特征在于,步骤130中,还包括:在第一卷积层/第二卷积层进行在线外包推理的计算与验证:各计算服务器调用并行逻辑计算单元,基于安全存储区域内秘密共享的输入份额和卷积核权重份额,利用预共享的随机密钥三元组安全地完成卷积运算,生成第一卷积层/第二卷积层的输出份额并存储于安全存储区域;专用的验证量生成计算模块同步工作,通过对所述输出份额及对应的掩码卷积结果执行一致性变换,生成第一卷积层/第二卷积层的验证量:掩码投影值;各计算服务器将掩码投影值返回客户端;客户端通过验证所述掩码投影值之间是否满足预设的验证等式,来判断本层卷积计算的正确性,从而决定是否继续推理:若验证等式成立,则继续推理,否则中止推理;在第一激活层/第二激活层进行在线外包推理的计算与验证:各计算服务器将非线性激活函数近似为多项式函数,调用并行逻辑计算单元,基于安全存储区域内秘密共享的输入份额,利用预共享的随机密钥三元组安全地完成多项式函数计算,得到激活输出份额和对应的中间计算份额;通过对所述激活输出份额及对应的中间计算份额进行一致性变换,生成用于验证的掩码投影值;客户端通过验证所述掩码投影值之间是否满足由所述多项式函数的系数和前一功能层的验证结果所确定的验证等式,判断本层激活计算的正确性,从而决定是否继续推理:若验证等式成立,则继续推理,否则中止推理;在第一池化层/第二池化层进行在线外包推理的计算与验证:各计算服务器调用并行逻辑计算单元,对输入的前一功能层的激活输出份额及对应的中间计算份额执行线性池化操作,通过本地计算得到池化输出份额,存储于安全存储区域内;专用的验证量生成计算模块同步工作,通过对所述池化输出份额进行一致性变换,生成用于验证的掩码投影值;客户端通过验证所述掩码投影值之间是否满足由所述多项式函数的系数和前一功能层的验证结果所确定的验证等式,来判断本层池化计算的正确性,从而决定是否继续推理:若验证等式成立,则继续推理,否则中止推理。
8.根据权利要求7所述的面向外包神经网络推理的多项式链验证方法,其特征在于,步骤130中,还包括:在第一全连接层进行在线外包推理的计算与验证:各计算服务器调用并行逻辑计算单元,对输入的池化输出份额以及相应掩码输出进行带偏置的全连接操作,对前序各功能层对应的中间计算份额执行不带偏置的全连接操作,从而得到第一全连接层的输出份额及对应的中间计算份额;通过对所述第一全连接层的输出份额及前序各功能层的中间计算份额进行一致性变换,生成用于验证的掩码投影值;客户端通过验证所述掩码投影值之间是否满足由本功能层的权重系数、前序各功能层的验证结果和多项式函数的系数共同确定的验证等式,来判断本层全连接计算的正确性,从而决定是否继续推理:若等式成立,则继续推理,否则中止推理;在第二全连接层进行在线外包推理的计算与验证:各计算服务器调用并行逻辑计算单元,对输入的第一全连接层的输出份额以及相应掩码输出进行带偏置的全连接操作,对前序各功能层对应的中间计算份额执行不带偏置的全连接操作,从而得到第二全连接层的输出份额及对应的中间计算份额;通过对所述第二全连接层的输出份额及前序各功能层对应的中间计算份额进行一致性变换,生成用于验证的验证量:掩码值;客户端通过验证所述掩码值之间是否满足由本功能层的权重系数、前序各功能层的验证结果和多项式函数的系数共同确定的验证等式,来判断本层全连接计算的正确性,从而决定是否继续推理:若验证等式成立,则继续推理,否则中止推理。
9.根据权利要求8所述的面向外包神经网络推理的多项式链验证方法,其特征在于,步骤130中,还包括在输出层进行在线外包推理的计算与验证:各计算服务器调用并行逻辑计算单元,将非线性输出层函数近似为多项式函数,基于安全存储区域内秘密共享的输入份额,利用预共享的随机密钥三元组安全地完成多项式函数计算,得到输出层的输出份额和对应的中间计算份额;专用的验证量生成计算模块同步工作,通过对所述输出层的输出份额及对应的中间计算份额进行一致性变换,生成用于验证的掩码值;客户端通过验证所述掩码值之间是否满足由所述多项式函数的系数和前一功能层的验证结果所确定的验证等式,判断输出层计算的正确性,从而决定是否计算出最终明文结果:若验证等式成立,则计算并输出最终明文结果,否则中止计算。
10.一种面向外包神经网络推理的多项式链验证装置,其特征在于,包括:第一模块,用于在模型端输入多功能层设计的神经网络的权重矩阵和非线性层近似激活函数的多项式系数;所述权重矩阵至少包括:卷积层的卷积核矩阵、全连接层的权重矩阵以及偏置矩阵;在客户端输入多个传感数据矩阵;第二模块,用于进行客户端与模型端的预处理操作;利用加性秘密共享,分别将权重矩阵、多项式系数和预构建的Beaver三元组分割为多个份额,分发给不同的计算服务器;每个计算服务器将接收的份额存储在硬件隔离的安全存储区域内;第三模块,用于各计算服务器调用设置的并行逻辑计算单元,对面向外包神经网络推理过程中每个功能层进行在线外包推理的计算与验证,包括:每个计算服务器基于安全存储区域内存储的份额与预置的多项式链规则,在加性秘密共享状态下计算并输出各功能层的验证量;将所述验证量进行掩码后返回客户端;客户端在掩码域内利用多项式形式的验证等式对掩码后的验证量进行验证,若验证通过,则继续进行后续推理,若未通过,则中止推理;第四模块,用于若所有功能层均验证通过,客户端根据最后一个功能层的公钥与同乘因子之积以及最后一个功能层的输出份额,计算出可信明文推理结果。



