JP6969114B2 - Icカード、icカードの起動処理方法、およびicカードの起動処理プログラム - Google Patents
Icカード、icカードの起動処理方法、およびicカードの起動処理プログラム Download PDFInfo
- 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
Links
Images
Landscapes
- Credit Cards Or The Like (AREA)
- Storage Device Security (AREA)
Description
例えば接触型ICカードの場合、ICカードは、リセット信号を受信すると、初期設定として通信関係のパラメータ設定を行い、初期応答としてATR(Answer to reset)をレスポンスする。このATRのレスポンスは、リーダライタからのリセット信号に対して、規定時間内になされる必要がある。
とくに近年、ソフトウェアのセキュリティ基準がより厳格になってきているため、セキュリティ面での問題を発生させないための完全なチェックがなされる必要がある。
本発明は、起動時にハードウェアやソフトウェアの初期処理が必要なICカードにおいて、規格(ISO7816−3)上で規定された規定時間内に全ての処理を行わずに、分割して初期処理を行うことができるようにする方法に関するものである。ここで言う規定時間とは、リーダライタから送信されたリセット信号(起動要求信号)をICカードが受信してから、ICカードがリーダライタへの初期応答(ATR)の送信を開始するまでの時間である。
以下、ICカード1のハードウェア構成について、図面を参照しながら説明する。
図1は、本発明の実施形態に係るICカード1のハードウェア構成を示すブロックである。
なお、ROM15、およびEEPROM17の代わりに、他の不揮発性メモリ、例えばフラッシュメモリが用いられた構成であっても構わない。 また、CPU11と、コプロセッサ12と、乱数発生器13と、I/O14と、ROM15と、RAM16と、EEPROM17とは、バスを介して相互に通信接続されている。
なお上述したように、ROM15の代わりに、他の不揮発性メモリ、例えばフラッシュメモリが用いられた構成であっても構わない。
なお上述したように、EEPROM17の代わりに、他の不揮発性メモリ、例えばフラッシュメモリが用いられた構成であっても構わない。
以下、リーダライタ10と通信するICカード1の機能構成について、図面を参照しながら説明する。
図2は、本発明の実施形態に係るICカード1の機能構成を示すブロック図である。
起動処理部22は、リセット信号受信部21がリセット信号(起動要求信号)を受信したことをトリガとして、ICカード1の起動処理を実行する。
データ受信部23は、リーダライタ10から送信されるコマンドAPDUを受信する。
データ送信部24は、後述するレスポンス処理部27によって生成されたレスポンスAPDUをリーダライタ10へ送信する。
APDU処理部26は、データ送信部24によって受信されたコマンドAPDUに基づいてコマンドAPDU処理を実行する。
レスポンス処理部27は、APDU処理部26によって実行されたAPDU処理の実行結果に基づいて、リーダライタ10に対して応答をするためのレスポンスAPDUを生成する。
起動処理部22は、リセット信号受信部21によって受信される、リーダライタ10から送信されたリセット信号(起動要求信号)に基づく起動要求にしたがってICカード1を起動する起動処理を実行する。起動処理としては、例えば、前回のICカード1の動作時において、EEPROM17への書き込み処理中に電源オフ(OFF)となった場合にデータを復旧する処理などが実行され、メモリが壊れていないかどうかなどをチェックすることができる。また、起動処理部22は、ROM15およびEEPROM17の完全性チェックや、プログラムコードのチェックを実行することにより、プログラム自体が改ざんされていないかをチェックすることができる。
一般的に、リセット信号(起動要求信号)を受信してから初期応答を開始するまでの間(後述する図3、期間tc)にICカードが実行する起動処理は、上述したように一部の限られた(必要最低限の)処理のみとなることが多い。これは、コールドリセット待ち状態でクロック信号の供給が開始されてから少なくとも400クロックサイクルの間に受け取るリセット信号の受信から、40000クロックサイクル以内に開始される初期応答(ATR)までの間に、起動処理が実行される必要があるからである。
以下、ICカード1の起動処理方法の詳細について、図面を参照しながら説明する。
図3は、本発明の実施形態に係るICカード1が初期応答を行うタイミングを示す概略図である。
また、図3の横軸は時間を表す。
図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バイトである。
図示するように、初期応答(ATR)においてI/O端子から送信される全てのキャラクタは10ビットで構成される。キャラクタの最初のビットはスタートビットと呼ばれ、常にLowの状態になる。スタートビットよりも前の時点では、Highの状態に維持されている。キャラクタの最後のビットはパリティビットであり、キャラクタに含まれる、値が「1」であるビット数が偶数になるように、当該パリティビットがHighまたはLowに決定される。
以下、起動処理においてICカード1とリーダライタ10との間で行われる通信の流れについて、図面を参照しながら説明する。
図6は、本発明の実施形態に係るICカード1とリーダライタ10との間で行われる通信の一例を示すシーケンス図である。
ICカード1は、リセット信号(起動要求信号)を受信すると、期間tcに、(期間tcの間に完了させることが可能な)最低限必要な初期処理(例えば、通信関係のパラメータ設定など)を実行する(図6、S002)。最低限必要な初期処理が完了すると、リーダライタ10は、イニシャルバイト(TS)をリーダライタ10へ送信する(図6、S003)。
リーダライタ10は、イニシャルバイト(TS)を受信する。
リーダライタ10は、フォーマットバイト(T0)を受信する。
リーダライタ10は、インターフェースバイト(TA(1))を受信する。
リーダライタ10は、チェックパラメータ(TCK)を受信すると、コマンドAPDU
をICカード1へ送信する(図6、S010)。
ICカード1は、コマンドAPDUを受信する。
これにより、本発明の実施形態に係るICカード1は、起動処理を煩雑にすることなく、起動処理を完了させることができる。
なお、ここでいう「コンピュータシステム」とは、ICカード1に内蔵されたコンピュータシステムであって、OSなどを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROMなどの可搬媒体、コンピュータシステムに内蔵されるハードディスクなどの記憶装置のことをいう。
Claims (4)
- リーダライタからの起動要求信号に対して規定時間内に初期応答を行うICカードであって、
前記起動要求信号を受信してから初期応答を開始するまでの間に起動処理を実行し、前記初期応答における最初のキャラクタの送信までに前記起動処理が完了していない場合、前記最初のキャラクタの送信後に送信する複数のキャラクタの各々において、1つ前に送信した直前の前記キャラクタとの間に規定されるPause期間に未完の前記起動処理を実行し、前記直前のキャラクタの送信開始からの経過時間が、前記直前のキャラクタとの間に規定されるPause期間の上限値に達するまでに、前記未完の起動処理が完了したとき、完了した際に次に送信する前記キャラクタを送信し、前記未完の起動処理が完了せずに前記経過時間が前記Pause期間の上限値に達したとき、前記Pause期間の上限値に達した際に次に送信する前記キャラクタを送信する、
ことを特徴するICカード。 - 前記起動処理は、メモリにおける異常の有無についての確認処理、またはプログラムにおける改ざんの有無についての確認処理、暗号演算用ハードウェアの動作における異常の有無についての確認処理、および乱数発生器の動作における異常の有無についての確認処理のうち少なくとも1つを含む
ことを特徴する請求項1に記載のICカード。 - リーダライタからの起動要求信号に対して規定時間内に初期応答を行うICカードの起動処理方法であって、
前記ICカードが、前記起動要求信号を受信してから初期応答を開始するまでの間に起動処理を実行し、前記初期応答における最初のキャラクタの送信までに前記起動処理が完了していない場合、前記最初のキャラクタの送信後に送信する複数のキャラクタの各々において、1つ前に送信した直前の前記キャラクタとの間に規定されるPause期間に未完の前記起動処理を実行し、前記直前のキャラクタの送信開始からの経過時間が、前記直前のキャラクタとの間に規定されるPause期間の上限値に達するまでに、前記未完の起動処理が完了したとき、完了した際に次に送信する前記キャラクタを送信し、前記未完の起動処理が完了せずに前記経過時間が前記Pause期間の上限値に達したとき、前記Pause期間の上限値に達した際に次に送信する前記キャラクタを送信する
ことを特徴するICカードの起動処理方法。 - リーダライタからの起動要求信号に対して規定時間内に初期応答を行うICカードのコンピュータに、
前記起動要求信号を受信してから初期応答を開始するまでの間に起動処理を実行し、前記初期応答における最初のキャラクタの送信までに前記起動処理が完了していない場合、前記最初のキャラクタの送信後に送信する複数のキャラクタの各々において、1つ前に送信した直前の前記キャラクタとの間に規定されるPause期間に未完の前記起動処理を実行し、前記直前のキャラクタの送信開始からの経過時間が、前記直前のキャラクタとの間に規定されるPause期間の上限値に達するまでに、前記未完の起動処理が完了したとき、完了した際に次に送信する前記キャラクタを送信し、前記未完の起動処理が完了せずに前記経過時間が前記Pause期間の上限値に達したとき、前記Pause期間の上限値に達した際に次に送信する前記キャラクタを送信する
ことを実行させるためのICカードの起動処理プログラム。
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) |
-
2017
- 2017-03-09 JP JP2017045309A patent/JP6969114B2/ja active Active
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 |