CN114868127A - 信息处理装置、信息处理方法和信息处理程序 - Google Patents

信息处理装置、信息处理方法和信息处理程序 Download PDF

Info

Publication number
CN114868127A
CN114868127A CN202080089730.7A CN202080089730A CN114868127A CN 114868127 A CN114868127 A CN 114868127A CN 202080089730 A CN202080089730 A CN 202080089730A CN 114868127 A CN114868127 A CN 114868127A
Authority
CN
China
Prior art keywords
calculation
information processing
value
learning
changing unit
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.)
Pending
Application number
CN202080089730.7A
Other languages
English (en)
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of CN114868127A publication Critical patent/CN114868127A/zh
Pending legal-status Critical Current

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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/75Protecting 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 by inhibiting the analysis of circuitry or operation
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (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)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)
  • Storage Device Security (AREA)

Abstract

每当执行使用通过机器学习来调整值的学习参数的运算的运算执行时机到来时,运算步骤变更部(100)不规则地将运算步骤变更成得到与通过变更前的运算步骤执行运算而得到的运算结果相同的运算结果的、与变更前的运算步骤不同的运算步骤。每当运算执行时机到来时,运算执行部(101)通过由运算步骤变更部(100)变更后的运算步骤执行使用学习参数的运算。

Description

信息处理装置、信息处理方法和信息处理程序
技术领域
本发明涉及信息处理装置、信息处理方法和信息处理程序。
背景技术
近年来,伴随着互联网的普及,已提供利用互联网的多种多样的服务。作为其中之一,使用以深度学习为代表的机器学习的金融服务、检索引擎、图案识别等服务正在增加。
另一方面,已报告大量基于网络攻击的机密信息等信息泄露这样的安全事件。而且,为了防止安全事件造成的信息资产流出,采取了数据加密这样的针对网络攻击的安全对策。
在使用机器学习的服务中,构成机器学习的学习模型的模型架构和通过学习来调整值的学习参数这样的学习模型信息是决定服务品质的重要信息,成为具有产业上的价值的一个信息资产。而且,已被指出存在以盗窃该学习模型信息为目的的网络攻击。因此,正在研究保护学习模型信息免受网络攻击的安全对策。
例如,在专利文献1中公开有如下方法:在具有防篡改性的安全元件中存储学习模型信息,进而,对学习模型信息进行加扰来存储,由此,保护学习模型信息免受网络攻击。
现有技术文献
专利文献
专利文献1:日本特开2019-101807号公报
发明内容
发明要解决的课题
在专利文献1的方法中,对学习模型信息进行加扰并将其存储于安全元件,但是,在执行运算时,学习模型信息被解扰并读出到处理器而用于运算。
因此,存在如下课题:根据执行运算时产生的耗电、泄漏电磁波这样的侧通道信息对学习模型信息进行分析,无法保护学习模型信息免受模仿学习模型的Model Reverse-Engineering(模型逆向工程)攻击方法的影响。
本发明的主要目的在于解决上述这种课题。具体而言,本发明的主要目的在于保护作为学习模型信息的学习参数免受Model Reverse-Engineering(模型逆向工程)攻击方法的影响。
用于解决课题的手段
本发明的信息处理装置具有:运算步骤变更部,每当执行使用通过机器学习来调整值的学习参数的运算的运算执行时机到来时,该运算步骤变更部不规则地将运算步骤变更成得到与通过变更前的运算步骤执行运算而得到的运算结果相同的运算结果的、与所述变更前的运算步骤不同的运算步骤;以及运算执行部,每当所述运算执行时机到来时,该运算执行部通过由所述运算步骤变更部变更后的运算步骤执行使用所述学习参数的运算。
发明效果
根据本发明,能够保护学习参数免受Model Reverse-Engineering(模型逆向工程)攻击方法的影响。
附图说明
图1是示出实施方式1的信息处理装置的硬件的结构例的图。
图2是示出实施方式1的信息处理装置的功能结构例的图。
图3是示出实施方式1的信息处理装置的动作例的流程图。
图4是示出实施方式1的信息处理装置的运算处理的流程图。
图5是示出实施方式1的学习模型的单元的运算步骤的图。
图6是示出实施方式1的运算步骤的变更的图。
图7是示出实施方式1的变形例1的运算步骤的变更的图。
图8是示出实施方式1的变形例2的运算步骤的变更的图。
图9是示出实施方式1的变形例3的运算步骤的变更的图。
图10是示出实施方式2的信息处理装置的运算处理的流程图。
图11是示出实施方式2的运算步骤的变更的图。
图12是示出实施方式3的信息处理装置的运算处理的流程图。
图13是示出实施方式3的运算步骤的变更的图。
具体实施方式
下面,使用附图对本发明的实施方式进行说明。在以下的实施方式的说明和附图中,标注有相同标号的部分表示相同的部分或相当的部分。
另外,在以下的实施方式中,作为成为学习模型基础的机器学习方法的例子,利用使用神经网络的方法进行说明。
实施方式1
***结构的说明***
图1示出本实施方式的信息处理装置1的硬件结构例。
信息处理装置1是计算机。
信息处理装置1是使用后述的学习模型110进行学习处理和推论处理的信息处理装置。
另外,学习处理例如是在有训练学习中给出训练数据而对后述的学习参数220进行调整的处理。此外,推论处理是根据通过学习处理进行调整后的学习参数220进行与未知数据有关的预测或识别等的处理。
信息处理装置1具有处理器10、存储器11、辅助存储装置12、输入输出I/F13、通信装置14和随机数产生器15,经由信号线而相互连接。
另外,信息处理装置1的动作步骤相当于信息处理方法。此外,实现信息处理装置1的动作的程序相当于信息处理程序。
处理器10是进行处理的IC(Integrated Circuit:集成电路)。作为具体例,处理器10是CPU(Central Processing Unit:中央处理单元)、DSP(Digital Signal Processor:数字信号处理器)等。
存储器11是暂时存储数据的存储装置。作为具体例,存储器11是RAM(RandomAccess Memory:随机存取存储器)。
辅助存储装置12是保管实现后述的运算步骤变更部100和运算执行部101的功能的程序的辅助存储装置。作为具体例,辅助存储装置12是硬盘。
此外,辅助存储装置12也可以是SSD(注册商标,Solid State Drive:固态驱动器)、SD(注册商标,Secure Digital:安全数字)存储卡、CF(注册商标,CompactFlash:致密闪存)、NAND闪存、软盘、光盘、高密度盘、蓝光(注册商标)盘、DVD(注册商标,DigitalVersatile Disk:数字多功能盘)这样的移动记录介质。
辅助存储装置12中存储的实现运算步骤变更部100和运算执行部101的功能的程序由存储器11载入。此外,该程序被读出到处理器10来执行。
此外,在辅助存储装置12中还存储有OS(Operating System:操作系统)。
而且,OS的至少一部分由处理器10来执行。
处理器10一边执行OS的至少一部分,一边执行实现运算步骤变更部100和运算执行部101的功能的程序。
处理器10执行OS,由此进行任务管理、存储管理、文件管理、通信控制等。
此外,表示运算步骤变更部100和运算执行部101的处理结果的信息、数据、信号值和变量值中的至少任意一方存储于处理器10、存储器11、辅助存储装置12内的寄存器和高速缓冲存储器中的至少任意一方。
此外,实现运算步骤变更部100和运算执行部101的功能的程序也可以存储于硬盘、SSD(注册商标)、SD(注册商标)存储卡、CF(注册商标)、NAND闪存、软盘、光盘、高密度盘、蓝光(注册商标)盘、DVD(注册商标)这样的移动记录介质。
而且,也可以使实现运算步骤变更部100和运算执行部101的功能的程序流通。
通信装置14是经由信号线执行与连接目的地之间的数据的通信处理的电子电路。作为具体例,通信装置14是Ethernet(注册商标)用的通信芯片或NIC(Network InterfaceCard:网络接口卡)。
随机数产生器15是产生随机的随机数的电子电路。此外,随机数产生器15也可以是由处理器10实现的程序。
图2是示出本实施方式的信息处理装置1的功能结构例的图。
信息处理装置1具有运算步骤变更部100、运算执行部101和存储部200。
运算步骤变更部100对使用后述的学习参数220的运算步骤进行变更。
具体而言,每当执行使用学习参数220的运算的运算执行时机到来时,运算步骤变更部100不规则地对运算步骤进行变更。另外,运算步骤变更部100变更成得到与通过变更前的运算步骤执行运算而得到的运算结果相同的运算结果的、与变更前的运算步骤不同的运算步骤。
由运算步骤变更部100进行的处理相当于运算步骤变更处理。
运算执行部101根据由学习模型110确定且由运算步骤变更部100变更后的运算步骤来执行运算。
具体而言,每当运算执行时机到来时,运算执行部101通过由运算步骤变更部100变更后的运算步骤执行使用学习参数220的运算。
由运算执行部101进行的处理相当于运算执行处理。
另外,学习模型110是确定基于机器学习的运算步骤的模型。学习模型110由后述的学习模型信息来决定。
另外,在本实施方式中,学习模型110是神经网络。
存储部200是存储信息处理装置1的学习处理和推论处理中使用的学习模型信息的存储区域。具体而言,学习模型信息是模型架构210和学习参数220。
另外,具体而言,模型架构210是神经网络中的单元数、层数或激活函数这样的不通过学习处理来调整的参数。
在图2中,学习模型110的圆圈表示单元。此外,圆圈的列表示层。因此,示出模型架构210的单元数、层数分别是14、4。
此外,具体而言,学习参数220是神经网络中的权重或偏置这样的通过学习处理来调整值的参数。
存储部200由存储器11和辅助存储装置12来实现。
此外,模型架构210和学习参数220也可以存储于硬盘、SSD(注册商标)、SD(注册商标)存储卡、CF(注册商标)、NAND闪存、软盘、光盘、高密度盘、蓝光(注册商标)盘、DVD(注册商标)这样的移动记录介质。
此外,模型架构210和学习参数220也可以经由通信装置14存储于连接目的地。
此外,也可以将运算步骤变更部100、运算执行部101和存储部200的“部”改写成“电路”或“工序”或“步骤”或“处理”。
此外,信息处理装置1也可以由处理电路来实现。处理电路例如是逻辑IC(Integrated Circuit:集成电路)、GA(Gate Array:门阵列)、ASIC(Application SpecificIntegrated Circuit:专用集成电路)、FPGA(Field-Programmable Gate Array:现场可编程门阵列)。
该情况下,运算步骤变更部100、运算执行部101和存储部200分别作为处理电路的一部分来实现。
另外,在本说明书中,将处理器和处理电路的上位概念称作“处理线路”。
即,处理器和处理电路分别是“处理线路”的具体例。
***动作的说明***
接着,使用图3的流程图对本实施方式的信息处理装置1的动作例进行说明。
另外,在本实施方式中,作为机器学习的处理的例子,使用推论处理进行说明。
首先,在步骤S100中,运算执行部101经由输入输出I/F13取得输入数据。
接着,在步骤S110中,运算执行部101载入存储部200中存储的学习模型信息即模型架构210和学习参数220。
接着,在步骤S120中,运算执行部101根据载入的学习模型信息,通过由学习模型110确定且由运算步骤变更部100变更后的运算步骤来执行运算。另外,运算步骤变更部100执行运算的时机是运算执行时机。运算处理的详细情况在后面叙述。
然后,在步骤S130中,运算执行部101经由输入输出I/F13输出运算结果。
图4是示出本实施方式的信息处理装置1的运算处理例的流程图。
另外,在本实施方式中,学习参数220的值是由学习模型110确定的各个单元中的权重。此外,与学习参数220的值进行运算的被运算值是由学习模型110确定的各个单元中的输入值。
首先,在步骤S200中,运算执行部101指定由学习模型110确定的神经网络的1个单元。
具体而言,运算执行部101从第2层的单元起依次指定未被指定的单元。此外,如果已经指定各层的全部单元,则运算执行部101指定下一层的单元。作为具体例,如果已经指定第2层的全部单元,则运算执行部101指定第3层的任意单元。
接着,在步骤S210中,运算步骤变更部100实施屏蔽。
具体而言,运算执行部101将输入到指定单元的多个输入值和多个权重通知给运算步骤变更部100。
运算步骤变更部100接受来自运算执行部101的通知,从随机数产生器15取得随机数。然后,运算步骤变更部100使用从随机数产生器15取得的随机数对从运算执行部101通知的值进行屏蔽。屏蔽的详细情况在后面叙述。
进而,运算步骤变更部100根据从随机数产生器15取得的随机数和从运算执行部101通知的值,计算无屏蔽中使用的值并进行存储。
无屏蔽是使使用屏蔽后的值运算出的结果与不实施屏蔽而运算出的结果相同的处理。
然后,运算步骤变更部100将屏蔽后的值通知给运算执行部101。
接着,在步骤S220中,运算执行部101使用从运算步骤变更部100通知的屏蔽后的值执行运算。屏蔽后的运算的详细情况在后面叙述。
然后,运算执行部101将运算结果通知给运算步骤变更部100。
接着,在步骤S230中,运算步骤变更部100对从运算执行部101通知的运算结果实施无屏蔽。无屏蔽的详细情况在后面叙述。
通过该无屏蔽得到的运算结果与使用实施屏蔽之前的权重和输入值的运算结果相同。
然后,运算步骤变更部100将通过该无屏蔽得到的运算结果通知给运算执行部101。
接着,在步骤S240中,运算执行部101对从运算步骤变更部100通知的运算结果依次执行偏置的相加、激活函数的运算。
另外,执行了激活函数的运算的结果成为输入到下层单元的值。或者,在没有下层单元的情况下,成为要输出的运算结果。
运算步骤变更部100对针对单元的输入值进行屏蔽,使运算执行部101进行使用屏蔽后的值的运算,对运算执行部101的运算结果进行无屏蔽,此外,使运算执行部101进行使用无屏蔽后的值的偏置的相加和激活函数的运算,由此对运算步骤进行变更。运算步骤变更前的运算结果(激活函数的运算结果)和运算步骤变更后的运算结果(激活函数的运算结果)相同。
这样,运算步骤变更部100在维持使用激活函数的运算的运算结果的同一性的同时,对运算步骤进行变更。然后,运算执行部101通过变更后的运算步骤进行运算。具体而言,运算执行部101不是对针对单元的输入值进行运算,而是对由运算步骤变更部100屏蔽后的值进行运算。此外,运算执行部101不是对针对单元的输入值的运算结果执行激活函数的运算,而是将屏蔽后的值的运算结果输出到运算步骤变更部100,对由运算步骤变更部100无屏蔽后的值执行偏置的相加和激活函数的运算。
接着,在步骤S250中,运算执行部101判定运算是否结束。
具体而言,运算执行部101确认是否已经指定由学习模型110确定的除了第1层的单元以外的全部单元。
然后,如果运算执行部101确认已经指定由学习模型110确定的除了第1层的单元以外的全部单元,则运算处理结束。
另一方面,如果运算执行部101确认在由学习模型110确定的除了第1层的单元以外的单元中存在未指定的单元,则处理返回步骤S200。
接着,使用图5和图6对屏蔽、屏蔽后的运算和无屏蔽的例子进行说明。
图5图示出学习模型110的1个单元的运算步骤的例子。
输入值分别是x0、x1、x2。此外,权重分别是w0、w1、w2
输入值x0、x1、x2和权重w0、w1、w2以相同小标的值的组合相乘。然后,计算这些各个乘法值的总和。总和是x0w0+x1w1+x2w2
然后,对该总和加上偏置b0。然后,对加上该偏置b0后的值进行基于激活函数的运算,作为输出y0进行输出。
图6图示出在图5的运算步骤中实施基于相加的屏蔽和无屏蔽的处理而进行变更的运算步骤的例子。
权重w0、w1、w2分别首先与随机数m相加而被屏蔽。这样,通过对由随机数产生器15产生的随机数进行相加或相乘而隐匿学习参数220的值和被运算值中的至少任意一方的处理是屏蔽。
然后,输入值x0、x1、x2和屏蔽后的权重w0+m、w1+m、w2+m以相同小标的值的组合相乘。然后,计算这些各个乘法值的总和。总和是x0w0+x1w1+x2w2+m(x0+x1+x2)。
然后,该总和与运算步骤变更部100计算并存储的无屏蔽中使用的值-m(x0+x1+x2)相加而被无屏蔽。通过该无屏蔽,加上偏置b0之前的运算结果成为x0w0+x1w1+x2w2,与不实施屏蔽的情况下的加上偏置b0之前的运算结果相同。
另外,在基于相加的屏蔽的情况下,也可以在加上偏置b0之后实施无屏蔽。
***实施方式的效果的说明***
如上所述,在本实施方式中,在由学习模型确定的运算步骤中追加使用随机数的屏蔽的处理和无屏蔽的处理。因此,每当运算执行时机时,运算步骤被不规则地变更。由此,执行运算时产生的侧通道信息不规则地变化。因此,能够防止学习模型即学习参数的分析。
另外,在本实施方式中,作为成为学习模型基础的机器学习方法的例子,利用使用神经网络的方法进行了说明。但是,不限于此,也可以是基于深度学习、回归法、决策树学习、贝叶斯法、聚类等方法的学习模型。
此外,机器学习的处理不限于推论处理,也可以应用于学习处理。
***其他结构***
<变形例1>
在实施方式1中,对学习参数220的值即权重加上随机数而实施屏蔽。但是,也可以对权重乘以随机数而进行屏蔽。关于该变形例1,对与实施方式1不同之处进行说明。
图7图示出在图5的运算步骤中实施基于乘以权重的屏蔽的处理和无屏蔽的处理而进行变更的运算步骤的例子。
权重w0、w1、w2分别首先与随机数m相乘而被屏蔽。
然后,输入值x0、x1、x2和屏蔽后的权重mw0、mw1、mw2以相同小标的值的组合相乘。然后,计算这些各个乘法值的总和。总和是mx0w0+mx1w1+mx2w2
然后,该总和与运算步骤变更部100计算并存储的无屏蔽中使用的值1/m相乘而被无屏蔽。通过该无屏蔽,加上偏置b0之前的运算结果成为x0w0+x1w1+x2w2,与不实施屏蔽的情况下的加上偏置b0之前的运算结果相同。
<变形例2>
作为变形例2,也可以对被运算值即输入值加上随机数而实施屏蔽。
图8图示出在图5的运算步骤中实施基于加上输入值的屏蔽的处理和无屏蔽的处理而进行变更的运算步骤的例子。
输入值x0、x1、x2分别首先与随机数m相加而被屏蔽。
然后,屏蔽后的输入值x0+m、x1+m、x2+m和权重w0、w1、w2以相同小标的值的组合相乘。然后,计算这些各个乘法值的总和。总和是x0w0+x1w1+x2w2+m(w0+w1+w2)。
然后,该总和与运算步骤变更部100计算并存储的无屏蔽中使用的值-m(w0+w1+w2)相加而被无屏蔽。通过该无屏蔽,加上偏置b0之前的运算结果成为x0w0+x1w1+x2w2,与不实施屏蔽的情况下的加上偏置b0之前的运算结果相同。
另外,在基于相加的屏蔽的情况下,也可以在加上偏置b0之后实施无屏蔽。
<变形例3>
作为变形例3,也可以对被运算值即输入值乘以随机数而实施屏蔽。
图9图示出在图5的运算步骤中实施基于乘以输入值的屏蔽的处理和无屏蔽的处理而进行变更的运算步骤的例子。
输入值x0、x1、x2分别首先与随机数m相乘而被屏蔽。
然后,屏蔽后的输入值mx0、mx1、mx2和权重w0、w1、w2以相同小标的值的组合相乘。然后,计算这些各个乘法值的总和。总和是mx0w0+mx1w1+mx2w2
然后,该总和与运算步骤变更部100计算并存储的无屏蔽中使用的值1/m相乘而被无屏蔽。通过该无屏蔽,加上偏置b0之前的运算结果成为x0w0+x1w1+x2w2,与不实施屏蔽的情况下的加上偏置b0之前的运算结果相同。
实施方式2
在本实施的结构中,对变更运算顺序的处理的例子进行说明。
在本实施方式中,主要对与实施方式1的差异进行说明。
另外,以下未说明的事项与实施方式1相同。
图10是示出本实施方式的信息处理装置1的运算处理例的流程图。另外,对与实施方式1相同的动作标注相同编号并省略其说明。
在步骤S200完成后,在步骤S300中,运算步骤变更部100对运算的顺序进行变更。
具体而言,运算执行部101将使用输入到指定单元的多个输入值和多个权重的运算的运算顺序通知给运算步骤变更部100。
接着,运算步骤变更部100从随机数产生器15取得随机数,决定变更后的运算顺序。作为具体例,运算步骤变更部100使用Fisher-Yates洗牌(Shuffle)来决定运算顺序。另外,在变更后的运算顺序的决定中,不限于Fisher-Yates洗牌,也可以使用Sattolo算法这样的其他洗牌算法。
然后,运算步骤变更部100将决定的变更后的运算顺序通知给运算执行部101。
接着,在步骤S310中,运算执行部101根据从运算步骤变更部100通知的变更后的运算顺序来执行运算。
然后,运算执行部101依次执行偏置的相加、激活函数的运算。
接着,使用图11示出本实施方式的运算步骤的变更例。
在图11中,左端的栏示出运算的顺序。此外,示出变更前、变更后的顺序。
示出变更前的顺序依次是运算1:x0×w0、运算2:x1×w1、运算3:x2×w2
此外,示出变更后的运算顺序依次成为运算1:x2×w2、运算2:x0×w0、运算3:x1×w1
如上所述,在本实施方式中,在由学习模型确定的运算步骤中追加使用随机数的变更运算顺序的处理。因此,每当运算执行时机时,运算步骤被不规则地变更。由此,执行运算时产生的侧通道信息不规则地变化。因此,能够防止学习模型信息即学习参数的分析。
实施方式3
在本实施方式中,说明根据沙米尔秘密分散法(Shamir’s secret sharingscheme)实施对学习参数220的值和与学习参数220进行运算的被运算值进行隐匿的秘密分散处理的例子。
另外,在本实施方式中,学习参数220的值是由学习模型110确定的各个单元中的权重。此外,与学习参数220的值进行运算的被运算值是由学习模型110确定的各个单元中的输入值。
在本实施方式中,主要对与实施方式2的差异进行说明。
另外,以下未说明的事项与实施方式2相同。
图12是示出本实施方式的信息处理装置1的运算处理例的流程图。另外,对与实施方式2相同的动作标注相同编号并省略其说明。
在步骤S200完成后,在步骤S400中,运算步骤变更部100根据沙米尔秘密分散法实施秘密分散处理。
具体而言,运算执行部101将输入到指定单元的多个输入值和多个权重通知给运算步骤变更部100。
运算步骤变更部100接受来自运算执行部101的通知,从随机数产生器15取得随机数。
然后,运算步骤变更部100使用从随机数产生器15取得的随机数,根据从运算执行部101通知的多个输入值中的各个输入值和多个权重中的各个权重分别各生成5个共享。
然后,运算步骤变更部100将生成的共享通知给运算执行部101。秘密分散处理的详细情况在后面叙述。
接着,在步骤S410中,运算执行部101使用从运算步骤变更部100通知的共享进行运算。使用共享的运算的详细情况在后面叙述。
然后,运算执行部101将使用共享的运算结果通知给运算步骤变更部100。
接着,在步骤S420中,运算步骤变更部100使用从运算执行部101通知的使用共享的运算结果,实施对多个输入值中的各个输入值与多个权重中的各个权重的相乘结果进行复原的复原处理。复原处理的详细情况在后面叙述。
通过该复原处理得到的运算结果与使用实施秘密分散处理之前的权重和输入值的运算结果相同。
然后,运算步骤变更部100将复原后的相乘结果通知给运算执行部101。
接着,在步骤S430中,运算执行部101取得从运算步骤变更部100通知的复原后的相乘结果的总和。然后,依次执行偏置的相加、激活函数的运算。
运算步骤变更部100对针对单元的输入值进行秘密分散处理,使运算执行部101进行使用秘密分散处理后的值的运算,对运算执行部101的运算结果进行复原处理,此外,使运算执行部101进行使用复原处理后的值的偏置的相加和激活函数的运算,由此对运算步骤进行变更。运算步骤变更前的运算结果(激活函数的运算结果)和运算步骤变更后的运算结果(激活函数的运算结果)相同。
这样,运算步骤变更部100在维持使用激活函数的运算的运算结果的同一性的同时,对运算步骤进行变更。然后,运算执行部101通过变更后的运算步骤进行运算。具体而言,运算执行部101不是对针对单元的输入值进行运算,而是对由运算步骤变更部100秘密分散处理后的值进行运算。此外,运算执行部101不是对针对单元的输入值的运算结果执行激活函数的运算,而是将复原处理后的值的运算结果输出到运算步骤变更部100,对由运算步骤变更部100复原处理后的值执行偏置的相加和激活函数的运算。
接着,使用图13进行秘密分散处理、使用共享的运算和复原处理的详细说明。
图13示出本实施方式的运算步骤的变更例。
在图13中,示出通过多个输入值中的各个输入值和多个权重中的各个权重的运算分别实施秘密分散处理和复原处理。
更具体而言,示出输入值x0与权重w0相乘涉及的秘密分散处理和复原处理的例子。
运算步骤变更部100使用随机数产生器15产生的随机数生成标识符。此外,运算步骤变更部100使用生成的标识符将输入值和权重分散到共享中。
在图13中,标识符是0、1、2、3、4这5个。
而且,示出运算步骤变更部100将输入值x0分散到与5个标识符分别对应的5个共享x0-0、x0-1、x0-2、x0-3、x0-4中。
此外,示出运算步骤变更部100将权重w0分散到与5个标识符分别对应的5个共享w0-0、w0-1、w0-2、w0-3、w0-4中。
如上所述,5个标识符使用随机数产生器15产生的随机数,因此,每当运算执行时机时,成为标识符和与标识符对应的不规则的值。作为具体例,5个标识符也可以是1、10、5、9、3。该情况下,输入值x0的与5个标识符对应的5个共享成为x0-1、x0-10、x0-5、x0-9、x0-3。此外,权重w0的与5个标识符对应的5个共享成为w0-1、w0-10、w0-5、w0-9、w0-3
接着,运算执行部101分别使生成的5个共享中的各个共享以相同小标的2个共享相乘。具体而言,x0-0与w0-0相乘。此外,x0-1与w0-1相乘。
然后,相乘得到的各个相乘值用于复原处理。
接着,在复原处理中,运算步骤变更部100根据5个标识符中的各个标识符和各个相乘值,对输入值x0与权重w0的相乘值进行复原。
另外,在本实施方式中,将标识符的个数设为5,但是不限于此,也可以是3以上的任意值。
如上所述,在本实施方式中,在由学习模型确定的运算步骤中,根据沙米尔秘密分散法追加使用随机数的秘密分散处理。因此,每当运算执行时机时,运算步骤被不规则地变更。由此,执行运算时产生的侧通道信息不规则地变化。因此,能够防止学习模型信息即学习参数的分析。
以上说明了本发明的实施方式,但是,也可以组合实施这些实施方式中的2个以上的实施方式。
或者,也可以部分地实施这些实施方式中的1个实施方式。
或者,也可以部分地组合实施这些实施方式中的2个以上的实施方式。
另外,本发明不限于这些实施方式,能够根据需要进行各种变更。
标号说明
1:信息处理装置;10:处理器;11:存储器;12:辅助存储装置;13:输入输出I/F;14:通信装置;15:随机数产生器;100:运算步骤变更部;101:运算执行部;110:学习模型;200:存储部;210:模型架构;220:学习参数。

Claims (10)

1.一种信息处理装置,该信息处理装置具有:
运算步骤变更部,每当执行使用通过机器学习来调整值的学习参数的运算的运算执行时机到来时,该运算步骤变更部不规则地将运算步骤变更成得到与通过变更前的运算步骤执行运算而得到的运算结果相同的运算结果的、与所述变更前的运算步骤不同的运算步骤;以及
运算执行部,每当所述运算执行时机到来时,该运算执行部通过由所述运算步骤变更部变更后的运算步骤执行使用所述学习参数的运算。
2.根据权利要求1所述的信息处理装置,其中,
所述运算步骤变更部对使用所述学习参数的值和与所述学习参数进行运算的值即被运算值的运算步骤进行变更,以使所述学习参数的值和所述被运算值中的至少任意一方被隐匿。
3.根据权利要求2所述的信息处理装置,其中,
所述运算步骤变更部通过追加所述学习参数的值和所述被运算值以外的其他值,对所述运算步骤进行变更。
4.根据权利要求3所述的信息处理装置,其中,
所述运算步骤变更部通过追加使用所述其他值的相加,对所述运算步骤进行变更。
5.根据权利要求3所述的信息处理装置,其中,
所述运算步骤变更部通过追加使用所述其他值的相乘,对所述运算步骤进行变更。
6.根据权利要求2所述的信息处理装置,其中,
所述运算步骤变更部根据沙米尔秘密分散法对所述学习参数的值和所述被运算值进行变更。
7.根据权利要求1所述的信息处理装置,其中,
所述运算步骤变更部对所述运算步骤中的运算顺序进行变更。
8.根据权利要求2或7所述的信息处理装置,其中,
所述运算步骤变更部使用随机数对所述运算步骤进行变更。
9.一种信息处理方法,其中,
每当执行使用通过机器学习来调整值的学习参数的运算的运算执行时机到来时,计算机不规则地将运算步骤变更成得到与通过变更前的运算步骤执行运算而得到的运算结果相同的运算结果的、与所述变更前的运算步骤不同的运算步骤,
每当所述运算执行时机到来时,所述计算机通过所变更的变更后的运算步骤执行使用所述学习参数的运算。
10.一种信息处理程序,该信息处理程序使计算机执行以下处理:
运算步骤变更处理,每当执行使用通过机器学习来调整值的学习参数的运算的运算执行时机到来时,不规则地将运算步骤变更成得到与通过变更前的运算步骤执行运算而得到的运算结果相同的运算结果的、与所述变更前的运算步骤不同的运算步骤;以及
运算执行处理,每当所述运算执行时机到来时,通过在所述运算步骤变更处理中变更后的运算步骤执行使用所述学习参数的运算。
CN202080089730.7A 2020-01-07 2020-01-07 信息处理装置、信息处理方法和信息处理程序 Pending CN114868127A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/000196 WO2021140574A1 (ja) 2020-01-07 2020-01-07 情報処理装置、情報処理方法及び情報処理プログラム

