CN110852430B - 面向非易失性计算系统的神经网络加密方法及装置 - Google Patents
面向非易失性计算系统的神经网络加密方法及装置 Download PDFInfo
- Publication number
- CN110852430B CN110852430B CN201911038839.3A CN201911038839A CN110852430B CN 110852430 B CN110852430 B CN 110852430B CN 201911038839 A CN201911038839 A CN 201911038839A CN 110852430 B CN110852430 B CN 110852430B
- Authority
- CN
- China
- Prior art keywords
- encryption
- layer
- gradient
- weight
- neural network
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Neurology (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种面向非易失性计算系统的神经网络加密方法及装置,其中,该方法主要包含两个部分,第一部分是密钥生成,第二部分是运行时加密调度,具体包括以下步骤:获得一个待部署神经网络模型后,累积所有样本产生的梯度,再对梯度进行稀疏化,找到神经网络模型梯度下降最快的方向,并根据该方向为神经网络模型生成特定的密钥,最后,利用密钥对各层权重进行加密和解密,并根据神经网络计算特点将加密过程和解密过程错开,逐层递推直至计算出最终结果。该方法对非易失性存储NVM系统中的神经网络模型进行保护,一方面大幅降低加解密引入的延时和功耗,另一方面能够保证加密的有效性、神经网络模型的安全性。
Description
技术领域
本发明涉及神经网络模型安全技术领域,特别涉及一种面向非易失性计算系统的神经网络加密方法及装置。
背景技术
近年来,神经网络已经引起了越来越多的关注,并在人工智能技术领域引起了巨大的进步。传统的基于冯诺伊曼架构的计算芯片系统(例如,GPU、FPGA等)受到存储墙的限制,即数据在存储单元和处理单元间的搬运和传输消耗大量的带宽和能耗;同时,摩尔定律已经在逐步失效,CMOS工艺尺寸很难再得到突破性微缩。因此,新型非易失性存储器件(Non-volatile memory,NVM)和新型架构正在进入人们的视野。NVM具有许多优点:其一,数据存储的非易失性,能够使系统在中断电源供给时依然留存数据,从而在恢复系统工作时无需重新载入数据,能够快速从休眠状态恢复工作;其二,器件能耗低、密度高,从而使存储密度更大,且整体功耗更低;其三,NVM单元可以构建交叉电路阵列,从而高能效地、高并行度地实现矩阵向量乘法,并且避免了矩阵数据的搬运,大幅减少对带宽和能耗的需求。由于神经网络中的卷积层和全连接层都可以拆解为矩阵向量乘法,基于NVM阵列的神经网络计算可以大幅提高其速度和能效水平。
NVM的非易失性固然能够带来更快的系统启动/唤醒速度,但同时也引发了神经网络模型的泄漏风险。神经网络的权重会被明文映射到阵列存储中,即使在断电的情况下,数据依然会长时间的留存。因此,一个攻击者一旦获取到设备的读取权限,就可以轻易地窃取所部署的神经网络模型。神经网络模型被窃取,一方面会导致知识产权的泄漏,另一方面会使得神经网络模型完全暴露,攻击者可以轻易地对神经网络进行白盒攻击,使其产生错误的预测或决策,从而大幅降低神经网络模型的可靠性。
传统的NVM数据保护方法是通过加密来防止数据处于明文状态而被窃取。常见的方法包括两种:其一是全部加解密,即每次运行前对所有数据解密,每次运行后对所有数据再加密;其二是逐步加解密,即程序运行前首先进行预测需要涉及的数据,再预先将这些数据解密,若运行过程中需调用尚未被解密的数据,则中断程序,完成该部分数据的解密后继续运行。另外还有一些方法在算法层面保证模型的安全,例如同态加密,对经过同态加密的数据进行处理运算,再将其输出进行解密,从而使外界无法获取到真实的数据,而是经过同态加密处理后的数据。
但上述提及的数据保护方法都存在一些问题。如神经网络参数量庞大(例如VGG-16有约130M的权重参数量),且计算过程中会调用所有的权重参数参与运算,因此无论是全部加解密或逐步加解密,都需要对整个网络的权重参数完成加解密的操作,这会引入极大的时间和能耗代价。而同态加密需要在神经网络的训练阶段就进行加解密,对于普通的神经网络并不适用。因此,亟待设计一种新型的加密方法对NVM系统中的神经网络模型进行保护。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种面向非易失性计算系统的神经网络加密方法,该方法找到模型中影响性能最为显著的关键权重进行加密,实现减少加密代价和加密安全性的目的。
本发明的另一个目的在于提出一种面向非易失性计算系统的神经网络加密装置。
为达到上述目的,本发明一方面实施例提出了面向非易失性计算系统的神经网络加密方法,包括以下步骤:步骤S1,获取待部署神经网络模型;步骤S2,建立与所述待部署神经网络模型目标域相同的样本集,并对所述样本集中的每个样本点进行前传及梯度反传,以生成快速梯度;步骤S3,对所述快速梯度进行稀疏化,并对稀疏化后的梯度进行加密排序,获得拟加密权重的位置和梯度方向;步骤S4,根据所述拟加密权重的位置和梯度方向,生成所述待部署神经网络模型的梯度密钥;步骤S5,利用所述梯度密钥对各层权重进行加密和解密,并根据神经网络计算特点将加密过程和解密过程错开,逐层递推直至计算出最终结果。
本发明实施例的面向非易失性计算系统的神经网络加密方法,能够大幅降低加解密过程引入的额外延时和能耗开销,并且加密具有很强的隐蔽性,攻击者破解出加密位置并完成解密的难度极大,同时,加密效果良好,仅每层加密20~30个权重,就可以使加密状态下的模型性能下降至与随机模型相当。
另外,根据本发明上述实施例的面向非易失性计算系统的神经网络加密方法还可以具有以下附加的技术特征:
可选地,在本发明的一个实施例中,所述样本集为训练集或验证集的子集。
进一步地,在本发明的一个实施例中,所述步骤S3中对所述快速梯度进行稀疏化,并对稀疏化后的梯度进行加密排序,获得拟加密权重的位置和梯度方向,包括:对所述快速梯度进行稀疏化,以降低加密和解密的权重数量;按照梯度的绝对值大小对每一层的权重进行层内加密排序,并标记每一层加密的权重数量;设定每一层选择前N个权重,并记录所述前N个权重的位置和梯度方向,其中,N为正整数。
进一步地,在本发明的一个实施例中,所述梯度密钥为所述拟加密权重的梯度方向和加密强度的乘积,其中,所述加密强度表示对权重修改的幅度大小。
进一步地,在本发明的一个实施例中,所述步骤S5中利用所述梯度密钥对各层权重进行加密和解密,并根据神经网络计算特点将加密过程和解密过程错开,逐层递推直至计算出最终结果,具体过程为:在计算第一层权重时,首先只利用所述梯度密钥解密第一层对应位置的权重,然后进行运算;第一层计算结束得到结果后,对第一层的权重进行加密,再对第二层的权重进行解密,然后进行第二层的计算;逐层递推,直至计算最后一层权重,输出所述最终结果。
进一步地,在本发明的一个实施例中,所述加密过程是对相应的权重累加一个差值,所述解密过程为所述加密过程的逆过程,在相应的权重减少一个差值,其中,所述差值为所述梯度密钥。
为达到上述目的,本发明另一方面实施例提出了面向非易失性计算系统的神经网络加密装置,包括:获取模块,用于获取待部署神经网络模型;生成快速梯度模块,用于建立与所述待部署神经网络模型目标域相同的样本集,并对所述样本集中的每个样本点进行前传及梯度反传,以生成快速梯度;稀疏化模块,用于对所述快速梯度进行稀疏化,并对稀疏化后的梯度进行加密排序,获得拟加密权重的位置和梯度方向;生成密钥模块,用于根据所述拟加密权重的位置和梯度方向,生成所述待部署神经网络模型的梯度密钥;以加解密调度模块,用于利用所述梯度密钥对各层权重进行加密和解密,并根据神经网络计算特点将加密过程和解密过程错开,逐层递推直至计算出最终结果。
本发明实施例的面向非易失性计算系统的神经网络加密装置,能够大幅降低加解密过程引入的额外延时和能耗开销,并且加密具有很强的隐蔽性,攻击者破解出加密位置并完成解密的难度极大,同时,加密效果良好,仅每层加密20~30个权重,就可以使加密状态下的模型性能下降至与随机模型相当。
另外,根据本发明上述实施例的面向非易失性计算系统的神经网络加密装置还可以具有以下附加的技术特征:
进一步地,在本发明的一个实施例中,所述稀疏化模块包括:稀疏化单元,用于对所述快速梯度进行稀疏化,以降低加密和解密的权重数量;加密排序单元,用于按照梯度的绝对值大小对每一层的权重进行层内加密排序,并标记每一层加密的权重数量;记录单元,用于设定每一层选择前N个权重,并记录所述前N个权重的位置和梯度方向,其中,N为正整数。
进一步地,在本发明的一个实施例中,所述梯度密钥为所述拟加密权重的梯度方向和加密强度的乘积,其中,所述加密强度表示对权重修改的幅度大小。
可选地,在本发明的一个实施例中,所述加解密调度模块具体过程为:在计算第一层权重时,首先只利用所述梯度密钥解密第一层对应位置的权重,然后进行运算;第一层计算结束得到结果后,对第一层的权重进行加密,再对第二层的权重进行解密,然后进行第二层的计算;逐层递推,直至计算到最后一层权重,输出所述最终结果。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明一个实施例的整体加解密流程图;
图2为根据本发明一个实施例的面向非易失性计算系统的神经网络加密方法流程图;
图3为根据本发明一个实施例的密钥生成过程示意图;
图4为根据本发明一个实施例的运行时的加密调度策略示意图;
图5为根据本发明测评实验中每层加密权重数量与模型精度的关系图;
图6为根据本发明测评实验中加密强度与模型精度的关系图;
图7为根据本发明测评实验中加密后的权重值的所处范围示意图;
图8为根据本发明一个实施例的面向非易失性计算系统的神经网络加密装置结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
首先,本发明实施例旨在解决存算融合系统的神经网络模型安全问题。相关技术中,存算融合(Compute-in-memory,CIM)将神经网络的权重存储在非易失性存储阵列中,并通过模拟域的运算来实现高能效的矩阵向量乘法计算。但该计算方式会存在神经网络模型和隐私泄露的风险,从而导致个人信息或知识产权被窃取的风险。因此,需要对NVM阵列中存储的神经网络权重参数进行加密。相关技术中,采用的加密方式是通过在空闲时将所有的数据进行加密、在运行时将所有的数据解密来实现存储数据的保护。但是,该加解密操作施加在所有的权重参数上,需要在每次运行前和运行后都重写所有存储权重的NVM单元。由于NVM器件具有写入代价(延时、能耗)大、有效寿命短的缺点,因此如此频繁、大量的数据重写会导致系统整体功耗巨大,且极大降低系统使用寿命。基于此,如图1所示,本发明提出找到神经网络模型中影响性能最为显著的关键权重进行加密,进而减少加密代价和加密安全性的方法,该方法主要包含两个部分,第一部分是密钥生成,第二部分是运行时加密调度。
下面参照附图具体描述根据本发明实施例提出的面向非易失性计算系统的神经网络加密方法及装置,首先将参照附图描述根据本发明实施例提出的面向非易失性计算系统的神经网络加密方法。
图2是本发明一个实施例的面向非易失性计算系统的神经网络加密方法流程图。
如图2所示,该面向非易失性计算系统的神经网络加密方法包括以下步骤:
步骤S1,获取待部署神经网络模型。
步骤S2,建立与待部署神经网络模型目标域相同的样本集,并对样本集中的每个样本点进行前传及梯度反传,以生成快速梯度。
可选地,在本发明的一个实施例中,样本集为训练集或验证集的子集。
具体地,如3所示,获得一个需要部署的神经网络模型后,准备与目标域相同的样本集,在按照训练时的损失函数对每一个样本点进行前传以及梯度的反转,再累加所有样本产生的快速梯度。其中,样本集可以是训练集火验证集的子集。
步骤S3,对快速梯度进行稀疏化,并对稀疏化后的梯度进行加密排序,获得拟加密权重的位置和梯度方向。
进一步地,在本发明的一个实施例中,步骤S3中对快速梯度进行稀疏化,并对稀疏化后的梯度进行加密排序,获得拟加密权重的位置和梯度方向,包括:对快速梯度进行稀疏化,以降低加密和解密的权重数量;按照梯度的绝对值大小对每一层的权重进行层内加密排序,并标记每一层加密的权重数量;设定每一层选择前N个权重,并记录前N个权重的位置和梯度方向,其中,N为正整数。
也就是说,生成所有样本产生的快速梯度后,对梯度进行稀疏化,降低加解密的权重数量,进而降低其延时和功耗代价。再按照梯度的绝对值大小对每一层的权重进行层内的排序。并标记每一层加密的权重数量为N。排序完成后,每一层选择前N个权重,记录前N个权重的位置和梯度方向。其中,N的选择通常为20~30。
步骤S4,根据拟加密权重的位置和梯度方向,生成待部署神经网络模型的梯度密钥。
进一步地,在本发明的一个实施例中,梯度密钥为拟加密权重的梯度方向和加密强度的乘积,其中,加密强度表示对权重修改的幅度大小。
具体而言,在得到加密权重的位置和梯度方向后,将拟加密权重的梯度方向与加密强度的相乘,乘积值就是神经网络模型的特定的梯度密钥。可以理解的是,加密强度e为对权重修改的幅值大小,加密强度e的选择通常为0.1~0.2。
也就是说,本发明实施例基于稀疏快速梯度加密(sparse fast gradientencryption,SFGE)的密钥生成方式,找到神经网络模型梯度下降最快的方向,从而使得稀疏的权重加密就可以使模型性能降低至几乎为零。
步骤S5,利用梯度密钥对各层权重进行加密和解密,并根据神经网络计算特点将加密过程和解密过程错开,逐层递推直至计算出最终结果。
需要说明的是,加密和解密即根据密钥对指定的权重进行修改。其中,加密的目标是使加密后的模型精度尽可能降低到与随机初始化模型的性能一致,因此与正常网络训练的权值更新方向相反,加密过程对相应的权重累加一个差值,该差值为步骤S4中生成的梯度密钥。而解密过程就是加密的逆过程,在相应的权重减去相同的差值。
通过以上五个步骤,就可完成对特定神经网络模型的密钥生成与加解密过程,具体算法总结如下:
进一步地,如图4所示,为了保证NVM神经网络计算系统在任何时刻的模型数据安全,本发明实施例设计了一个运行时加密调度的策略。运行时加密调度即在运行过程中进行权重的加解密。利用神经网络计算从前至后、逐层运行的特点,将各层的加解密错开。具体过程为:
在计算第一层时,首先只利用密钥解密第一层对应位置的权重,然后进行运算;第一层计算结束得到结果后,对第一层的权重进行加密,再对第二层的权重进行解密,然后进行第二层的计算;如此逐层递推,直到计算出最终的结果。
在上述运行时的加密调度方式下,能够保证在运行时的任意一个时刻,都有且仅有一层权重是完全处于明文状态的,从而保证无论任何时刻受到攻击者的读取,都无法完全恢复出原来的模型。
因此,通过上述步骤的密钥生成和运行时调度加密,本发明实施例实现了针对NVM神经网络系统的模型加密和保护。
另外,本发明在多个神经网络架构上对该方法进行了加密效果、隐蔽性和加密代价的测评实验,使用的测评网络包括ResNet18,ResNet50,ResNet101以及VGG16,使用的测评数据集为ImageNet。
首先衡量每层加密权重数量以及加密强度对模型精度的影响,更低的模型精度对应更好的加密效果,因为精度越低代表模型越趋近于随机模型,暴露出的信息量越少。如图5所示,可以看到加密效果随N的增加而提升,但在到达某一个临界值后继续增加N的收益较小。同样的,如图6所示,加密效果随加密强度e的增大而增大,但由于过大的e会使加密后的权重跳出正常的范围,从而使攻击者能够轻易分辨出被加密的权重位置,这会极大降低破译密钥的难度。如图7所示,当e=0.5时,绝大部分加密权重都会成为异常点;而当e较小时,则能够使加密权重极为隐蔽,使破解难度极高。
如下表1可以看出,FGSM攻击指攻击者基于加密模型的攻击效果,可以看到加密后的模型能够有效抵抗白盒攻击,相比于明文状态下的模型有显著提升。Mean Recall表示攻击者基于加密后的模型,通过相同梯度反传方法找到加密位置的召回率。可以看到攻击者在前100大梯度对应的权重中,几乎无法找到加密位置;前1000大梯度对应的权重中,仅能找到约10%的加密权重(2~3个位置)。
表1实验结果总结表格
综上所述,根据本发明实施例提出的面向非易失性计算系统的神经网络加密方法,能够大幅降低加解密过程引入的额外延时和能耗开销,并且加密具有很强的隐蔽性,攻击者破解出加密位置并完成解密的难度极大,需要从数百万的权重中找到20~30个加密位置,复杂度超过10的五十方。同时,加密效果良好,仅每层加密20~30个权重,就可以使加密状态下的模型性能下降至与随机模型相当,以ImageNet数据集的识别为例,随机模型的准确率在0.1%左右,而加密后的模型准确率基本上在0.1%~1.0%的范围。
其次参照附图描述根据本发明实施例提出的面向非易失性计算系统的神经网络加密装置。
图8是本发明一个实施例的面向非易失性计算系统的神经网络加密装置结构示意图。
如图8所示,该装置10包括:获取模块100、生成快速梯度模块200、稀疏化模块300、生成密钥模块400和加解密调度模块500。
其中,获取模块100,用于获取待部署神经网络模型。生成快速梯度模块200,用于建立与待部署神经网络模型目标域相同的样本集,并对样本集中的每个样本点进行前传及梯度反传,以生成快速梯度。稀疏化模块300,用于对快速梯度进行稀疏化,并对稀疏化后的梯度进行加密排序,获得拟加密权重的位置和梯度方向。生成密钥模块400,用于根据拟加密权重的位置和梯度方向,生成待部署神经网络模型的梯度密钥。加解密调度模块500,用于利用梯度密钥对各层权重进行加密和解密,并根据神经网络计算特点将加密过程和解密过程错开,逐层递推直至计算出最终结果。
进一步地,在本发明的一个实施例中,稀疏化模块300包括:稀疏化单元,用于对快速梯度进行稀疏化,以降低加密和解密的权重数量;加密排序单元,用于按照梯度的绝对值大小对每一层的权重进行层内加密排序,并标记每一层加密的权重数量;记录单元,用于设定每一层选择前N个权重,并记录前N个权重的位置和梯度方向,其中,N为正整数。
进一步地,在本发明的一个实施例中,梯度密钥为拟加密权重的梯度方向和加密强度的乘积,其中,加密强度表示对权重修改的幅度大小。
进一步地,在本发明的一个实施例中,加解密调度模块具体过程为:在计算第一层权重时,首先只利用梯度密钥解密第一层对应位置的权重,然后进行运算;第一层计算结束得到结果后,对第一层的权重进行加密,再对第二层的权重进行解密,然后进行第二层的计算;逐层递推,直至计算到最后一层权重,输出最终结果。
根据本发明实施例提出的面向非易失性计算系统的神经网络加密装置,能够大幅降低加解密过程引入的额外延时和能耗开销,并且加密具有很强的隐蔽性,攻击者破解出加密位置并完成解密的难度极大,同时,加密效果良好,仅每层加密20~30个权重,就可以使加密状态下的模型性能下降至与随机模型相当。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (6)
1.一种面向非易失性计算系统的神经网络加密方法,其特征在于,包括以下步骤:
步骤S1,获取待部署神经网络模型;
步骤S2,建立与所述待部署神经网络模型目标域相同的样本集,并对所述样本集中的每个样本点进行前传及梯度反传,以生成快速梯度;
步骤S3,对所述快速梯度进行稀疏化,并对稀疏化后的梯度进行加密排序,获得拟加密权重的位置和梯度方向;
步骤S4,根据所述拟加密权重的位置和梯度方向,生成所述待部署神经网络模型的梯度密钥;以及
步骤S5,利用所述梯度密钥对各层权重进行加密和解密,并根据神经网络计算特点将加密过程和解密过程错开,逐层递推直至计算出最终结果;
所述步骤S3中对所述快速梯度进行稀疏化,并对稀疏化后的梯度进行加密排序,获得拟加密权重的位置和梯度方向,包括:
对所述快速梯度进行稀疏化,以降低加密和解密的权重数量;
按照梯度的绝对值大小对每一层的权重进行层内加密排序,并标记每一层加密的权重数量;
设定每一层选择前N个权重,并记录所述前N个权重的位置和梯度方向,其中,N为正整数;
所述梯度密钥为所述拟加密权重的梯度方向和加密强度的乘积,其中,所述加密强度表示对权重修改的幅度大小。
2.根据权利要求1所述的面向非易失性计算系统的神经网络加密方法,其特征在于,所述样本集为训练集或验证集的子集。
3.根据权利要求1所述的面向非易失性计算系统的神经网络加密方法,其特征在于,所述步骤S5中利用所述梯度密钥对各层权重进行加密和解密,并根据神经网络计算特点将加密过程和解密过程错开,逐层递推直至计算出最终结果,具体过程为:
在计算第一层权重时,首先只利用所述梯度密钥解密第一层对应位置的权重,然后进行运算;
第一层计算结束得到结果后,对第一层的权重进行加密,再对第二层的权重进行解密,然后进行第二层的计算;
逐层递推,直至计算最后一层权重,输出所述最终结果。
4.根据权利要求1所述的面向非易失性计算系统的神经网络加密方法,其特征在于,所述加密过程是对相应的权重累加一个差值,所述解密过程为所述加密过程的逆过程,在相应的权重减少一个差值,其中,所述差值为所述梯度密钥。
5.一种面向非易失性计算系统的神经网络加密装置,其特征在于,包括:
获取模块,用于获取待部署神经网络模型;
生成快速梯度模块,用于建立与所述待部署神经网络模型目标域相同的样本集,并对所述样本集中的每个样本点进行前传及梯度反传,以生成快速梯度;
稀疏化模块,用于对所述快速梯度进行稀疏化,并对稀疏化后的梯度进行加密排序,获得拟加密权重的位置和梯度方向;
生成密钥模块,用于根据所述拟加密权重的位置和梯度方向,生成所述待部署神经网络模型的梯度密钥;以及
加解密调度模块,用于利用所述梯度密钥对各层权重进行加密和解密,并根据神经网络计算特点将加密过程和解密过程错开,逐层递推直至计算出最终结果;
所述稀疏化模块包括:
稀疏化单元,用于对所述快速梯度进行稀疏化,以降低加密和解密的权重数量;
加密排序单元,用于按照梯度的绝对值大小对每一层的权重进行层内加密排序,并标记每一层加密的权重数量;
记录单元,用于设定每一层选择前N个权重,并记录所述前N个权重的位置和梯度方向,其中,N为正整数;
其中,所述梯度密钥为所述拟加密权重的梯度方向和加密强度的乘积,其中,所述加密强度表示对权重修改的幅度大小。
6.根据权利要求5所述的面向非易失性计算系统的神经网络加密装置,其特征在于,所述加解密调度模块具体过程为:
在计算第一层权重时,首先只利用所述梯度密钥解密第一层对应位置的权重,然后进行运算;
第一层计算结束得到结果后,对第一层的权重进行加密,再对第二层的权重进行解密,然后进行第二层的计算;
逐层递推,直至计算到最后一层权重,输出所述最终结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911038839.3A CN110852430B (zh) | 2019-10-29 | 2019-10-29 | 面向非易失性计算系统的神经网络加密方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911038839.3A CN110852430B (zh) | 2019-10-29 | 2019-10-29 | 面向非易失性计算系统的神经网络加密方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110852430A CN110852430A (zh) | 2020-02-28 |
CN110852430B true CN110852430B (zh) | 2022-09-09 |
Family
ID=69598694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911038839.3A Active CN110852430B (zh) | 2019-10-29 | 2019-10-29 | 面向非易失性计算系统的神经网络加密方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110852430B (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10075289B2 (en) * | 2015-11-05 | 2018-09-11 | Microsoft Technology Licensing, Llc | Homomorphic encryption with optimized parameter selection |
CN106790019B (zh) * | 2016-12-14 | 2019-10-11 | 北京天融信网络安全技术有限公司 | 基于特征自学习的加密流量识别方法及装置 |
CN107086910B (zh) * | 2017-03-24 | 2018-08-10 | 中国科学院计算技术研究所 | 一种针对神经网络处理的权重加解密方法和系统 |
US10554390B2 (en) * | 2017-06-12 | 2020-02-04 | Microsoft Technology Licensing, Llc | Homomorphic factorization encryption |
CN109325584B (zh) * | 2018-08-10 | 2021-06-25 | 深圳前海微众银行股份有限公司 | 基于神经网络的联邦建模方法、设备及可读存储介质 |
CN109981252B (zh) * | 2019-03-12 | 2020-07-10 | 中国科学院信息工程研究所 | 一种基于关键路径加密的人工智能处理器安全增强系统及方法 |
-
2019
- 2019-10-29 CN CN201911038839.3A patent/CN110852430B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110852430A (zh) | 2020-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2022515711A (ja) | 人工知能を利用した安全保障システム | |
Jorstad et al. | Cryptographic algorithm metrics | |
CN107277065B (zh) | 基于强化学习的检测高级持续威胁的资源调度方法 | |
Cai et al. | Enabling Secure in-Memory Neural Network Computing by Sparse Fast Gradient Encryption. | |
CN111931241B (zh) | 基于隐私保护的线性回归特征显著性检验方法、装置 | |
CN110413652B (zh) | 一种基于边缘计算的大数据隐私化检索方法 | |
Goldstein et al. | Preventing DNN model IP theft via hardware obfuscation | |
CN112787971B (zh) | 侧信道攻击模型的构建方法、密码攻击设备及计算机存储介质 | |
US8566609B2 (en) | Integrity of ciphered data | |
Cai et al. | Enabling secure nvm-based in-memory neural network computing by sparse fast gradient encryption | |
Pereteanu et al. | Split HE: Fast secure inference combining split learning and homomorphic encryption | |
Xu et al. | Rethinking FPGA security in the new era of artificial intelligence | |
Şatir et al. | A symmetric DNA encryption process with a biotechnical hardware | |
CN113630235A (zh) | 一种侧信道分析及其模型构建的方法与装置 | |
Ebrahimabadi et al. | A novel modeling-attack resilient arbiter-PUF design | |
Huang et al. | Secure XOR-CIM engine: Compute-in-memory sram architecture with embedded xor encryption | |
Shi et al. | Image encryption with quantum cellular neural network | |
Genkin et al. | Cache vs. key-dependency: Side channeling an implementation of Pilsung | |
CN110852430B (zh) | 面向非易失性计算系统的神经网络加密方法及装置 | |
Chen et al. | On side-channel analysis of memristive cryptographic circuits | |
Li et al. | Leveraging Memory PUFs and PIM-based encryption to secure edge deep learning systems | |
CN117034307A (zh) | 数据加密方法、装置、计算机设备和存储介质 | |
US11914870B2 (en) | Side-channel-attack-resistant memory access on embedded central processing units | |
Sönmez et al. | Machine learning based side channel selection for time-driven cache attacks on aes | |
Hao et al. | Fastsecnet: An efficient cryptographic framework for private neural network inference |
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 |