JP5200664B2 - メモリの内容を改竄する故障攻撃の検知方法、セキュリティデバイス及びコンピュータプログラム - Google Patents

メモリの内容を改竄する故障攻撃の検知方法、セキュリティデバイス及びコンピュータプログラム Download PDF

Info

Publication number
JP5200664B2
JP5200664B2 JP2008138837A JP2008138837A JP5200664B2 JP 5200664 B2 JP5200664 B2 JP 5200664B2 JP 2008138837 A JP2008138837 A JP 2008138837A JP 2008138837 A JP2008138837 A JP 2008138837A JP 5200664 B2 JP5200664 B2 JP 5200664B2
Authority
JP
Japan
Prior art keywords
opcode
designated
execution
security device
instruction
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
JP2008138837A
Other languages
English (en)
Other versions
JP2009288908A (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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2008138837A priority Critical patent/JP5200664B2/ja
Publication of JP2009288908A publication Critical patent/JP2009288908A/ja
Application granted granted Critical
Publication of JP5200664B2 publication Critical patent/JP5200664B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

本発明は、半導体集積回路を実装したセキュリティデバイス(例えば、ICカード)に関し、更に詳しくは、レーザー光などを用い、メモリの内容を変化させる故障攻撃に対する耐タンパー性をセキュリティデバイスに持たせるための技術に関する。
近年、機密情報を格納したセキュリティデバイス(例えば、ICカード)への攻撃が多く研究され、その成果が報告されている。セキュリティデバイスに対する攻撃方法の1つとして電力消費量や電磁波などのサイドチャネルを観測することで、セキュリティデバイスに格納されたDESの秘密鍵を解読するサイドチャネル攻撃が有名で、例えば、特許文献1など様々な公知文献で、サイドチャネル攻撃に対する耐タンパー性をセキュリティデバイスに持たせる技術が開示されている。
しかし、セキュリティデバイスに対する攻撃方法は、上述したサイドチャネル攻撃に限らず、サイドチャネル攻撃以外の攻撃として、故障攻撃(Fault Analysis)も知られている。この故障攻撃において、攻撃者は、セキュリティデバイスに実装された半導体集積回路(ICチップ)にレーザー光を照射し、メモリの内容を変化させ、故意的にICチップの誤動作を誘発させ、ICチップの誤動作を足掛かりとして、DESの秘密鍵を解読する
サイドチャネル攻撃の対策手法が、レーザー光などを利用した故障攻撃に対しても有効であればよいが、攻撃手法が異なるため、サイドチャネル攻撃の対策手法は、レーザー光を用いた故障攻撃に対して有効ではない。
故障攻撃によるICチップの誤動作を検知する手法として、特許文献2などに記述されているようなウォッチドッグタイマと呼ばれる手法を用いることも考えられる。確かに、レーザー光がセキュリティデバイスに照射されて、プログラムコードが格納されている箇所のメモリの内容が変化した場合は、セキュリティデバイスのICチップが暴走するため、ウォッチドックタイマによって暴走を検知できる可能性はある。
しかし、ICチップ暴走は、ICチップに記憶された機密情報を解読する足掛かりになり得るし、更に、レーザー光の照射などの故障攻撃をメモリが受けたときに、メモリが変化する内容によっては、ICチップは暴走せずに誤動作してしまうケースがある。このようなケースでは、ウォッチドックタイマによってこの誤動作を検知できない。例えば、メモリに記憶された命令が、レーザー光の照射などによって、ICチップのCPUに何の動作も実行させないNOP命令に変化した場合、ICチップは暴走せずに誤動作してしまう可能性が高い。
特開2002−74245号公報 特開平5−224999号公報
そこで、本発明は、ICカードに代表されるセキュリティデバイスに対し、レーザー光などを利用した故障攻撃が行われ、メモリに格納されたオペコードが、前記セキュリティデバイスに予め指定されている命令(例えば、NOP命令)のオペコードに変化したことを検知できる方法、この方法を実行するためにセキュリティデバイスに組み込まれるコンピュータプログラム、及び、このコンピュータプログラムが実装されたセキュリティデバイスを提供することを目的とする。
更に、第1の発明は、メモリの内容を改竄する故障攻撃を検知する方法であって、セキュリティデバイスに実装されたバーチャルマシンが、前記セキュリティデバイスのメモリに記憶されたバイトコードから、実行する命令のオペコード(実行オペコード)をフェッチするステップa、前記バーチャルマシンが、前記ステップaでフェッチした前記実行オペコードと、前記バーチャルマシンに予め指定されている命令のオペコード(指定オペコード)が一致するか確認することで、前記指定オペコードをフェッチしたことを検出する処理を実行するステップb、前記バーチャルマシンが、前記ステップbにおいて、前記指定オペコードをフェッチしたことを検出したとき、前記実行オペコードの正当性を検証する処理を実行するステップc、前記バーチャルマシンが、前記ステップcで前記実行オペコードの正当性の検証に失敗した時、故障攻撃に対処する処理を実行するステップd、を含むことを特徴とする。
第1の発明によれば、レーザー光などを用い、故障攻撃を受けてメモリの内容が改竄されたときに、メモリの内容が変換され易い値と同じ値であるオペコードや、誤変換されて実行されるとセキュリティ的に問題が発生する可能性のあるオペコードに前記指定オペコードを指定し、前記バーチャルマシンが、前記実行オペコードが前記指定オペコードであって、かつ、前記実行オペコードの正当性の検証に失敗したときに、故障攻撃に対処する処理として、前記バーチャルマシンの動作を停止する処理などを実行することで、メモリの内容を改竄する故障攻撃によって前記セキュリティデバイスが誤動作するリスクを軽減することができる。
特に、前記バーチャルマシンのバイトコードで用意されているNOP命令(NOP: No Operation)は、前記セキュリティデバイスのCPUに何の動作も実行させない命令で、故障攻撃によって、NOP命令以外の命令のオペコードがNOP命令のオペコードに変換され、CPUが何の処理も実行しないと、前記セキュリティデバイスに記憶された機密情報(例えば、暗号鍵)を解読する際の足掛かりに利用され易いため、前記指定オペコードはNOP命令のオペコードとすることが好適である。例えば、分岐命令がNOP命令に変換されてしまうと、ユーザ認証処理(例えば、PIN照合処理)が実行されずに、前記セキュリティデバイスに記憶された機密情報が解読されたり、或いは、前記セキュリティデバイスが悪用されたりしてしまう。
第1の発明のステップcにおいて実行される処理、すなわち、前記実行オペコードの正当性を検証する処理は、前記実行オペコードの正当性が検証できれば任意の処理であってよい。例えば、前記ステップcにおいて、前記実行オペコードと同一のメモリアドレスから、再度、オペコードを読み出し、前記ステップaでフェッチした前記実行オペコードと、前記ステップcで読み出したオペコードが一致するか確認することで、前記実行オペコードの正当性を検証することができる。
また、前記実行オペコードの正当性を検証する他の手法としては、前記指定オペコードをバイトコードに記述する際に、予め、前記指定オペコードの正当性を検証するため検証用コード(例えば、エラー検出コード)を前記バイトコードに含ませておき、前記ステップcにおいて、この検出用コードを用いて、前記実行オペコードの正当性を検証してもよい。
なお、本発明において、前記セキュリティデバイスとは、図外のターミナルとデータ通信する機能と、ターミナルから送信されたコマンドを実行する機能を備え、その内部に秘密情報(例えば、暗号鍵)を記憶したデバイスを意味し、具体的には、ICカードやUSBキーなどのデバイスである。
更に、第2の発明は、第1の発明に係わる方法が適用され、ICチップが実装されたセキュリティデバイスであって、前記セキュリティデバイスのメモリに記憶されたバイトコードから、実行する命令のオペコード(実行オペコード)をフェッチするフェッチ手段と、前記フェッチ手段がフェッチした前記実行オペコードと、前記セキュリティデバイスに予め指定されている命令のオペコード(指定オペコード)とが一致するか確認することで、前記指定オペコードをフェッチしたことを検出する処理を実行する指定オペコード検出手段、前記実行オペコードが前記指定オペコードであるとき、前記実行オペコードの正当性を検証する処理を実行する実行オペコード検証手段を備えたバーチャルマシンが前記ICチップに実装され、前記バーチャルマシンは、フェッチした前記実行オペコードの正当性の検証に失敗すると、故障攻撃に対処する処理を実行することを特徴とする。
第2の発明において、前記セキュリティデバイスの前記バーチャルマシンに備えられた前記実行オペコード検証手段としては、前記実行オペコードと同一のメモリアドレスから、再度、オペコードを読み出し、前記実行オペコードと、読み出したオペコードが一致するか確認することで、前記実行オペコードの正当性を検証する手段や、前記指定オペコードが前記バイトコードに含まれている際に、前記指定オペコードの正当性を検証するため検証用コード(例えば,エラー検出コード)をも前記バイトコードに含ませておき、この前記検出用コードを用いて、前記実行オペコードの正当性を検証する手段を利用できる。
なお、第2の発明においても、第1の発明と同様に、前記指定オペコードをNOP命令とすることが好適である。
更に、第3の発明は、第1の発明に係わる方法をセキュリティデバイスに実行させるためのコンピュータプログラムで、セキュリティデバイスのメモリに記憶されたバイトコードから、実行する命令のオペコード(実行オペコード)をフェッチするステップa、前記実行オペコーが、前記セキュリティデバイスに予め指定されている命令のオペコード(指定オペコード)と一致するか確認することで、前記指定オペコードをフェッチしたことを検出する処理を実行するステップb、前記ステップbにおいて、前記指定オペコードをフェッチしたことを検出したとき、前記実行オペコードの正当性を検証する処理を実行するステップc、前記ステップcで前記実行オペコードの正当性の検証に失敗した時、故障攻撃に対処する処理を実行するステップdを、前記セキュリティデバイスに実行させるためのコンピュータプログラムである。
なお、第3の発明においても、第1の発明と同様に、前記指定オペコードをNOP命令とすることが好適である。
このように、上述した本発明によれば、ICカードに代表されるセキュリティデバイスに対し、レーザー光などを利用した故障攻撃が行われ、メモリに格納されたオペコードが、前記セキュリティデバイスに予め指定されている命令(例えば、NOP命令)のオペコードに変化したことを検知できる方法、この方法を実行するためにセキュリティデバイスに組み込まれるコンピュータプログラム、及び、このコンピュータプログラムが実装されたセキュリティデバイスを提供できる。
ここから、セキュリティデバイスをICカード1としたときの実施形態について、図を参照しながら詳細に説明する。図1は、本実施形態に係わるICカード1の外観図、図2は、ICカード1に実装されるICチップ2の回路ブロック図、図3は、ICカード1のソフトウェアブロック図である。
図1に示したICカード1は、キャッシュカードやクレジットカードと同じ大きさのプラスチック製カードで、ICカード1には、ICチップ2がモールドされたICモジュール2aが実装されている。
図1においては、ICカード1を接触ICカードとして図示しているが、ICカード1は、図外のターミナルと無線通信する非接触ICカード、または、接触通信と無線通信の2つの通信機能を備えたデュアルインターフェースICカードであってもよい。
加えて、ICカード1の形状は問わず、ICカード1はキャッシュカードと同じ形状でなく、ICモジュール2aの近辺を短冊状に切り取った形状をしているSIM(Subscriber Identity Module)或いはUIM(Universal Subscriber Identity Module)であってもよい。
図2に図示したように、ICチップ2には、演算機能およびICチップ2の回路やメモリを制御する機能を備えた中央演算装置20(CPU:Central Processing Unit)、高速読み取り可能なメモリであるキャッシュ26(Cache)、揮発性メモリであるランダムアクセスメモリ21(RAM:Random Access Memory)、読み出し専用の不揮発性メモリ23(ROM:Read Only Memory、)、電気的に書換え可能な不揮発性メモリであるEEPROM22(EEPROM:Electrically Erasable Programmable Read-Only Memoryの略)、および、I/O回路25を制御し、図外のターミナルと所定の伝送プログラムで通信(例えば、ISO/IEC7816に準じた通信)するためのUART24を備えている。
ICチップ2のROM23およびEEPROM22は、ICチップ2を動作させるコンピュータプログラムやデータを記憶するメモリで、RAM21やキャッシュ26は、CPU20がコンピュータプログラムを実行するときに利用するデータを一時的に記憶するメモリである。
ICチップ2のROM23には、コンピュータプログラムとして、ICチップ2のCPU20の命令コードを解釈し、CPU20に所定の処理を実行させるカードオペレーティングシステム12(COS: Card Operating System)と、Java(登録商標)やMULTOS(登録商標)のバーチャルマシン10(VM: Virtual Machine)が実装され、VM10はCOS12上に構築されている。
ICチップ2のEEPROM22には、ICチップ2のROM23に構築されるJava(登録商標)の実行環境で動作するアプリケーション11が実装される。このアプリケーション11は、ROM23に実装されるVM10に対応したバイトコードで記述され、例えば、ROM23に実装されるVM10がJava(登録商標)のVM10ならば、EEPROM22に実装されるアプリケーション11は、JAVA(登録商標)のバイトコードで記述されたアプレット(Applet)になる。
VM10が、EEPROM22に実装されたアプリケーション11の処理を実行するとき、VM10は、アプリケーション11のバイトコードから、1バイトのバイナリ形式で記述され、実行する命令のオペコード(opcode、以下、「実行オペコード」と記す。)をフェッチする。
また、実行オペコードがオペランド(operand)を伴うオペコードの場合、VM10は、オペコードに引き続き記述されているオペランドをフェッチする。そして、VM10は、フェッチしたオペレーションコード(オペランドがある場合はオペランドも)を、COS12に対応したネイティブコードに変換し、COS12はVM10から受け渡されたネイティブコードを実行する。
レーザー光の照射など、メモリの内容を改竄する故障攻撃をICカード1が受けなければ、上述した手順でICカード1は正常に動作するが、ICカード1が動作している時に、レーザー光がICチップ2に照射されると、例えば、EEPROM22の内容が改竄されてしまい、VM10は、フェッチした実行オペコードが正しいオペコードでなくなるため、ICカード1が誤動作してしまう可能性がある。
特に、VM10に対応したバイトコードの命令には、NOP命令(NOP: No Operation)と呼ばれ、CPU20に何の処理も実行させない命令が一般的に用意されているため、レーザー光の照射などによって、NOP命令以外のオペコードが、NOP命令のオペコードに変化した場合、本来実行しなければならない命令が実行されず、暗号鍵などを解読する故障攻撃の足掛かりにされ易い。
例えば、分岐命令がNOP命令に変換されてしまうと、ユーザ認証処理(例えば、PIN照合処理)が実行されず、ICカード1に記憶された機密情報が解読されたり、或いは、ICカード1が悪用されたりしてしまう。
そこで、本発明に係わるICカード1に実装されるVM10には、実行オペコードが、ICカード1に予め指定されている命令(例えば、NOP命令)のオペコード(以下、「指定オペコード」と記す。)であるか確認することで、指定オペコードをフェッチしたことを検出する機能と、指定オペコードをフェッチした時に、実行オペコードの正当性を検証する機能が備えられている。
図4は、ICカード1の機能ブロック図で、図5は、ICカード1に実装されたVM10の動作手順を示したフロー図である。
図4に図示したように、ICカード1にはVM10と少なくとも一つのアプリケーション11が実装され、VM10には、EEPROM22から実行オペコードをフェッチするフェッチ手段100と、フェッチ手段100が指定オペコードをフェッチしたことを検出する指定オペコード検出手段101と、指定オペコードをフェッチした時に、実行オペコードの正当性を検証する実行オペコード検証手段102が備えられている。
なお、図4で図示した各手段は、ICカード1のICチップ2を各手段として機能させるためのコンピュータプログラムで実現され、このコンピュータプログラムは、VM10の本体、或いは、VM10を利用するためのライブラリの集まりであるフレームワークに組み込まれる。
ここから、図5で図示したフローを用いながら、ICカード1のVM10に備えられた各手段について説明する。VM10が、EEPROM22に実装されたアプリケーション11の処理を実行するとき、VM10のフェッチ手段100は、EEPROM22に記憶されたアプリケーション11のバイトコードから実行オペコードを読み出し、実行オペコードをCPU20のレジスタに格納することで、1バイトの実行オペコードをフェッチする(S1)。
VM10のフェッチ手段が、1バイトの実行オペコードをフェッチすると、VM10の指定オペコード検出手段101が作動し、VM10の指定オペコード検出手段101は、CPU20のレジスタにフェッチした実行オペコードと指定オペコードを比較演算するなどして、指定オペコードをフェッチしたか否かを確認する(S2)。
VM10の指定オペコード検出手段101は、フェッチ手段100がフェッチしたオペコードが指定オペコードでなければ、フェッチ手段100がフェッチした実行オペコードに対応する命令を実行する処理を継続し(S3)、フェッチした実行オペコードが指定オペコードであれば、VM10の実行オペコード検証手段102を呼び出し、S1でフェッチした実行オペコードの正当性を検証する(S2_1)。
実行オペコード検証手段102が、フェッチした実行オペコードの正当性する手法は任意でよい。例えば、フェッチ手段100が実行オペコードをフェッチしたEEPROM22の同じアドレスから、再度、オペコードを読み出し、読み出したオペコードとS1でフェッチした実行オペコードとが一致することを確認するための演算を行い、それぞれのオペコードが一致することを確認することで、フェッチした実行オペコードの正当性を検証することができる。
また、アプリケーション11のバイトコードに指定オペコードを含ませるとき指定オペコードの正当性を検証するために利用するEDC(EDC: Error Detection Code)を、指定オペコードの近傍に記述されているバイトコードから算出し、アプリケーション11のバイトコードにこのEDCを含ませておき、実行オペコード検証手段102は、フェッチした実行オペコードの正当性を、このEDCを利用して検証することもできる。
実行オペコード検証手段102は、フェッチした実行オペコードの正当性の検証に成功すると、S3に進み、フェッチした実行オペコードに対応する命令を実行する処理を継続する。
また、実行オペコード検証手段102は、フェッチした実行オペコードの正当性の検証に失敗すると、メモリの内容を改竄する故障攻撃をICカード1が受けたと判断し、S2−2に進み、VM10は、メモリの内容を改竄する故障攻撃をICカード1が受けた時に実行するエラー処理(例えば、VM10の動作を停止する処理)を実行する。
なお、本発明は、これまで説明した実施の形態に限定されることなく、種々の変形や変更が可能である。例えば、本実施形態では、セキュリティデバイスをICカードとしているが、ICカード以外のセキュリティデバイス(例えば、USBキー)にも本発明を適用できる。また、本実施形態では、指定された命令はNOP命令以外の命令であっても構わない。
更に、ICカードに実装されるICチップの構成は、図2で図示した構成に限定されることはなく、例えば、キャッシュが備えられていないICチップであっても構わない。
本実施形態に係わるICカードの外観図。 ICカードに実装されるICチップの回路ブロック図。 ICカードのソフトウェアブロック図。 ICカードの機能ブロック図。 ICカードに実装されたVMの動作手順を示したフロー図。
1 ICカード
10 バーチャルマシン(VM)
100 フェッチ手段
101 指定オペコード検出手段
102 実行オペコード検証手段
11 アプリケーション
2 ICチップ
20 CPU
22 EEPROM
23 ROM

Claims (6)

  1. メモリの内容を改竄する故障攻撃を検知する方法であって、セキュリティデバイスに実装されたバーチャルマシンが、前記セキュリティデバイスのメモリに記憶されたバイトコードから、実行する命令のオペコード(実行オペコード)をフェッチするステップa、
    前記バーチャルマシンが、前記ステップaでフェッチした前記実行オペコードと、前記バーチャルマシンに予め指定されている命令のオペコード(指定オペコード)が一致するか確認し、前記指定オペコードをフェッチしたことを検出する処理を実行するステップb、前記バーチャルマシンが、前記ステップbにおいて、前記指定オペコードをフェッチしたことを検出したとき、前記実行オペコードの正当性を検証する処理を実行するステップc、前記バーチャルマシンが、前記ステップcで前記実行オペコードの正当性の検証に失敗した時、故障攻撃に対処する処理を実行するステップd、
    を含むことを特徴とする故障攻撃の検知方法。
  2. 請求項1に記載の故障攻撃の検知方法において、前記指定オペコードをNOP命令(NOP: No Operation)のオペコードとすることを特徴とする故障攻撃の検知方法。
  3. ICチップが実装されたセキュリティデバイスであって、
    前記セキュリティデバイスのメモリに記憶されたバイトコードから、実行する命令のオペコード(実行オペコード)をフェッチするフェッチ手段と、
    前記フェッチ手段がフェッチした前記実行オペコードと、前記セキュリティデバイスに予め指定されている命令のオペコード(指定オペコード)が一致するか確認し、前記指定オペコードをフェッチしたことを検出する処理を実行する指定オペコード検出手段と、
    前記実行オペコードが前記指定オペコードであるとき、前記実行オペコードの正当性を検証する処理を実行する実行オペコード検証手段と、
    備えたバーチャルマシンが前記ICチップに実装され
    前記バーチャルマシンは、フェッチした前記実行オペコードの正当性の検証に失敗すると、故障攻撃に対処する処理を実行することを特徴とするセキュリティデバイス。
  4. 請求項3に記載のICチップが実装されたセキュリティデバイスであって、前記指定オペコードをNOP命令(NOP: No Operation)のオペコードとすることを特徴とするセキュリティデバイス。
  5. ICチップが実装されたセキュリティデバイスのメモリに記憶されたバイトコードから、実行する命令のオペコード(実行オペコード)をフェッチするステップa、
    前記実行オペコードと、前記セキュリティデバイスに予め指定されている命令のオペコード(指定オペコード)が一致するか確認し、前記指定オペコードをフェッチしたことを検出する処理を実行するステップb、
    前記ステップbにおいて、前記指定オペコードをフェッチしたことを検出したとき、前記実行オペコードの正当性を検証する処理を実行するステップc、
    前記ステップcで前記実行オペコードの正当性の検証に失敗した時、故障攻撃に対処する処理を実行するステップdを、
    前記セキュリティデバイスに実行させるためのコンピュータプログラム。
  6. 請求項5に記載のコンピュータプログラムであって、前記指定オペコードをNOP命令(NOP: No Operation)のオペコードとすることを特徴とするコンピュータプログラム。
JP2008138837A 2008-05-28 2008-05-28 メモリの内容を改竄する故障攻撃の検知方法、セキュリティデバイス及びコンピュータプログラム Active JP5200664B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008138837A JP5200664B2 (ja) 2008-05-28 2008-05-28 メモリの内容を改竄する故障攻撃の検知方法、セキュリティデバイス及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008138837A JP5200664B2 (ja) 2008-05-28 2008-05-28 メモリの内容を改竄する故障攻撃の検知方法、セキュリティデバイス及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2009288908A JP2009288908A (ja) 2009-12-10
JP5200664B2 true JP5200664B2 (ja) 2013-06-05

Family

ID=41458085

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008138837A Active JP5200664B2 (ja) 2008-05-28 2008-05-28 メモリの内容を改竄する故障攻撃の検知方法、セキュリティデバイス及びコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP5200664B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5454232B2 (ja) * 2010-03-04 2014-03-26 大日本印刷株式会社 Icチップ、icカード、制御方法及び制御プログラム
JP6175882B2 (ja) * 2013-04-30 2017-08-09 大日本印刷株式会社 情報記憶媒体、icカード、バイトコード実行方法
JP6201521B2 (ja) * 2013-08-23 2017-09-27 大日本印刷株式会社 情報記憶媒体、バイトコード実行方法、及び情報記憶媒体用プログラム
JP2015082233A (ja) * 2013-10-23 2015-04-27 大日本印刷株式会社 セキュリティトークンおよび処理ルーチンの実行方法
JP6424633B2 (ja) * 2015-01-08 2018-11-21 大日本印刷株式会社 電子情報記憶媒体、異常検知方法、及びプログラム
US10387298B2 (en) 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
US11544545B2 (en) 2017-04-04 2023-01-03 Hailo Technologies Ltd. Structured activation based sparsity in an artificial neural network
US11551028B2 (en) 2017-04-04 2023-01-10 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network
US11238334B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method of input alignment for efficient vector operations in an artificial neural network
US11615297B2 (en) 2017-04-04 2023-03-28 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network compiler
US11237894B1 (en) * 2020-09-29 2022-02-01 Hailo Technologies Ltd. Layer control unit instruction addressing safety mechanism in an artificial neural network processor
US11811421B2 (en) 2020-09-29 2023-11-07 Hailo Technologies Ltd. Weights safety mechanism in an artificial neural network processor
US11263077B1 (en) 2020-09-29 2022-03-01 Hailo Technologies Ltd. Neural network intermediate results safety mechanism in an artificial neural network processor
US11874900B2 (en) 2020-09-29 2024-01-16 Hailo Technologies Ltd. Cluster interlayer safety mechanism in an artificial neural network processor
US11221929B1 (en) 2020-09-29 2022-01-11 Hailo Technologies Ltd. Data stream fault detection mechanism in an artificial neural network processor
US11783026B2 (en) * 2021-01-05 2023-10-10 Nuvoton Technology Corporation Processor with in-band fault-injection detection

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2790844B1 (fr) * 1999-03-09 2001-05-25 Gemplus Card Int Procede et dispositif de surveillance du deroulement d'un programme, dispositif programme permettant la surveillance de son programme
JP3854572B2 (ja) * 2002-11-27 2006-12-06 株式会社エルイーテック マイクロプロセッサ
EP1450232A1 (fr) * 2003-02-18 2004-08-25 SCHLUMBERGER Systèmes Procede de securisation de l'execution de code contre des attaques
EP1538509A1 (fr) * 2003-12-04 2005-06-08 Axalto S.A. Procédé de sécurisation de l'éxécution d'un programme contre des attaques par rayonnement
JP5050893B2 (ja) * 2008-02-08 2012-10-17 大日本印刷株式会社 Icカードへの攻撃検知方法、icカードおよびicカード用プログラム

Also Published As

Publication number Publication date
JP2009288908A (ja) 2009-12-10

Similar Documents

Publication Publication Date Title
JP5200664B2 (ja) メモリの内容を改竄する故障攻撃の検知方法、セキュリティデバイス及びコンピュータプログラム
EP2519908B1 (en) Jcvm bytecode execution protection against fault attacks
KR102324328B1 (ko) 보안 요소
JP6922329B2 (ja) 故障利用攻撃に対しての耐タンパー性を持たせたセキュリティデバイス
US20060289656A1 (en) Portable electronic apparatus and data output method therefor
JP5050893B2 (ja) Icカードへの攻撃検知方法、icカードおよびicカード用プログラム
EP1739519A1 (en) Method to secure the execution of a program against attacks by radiation or other
US9912471B2 (en) Method for operating a portable data carrier, and such a portable data carrier
JP6424633B2 (ja) 電子情報記憶媒体、異常検知方法、及びプログラム
JP6769265B2 (ja) 電子情報記憶媒体、icカード、データ異常確認方法、及びデータ異常確認プログラム
US8528081B2 (en) Memory system
JP4899499B2 (ja) Icカード発行方法、icカード発行システムおよびicカード
JP2008204085A (ja) 半導体記憶装置
JP6175882B2 (ja) 情報記憶媒体、icカード、バイトコード実行方法
JP5131378B2 (ja) 携帯用セキュリティデバイス
JP6610002B2 (ja) 演算装置、演算方法、及び演算処理プログラム
JP5949357B2 (ja) セキュリティトークン、データ改竄検知方法およびコンピュータプログラム
JP2018163446A (ja) 電子情報記憶媒体、icカード、改竄チェック方法及び改竄チェック用プログラム
JP5082782B2 (ja) データ処理方法、icカードおよびicカードプログラム
JP6493672B2 (ja) 電子情報記憶媒体、異常検知方法、異常検知プログラム、及びicカード
JP5018199B2 (ja) 携帯用セキュリティデバイス
JP6287284B2 (ja) Icチップ及びプログラム暗号化方法
JP6136541B2 (ja) 情報記憶媒体及びバイトコード実行方法
JP2015082233A (ja) セキュリティトークンおよび処理ルーチンの実行方法
JP2009015434A (ja) 携帯可能情報処理装置及び情報処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110325

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121010

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121219

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: 20130115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130128

R150 Certificate of patent or registration of utility model

Ref document number: 5200664

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160222

Year of fee payment: 3