JP2007094966A - Ic card - Google Patents
Ic card Download PDFInfo
- 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
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
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
ICカードでは、個人情報など重要な情報を格納しているため、暗号を用いてそのデータを暗号化したり、カードユーザの認証を行ったりしている。そのため通常の使用においては十分なセキュリティが保たれている。しかし、ICカードに対する攻撃は非常に強力になっているため、攻撃に耐えうる対策手法の確立と同時に、攻撃の前提条件となる消費電力波形内の暗号処理部の特定を困難にすることが非常に重要となってくる。
本発明は、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
図2に示すように、本発明に係るICチップ102は、CPU201と、RAM202と、ROM203と、EEPROM204と、I/Oポート205と、コプロセッサ206と、暗号処理回路207と、ウォッチドッグタイマ208を備えている。
As shown in FIG. 2, an
上記の構成において、CPU201は、ROM203に格納されているICカードのプログラムを実行し、RAM202やEEPROM204には処理に必要なデータが格納されている。I/Oポート205は、外部機器(例えば、リーダライタ)からコマンドを受け取り、CPU201の処理結果をレスポンスとして出力する。データバス209は各装置間のデータ転送を行うバスである。
In the above configuration, the
図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
The
図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
また、例えば各実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。 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.
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 ...
202 ... RAM
203 ... ROM
204… EEPROM
205 ... I /
Claims (7)
乱数を発生させる乱数生成手段と、を備え、
前記乱数生成手段により発生された乱数により、前記ウォッチドッグタイマ回路のタイマ値を設定し、前記ウォッチドッグタイマ回路の動作を開始させて、前記ウォッチドッグタイマ回路による割り込みが発生した段階で所定時間ダミー処理を行うことを特徴とする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.
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)
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 |
-
2005
- 2005-09-30 JP JP2005286643A patent/JP2007094966A/en active Pending
Cited By (2)
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 |