JP5293113B2 - SEMICONDUCTOR DEVICE, SEMICONDUCTOR DEVICE CONTROL METHOD, AND SEMICONDUCTOR DEVICE CONTROL PROGRAM - Google Patents

SEMICONDUCTOR DEVICE, SEMICONDUCTOR DEVICE CONTROL METHOD, AND SEMICONDUCTOR DEVICE CONTROL PROGRAM Download PDF

Info

Publication number
JP5293113B2
JP5293113B2 JP2008299696A JP2008299696A JP5293113B2 JP 5293113 B2 JP5293113 B2 JP 5293113B2 JP 2008299696 A JP2008299696 A JP 2008299696A JP 2008299696 A JP2008299696 A JP 2008299696A JP 5293113 B2 JP5293113 B2 JP 5293113B2
Authority
JP
Japan
Prior art keywords
data information
information
read command
data
semiconductor device
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
JP2008299696A
Other languages
Japanese (ja)
Other versions
JP2010128570A (en
Inventor
裕文 上口
正和 遠山
徹 館下
慎 竹内
充 渡部
隆志 桜井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2008299696A priority Critical patent/JP5293113B2/en
Publication of JP2010128570A publication Critical patent/JP2010128570A/en
Application granted granted Critical
Publication of JP5293113B2 publication Critical patent/JP5293113B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a semiconductor device for avoiding a malfunction caused by a laser attack, and to provide a method and a program for controlling the semiconductor device. <P>SOLUTION: The semiconductor device (101) for processing data information includes: a data information reading command processing means (102a) for processing a data information reading command; and a data information reading means (102b) for reading data information from the semiconductor device (101). The data information reading command processing means (102a) includes: argument converting means (S2, S20) for converting the argument of the data information reading command into the address information of the data information of the semiconductor device (101); and an argument input means (S3) for inputting values which are the same as the address information to the data information reading means (102b) as at least two or more arguments. <P>COPYRIGHT: (C)2010,JPO&amp;INPIT

Description

本発明は、本発明は、たとえば、書込み、書換え可能な不揮発性メモリおよびCPU(セントラル・プロセッシング・ユニット)などの制御素子を有するIC(集積回路)チップを内蔵し、外部装置から入力されるコマンド(命令)に基づき、各種処理を実行するICカードなどの半導体装置、半導体装置の制御方法および半導体装置の制御プログラムに関する。   The present invention incorporates an IC (integrated circuit) chip having a control element such as a writable and rewritable nonvolatile memory and a CPU (Central Processing Unit), for example, and a command input from an external device The present invention relates to a semiconductor device such as an IC card that executes various processes based on (command), a semiconductor device control method, and a semiconductor device control program.

最近、携帯可能電子装置として、不揮発性メモリとしてのEEPROM、揮発性メモリとしてのRAM、これらのメモリに対してアクセス(データの読出しおよびまたは書込み等)を行なう制御素子としてのCPU、および、CPUの動作用プログラム等を格納したROMを有し、外部から供給されるコマンド(命令)に基づきデータの書込みや読出し等を行なう手段を備えたICチップを内蔵したICカードが産業各方面で利用されている。   Recently, as a portable electronic device, an EEPROM as a nonvolatile memory, a RAM as a volatile memory, a CPU as a control element for accessing (reading or writing data, etc.) the memory, and the CPU An IC card having a ROM storing an operation program and the like and having an IC chip having means for writing and reading data based on a command (instruction) supplied from the outside is used in various industries. Yes.

一般に、この種のICカードは、外部装置(ICカードリーダ・ライタ)からのデータ
書込みコマンドを受信すると、当該コマンドに付加されたデータを不揮発性メモリのコマ
ンドで指定された領域に書込むようになっている。
In general, when this type of IC card receives a data write command from an external device (IC card reader / writer), the data added to the command is written to an area designated by the command of the nonvolatile memory. It has become.

また、外部装置からのデータ読出しコマンドを受信すると、対象となるデータを不揮発
性メモリから検索し、該当したデータが存在する場合、当該データをその先頭からデータ
長分、読出すようになっている。
When a data read command is received from an external device, the target data is retrieved from the nonvolatile memory, and when the corresponding data exists, the data is read from the head for the data length. .

近年、クレジットカード、キャッシュカードなど、高いセキュリティが必要とされる分
野を対象に、磁気カードに変わってICチップを搭載したICカードの普及が始まっている。このようなICチップを搭載したICカードは、外部の機器と接触もしくは非接触でデータの読み書きをするようになされる。また、データの授受を第3者に読み取られた際に解読を困難にするため、外部の機器とデータの読み書きする際にデータを暗号化して読み書きするようになされる。
In recent years, IC cards equipped with IC chips instead of magnetic cards have begun to spread in fields requiring high security, such as credit cards and cash cards. An IC card on which such an IC chip is mounted reads and writes data with or without contact with an external device. Further, in order to make it difficult to decode data when it is read and received by a third party, the data is encrypted and read / written when the data is read / written from / to an external device.

しかし、放射、フラッシュ、光、レーザー、グリッチ、またはそれ以外による攻撃によりプログラム命令の実行を妨げる攻撃が発生している。こうした攻撃は、実行される命令を変更し、結果としてプログラムの特定の部分の不実行または不正確な実行を生じる。   However, attacks that prevent execution of program instructions have occurred due to attacks by radiation, flash, light, laser, glitch, or otherwise. Such attacks change the instructions that are executed, resulting in inexecution or inaccurate execution of certain parts of the program.

プログラムを実行すると、たとえばレーザー、グリッチ、または電磁放射による攻撃が、プロセッサによって実行される命令コードを変更し、たとえばどの命令codopも、codop 00h(6805ではBRSET0、8051およびAVRではNOP)にコンバートする。すなわち、プログラム命令は、動作不能な命令で置き換えられる。したがって、コードの特定のセクションは、実行に失敗し、または不規則に実行し、たとえばスマートカード向けのオペレーティングシステムにおけるセキュリティ処理シーケンスではなく、動作不能な命令の実行となる。攻撃は、プロセッサ動作を妨げ、プログラムメモリ内での時機を失したジャンプを引き起こす場合がある。   When the program is executed, an attack by, for example, laser, glitch, or electromagnetic radiation changes the instruction code executed by the processor, eg, any instruction codeop is converted to codeop 00h (BRSET0 in 6805, NOP in AVR) . That is, the program instruction is replaced with an inoperable instruction. Thus, certain sections of code fail to execute or execute irregularly, resulting in the execution of inoperable instructions rather than a security processing sequence in an operating system for smart cards, for example. Attacks can interfere with processor operation and cause untimely jumps in program memory.

そこで、最近、ICカードの偽造や改竄のために内部の不揮発性メモリのデータを不
正に読出すなどのいわゆる、タンパ攻撃への対策のため様々な対応策(耐タンパ対策)が
考えられている。その中で、不揮発性メモリに書込まれるデータを二重化することで、デ
ータが改竄されたことを検知する手法がある(たとえば、特許文献1参照)。
Therefore, various countermeasures (anti-tamper countermeasures) have been considered recently for countermeasures against so-called tampering attacks such as illegally reading data in an internal nonvolatile memory for counterfeiting or falsification of IC cards. . Among them, there is a method of detecting that data has been tampered with by duplicating data written to the nonvolatile memory (see, for example, Patent Document 1).

また、命令コードそのものに対するチェックを実施する方法がある(たとえば、特許文献2参照)。
特開平4−339614号公報 特表2007−513422号公報
There is also a method for checking the instruction code itself (see, for example, Patent Document 2).
JP-A-4-339614 Special table 2007-513422 gazette

しかし、これまでは、命令コードそのものに対するチェックは実施をしていたが、命令を実行する値に関してのチェックは行われていなかった。   However, until now, the instruction code itself has been checked, but the value for executing the instruction has not been checked.

例えば、関数Aから関数Bを呼び出す瞬間にレーザー攻撃を受けた場合に、関数Bの引数aがレーザー攻撃によって変更された場合には、これまでは関数Bは誤動作を引き起こしていた(図9参照)。   For example, when the function A receives a laser attack at the moment of calling the function B, if the argument a of the function B is changed by the laser attack, the function B has caused a malfunction until now (see FIG. 9). ).

関数BがICカード内のあるデータを出力する機能を有する場合には、レーザー攻撃を受けた場合に、重要なデータをICカード外部に出力してしまう可能性があった。   When the function B has a function of outputting certain data in the IC card, there is a possibility that important data may be output outside the IC card when subjected to a laser attack.

そこで、本発明は、レーザー攻撃を受けた場合であっても、引数の2重化、またチェックコードを関数間で生成してチェックすることによってレーザー攻撃による誤動作を回避することが可能な半導体装置、半導体装置の制御方法および半導体装置の制御プログラムを提供することを目的とする。   Therefore, the present invention provides a semiconductor device capable of avoiding a malfunction due to a laser attack by duplicating arguments and generating a check code between functions even when a laser attack is received. An object of the present invention is to provide a semiconductor device control method and a semiconductor device control program.

上記課題を解決するため、本発明は次のような構成を採用する。   In order to solve the above problems, the present invention employs the following configuration.

すなわち、請求項1に係る発明は、データ情報を処理する半導体装置(101)において、前記データ情報として暗証情報を読み込むことを要求するコマンドであるデータ情報読み込みコマンドを処理するデータ情報読み込みコマンド処理手段(102a)と、前記データ情報読み込みコマンド処理手段(102a)からの要求に応じて前記データ情報を前記半導体装置(101)から読み込む、データ情報読み込み手段(102b)と、を備え、前記データ情報読み込みコマンド処理手段(102a)は、前記データ情報読み込みコマンドを受け付けると前記データ情報読み込みコマンドの引数を前記半導体装置(101)の前記データ情報のアドレス情報に変換する引数変換手段(S2、S20)と、前記アドレス情報と同じ値を少なくとも二つ以上の引数として、前記データ情報読み込み手段(102b)に入力する引数入力手段(S3)とを備え、前記データ情報読み込み手段(102b)は、入力された前記引数が同じ場合には前記引数で示される前記半導体装置(101)の前記アドレス情報から前記データ情報を読み出し(S8)、前記データ情報読み込みコマンド処理手段(102a)へ前記データ情報を出力し(S9)、前記引数が異なる場合には異常情報を前記データ情報読み込みコマンド処理手段(102a)へ出力する出力手段(S11)を備え、前記データ情報読み込みコマンド処理手段は、前記データ情報読み込みコマンドから暗証情報を取得し、当該取得した暗証情報と、前記データ情報読み込み手段から入力された前記データ情報とが一致しない場合には、前記データ情報読み込みコマンド処理手段を呼び出した処理手段へ異常情報を出力することを特徴とする。 That is, the invention according to claim 1 is a data information read command processing means for processing a data information read command which is a command for requesting to read personal identification information as the data information in the semiconductor device (101) for processing data information. (102a) and data information reading means (102b) for reading the data information from the semiconductor device (101) in response to a request from the data information reading command processing means (102a). The command processing means (102a), when receiving the data information read command, converts argument of the data information read command into address information of the data information of the semiconductor device (101), argument conversion means (S2, S20), Decrease the same value as the address information Also includes an argument input means (S3) for inputting to the data information reading means (102b) as two or more arguments, and the data information reading means (102b) When the data information is read from the address information of the semiconductor device (101) indicated by the argument (S8), the data information is output to the data information read command processing means (102a) (S9), and the arguments are different Includes an output means (S11) for outputting abnormality information to the data information read command processing means (102a) , wherein the data information read command processing means obtains password information from the data information read command, and obtains the obtained information. The password information does not match the data information input from the data information reading means. Expediently, and outputs the abnormality information to the processing means calls the data information read-command processing means.

さらに、請求項に係る発明は、請求項1に記載の半導体装置(101)おいて、前記データ情報読み込みコマンド処理手段(102a)は前記アドレス情報に基づいてチェックコード情報を生成し(S21)、前記引数入力手段は少なくとも一つ以上の前記チェックコード情報および前記アドレス情報を引数として、前記データ情報読み込み手段(102b)に入力し(S22)、前記データ情報読み込み手段(102b)は、前記アドレス情報に基づいて前記チェックコード情報を生成し(S26)、前記チェックコード情報と前記引数として入力された前記チェックコード情報とが異なる場合には、前記出力手段は、前記異常情報を前記データ情報読み込みコマンド処理手段(102a)へ出力する(S31)ことを特徴とする。 Further, according to a second aspect of the present invention, in the semiconductor device (101) according to the first aspect, the data information read command processing means (102a) generates check code information based on the address information (S21). The argument input means inputs at least one or more of the check code information and the address information to the data information reading means (102b) as arguments (S22), and the data information reading means (102b) The check code information is generated based on the information (S26), and when the check code information is different from the check code information input as the argument, the output means reads the abnormality information into the data information The data is output to the command processing means (102a) (S31).

さらに、請求項に係る発明は、請求項1に記載の半導体装置(101)おいて前記データ情報読み込みコマンド処理手段(102a)は前記暗証情報が記憶されているアドレス情報に基づいてチェックコード情報を生成し(S34)、前記引数入力手段は少なくとも一つ以上の前記チェックコード情報および前記暗証情報が記憶されている前記アドレス情報を引数として、前記データ情報読み込み手段(102b)に入力し(S35)、前記データ情報読み込みコマンド処理手段(102a)には、前記データ情報読み込み手段(102b)が出力した前記データ情報が入力され(S35)、前記暗証情報と入力された前記データ情報とが一致しない場合には(S36)前記データ情報読み込みコマンド処理手段(102a)を呼び出した処理手段へ前記異常情報を出力する(S39)ことを特徴とする。 Furthermore, the invention according to claim 3 is the semiconductor device (101) according to claim 1 , wherein the data information read command processing means (102a) is configured to check code based on address information in which the password information is stored. The information is generated (S34), and the argument input means inputs at least one of the check code information and the address information in which the password information is stored into the data information reading means (102b) as an argument ( In S35, the data information read command processing means (102a) receives the data information output from the data information reading means (102b) (S35), and the password information matches the input data information. If not (S36), the data information read command processing means (102a) is called. The outputs an abnormality information to the processing means (S39) that is characterized.

さらに、請求項に係る発明は、データ情報を処理する半導体装置(101)の制御方法において、前記データ情報として暗証情報を読み込むことを要求するコマンドであるデータ情報読み込みコマンドを処理するデータ情報読み込みコマンド処理工程(102a)と、前記データ情報読み込みコマンド処理工程(102a)における要求に応じて前記データ情報を前記半導体装置(101)から読み込む、読み込みデータ情報読み込み工程(102b)と、を備え、前記データ情報読み込みコマンド処理工程(102a)において、前記データ情報読み込みコマンドを受け付けると前記データ情報読み込みコマンドの引数を前記半導体装置(101)の前記データ情報のアドレス情報に変換する引数変換工程(S2、S20)と、前記アドレス情報と同じ値を少なくとも二つ以上の引数として、前記データ情報読み込み工程(102b)に対して入力する引数入力工程(S3)とを備え、前記データ情報読み込み工程(102b)において、入力された前記引数が同じ場合には前記引数で示される前記半導体装置(101)の前記アドレス情報から前記データ情報を読み出し(S8)、前記データ情報読み込みコマンド処理手段(102a)へ前記データ情報を出力(S9)し、前記引数が異なる場合には異常情報を前記データ情報読み込みコマンド処理工程へ出力する出力工程(S11)とを含み、前記データ情報読み込みコマンド処理工程において、前記データ情報読み込みコマンドから暗証情報を取得し、当該取得した暗証情報と、前記データ情報読み込み工程により入力された前記データ情報とが一致しない場合には、前記データ情報読み込みコマンド処理工程を呼び出した処理手段へ異常情報を出力することを特徴とする。 Furthermore, the invention according to claim 4 is a method for controlling a semiconductor device (101) for processing data information, wherein a data information reading command for processing a data information reading command which is a command for requesting reading of personal identification information as the data information. A command processing step (102a) and a read data information reading step (102b) for reading the data information from the semiconductor device (101) in response to a request in the data information reading command processing step (102a), In the data information read command processing step (102a), when the data information read command is received, the argument conversion step (S2, S20) converts the argument of the data information read command into the address information of the data information of the semiconductor device (101). ) And the ad An argument input step (S3) for inputting to the data information reading step (102b) with at least two arguments having the same value as the data information as an argument, and input in the data information reading step (102b) If the arguments are the same, the data information is read from the address information of the semiconductor device (101) indicated by the argument (S8), and the data information is output to the data information read command processing means (102a) (S9). And an output step (S11) for outputting abnormality information to the data information read command processing step when the arguments are different, and in the data information read command processing step, password information is obtained from the data information read command. Acquired and input the obtained personal identification information and the data information reading process The when said data information does not match, and outputs the abnormality information to the processing means calls the data information read command processing step.

