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

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

Info

Publication number
JP6632773B1
JP6632773B1 JP2019533122A JP2019533122A JP6632773B1 JP 6632773 B1 JP6632773 B1 JP 6632773B1 JP 2019533122 A JP2019533122 A JP 2019533122A JP 2019533122 A JP2019533122 A JP 2019533122A JP 6632773 B1 JP6632773 B1 JP 6632773B1
Authority
JP
Japan
Prior art keywords
learning identification
time
processing
input data
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.)
Active
Application number
JP2019533122A
Other languages
English (en)
Other versions
JPWO2020121527A1 (ja
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
Application granted granted Critical
Publication of JP6632773B1 publication Critical patent/JP6632773B1/ja
Publication of JPWO2020121527A1 publication Critical patent/JPWO2020121527A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

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 (10)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP6632773B1 true JP6632773B1 (ja) 2020-01-22
JPWO2020121527A1 JPWO2020121527A1 (ja) 2021-02-15

Family

ID=69166785

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019533122A Active JP6632773B1 (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) CN113168466A (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 百度在线网络技术(北京)有限公司 多神经网络输出方法及装置、服务器、计算机可读介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4049288B2 (ja) * 1999-08-04 2008-02-20 株式会社リコー 正準判別分析装置、特徴抽出装置および記録媒体
JP4494561B2 (ja) * 1999-09-17 2010-06-30 徹 中川 パターン識別装置
JP2002008027A (ja) * 2000-06-20 2002-01-11 Ricoh Co Ltd パターン認識方法、パターン認識装置およびパターン認識プログラムを記録した記録媒体
JP5276503B2 (ja) * 2009-04-03 2013-08-28 日本電信電話株式会社 データ解析装置、データ解析プログラムおよびその記録媒体
JP2014192793A (ja) 2013-03-28 2014-10-06 Mega Chips Corp 暗号装置
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 石川県 位置測定システム、位置測定装置、位置測定方法、及びプログラム
KR102114564B1 (ko) * 2015-10-30 2020-05-22 가부시키가이샤 모르포 학습 시스템, 학습 장치, 학습 방법, 학습 프로그램, 교사 데이터 작성 장치, 교사 데이터 작성 방법, 교사 데이터 작성 프로그램, 단말 장치 및 임계치 변경 장치
JP6801491B2 (ja) * 2017-02-14 2020-12-16 オムロン株式会社 識別装置
JP6791800B2 (ja) * 2017-04-05 2020-11-25 株式会社日立製作所 計算機システム及び再帰型ニューラルネットワークを用いた演算方法
DE202017102381U1 (de) * 2017-04-21 2017-05-11 Robert Bosch Gmbh Vorrichtung zum Verbessern der Robustheit gegen "Adversarial Examples"

Also Published As

Publication number Publication date
CN113168466A (zh) 2021-07-23
US20210232923A1 (en) 2021-07-29
JPWO2020121527A1 (ja) 2021-02-15
WO2020121527A1 (ja) 2020-06-18
EP3885952A1 (en) 2021-09-29
EP3885952A4 (en) 2021-12-01

Similar Documents

Publication Publication Date Title
US11856116B2 (en) Method and apparatus for protecting embedded software
US10771235B2 (en) Protecting block cipher computation operations from external monitoring attacks
Tunstall et al. Masking tables—an underestimated security risk
CN107004084B (zh) 用于加密操作的乘法掩码
EP2893431A1 (fr) Protection contre canaux auxiliaires
US11700111B2 (en) Platform neutral data encryption standard (DES) cryptographic operation
JP6632773B1 (ja) 学習識別装置、学習識別方法、及び、学習識別プログラム
US20220182220A1 (en) Crypto processor, method of operating crypto processor, and electronic device including crypto processor
US8538017B2 (en) Encryption device
KR101666974B1 (ko) 소수 생성
JP4327169B2 (ja) 暗号化装置
US20200249912A1 (en) Information processing apparatus, information processing method, and storage medium
EP3391583A1 (en) A computation device and method
CN114868127A (zh) 信息处理装置、信息处理方法和信息处理程序
US20220231832A1 (en) Apparatus and method for modular multiplication resistant to side-channel attack
US11539532B2 (en) Compiling a signature
FR3078463A1 (fr) Procede et dispositif de realisation d'operations en table de substitution
US20070162532A1 (en) Method for generating at least one random number
Won et al. Novel Leakage Against Realistic Masking and Shuffling Countermeasures: Case Study on PRINCE and SEED
WO2021250720A1 (ja) 情報処理装置、情報処理方法、及び、コンピュータ読み取り可能な記録媒体
JP2005204128A (ja) 個別鍵生成装置及びプログラム
CN111967009A (zh) 一种硬件木马防护方法、装置及设备
Teng et al. Cube Attacks on Round-Reduced Grain-128AEAD
FR2995110A1 (fr) Optimisation memoire cryptographique
Pammu Highly secure and low overhead countermeasures against side-channel attacks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190618

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190618

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190703

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190709

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191008

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191029

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191210

R150 Certificate of patent or registration of utility model

Ref document number: 6632773

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250