WO2020121527A1 - 学習識別装置、学習識別方法、及び、学習識別プログラム - Google Patents

学習識別装置、学習識別方法、及び、学習識別プログラム Download PDF

Info

Publication number
WO2020121527A1
WO2020121527A1 PCT/JP2018/046158 JP2018046158W WO2020121527A1 WO 2020121527 A1 WO2020121527 A1 WO 2020121527A1 JP 2018046158 W JP2018046158 W JP 2018046158W WO 2020121527 A1 WO2020121527 A1 WO 2020121527A1
Authority
WO
WIPO (PCT)
Prior art keywords
learning identification
time
learning
unit
output
Prior art date
Application number
PCT/JP2018/046158
Other languages
English (en)
French (fr)
Inventor
綱人 中井
Original Assignee
三菱電機株式会社
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 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to PCT/JP2018/046158 priority Critical patent/WO2020121527A1/ja
Priority to CN201880100081.9A priority patent/CN113168466B/zh
Priority to JP2019533122A priority patent/JP6632773B1/ja
Priority to EP18942817.0A priority patent/EP3885952A4/en
Publication of WO2020121527A1 publication Critical patent/WO2020121527A1/ja
Priority to US17/231,505 priority patent/US20210232923A1/en

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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks

Definitions

  • the present invention relates to a learning identification device, a learning identification method, and a learning identification program. In particular, it relates to timing attack countermeasures for deep learning.
  • Adversarial Examples can be artificially generated.
  • Conventional Adversarial Examples have been generated from internal parameters of deep learning or output probability information.
  • countermeasures against attacks by the Adversarial Examples include incorporation of a detection function or learning and acquisition of abnormal data, but concealment of internal parameters or output probability information serving as a clue to the attack. It is considered to be one of the effective measures.
  • information leakage from the deep learning processing time is not taken into consideration.
  • Patent Document 1 As a countermeasure against leakage, dummy processing is executed during execution of encryption or decryption, execution start time of encryption or decryption is delayed, the amount of change in data is made uniform, or the processing order is changed. ing.
  • An attacker for deep learning may generate Adversarial Examples from the relationship between input data and processing time. Since the attacker pays attention to the relationship between the input data and the processing time, there is a problem that the attack cannot be prevented by hiding internal parameters or probability information which is the conventional countermeasure.
  • the conventional timing attack countermeasures are specific to cryptographic devices and cannot be directly applied to deep learning.
  • the purpose of this invention is to counter timing attacks against deep learning.
  • a learning identification device is A learning identification unit that performs learning identification processing on input data and outputs output data, And a time control unit that makes the processing time of the learning identification processing for the input data independent of the input data.
  • the time control unit makes the processing time for the input data independent of the input data, it is possible to prevent the attack on the learning identification device.
  • FIG. 1 is an overall configuration diagram of a learning identification device according to the first embodiment.
  • 3 is an operation diagram of the learning identification device according to the first embodiment.
  • FIG. The whole block diagram of the learning identification device which concerns on Embodiment 2.
  • FIG. 7 is an operation diagram of the learning identification device according to the second embodiment.
  • FIG. 10 is an operation diagram of the learning identification device according to the third embodiment.
  • FIG. 10 is an operation diagram of the learning identification device according to the fourth embodiment.
  • FIG. 11 is an operation diagram of the learning identification device according to the fifth embodiment.
  • timing attack countermeasures described in the embodiments described below make the processing time for input data independent of the input data.
  • the timing attack countermeasures described in each embodiment output the output data by making the time from the input time of the input data to the output time of the output data independent of the input data.
  • Embodiment 1 The configuration of the device according to this embodiment, the operation of the device according to this embodiment, and the effect of this embodiment will be described.
  • FIG. 1 is a configuration diagram of the learning identification device 200.
  • the learning identification device 200 is a device that performs identification work on input data while learning the input data.
  • the learning identification device 200 has a learning identification unit 102.
  • the learning identification unit 102 performs learning identification processing on the input data 101 and outputs output data 103.
  • the learning identifying unit 102 carries out deep learning.
  • the learning identifying unit 102 has a plurality of neural network layers 1001.
  • the neural network layer 1001 executes a plurality of perceptron processes 1002.
  • the learning identifying unit 102 executes perceptron processing 1002 in parallel as an operation of each neural network layer 1001.
  • the learning identification unit 102 outputs the final calculation result of the perceptron processing 1002 of the neural network layer 1001.
  • the learning identification device 200 has a time control unit 111.
  • the time control unit 111 makes the processing time of the learning identification unit 102 for the input data 101 independent of the input data 101.
  • the time control unit 111 has an input control unit 112.
  • the input control unit 112 changes the processing time of the learning identification unit 102 by adding processing to the input data 101.
  • the input control unit 112 has a data mask unit 201.
  • the data mask unit 201 applies random noise to the input data 101.
  • the learning identification device 200 adds a data mask unit 201 that applies random noise to the input data 101 before the learning identification unit 102, thereby making the input data 101 and the processing time of the learning identification device 200 independent. To do.
  • “Learning identification processing” processing executed by the learning identification device 200.
  • “Processing of learning identification device 200” same as “learning identification process”.
  • “Processing time of learning identification processing” time from the time when the input data 101 is input to the learning identification apparatus 200 to the time when the output data 103 is output from the learning identification apparatus 200.
  • “Processing time of learning identification device 200” Same as “processing time of learning identification process”.
  • “Processing of learning identification unit 102” processing performed by the learning identification unit 102.
  • “Processing time of learning identifying unit 102” time from the time when the input data 101 is input to the learning identifying unit 102 to the time when the output data 103 is output from the learning identifying unit 102.
  • processing time of the learning identification unit 102 changes, the "processing time of the learning identification device 200" or the “processing time of the learning identification processing” also changes. In the following description of the embodiments, it is assumed that the data input/output time between the receiving unit 901 and the transmitting unit 902 can be ignored.
  • the learning identification device 200 includes a processor 910.
  • the learning identification device 200 includes other hardware such as a memory 921, an auxiliary storage device 922, a communication interface 923, and a recording medium 920.
  • the processor 910 is connected to other hardware via a signal line and controls these other hardware.
  • the learning identification device 200 includes a time control unit 111 and a learning identification unit 102 as functional elements.
  • the functions of the time control unit 111 and the learning identification unit 102 are realized by software.
  • the processor 910 is a device that executes a learning identification program.
  • the learning identification program is a program that realizes the functions of the time control unit 111 and the learning identification unit 102.
  • the processor 910 is an IC (Integrated Circuit) that performs arithmetic processing.
  • a specific example of the processor 910 is a CPU (Central Processing Unit), a DSP (Digital Signal Processor), or a GPU (Graphics Processing Unit).
  • the memory 921 is a storage device that temporarily stores data.
  • a specific example of the memory 921 is an SRAM (Static Random Access Memory) or a DRAM (Dynamic Random Access Memory).
  • the recording medium 920 and the auxiliary storage device 922 are storage devices that store data.
  • a specific example of the recording medium 920 and the auxiliary storage device 922 is an HDD (Hard Disk Drive).
  • the recording medium 920 and the auxiliary storage device 922 may be a portable storage medium such as a NAND flash, a flexible disk, an optical disk, a compact disk, or a DVD (Digital Versatile Disk).
  • the communication interface 923 includes a receiving unit 901 that receives data and a transmitting unit 902 that transmits data.
  • the communication interface 923 includes a communication chip, a NIC (Network Interface Card), or the like.
  • the learning identification program is read from the memory 921 into the processor 910 and executed by the processor 910.
  • the memory 921 stores not only the learning identification program but also an operating system 607, a network driver 608, and a storage driver 609.
  • the processor 910 executes the learning identification program while executing the operating system 607, the network driver 608, and the storage driver 609.
  • the learning identification program and operating system 607, the network driver 608, and the storage driver 609 may be stored in the auxiliary storage device 922.
  • the learning identification program and operating system 607, the network driver 608, and the storage driver 609 stored in the auxiliary storage device 922 are loaded into the memory 921 and executed by the processor 910. Note that part or all of the learning identification program may be incorporated in the operating system 607.
  • the learning identification device 200 may include a plurality of processors that replace the processor 910. These multiple processors share the execution of the learning identification program.
  • Each processor like the processor 910, is a device that executes a learning identification program.
  • the data, information, signal values, and variable values used, processed, or output by the learning identification program are stored in the memory 921, the auxiliary storage device 922, or the register or cache memory in the processor 910.
  • the “section” of each section of the time control section 111 and the learning identification section 102 may be replaced with “processing”, “procedure”, or “process”. Further, the “process” of each process of the time control unit 111 and the learning identification unit 102 may be replaced with a “program”, a “program product”, or a “computer-readable storage medium storing the program”.
  • the learning identification program causes the computer to execute each process, each procedure or each process in which the “part” of each part is replaced with “process”, “procedure” or “process”.
  • the learning identification method is a method performed by the learning identification device 200 executing a program.
  • the program may be provided by being stored in a computer-readable recording medium. Further, the program may be provided as a program product.
  • the learning identification device 200 may be implemented by a logic IC (Integrated Circuit), GA (Gate Array), ASIC (Application Specific Integrated Circuit), or FPGA (Field-Programmable Gate Array) processing.
  • IC Integrated Circuit
  • GA Gate Array
  • ASIC Application Specific Integrated Circuit
  • FPGA Field-Programmable Gate Array
  • a superordinate concept of a processor, a memory, a combination of the processor and the memory, and a processing circuit is called a processing circuit. That is, the processor, the memory, the combination of the processor and the memory, and the processing circuit are specific examples of the processing circuitry.
  • FIG. 2 is a flowchart 300 showing the operation of the learning identification method of the learning identification device 200 of this embodiment. The following processing is realized by the processor 910 executing the learning identification program.
  • step S301 the input control unit 112 inputs the input data 101 input to the reception unit 901 of the learning identification device 200 to the data mask unit 201.
  • step S302 the data mask unit 201 applies random noise to the input data 101.
  • the intensity of the noise applied by the data masking unit 201 is set to the same level as or higher than the noise applied by the attacker, with the upper limit being that the processing of the learning identifying unit 102 is not affected. ..
  • step S303 the data masking unit 201 inputs the input data to which the random noise is applied to the learning identifying unit 102.
  • the learning identifying unit 102 executes the perceptron processing 1002 on the plurality of neural network layers 1001.
  • the processing time of input data to which random noise is not applied is different from the processing time of input data to which random noise is applied.
  • the neural network layer 1001 outputs the calculation result of the perceptron processing 1002.
  • the final neural network layer 1001 is the learning identification result.
  • the learning identification unit 102 obtains the learning identification result from the input data 101 and outputs the learning identification result.
  • the learning identifying unit 102 outputs the learning identification result to the transmitting unit 902 as the output data 103 of the learning identifying apparatus 200.
  • the transmission unit 902 outputs the output data 103 to the outside.
  • the time control unit 111 makes the processing time of the learning identification unit 102 for the input data 101 independent of the input data 101. Then, the learning identifying unit 102 performs learning identification processing on the input data 101 and outputs output data.
  • the learning identification program of the present embodiment causes the computer that executes the learning identification process to perform the learning identification process on the input data 101, and from the input time of the input data 101 to the learning identification unit 102 to the learning identification unit 102.
  • the output data 103 is output by making the time until the output time of the output data 103 of 1 above be independent of the input data.
  • the learning identification device 200 of the present embodiment makes the input data 101 and the processing time of the learning identification unit 102 independent by adding a means for processing the input data 101 before the learning identification unit 102. Is characterized by.
  • the learning and identifying apparatus 200 of the present embodiment is characterized in that the means for processing the input data 101 is realized by means for applying random noise to the input data 101 of the learning and identifying apparatus 200.
  • the learning identification device 200 adds the data mask unit 201 that applies random noise to the input data 101 before the learning identification unit 102, thereby processing time of the input data 101 and the learning identification unit 102. Make and independent.
  • the processing time of the learning identification unit 102 by the data mask unit 201 that applies random noise to the input data 101 is set to the processing time depending on the input data 101 to which random noise is applied. This is a countermeasure against timing attacks.
  • the learning identification device 200 is configured so that the processing time of the learning identification unit 102 depends on the input data 101 to which random noise is applied. It is possible to prevent a timing attack focusing on the relationship of processing time.
  • Embodiment 2 Hereinafter, the points different from the first embodiment will be described.
  • an input time spreading unit 401 that randomizes the input time of the input data 101 to the learning identifying unit 102 is added as a countermeasure against timing attack.
  • FIG. 3 is a configuration diagram of the learning identification device 200.
  • the learning identification device 200 has a time control unit 111.
  • the time control unit 111 has an input control unit 112.
  • the input control unit 112 has an input time spreading unit 401.
  • the input time diffusion unit 401 randomizes the input time of the input data 101 to the learning identification unit 102.
  • the learning identification device 200 makes the input data 101 and the processing time of the learning identification device 200 independent by adding an input time diffusion unit 401 that randomizes the input time before the learning identification unit 102.
  • FIG. 4 is a flowchart 500 showing the operation of the learning identification method of the learning identification device 200 of this embodiment.
  • the following processing is realized by the processor 910 executing the learning identification program.
  • step S501 the input data 101 input to the learning identification device 200 is input to the input time diffusion unit 401.
  • step S502 the input time diffusion unit 401 randomizes the input time of the input data 101 to the learning identification unit 102.
  • the input time spreading unit 401 randomizes the time from the reception time of the input data 101 to the receiving unit 901 to the output time of the input data 101 to the learning identifying unit 102. Randomization of the input time is realized by dummy processing, weight processing, or the like.
  • step S503 the input time diffusion unit 401 inputs the input data 101 to the learning identification unit 102 according to the randomized input time.
  • step S504 the learning identification unit 102 outputs the learning identification result as output data 103.
  • the learning identification device 200 of the present embodiment is characterized in that the input data 101 and the processing time of the learning identification device 200 are made independent by adding a means for processing the input data before the learning identification part.
  • the learning and identifying apparatus 200 of the present embodiment is characterized in that the means for processing input data is realized by means for randomizing the input timing to the learning and identifying unit of the learning and identifying apparatus 200.
  • the processing time of the learning identification device 200 is set to the processing time depending on the randomized input time by the input time diffusion unit 401 that randomizes the input time of the input data 101. This is a countermeasure against timing attacks.
  • the learning identification device 200 is configured so that the processing time of the learning identification device 200 depends on the randomized input time, and therefore the relationship between the input data 101 and the processing time. You can defend against timing attacks that focus on.
  • Embodiment 3 is a countermeasure against a timing attack when an output time spreading unit 601 which randomizes the output time of the learning identifying unit 102 is added.
  • FIG. 5 is a configuration diagram of the learning identification device 200.
  • the learning identification device 200 makes the input data 101 and the processing time of the learning identification device 200 independent by adding an output time spreading unit 601 that randomizes the output time after the learning identification unit 102.
  • the learning identification device 200 has a time control unit 111.
  • the time control unit 111 has an output control unit 113.
  • the output control unit 113 changes the processing time of the learning identification device 200 by adding processing to the output data 103.
  • the input control unit 112 has an output time spreading unit 601.
  • the output time spreading unit 601 randomizes the output time of the output data 103.
  • the learning identification device 200 of this embodiment adds the output time diffusion unit 601 that randomizes the output time of the output data 103 of the learning identification device 200 after the learning identification unit 102, and thereby the input data 101 and the learning identification device are identified.
  • the processing time of the device 200 is made independent.
  • FIG. 6 is a flowchart 700 showing the operation of the learning identification method of the learning identification device 200 of this embodiment.
  • the following processing is realized by the processor 910 executing the learning identification program.
  • step S701 the input data 101 input to the learning identification device 200 is input to the learning identification unit 102.
  • step S ⁇ b>702 the learning identification result output from the learning identification unit 102 is input to the output time spreading unit 601.
  • step S703 the output time diffusion unit 601 randomizes the output time of the output data 103 of the learning identification device 200.
  • the output time spreading unit 601 randomizes the time from the input time of the output data 103 from the learning identifying unit 102 to the output time of the transmitting unit 902.
  • step S704 the output time diffusion unit 601 outputs the learning identification result output from the learning identification unit 102 as output data 103 to the transmission unit 902 according to the randomized output time.
  • the learning identification device 200 of the present embodiment is characterized in that the processing time of the input data 101 and the learning identification device 200 is made independent by adding a means for processing the output data 103 after the learning identification part 102.
  • the learning and identifying apparatus 200 of the present embodiment is characterized in that the means for processing the output data 103 is realized by means for randomizing the output timing of the learning and identifying apparatus 200.
  • the output time spreading unit 601 randomizes the output time of the output data 103, and sets the processing time of the learning/identifying apparatus 200 to the processing time depending on the randomized output time. This is a countermeasure against timing attacks.
  • the learning identification device 200 makes the processing time of the learning identification device 200 dependent on the output time of the randomized output data 103 regardless of the input data 101. Therefore, it is possible to prevent a timing attack focusing on the relationship between the input data 101 and the processing time.
  • This embodiment shows an embodiment in which the processing time of the learning identifying unit 102 is fixed and the timing attack countermeasure is taken.
  • FIG. 7 is a configuration diagram of the learning identification device 200.
  • the learning identification device 200 has a time control unit 111.
  • the time control unit 111 has an output control unit 113.
  • the output control unit 113 has a time stamp generation unit 801 and an output time adjustment unit 803.
  • the time stamp generation unit 801 records the input time of the input data 101 to the time stamp generation unit 801 as the time stamp 802.
  • the output time adjustment unit 803 uses the time stamp 802 to make the time from the input time of the input data 101 to the output time of the output data 103 constant.
  • the output time adjustment unit 803 adds a fixed time to the input time of the input data 101 indicated by the time stamp 802 to obtain the output time of the output data 103.
  • the learning identification device 200 adds a time stamp generation unit 801 that records the input time of the input data 101 to the time stamp generation unit 801 before the learning identification unit 102, and after the learning identification unit 102, the learning identification unit 102.
  • a time stamp generation unit 801 that records the input time of the input data 101 to the time stamp generation unit 801 before the learning identification unit 102, and after the learning identification unit 102, the learning identification unit 102.
  • FIG. 8 is a flowchart 900 showing the operation of the learning identification method of the learning identification device 200 of this embodiment.
  • the following processing is realized by the processor 910 executing the learning identification program.
  • step S901 the input data 101 input to the learning identification device 200 is input to the time stamp generation unit 801.
  • step S902 the time stamp generation unit 801 generates the time stamp 802 according to the input time of the input data 101.
  • the time stamp 802 includes the input time of the input data 101 to the time stamp generating unit 801.
  • the time stamp 802 is stored in the memory 921.
  • step S903 the time stamp generation unit 801 inputs the input data 101 in which the time stamp 802 is recorded in the memory 921 to the learning identification unit 102.
  • step S904 the learning identification unit 102 inputs the learning identification result into the output time adjustment unit 803.
  • step S905 the output time adjustment unit 803 refers to the time stamp 802 generated by the time stamp generation unit 801, and makes the processing time constant. Specifically, the time stamp generation unit 801 sets the time obtained by adding a certain time to the input time indicated by the time stamp 802 as the output time of the learning identification result. The constant processing time is realized by dummy processing, weight processing, or the like.
  • step S906 the output time adjustment unit 803 outputs the learning identification result output from the learning identification unit 102 as output data 103 to the transmission unit 902 according to the output time with the processing time being constant.
  • the learning identification device 200 adds the means for processing the output data 103 after the learning identification unit 102 to make the input data 101 and the processing time of the learning identification device 200 independent. Characterize.
  • the learning and identifying apparatus 200 of the present embodiment generates a time stamp before the learning and identifying section 102 of the learning and identifying apparatus 200 by means of processing the output data 103, and refers to the time stamp 802 to learn and identify the learning and identifying section 102. It is characterized in that it is realized by means for setting the output timing of the learning identification device 200 so that the processing time becomes constant.
  • the learning identification device 200 uses the time stamp generation unit 801 that records the input time of the input data 101 and the output time adjustment unit 803 that keeps the processing time of the learning identification unit 102 constant. First, the output time of the output data 103 is adjusted.
  • the learning identification device 200 adjusts the output time of the output data 103 so that the processing time of the learning identification device 200 becomes constant. It can defend against timing attacks that focus on relationships.
  • Embodiment 5 a timing attack countermeasure is applied to the perceptron processing 1002 of each neural network layer 1001 in the learning identifying unit 102.
  • FIG. 9 is a configuration diagram of the learning identification device 200.
  • the learning identification unit 102 has a plurality of layers of processing including a neural network layer 1001.
  • the learning identification device 200 adds an output time adjustment unit 1003 that randomizes or makes constant the output time of the processing result of the perceptron processing of each neural network layer 1001 in the learning identification unit 102, thereby making the input data 101 and
  • the processing time of the learning identification unit 102 is made independent.
  • the learning identification device 200 has a time control unit 111.
  • the time control unit 111 has a processing control unit 114.
  • the processing control unit 114 controls the processing time of the learning identification unit 102 and changes the processing time of the learning identification unit 102.
  • the processing control unit 114 has a plurality of output time adjustment units 1003.
  • the output time adjustment unit 1003 is arranged behind each layer of the neural network layer 1001.
  • the neural network layer 1001 and the output time adjustment unit 1003 correspond to each other, and the number of neural network layers 1001 and the number of output time adjustment units 1003 are the same. However, the number of output time adjustment units 1003 may be one or more.
  • the output time adjustment unit 1003 randomizes the output time of each layer of the learning identification unit 102 or makes the learning time of each layer of the learning identification unit 102 constant.
  • the learning identifying device 200 adds an output time adjusting unit 1003 that randomizes or makes the output time constant to the perceptron processing 1002 of each layer of the neural network layer 1001 in the learning identifying unit 102, thereby obtaining the input data 101 and the input data 101.
  • the processing time of the learning identification unit 102 is made independent.
  • FIG. 10 is a flowchart 1100 showing the operation of the learning identification method of the learning identification device 200 of this embodiment. The following processing is realized by the processor 910 executing the learning identification program.
  • step S1101 the input data 101 input to the learning identification device 200 is input to the learning identification unit 102.
  • the processor 910 loops the processing from step S1102 to step S1105 in each layer until the calculation of all layers of the neural network layer 1001 is completed.
  • step S1103 the neural network layer 1001 executes the perceptron process 1002.
  • step S1104 the neural network layer 1001 inputs the output of the calculation result of the perceptron processing 1002 to the output time adjustment unit 1003.
  • step S1105 receives the calculation result of the neural network layer 1001 as the intermediate data 109, and makes the output time of the intermediate data 109 constant or random.
  • the output time adjustment unit 1003 receives a plurality of processing results of the plurality of perceptron processings 1002 as a plurality of intermediate data 109, and outputs the plurality of intermediate data 109 at random or at a constant output time.
  • the output times of the plurality of intermediate data 109 are fixed or randomized by a dummy process, a weight process, or the like.
  • the output time adjustment unit 1003 receives the plurality of intermediate data 109 and outputs the plurality of intermediate data 109 at the same time to make the output time of the intermediate data 109 constant.
  • the output time adjustment unit 1003 randomizes the output times of the plurality of intermediate data 109 by receiving the plurality of intermediate data 109 and outputting the plurality of intermediate data 109 at random times.
  • the output times of the plurality of intermediate data 109 may be fixed or randomized as a part of the perceptron processing 1002.
  • the learning identification unit 102 outputs the learning identification result as output data 103 to the transmission unit 902.
  • the learning identification device 200 of the present embodiment changes the processing time of the learning identification part 102 by adding a means for processing the intermediate data 109 during the perceptron processing 1002 of each layer in the learning identification part of the learning identification device 200.
  • the input data and the processing time of the learning identification device 200 are made independent.
  • the learning and identifying apparatus 200 of the present embodiment is a means for processing the intermediate data 109 by means for randomizing or making constant the output timing of the plurality of intermediate data 109 of each layer in the learning and identifying unit of the learning and identifying apparatus 200. It is characterized by realizing.
  • the learning identification device 200 changes the processing time of the learning identification unit 102 so that the output times of the plurality of intermediate data 109 are constant or random, and thus the input data 101 It is possible to prevent a timing attack focusing on the relationship between the processing time and the processing time.
  • FIG. 11 is a diagram showing another configuration of the learning identification device 200 according to the present embodiment.
  • FIG. 11 is a modification of the output time adjustment unit 1003 of the learning identification device 200 shown in FIG.
  • the output time adjustment unit 1003 illustrated in FIG. 11 does not receive the intermediate data 109 from all the perceptron processes 1002 of the neural network layer 1001, but outputs a part of the perceptron processes 1002 of all the perceptron processes 1002 of the neural network layer 1001. Received as the intermediate data 109.
  • the output time adjustment unit 1003 does not receive the intermediate data 109, the intermediate data 109 of the perceptron processing 1002 is directly input to the next neural network layer 1001.
  • FIG. 12 is a diagram showing the configuration of the learning identification device 200 according to the present embodiment.
  • the processor 910 of the learning identification device 200 shown in FIG. 1 is replaced with an electronic circuit 909.
  • the learning identification device 200 includes an electronic circuit 909, a memory 921, an auxiliary storage device 922, a communication interface 923, and a recording medium 920.
  • the electronic circuit 909 is a dedicated electronic circuit that realizes the functions of the time control unit 111 and the learning identification unit 102.
  • the electronic circuit 909 is specifically a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, a logic IC, a GA, an ASIC, or an FPGA.
  • GA is an abbreviation for Gate Array.
  • ASIC is an abbreviation for Application Specific Integrated Circuit.
  • FPGA is an abbreviation for Field-Programmable Gate Array.
  • the functions of the time control unit 111 and the learning identification unit 102 may be realized by one electronic circuit, or may be realized by being distributed to a plurality of electronic circuits.
  • the functions of the time control unit 111 and the learning identification unit 102 may be realized by software.
  • the functions of the time control unit 111 and the learning identification unit 102 may be realized by hardware.
  • some functions of the time control unit 111 and the learning identification unit 102 may be realized by an electronic circuit, and the remaining functions may be realized by software.
  • Each of the processor and electronic circuit is also called a processing circuit. That is, in the learning identification device 200, the functions of the time control unit 111 and the learning identification unit 102 are realized by the processing circuitry.
  • the processor 910 of the learning identification device 200 other than that of the first embodiment may be replaced with the electronic circuit 909.
  • the learning identification device 200 that performs identification work while learning is described in the above-described embodiment, the learning identification device 200 may be a learning device that performs learning or an identification device that performs identification work, instead of the learning identification device 200.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

学習識別装置(200)は、入力データ(101)を学習識別処理して出力データを出力する学習識別部(102)と、入力データ(101)に対する学習識別部(102)の処理時間を入力データに対して非依存にするタイム制御部(111)とを備え、タイム制御部(111)は、入力データ(101)に処理を加えて学習識別部(102)の処理時間を変更する入力制御部(112)とを備え、入力制御部(112)は、入力データにランダムなノイズを印加するデータマスク部(201)を有する。

Description

学習識別装置、学習識別方法、及び、学習識別プログラム
 本発明は、学習識別装置、学習識別方法、及び、学習識別プログラムに関するものである。特に、深層学習に対するタイミング攻撃対策に関するものである。
 学習済のニューラルネットワークを欺くサンプルをAdversarial Examplesという。Adversarial Examplesは、人工的に生成することができる。
 従来のAdversarial Examplesは、深層学習の内部パラメータ、又は、出力される確率情報から生成されていた。
 非特許文献1によれば、Adversarial Examplesによる攻撃の対策には、検知機能の組込み、又は、異常データの学習取り込み等があるが、攻撃の糸口となる内部パラメータ又は出力される確率情報の隠ぺいが効果的な対策の1つと考えられている。一方で、非特許文献1においては、深層学習の処理時間からの情報リークについては、考慮されていない。
 従来のタイミング攻撃対策では、暗号装置の処理時間に基づく秘密鍵の漏洩対策に着目している。
 特許文献1では、漏洩対策として、暗号化又は復号の実行中にダミー処理を実行、暗号化又は復号の実行開始時間の遅延、データの変化量を均一化、又は、処理順序の変更を実施している。
特開2014-192793号公報
Xiaoyong Yuanaら著、「Adversarial Examples:Attacks and Defenses for Deep Learning」arXiv:1712.07107v3 [cs.LG] 7 Jul 2018
 深層学習に対する攻撃者は、入力データと処理時間の関係性からAdversarial Examplesを生成する可能がある。攻撃者が入力データと処理時間の関係に着目しているため、従来の対策である内部パラメータ又は確率情報の隠ぺいでは攻撃を防げないという課題がある。
 また、従来のタイミング攻撃対策は、暗号装置に特化したものでそのまま深層学習に対する適用できないという課題もある。
 この発明は、深層学習に対するタイミング攻撃対策を目的とする。
 本発明の一態様に係る学習識別装置は、
 入力データを学習識別処理して出力データを出力する学習識別部と、
 入力データに対する学習識別処理の処理時間を入力データに対して非依存にするタイム制御部とを備えた。
 本発明では、タイム制御部が入力データに対する処理時間を入力データに対して非依存にするので、学習識別装置に対する攻撃を防御することができる。
実施の形態1に係る学習識別装置の全体構成図。 実施の形態1に係る学習識別装置の動作図。 実施の形態2に係る学習識別装置の全体構成図。 実施の形態2に係る学習識別装置の動作図。 実施の形態3に係る学習識別装置の全体構成図。 実施の形態3に係る学習識別装置の動作図。 実施の形態4に係る学習識別装置の全体構成図。 実施の形態4に係る学習識別装置の動作図。 実施の形態5に係る学習識別装置の全体構成図。 実施の形態5に係る学習識別装置の動作図。 実施の形態5に係る学習識別装置の全体構成図。 実施の形態6に係る学習識別装置の全体構成図。
 以下、本発明の実施の形態について、図を用いて説明する。なお、各図中、同一又は相当する部分には、同一符号を付している。実施の形態の説明において、同一又は相当する部分については、その説明を適宜省略又は簡略化する。
 以下に述べる実施の形態で説明するタイミング攻撃対策は、入力データに対する処理時間を入力データに対して非依存にするものである。換言すれば、各実施の形態で説明するタイミング攻撃対策は、入力データの入力時刻から出力データの出力時刻までの時間を入力データに対して非依存にさせて出力データを出力するものである。
 各実施の形態では、以下のような深層学習に対するタイミング攻撃対策について説明する。
 1.深層学習への入力で対策
  実施の形態1:入力データのマスク対策
  実施の形態2:入力タイミングのランダム化対策
 2.深層学習からの出力で対策
  実施の形態3:出力タイミングのランダム化対策
  実施の形態4:処理時間の一定化対策
 3.深層学習の内部で対策
  実施の形態5:内部処理時間のランダム化又は一定化対策
 実施の形態1.
 本実施の形態に係る装置の構成、本実施の形態に係る装置の動作、本実施の形態の効果を説明する。
 ***構成の説明***
 図1は、学習識別装置200の構成図である。
 学習識別装置200は、入力データを学習しながら入力データに対して識別作業をする装置である。
 学習識別装置200は、学習識別部102を有する。
 学習識別部102は、入力データ101を学習識別処理して出力データ103を出力する。
 学習識別部102は、深層学習を実施する。
 学習識別部102は、複数のニューラルネットワーク層1001を有する。
 ニューラルネットワーク層1001は、複数のパーセプトロン処理1002を実行する。
 学習識別部102は、各ニューラルネットワーク層1001の演算として、パーセプトロン処理1002を並列に実行する。
 学習識別部102は、最終のニューラルネットワーク層1001のパーセプトロン処理1002の演算結果を出力する。
 学習識別装置200は、タイム制御部111を有する。
 タイム制御部111は、入力データ101に対する学習識別部102の処理時間を入力データ101に対して非依存にする。
 タイム制御部111は、入力制御部112を有する。
 入力制御部112は、入力データ101に処理を加えて学習識別部102の処理時間を変更する。
 入力制御部112は、データマスク部201を有する。
 データマスク部201は、入力データ101にランダムなノイズを印加する。
 学習識別装置200は、学習識別部102の前に、入力データ101にランダムなノイズを印加するデータマスク部201を追加することで、入力データ101と学習識別装置200の処理時間とを非依存にする。
 実施の形態の説明で使用する用語の意味は、以下のとおりである。
「学習識別処理」:学習識別装置200が実行する処理。
「学習識別装置200の処理」:「学習識別処理」と同じ。
「学習識別処理の処理時間」:学習識別装置200に入力データ101が入力される時刻から学習識別装置200から出力データ103が出力される時刻までの時間。
「学習識別装置200の処理時間」:「学習識別処理の処理時間」と同じ。
「学習識別部102の処理」:学習識別部102が実行する処理。
「学習識別部102の処理時間」:学習識別部102に入力データ101が入力される時刻から学習識別部102から出力データ103が出力される時刻までの時間。
「学習識別部102の処理時間」が変われば、「学習識別装置200の処理時間」又は「学習識別処理の処理時間」も変わる。
 以下の実施の形態の説明で受信部901と送信部902とのデータ入出力時間は、無視できるものとして説明する。
***ハードウェア構成の説明***
 学習識別装置200は、プロセッサ910を備える。
 学習識別装置200は、メモリ921、補助記憶装置922、通信インターフェース923、及び記録メディア920といった他のハードウェアを備える。
 プロセッサ910は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
 学習識別装置200は、機能要素として、タイム制御部111と学習識別部102とを備える。
 タイム制御部111と学習識別部102との機能は、ソフトウェアにより実現される。
 プロセッサ910は、学習識別プログラムを実行する装置である。
 学習識別プログラムは、タイム制御部111と学習識別部102との機能を実現するプログラムである。
 プロセッサ910は、演算処理を行うIC(Integrated Circuit)である。プロセッサ910の具体例は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、あるいはGPU(Graphics Processing Unit)である。
 メモリ921は、データを一時的に記憶する記憶装置である。
 メモリ921の具体例は、SRAM(Static Random Access Memory)、あるいはDRAM(Dynamic Random Access Memory)である。
 記録メディア920と補助記憶装置922は、データを保管する記憶装置である。
 記録メディア920と補助記憶装置922の具体例は、HDD(Hard Disk Drive)である。
 また、記録メディア920と補助記憶装置922は、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、DVD(Digital Versatile Disk)といった可搬記憶媒体であってもよい。
 通信インターフェース923は、データを受信する受信部901及びデータを送信する送信部902を有する。
 通信インターフェース923は、通信チップ又はNIC(Network Interface Card)等を有する。
 学習識別プログラムは、メモリ921からプロセッサ910に読み込まれ、プロセッサ910によって実行される。
 メモリ921には、学習識別プログラムだけでなく、オペレーティングシステム607、ネットワークドライバ608及びストレージドライバ609も記憶されている。
 プロセッサ910は、オペレーティングシステム607、ネットワークドライバ608及びストレージドライバ609を実行しながら、学習識別プログラムを実行する。
 学習識別プログラム及びオペレーティングシステム607、ネットワークドライバ608及びストレージドライバ609は、補助記憶装置922に記憶されていてもよい。
 補助記憶装置922に記憶されている学習識別プログラム及びオペレーティングシステム607、ネットワークドライバ608及びストレージドライバ609は、メモリ921にロードされ、プロセッサ910によって実行される。
 なお、学習識別プログラムの一部又は全部がオペレーティングシステム607に組み込まれていてもよい。
 学習識別装置200は、プロセッサ910を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、学習識別プログラムの実行を分担する。それぞれのプロセッサは、プロセッサ910と同じように、学習識別プログラムを実行する装置である。
 学習識別プログラムにより利用、処理又は出力されるデータ、情報、信号値及び変数値は、メモリ921、補助記憶装置922、又は、プロセッサ910内のレジスタあるいはキャッシュメモリに記憶される。
 タイム制御部111と学習識別部102との各部の「部」を「処理」、「手順」あるいは「工程」に読み替えてもよい。また、タイム制御部111と学習識別部102との各処理の「処理」を「プログラム」、「プログラムプロダクト」又は「プログラムを記録したコンピュータ読取可能な記憶媒体」に読み替えてもよい。
 学習識別プログラムは、前記の各部の「部」を「処理」、「手順」あるいは「工程」に読み替えた各処理、各手順あるいは各工程を、コンピュータに実行させる。また、学習識別方法は、学習識別装置200がプログラムを実行することにより行われる方法である。
 プログラムは、コンピュータ読取可能な記録媒体に格納されて提供されてもよい。また、プログラムは、プログラムプロダクトとして提供されてもよい。
 また、学習識別装置200は、ロジックIC(Integrated Circuit)、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)といった処理回路により実現されてもよい。
 また、プロセッサと、メモリと、プロセッサとメモリの組合せと、処理回路との上位概念を、プロセッシングサーキットリという。つまり、プロセッサと、メモリと、プロセッサとメモリの組合せと、処理回路とは、それぞれプロセッシングサーキットリの具体例である。
 ***動作の説明***
 次に動作について説明する。
 図2はこの実施の形態の学習識別装置200の学習識別方法の動作を示すフローチャート300である。以下の処理は、プロセッサ910が学習識別プログラムを実行することにより実現される。
 まずステップS301において、入力制御部112が、学習識別装置200の受信部901へ入力された入力データ101をデータマスク部201に入力する。
 次にステップS302において、データマスク部201が、入力データ101にランダムなノイズを印加する。ここで、データマスク部201が印加するノイズの強度は、学習識別部102の処理に影響がない程度を上限とし、攻撃者が印加するノイズと同程度、又は、それ以上のものが設定される。
 次にステップS303において、データマスク部201は、ランダムノイズを印加した入力データを、学習識別部102に入力する。
 学習識別部102は、複数のニューラルネットワーク層1001で、パーセプトロン処理1002を実行する。
 パーセプトロン処理1002において、ランダムノイズを印加していない入力データの処理時間とランダムノイズを印加した入力データの処理時間とは異なる。
 ニューラルネットワーク層1001はパーセプトロン処理1002の演算結果を出力する。
 最終層のニューラルネットワーク層1001が学習識別結果となる。
 学習識別部102は、入力データ101から学習識別結果を得て学習識別結果を出力する。
 最後にステップS304において、学習識別部102は、学習識別結果を、学習識別装置200の出力データ103として送信部902に出力する。
 送信部902は、出力データ103を外部に出力する。
 以上のように、本実施の形態の学習識別方法は、タイム制御部111が、入力データ101に対する学習識別部102の処理時間を入力データ101に対して非依存にする。
 そして、学習識別部102が、入力データ101を学習識別処理して出力データを出力する。
 また、本実施の形態の学習識別プログラムは、学習識別処理を実行するコンピュータに、入力データ101に対して学習識別処理させ、学習識別部102への入力データ101の入力時刻から学習識別部102からの出力データ103の出力時刻までの時間を入力データに対して非依存にさせて、出力データ103を出力させる。
***実施の形態の特徴***
 本実施の形態の学習識別装置200は、学習識別部102の前に、入力データ101を処理する手段を追加することで、入力データ101と学習識別部102の処理時間とを非依存にすることを特徴とする。
 本実施の形態の学習識別装置200は、入力データ101を処理する手段を、学習識別装置200の入力データ101にランダムなノイズを印加する手段で実現することを特徴とする。
 本実施の形態の学習識別装置200は、学習識別部102の前に、入力データ101にランダムなノイズを印加するデータマスク部201を追加することで、入力データ101と学習識別部102の処理時間とを非依存にする。
 本実施の形態の学習識別装置200は、入力データ101にランダムなノイズを印加するデータマスク部201により学習識別部102の処理時間をランダムなノイズが印加された入力データ101に依存した処理時間とすることでタイミング攻撃対策としたものである。
***実施の形態の効果***
 以上のように、本実施の形態の学習識別装置200は、学習識別部102の処理時間がランダムなノイズが印加された入力データ101に依存したものとなるようにしているので、入力データ101と処理時間の関係に着目するタイミング攻撃を防御することができる。
 実施の形態2.
 以下、実施の形態1と異なる点について説明する。
 本実施の形態では、学習識別部102への入力データ101の入力時刻をランダム化する入力時刻拡散部401を追加して、タイミング攻撃対策とする実施形態を示す。
 図3は、学習識別装置200の構成図である。
 学習識別装置200は、タイム制御部111を有する。
 タイム制御部111は、入力制御部112を有する。
 入力制御部112は、入力時刻拡散部401を有する。
 入力時刻拡散部401は、学習識別部102への入力データ101の入力時刻をランダム化する。
 学習識別装置200は、学習識別部102の前に、入力時刻をランダム化する入力時刻拡散部401を追加することで、入力データ101と学習識別装置200の処理時間とを非依存にする。
 次に動作について説明する。
 図4はこの実施の形態の学習識別装置200の学習識別方法の動作を示すフローチャート500である。以下の処理は、プロセッサ910が学習識別プログラムを実行することにより実現される。
 まずステップS501において、学習識別装置200へ入力された入力データ101が入力時刻拡散部401に入力される。
 次にステップS502において、入力時刻拡散部401は、入力データ101の学習識別部102への入力時刻をランダム化する。
 具体的には、入力時刻拡散部401は、受信部901への入力データ101の受信時刻から学習識別部102への入力データ101の出力時刻までの時間をランダム化する。
 入力時刻のランダム化は、ダミー処理又はウェイト処理等により実現される。
 次にステップS503において、入力時刻拡散部401は、ランダム化した入力時刻に従って、入力データ101を学習識別部102に入力する。
 最後にステップS504において、学習識別部102は学習識別結果を出力データ103として、出力する。
***実施の形態の特徴***
 本実施の形態の学習識別装置200は、学習識別部の前に、入力データを処理する手段を追加することで、入力データ101と学習識別装置200の処理時間とを非依存にすることを特徴とする。
 本実施の形態の学習識別装置200は、入力データを処理する手段を、学習識別装置200の学習識別部のへ入力タイミングをランダム化する手段で実現することを特徴とする。
 本実施の形態の学習識別装置200は、入力データ101の入力時刻をランダム化する入力時刻拡散部401により、学習識別装置200の処理時間をランダム化された入力時刻に依存した処理時間とすることでタイミング攻撃対策としたものである。
***実施の形態の効果***
 以上のように、本実施の形態の学習識別装置200は、学習識別装置200の処理時間がランダム化された入力時刻に依存したものとなるようにしているので、入力データ101と処理時間の関係に着目するタイミング攻撃を防御することができる。
 実施の形態3.
 以下、実施の形態1と異なる点について説明する。
 次に学習識別部102の出力時刻をランダム化する出力時刻拡散部601を追加した場合に、タイミング攻撃対策となる実施形態を示す。
 図5は、学習識別装置200の構成図である。
 学習識別装置200は、学習識別部102の後に、出力時刻をランダム化する出力時刻拡散部601を追加することで、入力データ101と学習識別装置200の処理時間とを非依存にする。
 学習識別装置200は、タイム制御部111を有する。
 タイム制御部111は、出力制御部113を有する。
 出力制御部113は、出力データ103に処理を加えて学習識別装置200の処理時間を変更する。
 入力制御部112は、出力時刻拡散部601を有する。
 出力時刻拡散部601は、出力データ103の出力時刻をランダム化する。
 この実施の形態の学習識別装置200は、学習識別部102の後に、学習識別装置200の出力データ103の出力時刻をランダム化する出力時刻拡散部601を追加することで、入力データ101と学習識別装置200の処理時間とを非依存にする。
 次に動作について説明する。
 図6はこの実施の形態の学習識別装置200の学習識別方法の動作を示すフローチャート700である。以下の処理は、プロセッサ910が学習識別プログラムを実行することにより実現される。
 まずステップS701において、学習識別装置200へ入力された入力データ101が学習識別部102に入力される。
 次にステップS702において、学習識別部102から出力された学習識別結果が、出力時刻拡散部601に入力される。
 次にステップS703において、出力時刻拡散部601は、学習識別装置200の出力データ103の出力時刻をランダム化する。
 具体的には、出力時刻拡散部601は、学習識別部102からの出力データ103の入力時刻から送信部902への出力時刻までの時間をランダム化する。
 出力時刻のランダム化は、ダミー処理又はウェイト処理等により実現される。
 最後にステップS704において、出力時刻拡散部601は、ランダム化された出力時刻に従って、学習識別部102から出力された学習識別結果を出力データ103として、送信部902に出力する。
***実施の形態の特徴***
 本実施の形態の学習識別装置200は、学習識別部102の後に、出力データ103を処理する手段を追加することで、入力データ101と学習識別装置200の処理時間を非依存にすることを特徴とする。
 本実施の形態の学習識別装置200は、出力データ103を処理する手段を、学習識別装置200の出力タイミングをランダム化する手段で実現することを特徴とする。
 本実施の形態の学習識別装置200は、出力時刻拡散部601が出力データ103の出力時刻をランダム化して、学習識別装置200の処理時間をランダム化された出力時刻に依存した処理時間とすることでタイミング攻撃対策としたものである。
***実施の形態の効果***
 以上のように、本実施の形態の学習識別装置200は、学習識別装置200の処理時間を入力データ101によらずランダム化された出力データ103の出力時刻に依存したものとなるようにしているので、入力データ101と処理時間の関係に着目するタイミング攻撃を防御することができる。
 実施の形態4.
 以下、実施の形態1と異なる点について説明する。
 本実施の形態では、学習識別部102の処理時間を一定にして、タイミング攻撃対策とする実施形態を示す。
 図7は、学習識別装置200の構成図である。
 学習識別装置200は、タイム制御部111を有する。
 タイム制御部111は、出力制御部113を有する。
 出力制御部113は、タイムスタンプ生成部801と出力時刻調整部803とを有する。
 タイムスタンプ生成部801は、タイムスタンプ生成部801への入力データ101の入力時刻をタイムスタンプ802として記録する。
 出力時刻調整部803は、タイムスタンプ802を用いて、入力データ101の入力時刻から出力データ103の出力時刻までの時間を一定にする。
 出力時刻調整部803は、タイムスタンプ802が示す入力データ101の入力時刻に対して一定の時間を加算して出力データ103の出力時刻とする。
 学習識別装置200は、学習識別部102の前に、タイムスタンプ生成部801への入力データ101の入力時刻を記録するタイムスタンプ生成部801を追加し、学習識別部102の後に、学習識別部102の処理時間を一定にする出力時刻調整部803を追加することで、入力データ101と学習識別装置200の処理時間とを非依存にする。
 次に動作について説明する。
 図8はこの実施の形態の学習識別装置200の学習識別方法の動作を示すフローチャート900である。以下の処理は、プロセッサ910が学習識別プログラムを実行することにより実現される。
 まずステップS901において、学習識別装置200へ入力された入力データ101がタイムスタンプ生成部801に入力される。
 次にステップS902において、タイムスタンプ生成部801は、入力データ101の入力時刻に応じたタイムスタンプ802を生成する。
 タイムスタンプ802は、タイムスタンプ生成部801への入力データ101の入力時刻を含んでいる。
 タイムスタンプ802はメモリ921に記憶される。
 次にステップS903において、タイムスタンプ生成部801は、タイムスタンプ802をメモリ921に記録した入力データ101を学習識別部102に入力する。
 次にステップS904において、学習識別部102は、学習識別結果を出力時刻調整部803に入力する。
 次にステップS905において、出力時刻調整部803は、タイムスタンプ生成部801で生成したタイムスタンプ802を参照し、処理時間が一定になるようする。
 具体的には、タイムスタンプ生成部801は、タイムスタンプ802が示す入力時刻に対して一定の時間を加算した時刻を学習識別結果の出力時刻とする。
 処理時間の一定化は、ダミー処理又はウェイト処理等により実現される。
 最後にステップS906において、出力時刻調整部803は処理時間が一定化された出力時刻に従って、学習識別部102から出力された学習識別結果を出力データ103として、送信部902に出力する。
***実施の形態の特徴***
 本実施の形態の学習識別装置200は、学習識別部102の後に、出力データ103を処理する手段を追加することで、入力データ101と学習識別装置200の処理時間とを非依存にすることを特徴とする。
 本実施の形態の学習識別装置200は、出力データ103を処理する手段を、学習識別装置200の学習識別部102の前にタイムスタンプを生成し、タイムスタンプ802を参照して学習識別部102の処理時間が一定になるように学習識別装置200の出力タイミングを設定する手段で実現することを特徴とする。
 本実施の形態の学習識別装置200は、入力データ101の入力時刻を記録するタイムスタンプ生成部801と、学習識別部102の処理時間を一定にする出力時刻調整部803により、入力データ101によらず出力データ103の出力時刻を調整する。
***実施の形態の効果***
 以上のように、本実施の形態の学習識別装置200は、学習識別装置200の処理時間が一定となるように、出力データ103の出力時刻を調整しているので、入力データ101と処理時間の関係に着目するタイミング攻撃を防御することができる。
 実施の形態5.
 以下、実施の形態1と異なる点について説明する。
 本実施の形態では、学習識別部102内の各ニューラルネットワーク層1001のパーセプトロン処理1002に、タイミング攻撃対策を施す実施形態を示す。
 図9は、学習識別装置200の構成図である。
 学習識別部102は、ニューラルネットワーク層1001からなる複数層の処理を有している。
 学習識別装置200は、学習識別部102内の各ニューラルネットワーク層1001のパーセプトロン処理の処理結果の出力時刻をランダム化、又は、一定にする出力時刻調整部1003を追加することで、入力データ101と学習識別部102の処理時間とを非依存にする。
 学習識別装置200は、タイム制御部111を有する。
 タイム制御部111は、処理制御部114を有する。
 処理制御部114は、学習識別部102の処理時刻を制御して、学習識別部102の処理時間を変更する。
 処理制御部114は、複数の出力時刻調整部1003を有する。
 出力時刻調整部1003は、ニューラルネットワーク層1001の各層に後に配置されている。
 ニューラルネットワーク層1001と出力時刻調整部1003は対応しており、ニューラルネットワーク層1001の数と出力時刻調整部1003の数は同じである。ただし、出力時刻調整部1003は、1個以上あればよい。
 出力時刻調整部1003は、学習識別部102の各層の出力時刻をランダム化、又は、学習識別部102の各層の学習時刻を一定にする。
 学習識別装置200は、学習識別部102内のニューラルネットワーク層1001の各層のパーセプトロン処理1002に、出力時刻をランダム化、又は、一定にする出力時刻調整部1003を追加することで、入力データ101と学習識別部102の処理時間とを非依存にする。
 次に動作について説明する。
 図10はこの実施の形態の学習識別装置200の学習識別方法の動作を示すフローチャート1100である。以下の処理は、プロセッサ910が学習識別プログラムを実行することにより実現される。
 まずステップS1101において、学習識別装置200へ入力された入力データ101が学習識別部102に入力される。
 次にプロセッサ910は、ステップS1102からステップS1105までの処理を、ニューラルネットワーク層1001の全層の演算終了まで各層でループ処理する。
 ステップS1103において、ニューラルネットワーク層1001は、パーセプトロン処理1002を実行する。
 次にステップS1104において、ニューラルネットワーク層1001は、パーセプトロン処理1002の演算結果の出力を出力時刻調整部1003に入力する。
 次にステップS1105において、出力時刻調整部1003は、ニューラルネットワーク層1001の演算結果を中間データ109として受け取り、中間データ109の出力時刻を一定、又は、ランダムにする。
 具体的には、出力時刻調整部1003は、複数のパーセプトロン処理1002の複数の処理結果を複数の中間データ109として受け取り、複数の中間データ109の出力時刻をランダムにして又は一定にして出力する。
 複数の中間データ109の出力時刻の一定、又は、ランダム化は、ダミー処理又はウェイト処理等により実現される。
 出力時刻調整部1003は、複数の中間データ109を受信し複数の中間データ109を同時に出力することにより、中間データ109の出力時刻を一定にする。
 あるいは、出力時刻調整部1003は、複数の中間データ109を受信し複数の中間データ109を相互にランダムな時刻に出力することにより、複数の中間データ109の出力時刻をランダム化する。
 複数の中間データ109の出力時刻の一定、又は、ランダム化は、パーセプトロン処理1002内の一部として実現してもよい。
 最後にステップS1106において、ニューラルネットワーク層1001の全層の演算終了後、学習識別部102は学習識別結果を出力データ103として、送信部902に出力する。
***実施の形態の特徴***
 本実施の形態の学習識別装置200は、学習識別装置200の学習識別部内の各層のパーセプトロン処理1002の間に中間データ109を処理する手段を追加することで、学習識別部102の処理時間を変更し、入力データと学習識別装置200の処理時間を非依存にすることを特徴とする。
 本実施の形態の学習識別装置200は、中間データ109を処理する手段を、学習識別装置200の学習識別部内の各層の複数の中間データ109の出力タイミングをランダム化、又は、一定にする手段で実現することを特徴とする。
***実施の形態の効果***
 以上のように、本実施の形態の学習識別装置200は、複数の中間データ109の出力時刻が一定又はランダムとなるようにして学習識別部102の処理時間を変更しているので、入力データ101と処理時間の関係に着目するタイミング攻撃を防御することができる。
***変形例***
 図11は、本実施の形態に係る学習識別装置200の別構成を示す図である。
 図11は、図9に示した学習識別装置200の出力時刻調整部1003を変更したものである。
 図11に示す出力時刻調整部1003は、ニューラルネットワーク層1001の全てのパーセプトロン処理1002から中間データ109として受け取るのではなく、ニューラルネットワーク層1001の全てのパーセプトロン処理1002のうち一部のパーセプトロン処理1002から中間データ109として受け取る。
 出力時刻調整部1003が中間データ109を受け取らない場合、パーセプトロン処理1002の中間データ109は次のニューラルネットワーク層1001に直接入力される。
 実施の形態6.
 この実施の形態では、実施の形態1と異なる点について説明する。
 図12は、本実施の形態に係る学習識別装置200の構成を示す図である。
 図12は、図1に示した学習識別装置200のプロセッサ910を電子回路909に変更したものである。
 学習識別装置200は、電子回路909、メモリ921、補助記憶装置922、通信インターフェース923、及び記録メディア920を備える。
 電子回路909は、タイム制御部111と学習識別部102の機能を実現する専用の電子回路である。
 電子回路909は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、又は、FPGAである。GAは、Gate Arrayの略語である。ASICは、Application Specific Integrated Circuitの略語である。FPGAは、Field-Programmable Gate Arrayの略語である。
 タイム制御部111と学習識別部102の機能は、1つの電子回路で実現されてもよいし、複数の電子回路に分散して実現されてもよい。
 本実施の形態では、タイム制御部111と学習識別部102の機能がソフトウェアで実現されてもよい。
 あるいは、タイム制御部111と学習識別部102の機能がハードウェアで実現されてもよい。
 あるいは、タイム制御部111と学習識別部102の一部の機能が電子回路で実現され、残りの機能がソフトウェアで実現されてもよい。
 プロセッサと電子回路の各々は、プロセッシングサーキットリとも呼ばれる。つまり、学習識別装置200において、タイム制御部111と学習識別部102の機能は、プロセッシングサーキットリにより実現される。
 図示していないが、実施の形態1以外の学習識別装置200のプロセッサ910を電子回路909に変更してもよい。
***他の実施の形態***
 前述した実施の形態では、学習しながら識別作業をする学習識別装置200について説明したが、学習識別装置200ではなく、学習をする学習装置でもよいし、識別作業をする識別装置でもよい。
 以上、複数の実施の形態について説明したが、これらの実施の形態のうち、2つ以上の実施の形態を組み合わせて実施しても構わない。或いは、これらの実施の形態のうち、1つの実施の形態又は2つ以上の実施の形態の組み合わせを部分的に実施しても構わない。なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
 101 入力データ、102 学習識別部、103 出力データ、109 中間データ、111 タイム制御部、112 入力制御部、113 出力制御部、114 処理制御部、200 学習識別装置、201 データマスク部、401 入力時刻拡散部、601 出力時刻拡散部、607 オペレーティングシステム、608 ネットワークドライバ、609 ストレージドライバ、801 タイムスタンプ生成部、802 タイムスタンプ、803 出力時刻調整部、901 受信部、902 送信部、909 電子回路、910 プロセッサ、920 記録メディア、921 メモリ、922 補助記憶装置、923 通信インターフェース、1001 ニューラルネットワーク層、1002 パーセプトロン処理、1003 出力時刻調整部。

Claims (11)

  1.  入力データを学習識別処理して出力データを出力する学習識別部と、
     前記入力データに対する前記学習識別処理の処理時間を前記入力データに対して非依存にするタイム制御部と
    を備えた学習識別装置。
  2.  前記タイム制御部は、前記入力データに処理を加えて前記学習識別処理の処理時間を変更する入力制御部とを備えた請求項1に記載の学習識別装置。
  3.  前記入力制御部は、前記入力データにランダムなノイズを印加するデータマスク部を有する請求項2に記載の学習識別装置。
  4.  前記入力制御部は、前記入力データの入力時刻をランダム化する入力時刻拡散部を有する請求項2に記載の学習識別装置。
  5.  前記タイム制御部は、前記出力データに処理を加えて前記学習識別処理の処理時間を変更する出力制御部とを備えた請求項1に記載の学習識別装置。
  6.  前記出力制御部は、前記出力データの出力時刻をランダム化する出力時刻拡散部を有する請求項5に記載の学習識別装置。
  7.  前記出力制御部は、前記入力データの入力時刻から前記出力データの出力時刻までの時間を一定にする出力時刻調整部を有する請求項5に記載の学習識別装置。
  8.  前記タイム制御部は、前記学習識別部の処理時刻を制御して、前記学習識別処理の処理時間を変更する処理制御部とを備えた請求項1に記載の学習識別装置。
  9.  前記学習識別部は、複数層の処理を有し、
     前記処理制御部は、前記学習識別部の各層の出力時刻をランダム化、又は、前記学習識別部の各層の出力時刻を一定にする出力時刻調整部を有する請求項8に記載の学習識別装置。
  10.  学習識別方法において、
     タイム制御部が、入力データに対する学習識別処理の処理時間を前記入力データに対して非依存にし、
     学習識別部が、前記入力データを学習識別処理して出力データを出力する学習識別方法。
  11.  学習識別処理を実行するコンピュータに、
     入力データに対して学習識別処理させ、
     前記入力データの入力時刻から出力データの出力時刻までの時間を前記入力データに対して非依存にさせて、前記出力データを出力させる学習識別プログラム。
PCT/JP2018/046158 2018-12-14 2018-12-14 学習識別装置、学習識別方法、及び、学習識別プログラム WO2020121527A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
PCT/JP2018/046158 WO2020121527A1 (ja) 2018-12-14 2018-12-14 学習識別装置、学習識別方法、及び、学習識別プログラム
CN201880100081.9A CN113168466B (zh) 2018-12-14 2018-12-14 学习识别装置、学习识别方法以及计算机可读取的记录介质
JP2019533122A JP6632773B1 (ja) 2018-12-14 2018-12-14 学習識別装置、学習識別方法、及び、学習識別プログラム
EP18942817.0A EP3885952A4 (en) 2018-12-14 2018-12-14 LEARNING IDENTIFICATION DEVICE, LEARNING IDENTIFICATION PROCESS AND LEARNING IDENTIFICATION PROGRAM
US17/231,505 US20210232923A1 (en) 2018-12-14 2021-04-15 Learning-and-recognition apparatus, learning-and- recognition method, and non-transitory computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/046158 WO2020121527A1 (ja) 2018-12-14 2018-12-14 学習識別装置、学習識別方法、及び、学習識別プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/231,505 Continuation US20210232923A1 (en) 2018-12-14 2021-04-15 Learning-and-recognition apparatus, learning-and- recognition method, and non-transitory computer readable medium

Publications (1)

Publication Number Publication Date
WO2020121527A1 true WO2020121527A1 (ja) 2020-06-18

Family

ID=69166785

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/046158 WO2020121527A1 (ja) 2018-12-14 2018-12-14 学習識別装置、学習識別方法、及び、学習識別プログラム

Country Status (5)

Country Link
US (1) US20210232923A1 (ja)
EP (1) EP3885952A4 (ja)
JP (1) JP6632773B1 (ja)
CN (1) CN113168466B (ja)
WO (1) WO2020121527A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109740735B (zh) * 2018-12-29 2020-12-29 百度在线网络技术(北京)有限公司 多神经网络输出方法及装置、服务器、计算机可读介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001052115A (ja) * 1999-08-04 2001-02-23 Ricoh Co Ltd 正準判別分析方法、特徴抽出方法、特徴抽出装置および記録媒体
JP2002008027A (ja) * 2000-06-20 2002-01-11 Ricoh Co Ltd パターン認識方法、パターン認識装置およびパターン認識プログラムを記録した記録媒体
JP2014192793A (ja) 2013-03-28 2014-10-06 Mega Chips Corp 暗号装置
US20180307188A1 (en) * 2017-04-21 2018-10-25 Robert Bosch Gmbh Method and device for improving the robustness with respect to "adversarial examples"

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4494561B2 (ja) * 1999-09-17 2010-06-30 徹 中川 パターン識別装置
EP2056275A4 (en) * 2006-07-25 2011-05-04 Nec Corp PSEUDOZUFALLSZAHLENGENERATOR, STREAM ENCRYPTION DEVICE AND PROGRAM
JP2009187179A (ja) * 2008-02-05 2009-08-20 Seiko Instruments Inc タイムスタンプ装置及び方法
JP5276503B2 (ja) * 2009-04-03 2013-08-28 日本電信電話株式会社 データ解析装置、データ解析プログラムおよびその記録媒体
WO2013172913A2 (en) * 2012-03-07 2013-11-21 The Trustees Of Columbia University In The City Of New York Systems and methods to counter side channels attacks
CN105960614B (zh) * 2014-02-07 2020-11-27 三菱电机株式会社 系统辨识装置
JP2016143354A (ja) * 2015-02-04 2016-08-08 エヌ・ティ・ティ・コムウェア株式会社 学習装置、学習方法、およびプログラム
KR102449837B1 (ko) * 2015-02-23 2022-09-30 삼성전자주식회사 신경망 학습 방법 및 장치, 및 인식 방법 및 장치
JP6145623B2 (ja) * 2015-03-23 2017-06-14 石川県 位置測定システム、位置測定装置、位置測定方法、及びプログラム
WO2017073373A1 (ja) * 2015-10-30 2017-05-04 株式会社モルフォ 学習システム、学習装置、学習方法、学習プログラム、教師データ作成装置、教師データ作成方法、教師データ作成プログラム、端末装置及び閾値変更装置
JP6801491B2 (ja) * 2017-02-14 2020-12-16 オムロン株式会社 識別装置
JP6791800B2 (ja) * 2017-04-05 2020-11-25 株式会社日立製作所 計算機システム及び再帰型ニューラルネットワークを用いた演算方法
JP6648730B2 (ja) * 2017-05-09 2020-02-14 オムロン株式会社 制御装置、タイムスタンプ修正方法およびプログラム
FR3081241B1 (fr) * 2018-05-17 2020-05-29 Stmicroelectronics (Rousset) Sas Procede de gestion de la valeur de la tension d'alimentation d'un module d'un circuit integre, et circuit integre associe
US10878133B2 (en) * 2018-11-18 2020-12-29 Nuvoton Technology Corporation Mitigation of side-channel attacks using small-overhead random pre-charging

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001052115A (ja) * 1999-08-04 2001-02-23 Ricoh Co Ltd 正準判別分析方法、特徴抽出方法、特徴抽出装置および記録媒体
JP2002008027A (ja) * 2000-06-20 2002-01-11 Ricoh Co Ltd パターン認識方法、パターン認識装置およびパターン認識プログラムを記録した記録媒体
JP2014192793A (ja) 2013-03-28 2014-10-06 Mega Chips Corp 暗号装置
US20180307188A1 (en) * 2017-04-21 2018-10-25 Robert Bosch Gmbh Method and device for improving the robustness with respect to "adversarial examples"

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
NAKAI, TSUNATO; KOBAYASHI, NOBUHIRO: "Timing Attack for Deep Learning: Generation of Adversarial Examples Using Processing Time Differences.", THE 2019 SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY (SCIS 2019), 15 January 2019 (2019-01-15), JP, pages 1 - 8, XP009528099 *
See also references of EP3885952A4
WEIZHE HUA ET AL.: "Reverse Engineering Convolutional Neural Networks Through Side-channel Information Leaks", DAC' 18 PROCEEDINGS OF THE 55TH ANNUAL DESIGN AUTOMATION CONFERENCE, June 2018 (2018-06-01), pages 1 - 6, XP033405824, Retrieved from the Internet <URL:https://www.csl.cornell.edu/~zhiruz/pdfs/rev-cnn-dac2018.pdf> [retrieved on 20190305] *
XIAOYONG YUANA ET AL.: "Adversarial Examples: Attacks and Defenses for Deep Learning", ARXIV:1712.07107V3 [CS.LG, 7 July 2018 (2018-07-07)

Also Published As

Publication number Publication date
CN113168466A (zh) 2021-07-23
EP3885952A4 (en) 2021-12-01
JPWO2020121527A1 (ja) 2021-02-15
CN113168466B (zh) 2024-08-23
JP6632773B1 (ja) 2020-01-22
EP3885952A1 (en) 2021-09-29
US20210232923A1 (en) 2021-07-29

Similar Documents

Publication Publication Date Title
US11743028B2 (en) Protecting block cipher computation operations from external monitoring attacks
US20230379133A1 (en) Multiplicative masking for cryptographic operations
EP2893431B1 (fr) Protection contre canaux auxiliaires
US7720225B2 (en) Table splitting for cryptographic processes
Zhang et al. A Novel Chaotic Map and an Improved Chaos‐Based Image Encryption Scheme
EP1833190A1 (en) Table splitting for cryptographic processes
KR102594656B1 (ko) 보안 프로세서, 이를 포함하는 어플리케이션 프로세서 및 보안 프로세서의 동작 방법
US20110261958A1 (en) Table splitting for cryptographic processes
WO2020121527A1 (ja) 学習識別装置、学習識別方法、及び、学習識別プログラム
US20120069998A1 (en) Encryption device
KR101666974B1 (ko) 소수 생성
CN113518988B (zh) 嵌入式中央处理单元上的抗侧通道攻击存储器访问
CN113810169A (zh) 同态加密装置及其密文算术方法
EP1587237A1 (en) Security countermeasures for power analysis attacks
JP4327169B2 (ja) 暗号化装置
EP3475825B1 (en) Cryptographic operations employing non-linear share encoding for protecting from external monitoring attacks
JP2005202757A (ja) 擬似乱数生成装置及びプログラム
US11924320B2 (en) Devices and methods for protecting cryptographic programs
EP3531612B1 (en) Method and device for performing substitution table operations
CN107451481A (zh) 一种自主安全的高速存储装置与方法
US20240313948A1 (en) Deterministic local key masking for high-speed encryption with key reuse
Won et al. Novel Leakage Against Realistic Masking and Shuffling Countermeasures: Case Study on PRINCE and SEED
US20220231832A1 (en) Apparatus and method for modular multiplication resistant to side-channel attack
JP2005204128A (ja) 個別鍵生成装置及びプログラム
Krzywiecki et al. Too Noisy, or Not Too Noisy? A Private Training in Machine Learning

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2019533122

Country of ref document: JP

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18942817

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018942817

Country of ref document: EP

Effective date: 20210624