さらに、請求項に係る発明は、データ情報を処理する半導体装置(101)に含まれるコンピュータを、前記データ情報として暗証情報を読み込むことを要求するコマンドであるデータ情報読み込みコマンドを処理するデータ情報読み込みコマンド処理手段(102a)、前記データ情報読み込みコマンド処理手段(102a)からの要求に応じて前記データ情報を前記半導体装置(101)から読み込む、読み込みデータ情報読み込み手段(102b)、として機能させ、前記データ情報読み込みコマンド処理手段(102a)は、前記データ情報読み込みコマンドを受け付けると前記データ情報読み込みコマンドの引数を前記半導体装置(101)の前記データ情報のアドレス情報に変換する引数変換手段(S2、S20)と、前記アドレス情報と同じ値を少なくとも二つ以上の引数として、前記データ情報読み込み手段(102b)に入力する引数入力手段(S3)として機能させ、前記データ情報読み込み手段(102b)は、入力された前記引数が同じ場合には前記引数で示される前記半導体装置(101)の前記アドレス情報から前記データ情報を読み出し(S8)、前記データ情報読み込みコマンド処理手段(102a)へ前記データ情報を出力し(S9)、前記引数が異なる場合には異常情報を前記データ情報読み込みコマンド処理手段(102a)へ出力する出力手段(S11)、として機能させ、前記データ情報読み込みコマンド処理手段が、前記データ情報読み込みコマンドから暗証情報を取得し、当該取得した暗証情報と、前記データ情報読み込み手段から入力された前記データ情報とが一致しない場合には、前記データ情報読み込みコマンド処理手段を呼び出した処理手段へ異常情報を出力するように機能させることを特徴とする。 Furthermore, the invention according to claim 5 is the data information for processing the data information read command which is a command for requesting the computer included in the semiconductor device (101) for processing the data information to read the personal identification information as the data information. A read command processing means (102a), which functions as read data information reading means (102b) for reading the data information from the semiconductor device (101) in response to a request from the data information read command processing means (102a); When the data information read command processing means (102a) receives the data information read command, the data information read command processing means (102a) converts the argument of the data information read command into address information of the data information of the semiconductor device (101) (S2, S20) The data information reading means (102b) functions as the argument input means (S3) for inputting the same value as the response information as at least two arguments to the data information reading means (102b). Are the same, the data information is read from the address information of the semiconductor device (101) indicated by the argument (S8), and the data information is output to the data information read command processing means (102a) (S9). When the arguments are different, function as output means (S11) for outputting abnormality information to the data information read command processing means (102a), and the data information read command processing means performs a password from the data information read command. Information is acquired, the acquired password information and the data information reading means When said data information is et input do not match, characterized by Rukoto to function so as to output the abnormality information to the data information processing unit calls the read command processing means.

さらに、請求項に係る発明では、請求項1乃至の何れか一項に記載の前記半導体装置(101)はIC(Integrate Circuit)チップ(102)を搭載したICカード(101)であることを特徴とする。 Further, in the invention according to claim 6 , the semiconductor device (101) according to any one of claims 1 to 3 is an IC card (101) on which an IC (Integrated Circuit) chip (102) is mounted. It is characterized by.

本発明によれば、引数に対してレーザー攻撃をされた場合であっても、引数を二重化しており二つの引数が等しい場合にのみデータ情報を読み出す正常動作をするので、レーザー攻撃による誤動作を回避することが可能になる。   According to the present invention, even when a laser attack is performed on an argument, a normal operation of reading data information is performed only when the argument is doubled and the two arguments are equal. It can be avoided.

また、本発明によれば、引数に対してレーザー攻撃をされた場合であっても、引数を二重化しており二つの引数が等しい場合にのみデータ情報を読み出す正常動作をするので、レーザー攻撃による誤動作を回避することが可能になる。   In addition, according to the present invention, even when a laser attack is performed on an argument, since the argument is duplicated and the normal operation of reading data information is performed only when the two arguments are equal, It becomes possible to avoid malfunction.

さらに、本発明によれば、引数に対してレーザー攻撃をされた場合であっても、関数を呼び出す側の処理において(関数を含む)引数はチェックコードを用いて異常動作検出を実行することが可能になっており、関数を呼び出す側の処理において(関数を含む)チェックコードが等しい場合にのみデータ情報を読み出す正常動作をするので、レーザー攻撃を検知することが可能になる。   Furthermore, according to the present invention, even when a laser attack is performed on an argument, the argument (including the function) can execute an abnormal operation detection using a check code in the process of calling the function. Since the normal operation of reading the data information is performed only when the check code (including the function) is the same in the process of calling the function, the laser attack can be detected.

以下、図面を参照して本発明を実施するための最良の形態について説明する。   The best mode for carrying out the present invention will be described below with reference to the drawings.

但し、本発明は多くの異なる態様で実施することが可能であり、本発明の趣旨及びその範囲から逸脱することなくその形態及び詳細を様々に変更し得ることは当業者であれば容易に理解される。従って、本実施の形態の記載内容に限定して解釈されるものではない。なお、実施の形態を説明するための全図において、同一部分又は同様な機能を有する部分には同一の符号を付し、その繰り返しの説明は省略する。   However, the present invention can be implemented in many different modes, and those skilled in the art can easily understand that the modes and details can be variously changed without departing from the spirit and scope of the present invention. Is done. Therefore, the present invention is not construed as being limited to the description of this embodiment mode. Note that in all the drawings for describing the embodiments, the same portions or portions having similar functions are denoted by the same reference numerals, and repetitive description thereof is omitted.

(実施の形態1)
本実施の形態では、本発明におけるレーザー攻撃を阻止する機能を実現するための装置構成及び、フローチャートについて説明する。
(Embodiment 1)
In this embodiment, an apparatus configuration and a flowchart for realizing a function of preventing a laser attack in the present invention will be described.

図1に本発明におけるレーザー攻撃を阻止する機能を搭載する対象であるICチップを含むICカードのブロック図を示す。   FIG. 1 shows a block diagram of an IC card including an IC chip which is a target to be equipped with a function for preventing a laser attack in the present invention.

図1において、ICカード101は、演算回路106、アナログ部115を有する。演算回路106は、CPU102(Central Processing Unit;中央処理装置ともいう。またMPU(microprocessor)ともいう。)、ROM103(Read Only Memory;読み出し専用メモリともいう)、RAM104(Random Access Memory;ランダムアクセスメモリともいう)、補助演算装置124、フラッシュメモリ等の不揮発性メモリ125、コントローラ105を有する。また、アナログ部115は、アンテナ107、共振回路108、電源回路109、リセット回路110、クロック生成回路111、復調回路112、変調回路113、電源管理回路114を有する。また、コントローラ105は、CPUインターフェース116(CPUIF)、制御レジスタ117、コード抽出回路118、符号化回路119より構成される。なお、図1では、説明の簡略化のため通信信号として、受信信号120と送信信号121とに分けて示したが、実際には両者は重ね合わされており、ICカード101及びリーダライタ装置の間で同時に送受信される。受信信号120は、アンテナ107と共振回路108とで受信された後、復調回路112により復調される。また、送信信号121は、変調回路113により変調された後、アンテナ107より送信される。なお、受信信号及び送信信号とは、ICカード側を主体とした表現であり、ICカードが外部からの信号を受信、外部に信号を送信するものであることを付記する。本明細書においては、リーダライタよりICカードが受信する信号、換言すればリーダライタが送信する信号のことを外部からの信号といい、外部からの信号をICカードが受信及びリーダライタが送信することを外部からの信号の送受信という。   In FIG. 1, the IC card 101 includes an arithmetic circuit 106 and an analog unit 115. The arithmetic circuit 106 includes a CPU 102 (also referred to as a central processing unit; also referred to as an MPU (micro processor)), a ROM 103 (also referred to as a read only memory), and a RAM 104 (random access memory). An auxiliary arithmetic unit 124, a non-volatile memory 125 such as a flash memory, and a controller 105. The analog unit 115 includes an antenna 107, a resonance circuit 108, a power supply circuit 109, a reset circuit 110, a clock generation circuit 111, a demodulation circuit 112, a modulation circuit 113, and a power management circuit 114. The controller 105 includes a CPU interface 116 (CPUIF), a control register 117, a code extraction circuit 118, and an encoding circuit 119. In FIG. 1, for the sake of simplification of explanation, the received signal 120 and the transmitted signal 121 are shown separately as communication signals. However, in actuality, they are superimposed on each other between the IC card 101 and the reader / writer device. Are sent and received at the same time. The reception signal 120 is received by the antenna 107 and the resonance circuit 108 and then demodulated by the demodulation circuit 112. The transmission signal 121 is transmitted from the antenna 107 after being modulated by the modulation circuit 113. Note that the received signal and the transmitted signal are expressions mainly on the IC card side, and it is added that the IC card receives an external signal and transmits the signal to the outside. In this specification, the signal received by the IC card from the reader / writer, in other words, the signal transmitted by the reader / writer is called an external signal, and the IC card receives the external signal and the reader / writer transmits it. This is called external signal transmission / reception.

なお、図1は非接触の場合について説明しているが、「アナログ部(115)+コード抽出回路(118)+符号化回路(119)」を「入出力部」と考えれば、図1の全体は接触ICカードと考えることができる。このように、本実施形態は非接触ICカードとしてだけではなく接触ICカードの実施形態と考えることもできる。   Although FIG. 1 illustrates the case of non-contact, if “analog portion (115) + code extraction circuit (118) + encoding circuit (119)” is considered as “input / output portion”, FIG. The whole can be considered as a contact IC card. Thus, this embodiment can be considered not only as a non-contact IC card but also as an embodiment of a contact IC card.

また、ROM103は、リーダライタから受信した受信データを処理する際に機能するプログラム(レーザー攻撃阻止プログラムである本実施形態に係わるデータ情報読み込みコマンド処理手段(102a)の一部である関数A、データ情報読み込み処理手段としての関数B、データ情報読み込みコマンド処理手段(102a)の一部である関数C)が格納され、RAM104にはプログラムが機能した際の処理データが格納される。ROM103にはマスクROM等があり、RAM104にはスタティック型メモリ(SRAM)やダイナミック型メモリ(DRAM)等があり、不揮発性メモリ125にはNAND型フラッシュメモリ、NOR型フラッシュメモリ等のフラッシュメモリがある。不揮発性メモリ125には、履歴等のデータ、暗証番号等の情報が記憶され、レーザー攻撃の対象となり得るデータが記憶(格納)されている。   The ROM 103 is a program that functions when processing the received data received from the reader / writer (function A, data that is part of the data information read command processing means (102a) according to the present embodiment, which is a laser attack prevention program). Function B as information reading processing means and function C as a part of data information reading command processing means (102a) are stored, and RAM 104 stores processing data when the program functions. The ROM 103 includes a mask ROM, the RAM 104 includes a static memory (SRAM), a dynamic memory (DRAM), and the like, and the nonvolatile memory 125 includes a flash memory such as a NAND flash memory and a NOR flash memory. . The nonvolatile memory 125 stores data such as history, information such as a password, and stores (stores) data that can be a target of a laser attack.

また、記憶領域に設けられるべきROM103および/またはRAM104の代わりに記憶領域を不揮発性メモリ125で構成することも可能である。   It is also possible to configure the storage area with a nonvolatile memory 125 instead of the ROM 103 and / or the RAM 104 to be provided in the storage area.

例えば、レーザー攻撃から情報を保護する本実施形態に係わる関数A、関数B、関数Cを不揮発性メモリ125に記憶し、関数A、関数B、関数Cに不具合が発生した場合には外部からいつでも自由に関数A、関数B、関数Cを書き換え可能に構成することができる。   For example, the function A, function B, and function C according to this embodiment for protecting information from laser attacks are stored in the non-volatile memory 125, and when a malfunction occurs in the function A, function B, or function C, it is always possible from the outside. The function A, the function B, and the function C can be freely rewritten.

また図2には、ROM103に記憶されている、RAM104のアドレス空間を示す。ROM103にはレーザー攻撃阻止プログラムである本実施形態に係わるデータ情報読み込みコマンド処理手段(102a)の一部である関数A、データ情報読み込み処理手段としての関数B、データ情報読み込みコマンド処理手段(102a)の一部である関数Cが記憶されているが、これらの関数はCPU102上で実行されるので、図2には、CPU102上に展開されたデータ情報読み込みコマンド処理手段(102a)およびデータ情報読み込み処理手段(102b)としての関数A,関数B、関数Cを示した。   FIG. 2 shows the address space of the RAM 104 stored in the ROM 103. The ROM 103 includes a function A which is a part of the data information reading command processing means (102a) according to the present embodiment, which is a laser attack prevention program, a function B as the data information reading processing means, and a data information reading command processing means (102a). Are stored in the function C, but these functions are executed on the CPU 102. FIG. 2 shows the data information read command processing means (102a) developed on the CPU 102 and the data information read. Function A, function B, and function C as the processing means (102b) are shown.

これらの関数A,関数B、関数Cの動作については、後述するフローチャートでさらに詳細に説明することにする。   The operations of these functions A, B, and C will be described in more detail in the flowcharts described later.

また、後述するフローチャートで説明される不揮発性メモリ125領域に記憶されるレーザー攻撃の対象となるデータ(履歴等)と暗証番号情報をアドレスと共に示した。   In addition, the data (history etc.) and the code number information that are targets of laser attack stored in the non-volatile memory 125 area described in the flowchart described later are shown together with the address.

RAM104は、送信データレジスタ203、受信データレジスタ204を有する。送信データレジスタ203は、ICカードが送信するデータを格納する機能を有する。受信データレジスタ204は、ICカードが受信したデータを格納する機能を有する。RAM104は、ROM103に比べて情報量が少ないため、その面積は小さい。   The RAM 104 has a transmission data register 203 and a reception data register 204. The transmission data register 203 has a function of storing data transmitted by the IC card. The reception data register 204 has a function of storing data received by the IC card. Since the RAM 104 has a smaller amount of information than the ROM 103, its area is small.

また、リーダライタからICカードに送信される信号、換言するとICカードが受信する信号の構成の一例について説明する。受信信号は、SOF(Start Of Frame;フレームの開始)、フラグ、コマンド、データ、CRC(cyclic redundancy check、巡回冗長検査ともいう)、EOF(End Of Frame;フレームの終了)を有する信号である。SOF,EOFは単に信号の開始と終了を示すものである。フラグはASK、FSK等の変調の種類の情報を有する。データには、暗号解読するデータが含まれる。CRCはデータの誤認を防止するためにデータより生成される固有のコードの情報を有する。   An example of a configuration of a signal transmitted from the reader / writer to the IC card, in other words, a signal received by the IC card will be described. The received signal is a signal having SOF (Start Of Frame; start of frame), flag, command, data, CRC (also referred to as cyclic redundancy check), EOF (End Of Frame; end of frame). SOF and EOF simply indicate the start and end of the signal. The flag has modulation type information such as ASK and FSK. The data includes data to be decrypted. The CRC has information on a unique code generated from the data in order to prevent misidentification of the data.

[実施形態1]
次に、図2におけるCPU102でのレーザー攻撃を阻止する機能をもつプログラムの動作を、図3乃至図6のフローチャートと対応させながら説明する。
[Embodiment 1]
Next, the operation of the program having the function of preventing the laser attack in the CPU 102 in FIG. 2 will be described in correspondence with the flowcharts in FIGS.

図3は、本実施形態のデータ情報読み込みコマンド処理手段の一部である関数Aの動作を示すフローチャートである。関数Aは、データ読み込みコマンドを処理する関数であり、引数として読み込みたいファイル名を持つ。   FIG. 3 is a flowchart showing the operation of the function A which is a part of the data information read command processing means of this embodiment. The function A is a function for processing a data read command, and has a file name to be read as an argument.

ステップS1において、データ情報読み込みコマンド処理手段としての関数Aは、データ読み込みコマンドから引数として読み込みたいファイル名を取得し、データの読み込み動作を開始する。   In step S1, the function A as the data information read command processing means acquires a file name to be read as an argument from the data read command, and starts a data read operation.

ステップS2において、データ情報読み込みコマンド処理手段としての関数Aは、読み込みたいファイル名を不揮発性メモリ125のアドレス(100)へ変換する。   In step S2, the function A as the data information read command processing means converts the file name to be read into the address (100) of the nonvolatile memory 125.

ステップS3において、引数A=100、引数B=100を設定し、データ情報読み込み処理手段としての関数Bを呼び出す。   In step S3, an argument A = 100 and an argument B = 100 are set, and a function B as a data information reading processing unit is called.

ステップS4において、データ情報読み込み処理手段としての関数Bからデータ情報を取得し、取得したデータを出力し、出力処理を実行する。   In step S4, data information is acquired from the function B as the data information reading processing means, the acquired data is output, and output processing is executed.

ステップS4において、データ読み込みコマンドにCPU102の動作を移す。   In step S4, the operation of the CPU 102 is shifted to a data read command.

図4は、引数を二重化した本実施形態のデータ情報読み込み処理手段である関数Bの動作を示すフローチャートである。関数Bは、二重化した引数がレーザー攻撃を受けて変化していた場合には異常終了する機能を有する。   FIG. 4 is a flowchart showing the operation of the function B which is the data information reading processing means of the present embodiment in which arguments are duplicated. The function B has a function of abnormally ending when the duplicated argument is changed by a laser attack.

ステップS6において、データ情報読み込み処理手段としての関数Bは、データ情報読み込みコマンド処理手段である関数Aまたは関数Cから呼び出され、引数Aおよび引数Bを取得する。   In step S6, the function B as the data information reading processing means is called from the function A or the function C that is the data information reading command processing means, and acquires the argument A and the argument B.

ステップS7において、データ情報読み込み処理手段としての関数Bは、取得した引数Aの値および引数Bの値を比較する。引数Aの値および引数Bの値が一致した場合(ステップS7:YES)にはステップS8に進み、引数Aの値および引数Bの値が一致しない場合(ステップS7:NO)にはステップS10に進む。   In step S7, the function B as the data information reading processing means compares the acquired value of the argument A and the value of the argument B. If the value of argument A matches the value of argument B (step S7: YES), the process proceeds to step S8. If the value of argument A does not match the value of argument B (step S7: NO), the process proceeds to step S10. move on.

ステップS8において、データ情報読み込み処理手段としての関数Bは引数で指定されたアドレス(100)からデータ情報を読み込む。   In step S8, the function B as the data information reading processing means reads data information from the address (100) specified by the argument.

ステップS9において、データ情報読み込み処理手段としての関数Bは、ステップS8において読み込んだデータ情報をデータ情報読み込み処理コマンド手段としての関数Aまたは関数Cへ出力(返却)する出力(返却)処理を実行する。   In step S9, the function B as the data information reading processing means executes an output (return) process for outputting (returning) the data information read in step S8 to the function A or the function C as the data information reading processing command means. .

ステップS10において、データ情報読み込み処理コマンド手段としての関数Aまたは関数CへCPU102の動作を移す。   In step S10, the operation of the CPU 102 is transferred to the function A or function C as data information read processing command means.

ステップS11において、データ情報読み込み処理手段としての関数Bは、異常情報をデータ情報読み込み処理コマンド手段としての関数Aまたは関数Cへ出力する出力処理を実行する。   In step S11, the function B as the data information reading processing means executes an output process for outputting the abnormality information to the function A or the function C as the data information reading processing command means.

図5は、本実施形態のデータ情報読み込みコマンド処理手段の一部であり、暗証番号情報を比較する暗証番号情報比較関数としての関数Cの動作を示すフローチャートである。関数Cは、読み出した二重化された暗証番号情報がレーザー攻撃を受けて変化していた場合には異常終了する機能を有する。   FIG. 5 is a flowchart showing the operation of the function C, which is a part of the data information read command processing means of the present embodiment and serves as a password information comparison function for comparing password information. The function C has a function of abnormally ending when the read duplex password information has been changed by a laser attack.

ステップS12において、データ情報読み込みコマンド処理手段としての関数Cは、データ読み込みコマンドから暗証番号情報の照会処理の実行命令を取得する。   In step S12, the function C as the data information read command processing means obtains an execution instruction for the inquiry process of the personal identification number information from the data read command.

ステップS13において、データ読み込みコマンドから暗証番号情報を取得する。   In step S13, personal identification number information is acquired from the data read command.

ステップS14において、引数A=200、引数B=200を設定し、データ情報読み込み処理手段としての関数Bを呼び出す。   In step S14, an argument A = 200 and an argument B = 200 are set, and a function B as a data information reading processing unit is called.

ステップS15において、データ情報読み込みコマンド処理手段としての関数CはステップS13において取得した暗証番号情報と、ステップS14において、データ情報読み込み処理手段としての関数Bから取得した暗証番号情報としての暗証番号情報とが一致するか否かを判断する。ステップS13において取得した暗証番号情報と、ステップS14において、データ情報読み込み処理手段としての関数Bから取得した暗証番号情報としての暗証番号情報とが一致する場合(ステップS15:YES)にはステップS16に進み、一致しない場合(ステップS15:NO)にはステップS18に進む。   In step S15, the function C as the data information reading command processing means includes the personal identification number information acquired in step S13, and in step S14, the personal identification number information as the personal identification number information acquired from the function B as the data information reading processing means. It is judged whether or not. If the personal identification number information acquired in step S13 matches the personal identification number information as the personal identification number information acquired from the function B as the data information reading processing means in step S14 (step S15: YES), the process proceeds to step S16. If it does not match (step S15: NO), the process proceeds to step S18.

ステップS16において、ステップS12においてデータ情報読み込みコマンド処理手段としての関数Cを呼び出したデータ読み込みコマンド処理へ暗証番号情報が一致した(暗証番号情報の照会が成功した)情報を返却する。   In step S16, the information on which the code number information is identical (successful inquiry of the code number information) is returned to the data read command process that called the function C as the data information read command processing means in step S12.

ステップS17において、ステップS12においてデータ情報読み込みコマンド処理手段としての関数Cを呼び出したデータ読み込みコマンドにCPU102の動作を移す。   In step S17, the operation of the CPU 102 is shifted to the data read command that calls the function C as the data information read command processing means in step S12.

ステップS18において、データ情報読み込みコマンド処理手段としての関数Cは、異常情報(暗証番号情報が一致しないことを示す情報)をデータ読み込みコマンド処理へ出力する出力処理を実行する。   In step S18, the function C as the data information read command processing means executes an output process for outputting the abnormal information (information indicating that the personal identification number information does not match) to the data read command process.

なお、本実施の形態は、本明細書中の他の実施の形態の記載とも適宜組み合わせて実施することが可能である。   Note that this embodiment can be implemented in combination with any of the other embodiments in this specification as appropriate.

[実施形態2]
次に、図2におけるCPU102でのレーザー攻撃を阻止する機能をもつプログラムの動作の中でチェックコードを付与した場合の動作を、実施形態2として図6乃至図9のフローチャートと対応させながら説明する。
[Embodiment 2]
Next, the operation when a check code is added in the operation of the program having a function of preventing the laser attack in the CPU 102 in FIG. 2 will be described as the second embodiment in correspondence with the flowcharts of FIGS. .

図6は、本実施形態のデータ情報読み込みコマンド処理手段の一部である関数Aにおいてチェックコードを付与する場合の動作を示すフローチャートである。関数Aは、データ読み込みコマンドを処理する関数であり、引数として読み込みたいファイル名を持つとともにチェックコードを算出する。   FIG. 6 is a flowchart showing an operation when a check code is given in the function A which is a part of the data information read command processing means of this embodiment. The function A is a function for processing a data read command, and has a file name to be read as an argument and calculates a check code.

ステップS19において、データ情報読み込みコマンド処理手段としての関数Aは、データ読み込みコマンドから引数として読み込みたいファイル名を取得し、データの読み込み動作を開始する。   In step S19, the function A as the data information read command processing means acquires a file name to be read as an argument from the data read command, and starts a data read operation.

ステップS20において、データ情報読み込みコマンド処理手段としての関数Aは、読み込みたいファイル名を不揮発性メモリ125のアドレス(100)へ変換する。   In step S20, the function A as the data information read command processing means converts the file name to be read into the address (100) of the nonvolatile memory 125.

ステップS21において、データ情報読み込みコマンド処理手段としての関数Aは、アドレス(100)のチェックコードを算出(生成)する。   In step S21, the function A as the data information read command processing means calculates (generates) a check code at the address (100).

ステップS22において、引数A=100、引数B=(ステップS21において算出したチェックコード)を設定し、データ情報読み込み処理手段としての関数Bを呼び出す。   In step S22, an argument A = 100 and an argument B = (check code calculated in step S21) are set, and a function B as data information reading processing means is called.

ステップS23において、データ情報読み込み処理手段としての関数Bからデータ情報を取得し、取得したデータを出力し、出力処理を実行する。   In step S23, the data information is acquired from the function B as the data information reading processing means, the acquired data is output, and the output process is executed.

ステップS24において、データ読み込みコマンドにCPU102の動作を移す。   In step S24, the operation of the CPU 102 is shifted to a data read command.

図7は、チェックコードを付与した本実施形態のデータ情報読み込み処理手段である関数Bの動作を示すフローチャートである。関数Bは、チェックコードがレーザー攻撃を受けて変化していた場合には異常終了する機能を有する。   FIG. 7 is a flowchart showing the operation of the function B which is the data information reading processing means of this embodiment to which a check code is assigned. The function B has a function of terminating abnormally when the check code has been changed due to a laser attack.

ステップS25において、データ情報読み込み処理手段としての関数Bは、データ情報読み込みコマンド処理手段である関数Aまたは関数Cから呼び出され、引数Aおよび引数Bを取得する。   In step S25, the function B as the data information reading processing means is called from the function A or the function C that is the data information reading command processing means, and acquires the argument A and the argument B.

ステップS26において、データ情報読み込み処理手段としての関数Bは、アドレス(100)のチェックコードを算出(生成)する。   In step S26, the function B as the data information reading processing means calculates (generates) a check code at the address (100).

ステップS27において、データ情報読み込み処理手段としての関数Bは、ステップS25において算出したチェックコードと引数Bの値(ステップS25において取得したチェックコード)とを比較する。ステップS25において算出したチェックコードと引数Bの値が一致した場合(ステップS27:YES)にはステップS28に進み、ステップS25において算出したチェックコードと引数Bの値が一致しない場合(ステップS27:NO)にはステップS31に進む。   In step S27, the function B as the data information reading processing means compares the check code calculated in step S25 with the value of the argument B (check code acquired in step S25). If the check code calculated in step S25 matches the value of argument B (step S27: YES), the process proceeds to step S28, and if the check code calculated in step S25 does not match the value of argument B (step S27: NO). ) Proceeds to step S31.

ステップS28において、データ情報読み込み処理手段としての関数Bは引数で指定されたアドレス(100)からデータ情報を読み込む。   In step S28, the function B as the data information reading processing means reads data information from the address (100) designated by the argument.

ステップS29において、データ情報読み込み処理手段としての関数Bは、ステップS28において読み込んだデータ情報をデータ情報読み込み処理コマンド手段としての関数Aまたは関数Cへ出力(返却)する出力(返却)処理を実行する。   In step S29, the function B as the data information reading processing means executes an output (return) process for outputting (returning) the data information read in step S28 to the function A or the function C as the data information reading processing command means. .

ステップS30において、データ情報読み込み処理コマンド手段としての関数Aまたは関数CへCPU102の動作を移す。   In step S30, the operation of the CPU 102 is transferred to the function A or the function C as the data information reading process command means.

ステップS31において、データ情報読み込み処理手段としての関数Bは、異常情報をデータ情報読み込み処理コマンド手段としての関数Aまたは関数Cへ出力する出力処理を実行する。   In step S31, the function B as the data information reading processing means executes an output process for outputting the abnormality information to the function A or the function C as the data information reading processing command means.

図8は、本実施形態のデータ情報読み込みコマンド処理手段の一部であり、暗証番号情報を比較する暗証番号情報比較関数としての関数Cの動作であってチェックコードを付与した場合を示すフローチャートである。関数Cは、読み出したチェックコードがレーザー攻撃を受けて変化していた場合には異常終了する機能を有する。   FIG. 8 is a flowchart showing a part of the data information reading command processing means of the present embodiment, which is an operation of the function C as a personal identification number information comparison function for comparing personal identification number information and a check code is given. is there. The function C has a function of terminating abnormally when the read check code has been changed by a laser attack.

ステップS32において、データ情報読み込みコマンド処理手段としての関数Cは、データ読み込みコマンドから暗証番号情報の照会処理の実行命令を取得する。   In step S32, the function C as the data information read command processing means obtains an execution instruction for the reference number information inquiry process from the data read command.

ステップS33において、データ読み込みコマンドから暗証番号情報を取得する。   In step S33, personal identification number information is acquired from the data read command.

ステップS34において、データ情報読み込みコマンド処理手段としての関数Cは、アドレス(200)のチェックコードを算出(生成)する。   In step S34, the function C as the data information read command processing means calculates (generates) a check code at the address (200).

ステップS35において、引数A=200、引数B=アドレス(200)のチェックコードを設定し、データ情報読み込み処理手段としての関数Bを呼び出す。   In step S35, a check code of argument A = 200, argument B = address (200) is set, and function B as data information reading processing means is called.

ステップS36において、データ情報読み込みコマンド処理手段としての関数CはステップS33において取得した暗証番号情報と、ステップS35において、データ情報読み込み処理手段としての関数Bから取得した暗証番号情報とが一致するか否かを判断する。ステップS33において取得した暗証番号情報と、ステップS35において、データ情報読み込み処理手段としての関数Bから取得した暗証番号情報とが一致する場合(ステップS36:YES)にはステップS37に進み、一致しない場合(ステップS36:NO)にはステップS39に進む。   In step S36, the function C as the data information reading command processing means matches the personal identification number information acquired in step S33 with the personal identification number information acquired from the function B as the data information reading processing means in step S35. Determine whether. If the personal identification number information acquired in step S33 matches the personal identification number information acquired from function B as the data information reading processing means in step S35 (step S36: YES), the process proceeds to step S37. In (Step S36: NO), the process proceeds to Step S39.

ステップS37において、ステップS32においてデータ情報読み込みコマンド処理手段としての関数Cを呼び出したデータ読み込みコマンド処理へ暗証番号情報が一致した(暗証番号情報の照会が成功した)情報を返却する。   In step S37, the information on which the personal identification number information is identical (successful inquiry of the personal identification number information) is returned to the data reading command processing that called the function C as the data information reading command processing means in step S32.

ステップS38において、ステップS32においてデータ情報読み込みコマンド処理手段としての関数Cを呼び出したデータ読み込みコマンドにCPU102の動作を移す。   In step S38, the operation of the CPU 102 is shifted to the data read command that calls the function C as the data information read command processing means in step S32.

ステップS39において、データ情報読み込みコマンド処理手段としての関数Cは、異常情報(暗証番号情報が一致しないことを示す情報)をデータ読み込みコマンド処理へ出力する出力処理を実行する。   In step S39, the function C as the data information read command processing means executes an output process for outputting the abnormality information (information indicating that the personal identification number information does not match) to the data read command process.

なお、本実施の形態は、本明細書中の他の実施の形態の記載とも適宜組み合わせて実施することが可能である。   Note that this embodiment can be implemented in combination with any of the other embodiments in this specification as appropriate.

以上のように、本発明のレーザー攻撃を阻止する機能を有するICチップにおいて、レーザー攻撃を阻止する方法が変更になることに伴う仕様の変更により、ICチップのマスク設計の段階から作り直す必要がなくなった。そのために、製造コストの削減及び製造時間の短縮ができる。また、マスク設計の変更によって再度作り直したICチップに不具合が生じているといった懸念もない。   As described above, in the IC chip having the function of preventing the laser attack according to the present invention, it is not necessary to recreate the IC chip from the mask design stage due to the change in the specification accompanying the change in the method of preventing the laser attack. It was. Therefore, the manufacturing cost can be reduced and the manufacturing time can be shortened. Further, there is no concern that the IC chip that has been remade due to the change in the mask design has a defect.

さらに、従来においては、レーザー攻撃を阻止する機能を有するICチップを製造する際においては、レーザー攻撃を阻止する回路を搭載することもあった。しかしながら、本発明を採用することで、レーザー攻撃を阻止する機能を読み出し専用メモリまたは不揮発性メモリにプログラムとして格納することにより、別途レーザー攻撃を阻止する機能を備えた回路を設ける場合より、ICチップを小型化することができる。そのため、ICチップの軽量化、1枚の基板から作製できるICチップの数の増加に伴うコストの削減、またレーザー攻撃を阻止する機能を備えた回路の分だけ、トランジスタ数が減少することによる歩留まりの向上に貢献することができる。   Further, conventionally, when manufacturing an IC chip having a function of preventing a laser attack, a circuit for preventing the laser attack is sometimes mounted. However, by adopting the present invention, the function of preventing the laser attack is stored as a program in a read-only memory or a non-volatile memory, so that an IC chip is provided rather than a case where a circuit having a function of preventing the laser attack is provided separately. Can be miniaturized. For this reason, the yield due to the reduction in the number of transistors by the weight reduction of the IC chip, the cost reduction accompanying the increase in the number of IC chips that can be manufactured from one substrate, and the circuit having the function of preventing the laser attack. It can contribute to improvement.

以上のように、本発明の半導体装置は物品であればどのようなものにでも設けて使用し
てもよく、ほかにも免許証、保険証、定期券、キャッシュカード、クレジットカード、電
子キー、電子マネー等に使用することができる。
As described above, the semiconductor device of the present invention may be provided and used in any goods, in addition to a license, insurance card, commuter pass, cash card, credit card, electronic key, It can be used for electronic money.

なお、図3乃至図8における動作手順を、ハードディスク等の記録媒体に予め記録しておき、或いはインターネット等のネットワークを介して予め記録しておき、これを汎用のマイクロコンピュータ等により読み出して実行することにより、当該汎用のマイクロコンピュータ等を実施形態に係わるCPUとして機能させることも可能である。   3 to 8 are recorded in advance on a recording medium such as a hard disk or recorded in advance via a network such as the Internet, and this is read out and executed by a general-purpose microcomputer or the like. Accordingly, it is possible to cause the general-purpose microcomputer or the like to function as the CPU according to the embodiment.

さらに、本発明は上記実施の形態1及び2に限定されるものではなく、本発明の要旨の範囲内において種々変更可能である。   Furthermore, the present invention is not limited to the first and second embodiments, and various modifications can be made within the scope of the gist of the present invention.

さらに、本明細書に記載および図示されている実施形態は具体例としてのものであるに過ぎず、本発明の範囲を限定するものと考えるべきではないと理解すべきである。本発明の精神および範囲にしたがって上述以外の変更および修正を施すことも可能である。   Further, it is to be understood that the embodiments described and illustrated herein are exemplary only and should not be considered as limiting the scope of the present invention. Other changes and modifications may be made in accordance with the spirit and scope of the invention.

本発明の実施形態に係る半導体装置(101)の全体を示すブロック図である。It is a block diagram which shows the whole semiconductor device (101) which concerns on embodiment of this invention. 本発明の実施形態に係る関数の機能概要を示す図である。It is a figure which shows the function outline | summary of the function which concerns on embodiment of this invention. 本発明の実施形態1に係る関数Aの動作を示すフローチャートである。It is a flowchart which shows operation | movement of the function A which concerns on Embodiment 1 of this invention. 本発明の実施形態1に係る関数B動作を示すフローチャートである。It is a flowchart which shows the function B operation | movement which concerns on Embodiment 1 of this invention. 本発明の実施形態1に係る関数Cの動作を示すフローチャートである。It is a flowchart which shows operation | movement of the function C which concerns on Embodiment 1 of this invention. 本発明の実施形態2に係る関数Aの動作を示すフローチャートである。It is a flowchart which shows operation | movement of the function A which concerns on Embodiment 2 of this invention. 本発明の実施形態2に係る関数B動作を示すフローチャートである。It is a flowchart which shows the function B operation | movement which concerns on Embodiment 2 of this invention. 本発明の実施形態2に係る関数Cの動作を示すフローチャートである。It is a flowchart which shows operation | movement of the function C which concerns on Embodiment 2 of this invention. 本発明に係わるレーザー攻撃の概念を示す図である。It is a figure which shows the concept of the laser attack concerning this invention.

符号の説明Explanation of symbols

101 ICカード
106 演算回路
102 CPU102
103 ROM
104 RAM
105 コントローラ
107 アンテナ
108 共振回路
109 電源回路
112 復調回路
113 変調回路
114 電源管理回路
115 アナログ部
125 フラッシュメモリ等の不揮発性メモリ
101 IC card 106 arithmetic circuit 102 CPU 102
103 ROM
104 RAM
DESCRIPTION OF SYMBOLS 105 Controller 107 Antenna 108 Resonance circuit 109 Power supply circuit 112 Demodulation circuit 113 Modulation circuit 114 Power management circuit 115 Analog part 125 Non-volatile memory such as flash memory

Claims (6)

データ情報を処理する半導体装置において、
前記データ情報として暗証情報を読み込むことを要求するコマンドであるデータ情報読み込みコマンドを処理するデータ情報読み込みコマンド処理手段と、
前記データ情報読み込みコマンド処理手段からの要求に応じて前記データ情報を前記半導体装置から読み込む、データ情報読み込み手段と、を備え、
前記データ情報読み込みコマンド処理手段は、前記データ情報読み込みコマンドを受け付けると前記データ情報読み込みコマンドの引数を前記半導体装置の前記データ情報のアドレス情報に変換する引数変換手段と、
前記アドレス情報と同じ値を少なくとも二つ以上の引数として、前記データ情報読み込み手段に入力する引数入力手段とを備え、
前記データ情報読み込み手段は、入力された前記引数が同じ場合には前記引数で示される前記半導体装置の前記アドレス情報から前記データ情報を読み出し、前記データ情報読み込みコマンド処理手段へ前記データ情報を出力し、前記引数が異なる場合には異常情報を前記データ情報読み込みコマンド処理手段へ出力する出力手段を備え、
前記データ情報読み込みコマンド処理手段は、前記データ情報読み込みコマンドから暗証情報を取得し、当該取得した暗証情報と、前記データ情報読み込み手段から入力された前記データ情報とが一致しない場合には、前記データ情報読み込みコマンド処理手段を呼び出した処理手段へ異常情報を出力することを特徴とする半導体装置。
In a semiconductor device that processes data information,
Data information read command processing means for processing a data information read command which is a command for requesting to read personal identification information as the data information;
Data information reading means for reading the data information from the semiconductor device in response to a request from the data information read command processing means,
The data information read command processing means, when receiving the data information read command, converts an argument of the data information read command into address information of the data information of the semiconductor device;
The same value as the address information as at least two arguments, and an argument input means for inputting the data information reading means,
The data information reading means reads the data information from the address information of the semiconductor device indicated by the argument when the inputted arguments are the same, and outputs the data information to the data information read command processing means. And output means for outputting the abnormal information to the data information read command processing means when the arguments are different ,
The data information read command processing means acquires password information from the data information read command, and if the acquired password information and the data information input from the data information read means do not match, the data information What is claimed is: 1. A semiconductor device comprising: outputting abnormality information to a processing unit that has called an information reading command processing unit .
請求項1に記載の半導体装置おいて、
前記データ情報読み込みコマンド処理手段は前記アドレス情報に基づいてチェックコード情報を生成し、前記引数入力手段は少なくとも一つ以上の前記チェックコード情報および前記アドレス情報を引数として、前記データ情報読み込み手段に入力し、前記データ情報読み込み手段は、前記アドレス情報に基づいて前記チェックコード情報を生成し、前記チェックコード情報と前記引数として入力された前記チェックコード情報とが異なる場合には、前記出力手段は、前記異常情報を前記データ情報読み込みコマンド処理手段へ出力することを特徴とする半導体装置。
The semiconductor device according to claim 1,
The data information reading command processing means generates check code information based on the address information, and the argument input means inputs at least one check code information and the address information as arguments to the data information reading means. The data information reading means generates the check code information based on the address information, and when the check code information is different from the check code information input as the argument, the output means A semiconductor device characterized in that the abnormality information is output to the data information read command processing means.
請求項1に記載の半導体装置おいて、
前記データ情報読み込みコマンド処理手段は前記暗証情報が記憶されているアドレス情報に基づいてチェックコード情報を生成し、前記引数入力手段は少なくとも一つ以上の前記チェックコード情報および前記暗証情報が記憶されている前記アドレス情報を引数として、前記データ情報読み込み手段に入力し、前記データ情報読み込みコマンド処理手段には、前記データ情報読み込み手段が出力した前記データ情報が入力され、前記暗証情報と入力された前記データ情報とが一致しない場合には前記データ情報読み込みコマンド処理手段を呼び出した処理手段へ前記異常情報を出力することを特徴とする半導体装置。
The semiconductor device according to claim 1,
The data information read command processing means generates check code information based on address information in which the password information is stored, and the argument input means stores at least one check code information and the password information. The address information is input to the data information reading means as an argument, and the data information read command processing means is supplied with the data information output by the data information reading means, and the password information is input to the data information reading command processing means. If the data information does not match, the semiconductor device outputs the abnormality information to the processing means that called the data information read command processing means.
データ情報を処理する半導体装置の制御方法において、
前記データ情報として暗証情報を読み込むことを要求するコマンドであるデータ情報読み込みコマンドを処理するデータ情報読み込みコマンド処理工程と、
前記データ情報読み込みコマンド処理工程における要求に応じて前記データ情報を前記半導体装置から読み込む、読み込みデータ情報読み込み工程と、を含み、
前記データ情報読み込みコマンド処理工程において、前記データ情報読み込みコマンドを受け付けると前記データ情報読み込みコマンドの引数を前記半導体装置の前記データ情報のアドレス情報に変換する引数変換工程と、
前記アドレス情報と同じ値を少なくとも二つ以上の引数として、前記データ情報読み込み工程に対して入力する引数入力工程とを含み、
前記データ情報読み込み工程において、入力された前記引数が同じ場合には前記引数で示される前記半導体装置の前記アドレス情報から前記データ情報を読み出し、前記データ情報読み込みコマンド処理工程に対して前記データ情報を出力し、前記引数が異なる場合には異常情報を前記データ情報読み込みコマンド処理工程へ出力する出力工程とを含み、
前記データ情報読み込みコマンド処理工程において、前記データ情報読み込みコマンドから暗証情報を取得し、当該取得した暗証情報と、前記データ情報読み込み工程により入力された前記データ情報とが一致しない場合には、前記データ情報読み込みコマンド処理工程を呼び出した処理手段へ異常情報を出力することを特徴とする半導体装置の制御方法。
In a control method of a semiconductor device for processing data information,
A data information read command processing step for processing a data information read command which is a command for requesting to read personal identification information as the data information;
A read data information reading step for reading the data information from the semiconductor device in response to a request in the data information read command processing step;
In the data information read command processing step, upon receiving the data information read command, an argument conversion step of converting an argument of the data information read command into address information of the data information of the semiconductor device;
The same value as the address information as at least two or more arguments, comprises the argument input step of inputting to said data information reading step,
In the data information reading step, when the inputted arguments are the same, the data information is read from the address information of the semiconductor device indicated by the argument, and the data information is read with respect to the data information reading command processing step. An output step of outputting abnormality information to the data information read command processing step when the argument is different ,
In the data information read command processing step, the password information is acquired from the data information read command, and if the acquired password information and the data information input in the data information read step do not match, the data A method for controlling a semiconductor device, comprising: outputting abnormality information to a processing unit that has called an information reading command processing step .
データ情報を処理する半導体装置に含まれるコンピュータを、
前記データ情報として暗証情報を読み込むことを要求するコマンドであるデータ情報読み込みコマンドを処理するデータ情報読み込みコマンド処理手段、
前記データ情報読み込みコマンド処理手段からの要求に応じて前記データ情報を前記半導体装置から読み込む、読み込みデータ情報読み込み手段、として機能させ、
前記データ情報読み込みコマンド処理手段は、前記データ情報読み込みコマンドを受け付けると前記データ情報読み込みコマンドの引数を前記半導体装置の前記データ情報のアドレス情報に変換する引数変換手段と、
前記アドレス情報と同じ値を少なくとも二つ以上の引数として、前記データ情報読み込み手段に入力する引数入力手段として機能させ、
前記データ情報読み込み手段は、入力された前記引数が同じ場合には前記引数で示される前記半導体装置の前記アドレス情報から前記データ情報を読み出し、前記データ情報読み込みコマンド処理手段へ前記データ情報を出力し、前記引数が異なる場合には異常情報を前記データ情報読み込みコマンド処理手段へ出力する出力手段、として機能させ
前記データ情報読み込みコマンド処理手段が、前記データ情報読み込みコマンドから暗証情報を取得し、当該取得した暗証情報と、前記データ情報読み込み手段から入力された前記データ情報とが一致しない場合には、前記データ情報読み込みコマンド処理手段を呼び出した処理手段へ異常情報を出力するように機能させることを特徴とする半導体装置の制御プログラム。
A computer included in a semiconductor device for processing data information;
Data information read command processing means for processing a data information read command, which is a command for requesting to read personal identification information as the data information;
In response to a request from the data information read command processing means, the data information is read from the semiconductor device, and functions as read data information reading means.
The data information read command processing means, when receiving the data information read command, converts an argument of the data information read command into address information of the data information of the semiconductor device;
The same value as the address information as at least two arguments, function as an argument input means for inputting to the data information reading means,
The data information reading means reads the data information from the address information of the semiconductor device indicated by the argument when the inputted arguments are the same, and outputs the data information to the data information read command processing means. , If the arguments are different, function as output means for outputting the abnormal information to the data information read command processing means ,
The data information read command processing means acquires password information from the data information read command, and if the acquired password information does not match the data information input from the data information read means, the data information reading command processing means to function so as to output the abnormality information to the calling processing means a control program wherein a Rukoto.
請求項1乃至の何れか一項に記載の前記半導体装置はIC(Integrate Circuit)チップを搭載したICカードであることを特徴とする半導体装置。 Wherein a billing the semiconductor device according to any one of claim 1 to 3 is an IC card with IC (Integrate the Circuit) chip.
JP2008299696A 2008-11-25 2008-11-25 SEMICONDUCTOR DEVICE, SEMICONDUCTOR DEVICE CONTROL METHOD, AND SEMICONDUCTOR DEVICE CONTROL PROGRAM Active JP5293113B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008299696A JP5293113B2 (en) 2008-11-25 2008-11-25 SEMICONDUCTOR DEVICE, SEMICONDUCTOR DEVICE CONTROL METHOD, AND SEMICONDUCTOR DEVICE CONTROL PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008299696A JP5293113B2 (en) 2008-11-25 2008-11-25 SEMICONDUCTOR DEVICE, SEMICONDUCTOR DEVICE CONTROL METHOD, AND SEMICONDUCTOR DEVICE CONTROL PROGRAM

Publications (2)

Publication Number Publication Date
JP2010128570A JP2010128570A (en) 2010-06-10
JP5293113B2 true JP5293113B2 (en) 2013-09-18

Family

ID=42328946

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008299696A Active JP5293113B2 (en) 2008-11-25 2008-11-25 SEMICONDUCTOR DEVICE, SEMICONDUCTOR DEVICE CONTROL METHOD, AND SEMICONDUCTOR DEVICE CONTROL PROGRAM

Country Status (1)

Country Link
JP (1) JP5293113B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4624732B2 (en) * 2003-07-16 2011-02-02 パナソニック株式会社 how to access
EP1538509A1 (en) * 2003-12-04 2005-06-08 Axalto S.A. Method for securing a program execution against radiation attacks

Also Published As

Publication number Publication date
JP2010128570A (en) 2010-06-10

Similar Documents

Publication Publication Date Title
EP0768601B1 (en) Device for executing enciphered program
JP5041980B2 (en) Data processing circuit and communication portable terminal device
KR100476892B1 (en) Tamper-resistant method and data processing system using the same
JP2746801B2 (en) IC card and password verification method for IC card
US20060289656A1 (en) Portable electronic apparatus and data output method therefor
JP5050893B2 (en) IC card attack detection method, IC card and IC card program
JP5293113B2 (en) SEMICONDUCTOR DEVICE, SEMICONDUCTOR DEVICE CONTROL METHOD, AND SEMICONDUCTOR DEVICE CONTROL PROGRAM
JP2020009305A (en) IC chip, IC card and program
US20140289874A1 (en) Integrated circuit (ic) chip and method of verifying data thereof
JP6396119B2 (en) IC module, IC card, and IC card manufacturing method
JP5998452B2 (en) IC chip, IC card, information processing method, information processing program, and computer-readable recording medium recording the information processing program
JP2009015651A (en) Information storage medium
US7806319B2 (en) System and method for protection of data contained in an integrated circuit
JP2010128571A (en) Semiconductor device, and method and program for controlling the same
JP2005258968A (en) Validity verification method of data written in ic card, and program for ic card
JP2007323133A (en) Method for issuing ic card, and ic card
JP7247638B2 (en) Electronic information storage medium, IC card, falsification check method, and program
JP2007179468A (en) Recording method, recording device and ic card
JP2002230511A (en) Multiple authentication portable information processing medium
JP2007064762A (en) Semiconductor device and test mode control circuit
JP2009070072A (en) Information storage medium and operation control method to be applied to this information storage medium
JP2007011591A (en) Portable electronic device and ic card
JP4601968B2 (en) IC card and IC card program that eliminates data integrity check
JP2016126696A (en) Electronic information storage medium, abnormality detection method, and program
JP5018199B2 (en) Portable security device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110920

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130424

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130527

R150 Certificate of patent or registration of utility model

Ref document number: 5293113

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150