Publications (1)

Publication Number Publication Date
CN114868127A true CN114868127A (zh) 2022-08-05

Family

ID=73993006

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080089730.7A Pending CN114868127A (zh) 2020-01-07 2020-01-07 信息处理装置、信息处理方法和信息处理程序

Country Status (5)

Country Link
US (1) US20220269826A1 (zh)
JP (1) JP6808100B1 (zh)
CN (1) CN114868127A (zh)
DE (1) DE112020005424T5 (zh)
WO (1) WO2021140574A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024034124A1 (ja) * 2022-08-12 2024-02-15 日本電気株式会社 端末装置、計算システム、計算方法、およびコンピュータ可読媒体

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4045777B2 (ja) * 2001-10-30 2008-02-13 株式会社日立製作所 情報処理装置
JP5188189B2 (ja) * 2008-01-18 2013-04-24 富士通株式会社 認証システム、認証装置及びコンピュータプログラム
US9111071B2 (en) * 2012-11-05 2015-08-18 Sap Se Expression rewriting for secure computation optimization
US11876786B2 (en) * 2016-12-08 2024-01-16 Comcast Cable Communications, Llc Protocol obfuscation in moving target defense
US11196541B2 (en) * 2017-01-20 2021-12-07 Enveil, Inc. Secure machine learning analytics using homomorphic encryption
US11030997B2 (en) * 2017-11-22 2021-06-08 Baidu Usa Llc Slim embedding layers for recurrent neural language models
JP7052325B2 (ja) 2017-12-04 2022-04-12 大日本印刷株式会社 デバイス、セキュアエレメント、プログラム、情報処理システム及び情報処理方法
JP6832307B2 (ja) * 2018-03-23 2021-02-24 Kddi株式会社 情報処理装置、情報処理方法、及びプログラム
US20210089927A9 (en) * 2018-06-12 2021-03-25 Ciena Corporation Unsupervised outlier detection in time-series data
US20210110384A1 (en) * 2019-07-04 2021-04-15 Vikatron, Inc. Ad Hoc Neural Network for Proof of Wallet
US11431488B1 (en) * 2020-06-08 2022-08-30 Pure Storage, Inc. Protecting local key generation using a remote key management service

Also Published As

Publication number Publication date
JPWO2021140574A1 (zh) 2021-07-15
JP6808100B1 (ja) 2021-01-06
US20220269826A1 (en) 2022-08-25
DE112020005424T5 (de) 2022-09-01
WO2021140574A1 (ja) 2021-07-15

Similar Documents

Publication Publication Date Title
Clements et al. Hardware trojan attacks on neural networks
Batina et al. {CSI}{NN}: Reverse engineering of neural network architectures through electromagnetic side channel
Khan et al. A digital DNA sequencing engine for ransomware detection using machine learning
Zhang et al. Stealing neural network structure through remote FPGA side-channel analysis
De Mulder et al. Protecting RISC-V against side-channel attacks
US7801298B2 (en) Apparatus and method for detecting a potential attack on a cryptographic calculation
CN107277065B (zh) 基于强化学习的检测高级持续威胁的资源调度方法
CN111597551B (zh) 针对深度学习算法的侧信道攻击的防护方法
Ilias et al. Machine learning for all: A more robust federated learning framework
Zhang et al. Analyzing cache side channels using deep neural networks
CN116635852A (zh) 通过模糊神经网络操作和架构来保护神经网络
Schlögl et al. eNNclave: Offline inference with model confidentiality
Tajik et al. Artificial neural networks and fault injection attacks
Athanasiou et al. Masking feedforward neural networks against power analysis attacks
CN114868127A (zh) 信息处理装置、信息处理方法和信息处理程序
Putra et al. Cognitive artificial intelligence countermeasure for enhancing the security of big data hardware from power analysis attack
US20220198045A1 (en) Protection of neural networks by obfuscation of activation functions
Ahmed et al. Detection of Crucial Power Side Channel Data Leakage in Neural Networks
Guha et al. SARP: self aware runtime protection against integrity attacks of hardware trojans
Breier et al. A desynchronization-based countermeasure against side-channel analysis of neural networks
Hoang et al. Stacked ensemble model for enhancing the DL based SCA
Weiss et al. Ezclone: Improving dnn model extraction attack via shape distillation from gpu execution profiles
EP3885952A1 (en) Learning identification device, learning identification method, and learning identification program
Bhasin et al. On (in) Security of edge-based machine learning against electromagnetic side-channels
Galli et al. Explainability in AI-based behavioral malware detection systems

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