JP3657315B2 - 携帯可能情報記録媒体およびそのアクセス方法 - Google Patents
携帯可能情報記録媒体およびそのアクセス方法 Download PDFInfo
- Publication number
- JP3657315B2 JP3657315B2 JP20285495A JP20285495A JP3657315B2 JP 3657315 B2 JP3657315 B2 JP 3657315B2 JP 20285495 A JP20285495 A JP 20285495A JP 20285495 A JP20285495 A JP 20285495A JP 3657315 B2 JP3657315 B2 JP 3657315B2
- Authority
- JP
- Japan
- Prior art keywords
- command
- cpu
- batch
- file
- commands
- 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 - Lifetime
Links
Images
Description
【発明の属する技術分野】
本発明は携帯可能情報記録媒体およびそのアクセス方法、特に、CPUを内蔵したICカードに対して利用するのに適した新規なアクセス方法に関する。
【0002】
【従来の技術】
磁気カードに代わる次世代の携帯可能情報記録媒体として、ICカードが注目を集めている。最近では、半導体集積回路の小型化、低コスト化のための技術進歩により、実社会の種々のシステムにおいてICカードが実用されるに至っている。
【0003】
特に、CPUを内蔵したICカードでは、単なる情報記録媒体としての機能だけではなく、情報処理機能が付加されるため、高度なセキュリティを必要とする情報処理システムへの利用が期待されている。現在普及している一般的なICカードは、CPUと、このCPUによってアクセスされる3種類のメモリ、すなわち、ROM,RAM,EEPROMを有している。ROM内には、CPUによって直接実行可能なインストラクションコードからなるプログラムが記憶されており、CPUはこのプログラムに基いて、ICカードを統括制御する機能を有する。RAMは、CPUがこのような統括制御を行う上での作業領域として使用されるメモリである。一方、EEPROMは、CPUを介してデータの読出しおよび書き込みが可能な不揮発性メモリであり、このICカードに記録すべき本来のデータを格納するために用いられる。
【0004】
通常、EEPROMへのアクセスは、すべてCPUを介して行われ、外部からEEPROMを直接アクセスすることはできない。このため、EEPROM内に格納される個々のファイルごとに様々なアクセス権を設定することができ、高度なセキュリティを確保することが可能になる。ICカード内のEEPROMに対して、外部から何らかのアクセスを行いたい場合には、必ずCPUに対して、外部から所定のコマンドを与えるという方法をとることになる。たとえば、EEPROM内の所定のファイルへデータの書き込みを行う場合は、所定の書込コマンドとともに書込対象となるデータをCPUに与え、CPUによる書込コマンドの実行という形式で書込処理が行われることになる。また、EEPROM内の所定のファイルからデータの読出しを行う場合は、所定の読出コマンドをCPUに与え、CPUによる読出コマンドの実行という形式で読出処理が行われることになる。外部からICカードに対して所定のコマンドを与えると、このコマンドに対するレスポンスがICカードから外部に対して返送される。たとえば、書込コマンドを与えた場合には、書込処理が支障なく実行されたか否かを示すレスポンスが返送され、読出コマンドを与えた場合には、読出対象となったデータがレスポンスという形で返送されることになる。
【0005】
セキュリティ確保の上でアクセス権を設定した場合には、特定のコマンドの実行に特定のキーが要求されるようになる。このようなキーが要求されるコマンドを実行させるためには、その前に、キーの照合を行っておく必要がある。このようなキーの照合は、外部からICカードに対して、照合コマンドとともに所定のキーを与えることによって行われる。ICカード内部で、与えられたキーと、EEPROM内に記録されていたキーとが照合され、両者が一致していれば、特定のコマンドの実行が許可される。
【0006】
【発明が解決しようとする課題】
上述のように、CPUを内蔵した携帯可能情報記録媒体では、通常、外部から所定のコマンドを送信し、これに対するレスポンスの返送を受ける、という方法でアクセスが行われる。別言すれば、携帯可能情報記録媒体にどのようなアクセスを行わせる場合であっても、コマンド送信/レスポンス返送/コマンド送信/レスポンス返送/…という処理を繰り返し実行する必要がある。このようなコマンド送信およびレスポンス返送処理は、外部装置と携帯可能情報記録媒体との間に形成されたI/Oラインを介して行われるが、このI/Oラインを介したデータ転送速度は、媒体内部におけるCPU・メモリ間のデータ転送速度に比べて非常に遅くなる。このため、媒体内部のCPUの性能に比して、外部から媒体をアクセスする処理には非常に時間がかかることになる。このように、長い時間にわたって、I/Oライン上に大量のデータが流れるということは、セキュリティの観点からも好ましくない。すなわち、外部装置と媒体との間に形成されるI/Oラインは、外部から物理的にアクセスすることが容易であり、I/Oライン上を流れるデータは、外部から不正に観測される可能性が高く、長時間にわたってデータ転送を行うことは、セキュリティ確保の上から問題になる。また、I/Oラインを介したデータ転送を行う場合、本来転送すべきデータに、所定の伝送プロトコルに従った制御情報(いわゆるヘッダ、フッタ情報)を付加する必要があり、冗長性が高くなるという問題もある。このように、I/Oラインを介したコマンド送信/レスポンス返送という手順による媒体のアクセスは、必ずしも効率的なものにはなっていない。
【0007】
このような問題に対する解決法として、媒体に対するアクセス内容に応じて、その都度、インストラクションコードからなるプログラムを書き、このプログラムをバイナリデータとしてEEPROM内にファイルとして書き込み、媒体内のCPUには、このEEPROM内のインストラクションコードを直接実行させるというアクセス方法も提案されている。この方法によれば、I/Oラインを介したデータ転送は、プログラムをバイナリデータとして転送するだけの短時間ですむ。以後は、CPUはEEPROM内のプログラムを実行すればよいので媒体内だけの処理ですみ、非常に高速な処理が可能になる。しかしながら、この方法は、セキュリティの点で大きな問題がある。すなわち、CPUの制御は、ROM内に用意された通常のルーチンの支配を離れ、EEPROM内に転送されたインストラクションコードのルーチンによって完全に支配されることになる。このため、不正利用者が、不正なプログラムをインストラクションコードで記述してこの方法を利用すれば、CPUはこの不正なプログラムを忠実に実行してしまうことになる。
【0008】
そこで本発明は、十分なセキュリティを確保しつつ、外部からのアクセスを効率的に行うことができる携帯可能情報記録媒体およびそのアクセス方法を提供することを目的とする。
【0009】
【課題を解決するための手段】
(1) 本発明の第1の態様は、CPUと、このCPUによって直接実行可能なインストラクションコードからなるプログラムを記憶したROMと、CPUの作業領域として使用されるRAMと、CPUを介してデータの読出しおよび書き込みが可能な不揮発性メモリと、を備え、外部から与えられたコマンドに基いて、CPUがROM内の所定のプログラムを実行し、その結果をレスポンスとして外部へ返送する機能を有する携帯可能情報記録媒体において、
外部から「複数のコマンドを羅列してなるバッチファイル」を書込対象データとする書込コマンドが与えられたときに、このバッチファイルを不揮発性メモリに書き込む処理を実行し、実行結果を書込コマンドに対するレスポンスとして外部へ返送する処理と、
外部から所定のバッチ処理実行コマンドが与えられたときに、不揮発性メモリに書き込まれたバッチファイルに含まれている複数のコマンドを、外部から与えられたコマンドと解釈して順次実行する処理を行い、バッチファイル内のすべてのコマンドの処理が完了した時点で、これらのコマンドに対する必要なレスポンスを一括して、バッチ処理実行コマンドに対するレスポンスとして外部へ返送する処理と、
を行う機能を設けたものである。
【0010】
(2) 本発明の第2の態様は、上述の第1の態様に係る携帯可能情報記録媒体において、
バッチファイル内の各コマンドの実行によって生じるレスポンスを、RAM内に一時蓄積しておき、バッチファイル内の全コマンドの実行が終了した後、RAM内に蓄積されているレスポンスをバッチ処理実行コマンドに対するレスポンスとして外部へ一括して送出するようにしたものである。
【0011】
(3) 本発明の第3の態様は、上述の第1または第2の態様に係る携帯可能情報記録媒体をアクセスする方法において、
携帯可能情報記録媒体に対して与える複数のコマンドを羅列してなるバッチファイルを用意し、
携帯可能情報記録媒体に対して、所定の書込コマンドとともに用意したバッチファイルを与え、このバッチファイルを不揮発性メモリ内に書き込み、その結果を書込コマンドに対するレスポンスとして外部へ返送させ、
携帯可能情報記録媒体に対して、所定のバッチ処理実行コマンドを与えることにより、不揮発性メモリ内に書き込まれたバッチファイル内の各コマンドを、外部から与えられたコマンドと解釈して実行させ、バッチファイル内のすべてのコマンドの処理が完了した時点で、これらのコマンドに対する必要なレスポンスを一括して、バッチ処理実行コマンドに対するレスポンスとして外部へ返送させるようにしたものである。
【0012】
(4) 本発明の第4の態様は、上述の第3の態様に係る携帯可能情報記録媒体のアクセス方法において、
バッチファイル内の各コマンドの実行によって生じるレスポンスを、RAM内に一時蓄積しておき、バッチファイル内の全コマンドの実行が終了した後、RAM内に蓄積されているレスポンスをバッチ処理実行コマンドに対するレスポンスとして外部へ一括して送出させるようにしたものである。
【0013】
【発明の実施の形態】
本発明に係る携帯可能情報記録媒体には、不揮発性メモリ内に書き込まれたデータを、外部から与えられたコマンドと解釈して実行するバッチ処理実行機能が備わっている。したがって、複数のコマンドを羅列してなるバッチファイルを用意し、このバッチファイルを外部から媒体に書込コマンドとともに与えて不揮発性メモリ内に書き込めば、このバッチ処理実行機能によって、バッチファイルを構成するコマンドを、外部から与えられたコマンドと解釈して実行させることが可能になる。すなわち、媒体内のCPUは、同じ媒体内の不揮発性メモリに格納されているバッチファイル内のコマンドを、あたかも外部から与えられたコマンドであるかのように取り扱い、これを実行することになる。
【0014】
この方法によれば、I/Oラインを介したデータ転送は、バッチファイルを媒体に転送するだけの短時間ですむ。以後、CPUはEEPROM内のコマンドを実行すればよいので媒体内だけの処理ですみ、非常に高速な処理が可能になる。また、バッチファイル内の個々のコマンドについては、所定の伝送プロトコルに従った制御情報(いわゆるヘッダ、フッタ情報)は不要であり、冗長性も低減させることができる。しかも、CPUが実行するのは、あくまでもコマンドであり、インストラクションコードそのものではない。したがって、I/Oラインを介したコマンド送信/レスポンス返送という手順によるアクセスと同じセキュリティを維持させることができる。
【0015】
このように本発明によれば、十分なセキュリティを確保しつつ、外部からのアクセスを効率的に行うことができるようになる。
【0016】
【実施例】
以下、本発明を図示する実施例に基いて説明する。
【0017】
§1. ICカードの一般的なアクセス方法
はじめに、現在普及しているICカードに対する一般的なアクセス方法を説明する。図1は、一般的なICカード10に、外部装置としてのリーダライタ装置20を接続し、アクセスを行っている状態を示すブロック図である。ICカード10とリーダライタ装置20とはI/Oライン30によって相互に接続されている。ここで、ICカード10には、I/Oインタフェース11、CPU12、ROM13、RAM14、EEPROM15が内蔵されている。I/Oインタフェース11は、I/Oライン30を介してデータを送受するための入出力回路であり、CPU12はこのI/Oインタフェース11を介して、リーダライタ装置20と交信することになる。ROM13内には、CPU12によって直接実行可能なインストラクションコードからなるプログラムが記憶されており、CPU12はこのプログラムに基いて、ICカード10を統括制御する機能を有する。RAM14は、CPU12がこのような統括制御を行う上での作業領域として使用されるメモリである。一方、EEPROM15は、このICカード10に記録すべき本来のデータを格納するメモリである。
【0018】
通常、ICカード10に対しては、外部のリーダライタ装置20から電源やクロックが供給される。したがって、ICカード10がリーダライタ装置20と切り離されると、ICカード10への電源およびクロックの供給は停止する。しかしながら、EEPROM15は不揮発性メモリであるため、電源供給が停止した後もその記録内容はそのまま保持される。ただ、RAM14内のデータは、電源供給の停止によりすべて失われる。
【0019】
ICカード10内の各メモリ13,14,15へのアクセスは、すべてCPU12を介して行われ、外部からこれらメモリを直接アクセスすることはできない。すなわち、リーダライタ装置20からCPU12に対して所定の「コマンド」を与えると、CPU12はこの「コマンド」を解釈実行し、その結果を、リーダライタ装置20に対して「レスポンス」として返送することになる。たとえば、EEPROM15内の所定のファイルに書き込みを行う場合には、「書込コマンド」とともに書込対象となるデータをCPU12に与え、CPU12による「書込コマンド」の実行という形式で書込処理が行われることになる。逆に、EEPROM15内の所定のファイルからデータの読出しを行う場合は、所定の「読出コマンド」をCPU12に与え、CPU12による「読出コマンド」の実行という形式で読出処理が行われることになる。このように、ICカード10内において「コマンド」の実行が終了すると、実行した「コマンド」に対する「レスポンス」が外部に対して返送される。たとえば、「書込コマンド」を与えた場合には、書込処理が支障なく実行されたか否かを示す「レスポンス」返送され、「読出コマンド」を与えた場合には、読出対象となったデータがレスポンスという形で返送されることになる。
【0020】
通常、EEPROM15内へは、ファイル単位でデータが格納され、個々のファイルごとにそれぞれアクセス権が設定される。この場合、特定のファイルに対して特定の「コマンド」を実行する場合には、所定のキーの入力が要求される。したがって、「書込コマンド」や「読出コマンド」を実行する前に、所定の「照合コマンド」を実行してキー照合を行わなければならない。このため、EEPROM15内に格納されたデータに対して、高度なセキュリティを確保することが可能になる。
【0021】
図2は、このような一般的なアクセス方法を説明するブロック図である。ICカード10に対するアクセスを行う場合、まず、リーダライタ装置20からI/Oライン30を介してCPU12へ、送信データ31を転送する。この送信データ31は、CPU12に与えるべき本来の「コマンド」の前後に、「ヘッダ」および「フッタ」を付加したものである。この「ヘッダ」および「フッタ」は、I/Oライン30を介した伝送を行う上での所定の伝送プロトコルに従った制御情報である。こうして「コマンド」が転送されてくると、CPU12はこれを解釈して実行し、「レスポンス」を発生させる。この「レスポンス」は、返送データ32としてリーダライタ装置20へと返送される。この返送データ32は、「レスポンス」の前後に、「ヘッダ」および「フッタ」を付加したものである。
【0022】
CPU12に「コマンド」を実行させるために、ROM13内には、個々の「コマンド」ごとにプログラムルーチンが用意されている。たとえば、「書込コマンド」、「読出コマンド」、「照合コマンド」のそれぞれに対応して、ROM13内には、「書込処理ルーチン」、「読出処理ルーチン」、「照合処理ルーチン」が用意されている。実際には、この他にもいくつかの「コマンド」が定義されており、定義された「コマンド」には、それぞれ固有のサブルーチンがROM13内に用意されていることになる。このROM13内のサブルーチンは、CPU12が直接実行可能なインストラクションコード、すなわち、いわゆる「機械語」で記述されたプログラムである。CPU12は、I/Oライン30を介して「コマンド」を受信すると、まず、ROM13内の「共通コマンド処理ルーチン」を実行して受信した「コマンド」を解釈し、その「コマンド」に応じたサブルーチンを選択する。そして、個々の「コマンド」に応じたサブルーチンの先頭のインストラクションコードへのジャンプが起こり、所定の処理が実行される。この処理が完了すると、再び「共通コマンド処理ルーチン」へと戻り、所定の「レスポンス」を返送する処理が行われる。以上が、CPU12に対して1つの「コマンド」が与えられたときの全体の処理の流れである。
【0023】
このように、ICカードに対する一般的なアクセスは、コマンド送信/レスポンス返送/コマンド送信/レスポンス返送/…という処理を繰り返すことによって行われる。このため、▲1▼アクセスに長時間かかる、▲2▼伝送中のセキュリティが低下する、▲3▼冗長性が高くなる、といった問題が生じることは既に述べたとおりである。すなわち、I/Oライン30を介しての「コマンド」および「レスポンス」の転送速度は、CPU12の演算処理速度に比べて非常に遅く、▲1▼アクセスに時間がかかる、という問題が生じることになる。また、I/Oライン30上を流れるデータは、外部から不正に観測される可能性が高く、長時間にわたってデータ転送を行うと、▲2▼伝送中のセキュリティが低下する、という問題が生じることになる。更に、I/Oライン30を介した伝送には、所定の伝送プロトコルに従った「ヘッダ」および「フッタ」といった制御情報を付加する必要性が出てくるので、▲3▼冗長性が高くなる、といった問題も生じる。このように、I/Oライン30を介したコマンド送信/レスポンス返送という手順によるICカード10のアクセスは、必ずしも効率的なものにはなっていない。
【0024】
§2. インストラクションコードを用いたアクセス方法
このような問題に対する解決法として、インストラクションコードを用いたアクセス方法も従来から提案されている。この方法を、図3および図4のブロック図を参照して説明しよう。まず、ICカード10に対するアクセス内容に応じて、その都度、インストラクションコードからなるプログラムを用意する。前述のように、このインストラクションコードは、CPU12が直接実行可能な、いわゆる「機械語」で記述されたプログラムである。もっとも、通常は、高級言語で記述したソースプログラムをコンパイルすることによって、このインストラクションコードからなるプログラムを用意することになる。
【0025】
続いて、この用意したインストラクションコードからなるプログラムを、バイナリデータとしてEEPROM15内に書き込む処理を行う。図3は、この書込処理を示している。図示の例では、送信データ31として、「WRITE BINARY」なる「書込コマンド」をCPU12に送信している。ここで、「書込コマンド」は、「書込コマンドコード」と「書込対象となるデータ」とによって構成されており、「書込対象となるデータ」の部分に、用意したインストラクションコードからなるプログラムを入れている。このプログラムは、バイナリデータとして取り扱われるため、結局、図4に示すように、EEPROM15内の所定のファイル内に、このインストラクションコードからなるプログラムがそのまま書き込まれることになる。
【0026】
次に、図4に示すように、送信データ31として、「GO PROG」なる「プログラム実行コマンド」をCPU12に送信する。この「プログラム実行コマンド」は、ここで述べるインストラクションコードを用いたアクセス方法を行うために特別に定義されたコマンドであり、EEPROM15内に書き込まれたインストラクションコード群をそのまま実行すべきことを指示するコマンドである。このようなコマンドを実行させるためには、ROM13内に、この「プログラム実行コマンド」に対応したサブルーチンを用意しておく必要があるが、そのサブルーチンは非常に単純である。すなわち、EEPROM15内に書き込まれたインストラクションコードの先頭アドレスへのジャンプ命令によって構成しておけばよい。
【0027】
こうして、「プログラム実行コマンド」が実行されると、CPU12は、EEPROM15内に書き込まれたインストラクションコードを直接実行することになる。このようなアクセス方法によれば、I/Oライン30を介したデータ転送は、プログラムをバイナリデータとして転送するだけの短時間ですむ。以後、CPU12はEEPROM15内のプログラムを実行すればよいので、ICカード10内部の処理だけですみ、非常に高速な処理が可能になり、§1で述べた一般的なアクセス方法に比べて、非常に効率的なアクセスが可能になる。
【0028】
しかしながら、このアクセス方法は、既に述べたように、セキュリティの点で大きな問題がある。「プログラム実行コマンド」が実行された後は、CPU12の制御は、EEPROM15内に書き込んだインストラクションコードによって完全に支配されてしまうことになる。このため、不正利用者が、不正なプログラムをインストラクションコードで記述してこの方法を利用すれば、CPUはこの不正なプログラムを忠実に実行してしまうことになる。すなわち、「コマンド」の形式で与えられた命令をCPU12が実行する限りは、ROM13内に用意した正規のセキュリティチェックが機能するが、「インストラクションコード」の形式で与えられた原始的な命令をCPU12が実行する場合には、もはやこのようなセキュリティチェックは機能しなくなってしまうのである。
【0029】
§3. 本発明に係るアクセス方法
以上のように、§1で述べた一般的なアクセス方法にも、§2で述べたインストラクションコードを用いたアクセス方法にも、それぞれ一長一短がある。本発明は、これらの方法の問題点を解決した新規なアクセス方法を提案するものである。以下、この方法を図5および図6のブロック図を参照して説明する。
【0030】
まず、ICカード10に対するアクセス内容に応じて、その都度、コマンドの羅列からなるバッチファイルを用意する。すなわち、§1で述べた一般的なアクセス方法において、送信データ31として送信していた「コマンド」を、いくつか並べることによりバッチファイルを作成するのである。ただし、伝送プロトコルに基いて付加していた「ヘッダ」および「フッタ」は、ここでは必要なく、用意するバッチファイルとしては、「コマンド」の部分だけを羅列したものでよい。
【0031】
続いて、この用意したバッチファイルを、EEPROM15内に書き込む処理を行う。図5は、この書込処理を示している。図示の例では、送信データ31として、「WRITE BINARY」なる「書込コマンド」をCPU12に送信している。ここで、「書込コマンド」は、「書込コマンドコード」と「書込対象となるデータ」とによって構成されており、「書込対象となるデータ」の部分に、用意したバッチファイルを入れている。このバッチファイルは、多数の「コマンド」から構成されているが、ここでは、「コマンド」としてではなく単なるデータとして取り扱われるため、結局、図6に示すように、EEPROM15内に、このバッチファイルがそのまま書き込まれることになる。
【0032】
次に、図6に示すように、送信データ31として、「BATCH」なる「バッチ処理実行コマンド」をCPU12に送信する。この「バッチ処理実行コマンド」は、本発明に係るアクセス方法を行うために特別に定義されたコマンドであり、EEPROM15内に書き込まれたバッチファイル内の「コマンド」を、I/Oライン30を介して外部から与えられた「コマンド」と解釈して実行する処理を行わせるためのコマンドである。このようなコマンドを実行させるためには、ROM13内に、この「バッチ処理実行コマンド」に対応したサブルーチンを用意しておく必要があるが、そのサブルーチンは比較的簡単に追加できる。なぜなら、既に述べたように、ROM13内には、I/Oライン30を介して外部から与えられた「コマンド」を解釈して実行させる「共通コマンド処理ルーチン」が既に用意されているので、この「共通コマンド処理ルーチン」において、外部から与えられた「コマンド」の代わりに、バッチファイル内の「コマンド」を解釈実行するように変更を加えるようにすれば、「バッチ処理実行コマンド」に対応したルーチンを容易に作成することができる。
【0033】
具体的には、この「バッチ処理実行コマンド」を実行中には、バッファポインタBPによって、EEPROM15に格納されているバッチファイル内の「コマンド」を指し示すようにすればよい。この基本概念を、図7を参照して説明しよう。§1で述べた一般的なアクセス方法では、I/Oライン30を介して与えられた「コマンド」は、図7(a) に示すように、RAM14内のバッファに一時的に格納され、バッファポインタBPによって、このバッファ内の「コマンド」の先頭位置が指し示される。CPU12は、このバッファポインタBPを順次移動させながら、この「コマンド」を解釈実行する。すなわち、与えられた「コマンド」に応じたサブルーチンを実行した後、所定の「コマンド」を生成して返送する処理を行うことになる。これに対し、本発明に係るアクセス方法では、「バッチ処理実行コマンド」が与えられると、図7(b) に示すように、EEPROM15内のバッチファイルの先頭位置がバッファポインタBPによって指し示される。そして、このバッファポインタBPを順次移動させながら、この「コマンド」を解釈実行することになる。
【0034】
このように、バッファポインタBPが指し示すメモリ領域は、一方はRAM14内のバッファ領域であり、他方はEEPROM15内のバッチファイル格納領域である点において異なるものの、「コマンド」の実質的な解釈実行処理に関しては、§1で述べた一般的なアクセス方法と本発明によるアクセス方法との間に本質的な差はない。
【0035】
もっとも、「レスポンス」の返送方法に関しては、若干の相違がある。すなわち、I/Oライン30を介して与えられ、RAM14内のバッファに格納された「コマンド」を実行した場合には、この「コマンド」に対する「レスポンス」が直ちに返送されることになるが、EEPROM15内のバッチファイルに格納された「コマンド」を実行した場合には、個々の「コマンド」に対する「レスポンス」は、RAM14内に一時的に蓄積され、バッチファイル内のすべての「コマンド」の処理が完了した時点で、RAM14内に蓄積されていた「レスポンス」を一括して返送することになる。したがって、リーダライタ装置20側から見れば、「BATCH」なる「バッチ処理実行コマンド」をCPU12に送信すると、この「バッチ処理実行コマンド」に対する「レスポンス」として、バッチファイル内の個々の「コマンド」についての「レスポンス」が一括して得られることになる。
【0036】
§1で述べた一般的なアクセス方法では、常に、コマンド送信/レスポンス返送という手順の繰り返しにより、CPU12に所定のコマンドを順次実行させていたが、本発明に係るアクセス方法では、まず、複数の「コマンド」を羅列して記述したバッチファイルを用意し、このバッチファイルをEEPROM15内に書き込んだ後、「バッチ処理実行コマンド」をCPU12に与えればよい。CPU12は、バッチファイル内の個々の「コマンド」を、I/Oライン30を介して外部から与えられた「コマンド」と解釈して順次実行するので、一般的なアクセス方法と同様の処理をCPU12に実行させることができる。この方法によれば、I/Oライン30を介したデータ転送は、バッチファイルをバイナリデータとして転送するだけの短時間ですむ。以後、CPU12はEEPROM15内の「コマンド」を実行すればよいので、ICカード10内部の処理だけですみ、非常に高速な処理が可能になる。また、I/Oライン30を介したデータ転送時間は比較的短くなるため、I/Oライン30を介してデータが外部に不正流出する可能性も低減する。更に、バッチファイル内の個々の「コマンド」には、「ヘッダ」および「フッタ」といった伝送プロトコルに応じた制御情報を付加する必要はないため(このバッチファイルをI/Oライン30を介して転送するときの「書込コマンド」には、「ヘッダ」および「フッタ」を付加する必要はあるが、バッチファイルを構成する個々の「コマンド」のそれぞれに「ヘッダ」および「フッタ」を付加する必要はない)、冗長性も低下することになる。
【0037】
また、この方法は、§2で述べたインストラクションコードを用いたアクセス方法とは異なり、セキュリティの問題も生じない。図4(§2の方法の説明図)と図6(§3の方法の説明図)とを比較すると、両者は、「CPU12がEEPROM15内に書き込まれた命令を実行する」という点で共通するが、前者の命令はインストラクションコード、すなわちCPU12が直接実行可能な「機械語」レベルの命令であるのに対し、後者の命令はI/Oライン30を介して与えられる「コマンド」レベルの命令である点で大きく異なる。すなわち、本発明に係るアクセス方法では、CPU12の実行対象は、あくまでも「コマンド」であり、CPU12が直接実行するインストラクションコードは、ROM13内に用意されたインストラクションコードである。したがって、ROM13内に用意された正規のセキュリティチェックが十分に機能し、インストラクションコードのレベルでの不正アクセスが行われることはない。
【0038】
§4. アクセスの具体例
次に、本発明に係るアクセス方法を具体的な例に基いて説明する。ここでは、図8に示すように、EEPROM15内に存在する6つのファイルに関連したアクセス処理を例にとった説明を行うことにする。これら6つのファイルには、それぞれ固有のファイルID(この例では、16進数による2バイトコード)、すなわち、「2F10」,「2F11」,「2F12」,「2F13」,「2F14」,「2F15」が付与されている。ここで、ファイル「2F10」は、このICカードの所有者であるユーザに関する何らかのユーザデータを格納したデータファイルであり、他の5つのファイルは、このデータファイル「2F10」からユーザデータを読み出すために必要なキーが格納されたキーファイルであるとする。たとえば、第1のキーファイル「2F11」には、第1のキー「1111」が格納されている。データファイル「2F10」からユーザデータを読み出すには、CPU12に対してこのデータファイルを選択する「選択コマンド」を与えた後に「読出コマンド」を与えればよいが、その前に、5つのキーについての照合が完了していなければ、この「読出コマンド」は実行されずに拒絶される。したがって、データファイル「2F10」に対するアクセスを行うためには、「照合コマンド」を繰り返し実行し、5つのキーすべてについての照合を行っておく必要がある。
【0039】
ここでは、まず、§1において述べた一般的なアクセス方法によって、データファイル「2F10」内のユーザデータを読み出すための方法を説明しよう。この場合は、図9に示すような12種類の「コマンド」が必要になる。これら12種類の「コマンド」は、1つずつ、リーダライタ装置20からI/Oライン30を介してCPU12へ送信される。1つの「コマンド」の実行が完了すると、これに対する「レスポンス」がCPU12からI/Oライン30を介してリーダライタ装置20へと返送される。リーダライタ装置20は、この「レスポンス」が返送された後に、次の「コマンド」を送信することになる。こうして、I/Oライン30を介して、「コマンド」と「レスポンス」の往復転送を12回繰り返すと、データファイル「2F10」内のユーザデータがリーダライタ装置20側に読み出されることになる。
【0040】
この図9に示す12種類の「コマンド」を1ステップずつ簡単に説明しておくと、まず、ステップ1の「SELECT FILE 2F11」なる「選択コマンド」は、第1のキーファイル「2F11」を選択するためのコマンドである。CPU12は、このキーファイル「2F11」を選択する処理を行った後、正しく選択が行われたことを示す「レスポンス」を返送する。続くステップ2の「VERIFY 1111」なる「照合コマンド」は、直前に選択されたキーファイル内のキーと、暗証コード「1111」とを比較照合するコマンドである。CPU12は、この照合を実行し、両者が一致しているか否かの結果を「レスポンス」として返送する。また、両者が一致していた場合には、RAM14内にこのキーについての解錠フラグを立てる。続く、ステップ3の「SELECT FILE 2F12」なる「選択コマンド」は、第2のキーファイル「2F12」を選択するためのコマンドであり、ステップ4の「VERIFY 2222」なる「照合コマンド」は、直前に選択されたキーファイル内のキーと、暗証コード「2222」とを比較照合するコマンドである。以下、同様に、ステップ5〜10までの「コマンド」により、5種類のすべてのキーについての照合が行われる。
【0041】
そして、ステップ11の「SELECT FILE 2F10」なる「選択コマンド」によって、目的とするデータファイル「2F10」が選択される。続く、ステップ12の「READ BINARY」なる「読出コマンド」が与えられると、CPU12は、RAM14内の解錠フラグを参照して、データファイル「2F10」に対して「読出コマンド」を実行するために設定されたアクセス権条件が満たされているか否かを判断する。この時点では、既に第1〜第5のすべてのキーについて照合一致が得られているので、CPU12は、この「読出コマンド」を実行することになる。これにより、「レスポンス」として、データファイル「2F10」内のユーザデータがバイナリデータの形でリーダライタ装置20側へ返送されることになる。
【0042】
このように、§1で述べた従来の一般的なアクセス方法によって、データファイル「2F10」に対する読出処理を実行するには、I/Oライン30を介して、図9に示すような12種類の「コマンド」を1つずつ送信し、「レスポンス」の返信を待って次の「コマンド」を送信する、という操作を行わねばならない。このような操作は、CPU12の演算処理速度に比べて非常に遅いことは既に述べたとおりであり、この「コマンド」および「レスポンス」のやりとりは、I/Oライン30から不正に傍受されやすい。しかも、図9に示した各「コマンド」や、これに対する「レスポンス」を伝送する場合には、所定の伝送プロトコルに従った「ヘッダ」や「フッタ」を、個々の「コマンド」や「レスポンス」ごとに付加する必要があり、冗長性が高くなるという問題もある。
【0043】
この同じ読出処理を本発明によって行うには、次のようにすればよい。まず、図10に示すように、EEPROM15内には、前述した6つのファイルの他に、本発明を実施するための専用のデータファイル「2F16」およびキーファイル「2F17」を用意しておく。ここで、データファイル「2F16」は、バッチファイルを格納するためのファイルである。また、キーファイル「2F17」は、このバッチファイルに対して「バッチ処理実行コマンド」を実行するために必要なキーを格納したキーファイルであり、この実施例では、「7777」なるキーが予め書き込まれている。なお、キーファイル「2F17」は本発明の実施に必ずしも必要なものではないが、セキュリティを高めるためには、このようなキーファイルを設けるのが好ましい。
【0044】
一方、リーダライタ装置20側では、図9に示すような12種類の「コマンド」を羅列してなるバッチファイルを用意する。そして、図11に示すような6種類の「コマンド」を、1つずつ、リーダライタ装置20からI/Oライン30を介してCPU12へ送信すればよい。まず、ステップ1の「SELECT FILE 2F16」なる「選択コマンド」は、バッチファイル格納用のデータファイル「2F16」を選択するためのコマンドである。CPU12は、このデータファイル「2F16」を選択する処理を行った後、正しく選択が行われたことを示す「レスポンス」を返送する。次のステップ2の「WRITE BINARY(バッチファイル)」なる「書込コマンド」は、用意したバッチファイルをバイナリデータとして、直前に選択されたデータファイルに書き込む処理を行うコマンドである。この実施例では、データファイル「2F16」に対する書込処理については、何らキー照合を必要としていないので、このステップ2の「書込コマンド」の実行により、図9に示す12種類の「コマンド」を羅列してなるバッチファイルが、データファイル「2F16」にそのまま書込まれることになる。
【0045】
続いて、ステップ3の「SELECT FILE 2F17」なる「選択コマンド」によって、キーファイル「2F17」が選択され、ステップ4の「VERIFY 7777」なる「照合コマンド」によって、選択されたキーファイル内のキーと、暗証コード「7777」とが比較照合される。CPU12は、この照合を実行し、両者が一致しているか否かの結果を「レスポンス」として返送し、両者が一致していた場合には、RAM14内にこのキーについての解錠フラグを立てる。続く、ステップ5の「SELECT FILE 2F16」なる「選択コマンド」によって、バッチファイルを格納したデータファイル「2F16」が再び選択される。そして、最後のステップ6において、「BATCH」なる「バッチ処理実行コマンド」がCPU12に与えられる。CPU12は、RAM14内の解錠フラグを参照して、キー「7777」が既に解錠されていることを確認した上で、「バッチ処理実行コマンド」を実行する。すなわち、バッチファイル内に格納されている図9に示す「コマンド」を、あたかもI/Oライン30を介して順次与えられた「コマンド」として実行し、「レスポンス」をRAM14内に一時的に蓄積しておく。こうして、図9に示すステップ12の「READ BINARY」なる「コマンド」の実行を完了したら、RAM14内に一時的に蓄積しておいた「レスポンス」を、「バッチ処理実行コマンド」の「レスポンス」として返送する。結局、リーダライタ装置20側から見れば、図11のステップ6の「BATCH」なる「コマンド」の「レスポンス」として、データファイル「2F10」内のユーザデータを読み出すことができる。
【0046】
このように、従来の一般的なアクセス方法では、図9に示すような12種類の「コマンド」を順次I/Oライン30を介して転送し、それぞれについて「レスポンス」を待つという操作を行う必要があったのに対し、本発明に係るアクセス方法では、図11に示す6種類の「コマンド」について、同様の操作を行えばすむ。しかも、図9に示す「コマンド」の数がいくつに増えようとも、図11に示す「コマンド」の数は常に6ですむ(ステップ2における「WRITE BINARY」なる「書込コマンド」で書込まれるバッチファイルの容量が増えるだけである)。したがって、よりたくさんのステップからなる一連の「コマンド」群を用いたアクセスを行う場合には、本発明の効果はより顕著になる。また、バッチファイル内のデータは、あくまでも「コマンド」レベルの命令であり、§2で述べた方法で用いた「インストラクションコード」レベルの命令ではないので、セキュリティの面での問題も生じない。たとえば、上述の例では、不正使用者は、「1111」,「2222」,…といった5つのキーを知り得ない限り、データファイル「2F10」内のユーザデータを読み出すことはできない。
【0047】
最後に、「コマンド」を羅列してバッチファイルを構成する場合のフォーマットの一例を図12に示しておく。この例では、2バイトからなるコマンド長を示す部分(図に「XX」と記した部分)に続いて「コマンド」のコードを並べるようにしてあり、最後に、2バイトからなる終端コード「0000」を付加するようにしている。図11のステップ2における「書込コマンド」中のバッチファイルには、この図12に示すようなフォーマットで「コマンド」を羅列したバイナリコードが入ることになる。このバッチファイルのフォーマットとしては、この他どのようなものを用いてもよいが、予め所定のフォーマットを定義しておき、ROM13内の「バッチ処理実行コマンド」に対応する処理ルーチンが、この所定のフォーマットに基いて、バッチファイル内の各「コマンド」を解釈できるようにしておく必要がある。
【0048】
以上、本発明を図示する実施例に基いて説明したが、本発明はこの実施例に限定されるものではなく、この他にも種々の態様で実施可能である。たとえば、上述の実施例では、バッチファイル内の個々の「コマンド」についての「レスポンス」を、RAM14内に一時的に蓄積しておき、最後に一括して返送するようにしているが、必ずしもすべての「レスポンス」を返送する必要はなく、重要性の低い「レスポンス」については返送を省略するようにしてもかまわない。たとえば、図9に示す12種類の「コマンド」については、ステップ12の「読出コマンド」に対する「レスポンス」は、読出対象となるユーザデータを含む重要なものであるが、それ以外の「コマンド」についての「レスポンス」は、単に、ファイルの選択や照合が支障なく実行されたことを確認するためのものであるから、RAM14内に一時的に蓄積せずにそのまま捨ててしまってもかまわない。
【0049】
また、バッチファイル内の一連の「コマンド」を実行中に、何らかのエラー(たとえば、照合の不一致)が発生した場合には、その時点で、「バッチ処理実行コマンド」の実行を中断し、「BATCH」なる「コマンド」に対する「レスポンス」として、エラーの発生を示すステータスを返送するようにすればよい。
【0050】
更に、上述の実施例では、本発明をICカードに適用した例を述べたが、本発明の適用は、ICカードに限定されるものではなく、CPUを内蔵した携帯可能情報記録媒体に広く及ぶものである。
【0051】
【発明の効果】
以上のとおり、本発明に係る携帯可能情報記録媒体では、不揮発性メモリ内に書き込まれたデータを、外部から与えられたコマンドと解釈して実行するバッチ処理実行機能を備えているため、複数のコマンドを羅列してなるバッチファイルを用意し、このバッチファイルを外部から媒体に書込コマンドとともに与えて不揮発性メモリ内に書き込めば、このバッチ処理実行機能によって、バッチファイルを構成するコマンドを、外部から与えられたコマンドと解釈して実行させることが可能になる。このため、十分なセキュリティを確保しつつ、外部からのアクセスを効率的に行うことができるようになる。
【図面の簡単な説明】
【図1】一般的なICカードに、外部装置としてのリーダライタ装置を接続し、アクセスを行っている状態を示すブロック図である。
【図2】ICカードに対する従来の一般的なアクセス方法を説明するブロック図である。
【図3】ICカードに対するインストラクションコードを用いたアクセス方法の前段の操作を説明するブロック図である。
【図4】ICカードに対するインストラクションコードを用いたアクセス方法の後段の操作を説明するブロック図である。
【図5】ICカードに対する本発明に係るアクセス方法の前段の操作を説明するブロック図である。
【図6】ICカードに対する本発明に係るアクセス方法の後段の操作を説明するブロック図である。
【図7】一般的なアクセス方法と本発明に係るアクセス方法とにおけるコマンド解釈処理の相違を説明する図である。
【図8】一般的なICカード内のEEPROMに格納されているファイル群の一例を示す概念図である。
【図9】図8に示すデータファイル「2F10」から、ユーザデータを読み出す操作を行うために必要な「コマンド」群を示す図である。
【図10】本発明を適用するために、図8に示すファイル群に更に別なファイルを付加した状態を示す概念図である。
【図11】本発明によって、図10に示すデータファイル「2F10」から、ユーザデータを読み出す操作を行うために必要な「コマンド」群を示す図である。
【図12】本発明に用いるバッチファイルのフォーマットの一例を示す図である。
【符号の説明】
10…ICカード
11…I/Oインタフェース
12…CPU
13…ROM
14…RAM
15…EEPROM
20…リーダライタ装置
30…I/Oライン
31…送信データ
32…返送データ
Claims (4)
- CPUと、このCPUによって直接実行可能なインストラクションコードからなるプログラムを記憶したROMと、前記CPUの作業領域として使用されるRAMと、前記CPUを介してデータの読出しおよび書き込みが可能な不揮発性メモリと、を備え、外部から与えられたコマンドに基いて、前記CPUが前記ROM内の所定のプログラムを実行し、その結果をレスポンスとして外部へ返送する機能を有する携帯可能情報記録媒体において、
外部から「複数のコマンドを羅列してなるバッチファイル」を書込対象データとする書込コマンドが与えられたときに、前記バッチファイルを前記不揮発性メモリに書き込む処理を実行し、実行結果を前記書込コマンドに対するレスポンスとして外部へ返送する処理と、
外部から所定のバッチ処理実行コマンドが与えられたときに、前記不揮発性メモリに書き込まれた前記バッチファイルに含まれている複数のコマンドを、外部から与えられたコマンドと解釈して順次実行する処理を行い、前記バッチファイル内のすべてのコマンドの処理が完了した時点で、これらのコマンドに対する必要なレスポンスを一括して、前記バッチ処理実行コマンドに対するレスポンスとして外部へ返送する処理と、
を行う機能を有することを特徴とする携帯可能情報記録媒体。 - 請求項1に記載の媒体において、
バッチファイル内の各コマンドの実行によって生じるレスポンスを、RAM内に一時蓄積しておき、バッチファイル内の全コマンドの実行が終了した後、RAM内に蓄積されているレスポンスをバッチ処理実行コマンドに対するレスポンスとして外部へ一括して送出することを特徴とする携帯可能情報記録媒体。 - CPUと、このCPUによって直接実行可能なインストラクションコードからなるプログラムを記憶したROMと、前記CPUの作業領域として使用されるRAMと、前記CPUを介してデータの読出しおよび書き込みが可能な不揮発性メモリと、を備え、外部から与えられたコマンドに基いて、前記CPUが前記ROM内の所定のプログラムを実行し、その結果をレスポンスとして外部へ返送する機能を有する携帯可能情報記録媒体、をアクセスする方法において、
前記携帯可能情報記録媒体に対して与える複数のコマンドを羅列してなるバッチファイルを用意し、
前記携帯可能情報記録媒体に対して、所定の書込コマンドとともに前記バッチファイルを与え、前記バッチファイルを前記不揮発性メモリ内に書き込み、その結果を前記書込コマンドに対するレスポンスとして外部へ返送させ、
前記携帯可能情報記録媒体に対して、所定のバッチ処理実行コマンドを与えることにより、前記不揮発性メモリ内に書き込まれたバッチファイル内の各コマンドを、外部から与えられたコマンドと解釈して実行させ、前記バッチファイル内のすべてのコマンドの処理が完了した時点で、これらのコマンドに対する必要なレスポンスを一括して、前記バッチ処理実行コマンドに対するレスポンスとして外部へ返送させるようにしたことを特徴とする携帯可能情報記録媒体のアクセス方法。 - 請求項3に記載のアクセス方法において、
バッチファイル内の各コマンドの実行によって生じるレスポンスを、RAM内に一時蓄積しておき、バッチファイル内の全コマンドの実行が終了した後、RAM内に蓄積されているレスポンスをバッチ処理実行コマンドに対するレスポンスとして外部へ一括して送出させることを特徴とする携帯可能情報記録媒体のアクセス方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20285495A JP3657315B2 (ja) | 1995-07-17 | 1995-07-17 | 携帯可能情報記録媒体およびそのアクセス方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20285495A JP3657315B2 (ja) | 1995-07-17 | 1995-07-17 | 携帯可能情報記録媒体およびそのアクセス方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0935019A JPH0935019A (ja) | 1997-02-07 |
JP3657315B2 true JP3657315B2 (ja) | 2005-06-08 |
Family
ID=16464300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP20285495A Expired - Lifetime JP3657315B2 (ja) | 1995-07-17 | 1995-07-17 | 携帯可能情報記録媒体およびそのアクセス方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3657315B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5197664B2 (ja) * | 2010-03-18 | 2013-05-15 | 株式会社東芝 | Icカード、通信装置、コマンド処理方法、通信システム |
US9501399B2 (en) | 2011-02-04 | 2016-11-22 | Kabushiki Kaisha Toshiba | Memory system capable of controlling wireless communication function |
JP5372049B2 (ja) | 2011-02-04 | 2013-12-18 | 株式会社東芝 | メモリシステム |
JP2012194918A (ja) * | 2011-03-17 | 2012-10-11 | Toshiba Corp | 通信媒体、icカード、及び通信方法 |
JP5677249B2 (ja) * | 2011-09-21 | 2015-02-25 | 株式会社東芝 | Icカード |
JP5832963B2 (ja) * | 2012-06-29 | 2015-12-16 | 株式会社東芝 | メモリシステム |
JP5779148B2 (ja) * | 2012-07-06 | 2015-09-16 | 株式会社東芝 | メモリシステム |
JP5779147B2 (ja) * | 2012-07-06 | 2015-09-16 | 株式会社東芝 | メモリシステム |
JP2019168944A (ja) * | 2018-03-23 | 2019-10-03 | 大日本印刷株式会社 | 電子情報記憶媒体、icカード、コマンド群実行方法及び、コマンド群実行プログラム |
-
1995
- 1995-07-17 JP JP20285495A patent/JP3657315B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH0935019A (ja) | 1997-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2148856C1 (ru) | Система информационного обмена | |
US6886083B2 (en) | Apparatus and method for controlling a card device | |
EP0451936A1 (en) | Program control system for portable data storage device | |
EP1450299B1 (en) | Portable information recording medium | |
JP3568970B2 (ja) | Icカード発行装置 | |
PL182666B1 (pl) | Sposób i urządzenie do komunikacji programu użytkowego z kartą mikroprocesorową | |
JP3657315B2 (ja) | 携帯可能情報記録媒体およびそのアクセス方法 | |
JP4747451B2 (ja) | 携帯可能情報記録媒体へのデータアクセス方法 | |
JPH0935018A (ja) | 携帯可能情報記録媒体およびそのアクセス方法 | |
US8245941B2 (en) | Recording method, recorder and IC card | |
JP3576232B2 (ja) | 情報記憶媒体の発行処理データ作成装置及び作成方法 | |
JP3195122B2 (ja) | Icカードに与える命令フォーマットのチェック方法 | |
JP3645587B2 (ja) | Icカードアクセス用パターンファイルの作成支援装置 | |
JPH08171621A (ja) | Icカード | |
JP3576233B2 (ja) | 情報記憶媒体の発行処理データ作成装置及び作成方法 | |
JP2001291066A (ja) | Icカード発行方法 | |
JPH07311820A (ja) | Icカードアクセス用パターンファイルの作成方法 | |
JP2618953B2 (ja) | 送信処理方法およびデータ記憶媒体およびicチップ | |
CN114911510A (zh) | 一种请求响应方法、装置及电子设备和存储介质 | |
JP2002352205A (ja) | 携帯可能電子装置及びアクセス管理方法 | |
JPS6383894A (ja) | 携帯可能電子装置 | |
JP4026796B2 (ja) | コマンド振り分け機能付きicカード | |
JPH0736153B2 (ja) | データ伝送システム | |
JPH07325894A (ja) | Icカード制御装置 | |
JP2002123802A (ja) | Icカード認証システム、およびicカード、およびicカードリーダ/ライタ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040820 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040928 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041129 |
|
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: 20050308 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050309 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090318 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090318 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100318 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100318 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110318 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110318 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120318 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130318 Year of fee payment: 8 |