JP6969114B2 - Icカード、icカードの起動処理方法、およびicカードの起動処理プログラム - Google Patents

Icカード、icカードの起動処理方法、およびicカードの起動処理プログラム Download PDF

Info

Publication number
JP6969114B2
JP6969114B2 JP2017045309A JP2017045309A JP6969114B2 JP 6969114 B2 JP6969114 B2 JP 6969114B2 JP 2017045309 A JP2017045309 A JP 2017045309A JP 2017045309 A JP2017045309 A JP 2017045309A JP 6969114 B2 JP6969114 B2 JP 6969114B2
Authority
JP
Japan
Prior art keywords
card
character
transmitted
pause period
transmission
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
JP2017045309A
Other languages
English (en)
Other versions
JP2018151695A (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.)
Toppan Inc
Original Assignee
Toppan Inc
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 Toppan Inc filed Critical Toppan Inc
Priority to JP2017045309A priority Critical patent/JP6969114B2/ja
Publication of JP2018151695A publication Critical patent/JP2018151695A/ja
Application granted granted Critical
Publication of JP6969114B2 publication Critical patent/JP6969114B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Credit Cards Or The Like (AREA)
  • Storage Device Security (AREA)

Description

本発明は、ICカード、ICカードの起動処理方法、およびICカードの起動処理プログラムに関する。
IC(Integrated Circuit;集積回路)カードは、リーダライタとの情報のやりとりの方式により、接触型と非接触型とに分類される。これらのいずれのタイプのICカードにおいても、リーダライタからの電源投入、リセット信号などのICカード起動要求に対して、ICカードが初期応答を返すまでの時間範囲(応答時間)が規定されている。
例えば接触型ICカードの場合、ICカードは、リセット信号を受信すると、初期設定として通信関係のパラメータ設定を行い、初期応答としてATR(Answer to reset)をレスポンスする。このATRのレスポンスは、リーダライタからのリセット信号に対して、規定時間内になされる必要がある。
この起動処理は、実際には、例えば400クロックサイクルから40000クロックサイクル程度の非常に短い応答時間になされるように規定されているため、規定の応答時間内にICカードの起動処理を間に合わせるべく、短い時間で実施可能な起動処理のみが行なわれる。すなわち、通常のICカードの起動処理では、ICカードの動作において最低限必要な設定のみが行われるだけであって、処理時間がかかるチェックは上記の応答時間内には行えない。そのため、上記従来の起動処理方法では、ICカードからの初期応答を規定時間内に収めるべく必要最低限の設定やチェックしか行なうことができないため、ICカードの一部に何らかの異常があった場合でも、その異常を検知することが困難であった。
リーダライタは、起動したICカードを制御するために、制御内容を格納したコマンドAPDU(Application Protocol Data Unit)を送信している。ICカードは、このコマンドAPDUを受け取ると、受け取ったコマンドAPDUの内容に応じたAPDU処理を行い、応答として規定時間内にレスポンスAPDUを返信する。そして、リーダライタは、このレスポンスAPDUを確認することで、制御が成功したか否かなどを特定している。このように、従来の起動処理方法では、起動時に検知できなかった異常がその後も検知されないままAPDU処理が開始されるため、APDU処理の動作中にエラーが発生したり、不正な動作が行われたりする可能性があった。
上記のようなAPDU処理の動作中のエラーや不正な動作は、悪意のある攻撃者にとってICカード内の秘密のデータを取り出す手がかりとなるなど、ICカードにとって致命的な欠陥となり得るという問題がある。例えば、メモリチェックが行われなかった場合、チェックされていないメモリが悪意のある攻撃にさらされると、フラッシュメモリ、EEPROMやRAMが書き換えられてしまい、ICカードが誤動作するという問題がある。
とくに近年、ソフトウェアのセキュリティ基準がより厳格になってきているため、セキュリティ面での問題を発生させないための完全なチェックがなされる必要がある。
これに対し、特許文献1に記載のICカードは、リセット動作中に、当該ICカードの機能を実行させるカード機能部が起動するまでの間、リセット応答の各バイトに所定の割合で誤りを発生させて当該リセット応答を再送させることによって、意図的に遅延を発生させてトランザクションを維持する。
特開2016−91219号公報
しかしながら、特許文献1に記載のICカードは、上述したように、意図的に誤りを発生させてリセット応答(初期応答(ATR))を再送させる処理を行うため、リセット動作(起動処理)が煩雑になるという課題がある。これに伴い、例えば、ICカードの設計や製造に係るコストが大きくなるなどの問題が生じる。
本発明は上記の点に鑑みてなされたものであり、起動処理を煩雑にすることなく、起動処理を完了させることができるICカード、ICカードの起動処理方法、およびICカードの起動処理プログラムを提供する。
本発明は上記の課題を解決するためになされたものであり、本発明の一態様としては、リーダライタからの起動要求信号に対して規定時間内に初期応答を行うICカードであって、前記起動要求信号を受信してから初期応答を開始するまでの間に起動処理を実行し、前記初期応答における最初のキャラクタの送信までに前記起動処理が完了していない場前記最初のキャラクタ送信後に送信する複数のキャラクタの各々において、1つ前に送信した直前の前記キャラクタとの間に規定されるPause期間に未完の前記起動処理を実行し、前記直前のキャラクタの送信開始からの経過時間が、前記直前のキャラクタとの間に規定されるPause期間の上限値に達するまでに、前記未完の起動処理が完了したとき、完了した際に次に送信する前記キャラクタを送信し、前記未完の起動処理が完了せずに前記経過時間が前記Pause期間の上限値に達したとき、前記Pause期間の上限値に達した際に次に送信する前記キャラクタを送信する、ことを特徴するICカードである。
また、本発明の一態様としては、上記のICカードであって、前記起動処理は、メモリにおける異常の有無についての確認処理、またはプログラムにおける改ざんの有無についての確認処理、暗号演算用ハードウェアの動作における異常の有無についての確認処理、および乱数発生器の動作における異常の有無についての確認処理のうち少なくとも1つを含むことを特徴する。
また、本発明の一態様としては、リーダライタからの起動要求信号に対して規定時間内に初期応答を行うICカードの起動処理方法であって、前記ICカードが、前記起動要求信号を受信してから初期応答を開始するまでの間に起動処理を実行し、前記初期応答における最初のキャラクタの送信までに前記起動処理が完了していない場前記最初のキャラクタ送信後に送信する複数のキャラクタの各々において、1つ前に送信した直前の前記キャラクタとの間に規定されるPause期間に未完の前記起動処理を実行し、前記直前のキャラクタの送信開始からの経過時間が、前記直前のキャラクタとの間に規定されるPause期間の上限値に達するまでに、前記未完の起動処理が完了したとき、完了した際に次に送信する前記キャラクタを送信し、前記未完の起動処理が完了せずに前記経過時間が前記Pause期間の上限値に達したとき、前記Pause期間の上限値に達した際に次に送信する前記キャラクタを送信することを特徴するICカードの起動処理方法である。
また、本発明の一態様としては、リーダライタからの起動要求信号に対して規定時間内に初期応答を行うICカードのコンピュータに、前記起動要求信号を受信してから初期応答を開始するまでの間に起動処理を実行し、前記初期応答における最初のキャラクタの送信までに前記起動処理が完了していない場前記最初のキャラクタ送信後に送信する複数のキャラクタの各々において、1つ前に送信した直前の前記キャラクタとの間に規定されるPause期間に未完の前記起動処理を実行し、前記直前のキャラクタの送信開始からの経過時間が、前記直前のキャラクタとの間に規定されるPause期間の上限値に達するまでに、前記未完の起動処理が完了したとき、完了した際に次に送信する前記キャラクタを送信し、前記未完の起動処理が完了せずに前記経過時間が前記Pause期間の上限値に達したとき、前記Pause期間の上限値に達した際に次に送信する前記キャラクタを送信することを実行させるためのICカードの起動処理プログラムである。
本発明によれば、起動処理を煩雑にすることなく、起動処理を完了させることができる。
本発明の実施形態に係るICカードのハードウェア構成を示すブロックである。 本発明の実施形態に係るICカードの機能構成を示すブロック図である。 本発明の実施形態に係るICカード1が初期応答を行うタイミングを示す概略図である。 本発明の実施形態に係るICカード1が行う初期応答(ATR)の構成の一例を示す概略図である。 本発明の実施形態に係るICカード1が行う初期応答(ATR)のキャラクタ構成を示す概略図である。 本発明の実施形態に係るICカード1とリーダライタ10との間で行われる通信の一例を示すシーケンス図である。
<実施形態>
本発明は、起動時にハードウェアやソフトウェアの初期処理が必要なICカードにおいて、規格(ISO7816−3)上で規定された規定時間内に全ての処理を行わずに、分割して初期処理を行うことができるようにする方法に関するものである。ここで言う規定時間とは、リーダライタから送信されたリセット信号(起動要求信号)をICカードが受信してから、ICカードがリーダライタへの初期応答(ATR)の送信を開始するまでの時間である。
具体的には、まず、ICカードは、規格(ISO7816−3)上で規定された規定時間内に、最低限必要となる初期処理を行う。そして、ICカードは、残りの(未完の)初期処理を、初期応答(ATR)においてキャラクタ(バイト)単位でリーダライタへデータを送信する際の、各キャラクタとキャラクタとの期間(以下、「Pause期間」と言う)に行う。
以下、本実施形態にかかるICカード1およびICカード1の起動処理方法について、詳細に説明する。
[ICカードのハードウェア構成]
以下、ICカード1のハードウェア構成について、図面を参照しながら説明する。
図1は、本発明の実施形態に係るICカード1のハードウェア構成を示すブロックである。
ICカード1は、ISO7816−3に準じたシリアルインターフェースを備えたICカードである。図1に図示するように、ICカード1は、CPU11(Central Processing Unit;中央演算処理装置)と、コプロセッサ12と、乱数発生器13と、I/O14(Input/Output;入出力部)と、ROM15(Read Only Memory;読み出し専用メモリ)と、RAM16(Random Access Memory;読み書き可能なメモリ)と、EEPROM17(Electrically Erasable Programmable Read Only Memory;イーイーピーロム)と、を備えている。
なお、ROM15、およびEEPROM17の代わりに、他の不揮発性メモリ、例えばフラッシュメモリが用いられた構成であっても構わない。 また、CPU11と、コプロセッサ12と、乱数発生器13と、I/O14と、ROM15と、RAM16と、EEPROM17とは、バスを介して相互に通信接続されている。
CPU11は、ICカード1全体を制御する制御部として機能する。CPU11は、ROM15やEEPROM17に記憶されている制御プログラムや制御データに基づいて、各種の処理を実行する。例えば、CPU11は、リーダライタ10から受信した信号やコマンドに応じて様々な処理を実行し、処理結果としての初期応答(ATR)およびレスポンスAPDUなどのデータの生成を行う。
コプロセッサ12は、暗号演算専用の処理装置として機能する。コプロセッサ12は、リーダライタ10から送信されたコマンドAPDUなどに基づいて、CPU11に制御され、暗号化および復号などの必要な暗号演算を行い、演算の結果をCPU11へ送信する。
乱数発生器13は、乱数発生専用の処理装置として機能する。乱数発生器13は、リーダライタからのコマンドAPDUなどに基づいて、CPU11に制御され、乱数の生成処理を行う。例えば、ICカード1が相互認証コマンドを受信した場合、乱数発生器13は、乱数を生成し、生成した乱数をCPU11へ送信する。
I/O14は、リーダライタ10と通信接続するための接触通信インターフェースであり、ISO7816−3に準じたシリアルインターフェースである。
ROM15は、予め制御用のプログラムや制御データなどを記憶する、不揮発性のメモリである。ROM15は、製造段階において制御プログラムや制御データなどを記憶した状態でICカード1内に組み込まれる。すなわち、ROM15に記憶される制御プログラムや制御データは、予めICカード1の仕様に応じて組み込まれる。
なお上述したように、ROM15の代わりに、他の不揮発性メモリ、例えばフラッシュメモリが用いられた構成であっても構わない。
RAM16は、ワーキングメモリとして機能する揮発性のメモリである。RAM16は、CPU11やコプロセッサ12において処理中のデータなどを一時的に格納する。
EEPROM17は、データの書き込み及び書き換えが可能な不揮発性メモリである。EEPROM17は、例えば、制御用のプログラム、制御データ、アプリケーション、個人情報、暗号鍵などのセキュリティ情報、アプリケーションに用いられるデータなどを記憶することができる。
なお上述したように、EEPROM17の代わりに、他の不揮発性メモリ、例えばフラッシュメモリが用いられた構成であっても構わない。
[ICカードの機能構成]
以下、リーダライタ10と通信するICカード1の機能構成について、図面を参照しながら説明する。
図2は、本発明の実施形態に係るICカード1の機能構成を示すブロック図である。
図示するように、実施形態に係るICカード1は、リセット信号受信部21と、起動処理部22と、データ受信部23と、データ送信部24と、コマンド処理部25と、を備えている。また、コマンド処理部25は、APDU処理部26と、レスポンス処理部27と、を備えている。
リセット信号受信部21は、リーダライタ10から送信されるリセット信号(起動要求信号)を受信する。
起動処理部22は、リセット信号受信部21がリセット信号(起動要求信号)を受信したことをトリガとして、ICカード1の起動処理を実行する。
データ受信部23は、リーダライタ10から送信されるコマンドAPDUを受信する。
データ送信部24は、後述するレスポンス処理部27によって生成されたレスポンスAPDUをリーダライタ10へ送信する。
コマンド処理部25は、取得したコマンドAPDUに基づいてコマンドAPDU処理を実行し、実行した結果に基づくレスポンスAPDUを生成する。
APDU処理部26は、データ送信部24によって受信されたコマンドAPDUに基づいてコマンドAPDU処理を実行する。
レスポンス処理部27は、APDU処理部26によって実行されたAPDU処理の実行結果に基づいて、リーダライタ10に対して応答をするためのレスポンスAPDUを生成する。
起動処理部22が実行する、ICカード1の起動処理について、以下に更に詳しく説明する。
起動処理部22は、リセット信号受信部21によって受信される、リーダライタ10から送信されたリセット信号(起動要求信号)に基づく起動要求にしたがってICカード1を起動する起動処理を実行する。起動処理としては、例えば、前回のICカード1の動作時において、EEPROM17への書き込み処理中に電源オフ(OFF)となった場合にデータを復旧する処理などが実行され、メモリが壊れていないかどうかなどをチェックすることができる。また、起動処理部22は、ROM15およびEEPROM17の完全性チェックや、プログラムコードのチェックを実行することにより、プログラム自体が改ざんされていないかをチェックすることができる。
さらに、起動処理部22は、サンプルデータで暗号演算を行い、正しい結果が出力されるかを確認することにより、コプロセッサ12などの暗号演算用ハードウェアが正常に動作しているかをチェックすることができる、また、起動処理部22は、乱数発生器13によって複数乱数を発生させ、乱数性をチェックすることにより、乱数発生器13が正常に動作しているかをチェックすることができる。
本実施形態に係るICカード1のような接触型のICカードにおいては、リーダライタ10からのリセット信号(起動要求信号)を受信したことをトリガとして、起動処理部22が、起動処理である通信パラメータの設定などを行う。
一般的に、リセット信号(起動要求信号)を受信してから初期応答を開始するまでの間(後述する図3、期間tc)にICカードが実行する起動処理は、上述したように一部の限られた(必要最低限の)処理のみとなることが多い。これは、コールドリセット待ち状態でクロック信号の供給が開始されてから少なくとも400クロックサイクルの間に受け取るリセット信号の受信から、40000クロックサイクル以内に開始される初期応答(ATR)までの間に、起動処理が実行される必要があるからである。
本実施形態の起動処理部22は、リセット信号(起動要求信号)を受信してから初期応答(ATR)を開始するまでの間に起動処理を実行し、初期応答(ATR)における最初のキャラクタの送信までに起動処理が完了していない場合には、キャラクタ(バイト)単位で送信される初期応答(ATR)の各キャラクタ(バイト)を送信完了してから次のキャラクタ(バイト)を送信するまでの期間(Pause期間)に、残りの起動処理を実行する。このように、起動処理部22は、各Pause期間に未完の初期処理を行うことによって、起動処理を完了させることができる。
また、上述したように、コマンド処理部25は、リーダライタ10からのコマンドAPDUを実行処理するAPDU処理部26と、コマンドAPDUに対するレスポンスとして、当該コマンドAPDUの実行処理の結果であるレスポンスAPDUを生成するレスポンス処理部27と、を備える。例えば、APDU処理部26は、コマンドAPDUとしてselectコマンドを、データ受信部23を介して取得した場合にはコマンドAPDU処理としてselect処理を実行し、レスポンス処理部27は、当該select処理の実行に対するレスポンス処理として、レスポンスAPDUを生成する。生成されたレスポンスAPDUは、データ送信部24によりリーダライタ10へ送信される。
[起動処理方法の詳細]
以下、ICカード1の起動処理方法の詳細について、図面を参照しながら説明する。
図3は、本発明の実施形態に係るICカード1が初期応答を行うタイミングを示す概略図である。
図3に示す、「VCC」、「CLK」、「RST」、および「I/O」は、それぞれICカード1に備えられた端子を表す。具体的には、VCC端子はICカード1に電源を供給するための電源端子、CLK端子はICカード1にクロック信号を供給するためのクロック端子、RST端子はICカード1にリセット信号を供給するためのリセット端子(リセット信号受信部21)、およびI/O端子(データ受信部23およびデータ送信部24)はシリアル形式で各種信号の入出力を可能とする入出力端子である。
また、図3の横軸は時間を表す。
図3に図示するように、まず、リーダライタ10から、電源電圧がICカード1のVCC端子に供給された後、時刻Taにクロック信号がCLK端子に供給される。そして、時刻Ta以後の期間ta(200クロックサイクル以内)に、I/O信号の回線が所定の状態とされ、時刻Ta以後の期間tb(400クロックサイクル以内)の間、リセット信号がLow(ロー)の状態に保たれ、リセット信号の立ち上がり(Low→High(ハイ))が検出されると、ICカードはリセットされる(時刻Tb)。そして、期間tc(400〜40000クロックサイクル)の経過後、初期応答(ATR)がI/O端子からリーダライタ10へ送り出される。
従来のICカードにおいては、この期間tcに、最低限必要な初期処理(例えば、通信関係のパラメータ設定など)のみが行われる。
図4は、本発明の実施形態に係るICカード1が行う初期応答(ATR)の構成の一例を示す概略図である。
図4に示す例においては、初期応答(ATR)は、複数のキャラクタ、すなわち、イニシャルバイト(Initial Byte)であるTSと、フォーマットバイト(Format Byte)であるT0と、i=1、2、3、・・・として、インターフェースバイツ(Interface Bytes)であるTA(i)、TB(i)、TC(i)、TD(i)と、maxk=15として、情報管理に関するヒストリカルバイツ(Historical Bytes)であるT1〜TKと、チェックパラメータであるTCKとが並べて配置されたデータである。
したがって、初期応答(ATR)には、当該初期応答(ATR)を構成するキャラクタの個数−1個のPause期間が存在する。なお、T0からTCKまでのデータバイトは、最大で32バイトである。
図5は、本発明の実施形態に係るICカード1が行う初期応答(ATR)のキャラクタ構成を示す概略図である。
図示するように、初期応答(ATR)においてI/O端子から送信される全てのキャラクタは10ビットで構成される。キャラクタの最初のビットはスタートビットと呼ばれ、常にLowの状態になる。スタートビットよりも前の時点では、Highの状態に維持されている。キャラクタの最後のビットはパリティビットであり、キャラクタに含まれる、値が「1」であるビット数が偶数になるように、当該パリティビットがHighまたはLowに決定される。
また、図示するように、キャラクタの最後のビット(パリティビット)の後には、Pause期間が設けられている。なお、Pause期間の長さは、上限値と下限値とが予め規定されており、規定の範囲内であれば、ICカード1は、任意のタイミングで次のキャラクタの送信を行うことができる。なお、ICカード1とリーダライタ10との間のデータ通信には、二つの通信機器の間でデータの伝送を交互に行う半二重通信方式が利用されている。すなわち、一方がデータを送信するときは他方はデータを受信することとなり、双方が同時にデータを送信することはできない。そこで、データの受信または送信開始からの経過時間を計時し、その経過時間が一定時間を経過してからでないと次のデータを送受信しないガードタイム(Pause期間)が必要となる。
上述したように、本発明は、起動時にハードウェアやソフトウェアの初期処理が必要なICカード1において、規格(ISO7816−3)上で規定された規定時間内に全ての処理を行わずに、分割して初期処理を行うことができるようにする方法に関するものである。具体的には、ICカード1は、規格(ISO7816−3)上で規定された規定時間内に、最低限必要となる初期処理を行う。そして、ICカード1は、残りの(未完の)初期処理を、初期応答(ATR)に含まれる各Pause期間に行う。
なお、上述したように、最低限必要となる初期処理には、例えば、通信関係のパラメータ設定などが含まれ、それ以外の初期処理には、例えば、メモリにおける異常の有無についての確認処理、またはプログラムにおける改ざんの有無についての確認処理、暗号演算用ハードウェアの動作における異常の有無についての確認処理、および乱数発生器の動作における異常の有無についての確認処理などが含まれる。
[起動処理の流れ]
以下、起動処理においてICカード1とリーダライタ10との間で行われる通信の流れについて、図面を参照しながら説明する。
図6は、本発明の実施形態に係るICカード1とリーダライタ10との間で行われる通信の一例を示すシーケンス図である。
まず、ICカード1が、リーダライタ10に挿入されると(リーダライタ10と接触すると)、リーダライタ10は、ICカード1へリセット信号(起動要求信号)を送信する(図6、S001)。
ICカード1は、リセット信号(起動要求信号)を受信すると、期間tcに、(期間tcの間に完了させることが可能な)最低限必要な初期処理(例えば、通信関係のパラメータ設定など)を実行する(図6、S002)。最低限必要な初期処理が完了すると、リーダライタ10は、イニシャルバイト(TS)をリーダライタ10へ送信する(図6、S003)。
リーダライタ10は、イニシャルバイト(TS)を受信する。
ICカード1は、イニシャルバイト(TS)の送信が完了してから、次のキャラクタ(すなわち、フォーマットバイト(T0))を送信するまでの期間であるPause期間に、残りの初期処理(例えば、メモリのチェックなど)を実行する(図6、S004)。残りの初期処理が完了した場合、または、Pause期間の上限に達した場合、リーダライタ10は、フォーマットバイト(T0)をリーダライタ10へ送信する(図6、S005)。
リーダライタ10は、フォーマットバイト(T0)を受信する。
初期処理が未完の場合には、ICカード1は、フォーマットバイト(T0)の送信が完了してから、次のキャラクタ(すなわち、インターフェースバイト(TA(1)))を送信するまでの期間であるPause期間に、残りの初期処理を実行する(図6、S006)。残りの初期処理が完了した場合、または、Pause期間の上限に達した場合、リーダライタ10は、インターフェースバイト(TA(1))をリーダライタ10へ送信する(図6、S007)。
リーダライタ10は、インターフェースバイト(TA(1))を受信する。
その後も同様に、ICカード1は、初期処理が未完の場合には、Pause期間に残りの初期処理を実行しながら、初期応答(ATR)を構成する各キャラクタを順にリーダライタ10へ送信する。
そして、ICカード1が、最後のキャラクタ(すなわち、チェックパラメータ(TCK))をリーダライタ10へ送信すると(図6、S009)、初期応答(ATR)の送信が完了する。
リーダライタ10は、チェックパラメータ(TCK)を受信すると、コマンドAPDU
をICカード1へ送信する(図6、S010)。
ICカード1は、コマンドAPDUを受信する。
以上説明したように、本発明は、起動時にハードウェアやソフトウェアの初期処理が必要なICカード1において、規格(ISO7816−3)上で規定された時間内に全ての処理を行わずに、分割して初期処理を行うことができるようにする方法に関するものである。具体的には、ICカード1は、規格(ISO7816−3)上で規定された規定時間内に、最低限必要となる初期処理を行う。そして、ICカード1は、残りの(未完の)初期処理を、初期応答(ATR)に含まれる各Pause期間に行う。
これにより、本発明の実施形態に係るICカード1は、起動処理を煩雑にすることなく、起動処理を完了させることができる。
以上、この発明の実施形態について詳しく説明をしてきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更などをすることが可能である。
なお、上述した実施形態におけるICカード1の一部または全部を当該ICカード1のコンピュータで実現するようにしてもよい。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。
なお、ここでいう「コンピュータシステム」とは、ICカード1に内蔵されたコンピュータシステムであって、OSなどを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROMなどの可搬媒体、コンピュータシステムに内蔵されるハードディスクなどの記憶装置のことをいう。
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネットなどのネットワークや電話回線などの通信回線を介してプログラムを送信する場合の通信回線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
1・・・ICカード、10・・・リーダライタ、11・・・CPU、12・・・コプロセッサ、13・・・乱数発生器、14・・・I/O、15・・・ROM、16・・・RAM、17・・・EEPROM、21・・・リセット信号受信部、22・・・起動処理部、23・・・データ受信部、24・・・データ送信部、25・・・コマンド処理部、26・・・APDU処理部、27・・・レスポンス処理部

Claims (4)

  1. リーダライタからの起動要求信号に対して規定時間内に初期応答を行うICカードであって、
    前記起動要求信号を受信してから初期応答を開始するまでの間に起動処理を実行し、前記初期応答における最初のキャラクタの送信までに前記起動処理が完了していない場前記最初のキャラクタ送信後に送信する複数のキャラクタの各々において、1つ前に送信した直前の前記キャラクタとの間に規定されるPause期間に未完の前記起動処理を実行し、前記直前のキャラクタの送信開始からの経過時間が、前記直前のキャラクタとの間に規定されるPause期間の上限値に達するまでに、前記未完の起動処理が完了したとき、完了した際に次に送信する前記キャラクタを送信し、前記未完の起動処理が完了せずに前記経過時間が前記Pause期間の上限値に達したとき、前記Pause期間の上限値に達した際に次に送信する前記キャラクタを送信する
    ことを特徴するICカード。
  2. 前記起動処理は、メモリにおける異常の有無についての確認処理、またはプログラムにおける改ざんの有無についての確認処理、暗号演算用ハードウェアの動作における異常の有無についての確認処理、および乱数発生器の動作における異常の有無についての確認処理のうち少なくとも1つを含む
    ことを特徴する請求項1に記載のICカード。
  3. リーダライタからの起動要求信号に対して規定時間内に初期応答を行うICカードの起動処理方法であって、
    前記ICカードが、前記起動要求信号を受信してから初期応答を開始するまでの間に起動処理を実行し、前記初期応答における最初のキャラクタの送信までに前記起動処理が完了していない場前記最初のキャラクタ送信後に送信する複数のキャラクタの各々において、1つ前に送信した直前の前記キャラクタとの間に規定されるPause期間に未完の前記起動処理を実行し、前記直前のキャラクタの送信開始からの経過時間が、前記直前のキャラクタとの間に規定されるPause期間の上限値に達するまでに、前記未完の起動処理が完了したとき、完了した際に次に送信する前記キャラクタを送信し、前記未完の起動処理が完了せずに前記経過時間が前記Pause期間の上限値に達したとき、前記Pause期間の上限値に達した際に次に送信する前記キャラクタを送信する
    とを特徴するICカードの起動処理方法。
  4. リーダライタからの起動要求信号に対して規定時間内に初期応答を行うICカードのコンピュータに、
    前記起動要求信号を受信してから初期応答を開始するまでの間に起動処理を実行し、前記初期応答における最初のキャラクタの送信までに前記起動処理が完了していない場前記最初のキャラクタ送信後に送信する複数のキャラクタの各々において、1つ前に送信した直前の前記キャラクタとの間に規定されるPause期間に未完の前記起動処理を実行し、前記直前のキャラクタの送信開始からの経過時間が、前記直前のキャラクタとの間に規定されるPause期間の上限値に達するまでに、前記未完の起動処理が完了したとき、完了した際に次に送信する前記キャラクタを送信し、前記未完の起動処理が完了せずに前記経過時間が前記Pause期間の上限値に達したとき、前記Pause期間の上限値に達した際に次に送信する前記キャラクタを送信する
    ことを実行させるためのICカードの起動処理プログラム。
JP2017045309A 2017-03-09 2017-03-09 Icカード、icカードの起動処理方法、およびicカードの起動処理プログラム Active JP6969114B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017045309A JP6969114B2 (ja) 2017-03-09 2017-03-09 Icカード、icカードの起動処理方法、およびicカードの起動処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017045309A JP6969114B2 (ja) 2017-03-09 2017-03-09 Icカード、icカードの起動処理方法、およびicカードの起動処理プログラム

Publications (2)

Publication Number Publication Date
JP2018151695A JP2018151695A (ja) 2018-09-27
JP6969114B2 true JP6969114B2 (ja) 2021-11-24

Family

ID=63680405

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017045309A Active JP6969114B2 (ja) 2017-03-09 2017-03-09 Icカード、icカードの起動処理方法、およびicカードの起動処理プログラム

Country Status (1)

Country Link
JP (1) JP6969114B2 (ja)

Also Published As

Publication number Publication date
JP2018151695A (ja) 2018-09-27

Similar Documents

Publication Publication Date Title
CN103069384A (zh) 用从储存设备加载的操作系统代码安全地引导主机设备的主机设备和方法
JP5843674B2 (ja) Icカード、携帯可能電子装置及びicカードの制御方法
CN107273150B (zh) 预加载固件下载写入方法及装置
KR101824249B1 (ko) 인증용 개인키를 내부적으로 생성하는 집적 회로 유형의 전자 소자 제어 방법
JP2002024046A (ja) マイクロコンピュータ及びそのメモリ内容変更システム並びにメモリ内容変更方法
KR101783526B1 (ko) Ic 카드, 전자 장치 및 휴대 가능 전자 장치
WO2024099183A1 (zh) 多介质安全启动的方法、系统、存储介质、设备及芯片
JP6969114B2 (ja) Icカード、icカードの起動処理方法、およびicカードの起動処理プログラム
CN108270767B (zh) 数据验证方法
JP2011022841A (ja) 携帯可能電子装置の処理システム、携帯可能電子装置、及び携帯可能電子装置の処理装置
JP6182940B2 (ja) Icカード、ステータスワード出力方法、及びステータスワード出力処理プログラム
JP2007141113A (ja) バイオメトリクス認証機能を備えたicカード、および、icカードプログラム
JP5019210B2 (ja) 携帯可能電子装置、icカード、および携帯可能電子装置の制御方法
JPH11282991A (ja) Icカード
CN106484477B (zh) 安全的软件下载与启动方法
JP2009015651A (ja) 情報記憶媒体
JP2005258968A (ja) Icカードに書込まれたデータの正当性検証方法およびicカード用プログラム
JP3251579B2 (ja) 携帯可能電子装置
JP7327349B2 (ja) Icカード,icカードのコマンド管理方法およびicカード用のマイクロコントローラ
JP6280371B2 (ja) 携帯可能電子装置、電子回路および端末
JP5932588B2 (ja) Icカード、携帯可能電子装置、及びicカード処理装置
JP2006172271A (ja) マルチアプリケーションicカード及びicカード用プログラム
KR20060014600A (ko) 외부 메모리에 저장된 데이터의 변경유무를 체크하는 장치및 방법
JP2008097415A (ja) 情報システム、認証方法、情報処理装置、およびプログラム
JP2008152452A (ja) 携帯可能電子装置、携帯可能電子装置の制御方法およびicカード

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20170310

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20181102

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210408

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211011

R150 Certificate of patent or registration of utility model

Ref document number: 6969114

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150