JP4904966B2 - モード変更機能を備えたicカード、および、icカードプログラム - Google Patents

モード変更機能を備えたicカード、および、icカードプログラム Download PDF

Info

Publication number
JP4904966B2
JP4904966B2 JP2006203404A JP2006203404A JP4904966B2 JP 4904966 B2 JP4904966 B2 JP 4904966B2 JP 2006203404 A JP2006203404 A JP 2006203404A JP 2006203404 A JP2006203404 A JP 2006203404A JP 4904966 B2 JP4904966 B2 JP 4904966B2
Authority
JP
Japan
Prior art keywords
mode
command
card
data
apdu
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
JP2006203404A
Other languages
English (en)
Other versions
JP2008033426A (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 JP2006203404A priority Critical patent/JP4904966B2/ja
Publication of JP2008033426A publication Critical patent/JP2008033426A/ja
Application granted granted Critical
Publication of JP4904966B2 publication Critical patent/JP4904966B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ICチップが実装されたカード媒体であるICカードに関し、更に詳しくは、上位装置とICカード間の通信時間を短縮する技術に関する。
ICカードに実装されたICチップ近傍を短冊状に切り取ったSIM(Subscriber Identity Module)は、上位装置に組み込まれ、上位装置で利用するデータを暗号化/復号するデバイスとして利用されている。
SIMを上位装置に組み込む一例としては、同一出願人は、インターネットに接続できる監視カメラにSIMを搭載し、監視カメラが撮像した動画をSIMで暗号化するシステムを出願している(特許文献1)。
監視カメラなどの上位装置とSIMとを組み合わせることで、データを暗号化するために施す上位装置の変更点が最小限に抑えられ、更に、暗号アルゴリズム交換も容易になるメリットが生じる。
しかしながら、SIMの通信速度は、標準で9600bpsと一般的なネットワークや無線通信速度と比べて非常に遅く、上位装置にSIMを組み込み利用する際は、上位装置とSIM間の通信時間がボトルネックとなってしまう。このため、上位装置とSIM間の通信時間を短縮する上で、上位装置とSIM間の通信量を減らすことは大変メリットがある。
近年では、特許文献2で開示されているようなUSBインターフェースを搭載し、通信速度を飛躍的に向上させることの可能なICチップも提案されてきているが、上位装置とSIM間の通信量を減らすことにメリットがあることにかわりはない。
上位装置とSIM間の通信量を少なくする一つの発明として、同一出願人は、繰り返して利用することのできるパターンがコマンドに含まれる場合、あらかじめSIM内にこのパターンを登録し、SIMへはこのパターン番号を送ることで、上位装置とSIM間の通信量を減らす発明を出願している(特許文献3)。
特願2005−108601号公報 特表2003−532936号公報 特願2005−265605号公報
確かに、特許文献3の技術を用いることで、繰り返しのパターンがコマンドに含まれる場合、あらかじめSIM内にパターンを登録し、繰り返しのパターンの代わりにパターン番号を上位装置からSIMに送信することで通信量を削減することができる。
しかしながら、あるコマンドの処理を連続してSIMに実行させる場合、上位装置側では、コマンドを実行させるごとにパターン番号をSIMに送信する必要があるし、また、SIM側では、受信したパターン番号を解釈しなければならない。
そこで、本発明は、あるコマンドの処理を連続してSIMに実行させる場合、上位装置とSIM間で繰り返し伝送されるパターン(例えば、コマンドコード)を省略することができ、更に、このパターンを識別するパターン番号でさえも省略することのできるICカード、およびICカードプログラムを提供することを目的とする。
上述した課題を解決する第1の発明は、上位装置に組み込まれ利用されるICカードであって、前記ICカードは、前記ICカードのモードを示すモード情報をメモリに記憶し、前記モード情報によって、少なくとも、コマンドAPDU及びレスポンスAPDUを前記上位装置とやり取りする第1のモード、或いは、前記コマンドAPDUのデータ部であるコマンドデータ及び前記レスポンスAPDUのデータ部であるレスポンスデータのみを前記上位装置とやり取りする第2のモードのいずれかのモードが示され、前記ICカードは、前記モード情報を操作するモード変更コマンドと、前記モード情報を参照し、前記モード情報に基づいて前記ICカードの振舞いを変更する制御手段とを備え、前記モード変更コマンドは、前記コマンドデータを処理する処理モジュールを有し、更に、前記モード変更コマンドは、前記第1のモードで前記コマンドAPDUを処理するときには、前記モード情報を操作して前記ICカードのモードを前記第2のモードに遷移させ、前記第2のモードに遷移してからは、前記第2のモードに遷移している時間を計測し、計測した時間が設定時間を越えたときに、前記モード情報を操作して前記ICカードのモードを前記第1のモードに復帰させ、前記制御手段は、前記モード情報が前記第2のモードを示すときは、前記上位装置から送信された前記コマンドデータの処理を前記モード変更コマンドに委任し、前記モード変更コマンドから得られる前記レスポンスデータを前記上位装置に送信することを特徴とする。
更に、第2の発明は、第1の発明に記載のICカードであって、前記モード変更コマンドは、前記モード変更コマンドの前記コマンドAPDUのパラメータから前記設定時間を演算することを特徴とする。
更に、第3の発明は、第1の発明または第2の発明に記載のICカードであって、前記モード変更コマンドは、計測した時間が前記設定時間を越える前に、設定されたデータ量の前記コマンドデータを処理したときは、前記モード情報を操作して前記ICカードのモードを前記第1のモードに復帰させることを特徴とする。
更に、第4の発明は、第3の発明に記載のICカードであって、前記モード変更コマンドは、計測した時間が前記設定時間を越えことにより、前記モード情報を操作して前記ICカードのモードを前記第1のモードに復帰させたときは、異常終了を示すレスポンスAPDUを生成し、設定されたデータ量の前記コマンドデータを処理したことにより、前記モード情報を操作して前記ICカードのモードを前記第1のモードに復帰させたときは、正常終了を示すレスポンスAPDUを生成することを特徴とする。
更に、第5の発明は、第1の発明から第4の発明のいずれかに記載のICカードであって、前記モード変更コマンドが有する前記処理モジュールは、前記コマンドデータを暗号化/複合するモジュールであることを特徴とする。
更に、第6の発明は、少なくとも、コマンドAPDU及びレスポンスAPDUを前記上位装置とやり取りする第1のモード、或いは、前記コマンドAPDUのデータ部であるコマンドデータ及び前記レスポンスAPDUのデータ部であるレスポンスデータのみを前記上位装置とやり取りする第2のモードのいずれかのモードが示されるモード情報を記憶したICカードに実装されるICカードプログラムであって、前記コマンドデータを処理する処理モジュールを有し、更に、前記コマンドAPDUを処理するときに、前記モード情報を操作して前記ICカードのモードを前記第2のモードに遷移させ、前記第2のモードに遷移してからの時間を計測し、計測した時間が設定時間を越えたときに、前記モード情報を操作して前記ICカードのモードを前記第1のモードに復帰させるモード変更コマンド機能と、前記モード情報が前記第2のモードを示すときは、前記上位装置から送信された前記コマンドデータの処理を前記モード変更コマンド機能に委任し、前記モード変更コマンド機能から得られる前記レスポンスデータを前記上位装置に送信する制御機能として、前記ICカードのCPUを動作させるためのICカードプログラムである。
更に、第7の発明は、第6の発明に記載のICカードプログラムにおいて、前記モード変更コマンドの前記コマンドAPDUのパラメータから前記設定時間を演算する前記モード変更コマンド機能として、前記ICカードのCPUを動作させるためのICカードプログラムである。
更に、第8の発明は、第6の発明または第7の発明に記載のICカードプログラムにおいて、計測した時間が前記設定時間を越える前に、設定されたデータ量の前記コマンドデータを処理したときは、前記モード情報を操作して前記ICカードのモードを前記第1のモードに復帰させるモード変更コマンド昨日として、前記ICカードのCPUを動作させるためのICカードプログラムである。
更に、第9の発明は、第8の発明に記載のICカードプログラムにおいて、計測した時間が前記設定時間を越えことにより、前記モード情報を操作して前記ICカードのモードを前記第1のモードに復帰させたときは、異常終了を示すレスポンスAPDUを生成し、設定されたデータ量の前記コマンドデータを処理したことにより、前記モード情報を操作して前記ICカードのモードを前記第1のモードに復帰させとたきは、正常終了を示すレスポンスAPDUを生成するモード変更コマンド機能として、前記ICカードのCPUを動作させるためのICカードプログラムである。
上述した発明によれば、上述した第2のモードに遷移してから設定時間内においては、上位装置とICカード間ではコマンドデータ/レスポンスデータが伝送されため、上位装置とICカード間の通信量を減らす効果が得られるばかりか、ICカードは、上位装置から受信したコマンドAPDUを毎回解釈する必要がなくなるため、ICカードの処理時間を短縮する効果が得られる。
更に、設定された時間が経過した後、或いは、所定のデータ量の処理が終了した後は、コマンドデータ/レスポンスデータのみを前記上位装置とやり取りする第2のモードから、コマンドAPDU/レスポンスAPDUを前記上位装置とやり取りする第1のモードに自動復帰するため、第2のモードに遷移した後でも、上位装置はISO/IEC7816などの規格に準拠した手順に従い、ICカードを利用したトランザクションを実行することができる。
更に、モード変更コマンドのコマンドAPDUで示される処理が終了したときに、レスポンスAPDUをICカードから上位装置に送信することで、ISO/IEC7816に準拠したシステムと親和性がとり易くなる。
更に、モード変更コマンドが有する処理モジュールを、平文を暗号化/複合するモジュールとすることで、上位装置が大量の平文を暗号化したときに処理時間を短縮できる。なお、第1のモードに自動復帰することで、暗号鍵の変更やICカードの認証など、モード変更コマンド以外の処理を行うことができる。
なお、本発明において、ICカードとは、ICチップが実装されたカード媒体を意味し、上位装置と通信するためのインターフェースは接触/非接触を問うものではない。更に、本発明に係るICカードには、ICチップの周辺を短冊状に切り取ったSIM或いはUIMも含まれる。
ここから、図を参照しながら、本発明に係るSIMについて詳細に説明する。本発明に係るSIM1は、上位装置2と通信するモードとして2つのモードを備え、第1のモードは、APDU(Application Protocol Data Unit)を交換するISOモードであり、第2のモードは、APDUのデータ部のみを交換するデータモードである。
図1は、SIM1の振舞いを説明する図で、図1(a)は、APDUを交換するISOモードを説明する図で、図1(b)は、APDUのデータ部のみを交換するデータモードを説明する図である。
図1(a)に示したように、ISOモードは、ISO/IEC7816の手順に従い、上位装置2とSIM1間でAPDUを交換するモードで、上位装置2からSIM1に送信されるAPDUはコマンドAPDUと呼ばれ、このコマンドAPDUには、実行するコマンドを示すコマンドヘッダと、コマンドで利用されるコマンドデータが含まれる。
また、SIM1から上位装置2に送信されるAPDUはレスポンスAPDUと呼ばれ、このレスポンスAPDUには、コマンドのレスポンスデータと、コマンドの実行結果を示すステータスワード(SW: status word)が含まれる。
図1(b)に示したように、SIM1がデータモードであるとき、上位装置2とSIM1間ではAPDUのデータ部のみが交換され、上位装置2からSIM1にはコマンドデータのみが送信され、SIM1から上位装置2にはレスポンスデータのみが送信される。
活性化されたときのSIM1のモードはISOモードで、SIM1は、ISOモードからデータモードへ遷移するトリガーとなるモード変更コマンドを備える。
SIM1がモード変更コマンドを受信すると、SIM1のモードはISOモードからデータモードへと遷移し、データモードでは、SIM1は、上位装置2から送信されたコマンドデータをモード変更コマンドによって処理し、モード変更コマンドの処理結果であるレスポンスデータのみを上位装置2に送信する。
モード変更コマンドのパラメータで、データモードに遷移している時間である設定時間が示され、モード変更コマンドはデータモードに遷移してからの時間を計測し、計測した時間が設定時間を越えたときには、SIM1のモードは、データモードからISOモードに自動復帰する。
また、データモードに遷移している間で処理するデータ量を示す処理データ量がモード変更コマンドのパラメータによって示され、データモードに遷移してから設定時間以内に処理したデータ量が処理データ量を越えたときには、SIM1のモードはデータモードからISOモードに自動復帰する。
SIM1が上述したデータモードを有することで、上位装置2とSIM1間の通信量を減らす効果が得られるばかりか、SIM1は、上位装置2から受信したコマンドAPDUを毎回解釈する必要がなくなるため、SIM1の処理時間を短縮する効果が得られる。
更に、設定時間が経過した後はデータモードからISOモードに自動復帰するため、データモードに遷移した後でも、上位装置2はISO/IEC7816に準拠した手順に従い、ICカードを利用したトランザクションを実行することができる。
ここから、本発明に係るSIM1についてより詳しく説明する。図2は、本発明に係るSIM1の外観図である。SIM1は、ICチップ10がモールドされたICモジュール1a周辺を約11.5mm×25mm状に切り取った形状をしており、SIM1の詳細な形状はGSM(Global System for Mobile communications)規格等で規格化されている。
図3は、SIM1のICモジュール1aにモールドされるICチップ10のハードウェア構造図である。ICチップ10は、Vcc、Reset、Clock、I/O及びGnd用の外部端子を有し、このICチップ10には、中央演算装置11(Central Processing Unit、以下CPUと記す)に、バス18を介して、読み出し専用メモリ15(Read Only Memory、以下ROMと記す)、書換え可能なメモリとしてEEPROM16(Electrically Erasable Programmable Read-Only Memoryの略)、揮発性メモリとしてランダムアクセスメモリ14(Random Access Memory、以下RAMと記す)、暗号演算専用の回路である暗号演算回路12、上位装置2とデータを通信するための通信I/F回路13、及び、Clock用の外部端子に入力されるクロック信号を用いて時間を計測するタイマー回路17などが接続されている。
図4は、SIM1のソフトウェア構成図である。図4に示したように、SIM1は、上位装置2から送信された平文を暗号化する暗号鍵104をEEPROM16に記憶し、SIM1が遷移しているモードを示すモード情報105をRAM14などの揮発性メモリに記憶している。
更に、SIM1は、図3で示したICチップ10のハードウェアを利用し、CPU11を動作させるプログラムとして、I/F回路13を制御し、上位装置2とデータ通信するための伝送制御モジュール103と、上位装置2から送信されたコマンドAPDUを解釈し、コマンドAPDUに対応するコマンドに処理を委任する手段となるディスパッチャ100(dispatcher)と、ディスパッチャ100から処理を委任される複数のコマンドからなるコマンド群106を備え、このコマンド群106には、暗号演算回路12を作動させ、上位装置2から送信された平文を暗号化する暗号化コマンド101と、暗号化コマンド101で利用される暗号鍵104をEEPROM16に書込む暗号鍵設定コマンド102が含まれる。
SIM1に備えられた伝送制御モジュール103とは、通信I/F回路13を制御し、上位装置2と確実にデータを送受信するためのプログラムで、例えば、ISO/IEC7816で定義されている伝送プロトコル(T0,T1)や、USB規格の伝送プロトコルに従い、誤り訂正や、再送制御などを行なうプログラムである。
ディスパッチャ100とは、本発明に係る制御手段を実現するプログラムであって、モード情報105を参照し、SIM1の振舞いを変更する。モード情報105がISOモードを示すとき、ディスパッチャ100は上位装置2から送信されたコマンドAPDUを解釈し、コマンド群106の中からコマンドAPDUを処理させるコマンドを選択し、選択したコマンドにコマンドAPDUの処理を委任する。
また、モード情報105がデータモードを示すとき、ディスパッチャ100は上位装置2から送信されたコマンドデータを解釈することなく、暗号化コマンド101にコマンドデータの処理を委任する。
暗号鍵設定コマンド102とは、ISO/IEC7816で定義されているWriteコマンドのように、上位装置2から受信したデータ(暗号鍵104)をEEPROM16に書き込むプログラムである。SIM1がこの暗号鍵設定コマンド102を備えることで、平文を暗号化する暗号鍵104を任意に変更することが可能である。
暗号化コマンド101とは、ICチップ10の暗号演算回路12を操作し、SIM1に記憶された暗号鍵104を用い、所定の暗号アルゴリズムに従い、上位装置2から伝送される平文を暗号化する処理モジュールを備えたコマンドで、SIM1がデータモードへ遷移するトリガーとなるモード変更コマンドである。
図5は、SIM1のモード遷移を説明する図である。上述しているように、SIM1は、ISOモードとデータモードの2つのモードを有し、SIM1が遷移しているモードは、モード情報105によって示される。
ISOモードでは、SIM1と上位装置2間でAPDUが交換され、ISOモードで、暗号化コマンド101のコマンドAPDUを受信したとき、SIM1のモードは、ISOモードからデータモードに遷移する。そして、データモードでは、APDUのデータ部のみ、すなわち、コマンドデータとレスポンスデータのみが交換される。
ISOモードからデータモードに遷移した後は、暗号化コマンド101のコマンドAPDUで示される処理データ量の平文の暗号処理がすべて終了したときか、或いは、暗号化コマンド101のコマンドAPDUで示される設定時間が経過したときに、SIM1のモードは、データモードからISOモードへと自動復帰する。
図6は、ISOモードにおけるSIM1の動作を説明する図である。ISOモードでは、コマンド群106に含まれるコマンドの実行が可能で、このISOモードでは、プロトコルバイトとチェックコードが付加されたコマンドAPDUが、上位装置2からSIM1に送信される。
SIM1の伝送制御モジュール103は、コマンドAPDUを受信すると、コマンドAPDUに付加されたプロトコルバイトとチェックコードを確認し、データを正常に受信したと判断した場合、ディスパッチャ100がコマンドAPDUのコマンドヘッダの内容を解釈し、コマンド群106に含まれ、受信したコマンドAPDUに対応するコマンドに処理を委任する。委任されたコマンドはコマンドAPDUで示される処理を実行した後、レスポンスAPDUを生成し、伝送制御モジュール103は生成したレスポンスAPDUを上位装置2に返信する。
図7は、データモードにおけるSIM1の動作を説明する図である。SIM1が暗号化コマンド102を受信することで、SIM1のモードはISOモードからデータモードへ遷移し、データモードでは、ISOモードとは異なり、上位装置2からSIM1には平文のみが送信される。
上位装置2が平文をSIM1に送信するとき、平文には、コマンドAPDUと同様にプロトコルバイトとチェックコードが付加される。SIM1が平文を受信すると、伝送制御モジュール103は、平文に付加されたプロトコルバイトとチェックコードを確認し、正常にデータを受信したと判断した場合、受信した平文の暗号化を暗号化コマンド101に委任し、暗号化コマンド101は平文を暗号化した暗号文を生成する。暗号化コマンド101が生成した暗号文は、伝送制御モジュール103に受け渡され、しかるべきプロトコルバイトとチェックコードが付加されて上位装置1に送信される。
そして、上位装置2から送信される最後の平文を受信すると、SIM1のモードは、データモードからISOモードへと遷移し、SIM1は暗号化コマンドのレスポンスAPDUを生成し、生成したレスポンスAPDUにプロトコルバイトとチェックコードを付加して上位装置2へ送信する。
従来のICカードにおいては、データ容量の大きい平文を暗号化する際、一つのコマンドAPDUに含めることができるブロックサイズに平文を分割し、分割した平文ごとにコマンドAPDUを生成しなければならないが、本発明に係るSIM1を用いれば、分割した平文ごとにコマンドAPDUを生成する必要はなくなるため、上位装置2とSIM1間の通信量を減らす効果が得られるばかりか、SIM1は、上位装置2から受信したコマンドAPDUを毎回解釈する必要がなくなるため、SIM1の処理時間を短縮する効果が得られる。
更に、指定された時間が経過した後、或いは、処理データ量の平文を処理した後は、SIM1のモードはデータモードからISOモードに自動復帰するため、データモードに遷移した後であっても、上位装置2はISO/IEC7816などに準拠した手順に従い、ICカードを利用したトランザクションを実行することができる。
図8は、暗号化コマンド101のコマンドAPDUの一例を示した図である。図8で示しているように、本実施の形態において、ISOモード時に上位装置からSIM1に送信されるコマンドAPDUの構造は、ISO/IEC7816規格のCase3のコマンド構造で、CLA、INS、P1及びP2とから成るコマンドヘッダと、Lc及びデータフィールドとから成るボディとから構成される。
暗号化コマンド101のコマンドAPDUのヘッダーに含まれるCLAとINSは、コマンドAPDUを識別するためのデータで、本実施の形態において、暗号化コマンド101のCLAは「D0h」で、INSは「04h」である。
暗号化コマンド101のコマンドAPDUのヘッダーに含まれるP1およびP2は、暗号化コマンド101が実行されるときのパラメータで、本実施の形態においては、P1は、暗号化コマンド101の処理データ量として、暗号化コマンド101のコマンドAPDUも含め、平文が送信される回数を示すパラメータで、P2は上述した設定時間を示すパラメータである。
例えば、P1=「80h」のときは、暗号化コマンド101のコマンドデータも含め、平文が送信される回数は128回であることが示される。P2=「08h」(hは16進表記)であるときは、P2によって上述している設定時間は8分間であることが示される。
暗号化コマンド101のボディのLcは、データフィールドに含まれるデータの長さを示しデータフィールドには平文が含まれる。なお、上述しているように、データモードでは、平文のみが送信され、コマンドヘッダのCLA、INS、P1およびP2は送信されない。
SIM1がデータモードにいるときは、暗号化コマンド101のボディ、すなわち、送信する平文の長さを示すLcと平文とが送信され、暗号化コマンド101は、Lcで示される長さの平文を暗号化する。
図9は、暗号化コマンド101のレスポンスAPDUの一例を示した図で、平文を暗号化した回数がP1で示される回数に達したとき、或いは、P2で示される時間が経過したとき、暗号化コマンド101はレスポンスAPDUを生成する。
図9で示したように、暗号化コマンド101のレスポンスAPDUの構造は、ISO/IEC7816のレスポンスAPDUの構造に準拠し、ボディと、トレイラー(Trailer)である2バイトのSWとから構成される。
暗号化コマンド101のレスポンスAPDUのボディには、最後に受信する平文を暗号化した暗号文が含まれる。また、レスポンスAPDUの2バイトのSWでは、暗号化コマンド101の実行結果(成功、失敗)が示される。
平文を暗号化した回数がP1で示される回数に達したときに生成されるレスポンスAPDUのSWでは実行結果(成功)が示され、P2で示される設定時間が経過したときに生成されるレスポンスAPDUのSWでは実行結果(異常終了)が示され、異常終了時のレスポンスAPDUには暗号文は含まれない。
ここから、暗号化コマンド101を実装したSIM1の動作フローについて説明する。図10は、SIM1の動作を示したフロー図である。図10の最初のステップS1は、SIM1が活性化されるステップである。このステップでは、SIM1は、ISO/IEC7816の手順に従い活性化され、SIM1の初期処理が実行される。
この初期処理によって、SIM1のモード情報105の値がISOモードを示す値に設定されることで、SIM1のモードはISOモードになる。
次のステップS2は、SIM1が非活性化されるまで繰り返し実行されるループ処理である。
次のステップS3は、SIM1が上位装置2からコマンドAPDUを受信するステップである。SIM1の伝送制御モジュール103は、上位装置2から、プロトコルバイトとチェックコードが付加されたコマンドAPDUを受信すると、コマンドAPDUに付加されたプロトコルバイトとチェックコードを確認し、データを正常に受信したと判断した場合、コマンドAPDUのみをディスパッチャ100に受け渡す。
次のステップS4は、SIM1が上位装置から受信したコマンドAPDUを処理するコマンドを特定するステップである。このステップでは、SIM1のモード情報105の値は、ISOモードを示す値に設定されているため、SIM1のディスパッチャ100は、コマンドAPDUのCLA,INSを解析することで、SIM1が有するコマンド群106の中から実行するコマンドを特定し、P1、P2およびデータフィールドのデータを引渡すなどして、コマンドAPDUの処理を特定したコマンドに委任する。
なお、このステップで、特定したコマンドが暗号化コマンド101の場合はステップS10に進み、他のコマンドの場合はステップS5に進む。
ステップS5において、暗号化コマンド101以外のコマンド(例えば、暗号鍵設定コマンド102)を処理され、レスポンスAPDUが生成される。そして、ステップS6では、伝送制御モジュール103は、生成したレスポンスAPDUにプロトコルバイトとチェックコードを付加し上位装置2に送信する。
図11は、図10のステップS10で実行され、暗号化コマンド101を処理する手順を示したフロー図である。暗号化コマンド101を処理する手順の最初のステップS11は、SIM1のモードを、ISOモードからデータモードへ遷移させるステップである。
このステップS11では、暗号化コマンド101は、ISOモードを示す値からデータモードを示す値に、モード情報105の値を変更することで、SIM1のモードを、ISOモードからデータモードへ遷移させる。
次のステップS12は、上位装置から送信される平文を暗号化する回数を示すカウンタと、データモードに遷移してからの時間を計測するタイマーを初期化するステップである。このステップでは、SIM1の暗号化コマンド101は、図10のステップS3で受信した暗号化コマンド101のコマンドAPDUに含まれるP1の値を、CPU11のレジスタまたはRAM14にコピーすることで、暗号化する回数を示すカウンタを初期化する。
また、SIM1の暗号化コマンド101は、コマンドAPDUのP2の値から演算される値をタイマー回路17にセットすることで、タイマーを初期化し、タイマー回路17を作動させる。
次のステップS13は、上位装置2から送信された平文を暗号化した暗号文を生成するステップである。このステップでは、暗号化コマンド101は、暗号演算回路12を作動させ、暗号鍵104を用いて所定の暗号アルゴリズムに従い、ディスパッチャ100から引渡された平文を暗号化する。
なお、このステップで暗号化する最初の平文は、図10のステップS3で受信したコマンドAPDUのデータフィールドに含まれる平文で、2回目以降に暗号化する平文は、後述するステップS19で受信する平文である。
次のステップS14は、平文を暗号化した回数を示すカウンタの値を一つデクリメントするステップである。このステップでは、暗号化コマンド101は、CPU11のレジスタまたはRAM14に生成されたカウンタの値を一つだけデクリメントする。
次のステップS15は、カウンターの値を参照し、図10のステップS3で受信した暗号化コマンド101のコマンドAPDUのP1で示される回数だけ、平文を暗号化したか確認するステップである。例えば、暗号化コマンド101は、CPUのレジスタまたはRAMに生成されたカウンタの値が「0」であるか確認することで、暗号化コマンド101のコマンドAPDUのP1で示される回数だけ、平文を暗号化したかが確認される。
ステップS15で、暗号化コマンド101のコマンドAPDUのP1で示される回数だけ、平文を暗号化していない場合はステップS16に進み、暗号化した場合は正常終了処理(ステップS20)に進む。
暗号化コマンド101のコマンドAPDUのP1で示される回数だけ、平文を暗号化していない場合に実行されるステップS16では、平文を暗号化した暗号文のみが上位装置2に送信される。このステップでは、暗号化コマンド101は、ステップS12で生成した暗号文を伝送制御モジュール103に引渡し、伝送制御モジュール103は、暗号文に、プロトコルバイトとチェックコードを付加して上位装置2に送信し、送信後にSIM1は上位装置2からデータを受信する状態になる。
次のステップS17は、次に暗号化する平文を受信待ちするステップである。このステップでは、ステップS16で、伝送制御モジュール103が暗号文を送信することで、SIM1は受信待ちとなる。
次のステップS18は、データモードに遷移してからの時間が設定時間を越えたか確認するステップである。このステップでは、ステップS12で作動させたタイマー回路17のタイマー割込みが発生することで、データモードに遷移してからの時間が設定時間を越えたか確認される。設定時間を越えたときは異常終了処理(ステップS30)に進み、設定時間を越えていないときはステップS19に進む。
次のステップS19は、上位装置2から平文を受信したか確認するステップである。このステップで、平文を受信していないときは、ステップS18に戻る。
このステップで、上位装置2からSIM1に送信される平文には、プロトコルバイトとチェックコードが付加される。SIM1が平文を受信すると、伝送制御モジュール103は、コマンドAPDUに付加されたプロトコルバイトとチェックコードを確認し、データを正常に受信したと判断し、モード情報105の値を確認する。
ステップS19では、モード情報105はデータモードを示す値に設定されているため、このステップで平文を受信すると、ディスパッチャ100は、コマンドAPDUを解析することなく、ステップS13に進み、ステップS19で受信した平文の暗号化を暗号化コマンド101に委任する。
図12は、正常終了処理に手順を示したフロー図である。この手順の最初のステップS21は、正常終了を示すSWと、最後に暗号化した平文の暗号文であるレスポンスデータとからなるレスポンスAPDUを生成し、更に、データモードを示す値からISOモードを示す値にモード情報105の値を変更する。
ステップS21の後に実行されるステップS22は、ステップS21で生成したレスポンスAPDUを上位装置2に送信するステップである。このステップでは、暗号化コマンド101は、ステップS21で生成したレスポンスAPDUを伝送制御モジュール103に引渡し、伝送制御モジュール103は、プロトコルバイトとチェックコードをレスポンスAPDUに付加し、レスポンスAPDUを上位装置2に送信する。
図13は、異常終了処理に手順を示したフロー図である。この手順の最初のステップS31は、異常終了を示すSWのみからなるレスポンスAPDUを生成し、更に、データモードを示す値からISOモードを示す値にモード情報105の値を変更する。
ステップS21の後に実行されるステップS22は、ステップS21で生成したレスポンスAPDUを上位装置2に送信するステップである。このステップでは、暗号化コマンド101は、ステップS21で生成したレスポンスAPDUを伝送制御モジュール103に引渡し、伝送制御モジュール103は、プロトコルバイトとチェックコードをレスポンスAPDUに付加し、レスポンスAPDUを上位装置2に送信する。
SIMの振舞いを説明する図。 SIMの外観図。 ICチップのハードウェア構造図。 SIMのソフトウェア構成図。 SIMのモード遷移を説明する図。 ISOモードにおけるSIMの動作を説明する図。 データモードにおけるSIMの動作を説明する図。 暗号化コマンドのコマンドAPDUの一例を示した図。 暗号化コマンドのレスポンスAPDUの一例を示した図。 SIMの動作を示したフロー図。 暗号化コマンドを処理する手順を示したフロー図。 正常終了時の手順を示したフロー図。 異常終了時の手順を示したフロー図。
符号の説明
1 SIM
100 ディスパッチ
101 暗号鍵設定コマンド
102 暗号化コマンド
103 伝送制御モジュール
104 暗号鍵
105 モード情報
2 上位装置

Claims (9)

  1. 上位装置に組み込まれ利用されるICカードであって、前記ICカードは、前記ICカードのモードを示すモード情報をメモリに記憶し、前記モード情報によって、少なくとも、コマンドAPDU及びレスポンスAPDUを前記上位装置とやり取りする第1のモード、或いは、前記コマンドAPDUのデータ部であるコマンドデータ及び前記レスポンスAPDUのデータ部であるレスポンスデータのみを前記上位装置とやり取りする第2のモードのいずれかのモードが示され、前記ICカードは、前記モード情報を操作するモード変更コマンドと、前記モード情報を参照し、前記モード情報に基づいて前記ICカードの振舞いを変更する制御手段とを備え、前記モード変更コマンドは、前記コマンドデータを処理する処理モジュールを有し、更に、前記モード変更コマンドは前記コマンドAPDUを処理するときに、前記モード情報を操作して前記ICカードのモードを前記第2のモードに遷移させ、前記第2のモードに遷移してからの時間を計測し、計測した時間が設定時間を越えたときに、前記モード情報を操作して前記ICカードのモードを前記第1のモードに復帰させ、前記制御手段は、前記モード情報が前記第2のモードを示すときは、前記上位装置から送信された前記コマンドデータの処理を前記モード変更コマンドに委任し、前記モード変更コマンドから得られる前記レスポンスデータを前記上位装置に送信することを特徴とするICカード。
  2. 請求項1に記載のICカードであって、前記モード変更コマンドは、前記モード変更コマンドの前記コマンドAPDUのパラメータから前記設定時間を演算することを特徴とするICカード。
  3. 請求項1または請求項2に記載のICカードであって、前記モード変更コマンドは、計測した時間が前記設定時間を越える前に、設定されたデータ量の前記コマンドデータを処理したときは、前記モード情報を操作して前記ICカードのモードを前記第1のモードに復帰させることを特徴とするICカード。
  4. 請求項3に記載のICカードであって、前記モード変更コマンドは、計測した時間が前記設定時間を越えことにより、前記モード情報を操作して前記ICカードのモードを前記第1のモードに復帰させたときは、異常終了を示すレスポンスAPDUを生成し、設定されたデータ量の前記コマンドデータを処理したことにより、前記モード情報を操作して前記ICカードのモードを前記第1のモードに復帰させたときは、正常終了を示すレスポンスAPDUを生成することを特徴とするICカード。
  5. 請求項1から請求項4のいずれかに記載のICカードであって、前記モード変更コマンドが有する前記処理モジュールは、前記コマンドデータを暗号化/複合するモジュールであることを特徴とするICカード。
  6. 少なくとも、コマンドAPDU及びレスポンスAPDUを前記上位装置とやり取りする第1のモード、或いは、前記コマンドAPDUのデータ部であるコマンドデータ及び前記レスポンスAPDUのデータ部であるレスポンスデータのみを前記上位装置とやり取りする第2のモードのいずれかのモードが示されるモード情報を記憶したICカードに実装されるICカードプログラムであって、前記コマンドデータを処理する処理モジュールを有し、更に、前記コマンドAPDUを処理するときに、前記モード情報を操作して前記ICカードのモードを前記第2のモードに遷移させ、前記第2のモードに遷移してからの時間を計測し、計測した時間が設定時間を越えたときに、前記モード情報を操作して前記ICカードのモードを前記第1のモードに復帰させるモード変更コマンド機能と、前記モード情報が前記第2のモードを示すときは、前記上位装置から送信された前記コマンドデータの処理を前記モード変更コマンド機能に委任し、前記モード変更コマンド機能から得られる前記レスポンスデータを前記上位装置に送信する制御機能として、前記ICカードのCPUを動作させるためのICカードプログラム。
  7. 請求項6に記載のICカードプログラムにおいて、前記モード変更コマンドの前記コマンドAPDUのパラメータから前記設定時間を演算する前記モード変更コマンド機能として、前記ICカードのCPUを動作させるためのICカードプログラム。
  8. 請求項6または請求項7に記載のICカードプログラムにおいて、計測した時間が前記設定時間を越える前に、設定されたデータ量の前記コマンドデータを処理したときは、前記モード情報を操作して前記ICカードのモードを前記第1のモードに復帰させるモード変更コマンド昨日として、前記ICカードのCPUを動作させるためのICカードプログラム。
  9. 請求項8に記載のICカードプログラムにおいて、計測した時間が前記設定時間を越えことにより、前記モード情報を操作して前記ICカードのモードを前記第1のモードに復帰させたときは、異常終了を示すレスポンスAPDUを生成し、設定されたデータ量の前記コマンドデータを処理したことにより、前記モード情報を操作して前記ICカードのモードを前記第1のモードに復帰させたときは、正常終了を示すレスポンスAPDUを生成するモード変更コマンド機能として、前記ICカードのCPUを動作させるためのICカードプログラム。
JP2006203404A 2006-07-26 2006-07-26 モード変更機能を備えたicカード、および、icカードプログラム Expired - Fee Related JP4904966B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006203404A JP4904966B2 (ja) 2006-07-26 2006-07-26 モード変更機能を備えたicカード、および、icカードプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006203404A JP4904966B2 (ja) 2006-07-26 2006-07-26 モード変更機能を備えたicカード、および、icカードプログラム

Publications (2)

Publication Number Publication Date
JP2008033426A JP2008033426A (ja) 2008-02-14
JP4904966B2 true JP4904966B2 (ja) 2012-03-28

Family

ID=39122817

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006203404A Expired - Fee Related JP4904966B2 (ja) 2006-07-26 2006-07-26 モード変更機能を備えたicカード、および、icカードプログラム

Country Status (1)

Country Link
JP (1) JP4904966B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4840012B2 (ja) * 2006-07-28 2011-12-21 大日本印刷株式会社 モード変更機能を備えたicカード、および、icカードプログラム
JP7409335B2 (ja) * 2021-02-18 2024-01-09 大日本印刷株式会社 Icカード、データの送信方法およびicチップ
JP7459899B2 (ja) 2022-08-01 2024-04-02 大日本印刷株式会社 電子情報記憶媒体、検証方法、およびプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01213774A (ja) * 1988-02-22 1989-08-28 Toshiba Corp 携帯可能記憶媒体処理装置
JPH05250523A (ja) * 1992-03-06 1993-09-28 Toshiba Corp 処理方式
JP4119881B2 (ja) * 2004-11-15 2008-07-16 株式会社メガチップス 半導体メモリ装置

Also Published As

Publication number Publication date
JP2008033426A (ja) 2008-02-14

Similar Documents

Publication Publication Date Title
EP2858259B1 (en) NFC tag, communication method and system
JP5103803B2 (ja) モード変更機能を備えたicカード、および、icカードプログラム
US20100235629A1 (en) Information storage medium, authentication data generation method, and medium authentication system
JP2008059304A (ja) 通信装置および方法、並びにプログラム
JP4904966B2 (ja) モード変更機能を備えたicカード、および、icカードプログラム
KR100782113B1 (ko) 메모리 카드 시스템 및 그것의 호스트 식별 정보 전송 방법
JP4840012B2 (ja) モード変更機能を備えたicカード、および、icカードプログラム
JP2018005561A (ja) Icカード、携帯可能電子装置、および、icカード処理装置
JP4236830B2 (ja) アップロード機能付き記憶装置
JP4373239B2 (ja) Icカードの発行方法、icカード用プログラムおよびicカード
JP2011022841A (ja) 携帯可能電子装置の処理システム、携帯可能電子装置、及び携帯可能電子装置の処理装置
KR100562505B1 (ko) 중앙 처리 장치의 개입없이 널 바이트 정보를 자동적으로전송할 수 있는 집적회로 카드
JP4957209B2 (ja) Icカード通信モジュール、及び、icカード通信方法及びコンピュータプログラム
JP7444197B2 (ja) 電子情報記憶媒体、暗号演算方式選択方法、及びプログラム
JP2006309331A (ja) Icカード、および、icカードに実装されるコマンドの処理方法
JP6182940B2 (ja) Icカード、ステータスワード出力方法、及びステータスワード出力処理プログラム
JP5693824B2 (ja) Icカードの処理装置、icカード、及びicカードの処理システム
JP7439847B2 (ja) 電子情報記憶媒体、鍵データ設定方法、及びプログラム
JP7468757B1 (ja) 電子情報記憶媒体、icチップ、icカード、レスポンス送信方法、及びプログラム
JP2006172271A (ja) マルチアプリケーションicカード及びicカード用プログラム
JP7487837B1 (ja) 電子情報記憶媒体、icチップ、icカード、鍵データ格納方法、及びプログラム
JP7468754B1 (ja) 電子情報記憶媒体、icチップ、icカード、受信ブロック処理方法、及びプログラム
JP2009015375A (ja) データを暗号化する機能を備えたicカード、方法およびicカード用プログラム
JP7501764B1 (ja) 電子情報記憶媒体、icチップ、icカード、データ送受信方法、及びプログラム
JP2008003811A (ja) 情報通信媒体及び通信条件制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090525

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111202

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111226

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees