JP2007094966A - Ic card - Google Patents

Ic card Download PDF

Info

Publication number
JP2007094966A
JP2007094966A JP2005286643A JP2005286643A JP2007094966A JP 2007094966 A JP2007094966 A JP 2007094966A JP 2005286643 A JP2005286643 A JP 2005286643A JP 2005286643 A JP2005286643 A JP 2005286643A JP 2007094966 A JP2007094966 A JP 2007094966A
Authority
JP
Japan
Prior art keywords
watchdog timer
random number
card
dummy
timer circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005286643A
Other languages
Japanese (ja)
Inventor
Hiroki Tomoe
裕樹 友枝
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2005286643A priority Critical patent/JP2007094966A/en
Publication of JP2007094966A publication Critical patent/JP2007094966A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To complicate specification of timing of encryption processing, or sensitive processing for a portion handling important data or the like in processing of an IC card. <P>SOLUTION: A watchdog timer circuit 403 is provided for carrying out CPU interruption after passage of a predetermined time, and a random number generating means 402 is provided for generating a random number. By a random number generated by the random number generating means, a timer value of the watchdog timer circuit is set, operation of the watchdog timer circuit is started, and dummy processing is carried out for a predetermined time at the stage of carrying out interruption by the watchdog timer circuit. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、ICカードの耐タンパー性に関する。   The present invention relates to tamper resistance of an IC card.

IC(Integrated Circuit)カードは、クレジットカード、定期券、その他の商取引の決済に使われるだけでなく、社員証、会員証、保険証などのIDカードとしても様々な分野で使われるようになってきている。これは、従来の磁気カードに比べ、ICとしてCPU、ROM、RAM、EEPROMなどを持つため様々な機能が行えるようになっただけでなく、偽造が難しいためセキュリティの面でも大きく向上したことが要因である。なお、ICカードの詳細は、非特許文献1に規定されている。   IC (Integrated Circuit) cards are used not only for settlement of credit cards, commuter passes, and other commercial transactions, but also in various fields as ID cards for employee cards, membership cards, insurance cards, etc. ing. This is because the IC has a CPU, ROM, RAM, EEPROM, etc. so that it can perform various functions compared to conventional magnetic cards, and it is difficult to forge. It is. Details of the IC card are defined in Non-Patent Document 1.

ICカードでは、個人情報など重要な情報を格納しているため、暗号を用いてそのデータを暗号化したり、カードユーザの認証を行ったりしている。そのため通常の使用においては十分なセキュリティが保たれている。しかし、ICカードに対する攻撃は非常に強力になっているため、攻撃に耐えうる対策手法の確立と同時に、攻撃の前提条件となる消費電力波形内の暗号処理部の特定を困難にすることが非常に重要となってくる。
ISO/IEC 7816-1part1、2
Since the IC card stores important information such as personal information, the data is encrypted using encryption or the card user is authenticated. Therefore, sufficient security is maintained in normal use. However, since attacks against IC cards are very powerful, it is very difficult to identify encryption processing units in the power consumption waveform that is a precondition for attacks, as well as establishing countermeasures that can withstand the attacks. It becomes important to.
ISO / IEC 7816-1part1, 2

本発明は、ICカードの処理において暗号処理や重要なデータを扱う部分などセンシティブな処理のタイミングを特定することを困難にすることを目的とする。   An object of the present invention is to make it difficult to specify the timing of sensitive processing such as encryption processing or a portion that handles important data in processing of an IC card.

本発明の局面に係る発明は、所定時間経過後にCPU割り込みを行うウォッチドッグタイマ回路と、乱数を発生させる乱数生成手段と、を備え、前記乱数生成手段により発生された乱数により、前記ウォッチドッグタイマ回路のタイマ値を設定し、前記ウォッチドッグタイマ回路の動作を開始させて、前記ウォッチドッグタイマ回路による割り込みが発生した段階で所定時間ダミー処理を行うことを特徴とする。   The invention according to an aspect of the present invention includes a watchdog timer circuit that performs a CPU interrupt after a predetermined time elapses, and a random number generation unit that generates a random number. The random number generated by the random number generation unit generates the watchdog timer. A timer value of the circuit is set, the operation of the watchdog timer circuit is started, and dummy processing is performed for a predetermined time when an interrupt is generated by the watchdog timer circuit.

本発明によれば、センシティブな処理への攻撃を困難にし、ICカードの安全性を高めることができる。更に、ICカード処理中のセンシティブな処理タイミングを予測することが困難になり、タイミング情報が必要となる各種攻撃を回避することができる。   ADVANTAGE OF THE INVENTION According to this invention, the attack to a sensitive process can be made difficult and the safety | security of an IC card can be improved. Furthermore, it becomes difficult to predict sensitive processing timing during IC card processing, and various attacks that require timing information can be avoided.

図面を参照して本発明の実施の形態を説明する。   Embodiments of the present invention will be described with reference to the drawings.

図1は、本発明に係る暗号演算回路を備えたICカードの概略構成を示す図である。ICカードの詳細は、前述したように、非特許文献1に規定されている。図1に示すように、カード101内にICチップ102が搭載されている。図2は、一般的なICチップの内部構成を示す図である。なお、本発明の実施形態において、外部からの攻撃を困難にするために暗号演算回路を備えていることを前提条件として説明するが、CPUで暗号を処理するようなICカードにも適用可能であることはもちろんである。   FIG. 1 is a diagram showing a schematic configuration of an IC card including a cryptographic operation circuit according to the present invention. The details of the IC card are defined in Non-Patent Document 1, as described above. As shown in FIG. 1, an IC chip 102 is mounted in a card 101. FIG. 2 is a diagram showing an internal configuration of a general IC chip. In the embodiment of the present invention, it is assumed that a cryptographic operation circuit is provided in order to make an attack from the outside difficult. However, the present invention can also be applied to an IC card that processes a cipher with a CPU. Of course there is.

図2に示すように、本発明に係るICチップ102は、CPU201と、RAM202と、ROM203と、EEPROM204と、I/Oポート205と、コプロセッサ206と、暗号処理回路207と、ウォッチドッグタイマ208を備えている。   As shown in FIG. 2, an IC chip 102 according to the present invention includes a CPU 201, a RAM 202, a ROM 203, an EEPROM 204, an I / O port 205, a coprocessor 206, a cryptographic processing circuit 207, and a watchdog timer 208. It has.

上記の構成において、CPU201は、ROM203に格納されているICカードのプログラムを実行し、RAM202やEEPROM204には処理に必要なデータが格納されている。I/Oポート205は、外部機器(例えば、リーダライタ)からコマンドを受け取り、CPU201の処理結果をレスポンスとして出力する。データバス209は各装置間のデータ転送を行うバスである。   In the above configuration, the CPU 201 executes an IC card program stored in the ROM 203, and the RAM 202 and the EEPROM 204 store data necessary for processing. The I / O port 205 receives a command from an external device (for example, a reader / writer), and outputs the processing result of the CPU 201 as a response. A data bus 209 is a bus for transferring data between devices.

図4は、暗号処理回路207の内部構成例の概要を示す図である。暗号処理回路207は、暗号処理部401と、乱数生成部402と、ウォッチドッグタイマ403と、I/F部404とを備えている。なお、本実施形態では、暗号処理回路207での暗号処理中におけるウォッチドッグタイマ403による割り込み処理によってダミー処理に移行する実施形態を示すが、これに限らず、例えば、秘匿性の高い処理、例えば個人の照合処理などでウォッチドッグタイマ403による割り込み処理によりダミー処理に移行する場合にも適用可能である。
暗号処理部401は、I/F部から受け取った入力を、DESを使って暗号化する。乱数生成部402はDESの処理に用いる乱数を生成する。ウォッチドッグタイマ403は、乱数生成部402からの乱数に従って、詳細は後述する割り込み処理を暗号処理部401に対して行う。I/F部404はCPU201などとデータの入出力を行う。
FIG. 4 is a diagram showing an outline of an internal configuration example of the cryptographic processing circuit 207. The cryptographic processing circuit 207 includes a cryptographic processing unit 401, a random number generation unit 402, a watch dog timer 403, and an I / F unit 404. In this embodiment, an embodiment is shown in which the process shifts to a dummy process by an interrupt process by the watchdog timer 403 during the cryptographic process in the cryptographic process circuit 207. However, the present invention is not limited to this. For example, a highly confidential process, for example, The present invention can also be applied to a case where the process shifts to a dummy process by an interrupt process by the watchdog timer 403 in a personal verification process or the like.
The encryption processing unit 401 encrypts the input received from the I / F unit using DES. The random number generation unit 402 generates a random number used for DES processing. The watchdog timer 403 performs interrupt processing, which will be described later in detail, on the cryptographic processing unit 401 according to the random number from the random number generation unit 402. The I / F unit 404 inputs and outputs data with the CPU 201 and the like.

図5を参照して、上記のように構成された本発明の一実施形態に係るICカードの動作を説明する。図5は、本発明の一実施形態に係るICカードの動作を示すフローチャートである。
まず、CPUからの指示などによって乱数生成部402で乱数が生成・発生されると(ステップ51)、当該乱数がウォッチドッグタイマ403にセットされる(ステップ52)。ここで、ウォッチドッグタイマ403にセットされた乱数の値がタイマの割り込みの発生時間に設定されて、ウォッチドッグタイマ403の動作が開始して、この時間経過後に、ウォッチドッグタイマ403が暗号処理部401に割り込みを発生する(ステップ53)。ウォッチドッグタイマ403による割り込みより、予め設定されたダミー処理を行い(ステップ54)、所定時間経過後に処理を終了する。
上記のような処理により、暗号処理などにおいて、乱数の値に従って、ウォッチドッグタイマ403が割り込みのダミー処理を行うので、暗号処理のタイミングを予測・解析することが困難になる。
With reference to FIG. 5, the operation of the IC card according to an embodiment of the present invention configured as described above will be described. FIG. 5 is a flowchart showing the operation of the IC card according to the embodiment of the present invention.
First, when a random number is generated and generated by the random number generation unit 402 in accordance with an instruction from the CPU (step 51), the random number is set in the watchdog timer 403 (step 52). Here, the value of the random number set in the watchdog timer 403 is set as the occurrence time of the timer interrupt, and the operation of the watchdog timer 403 is started. An interrupt is generated at 401 (step 53). A preset dummy process is performed in response to an interrupt by the watchdog timer 403 (step 54), and the process ends after a predetermined time has elapsed.
With the above processing, the watchdog timer 403 performs dummy interrupt processing according to the value of the random number in encryption processing or the like, making it difficult to predict and analyze the timing of encryption processing.

なお、この場合において、ウォッチドッグタイマ403が離散的な複数のタイマ値が設定可能なものでも良く、その場合には、乱数値に応じて、所定のタイマ値を選択するようにしても良い。また、ウォッチドッグタイマ403のタイマ値は任意に設定可能としてよい。更に、それらの場合において、当該タイマ値を所定の時間以下に制限するようにしても良い。
更に、ダミー処理は1回のみではなく、1つのダミー処理(或いは命令)を複数回繰り返しても良く、その場合には、ダミー処理の終了後から処理結果の送信までの間継続して行わせることが好ましい。なお、ダミー処理は1つの命令のみでなく、複数の命令を含む、ダミー処理により複数の命令が実行されてもよい。
In this case, the watchdog timer 403 may be capable of setting a plurality of discrete timer values. In this case, a predetermined timer value may be selected according to a random value. Further, the timer value of the watchdog timer 403 may be arbitrarily set. Further, in those cases, the timer value may be limited to a predetermined time or less.
Furthermore, the dummy process may be repeated not only once but also one dummy process (or command) a plurality of times. In this case, the dummy process is continuously performed after the dummy process is completed until the process result is transmitted. It is preferable. Note that the dummy process may be executed not only by one instruction but also by a dummy process including a plurality of instructions.

図6を参照して、本発明の他の実施形態に係るICカードの動作を説明する。図6は、本発明の他の実施形態に係るICカードの動作を示すフローチャートである。本実施形態では、複数のダミー処理が用意されている場合についてのウォッチドッグタイマ403によるダミー処理の割り込み方法について説明する。
まず、CPUからの指示などによって乱数生成部402で乱数が生成・発生されると(ステップ61)、当該乱数に基づいて、ウォッチドッグタイマ403により割り込み処理によって実行される1つのダミー処理を選択する(ステップS62)。この場合において、ダミー処理は、それぞれ開始番地(例えば、1つ目のダミー処理が8000番地から始まり、2つ目のダミー処理が8100番地から始まるといったように)をウォッチドッグタイマ403が記憶しておいて、乱数値に対応して、制御をそれぞれの開始番地に移すようにしてもよい。ウォッチドッグタイマ403による割り込み処理の開始時間になると選択されたダミー処理が実行されて(ステップS63)、所定時間経過後に処理を終了する。
本実施形態の処理においても、先の実施形態と同様に、暗号処理などにおいて、乱数の値に従って、ウォッチドッグタイマ403が割り込みのダミー処理を行うので、暗号処理のタイミングを予測・解析することが困難になる。
The operation of the IC card according to another embodiment of the present invention will be described with reference to FIG. FIG. 6 is a flowchart showing the operation of the IC card according to another embodiment of the present invention. In the present embodiment, a dummy process interruption method by the watchdog timer 403 when a plurality of dummy processes are prepared will be described.
First, when a random number is generated and generated by the random number generation unit 402 according to an instruction from the CPU or the like (step 61), one dummy process executed by the interrupt process is selected by the watchdog timer 403 based on the random number. (Step S62). In this case, the watchdog timer 403 stores the start address of each dummy process (for example, the first dummy process starts at the address 8000 and the second dummy process starts at the 8100 address). In this case, the control may be transferred to each start address corresponding to the random value. When the start time of the interrupt process by the watchdog timer 403 is reached, the selected dummy process is executed (step S63), and the process is terminated after a predetermined time has elapsed.
Also in the processing of this embodiment, the watchdog timer 403 performs dummy interrupt processing according to the random number value in cryptographic processing or the like, as in the previous embodiment, so that the timing of cryptographic processing can be predicted and analyzed. It becomes difficult.

上記の各実施形態は、別々に説明したが、適宜組み合わせて適用可能である。例えば、図5に記載の実施形態において、ダミー処理を複数用意しておいて、割り込みごとに順次ダミー処理を1つずつシフトして実行させるようにしてもよいし、乱数を、ウォッチドッグタイマ403の設定とダミー処理の選択の両方に使用しても良い。   Each of the above embodiments has been described separately, but can be applied in appropriate combination. For example, in the embodiment shown in FIG. 5, a plurality of dummy processes may be prepared, and the dummy processes may be shifted and executed one by one for each interrupt. It may be used for both setting and selection of dummy processing.

本発明は、上記各実施の形態に限ることなく、その他、実施段階ではその要旨を逸脱しない範囲で種々の変形を実施し得ることが可能である。例えば、上記の各実施形態では、ダミー処理の実行時間については、ダミー処理の内容に応じて固定されたものであるとしたが、ダミー処理の時間を乱数によって、設定し、当該時間が経過するまでダミー処理を行わせるようにしてもよい。また、上記の実施形態では、ウォッチドッグタイマの割り込み処理として暗号処理部のみへの割り込みを行う例を説明したが、CPU割り込みを実行させるために、バス208に接続しても良い。さらに、上記各実施形態には、種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組合せにより種々の発明が抽出され得る。   The present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the scope of the invention at the stage of implementation. For example, in each of the above embodiments, the execution time of the dummy process is fixed according to the contents of the dummy process. However, the dummy process time is set by a random number, and the time elapses. Alternatively, the dummy process may be performed. In the above-described embodiment, an example in which only the encryption processing unit is interrupted as the interrupt processing of the watchdog timer has been described. However, the CPU 208 may be connected to the bus 208 in order to execute the CPU interrupt. Further, the above embodiments include inventions at various stages, and various inventions can be extracted by appropriately combining a plurality of disclosed constituent elements.

また、例えば各実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。   In addition, for example, even if some structural requirements are deleted from all the structural requirements shown in each embodiment, the problem described in the column of the problem to be solved by the invention can be solved, and the effect described in the effect of the invention Can be obtained as an invention.

本発明に係る暗号演算回路を備えたICカードの概略構成を示す図。The figure which shows schematic structure of the IC card provided with the cryptographic operation circuit which concerns on this invention. ICチップの一般的な内部構成を示す図。The figure which shows the general internal structure of an IC chip. 暗号処理回路の内部構成の概要を示す図。The figure which shows the outline | summary of the internal structure of a cryptographic processing circuit. 本発明の一実施形態に係るICカードの動作を示すフローチャート。The flowchart which shows operation | movement of the IC card which concerns on one Embodiment of this invention. 本発明の他の実施形態に係るICカードの動作を示すフローチャートThe flowchart which shows operation | movement of the IC card based on other embodiment of this invention.

符号の説明Explanation of symbols

101…カード
102…ICチップ
201…CPU
202…RAM
203…ROM
204…EEPROM
205…I/Oポート
206…コプロセッサ
207…暗号処理回路
208…ウォッチドッグタイマ
209…データバス
401…暗号処理部
402…乱数生成部
403…ウォッチドッグタイマ
404…I/F部
101 ... Card 102 ... IC chip 201 ... CPU
202 ... RAM
203 ... ROM
204… EEPROM
205 ... I / O port 206 ... Coprocessor 207 ... Cryptographic processing circuit 208 ... Watchdog timer 209 ... Data bus 401 ... Cryptographic processing unit 402 ... Random number generating unit 403 ... Watchdog timer 404 ... I / F unit

Claims (7)

所定時間経過後にCPU割り込みを行うウォッチドッグタイマ回路と、
乱数を発生させる乱数生成手段と、を備え、
前記乱数生成手段により発生された乱数により、前記ウォッチドッグタイマ回路のタイマ値を設定し、前記ウォッチドッグタイマ回路の動作を開始させて、前記ウォッチドッグタイマ回路による割り込みが発生した段階で所定時間ダミー処理を行うことを特徴とするICカード。
A watchdog timer circuit for performing a CPU interrupt after a predetermined time;
Random number generating means for generating random numbers,
The timer value of the watchdog timer circuit is set by the random number generated by the random number generation means, the operation of the watchdog timer circuit is started, and a dummy signal is output for a predetermined time when an interrupt is generated by the watchdog timer circuit. An IC card that performs processing.
請求項1に記載のICカードにおいて、前記ウォッチドッグタイマ回路は、離散的な複数のタイマ値が設定可能なものであって、前記乱数に応じてタイマ値が設定されることを特徴とするICカード。 2. The IC card according to claim 1, wherein the watchdog timer circuit is capable of setting a plurality of discrete timer values, and the timer value is set according to the random number. card. 請求項1に記載のICカードにおいて、前記ウォッチドッグタイマ回路は、そのタイマ設定値を任意に設定可能であることを特徴とするICカード。 2. The IC card according to claim 1, wherein the watchdog timer circuit can arbitrarily set a timer set value. 請求項1から請求項3のいずれか1項に記載のICカードにおいて、ダミー処理終了後から処理結果データ送信までの間に、前記ウォッチドッグタイマ回路の割り込みによるダミー処理を繰り返すことを特徴とするICカード。 The IC card according to any one of claims 1 to 3, wherein dummy processing by interruption of the watchdog timer circuit is repeated between the end of dummy processing and processing result data transmission. IC card. 請求項1から請求項4のいずれか1項に記載のICカードにおいて、前記ダミー処理は複数の命令を含む処理であって、前記複数の命令に係る処理を行うことを特徴とするICカード。 5. The IC card according to claim 1, wherein the dummy process is a process including a plurality of instructions, and performs a process related to the plurality of instructions. 6. 請求項1から請求項5のいずれか1項に記載のICカードにおいて、前記ダミー処理は、複数のダミー処理を含み、前記乱数により実行される少なくとも1つのダミー処理が選択されることを特徴とするICカード。 The IC card according to any one of claims 1 to 5, wherein the dummy process includes a plurality of dummy processes, and at least one dummy process executed by the random number is selected. IC card to do. 請求項1から請求項6のいずれか1項に記載のICカードにおいて、前記ウォッチドッグタイマ回路は、各回のダミー処理時間が異なるように、前記乱数によりダミー処理の実行時間を設定することを特徴とするICカード。 7. The IC card according to claim 1, wherein the watchdog timer circuit sets the execution time of the dummy process by the random number so that the dummy process time of each time is different. IC card.
JP2005286643A 2005-09-30 2005-09-30 Ic card Pending JP2007094966A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005286643A JP2007094966A (en) 2005-09-30 2005-09-30 Ic card

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005286643A JP2007094966A (en) 2005-09-30 2005-09-30 Ic card

Publications (1)

Publication Number Publication Date
JP2007094966A true JP2007094966A (en) 2007-04-12

Family

ID=37980577

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005286643A Pending JP2007094966A (en) 2005-09-30 2005-09-30 Ic card

Country Status (1)

Country Link
JP (1) JP2007094966A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016075999A (en) * 2014-10-02 2016-05-12 株式会社メガチップス Information processing system
JP2016076000A (en) * 2014-10-02 2016-05-12 株式会社メガチップス Information processing system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016075999A (en) * 2014-10-02 2016-05-12 株式会社メガチップス Information processing system
JP2016076000A (en) * 2014-10-02 2016-05-12 株式会社メガチップス Information processing system

Similar Documents

Publication Publication Date Title
EP1873671B2 (en) A method for protecting IC Cards against power analysis attacks
JP4834748B2 (en) Information storage medium, medium authentication device, medium authentication system, and IC card
JP4221385B2 (en) Biometric authentication device, terminal device and automatic transaction device
US20110037563A1 (en) Apparatus and method for biometric registration and authentication
CN103198247B (en) A kind of computer safety protective method and system
US20170162080A1 (en) Masking and unmasking methods and devices
JP3844116B2 (en) Encryption / decryption device and IC card
JP2008181225A (en) Ic card
JP2007094966A (en) Ic card
JP4592337B2 (en) Data storage
JP2011010218A (en) Portable electronic device, and method for controlling portable electronic device
EP2000936A1 (en) Electronic token comprising several microprocessors and method of managing command execution on several microprocessors
JP2020013384A (en) Identification card display system, portable terminal, server, terminal side identification card display program, server side identification card display program, and identification card display method
JP2010529767A (en) Authentication method and authentication execution electronic device
JP6203556B2 (en) Information processing system
JP2009015651A (en) Information storage medium
JP2006025366A (en) Encryption apparatus and semiconductor integrated circuit
JP5269661B2 (en) Portable electronic device and method for controlling portable electronic device
US20200272729A1 (en) Quantum Secure Password Application
JP4634788B2 (en) Cryptographic operation circuit, information processing apparatus and IC card having the cryptographic operation circuit
JP2006024140A (en) Random-number generator
JP2006293875A (en) Settlement system cooperating with biological authentication, and settlement terminal for ic card and ic card for use in the same
JP2005204134A (en) Anti-tamper encryption system, memory device, authentication terminal and program
JP2009015375A (en) Ic card with function of encrypting data, method, and program for ic card
JP6069120B2 (en) Information processing system