JP6396119B2 - Icモジュール、icカード、及びicカードの製造方法 - Google Patents

Icモジュール、icカード、及びicカードの製造方法 Download PDF

Info

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
Application number
JP2014171617A
Other languages
English (en)
Other versions
JP2016045864A (ja
Inventor
友枝 裕樹
裕樹 友枝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Infrastructure Systems and Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Infrastructure Systems and Solutions 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, Toshiba Infrastructure Systems and Solutions Corp filed Critical Toshiba Corp
Priority to JP2014171617A priority Critical patent/JP6396119B2/ja
Publication of JP2016045864A publication Critical patent/JP2016045864A/ja
Application granted granted Critical
Publication of JP6396119B2 publication Critical patent/JP6396119B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明の実施形態は、ICモジュール、ICカード、及びICカードの製造方法に関する。
近年、IC(Integrated Circuit)チップを搭載したICカードが、様々な分野で使用されるようになってきている。ICカードには、内部解析(リバースエンジニアリング)や改変に対する防護を行う耐タンパ性の機能を備えるものがある。従来のICカードは、耐タンパ性の機能を備えることでセキュリティが向上する一方で、処理時間が増加するなど性能が低下し、セキュリティと性能とを両立させることが困難な場合があった。そのため、従来のICカードは、セキュリティ面又は性能面から用途によって使用することができない可能性があった。
特開2003−196160号公報
本発明が解決しようとする課題は、様々な用途に使用することができるICモジュール、ICカード、及びICカードの製造方法を提供することである。
実施形態のICモジュールは、耐タンパ性機能部と、不揮発性記憶部と、管理部とを持つ。耐タンパ性機能部は、耐タンパ性の機能を有する。書き換え可能な不揮発性記憶部は、前記耐タンパ性機能部の作動レベルを規定するレベル情報を記憶する。管理部は、前記レベル情報に基づいて、前記耐タンパ性機能部を動作させる。前記不揮発性記憶部は、複数の処理のそれぞれに対応する前記レベル情報を記憶し、前記管理部は、前記レベル情報に基づいて、処理ごとに規定された作動レベルにより前記耐タンパ性機能部を動作させる。
第1の実施形態のICカードの一例を示す外観図。 第1の実施形態のICカードのハードウェア構成例を示す図。 第1の実施形態のICカードの機能構成例を示すブロック図。 第1の実施形態のレベル情報記憶部のデータ例を示す図。 第1の実施形態のレベル情報と作動レベルとの対応を示す図。 第1の実施形態のICカードのレベル情報の設定手順の一例を示すフローチャート。 第1の実施形態のICカードの動作の一例を示すフローチャート。 第2の実施形態のレベル情報記憶部のデータ例を示す図。 第2の実施形態のICカードの動作の一例を示すフローチャート。 第3の実施形態のレベル情報記憶部のデータ例を示す図。 第3の実施形態のICカードの動作の一例を示すフローチャート。 第3の実施形態のICカードの動作の一例を示す図。
以下、実施形態のICモジュール、ICカード、及びICカードの製造方法を、図面を参照して説明する。
(第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と通信可能である。
ICカード1は、例えば、外部装置2が送信したコマンド(処理要求)を、コンタクト部3を介して受信し、受信したコマンドに応じた処理(コマンド処理)を実行する。そして、ICカード1は、コマンド処理の実行結果であるレスポンス(処理応答)を外部装置2にコンタクト部3を介して送信する。
ここで、外部装置2は、ICカード1と通信する上位装置であり、例えば、リーダ/ライタ装置などである。
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)である。
図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を介して接続されている。
CPU11は、ROM13又はEEPROM14に記憶されているプログラムを実行して、ICカード1の各種処理を行う。CPU11は、例えば、コンタクト部3を介して、通信I/F部15が受信したコマンドに応じたコマンド処理を実行する。
RAM12は、例えば、SRAM(Static RAM)などの揮発性メモリであり、ICカード1の各種処理を行う際に利用されるデータを一時記憶する。
ROM13は、例えば、マスクROMなどの不揮発性メモリであり、ICカード1の各種処理を実行するためのプログラム、及びコマンドテーブルなどのデータを記憶する。
EEPROM14(書き換え可能な不揮発性記憶部の一例)は、例えば、電気的に書き換え可能な不揮発性メモリである。EEPROM14は、後述するレベル情報、及びレベル情報の変更を禁止する変更禁止情報などを記憶する。
通信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を介して各部に供給される。
コプロセッサ16は、暗号処理や復号処理を高速に行うための補助的な回路であり、例えば、AES(Advanced Encryption Standard)暗号やRSA暗号などの処理、又は当該処理の一部を実行する。コプロセッサ16は、例えば、CPU11により指示されて、暗号処理や復号処理に関する処理を実行する。
内部バス17は、例えば、内部バス17に接続された各部の間におけるデータ転送を行うバスである。
耐タンパ性機能部20は、例えば、セキュリティを高める機能の1つであり、耐タンパ性の機能を有する機能部である。ここで、耐タンパ性とは、例えば、内部解析(リバースエンジニアリング)や改変に対する防護力のことであり、外部からの非正規な手段による機密データの読み取りや解析を防ぐ能力のことである。ICカード1を攻撃する手法としては、例えば、電力解析攻撃などのサイドチャネル攻撃や故障利用解析攻撃などがあり、耐タンパ性機能部20は、これらの攻撃を防護する機能を有する。
上述したように、本実施形態では、ICモジュール10は、例えば、ランダムMC部21と、グリッチ検出部22と、ランダムウェイト部23と、ノイズジェネレータ部24とを、耐タンパ性の機能の異なる耐タンパ性機能部20として備えているものとして説明する。また、各耐タンパ性機能部20は、CPU11からの設定により、耐タンパ性機能の作動レベルを設定できるものとする。
なお、ランダムMC部21、グリッチ検出部22、ランダムウェイト部23、及びノイズジェネレータ部24は、ICカード1が備える任意の耐タンパ性機能部を示す場合、又は特に区別しない場合には、耐タンパ性機能部20と称して説明する。
ランダムMC部21は、CPU11の処理において、ランダムにダミーサイクルを挿入し、CPU11の実行クロック数(マシンサイクル数)を特定の範囲内でランダムに変更するCPU11用のランダムウェイト部である。ランダムMC部21は、作動レベルの設定に応じて、ランダムMC部21の動作停止(OFF)を含む、実行クロック数を変更する頻度を変更する。
グリッチ検出部22は、コンタクト部3を介して通信I/F部15に供給される信号にグリッチが載せられたことを検出する。なお、例えば、故障利用解析攻撃では、誤動作を誘発させるノイズをICカード1に供給される信号に重畳させることがある。ここで、グリッチとは、例えば、この誤動作を誘発させるノイズのことである。グリッチ検出部22は、例えば、電源電圧に所定の電圧以上のグリッチが入力されたことを検出する。すなわち、グリッチ検出部22は、例えば、電源電圧が所定の電圧範囲を超えたことを検出する。この場合、グリッチ検出部22は、電源電圧のグリッチ検出機能の動作停止(OFF)の作動レベル設定を含み、作動レベルの設定に応じて、グリッチを検出する感度(例えば、閾値電圧)を変更する。
また、グリッチ検出部22は、例えば、CLK端子に供給されるCLK信号の周波数が所定の範囲を超えたことを検出する。この場合、グリッチ検出部22は、CLK信号の周波数のグリッチ検出機能の動作停止(OFF)の作動レベル設定を含み、作動レベルの設定に応じて、グリッチを検出する感度(例えば、周波数範囲)を変更する。
また、グリッチ検出部22は、例えば、CLK端子に供給されるCLK信号の電圧、及びRST端子に供給されるRST信号の電圧が所定の範囲を超えたことを検出する。この場合、グリッチ検出部22は、CLK信号の電圧又はRST信号の電圧におけるグリッチ検出機能の動作停止(OFF)の作動レベル設定を含み、作動レベルの設定に応じて、グリッチを検出する感度(例えば、閾値電圧)を変更する。
ランダムウェイト部23は、例えば、コプロセッサ16の処理において、ランダムにダミーサイクルを挿入する。ランダムウェイト部23は、作動レベルの設定に応じて、ランダムウェイト部23の動作停止(OFF)を含む、ダミーサイクルの挿入頻度を変更する。
ノイズジェネレータ部24は、例えば、ICカード1が消費する消費電力を特定の範囲内でランダムに変更する。ノイズジェネレータ部24は、作動レベルの設定に応じて、ノイズジェネレータ部24の動作停止(OFF)を含む、消費電力の範囲を変更する。
次に、図3を参照して、本実施形態によるICカード1の機能構成例について説明する。
図3は、本実施形態のICカード1の機能構成例を示すブロック図である。
この図に示すように、ICカード1は、通信部101と、コマンド実行部102と、セキュリティ管理部103と、レベル情報記憶部141と、変更禁止情報記憶部142と、ランダムMC部21と、グリッチ検出部22と、ランダムウェイト部23と、ノイズジェネレータ部24とを備えている。
ここで、図3に示される各部は、図2に示されるハードウェアを用いて実現される。
通信部101は、例えば、通信I/F部15と、CPU11と、ROM13に記憶されているプログラムとにより実現され、コンタクト部3を介して、外部装置2との間でコマンド及びレスポンスの送受信を行う。
コマンド実行部102は、CPU11の制御により、コマンドの処理を実行する機能を有する。なお、暗号処理や復号処理などの所定の処理については、コマンド実行部102は、CPU11の制御により、コプロセッサ16に、例えば、処理の一部を実行させる。
レベル情報記憶部141は、例えば、EEPROM14を用いて実現され、耐タンパ性機能部20の作動レベルを規定するレベル情報を記憶する。レベル情報記憶部141は、例えば、図4に示すように、ランダムMC部21、グリッチ検出部22、ランダムウェイト部23、及びノイズジェネレータ部24のそれぞれに対応するレベル情報を記憶する。すなわち、レベル情報記憶部141は、複数の耐タンパ性機能部20のそれぞれに対応するレベル情報を記憶する。
図4は、本実施形態のレベル情報記憶部141のデータ例を示す図である。この図に示す例では、レベル情報記憶部141は、「ランダムMC用のレベル情報」と、「グリッチ検出用のレベル情報」と、「ランダムウェイト用のレベル情報」と、「ノイズジェネレータ用のレベル情報」とを記憶している。
なお、レベル情報記憶部141が記憶するレベル情報は、ICカード1又はICモジュール10が出荷される前に、外部装置2によって記憶される(書き込まれる)。
また、図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”状態)とを含むデータで作動レベルを規定する。
変更禁止情報記憶部142は、例えば、EEPROM14を用いて実現され、レベル情報の変更を禁止する変更禁止情報を記憶する。なお、変更禁止情報記憶部142が記憶する変更禁止情報は、レベル情報が設定された後に、ICカード1又はICモジュール10が出荷される前に、外部装置2によって記憶される(書き込まれる)。
なお、EEPROM14は、上述したレベル情報記憶部141と、変更禁止情報記憶部142とを備えている。
セキュリティ管理部103(管理部の一例)は、レベル情報記憶部141が記憶するレベル情報に基づいて、耐タンパ性機能部20を動作させる。セキュリティ管理部103は、例えば、レベル情報に基づいて、複数の耐タンパ性機能部20のそれぞれを動作させる。すなわち、セキュリティ管理部103は、図4に示すような各耐タンパ性機能部20用のレベル情報に基づいて、各耐タンパ性機能部20のそれぞれを動作させる。
また、セキュリティ管理部103は、レベル情報記憶部141が記憶するレベル情報を変更(設定)する変更要求(設定要求)を、通信部101が外部装置2から受信した場合に、変更要求に含まれるレベル情報の値に、レベル情報を変更する。なお、セキュリティ管理部103は、変更禁止情報記憶部142に変更禁止情報が記憶されている場合に、レベル情報の変更を実行しない。
また、セキュリティ管理部103は、変更禁止情報を変更禁止情報記憶部142に書き込む要求(設定要求)を、通信部101が外部装置2から受信した場合に、変更禁止情報記憶部142に変更禁止情報を記憶させる。
次に、図面を参照して、本実施形態によるICカード1及びICモジュール10の動作について説明する。
ここでは、まず、図6を参照して、ICカード1(又はICモジュール10)にレベル情報を設定する手順について説明する。なお、このレベル情報の設定は、例えば、ICカード1又はICモジュール10を出荷する前、且つ、発行処理を実行する前に外部装置2によって実行される。
図6は、本実施形態によるICカード1のレベル情報の設定手順の一例を示すフローチャートである。
ここでは、ICカード1が発行業者に出荷される前に、ICカード1が外部装置2に接続され、レベル情報が設定される場合の一例について説明する。
図6に示すように、外部装置2は、ICカード1のシステム領域を書き込む(ステップS101)。すなわち、外部装置2は、ICカード1のEEPROM14に、カードOS(オペレーティングシステム)の設定情報や初期値情報などを記憶させる。この書き込みにより、ICカード1のカードOSが使用可能になり、ICカード1は、アプリケーション情報や個人情報などをEEPROM14に書き込む発行フェーズに移行することが可能になる。
次に、外部装置2は、用途(例えば、アプリケーション)に応じたレベル情報を書き込む(ステップS102)。すなわち、外部装置2は、EEPROM14に、レベル情報を記憶させる。例えば、外部装置2は、用途に応じたレベル情報を書き込むコマンドをICカード1に送信し、コマンド実行部102が、対応するコマンド処理を実行することにより、用途に応じたレベル情報をEEPROM14のレベル情報記憶部141に記憶させる。なお、本実施形態のICカード1は、ランダムMC部21、グリッチ検出部22、ランダムウェイト部23、及びノイズジェネレータ部24などの複数の耐タンパ性機能部20を備えている。そのため、外部装置2は、各耐タンパ性機能部20に対応するレベル情報をレベル情報記憶部141に記憶させるコマンドをICカード1に送信する。
例えば、ICカード1の用途が、銀行のキャッシュカードやクレジットカードなど、高いセキュリティレベルを必要とする場合には、ICカード1は、外部装置2を介して、例えば、耐タンパ性機能部20を全て最高作動レベルの“レベル3”に設定される。これにより、要求される高いセキュリティレベルを確保することができる。
また、ICカード1の用途が、例えば、長時間動作する可能性が高いETC(Electronic Toll Collection System:電子料金収受システム)などである場合には、ICカード1は、外部装置2を介して、例えば、グリッチ検出部22が低い作動レベルである“レベル1”に設定される。これにより、ETCの用途において、グリッチ検出部22がノイズを誤検出して、ICカード1の動作が停止することを防ぐことができる。
次に、外部装置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は、処理を終了する。
次に、図7を参照して、本実施形態のICカード1の動作について説明する。
図7は、本実施形態のICカード1の動作の一例を示すフローチャートである。なお、図7に示す例は、図6に示す設定手順により、用途に応じたレベル情報が設定された後のICカード1の動作を示している。
ICカード1が外部装置2に接続されて、活性化されると、図7に示すように、ICカード1のセキュリティ管理部103は、まず、各耐タンパ性機能部20のレベル情報を取得する(ステップS201)。セキュリティ管理部103は、EEPROM14のレベル情報記憶部141から各耐タンパ性機能部20に対応するレベル情報を取得する。すなわち、セキュリティ管理部103は、例えば、ランダムMC部21、グリッチ検出部22、ランダムウェイト部23、及びノイズジェネレータ部24のそれぞれのレベル情報をレベル情報記憶部141から読み出す。
次に、セキュリティ管理部103は、取得したレベル情報に基づいて、各耐タンパ性機能部20の作動レベルを変更する(ステップS202)。すなわち、セキュリティ管理部103は、各耐タンパ性機能部20に対して、取得したレベル情報に基づいて、作動レベルの設定を行う。セキュリティ管理部103は、例えば、ランダムMC部21、グリッチ検出部22、ランダムウェイト部23、及びノイズジェネレータ部24のそれぞれの作動レベルを、レベル情報に基づいて設定する。
なお、本実施形態では、用途に応じたレベル情報がレベル情報記憶部141に設定されており、各耐タンパ性機能部20には、セキュリティ管理部103は、用途に応じた設定を行うことになる。これにより、各耐タンパ性機能部20は、用途に応じた作動レベルにより動作する。
次に、ICカード1は、コマンドが受信されたが否かを判定する(ステップS203)。すなわち、ICカード1の通信部101が、コンタクト部3及び通信I/F部15を介して、外部装置2からコマンドを受信したか否かを判定する。通信部101は、コマンドを受信した場合(ステップS203:YES)に、処理をステップS204に進める。また、通信部101は、コマンドを受信していない場合(ステップS203:NO)に、ステップS203の処理に戻し、処理を繰り返す。
ステップS204において、ICカード1のコマンド実行部102は、受信したコマンドに応じたコマンド処理を実行する。コマンド実行部102は、コマンド処理が終了すると、レスポンスを通信部101にレスポンスを送信させて、処理をステップS205に戻す。
以上説明したように、本実施形態によるICモジュール10は、耐タンパ性の機能を有する耐タンパ性機能部20と、EEPROM14(書き換え可能な不揮発性記憶部の一例)と、セキュリティ管理部103(管理部の一例)とを備えている。EEPROM14は、耐タンパ性機能部20の作動レベルを規定するレベル情報を記憶する。セキュリティ管理部103は、EEPROM14が記憶するレベル情報に基づいて、耐タンパ性機能部20を動作させる。
これにより、本実施形態によるICモジュール10は、EEPROM14にレベル情報を設定することにより、例えば、用途に応じて、耐タンパ性機能部20の作動レベルを柔軟に変更することができる。よって、本実施形態によるICモジュール10は、セキュリティレベル又は性能の異なる様々な用途に使用することが可能になる。
また、本実施形態によるICモジュール10は、EEPROM14にレベル情報を設定することにより、様々なセキュリティ設定を行うことができる。そのため、本実施形態によるICモジュール10は、例えば、セキュリティ認定を受ける際に、ROM13のプログラムを変更せずに、複数種類の認定を受けることができる。よって、本実施形態によるICモジュール10は、適切なセキュリティレベルを設定した認定を取得することができるとともに、認定のための期間及びコストを低減することができる。
また、本実施形態では、ICモジュール10は、耐タンパ性の機能の異なる耐タンパ性機能部20を複数備える。複数の耐タンパ性機能部20は、例えば、ランダムMC部21、グリッチ検出部22、ランダムウェイト部23、及びノイズジェネレータ部24などである。EEPROM14は、複数の耐タンパ性機能部20のそれぞれに対応するレベル情報を記憶する。そして、セキュリティ管理部103は、レベル情報に基づいて、複数の耐タンパ性機能部20のそれぞれを動作させる。
これにより、本実施形態によるICモジュール10は、用途に応じて、より複雑なセキュリティレベルを設定することができる。よって、本実施形態によるICモジュール10は、さらに様々な用途に使用することができる。
また、本実施形態では、EEPROM14は、レベル情報の変更を禁止する変更禁止情報を記憶する。セキュリティ管理部103は、EEPROM14が記憶する変更禁止情報に基づいて、レベル情報の変更を禁止する。
これにより、本実施形態によるICモジュール10は、レベル情報の設定後に、変更を禁止することができる。よって、本実施形態によるICモジュール10は、発行処理後に、第三者にレベル情報の設定を変更されて、耐タンパ性機能部20の作動レベルを変更する機能を悪用される可能性を低減することができる。
また、本実施形態では、レベル情報は、EEPROM14の消去状態を示すビットの状態である第1のビット状態(例えば、ビット“1”)と、EEPROM14の書き込む状態を示すビットの状態である第2のビット状態(例えば、ビット“0”)とを含む複数のビットにより作動レベルを規定する。レベル情報は、例えば、“55h”、“5Ah”、“A5h”、及び“AAh”など、ビット“1”とビット“0”とを同数含むデータにより設定される。
これにより、本実施形態によるICモジュール10は、例えば、EEPROM14に局所的に紫外線を照射するなどにより、レベル情報を改竄しようとした場合でも、レベル情報の改竄を検知することができるので、セキュリティを確保することができる。すなわち、本実施形態によるICモジュール10は、レベル情報が、上述のようなパターンデータにより設定されているので、例えば、紫外線を照射するなどにより、例えば、“AAh”から“55h”に変更するなどの適切な設定に変更することは困難であり、レベル情報の不正な改竄を防ぐことができる。
また、本実施形態によるICカード1は、耐タンパ性の機能を有する耐タンパ性機能部20と、EEPROM14(書き換え可能な不揮発性記憶部の一例)と、セキュリティ管理部103(管理部の一例)とを備えている。EEPROM14は、耐タンパ性機能部20の作動レベルを規定するレベル情報を記憶する。セキュリティ管理部103は、EEPROM14が記憶するレベル情報に基づいて、耐タンパ性機能部20を動作させる。
これにより、本実施形態によるICカード1は、ICモジュール10と同様に、セキュリティレベル又は性能の異なる様々な用途に使用することが可能になる。
また、本実施形態によるICカード1の製造方法は、EEPROM14に、レベル情報を記憶させる工程と、レベル情報の変更を禁止する変更禁止情報を不揮発性記憶部に記憶させる工程とを含んでいる。なお、ICカード1は、耐タンパ性の機能を有する耐タンパ性機能部20の作動レベルを規定するレベル情報に基づいて、耐タンパ性機能部20を動作させるセキュリティ管理部103を備える。
これにより、本実施形態による製造方法は、ICカード1をセキュリティレベル又は性能の異なる様々な用途に使用させることができる。
(第2の実施形態)
次に、図面を参照して、第2の実施形態によるICモジュール10及びICカード1について説明する。
本実施形態では、レベル情報が、複数の記憶領域に記憶されている場合の一例について説明する。
なお、本実施形態によるICカード1のハードウェア構成及び機能構成は、図2及び図3に示す第1の実施形態と同様であるので、ここではその説明を省略する。
図8は、本実施形態のレベル情報記憶部141のデータ例を示す図である。
この図に示すように、本実施形態のレベル情報記憶部141は、同一のレベル情報を複数の記憶領域(例えば、2箇所の記憶領域)に記憶している。すなわち、レベル情報記憶部141は、例えば、「レベル情報1」(D1)と、「レベル情報2」(D2)との2つのレベル情報を記憶している。ここで、「レベル情報1」(D1)と、「レベル情報2」(D2)とは、同一の情報であり、同一の情報をアドレスの異なる2つの記憶領域にミラーリングして記憶している。
また、セキュリティ管理部103は、複数の記憶領域に記憶された複数のレベル情報に基づいて、耐タンパ性機能部20を動作させる。すなわち、セキュリティ管理部103は、例えば、複数のレベル情報が全て一致する場合に、当該レベル情報が改竄されていないと判定して、当該レベル情報に基づいて耐タンパ性機能部20の設定を行う。また、セキュリティ管理部103は、例えば、複数のレベル情報のうちいずれか1つでも一致しない場合に、当該レベル情報が改竄されている判定して、エラー処理を行う。ここで、エラー処理とは、ICカード1の動作を停止させる処理であってもよいし、耐タンパ性機能部20の作動レベルを最も高い設定にする処理であってもよい。
次に、本実施形態によるICカード1の動作について説明する。
まず、ICカード1のレベル情報の設定手順についての基本動作は、図6に示す第1の実施形態のレベル情報の設定手順と同様である。ただし、本実施形態では、ICカード1は、2つの記憶領域に、同一のレベル情報を記憶させる。
次に、図9を参照して、本実施形態によるICカード1の動作について説明する。
図9は、本実施形態のICカード1の動作の一例を示すフローチャートである。
図9に示す例は、用途に応じたレベル情報(例えば、「レベル情報1」(D1)及び「レベル情報2」(D2))が設定された後のICカード1の動作を示している。
ICカード1が外部装置2に接続されて、活性化されると、図9に示すように、ICカード1のセキュリティ管理部103は、まず、各耐タンパ性機能部20の「レベル情報1」(D1)及び「レベル情報2」(D2)を取得する(ステップS301)。
次に、セキュリティ管理部103は、「レベル情報1」(D1)と「レベル情報2」(D2)とが一致するか否かを判定する(ステップS302)。セキュリティ管理部103は、「レベル情報1」(D1)と「レベル情報2」(D2)とが一致する場合(ステップS302:YES)に、処理をステップS303に進める。また、セキュリティ管理部103は、「レベル情報1」(D1)と「レベル情報2」(D2)とが一致しない場合(ステップS302:NO)に、処理をステップS306に進める。
ステップS303からステップS305までの処理は、図7に示すステップS202からステップS204までの処理と同様であるので、ここではその説明を省略する。
また、ステップS306において、セキュリティ管理部103は、エラー処理を実行して、処理を終了する。なお、ここでのエラー処理は、例えば、ICカード1の動作を停止させる処理である。
以上説明したように、本実施形態では、EEPROM14は、同一のレベル情報を複数の記憶領域(例えば、2つの記憶領域)に記憶する。そして、セキュリティ管理部103は、複数の記憶領域に記憶された複数のレベル情報に基づいて、耐タンパ性機能部20を動作させる。
これにより、第三者がレベル情報を改竄する場合には、複数の記憶領域に記憶されたレベル情報を改竄する必要があるため、本実施形態のICモジュール10及びICカード1は、より高いセキュリティを保持しつつ、様々な用途に使用することが可能になる。
(第3の実施形態)
次に、図面を参照して、第3の実施形態によるICモジュール10及びICカード1について説明する。
上述した第1の実施形態では、用途に応じて、耐タンパ性機能部20を動作させる異なるレベル情報を設定する例を説明したが、本実施形態では、ICカード1が実行する特定の処理に対応付けてレベル情報が設定される場合の一例について説明する。
なお、本実施形態によるICカード1のハードウェア構成及び機能構成は、図2及び図3に示す第1の実施形態と同様であるので、ここではその説明を省略する。
図10は、本実施形態のレベル情報記憶部141のデータ例を示す図である。
この図に示すように、本実施形態のレベル情報記憶部141は、複数の処理のそれぞれに対応するレベル情報を記憶する。この図に示す例では、レベル情報記憶部141は、例えば、「処理1」に対応する「ランダムMC用のレベル情報」と、「グリッチ検出用のレベル情報」と、「ランダムウェイト用のレベル情報」と、「ノイズジェネレータ用のレベル情報」とを記憶する。また、レベル情報記憶部141は、例えば、「処理2」に対応する「ランダムMC用のレベル情報」と、「グリッチ検出用のレベル情報」と、「ランダムウェイト用のレベル情報」と、「ノイズジェネレータ用のレベル情報」とを記憶する。このように、レベル情報記憶部141は、各処理に対応するレベル情報のテーブルとして、レベル情報を記憶する。
なお、レベル情報を設定する処理(特定の処理)は、例えば、暗号処理、復号処理、及び認証処理などのセキュリティに関する処理でもよいし、各種コマンド処理であってもよい。すなわち、レベル情報は、例えば、セキュリティに関する処理に対応して設定されてもよいし、各種コマンド処理に対応付けて設定されてもよい。
また、本実施形態のセキュリティ管理部103は、レベル情報に基づいて、処理ごとに規定された作動レベルにより耐タンパ性機能部20を動作させる。例えば、セキュリティ管理部103は、複数の処理のうちの1つの処理を実行する場合に、当該処理に対応するレベル情報に基づいて、耐タンパ性機能部20を動作させる作動レベルを変更する。また、セキュリティ管理部103は、当該処理が完了した場合に、耐タンパ性機能部20を動作させる作動レベルを、当該処理の開始前の状態に戻す。
なお、セキュリティ管理部103は、レベル情報記憶部141が記憶するレベル情報を取得した場合に、取得したレベル情報を、現在の作動レベルの設定値を示すカレントレベル情報として、一旦、RAM12に記憶させる。セキュリティ管理部103は、カレントレベル情報に基づいて、耐タンパ性機能部20を動作させる作動レベルを変更する。また、異なる処理に対応する作動レベル設定を行う場合には、セキュリティ管理部103は、カレントレベル情報をRAM12の別の記憶領域に一旦退避させた後に、レベル情報記憶部141が記憶するレベル情報をカレントレベル情報としてRAM12に記憶させる。また、当該処理が終了した場合には、セキュリティ管理部103は、退避した1つ前のカレントレベル情報をカレントレベル情報として戻し、戻した当該カレントレベル情報に基づいて、耐タンパ性機能部20を動作させる作動レベルを当該処理の開始前の状態に戻す。
次に、本実施形態によるICカード1の動作について説明する。
まず、ICカード1のレベル情報の設定手順についての基本動作は、図6に示す第1の実施形態のレベル情報の設定手順と同様である。ただし、本実施形態では、ICカード1では、複数の処理のそれぞれに対応するレベル情報が記憶される。
次に、図11を参照して、本実施形態によるICカード1の動作について説明する。
図11は、本実施形態のICカード1の動作の一例を示すフローチャートである。
図11に示す例は、複数の処理それぞれに応じたレベル情報が設定された後のICカード1の動作を示している。なお、本実施形態では、レベル情報を設定する処理が、コマンド処理のうちの一部の機密性の高いセキュリティに関連する処理(以下、セキュリティ処理という)である場合の一例について説明する。
ICカード1が外部装置2に接続されて活性化された状態において各種処理を実行する際に、図11に示すように、ICカード1のセキュリティ管理部103は、まず、実行する処理が、レベル情報が設定されているセキュリティ処理であるか否かを判定する(ステップS401)。セキュリティ管理部103は、セキュリティ処理である場合(ステップS401:YES)に、処理をステップS402に進める。また、セキュリティ管理部103は、セキュリティ処理でない場合(ステップS401:NO)に、処理をステップS406に進める。
ステップS402において、当該処理に対応する各耐タンパ性機能部20のレベル情報を取得する。すなわち、セキュリティ管理部103は、例えば、当該処理に対応するランダムMC部21、グリッチ検出部22、ランダムウェイト部23、及びノイズジェネレータ部24のそれぞれのレベル情報をレベル情報記憶部141から読み出す。また、セキュリティ管理部103は、上述したRAM12のカレントレベル情報をRAM12の別の記憶領域に退避した後に、レベル情報記憶部141から読み出したレベル情報を新しいカレントレベル情報としてRAM12に記憶させる。
次に、セキュリティ管理部103は、取得したレベル情報に基づいて、各耐タンパ性機能部20の作動レベルを変更する(ステップS403)。すなわち、セキュリティ管理部103は、RAM12のカレントレベル情報に基づいて、各耐タンパ性機能部20に対して、作動レベルの設定を行う。これにより、当該処理に対応した各耐タンパ性機能部20の作動レベルが設定される。
次に、コマンド実行部102は、当該処理を実行する(ステップS404)。
次に、当該処理を実行が終了したら、セキュリティ管理部103は、耐タンパ性機能部20の作動レベルを戻す(ステップS405)。すなわち、セキュリティ管理部103は、退避した1つ前のカレントレベル情報を戻し、当該カレントレベル情報に基づいて、各耐タンパ性機能部20に対して作動レベルの設定を行う。
また、ステップS406において、コマンド実行部102は、所定の処理を実行する。ここでは、コマンド実行部102は、各耐タンパ性機能部20の作動レベルを変更せずに、所定の処理を実行する。
次に、図12を参照して、処理に応じて、耐タンパ性機能部20の作動レベルを変更するICカード1の動作の一例を説明する。
図12は、本実施形態のICカード1の動作の一例を示す図である。
この図は、ICカード1が、要求されるセキュリティレベル及び性能の異なる「アプリケーションA」、「アプリケーションB」、及び「アプリケーションC」用にレベル情報が設定された場合の各ICカード1の動作の比較を示している。
「アプリケーションA」は、例えば、3つのアプリケーションうちで、要求されるセキュリティレベルが最も高く、処理時間に制限のない用途で使用される。また、「アプリケーションC」は、例えば、3つのアプリケーションうちで、処理時間に制限があり、要求されるセキュリティレベルが最も低い用途で使用される。また、「アプリケーションB」は、例えば、「アプリケーションA」と「アプリケーションC」との中間のセキュリティ
レベルが要求される用途で使用される。
ここで、「アプリケーションA」、「アプリケーションB」、及び「アプリケーションC」は、いずれも所定のコマンド処理(例えば、「コマンド処理X」において、「処理A」と「AES暗号処理」とが実行されるものとして説明する。
また、図12では、耐タンパ性機能部20は、ランダムMC部21と、ランダムウェイト部23とが使用される一例について説明する。
図12に示す例では、「アプリケーションA」の「コマンド処理X」において、まず、セキュリティ管理部103は、レベル情報記憶部141が記憶する「コマンド処理X」に対応するレベル情報に基づいて、ランダムMC部21の作動レベルを“レベル3”に、ランダムウェイト部23の作動レベルを“レベル0(OFF)”に設定する。そして、「処理A」が実行される際に、セキュリティ管理部103は、レベル情報記憶部141が記憶する「処理A」に対応するレベル情報に基づいて、ランダムMC部21の作動レベルを“レベル3”に、ランダムウェイト部23の作動レベルを“レベル0(OFF)”に設定する。なお、ここでは、「コマンド処理X」のレベル情報と「処理A」のレベル情報とが同一の設定であるので、作動レベルは、変更されない。
次に、「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」に比べて高いセキュリティレベルを確保することができる。
これに対して、「アプリケーション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)”に戻す。
次に、「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を動作させない。
また、「アプリケーション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」のレベル情報とが同一の設定であるので、作動レベルは、変更されない。
次に、「AES暗号処理」が実行される際に、セキュリティ管理部103は、レベル情報記憶部141が記憶する「AES暗号処理」に対応するレベル情報に基づいて、ランダムMC部21の作動レベルを“レベル2”に、ランダムウェイト部23の作動レベルを“レベル2”に設定する。これにより、「AES暗号処理」の間に、ランダムMC部21及びランダムウェイト部23が、“レベル3”で作動することになる。
そして、「AES暗号処理」が終了する際に、セキュリティ管理部103は、ランダムMC部21の作動レベルを“レベル0(OFF)”に、ランダムウェイト部23の作動レベルを“レベル0(OFF)”に戻す。
このように、「アプリケーションC」では、処理時間に制限があるため、セキュリティ管理部103は、「AES暗号処理」の間に、ランダムMC部21及びランダムウェイト部23を“レベル2”で動作させて、その他の処理の間には、ランダムMC部21及びランダムウェイト部23を動作させない。なお、ランダムMC部21及びランダムウェイト部23は、作動レベルが高い程、処理時間が長くなる。しかしながら、「アプリケーションC」では、「AES暗号処理」の間以外、ランダムMC部21及びランダムウェイト部23を動作させないので、「アプリケーションA」、及び「アプリケーションB」に比べて処理時間を短くすることができる。
なお、上述した例では、「コマンド処理X」、「処理A」、及び「AES暗号処理」についてレベル情報を設定する例を説明したが、他の機密性の高いセキュリティ処理において、同様に実施してもよい。また、上述した例では、ランダムMC部21及びランダムウェイト部23の作動レベルを設定する例を説明したが、ランダムMC部21及びランダムウェイト部23の他の耐タンパ性機能部20を用いて実施してもよい。
以上説明したように、本実施形態では、EEPROM14は、複数の処理のそれぞれに対応するレベル情報を記憶する。そして、セキュリティ管理部103は、レベル情報に基づいて、処理ごとに規定された作動レベルにより耐タンパ性機能部20を動作させる。
これにより、本実施形態のICモジュール10及びICカード1は、図12に示したように、セキュリティレベル及び性能(例えば、処理時間)の要求に応じて、処理ごとに耐タンパ性機能部20の作動レベルを設定するので、より複雑な耐タンパ性機能部20の作動レベルの制御が可能になる。よって、本実施形態のICモジュール10及びICカード1は、セキュリティレベル及び性能(例えば、処理時間)の要求に応じて、さらに様々な用途に使用することが可能になる。
また、本実施形態では、セキュリティ管理部103は、複数の処理のうちの1つの処理を実行する場合に、当該処理に対応するレベル情報に基づいて、耐タンパ性機能部20を動作させる作動レベルを変更する。そして、セキュリティ管理部103は、当該処理が完了した場合に、耐タンパ性機能部20を動作させる作動レベルを、当該処理の開始前の状態に戻す。
これにより、本実施形態のICモジュール10及びICカード1は、耐タンパ性機能部20を動作させる作動レベルを処理ごとに適切に変更することができる。
上記の各実施形態において、各実施形態を単独で実施する場合の例を説明したが、各実施形態を組み合わせて実施してもよい。例えば、第2の実施形態と、第3の実施形態とを組み合わせて実施してもよい。
また、上記の各実施形態において、ICカード1は、書き換え可能な不揮発性メモリとして、EEPROM14を備える構成としたが、これに限定されるものではない。例えば、ICカード1は、EEPROM14の代わりに、フラッシュEEPROM、FeRAM(Ferroelectric Random Access Memory:強誘電体メモリ)などを備えてもよい。
また、上記の各実施形態において、ICカード1は、コンタクト部3を介して外部装置2と通信する例を説明したが、コイルなどを用いたコンタクトレスインターフェースを介して外部装置2と通信するように構成してもよい。
また、上記の各実施形態において、ICカード1は、耐タンパ性機能部20として、ランダムMC部21、グリッチ検出部22、ランダムウェイト部23、及びノイズジェネレータ部24を備える例を説明したが、これに限定されるものではない。ICカード1は、他の耐タンパ性の機能を有する耐タンパ性機能部20を備えていてもよいし、ランダムMC部21、グリッチ検出部22、ランダムウェイト部23、及びノイズジェネレータ部24のうちの一部を備えていてもよい。
また、上記の各実施形態において、コプロセッサ16が、AES暗号処理を行う例を説明したが、CPU11のプログラム処理によりAES暗号処理が実行されてもよい。
また、上記の各実施形態において、ICカード1が、レベル情報の変更を禁止する機能を備える例を説明したが、備えない構成であってもよい。また、ICカード1又はICモジュール10が出荷される前に、レベル情報の変更を禁止する処理が実行される例を説明したが、これに限定されるものではなく、レベル情報の変更を禁止する処理が実行されない形態であってもよい。
また、上記の第2の実施形態において、レベル情報記憶部141が、同一のレベル情報を2つの記憶領域に記憶する例を説明したが、これに限定されるものではなく、3つ以上の記憶領域に記憶してもよい。
また、上記の第3の実施形態において、レベル情報記憶部141が、各処理に対応するレベル情報を記憶する例を説明したが、例えば、ICカード1が複数のアプリケーションを有する場合などには、アプリケーションに対応したレベル情報を記憶するようにしてもよい。この場合、ICモジュール10及びICカード1は、アプリケーションに対応して、セキュリティレベル及び性能(例えば、処理時間)を柔軟に変更することができる。
以上説明した少なくともひとつの実施形態によれば、耐タンパ性の機能を有する耐タンパ性機能部20と、耐タンパ性機能部20の作動レベルを規定するレベル情報を記憶するEEPROM14と、レベル情報に基づいて、耐タンパ性機能部20を動作させるセキュリティ管理部103とを持つことにより、様々な用途に使用することができる。
なお、実施形態におけるICカード1が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述したICカード1が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD−ROM等の非一過性の記録媒体であってもよい。
また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後にICカード1が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
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…変更禁止情報記憶部

Claims (10)

  1. 耐タンパ性の機能を有する耐タンパ性機能部と、
    前記耐タンパ性機能部の作動レベルを規定するレベル情報を記憶する書き換え可能な不揮発性記憶部と、
    前記レベル情報に基づいて、前記耐タンパ性機能部を動作させる管理部と
    を備え
    前記不揮発性記憶部は、複数の処理のそれぞれに対応する前記レベル情報を記憶し、
    前記管理部は、前記レベル情報に基づいて、処理ごとに規定された作動レベルにより前記耐タンパ性機能部を動作させる
    ICモジュール。
  2. 耐タンパ性の機能の異なる前記耐タンパ性機能部を複数備え、
    前記不揮発性記憶部は、前記複数の耐タンパ性機能部のそれぞれに対応する前記レベル情報を記憶し、
    前記管理部は、前記レベル情報に基づいて、前記複数の耐タンパ性機能部のそれぞれを動作させる
    請求項1に記載のICモジュール。
  3. 前記管理部は、
    前記複数の処理のうちの1つの処理を実行する場合に、当該処理に対応する前記レベル情報に基づいて、前記耐タンパ性機能部を動作させる作動レベルを変更し、
    当該処理が完了した場合に、前記耐タンパ性機能部を動作させる作動レベルを、当該処理の開始前の状態に戻す
    請求項1又は請求項2に記載のICモジュール。
  4. 前記不揮発性記憶部は、前記レベル情報の変更を禁止する変更禁止情報を記憶し、
    前記管理部は、前記変更禁止情報に基づいて、前記レベル情報の変更を禁止する
    請求項1から請求項のいずれか一項に記載のICモジュール。
  5. 耐タンパ性の機能を有する耐タンパ性機能部と、
    前記耐タンパ性機能部の作動レベルを規定するレベル情報を記憶する書き換え可能な不揮発性記憶部と、
    前記レベル情報に基づいて、前記耐タンパ性機能部を動作させる管理部と
    を備え、
    前記不揮発性記憶部は、同一の前記レベル情報を複数の記憶領域に記憶し、
    前記管理部は、前記複数の記憶領域に記憶された複数の前記レベル情報に基づいて、前記耐タンパ性機能部を動作させる
    ICモジュール。
  6. 耐タンパ性の機能の異なる前記耐タンパ性機能部を複数備え、
    前記不揮発性記憶部は、前記複数の耐タンパ性機能部のそれぞれに対応する前記レベル情報を記憶し、
    前記管理部は、前記レベル情報に基づいて、前記複数の耐タンパ性機能部のそれぞれを動作させる
    請求項5に記載のICモジュール。
  7. 前記不揮発性記憶部は、同一の前記レベル情報を複数の記憶領域に記憶し、
    前記管理部は、前記複数の記憶領域に記憶された複数の前記レベル情報に基づいて、前記耐タンパ性機能部を動作させる
    請求項1から請求項のいずれか一項に記載のICモジュール。
  8. 前記レベル情報は、前記不揮発性記憶部の消去状態を示すビットの状態である第1のビット状態と、前記不揮発性記憶部の書き込む状態を示すビットの状態である第2のビット状態とを含む複数のビットにより前記作動レベルを規定する
    請求項1から請求項のいずれか一項に記載のICモジュール。
  9. 請求項1から請求項のいずれか一項に記載のICモジュールと、
    前記ICモジュールが埋め込まれた本体と
    を備えるICカード。
  10. 耐タンパ性の機能を有する耐タンパ性機能部の作動レベルを規定するレベル情報に基づいて、前記レベル情報に基づいて、処理ごとに規定された作動レベルにより前記耐タンパ性機能部を動作させる管理部を備えるICカードの製造方法であって、
    書き換え可能な不揮発性記憶部に、複数の処理のそれぞれに対応する前記レベル情報を記憶させる工程と、
    前記レベル情報の変更を禁止する変更禁止情報を前記不揮発性記憶部に記憶させる工程と
    を含むICカードの製造方法。
JP2014171617A 2014-08-26 2014-08-26 Icモジュール、icカード、及びicカードの製造方法 Active JP6396119B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014171617A JP6396119B2 (ja) 2014-08-26 2014-08-26 Icモジュール、icカード、及びicカードの製造方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014171617A JP6396119B2 (ja) 2014-08-26 2014-08-26 Icモジュール、icカード、及びicカードの製造方法

Publications (2)

Publication Number Publication Date
JP2016045864A JP2016045864A (ja) 2016-04-04
JP6396119B2 true JP6396119B2 (ja) 2018-09-26

Family

ID=55636328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014171617A Active JP6396119B2 (ja) 2014-08-26 2014-08-26 Icモジュール、icカード、及びicカードの製造方法

Country Status (1)

Country Link
JP (1) JP6396119B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018101193A (ja) * 2016-12-19 2018-06-28 株式会社東芝 携帯可能電子装置、及びicカード
JP2020013249A (ja) * 2018-07-17 2020-01-23 凸版印刷株式会社 Icチップ及びicカード

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009289017A (ja) * 2008-05-29 2009-12-10 Sony Corp 情報処理装置および方法、プログラム並びに記録媒体
JP5776927B2 (ja) * 2011-03-28 2015-09-09 ソニー株式会社 情報処理装置及び方法、並びにプログラム

Also Published As

Publication number Publication date
JP2016045864A (ja) 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
TW201543265A (zh) 用以確保存取保護計畫之裝置及方法
JP5041980B2 (ja) データ処理回路及び通信携帯端末装置
WO2017097042A1 (zh) 一种安全芯片及其非易失性存储控制装置、方法
JP6396119B2 (ja) Icモジュール、icカード、及びicカードの製造方法
US20060289656A1 (en) Portable electronic apparatus and data output method therefor
KR20170102285A (ko) 보안 요소
US7730115B2 (en) System, microcontroller and methods thereof
JP2003022216A (ja) 記憶装置
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 (ja) Icチップ、icカード、情報処理方法、情報処理プログラム及び情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2009015651A (ja) 情報記憶媒体
JP5724387B2 (ja) 携帯装置及び動的データの格納位置変更方法
US7688637B2 (en) Memory self-test circuit, semiconductor device and IC card including the same, and memory self-test method
JP6439408B2 (ja) 表示機能付きicカードおよび制御方法
JP6387767B2 (ja) 電子情報記録媒体、icカード、チェック方法、及び処理プログラム
JP6160326B2 (ja) 情報記憶媒体、情報書き込み方法、及び書き込みプログラム
JP2020013249A (ja) Icチップ及びicカード
JP2011180963A (ja) 半導体集積回路装置
JP2018163446A (ja) 電子情報記憶媒体、icカード、改竄チェック方法及び改竄チェック用プログラム
JP4899499B2 (ja) Icカード発行方法、icカード発行システムおよびicカード

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