JP5471575B2 - Icカード及びコンピュータプログラム - Google Patents

Icカード及びコンピュータプログラム Download PDF

Info

Publication number
JP5471575B2
JP5471575B2 JP2010035404A JP2010035404A JP5471575B2 JP 5471575 B2 JP5471575 B2 JP 5471575B2 JP 2010035404 A JP2010035404 A JP 2010035404A JP 2010035404 A JP2010035404 A JP 2010035404A JP 5471575 B2 JP5471575 B2 JP 5471575B2
Authority
JP
Japan
Prior art keywords
value
verification value
card
check timer
reaches
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.)
Expired - Fee Related
Application number
JP2010035404A
Other languages
English (en)
Other versions
JP2011170721A (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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2010035404A priority Critical patent/JP5471575B2/ja
Publication of JP2011170721A publication Critical patent/JP2011170721A/ja
Application granted granted Critical
Publication of JP5471575B2 publication Critical patent/JP5471575B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Description

本発明は,ICカードの不正な利用を防止するための技術に関する。
データを記憶するメモリや演算機能を備えたICチップが実装され,スマートカードとも称されるICカードは,金融分野や公共分野などセキュリティ要求の高いシステムに利用されている。
セキュリティ要求の高いシステムにICカードを利用する場合,ICカードに実装されたICチップのメモリ(例えば,EEPROM)に機密データが記憶され,非特許文献1の第6章や数多くの特許文献(例えば,特許文献1)に記載されているように,パスワードや暗号鍵を用いた認証コマンドを用いて機密データは保護され,機密データのアクセスには,認証コマンドの成功が条件とされていた。
しかし,認証コマンドを用いて機密データを保護すると,機密データの保護に用いた認証コマンドに一旦成功してしまうと,ICカードへの電源切断又はICカードのリセットなどの処理が実行されるまでの間,機密データにアクセスできてしまう問題があるため,特許文献2では,認証コマンドに成功したから後,所定時間が経過するとコマンドに対する処理の実行を停止するICカードが開示されている。
特開昭61−151793号公報 特開2003−208585号公報
ICカードシステム利用促進協議会著 「JICSAP ICカード仕様 V2.0」 平成13年7月
しかしながら,上述した特許文献2の発明では,不正行為が行われて経過時間が延長されても,該不正行為が行われたことをICカード側で判断することができなかった。
そこで,本発明は,経過時間によって機密データへのアクセスを制御する際,経過時間を計測中に不正行為が行われたことを判断できるICカード,及び,該ICカードに実装されるコンピュータプログラムを提供することを目的とする。
上述した課題を解決する第1の発明は,所定のトリガーが成立すると,不正行為の検出に利用する検証値に初期値を設定した後,タイマーを作動させて一定時間間隔を計測し,前記一定時間間隔が経過すると,前記一定時間間隔を計測した計測回数に基づき算出される値に前記検証値を更新する動作を,予め設定された最大計測回数に前記計測回数が達するまで繰り返し行い,前記計測回数が前記最大計測回数に達すると,前記計測回数が前記最大計測回数に達したときの前記検証値の理論値を算出し,このときの前記検証値と前記理論値を比較するチェックタイマー手段と,前記チェックタイマー手段が作動している間,機密データへのアクセスを許可するセキュリティ管理手段を備えていることを特徴とするICカードである。
更に,第2の発明は,前記チェックタイマー手段は,前記検証値を更新する動作を開始する前に,前記検証値の初期値及び前記最大計測回数が記憶されているメモリの整合性をチェックする処理を行うことを特徴とする第1の発明に記載のICカードである。
更に,第3の発明は,前記チェックタイマー手段は,前記計測回数が前記最大計測回数に達したときの前記検証値と前記理論値が一致しない場合,コマンドを受け付けない状態に前記ICカードにすることを特徴とする第1の発明又は第2の発明に記載のICカードである。
第1の発明によれば,前記チェックタイマー手段が前記検証値を更新する処理を実行中に,前記ICカードが攻撃を受けてメモリに格納された前記計測回数や前記検証値などが変化すると,前記計測回数が前記最大計測回数に達したときの前記理論値とこのときの前記検証値が合わなくなるため,前記計測回数が最大計測回数に達したときの前記理論値と前記検証値を比較することで,何らかの不正行為が行われたことを前記ICカード1で判断できるようになる。
また,第2の発明によれば,前記チェックタイマー手段が,前記検証値を更新する動作を開始する前に,メモリに記憶されている前記検証値の初期値及び前記最大計測回数の整合性をチェックする処理を行うこと,前記検証値を更新する動作を開始する前に,前記検証値の初期値及び前記最大計測回数が正しいことを前記ICカード側で判断できる。
更に,第3の発明によれば,何らかの不正行為が行われた前記ICカードを使用できないようにするために,前記計測回数が前記最大計測回数に達したときの前記理論値が一致しない場合,前記チェックタイマー手段は,コマンドを受け付けない状態に前記ICカードにすることが望ましい。
更に,第4の発明は,所定のトリガーが成立すると,不正行為の検出に利用する検証値に初期値を設定した後,タイマーを作動させて一定時間間隔を計測し,前記一定時間間隔が経過すると,前記一定時間間隔を計測した計測回数に基づき算出される値に前記検証値を更新する動作を,予め設定された最大計測回数に前記計測回数が達するまで繰り返し行い,前記計測回数が前記最大計測回数に達すると,前記計測回数が前記最大計測回数に達したときの前記検証値の理論値を算出し,このときの前記検証値と前記理論値を比較するチェックタイマー手段と,前記チェックタイマー手段が作動している間,機密データへのアクセスを許可するセキュリティ管理手段として,ICカードを機能させるためのコンピュータプログラムである。
更に,第5の発明は,前記チェックタイマー手段は,前記検証値を更新する動作を開始する前に,前記検証値の初期値及び前記最大計測回数が記憶されているメモリの整合性をチェックする処理を行う手段であることを特徴とする第4の発明に記載のコンピュータプログラムである。
更に,第6の発明は,前記チェックタイマー手段は,前記計測回数が前記最大計測回数に達したときの前記検証値と前記理論値が一致しない場合,コマンドを受け付けない状態に前記ICカードをする手段であることを特徴とする第4の発明又は第5の発明に記載のコンピュータプログラムである。
なお,第4の発明から第6の発明は,ICカードに実装するコンピュータプログラムに係わる発明である。
このように,本発明によれば,経過時間によって機密データへのアクセスを制御する際,経過時間を計測中に不正行為が行われたことを判断できるICカード,及び,該ICカードに実装されるコンピュータプログラムを提供できる。
本実施形態に係るICカードの外観を示した図。 ICカードに実装されるICチップのブロック図。 ICカードに備えられた機能を説明する図。 チェックタイマーモジュールの動作を示したフロー図。 セキュリティ管理モジュールの動作を示したフロー図。
ここから,本願発明の実施形態について,本願発明の技術分野に係わる当業者が,本願発明の内容を理解し,本願発明を実施できる程度に説明する。
図1は、本実施形態に係るICカード1の外観を示した図で、図1に示したICカード1は、キャッシュカードやクレジットカードと同じ大きさのプラスチック製カードで、ICカード1には、ICチップ2がモールドされたICモジュール2aが実装され,ICカード1はターミナル3と協働して動作する。
図1において、本実施形態に係るICカード1を,ターミナル3と接触型でデータ通信する接触IC型カードとしているが、本発明は,ICカード種別に依存せず,無線でデータ通信する非接触ICカード、または、接触データ通信と非接触データ通信の2つの通信機能を備えたデュアルインターフェースICカードであってもよい。
加えて、ICカード1の形状は問わず、ICカード1はキャッシュカードと同じ形状でなく、ICモジュール2aの近辺を矩形状に切り取った形状をしているSIM(Subscriber Identity Module)或いはUIM(Universal Subscriber Identity Module)であってもよい。
図2は、ICカード1に実装されるICチップ2のブロック図である。図2に図示したように、ICチップ2には、演算機能を備えたCPU20(CPU:Central Processing Unit)、揮発性メモリとしてランダムアクセスメモリ21(RAM:Random Access Memory)、読み出し専用の不揮発性メモリ23(ROM:Read Only Memory、)、電気的に書換え可能な不揮発性メモリとしてEEPROM22(EEPROM:Electrically Erasable Programmable Read-Only Memoryの略)およびターミナル3とデータ通信するためのUART24に加え、ターミナル3から受け取るクロックを利用して時間を計測する機能を備えたタイマー25などが、BUS26に接続されている。
図3は,ICカード1に備えられた機能を説明する図である。図3に図示したように,本実施形態では,ROM23やEEPROM22などに記憶された機密データのアクセスに時間的な制限を加えるためのコンピュータプログラムとして,所定のトリガーが成立すると,不正行為の検出に利用する検証値に初期値を設定した後,タイマー25を作動させて一定時間間隔を計測し,一定時間間隔が経過すると,一定時間間隔を計測した計測回数に基づき算出される値に検証値を更新する動作を,予め設定された最大計測回数に計測回数が達するまで繰り返し行い,計測回数が最大計測回数に達すると,計測回数が最大計測回数に達したときの検証値の理論値を算出し,このときの検証値と理論値を比較するチェックタイマー手段として機能するチェックタイマーモジュール10と,チェックタイマーモジュール10が作動している間,機密データへのアクセスを許可するセキュリティ管理手段として機能するセキュリティ管理モジュール11がROM23に実装されている。
本実施形態において,チェックタイマーモジュール10によって更新される検証値、及び,一定時間間隔を計測した計測回数を格納する領域はRAM21に記憶され,また,検証値の初期値と,検証値の最大計測回数がEEPROM22に記憶されている。
チェックタイマーモジュール10が作動中に,ICカード1が攻撃を受けてRAM21に格納された計測回数や検証値が変化した場合や,ICカード1が攻撃を受けてEEPROM22に記憶された初期値や最大計測回数が変化した場合は,計測回数が最大計測回数に達したときの検証値の理論値とこのときの検証値が合わなくなるため,計測回数が最大計測回数に達したときの検証値の理論値と検証値を比較することで,何らかの不正行為が行われたことをICカード1側で判断できる。
また,チェックタイマーモジュール10が,検証値を更新する動作を開始する前に,EEPROM22に記憶されている検証値の初期値及び最大計測回数の整合性をチェックする処理を行うこと,検証値を更新する動作を開始する前に,検証値の初期値及び最大計測回数が正しいことをICカード1側で判断できる。
更に,何らかの不正行為が行われたICカード1を使用できないようにするために,計測回数が最大計測回数に達したときの検証値と理論値が一致しない場合,チェックタイマーモジュール10は,コマンドを受け付けない状態にICカード1をすることが望ましい。
ここから,ICカード1に実装されたチェックタイマーモジュール10及びセキュリティ管理モジュール11それぞれの動作について説明する。
図4は,チェックタイマーモジュール10の動作を示したフロー図である。ICカード1の内部で,チェックタイマーモジュール10を起動させるトリガーが成立すると(S1),チェックタイマーモジュール10が起動する(S2)。
チェックタイマーモジュール10を起動させるトリガーとしては,チェックタイマーモジュール10を起動させる専用コマンドを用意しておき,ターミナル3からの該専用コマンドの受信を該トリガーとしてもよいが,機密データの保護に利用するための認証コマンド(例えば,Verifyコマンド)の成功を該トリガーとすることもできるし,ターミナル3からのリセット動作を該トリガーとすることもできる。
チェックタイマーモジュール10は起動すると,まず,初期値及び最大計測回数が格納されているメモリ(ここでは,EEPROM22)の領域をチェックするメモリチェック(S3)を実行する。
具体的には,初期値と最大計測回数が格納されている領域全体のXOR値と,予め記憶されているXOR値の期待値を比較することで,メモリに記憶されている初期値と最大計測回数の整合性を検証する。
チェックタイマーモジュール10はメモリチェック(S3)の結果によって処理を分岐させ(S4),メモリチェック(S3)に失敗すると,この手順を終了し,検証値を更新することなくチェックタイマーモジュール10は停止する。
また,チェックタイマーモジュール10は,メモリチェック(S3)に成功すると,検証値の初期値を検証値にセットし,一定時間間隔を計測した回数である計測回数を「0」にセットした後(S5),一定時間間隔に対応するカウンタ値をタイマー25のカウンタにセットして,ICチップ2のタイマー25を作動させる(S6)。
ICチップ2のタイマー25は,ICチップ2の内部クロックに従い,タイマー25のカウンタをデクリメントさせ,該カウンタの値が「0」になると,タイマー割り込みを発生させる。
ICチップ2のタイマー回路25のカウンタの値が「0」になることでタイマー割り込みが発生すると(S7),チェックタイマーモジュール10は、計測回数を一つだけインクリメントした後(S8)、所定のアルゴリズムに従い、インクリメント後の計測回数に基づく検証値を所定のアルゴリムに従い算出し、RAM21に格納されている検証値を算出した値に更新する(S9)。
なお,チェックタイマーモジュール10が、検証値を算出に利用するアルゴリズムは任意で、検証値を所定の幅ずつインクリメントするアルゴリズムでもよいが、数列を求めるアルゴリズムを利用するとよい。例えば、計測回数を検証値に加算するアルゴリズムを適用すると、検証値は次のように更新されることになる。
0(初期値)→1(1回目の更新)→3(2回目の更新)→6(3回目の更新)→10(4回目の更新)→15(5回目の更新)
チェックタイマーモジュール10は,計測回数と検証値を更新すると,更新後の計測回数と最大計測回数を比較し,比較結果によって処理を分岐させ(S10),更新後の計測回数が更新最大回数でなければ図4のステップS6に戻る。
また,更新後の計測回数の値が更新最大回数であるとき,チェックタイマーモジュール10は,計測回数が最大計測回数になったときの検証値の理論値を利用して算出し(S11),この時点における検証値と理論値を比較し,比較結果によって処理を分岐させる(S12)。
この時点における検証値と検証値の理論値が一致していれば,チェックタイマーモジュール10の起動中に何らかの不正行為が無かったと判断し,このままこの手順を終了し,チェックタイマーモジュール10は停止する。
この時点における検証値と検証値の理論値が一致していなければ,チェックタイマーモジュール10の起動中に何らかの不正行為があったと判断し,コマンドを受け付けない状態にした後(S13),この手順を終了し,チェックタイマーモジュール10は停止する。
例えば,最大計測回数が「5」で,上述したアルゴリズムによれば,一定時間間隔の計測回数が「5」のときの検証値の理論値は「15」になり,実際の検証値が「15」以外であれば,ICカード1は何らかの不正行為があったと判断する。
次に、セキュリティ管理モジュール11の動作について説明する。図5は、セキュリティ管理モジュール11の動作を示したフロー図である。セキュリティ管理モジュール11は、機密データにアクセスするコマンドと協働して動作するコンピュータプログラムで、ターミナル3から該コマンドを受信すると(S20),セキュリティ管理モジュール11が起動する(S21)。
セキュリティ管理モジュール11は起動すると、これまで述べたチェックタイマーモジュール10が起動中であるか確認し,確認結果によって処理を分岐させる(S22)。例えば,RAM21に設けられた計測回数とEEPROM22に記憶された最大計測回数を比較し、計測回数が最大計測回数以下であることによって,チェックタイマーモジュール10が起動中であるか確認できる。
セキュリティ管理モジュール11は,チェックタイマーモジュール10が起動中であると判定した場合,ステップS20で受信したコマンドを実行した後(S23),該コマンドの実行結果を示すレスポンスをターミナル3へ送信し(S24),この手順は終了する。
また,セキュリティ管理モジュール11は,チェックタイマーモジュール10が起動中でないと判定した場合,ステップS20で受信したコマンドを実行することなく,チェックタイマーモジュール10が起動中でないことを示すレスポンスをターミナル3へ送信し(S25),この手順は終了する。
1 ICカード
10 チェックタイマーモジュール
11 セキュリティ管理モジュール
2 ICチップ
21 RAM
22 EEPROM
23 ROM

Claims (6)

  1. 所定のトリガーが成立すると,不正行為の検出に利用する検証値に初期値を設定した後,タイマーを作動させて一定時間間隔を計測し,前記一定時間間隔が経過すると,前記一定時間間隔を計測した計測回数に基づき算出される値に前記検証値を更新する動作を,予め設定された最大計測回数に前記計測回数が達するまで繰り返し行い,前記計測回数が前記最大計測回数に達すると,前記計測回数が前記最大計測回数に達したときの前記検証値の理論値を算出し,このときの前記検証値と前記理論値を比較するチェックタイマー手段と,前記チェックタイマー手段が作動している間,機密データへのアクセスを許可するセキュリティ管理手段を備えていることを特徴とするICカード。
  2. 前記チェックタイマー手段は,前記検証値を更新する動作を開始する前に,前記検証値の初期値及び前記最大計測回数が記憶されているメモリの整合性をチェックする処理を行うことを特徴とする,請求項1に記載のICカード。
  3. 前記チェックタイマー手段は,前記計測回数が前記最大計測回数に達したときの前記検証値と前記理論値が一致しない場合,前記ICカードをコマンドを受け付けない状態にすることを特徴とする,請求項1又は請求項2に記載のICカード。
  4. 所定のトリガーが成立すると,不正行為の検出に利用する検証値に初期値を設定した後,タイマーを作動させて一定時間間隔を計測し,前記一定時間間隔が経過すると,前記一定時間間隔を計測した計測回数に基づき算出される値に前記検証値を更新する動作を,予め設定された最大計測回数に前記計測回数が達するまで繰り返し行い,前記計測回数が前記最大計測回数に達すると,前記計測回数が前記最大計測回数に達したときの前記検証値の理論値を算出し,このときの前記検証値と前記理論値を比較するチェックタイマー手段と,前記チェックタイマー手段が作動している間,機密データへのアクセスを許可するセキュリティ管理手段として,ICカードを機能させるためのコンピュータプログラム。
  5. 前記チェックタイマー手段は,前記検証値を更新する動作を開始する前に,前記検証値の初期値及び前記最大計測回数が記憶されているメモリの整合性をチェックする処理を行う手段であることを特徴とする,請求項4に記載のコンピュータプログラム。
  6. 前記チェックタイマー手段は,前記計測回数が前記最大計測回数に達したときの前記検証値と前記理論値が一致しない場合,コマンドを受け付けない状態に前記ICカードをする手段であることを特徴とする,請求項4又は請求項5に記載のコンピュータプログラム。
JP2010035404A 2010-02-19 2010-02-19 Icカード及びコンピュータプログラム Expired - Fee Related JP5471575B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010035404A JP5471575B2 (ja) 2010-02-19 2010-02-19 Icカード及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010035404A JP5471575B2 (ja) 2010-02-19 2010-02-19 Icカード及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2011170721A JP2011170721A (ja) 2011-09-01
JP5471575B2 true JP5471575B2 (ja) 2014-04-16

Family

ID=44684760

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010035404A Expired - Fee Related JP5471575B2 (ja) 2010-02-19 2010-02-19 Icカード及びコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP5471575B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000003338A (ja) * 1998-06-16 2000-01-07 Nec Eng Ltd 使用許可装置
JP2002244555A (ja) * 2001-02-21 2002-08-30 Nippon Telegr & Teleph Corp <Ntt> データ改竄検出方法及び装置及びデータ改竄検出プログラム及びデータ改竄検出プログラムを格納した記憶媒体
JP4445331B2 (ja) * 2004-05-27 2010-04-07 日本電信電話株式会社 データベース装置、システム及びプログラム

Also Published As

Publication number Publication date
JP2011170721A (ja) 2011-09-01

Similar Documents

Publication Publication Date Title
KR101885381B1 (ko) 이동 단말용 마이크로회로 카드 내에 임베드되는 보호되는 내부 펑션들 및 애플리케이션들에 대한 실행 제어를 위한 방법 및 장치
JP6373888B2 (ja) 情報処理装置及び制御方法
BR112013020142B1 (pt) cartão inteligente, e, método para autenticação de segurança offline com código pin de um único uso de um cartão inteligente
EP2854066A1 (en) System and method for firmware integrity verification using multiple keys and OTP memory
EP3188065A1 (en) Secure intelligent terminal device and information processing method
WO2017097042A1 (zh) 一种安全芯片及其非易失性存储控制装置、方法
CN105224875A (zh) 一种终端的安全启动系统和方法
US20130174283A1 (en) Portable data carrier having an operating error counter
JP5471575B2 (ja) Icカード及びコンピュータプログラム
JP6354438B2 (ja) 情報処理装置、情報処理システム及び処理プログラム
US9912471B2 (en) Method for operating a portable data carrier, and such a portable data carrier
JP2004503860A (ja) データ処理方法及び保護された命令の実行のための装置
US20190050565A1 (en) Protective method of an elecronic device against attacks by fault injection
TWI467408B (zh) 嵌入式元件與控制方法
JP2020009305A (ja) Icチップ、icカード及びプログラム
EP3460702A1 (en) Method to detect an attack by fault injection on a sensitive operation
JP6182940B2 (ja) Icカード、ステータスワード出力方法、及びステータスワード出力処理プログラム
JP2007141113A (ja) バイオメトリクス認証機能を備えたicカード、および、icカードプログラム
JP7192658B2 (ja) セキュアエレメント
US10242183B2 (en) Method of executing a program by a processor and electronic entity comprising such a processor
US8430323B2 (en) Electronic device and associated method
JP5131327B2 (ja) 認証機能を備えた情報処理装置の発行方法
JP2015082233A (ja) セキュリティトークンおよび処理ルーチンの実行方法
JP4904957B2 (ja) Icカードを利用した課金システム、方法、icカード、および、icカードプログラム
JP4578167B2 (ja) 認証機能を備えた情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121213

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20130823

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131029

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131206

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140120

R150 Certificate of patent or registration of utility model

Ref document number: 5471575

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees