JP6396119B2 - IC module, IC card, and IC card manufacturing method - Google Patents
IC module, IC card, and IC card manufacturing method Download PDFInfo
- Publication number
- JP6396119B2 JP6396119B2 JP2014171617A JP2014171617A JP6396119B2 JP 6396119 B2 JP6396119 B2 JP 6396119B2 JP 2014171617 A JP2014171617 A JP 2014171617A JP 2014171617 A JP2014171617 A JP 2014171617A JP 6396119 B2 JP6396119 B2 JP 6396119B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- level information
- level
- card
- tamper
- 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
Links
Images
Landscapes
- Credit Cards Or The Like (AREA)
Description
本発明の実施形態は、ICモジュール、ICカード、及びICカードの製造方法に関する。 Embodiments described herein relate generally to an IC module, an IC card, and an IC card manufacturing method.
近年、IC(Integrated Circuit)チップを搭載したICカードが、様々な分野で使用されるようになってきている。ICカードには、内部解析(リバースエンジニアリング)や改変に対する防護を行う耐タンパ性の機能を備えるものがある。従来のICカードは、耐タンパ性の機能を備えることでセキュリティが向上する一方で、処理時間が増加するなど性能が低下し、セキュリティと性能とを両立させることが困難な場合があった。そのため、従来のICカードは、セキュリティ面又は性能面から用途によって使用することができない可能性があった。 In recent years, an IC card equipped with an IC (Integrated Circuit) chip has been used in various fields. Some IC cards have a tamper resistant function for protecting against internal analysis (reverse engineering) and alteration. Conventional IC cards have a tamper-resistant function to improve security. However, the performance has been lowered, for example, the processing time has increased, and it has been difficult to achieve both security and performance. Therefore, there is a possibility that the conventional IC card cannot be used depending on the application from the viewpoint of security or performance.
本発明が解決しようとする課題は、様々な用途に使用することができるICモジュール、ICカード、及びICカードの製造方法を提供することである。 The problem to be solved by the present invention is to provide an IC module, an IC card, and an IC card manufacturing method that can be used for various purposes.
実施形態のICモジュールは、耐タンパ性機能部と、不揮発性記憶部と、管理部とを持つ。耐タンパ性機能部は、耐タンパ性の機能を有する。書き換え可能な不揮発性記憶部は、前記耐タンパ性機能部の作動レベルを規定するレベル情報を記憶する。管理部は、前記レベル情報に基づいて、前記耐タンパ性機能部を動作させる。前記不揮発性記憶部は、複数の処理のそれぞれに対応する前記レベル情報を記憶し、前記管理部は、前記レベル情報に基づいて、処理ごとに規定された作動レベルにより前記耐タンパ性機能部を動作させる。 The IC module according to the embodiment includes a tamper-resistant function unit, a nonvolatile storage unit, and a management unit. The tamper resistant functional unit has a tamper resistant function. The rewritable non-volatile storage unit stores level information that defines an operation level of the tamper resistant function unit. The management unit operates the tamper resistant function unit based on the level information. The non-volatile storage unit stores the level information corresponding to each of a plurality of processes, and the management unit sets the tamper resistant function unit according to an operation level defined for each process based on the level information. Make it work.
以下、実施形態のICモジュール、ICカード、及びICカードの製造方法を、図面を参照して説明する。 Hereinafter, an IC module, an IC card, and an IC card manufacturing method according to embodiments will be described with reference to the drawings.
(第1の実施形態)
図1は、第1の実施形態のICカード1の一例を示す外観図である。
この図に示すように、ICカード1は、ICモジュール10を備えており、ICモジュール10は、コンタクト部3と、内部にICチップ100とを備えている。ICカード1は、例えば、プラスチックのカード基材4(カード本体の一例)に、ICモジュール10を実装して形成されている。すなわち、ICカード1は、ICモジュール10と、ICモジュール10が埋め込まれたカード基材4とを備えている。また、ICカード1は、コンタクト部3を介して外部装置2と通信可能である。
(First embodiment)
FIG. 1 is an external view showing an example of an
As shown in this figure, the
ICカード1は、例えば、外部装置2が送信したコマンド(処理要求)を、コンタクト部3を介して受信し、受信したコマンドに応じた処理(コマンド処理)を実行する。そして、ICカード1は、コマンド処理の実行結果であるレスポンス(処理応答)を外部装置2にコンタクト部3を介して送信する。
ここで、外部装置2は、ICカード1と通信する上位装置であり、例えば、リーダ/ライタ装置などである。
For example, the
Here, the
ICモジュール10は、コンタクト部3と、ICチップ100とを備え、例えば、テープ上にICモジュール100が複数配置されたCOT(Chip On Tape)などの形態で取引されるモジュールである。
コンタクト部3は、ICカード1が動作するために必要な各種信号の端子を有している。ここで、各種信号の端子は、電源電圧、クロック信号、リセット信号などを外部装置2から供給を受ける端子、及び、外部装置2と通信するためのシリアルデ―タ入出力端子(SIO端子)を有する。外部装置2から供給を受ける端子には、電源端子(VDD端子、GND端子)、クロック信号端子(CLK端子)、及びリセット信号端子(RST端子)が含まれる。
ICチップ100は、例えば、1チップのマイクロプロセッサなどのLSI(Large Scale Integration)である。
The
The
The
図2は、本実施形態のICカード1のハードウェア構成例を示す図である。
この図に示すように、ICチップ100は、CPU(Central Processing Unit)11と、RAM(Random Access Memory)12と、ROM(Read Only Memory)13と、EEPROM(Electrically Erasable Programmable ROM)14と、通信I/F(Interface)部15と、コプロセッサ16と、複数の耐タンパ性機能部20とを備えている。なお、本実施形態では、ICチップ100は、耐タンパ性機能部20として、ランダムMC(マシンサイクル)部21と、グリッチ検出部22と、ランダムウェイト部23と、ノイズジェネレータ部24とを備えている。また、各構成は、内部バス17を介して接続されている。
FIG. 2 is a diagram illustrating a hardware configuration example of the
As shown in this figure, the
CPU11は、ROM13又はEEPROM14に記憶されているプログラムを実行して、ICカード1の各種処理を行う。CPU11は、例えば、コンタクト部3を介して、通信I/F部15が受信したコマンドに応じたコマンド処理を実行する。
RAM12は、例えば、SRAM(Static RAM)などの揮発性メモリであり、ICカード1の各種処理を行う際に利用されるデータを一時記憶する。
The
The
ROM13は、例えば、マスクROMなどの不揮発性メモリであり、ICカード1の各種処理を実行するためのプログラム、及びコマンドテーブルなどのデータを記憶する。
EEPROM14(書き換え可能な不揮発性記憶部の一例)は、例えば、電気的に書き換え可能な不揮発性メモリである。EEPROM14は、後述するレベル情報、及びレベル情報の変更を禁止する変更禁止情報などを記憶する。
The
The EEPROM 14 (an example of a rewritable nonvolatile storage unit) is, for example, an electrically rewritable nonvolatile memory. The EEPROM 14 stores level information to be described later, change prohibition information for prohibiting the change of the level information, and the like.
通信I/F部15は、外部装置2との間で通信される情報を入力および出力する。通信I/F部15は、外部装置2からICカード1に送信されたコマンドの情報を受信して受け取る。また、通信I/F部15は、受け取ったコマンドの処理をCPU11により実行した結果の情報をレスポンスの情報として出力し、これにより、当該情報がICカード1から外部装置2に送信される。なお、通信I/F部15が受信したコマンドの情報が、RAM12に設けられた専用領域に一旦記憶された後に、当該専用領域を監視するCPU11により読み出される。なお、通信I/F部15には、コンタクト部3を介して、電源電圧、クロック信号、リセット信号が供給され、これらの信号は、通信I/F部15を介して各部に供給される。
The communication I / F unit 15 inputs and outputs information communicated with the
コプロセッサ16は、暗号処理や復号処理を高速に行うための補助的な回路であり、例えば、AES(Advanced Encryption Standard)暗号やRSA暗号などの処理、又は当該処理の一部を実行する。コプロセッサ16は、例えば、CPU11により指示されて、暗号処理や復号処理に関する処理を実行する。
内部バス17は、例えば、内部バス17に接続された各部の間におけるデータ転送を行うバスである。
The coprocessor 16 is an auxiliary circuit for performing encryption processing and decryption processing at high speed. For example, the coprocessor 16 executes processing such as AES (Advanced Encryption Standard) encryption or RSA encryption, or a part of the processing. For example, the coprocessor 16 is instructed by the
The
耐タンパ性機能部20は、例えば、セキュリティを高める機能の1つであり、耐タンパ性の機能を有する機能部である。ここで、耐タンパ性とは、例えば、内部解析(リバースエンジニアリング)や改変に対する防護力のことであり、外部からの非正規な手段による機密データの読み取りや解析を防ぐ能力のことである。ICカード1を攻撃する手法としては、例えば、電力解析攻撃などのサイドチャネル攻撃や故障利用解析攻撃などがあり、耐タンパ性機能部20は、これらの攻撃を防護する機能を有する。
The tamper
上述したように、本実施形態では、ICモジュール10は、例えば、ランダムMC部21と、グリッチ検出部22と、ランダムウェイト部23と、ノイズジェネレータ部24とを、耐タンパ性の機能の異なる耐タンパ性機能部20として備えているものとして説明する。また、各耐タンパ性機能部20は、CPU11からの設定により、耐タンパ性機能の作動レベルを設定できるものとする。
なお、ランダムMC部21、グリッチ検出部22、ランダムウェイト部23、及びノイズジェネレータ部24は、ICカード1が備える任意の耐タンパ性機能部を示す場合、又は特に区別しない場合には、耐タンパ性機能部20と称して説明する。
As described above, in this embodiment, the
Note that the
ランダムMC部21は、CPU11の処理において、ランダムにダミーサイクルを挿入し、CPU11の実行クロック数(マシンサイクル数)を特定の範囲内でランダムに変更するCPU11用のランダムウェイト部である。ランダムMC部21は、作動レベルの設定に応じて、ランダムMC部21の動作停止(OFF)を含む、実行クロック数を変更する頻度を変更する。
The
グリッチ検出部22は、コンタクト部3を介して通信I/F部15に供給される信号にグリッチが載せられたことを検出する。なお、例えば、故障利用解析攻撃では、誤動作を誘発させるノイズをICカード1に供給される信号に重畳させることがある。ここで、グリッチとは、例えば、この誤動作を誘発させるノイズのことである。グリッチ検出部22は、例えば、電源電圧に所定の電圧以上のグリッチが入力されたことを検出する。すなわち、グリッチ検出部22は、例えば、電源電圧が所定の電圧範囲を超えたことを検出する。この場合、グリッチ検出部22は、電源電圧のグリッチ検出機能の動作停止(OFF)の作動レベル設定を含み、作動レベルの設定に応じて、グリッチを検出する感度(例えば、閾値電圧)を変更する。
The
また、グリッチ検出部22は、例えば、CLK端子に供給されるCLK信号の周波数が所定の範囲を超えたことを検出する。この場合、グリッチ検出部22は、CLK信号の周波数のグリッチ検出機能の動作停止(OFF)の作動レベル設定を含み、作動レベルの設定に応じて、グリッチを検出する感度(例えば、周波数範囲)を変更する。
また、グリッチ検出部22は、例えば、CLK端子に供給されるCLK信号の電圧、及びRST端子に供給されるRST信号の電圧が所定の範囲を超えたことを検出する。この場合、グリッチ検出部22は、CLK信号の電圧又はRST信号の電圧におけるグリッチ検出機能の動作停止(OFF)の作動レベル設定を含み、作動レベルの設定に応じて、グリッチを検出する感度(例えば、閾値電圧)を変更する。
Further, the
For example, the
ランダムウェイト部23は、例えば、コプロセッサ16の処理において、ランダムにダミーサイクルを挿入する。ランダムウェイト部23は、作動レベルの設定に応じて、ランダムウェイト部23の動作停止(OFF)を含む、ダミーサイクルの挿入頻度を変更する。
For example, the
ノイズジェネレータ部24は、例えば、ICカード1が消費する消費電力を特定の範囲内でランダムに変更する。ノイズジェネレータ部24は、作動レベルの設定に応じて、ノイズジェネレータ部24の動作停止(OFF)を含む、消費電力の範囲を変更する。
For example, the
次に、図3を参照して、本実施形態によるICカード1の機能構成例について説明する。
図3は、本実施形態のICカード1の機能構成例を示すブロック図である。
この図に示すように、ICカード1は、通信部101と、コマンド実行部102と、セキュリティ管理部103と、レベル情報記憶部141と、変更禁止情報記憶部142と、ランダムMC部21と、グリッチ検出部22と、ランダムウェイト部23と、ノイズジェネレータ部24とを備えている。
ここで、図3に示される各部は、図2に示されるハードウェアを用いて実現される。
Next, a functional configuration example of the
FIG. 3 is a block diagram showing a functional configuration example of the
As shown in this figure, the
Here, each unit shown in FIG. 3 is realized by using the hardware shown in FIG.
通信部101は、例えば、通信I/F部15と、CPU11と、ROM13に記憶されているプログラムとにより実現され、コンタクト部3を介して、外部装置2との間でコマンド及びレスポンスの送受信を行う。
The
コマンド実行部102は、CPU11の制御により、コマンドの処理を実行する機能を有する。なお、暗号処理や復号処理などの所定の処理については、コマンド実行部102は、CPU11の制御により、コプロセッサ16に、例えば、処理の一部を実行させる。
The
レベル情報記憶部141は、例えば、EEPROM14を用いて実現され、耐タンパ性機能部20の作動レベルを規定するレベル情報を記憶する。レベル情報記憶部141は、例えば、図4に示すように、ランダムMC部21、グリッチ検出部22、ランダムウェイト部23、及びノイズジェネレータ部24のそれぞれに対応するレベル情報を記憶する。すなわち、レベル情報記憶部141は、複数の耐タンパ性機能部20のそれぞれに対応するレベル情報を記憶する。
The level
図4は、本実施形態のレベル情報記憶部141のデータ例を示す図である。この図に示す例では、レベル情報記憶部141は、「ランダムMC用のレベル情報」と、「グリッチ検出用のレベル情報」と、「ランダムウェイト用のレベル情報」と、「ノイズジェネレータ用のレベル情報」とを記憶している。
なお、レベル情報記憶部141が記憶するレベル情報は、ICカード1又はICモジュール10が出荷される前に、外部装置2によって記憶される(書き込まれる)。
FIG. 4 is a diagram illustrating a data example of the level
The level information stored in the level
また、図5は、本実施形態のレベル情報と作動レベルとの対応を示す図である。
図5に示すように、本実施形態では、レベル情報として、“55h”、“5Ah”、“A5h”、“AAh”の4つの作動レベルを設定する。ここで“h”は、16進数(ヘキサデシマル)データを示す。レベル情報が“55h”の場合には、耐タンパ作動レベルが、“レベル0”(耐タンパ性機能停止(OFF))の設定を示し、レベル情報が“5Ah”の場合には、耐タンパ作動レベルが、“レベル1”の設定を示している。また、レベル情報が“A5h”の場合には、耐タンパ作動レベルが、“レベル2”の設定を示し、レベル情報が“AAh”の場合には、耐タンパ作動レベルが、“レベル3”の設定を示している。なお、“レベル0”が、耐タンパ性が最も低い設定であり、“レベル3”が、耐タンパ性が最も高い設定である。
このように、レベル情報は、複数のビット(例えば、8ビット)により作動レベルを規定する。そして、レベル情報は、EEPROM14の消去状態を示すビットの状態である第1のビット状態(例えば、“1”状態)と、書き込む状態を示すビットの状態である第2のビット状態(例えば、“0”状態)とを含むデータで作動レベルを規定する。
FIG. 5 is a diagram showing the correspondence between the level information and the operation level of the present embodiment.
As shown in FIG. 5, in this embodiment, four operation levels of “55h”, “5Ah”, “A5h”, and “AAh” are set as level information. Here, “h” indicates hexadecimal (hexadecimal) data. When the level information is “55h”, the tamper resistant operation level indicates the setting of “level 0” (tamper resistant function stop (OFF)), and when the level information is “5 Ah”, the tamper resistant operation is performed. The level indicates the setting of “
As described above, the level information defines the operation level by a plurality of bits (for example, 8 bits). The level information includes a first bit state (for example, “1” state) that is a bit state indicating the erase state of the
変更禁止情報記憶部142は、例えば、EEPROM14を用いて実現され、レベル情報の変更を禁止する変更禁止情報を記憶する。なお、変更禁止情報記憶部142が記憶する変更禁止情報は、レベル情報が設定された後に、ICカード1又はICモジュール10が出荷される前に、外部装置2によって記憶される(書き込まれる)。
なお、EEPROM14は、上述したレベル情報記憶部141と、変更禁止情報記憶部142とを備えている。
The change prohibition
The
セキュリティ管理部103(管理部の一例)は、レベル情報記憶部141が記憶するレベル情報に基づいて、耐タンパ性機能部20を動作させる。セキュリティ管理部103は、例えば、レベル情報に基づいて、複数の耐タンパ性機能部20のそれぞれを動作させる。すなわち、セキュリティ管理部103は、図4に示すような各耐タンパ性機能部20用のレベル情報に基づいて、各耐タンパ性機能部20のそれぞれを動作させる。
また、セキュリティ管理部103は、レベル情報記憶部141が記憶するレベル情報を変更(設定)する変更要求(設定要求)を、通信部101が外部装置2から受信した場合に、変更要求に含まれるレベル情報の値に、レベル情報を変更する。なお、セキュリティ管理部103は、変更禁止情報記憶部142に変更禁止情報が記憶されている場合に、レベル情報の変更を実行しない。
The security management unit 103 (an example of a management unit) operates the tamper
The
また、セキュリティ管理部103は、変更禁止情報を変更禁止情報記憶部142に書き込む要求(設定要求)を、通信部101が外部装置2から受信した場合に、変更禁止情報記憶部142に変更禁止情報を記憶させる。
Further, when the
次に、図面を参照して、本実施形態によるICカード1及びICモジュール10の動作について説明する。
ここでは、まず、図6を参照して、ICカード1(又はICモジュール10)にレベル情報を設定する手順について説明する。なお、このレベル情報の設定は、例えば、ICカード1又はICモジュール10を出荷する前、且つ、発行処理を実行する前に外部装置2によって実行される。
Next, operations of the
Here, first, a procedure for setting level information in the IC card 1 (or IC module 10) will be described with reference to FIG. The level information is set by the
図6は、本実施形態によるICカード1のレベル情報の設定手順の一例を示すフローチャートである。
ここでは、ICカード1が発行業者に出荷される前に、ICカード1が外部装置2に接続され、レベル情報が設定される場合の一例について説明する。
FIG. 6 is a flowchart showing an example of the level information setting procedure of the
Here, an example in which the
図6に示すように、外部装置2は、ICカード1のシステム領域を書き込む(ステップS101)。すなわち、外部装置2は、ICカード1のEEPROM14に、カードOS(オペレーティングシステム)の設定情報や初期値情報などを記憶させる。この書き込みにより、ICカード1のカードOSが使用可能になり、ICカード1は、アプリケーション情報や個人情報などをEEPROM14に書き込む発行フェーズに移行することが可能になる。
As shown in FIG. 6, the
次に、外部装置2は、用途(例えば、アプリケーション)に応じたレベル情報を書き込む(ステップS102)。すなわち、外部装置2は、EEPROM14に、レベル情報を記憶させる。例えば、外部装置2は、用途に応じたレベル情報を書き込むコマンドをICカード1に送信し、コマンド実行部102が、対応するコマンド処理を実行することにより、用途に応じたレベル情報をEEPROM14のレベル情報記憶部141に記憶させる。なお、本実施形態のICカード1は、ランダムMC部21、グリッチ検出部22、ランダムウェイト部23、及びノイズジェネレータ部24などの複数の耐タンパ性機能部20を備えている。そのため、外部装置2は、各耐タンパ性機能部20に対応するレベル情報をレベル情報記憶部141に記憶させるコマンドをICカード1に送信する。
Next, the
例えば、ICカード1の用途が、銀行のキャッシュカードやクレジットカードなど、高いセキュリティレベルを必要とする場合には、ICカード1は、外部装置2を介して、例えば、耐タンパ性機能部20を全て最高作動レベルの“レベル3”に設定される。これにより、要求される高いセキュリティレベルを確保することができる。
また、ICカード1の用途が、例えば、長時間動作する可能性が高いETC(Electronic Toll Collection System:電子料金収受システム)などである場合には、ICカード1は、外部装置2を介して、例えば、グリッチ検出部22が低い作動レベルである“レベル1”に設定される。これにより、ETCの用途において、グリッチ検出部22がノイズを誤検出して、ICカード1の動作が停止することを防ぐことができる。
For example, when the use of the
Further, when the use of the
次に、外部装置2は、ICカード1を発行フェーズに移行させる(ステップS103)。すなわち、外部装置2は、ICカード1を発行フェーズに移行させるコマンドをICカード1に送信し、コマンド実行部102が、対応するコマンド処理を実行することにより、ICカード1を発行フェーズに移行させる。なお、ICカード1が発行フェーズに移行する際に、変更禁止情報をEEPROM14に記憶させる。ここで、発行フェーズに移行させるコマンドは、変更禁止情報を変更禁止情報記憶部142に書き込む要求(設定要求)を兼ねる。そのため、ICカード1を発行フェーズに移行させるコマンドに応じて、ICカード1のセキュリティ管理部103は、変更禁止情報記憶部142に変更禁止情報を記憶させる。これにより、以降の処理において、レベル情報記憶部141が記憶するレベル情報の変更が禁止される。ステップS103の処理後に、外部装置2は、処理を終了する。
Next, the
次に、図7を参照して、本実施形態のICカード1の動作について説明する。
図7は、本実施形態のICカード1の動作の一例を示すフローチャートである。なお、図7に示す例は、図6に示す設定手順により、用途に応じたレベル情報が設定された後のICカード1の動作を示している。
Next, the operation of the
FIG. 7 is a flowchart showing an example of the operation of the
ICカード1が外部装置2に接続されて、活性化されると、図7に示すように、ICカード1のセキュリティ管理部103は、まず、各耐タンパ性機能部20のレベル情報を取得する(ステップS201)。セキュリティ管理部103は、EEPROM14のレベル情報記憶部141から各耐タンパ性機能部20に対応するレベル情報を取得する。すなわち、セキュリティ管理部103は、例えば、ランダムMC部21、グリッチ検出部22、ランダムウェイト部23、及びノイズジェネレータ部24のそれぞれのレベル情報をレベル情報記憶部141から読み出す。
When the
次に、セキュリティ管理部103は、取得したレベル情報に基づいて、各耐タンパ性機能部20の作動レベルを変更する(ステップS202)。すなわち、セキュリティ管理部103は、各耐タンパ性機能部20に対して、取得したレベル情報に基づいて、作動レベルの設定を行う。セキュリティ管理部103は、例えば、ランダムMC部21、グリッチ検出部22、ランダムウェイト部23、及びノイズジェネレータ部24のそれぞれの作動レベルを、レベル情報に基づいて設定する。
なお、本実施形態では、用途に応じたレベル情報がレベル情報記憶部141に設定されており、各耐タンパ性機能部20には、セキュリティ管理部103は、用途に応じた設定を行うことになる。これにより、各耐タンパ性機能部20は、用途に応じた作動レベルにより動作する。
Next, the
In the present embodiment, level information corresponding to the use is set in the level
次に、ICカード1は、コマンドが受信されたが否かを判定する(ステップS203)。すなわち、ICカード1の通信部101が、コンタクト部3及び通信I/F部15を介して、外部装置2からコマンドを受信したか否かを判定する。通信部101は、コマンドを受信した場合(ステップS203:YES)に、処理をステップS204に進める。また、通信部101は、コマンドを受信していない場合(ステップS203:NO)に、ステップS203の処理に戻し、処理を繰り返す。
Next, the
ステップS204において、ICカード1のコマンド実行部102は、受信したコマンドに応じたコマンド処理を実行する。コマンド実行部102は、コマンド処理が終了すると、レスポンスを通信部101にレスポンスを送信させて、処理をステップS205に戻す。
In step S204, the
以上説明したように、本実施形態によるICモジュール10は、耐タンパ性の機能を有する耐タンパ性機能部20と、EEPROM14(書き換え可能な不揮発性記憶部の一例)と、セキュリティ管理部103(管理部の一例)とを備えている。EEPROM14は、耐タンパ性機能部20の作動レベルを規定するレベル情報を記憶する。セキュリティ管理部103は、EEPROM14が記憶するレベル情報に基づいて、耐タンパ性機能部20を動作させる。
これにより、本実施形態によるICモジュール10は、EEPROM14にレベル情報を設定することにより、例えば、用途に応じて、耐タンパ性機能部20の作動レベルを柔軟に変更することができる。よって、本実施形態によるICモジュール10は、セキュリティレベル又は性能の異なる様々な用途に使用することが可能になる。
As described above, the
Thereby, the
また、本実施形態によるICモジュール10は、EEPROM14にレベル情報を設定することにより、様々なセキュリティ設定を行うことができる。そのため、本実施形態によるICモジュール10は、例えば、セキュリティ認定を受ける際に、ROM13のプログラムを変更せずに、複数種類の認定を受けることができる。よって、本実施形態によるICモジュール10は、適切なセキュリティレベルを設定した認定を取得することができるとともに、認定のための期間及びコストを低減することができる。
The
また、本実施形態では、ICモジュール10は、耐タンパ性の機能の異なる耐タンパ性機能部20を複数備える。複数の耐タンパ性機能部20は、例えば、ランダムMC部21、グリッチ検出部22、ランダムウェイト部23、及びノイズジェネレータ部24などである。EEPROM14は、複数の耐タンパ性機能部20のそれぞれに対応するレベル情報を記憶する。そして、セキュリティ管理部103は、レベル情報に基づいて、複数の耐タンパ性機能部20のそれぞれを動作させる。
これにより、本実施形態によるICモジュール10は、用途に応じて、より複雑なセキュリティレベルを設定することができる。よって、本実施形態によるICモジュール10は、さらに様々な用途に使用することができる。
In the present embodiment, the
Thereby, the
また、本実施形態では、EEPROM14は、レベル情報の変更を禁止する変更禁止情報を記憶する。セキュリティ管理部103は、EEPROM14が記憶する変更禁止情報に基づいて、レベル情報の変更を禁止する。
これにより、本実施形態によるICモジュール10は、レベル情報の設定後に、変更を禁止することができる。よって、本実施形態によるICモジュール10は、発行処理後に、第三者にレベル情報の設定を変更されて、耐タンパ性機能部20の作動レベルを変更する機能を悪用される可能性を低減することができる。
In the present embodiment, the
Thereby, the
また、本実施形態では、レベル情報は、EEPROM14の消去状態を示すビットの状態である第1のビット状態(例えば、ビット“1”)と、EEPROM14の書き込む状態を示すビットの状態である第2のビット状態(例えば、ビット“0”)とを含む複数のビットにより作動レベルを規定する。レベル情報は、例えば、“55h”、“5Ah”、“A5h”、及び“AAh”など、ビット“1”とビット“0”とを同数含むデータにより設定される。
これにより、本実施形態によるICモジュール10は、例えば、EEPROM14に局所的に紫外線を照射するなどにより、レベル情報を改竄しようとした場合でも、レベル情報の改竄を検知することができるので、セキュリティを確保することができる。すなわち、本実施形態によるICモジュール10は、レベル情報が、上述のようなパターンデータにより設定されているので、例えば、紫外線を照射するなどにより、例えば、“AAh”から“55h”に変更するなどの適切な設定に変更することは困難であり、レベル情報の不正な改竄を防ぐことができる。
In the present embodiment, the level information includes a first bit state (for example, bit “1”) that is a bit state indicating the erase state of the
As a result, the
また、本実施形態によるICカード1は、耐タンパ性の機能を有する耐タンパ性機能部20と、EEPROM14(書き換え可能な不揮発性記憶部の一例)と、セキュリティ管理部103(管理部の一例)とを備えている。EEPROM14は、耐タンパ性機能部20の作動レベルを規定するレベル情報を記憶する。セキュリティ管理部103は、EEPROM14が記憶するレベル情報に基づいて、耐タンパ性機能部20を動作させる。
これにより、本実施形態によるICカード1は、ICモジュール10と同様に、セキュリティレベル又は性能の異なる様々な用途に使用することが可能になる。
In addition, the
As a result, the
また、本実施形態によるICカード1の製造方法は、EEPROM14に、レベル情報を記憶させる工程と、レベル情報の変更を禁止する変更禁止情報を不揮発性記憶部に記憶させる工程とを含んでいる。なお、ICカード1は、耐タンパ性の機能を有する耐タンパ性機能部20の作動レベルを規定するレベル情報に基づいて、耐タンパ性機能部20を動作させるセキュリティ管理部103を備える。
これにより、本実施形態による製造方法は、ICカード1をセキュリティレベル又は性能の異なる様々な用途に使用させることができる。
Further, the manufacturing method of the
Thereby, the manufacturing method according to the present embodiment can cause the
(第2の実施形態)
次に、図面を参照して、第2の実施形態によるICモジュール10及びICカード1について説明する。
本実施形態では、レベル情報が、複数の記憶領域に記憶されている場合の一例について説明する。
なお、本実施形態によるICカード1のハードウェア構成及び機能構成は、図2及び図3に示す第1の実施形態と同様であるので、ここではその説明を省略する。
(Second Embodiment)
Next, the
In the present embodiment, an example will be described in which level information is stored in a plurality of storage areas.
Note that the hardware configuration and functional configuration of the
図8は、本実施形態のレベル情報記憶部141のデータ例を示す図である。
この図に示すように、本実施形態のレベル情報記憶部141は、同一のレベル情報を複数の記憶領域(例えば、2箇所の記憶領域)に記憶している。すなわち、レベル情報記憶部141は、例えば、「レベル情報1」(D1)と、「レベル情報2」(D2)との2つのレベル情報を記憶している。ここで、「レベル情報1」(D1)と、「レベル情報2」(D2)とは、同一の情報であり、同一の情報をアドレスの異なる2つの記憶領域にミラーリングして記憶している。
FIG. 8 is a diagram illustrating an example of data in the level
As shown in this figure, the level
また、セキュリティ管理部103は、複数の記憶領域に記憶された複数のレベル情報に基づいて、耐タンパ性機能部20を動作させる。すなわち、セキュリティ管理部103は、例えば、複数のレベル情報が全て一致する場合に、当該レベル情報が改竄されていないと判定して、当該レベル情報に基づいて耐タンパ性機能部20の設定を行う。また、セキュリティ管理部103は、例えば、複数のレベル情報のうちいずれか1つでも一致しない場合に、当該レベル情報が改竄されている判定して、エラー処理を行う。ここで、エラー処理とは、ICカード1の動作を停止させる処理であってもよいし、耐タンパ性機能部20の作動レベルを最も高い設定にする処理であってもよい。
The
次に、本実施形態によるICカード1の動作について説明する。
まず、ICカード1のレベル情報の設定手順についての基本動作は、図6に示す第1の実施形態のレベル情報の設定手順と同様である。ただし、本実施形態では、ICカード1は、2つの記憶領域に、同一のレベル情報を記憶させる。
Next, the operation of the
First, the basic operation of the level information setting procedure of the
次に、図9を参照して、本実施形態によるICカード1の動作について説明する。
図9は、本実施形態のICカード1の動作の一例を示すフローチャートである。
図9に示す例は、用途に応じたレベル情報(例えば、「レベル情報1」(D1)及び「レベル情報2」(D2))が設定された後のICカード1の動作を示している。
Next, the operation of the
FIG. 9 is a flowchart showing an example of the operation of the
The example shown in FIG. 9 shows the operation of the
ICカード1が外部装置2に接続されて、活性化されると、図9に示すように、ICカード1のセキュリティ管理部103は、まず、各耐タンパ性機能部20の「レベル情報1」(D1)及び「レベル情報2」(D2)を取得する(ステップS301)。
When the
次に、セキュリティ管理部103は、「レベル情報1」(D1)と「レベル情報2」(D2)とが一致するか否かを判定する(ステップS302)。セキュリティ管理部103は、「レベル情報1」(D1)と「レベル情報2」(D2)とが一致する場合(ステップS302:YES)に、処理をステップS303に進める。また、セキュリティ管理部103は、「レベル情報1」(D1)と「レベル情報2」(D2)とが一致しない場合(ステップS302:NO)に、処理をステップS306に進める。
Next, the
ステップS303からステップS305までの処理は、図7に示すステップS202からステップS204までの処理と同様であるので、ここではその説明を省略する。
また、ステップS306において、セキュリティ管理部103は、エラー処理を実行して、処理を終了する。なお、ここでのエラー処理は、例えば、ICカード1の動作を停止させる処理である。
Since the processing from step S303 to step S305 is the same as the processing from step S202 to step S204 shown in FIG. 7, the description thereof is omitted here.
In step S306, the
以上説明したように、本実施形態では、EEPROM14は、同一のレベル情報を複数の記憶領域(例えば、2つの記憶領域)に記憶する。そして、セキュリティ管理部103は、複数の記憶領域に記憶された複数のレベル情報に基づいて、耐タンパ性機能部20を動作させる。
これにより、第三者がレベル情報を改竄する場合には、複数の記憶領域に記憶されたレベル情報を改竄する必要があるため、本実施形態のICモジュール10及びICカード1は、より高いセキュリティを保持しつつ、様々な用途に使用することが可能になる。
As described above, in the present embodiment, the
Thereby, when a third party falsifies the level information, it is necessary to falsify the level information stored in a plurality of storage areas. Therefore, the
(第3の実施形態)
次に、図面を参照して、第3の実施形態によるICモジュール10及びICカード1について説明する。
上述した第1の実施形態では、用途に応じて、耐タンパ性機能部20を動作させる異なるレベル情報を設定する例を説明したが、本実施形態では、ICカード1が実行する特定の処理に対応付けてレベル情報が設定される場合の一例について説明する。
なお、本実施形態によるICカード1のハードウェア構成及び機能構成は、図2及び図3に示す第1の実施形態と同様であるので、ここではその説明を省略する。
(Third embodiment)
Next, an
In the first embodiment described above, an example in which different level information for operating the tamper
Note that the hardware configuration and functional configuration of the
図10は、本実施形態のレベル情報記憶部141のデータ例を示す図である。
この図に示すように、本実施形態のレベル情報記憶部141は、複数の処理のそれぞれに対応するレベル情報を記憶する。この図に示す例では、レベル情報記憶部141は、例えば、「処理1」に対応する「ランダムMC用のレベル情報」と、「グリッチ検出用のレベル情報」と、「ランダムウェイト用のレベル情報」と、「ノイズジェネレータ用のレベル情報」とを記憶する。また、レベル情報記憶部141は、例えば、「処理2」に対応する「ランダムMC用のレベル情報」と、「グリッチ検出用のレベル情報」と、「ランダムウェイト用のレベル情報」と、「ノイズジェネレータ用のレベル情報」とを記憶する。このように、レベル情報記憶部141は、各処理に対応するレベル情報のテーブルとして、レベル情報を記憶する。
FIG. 10 is a diagram illustrating a data example of the level
As shown in this figure, the level
なお、レベル情報を設定する処理(特定の処理)は、例えば、暗号処理、復号処理、及び認証処理などのセキュリティに関する処理でもよいし、各種コマンド処理であってもよい。すなわち、レベル情報は、例えば、セキュリティに関する処理に対応して設定されてもよいし、各種コマンド処理に対応付けて設定されてもよい。 Note that the processing (specific processing) for setting level information may be security-related processing such as encryption processing, decryption processing, and authentication processing, or may be various command processing. In other words, the level information may be set in association with, for example, processing related to security, or may be set in association with various command processing.
また、本実施形態のセキュリティ管理部103は、レベル情報に基づいて、処理ごとに規定された作動レベルにより耐タンパ性機能部20を動作させる。例えば、セキュリティ管理部103は、複数の処理のうちの1つの処理を実行する場合に、当該処理に対応するレベル情報に基づいて、耐タンパ性機能部20を動作させる作動レベルを変更する。また、セキュリティ管理部103は、当該処理が完了した場合に、耐タンパ性機能部20を動作させる作動レベルを、当該処理の開始前の状態に戻す。
Further, the
なお、セキュリティ管理部103は、レベル情報記憶部141が記憶するレベル情報を取得した場合に、取得したレベル情報を、現在の作動レベルの設定値を示すカレントレベル情報として、一旦、RAM12に記憶させる。セキュリティ管理部103は、カレントレベル情報に基づいて、耐タンパ性機能部20を動作させる作動レベルを変更する。また、異なる処理に対応する作動レベル設定を行う場合には、セキュリティ管理部103は、カレントレベル情報をRAM12の別の記憶領域に一旦退避させた後に、レベル情報記憶部141が記憶するレベル情報をカレントレベル情報としてRAM12に記憶させる。また、当該処理が終了した場合には、セキュリティ管理部103は、退避した1つ前のカレントレベル情報をカレントレベル情報として戻し、戻した当該カレントレベル情報に基づいて、耐タンパ性機能部20を動作させる作動レベルを当該処理の開始前の状態に戻す。
When the
次に、本実施形態によるICカード1の動作について説明する。
まず、ICカード1のレベル情報の設定手順についての基本動作は、図6に示す第1の実施形態のレベル情報の設定手順と同様である。ただし、本実施形態では、ICカード1では、複数の処理のそれぞれに対応するレベル情報が記憶される。
Next, the operation of the
First, the basic operation of the level information setting procedure of the
次に、図11を参照して、本実施形態によるICカード1の動作について説明する。
図11は、本実施形態のICカード1の動作の一例を示すフローチャートである。
図11に示す例は、複数の処理それぞれに応じたレベル情報が設定された後のICカード1の動作を示している。なお、本実施形態では、レベル情報を設定する処理が、コマンド処理のうちの一部の機密性の高いセキュリティに関連する処理(以下、セキュリティ処理という)である場合の一例について説明する。
Next, the operation of the
FIG. 11 is a flowchart showing an example of the operation of the
The example shown in FIG. 11 shows the operation of the
ICカード1が外部装置2に接続されて活性化された状態において各種処理を実行する際に、図11に示すように、ICカード1のセキュリティ管理部103は、まず、実行する処理が、レベル情報が設定されているセキュリティ処理であるか否かを判定する(ステップS401)。セキュリティ管理部103は、セキュリティ処理である場合(ステップS401:YES)に、処理をステップS402に進める。また、セキュリティ管理部103は、セキュリティ処理でない場合(ステップS401:NO)に、処理をステップS406に進める。
When various processes are executed in a state where the
ステップS402において、当該処理に対応する各耐タンパ性機能部20のレベル情報を取得する。すなわち、セキュリティ管理部103は、例えば、当該処理に対応するランダムMC部21、グリッチ検出部22、ランダムウェイト部23、及びノイズジェネレータ部24のそれぞれのレベル情報をレベル情報記憶部141から読み出す。また、セキュリティ管理部103は、上述したRAM12のカレントレベル情報をRAM12の別の記憶領域に退避した後に、レベル情報記憶部141から読み出したレベル情報を新しいカレントレベル情報としてRAM12に記憶させる。
In step S402, the level information of each tamper resistant
次に、セキュリティ管理部103は、取得したレベル情報に基づいて、各耐タンパ性機能部20の作動レベルを変更する(ステップS403)。すなわち、セキュリティ管理部103は、RAM12のカレントレベル情報に基づいて、各耐タンパ性機能部20に対して、作動レベルの設定を行う。これにより、当該処理に対応した各耐タンパ性機能部20の作動レベルが設定される。
Next, the
次に、コマンド実行部102は、当該処理を実行する(ステップS404)。
次に、当該処理を実行が終了したら、セキュリティ管理部103は、耐タンパ性機能部20の作動レベルを戻す(ステップS405)。すなわち、セキュリティ管理部103は、退避した1つ前のカレントレベル情報を戻し、当該カレントレベル情報に基づいて、各耐タンパ性機能部20に対して作動レベルの設定を行う。
Next, the
Next, when the execution of the processing is completed, the
また、ステップS406において、コマンド実行部102は、所定の処理を実行する。ここでは、コマンド実行部102は、各耐タンパ性機能部20の作動レベルを変更せずに、所定の処理を実行する。
In step S406, the
次に、図12を参照して、処理に応じて、耐タンパ性機能部20の作動レベルを変更するICカード1の動作の一例を説明する。
図12は、本実施形態のICカード1の動作の一例を示す図である。
この図は、ICカード1が、要求されるセキュリティレベル及び性能の異なる「アプリケーションA」、「アプリケーションB」、及び「アプリケーションC」用にレベル情報が設定された場合の各ICカード1の動作の比較を示している。
Next, an example of the operation of the
FIG. 12 is a diagram illustrating an example of the operation of the
This figure shows the operation of each
「アプリケーションA」は、例えば、3つのアプリケーションうちで、要求されるセキュリティレベルが最も高く、処理時間に制限のない用途で使用される。また、「アプリケーションC」は、例えば、3つのアプリケーションうちで、処理時間に制限があり、要求されるセキュリティレベルが最も低い用途で使用される。また、「アプリケーションB」は、例えば、「アプリケーションA」と「アプリケーションC」との中間のセキュリティ
レベルが要求される用途で使用される。
“Application A” is used, for example, in a use requiring the highest security level among the three applications and having no limitation on the processing time. In addition, “application C” is used, for example, in applications where the processing time is limited and the required security level is the lowest among the three applications. In addition, “application B” is used, for example, in applications that require an intermediate security level between “application A” and “application C”.
ここで、「アプリケーションA」、「アプリケーションB」、及び「アプリケーションC」は、いずれも所定のコマンド処理(例えば、「コマンド処理X」において、「処理A」と「AES暗号処理」とが実行されるものとして説明する。
また、図12では、耐タンパ性機能部20は、ランダムMC部21と、ランダムウェイト部23とが使用される一例について説明する。
Here, “application A”, “application B”, and “application C” are all subjected to predetermined command processing (eg, “processing A” and “AES encryption processing” in “command processing X”). It will be described as a thing.
FIG. 12 illustrates an example in which the
図12に示す例では、「アプリケーションA」の「コマンド処理X」において、まず、セキュリティ管理部103は、レベル情報記憶部141が記憶する「コマンド処理X」に対応するレベル情報に基づいて、ランダムMC部21の作動レベルを“レベル3”に、ランダムウェイト部23の作動レベルを“レベル0(OFF)”に設定する。そして、「処理A」が実行される際に、セキュリティ管理部103は、レベル情報記憶部141が記憶する「処理A」に対応するレベル情報に基づいて、ランダムMC部21の作動レベルを“レベル3”に、ランダムウェイト部23の作動レベルを“レベル0(OFF)”に設定する。なお、ここでは、「コマンド処理X」のレベル情報と「処理A」のレベル情報とが同一の設定であるので、作動レベルは、変更されない。
In the example illustrated in FIG. 12, in “command processing X” of “application A”, first, the
次に、「AES暗号処理」が実行される際に、セキュリティ管理部103は、レベル情報記憶部141が記憶する「AES暗号処理」に対応するレベル情報に基づいて、ランダムMC部21の作動レベルを“レベル3”に、ランダムウェイト部23の作動レベルを“レベル3”に設定する。これにより、「AES暗号処理」の間に、ランダムMC部21及びランダムウェイト部23が、“レベル3”で作動することになる。
また、「AES暗号処理」が終了する際に、セキュリティ管理部103は、ランダムMC部21の作動レベルを“レベル3”に、ランダムウェイト部23の作動レベルを“レベル0(OFF)”に戻す。
このように、「アプリケーションA」では、他のアプリケーションに比べて高いセキュリティレベルが要求されるため、セキュリティ管理部103は、「AES暗号処理」の間に、ランダムMC部21及びランダムウェイト部23を“レベル3”で動作させる。そして、セキュリティ管理部103は、その他の処理の間には、ランダムMC部21を“レベル3”で動作させ、ランダムウェイト部23を動作させない。この場合、「アプリケーションA」では、「アプリケーションB」、及び「アプリケーションC」に比べて高いセキュリティレベルを確保することができる。
Next, when “AES encryption processing” is executed, the
When the “AES encryption process” is finished, the
As described above, since “application A” requires a higher security level than other applications, the
これに対して、「アプリケーションB」の「コマンド処理X」では、まず、セキュリティ管理部103は、レベル情報記憶部141が記憶する「コマンド処理X」に対応するレベル情報に基づいて、ランダムMC部21の作動レベルを“レベル0(OFF)”に、ランダムウェイト部23の作動レベルを“レベル0(OFF)”に設定する。そして、「処理A」が実行される際に、セキュリティ管理部103は、レベル情報記憶部141が記憶する「処理A」に対応するレベル情報に基づいて、ランダムMC部21の作動レベルを“レベル2”に、ランダムウェイト部23の作動レベルを“レベル0(OFF)”に設定する。そして、「処理A」が終了する際に、セキュリティ管理部103は、ランダムMC部21の作動レベルを“レベル0(OFF)”に、ランダムウェイト部23の作動レベルを“レベル0(OFF)”に戻す。
On the other hand, in the “command processing X” of “application B”, the
次に、「AES暗号処理」が実行される際に、セキュリティ管理部103は、レベル情報記憶部141が記憶する「AES暗号処理」に対応するレベル情報に基づいて、ランダムMC部21の作動レベルを“レベル3”に、ランダムウェイト部23の作動レベルを“レベル3”に設定する。そして、「AES暗号処理」が終了する際に、セキュリティ管理部103は、ランダムMC部21の作動レベルを“レベル0(OFF)”に、ランダムウェイト部23の作動レベルを“レベル0(OFF)”に戻す。
このように、「アプリケーションB」では、3つのアプリケーションの中で中間のセキュリティレベルが要求されるため、セキュリティ管理部103は、「AES暗号処理」の間に、ランダムMC部21及びランダムウェイト部23を“レベル3”で動作させる。また、セキュリティ管理部103は、「処理A」の間に、ランダムMC部21を“レベル2”で動作させ、ランダムウェイト部23を動作させない。そして、セキュリティ管理部103は、その他の処理の間には、ランダムMC部21及びランダムウェイト部23を動作させない。
Next, when “AES encryption processing” is executed, the
Thus, since “application B” requires an intermediate security level among the three applications, the
また、「アプリケーションC」の「コマンド処理X」では、まず、セキュリティ管理部103は、レベル情報記憶部141が記憶する「コマンド処理X」に対応するレベル情報に基づいて、ランダムMC部21の作動レベルを“レベル0(OFF)”に、ランダムウェイト部23の作動レベルを“レベル0(OFF)”に設定する。そして、「処理A」が実行される際に、セキュリティ管理部103は、レベル情報記憶部141が記憶する「処理A」に対応するレベル情報に基づいて、ランダムMC部21の作動レベルを“レベル0(OFF)”に、ランダムウェイト部23の作動レベルを“レベル0(OFF)”に設定する。なお、ここでは、「コマンド処理X」のレベル情報と「処理A」のレベル情報とが同一の設定であるので、作動レベルは、変更されない。
In “command processing X” of “application C”, first, the
次に、「AES暗号処理」が実行される際に、セキュリティ管理部103は、レベル情報記憶部141が記憶する「AES暗号処理」に対応するレベル情報に基づいて、ランダムMC部21の作動レベルを“レベル2”に、ランダムウェイト部23の作動レベルを“レベル2”に設定する。これにより、「AES暗号処理」の間に、ランダムMC部21及びランダムウェイト部23が、“レベル3”で作動することになる。
そして、「AES暗号処理」が終了する際に、セキュリティ管理部103は、ランダムMC部21の作動レベルを“レベル0(OFF)”に、ランダムウェイト部23の作動レベルを“レベル0(OFF)”に戻す。
Next, when “AES encryption processing” is executed, the
When the “AES encryption process” is finished, the
このように、「アプリケーションC」では、処理時間に制限があるため、セキュリティ管理部103は、「AES暗号処理」の間に、ランダムMC部21及びランダムウェイト部23を“レベル2”で動作させて、その他の処理の間には、ランダムMC部21及びランダムウェイト部23を動作させない。なお、ランダムMC部21及びランダムウェイト部23は、作動レベルが高い程、処理時間が長くなる。しかしながら、「アプリケーションC」では、「AES暗号処理」の間以外、ランダムMC部21及びランダムウェイト部23を動作させないので、「アプリケーションA」、及び「アプリケーションB」に比べて処理時間を短くすることができる。
As described above, since the processing time is limited in “application C”, the
なお、上述した例では、「コマンド処理X」、「処理A」、及び「AES暗号処理」についてレベル情報を設定する例を説明したが、他の機密性の高いセキュリティ処理において、同様に実施してもよい。また、上述した例では、ランダムMC部21及びランダムウェイト部23の作動レベルを設定する例を説明したが、ランダムMC部21及びランダムウェイト部23の他の耐タンパ性機能部20を用いて実施してもよい。
In the above-described example, the example in which the level information is set for “command processing X”, “processing A”, and “AES encryption processing” has been described. May be. Moreover, although the example which sets the operation level of the
以上説明したように、本実施形態では、EEPROM14は、複数の処理のそれぞれに対応するレベル情報を記憶する。そして、セキュリティ管理部103は、レベル情報に基づいて、処理ごとに規定された作動レベルにより耐タンパ性機能部20を動作させる。
これにより、本実施形態のICモジュール10及びICカード1は、図12に示したように、セキュリティレベル及び性能(例えば、処理時間)の要求に応じて、処理ごとに耐タンパ性機能部20の作動レベルを設定するので、より複雑な耐タンパ性機能部20の作動レベルの制御が可能になる。よって、本実施形態のICモジュール10及びICカード1は、セキュリティレベル及び性能(例えば、処理時間)の要求に応じて、さらに様々な用途に使用することが可能になる。
As described above, in the present embodiment, the
Thereby, as shown in FIG. 12, the
また、本実施形態では、セキュリティ管理部103は、複数の処理のうちの1つの処理を実行する場合に、当該処理に対応するレベル情報に基づいて、耐タンパ性機能部20を動作させる作動レベルを変更する。そして、セキュリティ管理部103は、当該処理が完了した場合に、耐タンパ性機能部20を動作させる作動レベルを、当該処理の開始前の状態に戻す。
これにより、本実施形態のICモジュール10及びICカード1は、耐タンパ性機能部20を動作させる作動レベルを処理ごとに適切に変更することができる。
In the present embodiment, the
Thereby, the
上記の各実施形態において、各実施形態を単独で実施する場合の例を説明したが、各実施形態を組み合わせて実施してもよい。例えば、第2の実施形態と、第3の実施形態とを組み合わせて実施してもよい。 In each of the above embodiments, an example in which each embodiment is implemented alone has been described, but the embodiments may be combined and implemented. For example, you may implement combining 2nd Embodiment and 3rd Embodiment.
また、上記の各実施形態において、ICカード1は、書き換え可能な不揮発性メモリとして、EEPROM14を備える構成としたが、これに限定されるものではない。例えば、ICカード1は、EEPROM14の代わりに、フラッシュEEPROM、FeRAM(Ferroelectric Random Access Memory:強誘電体メモリ)などを備えてもよい。
また、上記の各実施形態において、ICカード1は、コンタクト部3を介して外部装置2と通信する例を説明したが、コイルなどを用いたコンタクトレスインターフェースを介して外部装置2と通信するように構成してもよい。
Further, in each of the embodiments described above, the
In each of the above embodiments, the
また、上記の各実施形態において、ICカード1は、耐タンパ性機能部20として、ランダムMC部21、グリッチ検出部22、ランダムウェイト部23、及びノイズジェネレータ部24を備える例を説明したが、これに限定されるものではない。ICカード1は、他の耐タンパ性の機能を有する耐タンパ性機能部20を備えていてもよいし、ランダムMC部21、グリッチ検出部22、ランダムウェイト部23、及びノイズジェネレータ部24のうちの一部を備えていてもよい。
In each of the above embodiments, the
また、上記の各実施形態において、コプロセッサ16が、AES暗号処理を行う例を説明したが、CPU11のプログラム処理によりAES暗号処理が実行されてもよい。
また、上記の各実施形態において、ICカード1が、レベル情報の変更を禁止する機能を備える例を説明したが、備えない構成であってもよい。また、ICカード1又はICモジュール10が出荷される前に、レベル情報の変更を禁止する処理が実行される例を説明したが、これに限定されるものではなく、レベル情報の変更を禁止する処理が実行されない形態であってもよい。
Further, in each of the above embodiments, the example in which the coprocessor 16 performs the AES encryption process has been described. However, the AES encryption process may be executed by the program processing of the
In each of the above embodiments, the example in which the
また、上記の第2の実施形態において、レベル情報記憶部141が、同一のレベル情報を2つの記憶領域に記憶する例を説明したが、これに限定されるものではなく、3つ以上の記憶領域に記憶してもよい。
また、上記の第3の実施形態において、レベル情報記憶部141が、各処理に対応するレベル情報を記憶する例を説明したが、例えば、ICカード1が複数のアプリケーションを有する場合などには、アプリケーションに対応したレベル情報を記憶するようにしてもよい。この場合、ICモジュール10及びICカード1は、アプリケーションに対応して、セキュリティレベル及び性能(例えば、処理時間)を柔軟に変更することができる。
In the second embodiment, the example in which the level
Further, in the third embodiment, the example in which the level
以上説明した少なくともひとつの実施形態によれば、耐タンパ性の機能を有する耐タンパ性機能部20と、耐タンパ性機能部20の作動レベルを規定するレベル情報を記憶するEEPROM14と、レベル情報に基づいて、耐タンパ性機能部20を動作させるセキュリティ管理部103とを持つことにより、様々な用途に使用することができる。
According to at least one embodiment described above, the tamper
なお、実施形態におけるICカード1が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述したICカード1が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD−ROM等の非一過性の記録媒体であってもよい。
Note that a program for realizing the function of each component included in the
Further, the “computer system” may include a plurality of computer devices connected via a network including a communication line such as the Internet, WAN, LAN, and dedicated line. The “computer-readable recording medium” refers to a storage device such as a flexible medium, a magneto-optical disk, a portable medium such as a ROM and a CD-ROM, and a hard disk incorporated in a computer system. As described above, the recording medium storing the program may be a non-transitory recording medium such as a CD-ROM.
また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後にICカード1が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
The recording medium also includes a recording medium provided inside or outside that is accessible from the distribution server in order to distribute the program. It should be noted that the program may be divided into a plurality of parts and downloaded at different timings, and the structure combined with each component provided in the
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。 Although several embodiments of the present invention have been described, these embodiments are presented by way of example and are not intended to limit the scope of the invention. These embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the spirit of the invention. These embodiments and their modifications are included in the scope and gist of the invention, and are also included in the invention described in the claims and the equivalents thereof.
1…ICカード、2…外部装置、3…コンタクト部、4…カード基材、10‥ICモジュール、11…CPU、12…RAM、13…ROM、14…EEPROM、15…通信I/F部、16…コプロセッサ、17…内部バス、20…耐タンパ性機能部、21…ランダムMC部、22…グリッチ検出部、23…ランダムウェイト部、24…ノイズジェネレータ部、100…ICチップ、101…通信部、102…コマンド実行部、103…セキュリティ管理部、141…レベル情報記憶部、142…変更禁止情報記憶部
DESCRIPTION OF
Claims (10)
前記耐タンパ性機能部の作動レベルを規定するレベル情報を記憶する書き換え可能な不揮発性記憶部と、
前記レベル情報に基づいて、前記耐タンパ性機能部を動作させる管理部と
を備え、
前記不揮発性記憶部は、複数の処理のそれぞれに対応する前記レベル情報を記憶し、
前記管理部は、前記レベル情報に基づいて、処理ごとに規定された作動レベルにより前記耐タンパ性機能部を動作させる
ICモジュール。 A tamper resistant functional part having a tamper resistant function;
A rewritable nonvolatile storage unit that stores level information that defines an operation level of the tamper resistant function unit;
A management unit that operates the tamper resistant functional unit based on the level information, and
The non-volatile storage unit stores the level information corresponding to each of a plurality of processes,
The management unit is an IC module that operates the tamper resistant function unit at an operation level defined for each process based on the level information .
前記不揮発性記憶部は、前記複数の耐タンパ性機能部のそれぞれに対応する前記レベル情報を記憶し、
前記管理部は、前記レベル情報に基づいて、前記複数の耐タンパ性機能部のそれぞれを動作させる
請求項1に記載のICモジュール。 Provided with a plurality of tamper-resistant functional portions having different tamper-resistant functions,
The nonvolatile storage unit stores the level information corresponding to each of the plurality of tamper resistant functional units,
The IC module according to claim 1, wherein the management unit operates each of the plurality of tamper-resistant functional units based on the level information.
前記複数の処理のうちの1つの処理を実行する場合に、当該処理に対応する前記レベル情報に基づいて、前記耐タンパ性機能部を動作させる作動レベルを変更し、
当該処理が完了した場合に、前記耐タンパ性機能部を動作させる作動レベルを、当該処理の開始前の状態に戻す
請求項1又は請求項2に記載のICモジュール。 The management unit
When executing one of the plurality of processes, based on the level information corresponding to the process, change the operation level for operating the tamper resistant function unit,
The IC module according to claim 1 or 2 , wherein when the processing is completed, the operation level for operating the tamper-resistant function unit is returned to a state before the processing is started.
前記管理部は、前記変更禁止情報に基づいて、前記レベル情報の変更を禁止する
請求項1から請求項3のいずれか一項に記載のICモジュール。 The nonvolatile storage unit stores change prohibition information for prohibiting the change of the level information,
The IC module according to any one of claims 1 to 3 , wherein the management unit prohibits the change of the level information based on the change prohibition information.
前記耐タンパ性機能部の作動レベルを規定するレベル情報を記憶する書き換え可能な不揮発性記憶部と、 A rewritable nonvolatile storage unit that stores level information that defines an operation level of the tamper resistant function unit;
前記レベル情報に基づいて、前記耐タンパ性機能部を動作させる管理部と Based on the level information, a management unit that operates the tamper resistant function unit;
を備え、 With
前記不揮発性記憶部は、同一の前記レベル情報を複数の記憶領域に記憶し、 The nonvolatile storage unit stores the same level information in a plurality of storage areas,
前記管理部は、前記複数の記憶領域に記憶された複数の前記レベル情報に基づいて、前記耐タンパ性機能部を動作させる The management unit operates the tamper resistant function unit based on a plurality of the level information stored in the plurality of storage areas.
ICモジュール。 IC module.
前記不揮発性記憶部は、前記複数の耐タンパ性機能部のそれぞれに対応する前記レベル情報を記憶し、 The nonvolatile storage unit stores the level information corresponding to each of the plurality of tamper resistant functional units,
前記管理部は、前記レベル情報に基づいて、前記複数の耐タンパ性機能部のそれぞれを動作させる The management unit operates each of the plurality of tamper resistant functional units based on the level information.
請求項5に記載のICモジュール。 The IC module according to claim 5.
前記管理部は、前記複数の記憶領域に記憶された複数の前記レベル情報に基づいて、前記耐タンパ性機能部を動作させる
請求項1から請求項4のいずれか一項に記載のICモジュール。 The nonvolatile storage unit stores the same level information in a plurality of storage areas,
The IC module according to any one of claims 1 to 4 , wherein the management unit operates the tamper resistant function unit based on a plurality of the level information stored in the plurality of storage areas.
請求項1から請求項7のいずれか一項に記載のICモジュール。 The level information includes a first bit state that is a bit state that indicates an erase state of the nonvolatile storage unit, and a second bit state that is a bit state that indicates a write state of the nonvolatile storage unit. The IC module according to any one of claims 1 to 7 , wherein the operation level is defined by a plurality of bits.
前記ICモジュールが埋め込まれた本体と
を備えるICカード。 The IC module according to any one of claims 1 to 8 ,
An IC card comprising: a main body in which the IC module is embedded.
書き換え可能な不揮発性記憶部に、複数の処理のそれぞれに対応する前記レベル情報を記憶させる工程と、
前記レベル情報の変更を禁止する変更禁止情報を前記不揮発性記憶部に記憶させる工程と
を含むICカードの製造方法。 Management for operating the tamper-resistant function unit according to the operation level defined for each process based on the level information based on the level information defining the operation level of the tamper-resistant function unit having a tamper-resistant function A method of manufacturing an IC card comprising a portion,
Storing the level information corresponding to each of a plurality of processes in a rewritable nonvolatile storage unit;
Storing the change prohibition information for prohibiting the change of the level information in the non-volatile storage unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014171617A JP6396119B2 (en) | 2014-08-26 | 2014-08-26 | IC module, IC card, and IC card manufacturing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014171617A JP6396119B2 (en) | 2014-08-26 | 2014-08-26 | IC module, IC card, and IC card manufacturing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016045864A JP2016045864A (en) | 2016-04-04 |
JP6396119B2 true JP6396119B2 (en) | 2018-09-26 |
Family
ID=55636328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014171617A Active JP6396119B2 (en) | 2014-08-26 | 2014-08-26 | IC module, IC card, and IC card manufacturing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6396119B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018101193A (en) * | 2016-12-19 | 2018-06-28 | 株式会社東芝 | Portable electronic device and IC card |
JP2020013249A (en) * | 2018-07-17 | 2020-01-23 | 凸版印刷株式会社 | IC chip and IC card |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009289017A (en) * | 2008-05-29 | 2009-12-10 | Sony Corp | Information processing apparatus and method, program, and recording medium |
JP5776927B2 (en) * | 2011-03-28 | 2015-09-09 | ソニー株式会社 | Information processing apparatus and method, and program |
-
2014
- 2014-08-26 JP JP2014171617A patent/JP6396119B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016045864A (en) | 2016-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1396815B1 (en) | Memory card | |
US7821841B2 (en) | Method of detecting a light attack against a memory device and memory device employing a method of detecting a light attack | |
JP5041980B2 (en) | Data processing circuit and communication portable terminal device | |
TW201543265A (en) | Apparatuses and methods for securing an access protection scheme | |
WO2017097042A1 (en) | Secure chip, and nonvolatile storage control device and method for same | |
KR20170102285A (en) | Security Elements | |
JP6396119B2 (en) | IC module, IC card, and IC card manufacturing method | |
US20060289656A1 (en) | Portable electronic apparatus and data output method therefor | |
US7730115B2 (en) | System, microcontroller and methods thereof | |
US9298533B2 (en) | Portable data carrier having operating error counter | |
US20030133241A1 (en) | Method and arrangement for protecting digital parts of circuits | |
US20140289874A1 (en) | Integrated circuit (ic) chip and method of verifying data thereof | |
EP3023925B1 (en) | Secure element with applications | |
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 | |
JP5724387B2 (en) | Portable device and dynamic data storage position changing method | |
JP4899499B2 (en) | IC card issuing method, IC card issuing system, and IC card | |
US7688637B2 (en) | Memory self-test circuit, semiconductor device and IC card including the same, and memory self-test method | |
JP6439408B2 (en) | IC card with display function and control method | |
JP6387767B2 (en) | Electronic information recording medium, IC card, check method, and processing program | |
JP6160326B2 (en) | Information storage medium, information writing method, and writing program | |
JP2020013249A (en) | IC chip and IC card | |
JP2011180963A (en) | Semiconductor integrated circuit device | |
JP2018163446A (en) | Electronic information storage medium, ic card, tampering check method, and tampering check program | |
JP5293113B2 (en) | SEMICONDUCTOR DEVICE, SEMICONDUCTOR DEVICE CONTROL METHOD, AND SEMICONDUCTOR DEVICE CONTROL PROGRAM |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170317 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20170911 Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20170911 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180123 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180314 |
|
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: 20180731 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180829 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6396119 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |