JP5507436B2 - 情報処理装置および方法、並びにプログラム - Google Patents

情報処理装置および方法、並びにプログラム Download PDF

Info

Publication number
JP5507436B2
JP5507436B2 JP2010292209A JP2010292209A JP5507436B2 JP 5507436 B2 JP5507436 B2 JP 5507436B2 JP 2010292209 A JP2010292209 A JP 2010292209A JP 2010292209 A JP2010292209 A JP 2010292209A JP 5507436 B2 JP5507436 B2 JP 5507436B2
Authority
JP
Japan
Prior art keywords
command
state
executed
data
card
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
JP2010292209A
Other languages
English (en)
Other versions
JP2011086308A (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2010292209A priority Critical patent/JP5507436B2/ja
Publication of JP2011086308A publication Critical patent/JP2011086308A/ja
Application granted granted Critical
Publication of JP5507436B2 publication Critical patent/JP5507436B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は情報処理装置および方法、並びにプログラムに関し、特に、データの改竄および情報の漏洩を防止することができるようにした情報処理装置および方法、並びにプログラムに関する。
情報処理技術の発達にともない、大量の情報が、通信網を介して通信されるようになってきている。例えば、電子マネーシステムやセキュリティーシステムなどにおいて利用されているICカード(スマートカード)は、各種の処理を行うCPU(Central Processing Unit)や、処理に必要なデータなどを記憶するメモリを内蔵しており、所定のリーダライタに電気的に接触させた状態で、データの送受信が行われる。
ところで、ICカードに対して、そのライフサイクルにおいて、サービスを提供するために必要なデータを格納するフォルダを新たに追加したり、また、データへのアクセスに必要な鍵を変更したりするための、いわゆる発券作業が行われる。
図1は、従来のICカードのライフサイクルを説明するための図である。
まず、ICカードは、所定のカード製造業者によって製造され、サービスを提供するために必要なデータや、データへのアクセスに必要な鍵が記録されていない状態(以下、工場出荷状態と称する)で、ICカードを発券する発券業者に出荷される。
そして、発券業者によって、ICカードの記憶領域に、データを格納するためのメインフォルダ(MF(Main Folder))が生成され、相互認証処理に用いられる認証鍵を記録する処理(以下、0次発券と称する)が行われる。ICカードは、記憶領域に、データを格納するためのメインフォルダおよび相互認証処理に用いられる認証鍵を記録した状態(以下、0次発券済み状態と称する)で、ICカードを利用して、ユーザに所定のサービスを提供する事業者に出荷される。
次に、事業者によって、ICカードに記憶されているメインフォルダ内に、サービスを提供するために必要な記憶領域(DF(Dedicated File))が確保され、その記憶領域にアクセスするために必要な鍵を書き込む処理(以下、1次発券と称する)が行われる。
さらに、1次発券されたICカードは、メインフォルダにDFおよびDFにアクセスするために必要な鍵が書き込まれた状態(以下、1次発券済み状態と称する)で、事業者の各事業所などの、ユーザに対してサービスを提供する施設に配布される。
そして、各事業所において、1次発券済み状態のICカードのDFに、ユーザがサービスを受けるために必要な個人情報などのデータおよびそのデータにアクセスするために必要な鍵を書き込む処理(以下、2次発券と称する)が行われ、そのICカードがユーザに配布される。
ユーザは、事業所から配布された、ユーザがサービスを受けるために必要な個人情報などのデータおよびそのデータにアクセスするために必要な鍵が書き込まれた状態(以下、2次発券済み状態と称する)のICカードを利用して、事業者から提供されるサービスを受ける。
また、ユーザによって利用され、不要になったICカードは、事業者によって回収される。事業者は、回収したICカードが記憶している全てのデータを消去(削除)し、データが記録されていない状態(廃棄可能状態)のICカードを、ICカードを物理的に廃棄する廃棄業者に配送する。そして、廃棄業者は、配送されてきた廃棄可能状態のICカードを廃棄する。
このようにして、ICカードのライフサイクルの各状態において、ICカードを発券する発券作業が行われる。
また、従来のICカードとして、ICカードの発券作業において、発券機から送信されてきた、暗号化された発券情報を受信し、受信した発券情報を復号しているものもある(例えば、特許文献1参照)。すなわち、このICカードにおいては、受信した発券情報を復号し、復号した発券情報を記録することによって、ICカードの発券が行われる。
特開2000−36014号公報
しかしながら、上述した技術においては、ICカードのライフサイクルにおける各状態において、ICカードが実行可能な処理が異なっているにも関わらず、ICカードは、ICカードの各状態において、本来処理されないコマンドを含む、全てのコマンドを受信し、受信したコマンドを実行してしまうという問題があった。
また、通信する相手との相互認証処理に用いられる認証鍵は、ICカードのライフサイクルの各状態において同一の鍵が用いられているため、認証鍵を保持している発券業者または事業者は、ICカードに本来処理されないコマンドを送信し、ICカードに送信したコマンドを実行させることができるという問題があった。
さらに、ICカードを廃棄可能状態にする場合、ICカードに記録されているデータを消去したり、相互認証処理に用いられる認証鍵を変更することはできたが、ICカードが、本来処理されないコマンドを含む、全てのコマンドを受信し、コマンドを実行してしまうため、消去したデータが復元されてしまう恐れがあった。
したがって、データの改竄や情報の漏洩を防止することが非常に困難であるという課題があった。
本発明は、このような状況に鑑みてなされたものであり、ICカードのライフサイクルにおける各状態において、実行できる処理を制限することができるようにするものである。また、ICカードのライフサイクルにおける各状態において、異なる認証鍵を用いて、相互認証の処理を行うことができるようにするものである。
本発明の一側面の情報処理装置は、送信されてくる、所定の処理の実行を要求する旨の指令を受信する受信手段と、所定のデータを記憶するとともに、ユーザに対する発券前の複数の状態と、前記ユーザに対する発券後の複数の状態とを含む予め定められた複数の状態であって、記憶している前記データによって定まる、ライフサイクルにおける自分自身の状態のうち、自分自身がどの状態であるかを示す第1の情報と、前記状態ごとに定められた、前記状態において実行可能な指令を示す第2の情報とを記憶する記憶手段と、前記第1の情報および前記第2の情報を基に、受信した前記指令が、自分自身の前記状態において、実行可能な指令であるか否かを判定する判定手段と、少なくともデータの読み出しまたは書き込みの何れかの前記指令を実行可能な第1の状態から、前記第1の状態とは異なる第2の状態に前記状態を変化させる前記指令が受信された場合、前記判定手段の判定結果に応じて、前記第2の状態に前記状態を変化させる前記指令を実行するとともに、実行した前記指令に応じて、自分自身の前記状態を変化させるように、前記第1の情報の更新を制御し、鍵の置き換えを要求する前記指令が受信された場合、前記判定手段の判定結果に応じて、前記鍵の置き換えを実行する制御手段とを備える。
前記制御手段には、前記鍵の置き換えを要求する前記指令が受信された場合、記憶されている複数の鍵を新たな複数の鍵に置き換えさせることができる。
前記制御手段には、前記鍵の置き換えを要求する前記指令が受信された場合、記憶されている複数の鍵を新たな複数の鍵に同時に置き換えさせることができる。
前記判定手段には、自分自身の前記状態が、データの読み出しまたは書き込みの何れかの前記指令を実行可能な所定の状態である場合、前記鍵の置き換えを要求する前記指令が実行可能な前記指令であると判定させることができる。
前記制御手段には、特定の複数のデータの削除を要求する前記指令が受信された場合、前記判定手段の判定結果に応じて、前記特定の複数のデータの削除を制御させることができる。
前記制御手段には、特定のデータの読み出しまたは書き込みの前記指令が受信された場合、前記判定手段の判定結果に応じて、前記特定のデータの読み出しまたは書き込みを制御させることができる。
前記情報処理装置を、ICカードとすることができる。
前記情報処理装置には、他の装置と13.56MHzの搬送波を用いた無線通信を行わせることができる。
本発明の一側面の情報処理方法またはプログラムは、送信されてくる、所定の処理の実行を要求する旨の指令の受信を制御する受信制御ステップと、ユーザに対する発券前の複数の状態と、前記ユーザに対する発券後の複数の状態とを含む予め定められた複数の状態であって、記憶手段に記憶しているデータによって定まる、ライフサイクルにおける自分自身の状態のうち、自分自身がどの状態であるかを示す第1の情報の記憶を制御する記憶制御ステップと、前記第1の情報と、前記状態ごとに定められた、前記状態において実行可能な指令を示す第2の情報とを基に、受信した前記指令が、自分自身の前記状態において、実行可能な指令であるか否かを判定する判定ステップと、少なくともデータの読み出しまたは書き込みの何れかの前記指令を実行可能な第1の状態から、前記第1の状態とは異なる第2の状態に前記状態を変化させる前記指令が受信された場合、前記判定ステップにおける判定結果に応じて、前記第2の状態に前記状態を変化させる前記指令を実行するとともに、実行した前記指令に応じて、自分自身の前記状態を変化させるように、前記第1の情報の更新を制御し、鍵の置き換えを要求する前記指令が受信された場合、前記判定ステップにおける判定結果に応じて、前記鍵の置き換えを実行する制御ステップとを含む。
本発明の一側面においては、送信されてくる、所定の処理の実行を要求する旨の指令が受信され、所定のデータが記憶されるとともに、ユーザに対する発券前の複数の状態と、前記ユーザに対する発券後の複数の状態とを含む予め定められた複数の状態であって、記憶しているデータによって定まる、ライフサイクルにおける自分自身の状態のうち、自分自身がどの状態であるかを示す第1の情報と、状態ごとに定められた、状態において実行可能な指令を示す第2の情報とが記憶され、第1の情報および第2の情報を基に、受信した指令が、自分自身の状態において、実行可能な指令であるか否かが判定され、少なくともデータの読み出しまたは書き込みの何れかの指令を実行可能な第1の状態から、第1の状態とは異なる第2の状態に状態を変化させる指令が受信された場合、判定結果に応じて、第2の状態に状態を変化させる指令が実行されるとともに、実行した指令に応じて、自分自身の状態を変化させるように、第1の情報の更新が制御され、鍵の置き換えを要求する前記指令が受信された場合、判定結果に応じて、前記鍵の置き換えが実行される。
本発明によれば、情報の改竄および漏洩を防止することができる。
従来のICカードのライフサイクルを説明するための図である。 本発明に係るICカードのライフサイクルを説明するための図である。 本発明に係る無線通信システムを説明する図である。 リーダライタの機能の構成を示すブロック図である。 ICカードの機能の構成を示すブロック図である。 コマンド送信の処理を説明するフローチャートである。 コマンド実行の処理を説明するフローチャートである。 ライフサイクル状態テーブルを説明する図である。 コマンドテーブルを説明する図である。 工場出荷状態におけるコマンド実行の処理を説明するフローチャートである。 工場出荷状態を説明するための図である。 0次発券済み状態を説明するための図である。 0次発券済み状態におけるコマンド実行の処理を説明するフローチャートである。 1次発券済み状態を説明するための図である。 1次発券済み状態におけるコマンド実行の処理を説明するフローチャートである。 2次発券済み状態を説明するための図である。 2次発券済み状態におけるコマンド実行の処理を説明するフローチャートである。
以下、図を参照して本発明を適用した実施の形態について説明する。
図2は、本発明に係るICカードのライフサイクルを説明する図である。
ICカードは、所定のカード製造業者によって製造され、サービスを提供するために必要なデータや、データへのアクセスに必要な鍵が記録されていない状態(以下、工場出荷状態と称する)で、ICカードを発券する発券業者に出荷される。工場出荷状態のICカードには、ICカードを製造したカード製造業者を特定するための情報である、製造者番号が記録されている。
ここで、ICカードのライフサイクルにおける各状態は、ICカードが記録しているデータによって定まり、発券を行うためのコマンドなど、所定のコマンドを実行することにより、ICカードの状態は変化する。
発券業者は、発券機(リーダライタ)を操作することによって、工場出荷状態であるICカードに、0次発券を行う旨の0次発券コマンドを送信し、ICカードに所定の処理を実行させることによって、0次発券を行う。
工場出荷状態であるICカードは、リーダライタから送信されてきた、0次発券コマンドを受信し、受信した0次発券コマンドを実行する。この場合、例えば、ICカードは、0次発券コマンドに含まれている、ICカードを特定するための情報であるデバイス識別番号、サービスを提供するために必要なデータを格納するためのMF、および事業者との相互認証処理に用いられる認証鍵である、出荷鍵を記録する。
発券業者は、0次発券が行われた状態(以下、0次発券済み状態と称する)のICカードを、ICカードを利用して、ユーザに所定のサービスを提供する事業者に出荷する。
事業者は、リーダライタを操作することによって、0次発券済み状態であるICカードに、1次発券を行う旨の1次発券コマンドを送信し、ICカードに所定の処理を実行させることによって、1次発券を行う。
0次発券済み状態であるICカードは、リーダライタから送信されてきた、1次発券コマンドを受信し、受信した1次発券コマンドを実行する。この場合、例えば、ICカードは、1次発券コマンドに基づいて、サービスを利用するために必要なデータを格納するためのDFおよびEF(Elementary File)、DFまたはEFにアクセスするために必要な認証鍵などを、MFに従属するデータとして記録する。
ここで、DFは、フォルダやディレクトリに相当し、DFには、ファイルに相当するEFが格納される。なお、DFおよびEFは、ISO(International Organization for Standardization)7816に規定されている。
事業者は、1次発券が行われた状態(以下、1次発券済み状態と称する)のICカードを、事業者の各事業所などの、ユーザに対してサービスを提供する施設に配布する。
ICカードが配布された事業所において、事業者は、リーダライタを操作することによって、1次発券済み状態であるICカードに、2次発券を行う旨の2次発券コマンドまたは、ICカードに記録されているデータを消去(削除)し、ICカードを0次発券済み状態にする旨のオールリセットコマンドを送信し、ICカードに所定の処理を実行させる。
例えば、ICカードは、リーダライタから送信されてきたオールリセットコマンドを受信すると、記録しているDF、EF、DFまたはEFにアクセスするために必要な認証鍵などを削除する。オールリセットコマンドを実行したICカードの状態(ライフサイクル状態)は、0次発券状態に戻る。
また、例えば、ICカードは、リーダライタから送信されてきた2次発券コマンドを受信すると、2次発券コマンドに基づいて、記録しているDFに従属するデータとして、ユーザがサービスを受けるために必要な個人情報などのデータおよびそのデータにアクセスするために必要な認証鍵を記録する。
換言すれば、ICカードは、2次発券コマンドに基づいて、記録しているDFに従属するデータとして、ユーザがサービスを受けるために必要な個人情報などのデータおよびそのデータにアクセスするために必要な認証鍵をEFに格納する。
また、事業所において、事業者は、リーダライタを操作することによって、2次発券済み状態であるICカードに、ICカードに記録されているデータを消去し、ICカードを0次発券済み状態にする旨のオールリセットコマンド、またはICカードに記録されているユーザの個人情報などを消去し、ICカードを1次発券済み状態にする旨のデータリセットコマンドを送信し、ICカードに所定の処理を実行させる。
例えば、ICカードは、リーダライタから送信されてきたオールリセットコマンドを受信すると、記録しているDFおよびEF、DFまたはEFにアクセスするために必要な認証鍵などを削除する。オールリセットコマンドを実行したICカードのライフサイクル状態は、0次発券状態に戻る。
また、例えば、ICカードは、リーダライタから送信されてきたデータリセットコマンドを受信すると、記録しているユーザがサービスを受けるために必要な個人情報などのデータおよびそのデータにアクセスするために必要な認証鍵などを削除する。データリセットコマンドを実行したICカードのライフサイクル状態は、1次発券状態に戻る。
2次発券が行われた状態(2次発券済み状態)のICカードは、各事業所において、ユーザに配布される。ユーザは、ユーザの個人情報などが記録されている、2次発券済み状態のICカードを、例えば、電子的な定期券や財布として利用し、事業者から提供されるサービスを受ける。
ユーザによって利用され、不要になったICカードは、事業者によって回収される。ユーザからICカードを回収した事業者は、リーダライタを操作することによって、2次発券済み状態であるICカードに、ICカードに記録されているデータを消去し、ICカードが、如何なるコマンドも実行しない状態(廃棄可能状態)にする旨のターミネートコマンドを送信し、ICカードに所定の処理を実行させる。
例えば、ICカードは、リーダライタから送信されてきたターミネートコマンドを受信すると、記録しているデータを消去する。ターミネートコマンドを実行したICカードのライフサイクル状態は、廃棄可能状態となり、廃棄可能状態のICカードは、如何なるコマンドも実行しない。
そして、ユーザからICカードを回収した事業者は、廃棄可能状態のICカードを、ICカードを物理的に廃棄する廃棄業者に配送する。廃棄業者は、配送されてきた廃棄可能状態のICカードを廃棄する。
このようにして、ICカードのライフサイクルの各状態において、ICカードの発券作業が行われる。なお、ICカードは、自分自身のライフサイクル状態および各状態において実行できるコマンドを示す情報を記憶しており、各状態において、実行できるコマンドとして記憶されていないコマンドの実行が指示されても、そのコマンドを実行しない。
ICカードは、ライフサイクルの各状態において、リーダライタから送信されてきた各種のコマンドを受信し、受信したコマンドを実行する。
ここで、図3は、リーダライタおよびICカードからなる無線通信システムを説明する図である。この無線通信システムは、無線通信するリーダライタ11およびICカード12から構成され、リーダライタ11とICカード12との間では、電磁波を利用して非接触でのデータの送受信が行われるようになされている。
リーダライタ11は、電波(電磁波)を放射し、例えば、ポーリングなどの処理を行うことによって、ICカード12を検出する。
ICカード12がリーダライタ11に近接し、リーダライタ11によって、ICカード12が検出されると、リーダライタ11およびICカード12は、必要に応じて、所定のデータを送受信することによって、相互認証処理を行う。
そして、相互認証処理によって、認証がなされると、リーダライタ11は、ICカード12に対して、発券を行うための処理など、所定の処理を実行させるためのコマンドを生成し、生成したコマンドを、無線通信によりICカード12あてに送信する。
ICカード12は、リーダライタ11から送信されてきたコマンドを受信し、記憶しているICカード12のライフサイクル状態および各状態において実行できるコマンドを示す情報を基に、受信したコマンドが、ICカード12のライフサイクル状態において実行できるコマンドであるか否かを判定する。
ICカード12は、受信したコマンドが、ICカード12のライフサイクル状態において実行できるコマンドであると判定された場合、受信したコマンドを実行する。また、ICカード12は、受信したコマンドが、ICカード12のライフサイクル状態において実行できるコマンドでないと判定された場合、受信したコマンドを実行しない。
したがって、例えば、ICカード12のライフサイクル状態が、工場出荷状態であり、工場出荷状態において、0次発券を行うためのコマンドだけが実行できる場合、ICカード12が1次発券を行うためのコマンドを受信したとき、ICカード12は、受信したコマンドが、ICカード12のライフサイクル状態において実行できるコマンドでないと判定し、受信した1次発券を行うためのコマンドを実行しない。
また、ICカード12のライフサイクル状態が、廃棄可能状態である場合には、ICカード12は、相互認証処理を行わず、また、受信したコマンドも実行しない。
図4は、リーダライタ11の機能の構成を示すブロック図である。
リーダライタ11は、制御部31、記録部32、SPU(Signal Processing Unit)33、変調部34、発振回路35、アンテナ36、復調部37、およびドライブ38を含むように構成される。
制御部31は、ICカード12に対して、所定の処理を実行させる、各種のコマンドを生成し、生成したコマンドをSPU33に供給する。例えば、制御部31は、0次発券コマンド、オールリセットコマンド、ターミネートコマンド、または相互認証を行うためのコマンド(以下、相互認証コマンドとも称する)を生成し、生成したコマンドを、SPU33に供給する。
制御部31は、暗号化部51および復号部52を備えている。制御部31は、必要に応じて、各種のコマンドに格納するデータを生成する。制御部31の暗号化部51は、制御部31が生成した、コマンドに格納するデータを、必要に応じて、記録部32に記録されている相互認証を行うための認証鍵を用いて、暗号化する。例えば、制御部31の暗号化部51は、制御部31が生成した、相互認証を行うためのコマンドに格納するデータを、記録部32に記録されている認証鍵を用いて、暗号化する。
制御部31の復号部52は、SPU33から供給されたデータを、必要に応じて記録部32に記録されている認証鍵を用いて復号する。すなわち、制御部31の復号部52は、SPU33から供給されたデータが、所定の方式により暗号化されている場合、記録部32に記録されている認証鍵を用いて、暗号化方式に対応する復号方式により、SPU33から供給されたデータを復号する。制御部31は、制御部31の復号部52が復号したデータを、必要に応じて記録部32に供給する。
制御部31の復号部52は、SPU33から供給されたデータが暗号化されていない場合、SPU33から供給されたデータを復号しない。
制御部31は、必要に応じて装着された、ドライブ38から供給されたプログラムを読み込んで、読み込んだプログラムを実行する。また、制御部31は、ドライブ38からプログラムやデータが供給された場合、供給されたプログラムやデータを必要に応じて、記録部32に供給し、記録部32に記録されたプログラムを読み込み、読み込んだプログラムを実行する。
記録部32は、書き換え可能で、電源が遮断されても記録内容を保持できる、いわゆる不揮発性の記憶媒体または記録媒体からなり、例えば、ハードディスクまたはフラッシュメモリなどにより構成される。記録部32は、各種のデータを記録している。また、記録部32は、記録しているデータを制御部31に供給する。
記録部32は、ICカード12が記録しているデータに関係付けられた認証鍵を記録している。記録部32は、記録している認証鍵を制御部31に供給する。また、記録部32は、制御部31から供給されたデータを記録する。
SPU33は、制御部31から供給されたコマンドを、所定の方式により符号化し、符号化したコマンドを変調部34に供給する。また、SPU33は、復調部37から供給されたデータを、データの符号化方式に対応する方式により復号し、復号したデータを制御部31に供給する。
例えば、SPU33は、ICカード12あてに送信するコマンドが、制御部31から供給されてきた場合、そのコマンドに、例えば、マンチェスターコードへのコーディングなどの符号化処理を施し、これにより得られた信号を変調部34に出力する。また、SPU33は、ICカード12からのデータが復調部37から供給されてきた場合、そのデータに対して、例えば、マンチェスターコードのデコードなどの復号処理を施し、これにより得られた信号を、制御部31に供給する。
変調部34は、発振回路35から供給された所定の周波数のクロック信号を基に、搬送波を生成する。変調部34は、搬送波に基づいて、SPU33から供給されたコマンドを所定の方式により変調することにより変調したコマンドを生成し、変調したコマンドをアンテナ36に供給する。例えば、変調部34は、SPU33から供給されたコマンドに基づいて、搬送波の位相、振幅、周波数などを変化させることにより変調したコマンドを生成する。
より具体的には、例えば、変調部34は、発振回路35から供給される13.56MHzの周波数のクロック信号を搬送波として、SPU33より供給されるデータをASK(Amplitude Shift Keying)変調し、生成された変調波を、電磁波としてアンテナ36から出力させる。
発振回路35は、所定の周波数の、基準となるクロック信号を生成し、生成したクロック信号を変調部34に供給する。
アンテナ36は、変調部34から供給されたコマンドを、無線通信によりICカード12あてに送信する。すなわち、例えば、アンテナ36は、変調部34から供給されたコマンドを伝送するための電波を輻射(放射)する。また、アンテナ36は、ICカード12から送信されてきたデータを受信し、受信したデータを復調部37に供給する。
復調部37は、アンテナ36から供給されたデータを、変調部110(図5)の変調方式に対応する復調方式により復調し、復調したデータをSPU33に供給する。例えば、復調部37は、アンテナ36を介して取得した変調波(ASK変調波)を復調し、復調したデータをSPU33に出力する。
ドライブ38は、磁気ディスク71、光ディスク72、光磁気ディスク73、或いは半導体メモリ74などが装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、制御部31またはICカード12に転送される。また、ICカード12に転送(送信)されたプログラムは、ICカード12により、必要に応じて記録されるか、または実行される。
図5は、ICカード12の機能の構成を示すブロック図である。
ICカード12は、アンテナ101、復調部102、SPU103、制御部104、ROM(Read Only Memory)105、RAM(Random Access Memory)106、記録部107、テーブル保持部108、発振回路109、変調部110、および電力発生部111を含むように構成される。
アンテナ101は、リーダライタ11から送信されてきたコマンドを受信し、受信したコマンドを復調部102に供給する。また、アンテナ101は、変調部110から供給されたデータを、無線通信により、リーダライタ11あてに送信する。すなわち、例えば、アンテナ101は、変調部110から供給されたデータを伝送するための電波を放射する。また、アンテナ101においては、リーダライタ11から放射される所定の周波数の電波により、共振が生じ、起電力が発生する。
復調部102は、アンテナ101から供給されたコマンドを、変調部34(図4)の変調方式に対応する復調方式により復調し、復調したコマンドをSPU103に供給する。例えば、復調部102は、アンテナ101を介して受信したASK変調波であるコマンドを包絡線検波して復調し、復調したコマンドをSPU103に出力する。
SPU103は、復調部102から供給されたコマンドを所定の方式により復号し、復号したコマンドを制御部104に供給する。SPU103は、制御部104から供給されたデータを、所定の符号化方式により符号化し、符号化したデータを変調部110に供給する。例えば、SPU103は、復調部102において復調されたコマンドがマンチェスター方式で符号化されている場合、図示せぬPLL(Phase Locked Loop)回路から供給されるクロック信号に基づいて、そのコマンドの復号(マンチェスターコードのデコード)を行い、復号したコマンドを制御部104に供給する。例えば、SPU103は、制御部104から供給されたデータを、マンチェスター方式で符号化し、符号化したデータを変調部110に供給する。
制御部104はSPU103から供給された各種のコマンドを実行する。制御部104は、判定部131、暗号化部132、および復号部133を備えている。
制御部104の判定部131は、テーブル保持部108に保持されているライフサイクル状態テーブルおよびコマンドテーブルを基に、SPU103から供給されたコマンドが、ICカード12のライフサイクル状態において、実行してもよいコマンドであるか否かを判定する。
ここで、ライフサイクル状態テーブルには、ICカード12のライフサイクル状態を示す情報が含まれている。また、コマンドテーブルには、ICカード12の各ライフサイクル状態において、ICカード12が実行することができるコマンドを示す情報が含まれている。なお、ライフサイクル状態テーブルおよびコマンドテーブルの詳細は、後述する。
制御部104は、SPU103から供給されたコマンドが、ICカード12のライフサイクル状態において、実行してもよいコマンドであると判定された場合、SPU103から供給されたコマンドを実行する。また、制御部104は、SPU103から供給されたコマンドが、ICカード12のライフサイクル状態において、実行してもよいコマンドでないと判定された場合、SPU103から供給されたコマンドを実行しない。
例えば、制御部104は、SPU103から相互認証を行うためのコマンドが供給されると、供給された相互認証を行うためのコマンドを実行する。このとき、例えば、制御部104の暗号化部132は、相互認証を行うために必要な、乱数、タイムスタンプなどのデータを、記録部107に記録されている認証鍵を用いて暗号化する。制御部104は、制御部104の暗号化部132が暗号化したデータをSPU103に供給する。
また、例えば、制御部104は、SPU103から供給されたコマンドに応じて、記録部107を制御し、記録部107に記録されているデータを消去させるか、または上書きさせる(書き換える)。
制御部104の復号部133は、SPU103から供給されたコマンドに含まれているデータが、所定の方式により暗号化されている場合、記録部107に記録されている認証鍵を用いて、暗号化方式に対応する復号方式により、SPU103から供給されたコマンドに含まれているデータを復号する。制御部104は、制御部104の復号部133が復号したデータを、必要に応じて記録部107に供給する。また、制御部104の復号部133は、SPU103から供給されたコマンドに含まれているデータが、暗号化されていない場合、データを復号しない。
制御部104は、テーブル保持部108を制御し、テーブル保持部108が保持しているライフサイクル状態テーブルを更新させる。例えば、制御部104が、0次発券コマンドを実行することによって、0次発券を行った場合、制御部104は、テーブル保持部108を制御し、ライフサイクル状態が0次発券済み状態であることを示すように、ライフサイクル状態テーブルを更新させる。
制御部104は、必要に応じて、ROM105に記録されているプログラムを読み込み、読み込んだプログラムを実行する。制御部104は、必要に応じて、データをRAM106に供給する。また、制御部104は、必要に応じて、RAM106が一時的に記憶しているデータを取得する。
ROM105は、制御部104が各種の処理を行うためのプログラム、その他のデータなどを記録している。ROM105は、記録しているプログラム、その他のデータなどを制御部104に供給する。
RAM106は、制御部104が各種の処理を行うとき、その処理の途中のデータなどを一時的に記憶する。RAM106は、記憶しているデータを制御部104に供給する。
記録部107は、例えば、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、MRAM(Magnetoresistive Random Access Memory(磁気抵抗メモリ))、またはFeRAM(強誘電体メモリ)などの不揮発性メモリなどにより構成され、リーダライタ11に送信される、秘匿すべきデータなどの各種データを記録している。また、記録部107は、リーダライタ11との相互認証処理に用いられる認証鍵を記録している。
テーブル保持部108は、例えば、フラッシュメモリ、EEPROM、MRAM、またはFeRAMなどの不揮発性メモリなどにより構成され、ライフサイクル状態テーブルおよびコマンドテーブルを保持している。テーブル保持部108は、制御部104の制御のもと、保持しているライフサイクル状態テーブルを更新する。
発振回路109は、アンテナ101が受信するコマンドの周波数と同じ周波数のクロック信号を生成し、生成したクロック信号を変調部110に供給する。例えば、発振回路109は、PLL回路を内蔵し、コマンドのクロック周波数と同一の周波数のクロック信号を発生する。
変調部110は、発振回路109から供給された所定の周波数のクロック信号を基に、搬送波を生成する。変調部110は、搬送波に基づいて、SPU103から供給されたデータを、所定の方式によって変調することにより、変調したデータを生成し、変調したデータをアンテナ101に供給する。例えば、変調部110は、SPU103から供給された、マンチェスター方式により符号化されたデータを、さらにASK変調し、変調したデータを、アンテナ101を介して、リーダライタ11に送信する。
また、例えば、変調部110は、SPU103から供給されるデータに対して、所定のスイッチング素子(図示せず)をオン、オフさせ、スイッチング素子がオン状態であるときだけ、所定の負荷をアンテナ101に並列に接続させることにより、アンテナ101の負荷を変動させる。ASK変調されたデータは、アンテナ101の負荷の変動により、アンテナ101を介して、リーダライタ11に送信される(リーダライタ11のアンテナ36の端子電圧を変動させる)。
電力発生部111は、アンテナ101に生じた交流の起電力を基に、直流電力を発生させ、発生させた直流電力をICカード12の各部に供給する。
次に、図6のフローチャートを参照して、リーダライタ11による、コマンド送信の処理を説明する。
ステップS11において、リーダライタ11は、必要に応じて、乱数などのデータを送受信し、ICカード12との相互認証を行う。例えば、ステップS11において、リーダライタ11は、ISO/IEC(International Organization for Standardization/International Electrotechnical Commission)9798-2およびJIS(Japanese Industrial Standards) X5056-2において定義されている、対称暗号アルゴリズムを用いた方式により、ICカード12との相互認証を行う。
このとき、例えば、リーダライタ11は、アクセスするデータまたはICカード12に対して実行させるコマンドごとに、予め定められた認証鍵を用いて、送受信するデータを暗号化するか、または復号する。なお、リーダライタ11は、ICカード12のライフサイクル状態が、工場出荷状態または廃棄可能状態である場合、相互認証の処理を行わない。また、相互認証の処理において、正規のICカード12であると認証されなかった場合、コマンド送信の処理は終了する。
相互認証がなされると、ステップS12において、制御部31は、所定の処理を実行させるための、各種のコマンドを生成し、生成したコマンドをSPU33に供給する。
例えば、ステップS12において、制御部31は、0次発券コマンド、オールリセットコマンド、ターミネートコマンドなどを生成し、生成したコマンドを、SPU33に供給する。なお、制御部31が生成した各種のコマンドには、必要に応じて、コマンドの実行に必要なデータが格納されている。
ステップS13において、SPU33は、制御部31から供給されたコマンドを、所定の符号化方式により符号化し、符号化したコマンドを変調部34に供給する。例えば、ステップS13において、SPU33は、制御部31から供給されたコマンドを、マンチェスター方式などの符号化方式により符号化し、符号化したコマンドを、変調部34に供給する。
ステップS14において、変調部34は、SPU33から供給されたコマンドを変調し、変調したコマンドをアンテナ36に供給する。例えば、ステップS14において、変調部34は、発振回路35から供給されたクロック信号に対応する、所定の周波数(例えば、13.56MHz)の搬送波に基づいて、SPU33から供給されたコマンドを、所定の方式により変調する。変調部34は、変調したコマンドをアンテナ36に供給する。
より詳細には、例えば、ステップS14において、変調部34は、ASK方式、PSK(Phase Shift Keying)方式、またはFSK(Frequency Shift Keying)方式などの変調方式によりコマンドを変調し、変調したコマンドをアンテナ36に供給する。
ステップS15において、アンテナ36は、変調部34から供給されたコマンドを、無線通信によってICカード12あてに送信し、コマンド送信の処理は終了する。例えば、ステップS15において、アンテナ36は、変調部34から供給されたコマンドを伝送する電波を、放射することによりコマンドを送信する。
このようにして、リーダライタ11は、コマンドを生成し、生成したコマンドを、無線通信によりICカード12あてに送信する。
図7のフローチャートを参照して、ICカード12による、コマンド実行の処理を説明する。
ステップS31において、ICカード12は、必要に応じて、乱数などのデータを送受信し、リーダライタ11との相互認証を行う。例えば、ステップS31において、ICカード12は、ISO/IEC9798-2およびJIS X5056-2において定義されている、対称暗号アルゴリズムを用いた方式などにより、リーダライタ11との相互認証を行う。
このとき、例えば、ICカード12は、アクセスが要求されたデータまたは実行が要求されたコマンドごとに、予め定められた認証鍵を用いて、送受信するデータを暗号化するか、または復号する。なお、ICカード12は、ICカード12のライフサイクル状態が、工場出荷状態または廃棄可能状態である場合、相互認証の処理を行わない。また、相互認証の処理において、正規のリーダライタ11であると認証されなかった場合、コマンド実行の処理は終了する。
ステップS31において、相互認証がなされると、リーダライタ11からコマンドが送信されてくるので、ステップS32において、アンテナ101は、リーダライタ11から送信されてきたコマンドを受信し、受信したコマンドを復調部102に供給する。
ステップS33において、復調部102は、アンテナ101から供給されたコマンドを、変調部34(図4)の変調方式に対応する復調方式により復調し、復調したコマンドをSPU103に供給する。
ステップS34において、SPU103は、復調部102から供給されたコマンドを、SPU33(図4)の符号化方式に対応する復号方式により復号し、復号したコマンドを制御部104に供給する。
ステップS35において、制御部104の判定部131は、テーブル保持部108が保持している、ライフサイクル状態テーブルを参照して、ライフサイクル状態が工場出荷状態であるか否かを判定する。
ここで、テーブル保持部108は、例えば、図8に示すライフサイクル状態テーブルを保持している。
ライフサイクル状態テーブルには、ICカード12のライフサイクル状態の各状態に対応するフラグが含まれている。
すなわち、ライフサイクル状態テーブルには、工場出荷状態に対応するフラグ、0次発券済み状態に対応するフラグ、1次発券済み状態に対応するフラグ、2次発券済み状態に対応するフラグ、および廃棄可能状態に対応するフラグが含まれている。
ここで、セットされている(例えば、“1”が設定されている)フラグは、ICカード12のライフサイクル状態が、フラグに対応する状態であることを示し、リセットされている(例えば、“0”が設定されている)フラグは、ICカード12のライフサイクル状態が、フラグに対応する状態でないことを示している。
また、ライフサイクル状態テーブルに含まれるフラグは、ライフサイクル状態の各状態に対応するフラグのうち、何れか1つのフラグだけが必ずセットされており、それ以外のフラグ(残りの4つのフラグ)は、必ずリセットされている。
したがって、この場合、工場出荷状態に対応するフラグが“1”に設定されて(セットされて)おり、0次発券済み状態に対応するフラグ、1次発券済み状態に対応するフラグ、2次発券済み状態に対応するフラグ、および廃棄可能状態に対応するフラグのそれぞれが、“0”に設定されて(リセットされて)いるので、ICカード12のライフサイクル状態が、工場出荷状態であることを示している。
図7のフローチャートの説明に戻り、例えば、ステップS35において、制御部104の判定部131は、テーブル保持部108が保持している、図8に示すライフサイクル状態テーブルを参照して、ライフサイクル状態が、工場出荷状態であるか否かを判定する。
この場合、図8に示すライフサイクル状態テーブルにおいて、工場出荷状態に対応するフラグが、セットされている(“1”に設定されている)ので、制御部104の判定部131は、ライフサイクル状態が、工場出荷状態であると判定する。
ステップS35において、ライフサイクル状態が、工場出荷状態であると判定された場合、ステップS36に進み、ICカード12は、工場出荷状態におけるコマンド実行の処理を行い、コマンド実行の処理は終了する。
なお、工場出荷状態におけるコマンド実行の処理の詳細は後述するが、工場出荷状態におけるコマンド実行の処理において、ICカード12は、テーブル保持部108が保持しているコマンドテーブルを参照して、SPU103から供給されたコマンドのうち、工場出荷状態において実行することができるコマンドだけを実行する。
ここで、テーブル保持部108は、例えば、図9に示すコマンドテーブルを保持している。コマンドテーブルには、ICカード12のライフサイクル状態の各状態において、実行することができるコマンドを示す情報が含まれている。
すなわち、コマンドテーブルには、工場出荷状態において実行できるコマンドが、トラッキングコマンドおよび0次発券コマンドであることを示す情報が含まれている。ここで、トラッキングコマンドとは、ICカード12が記録している、ICカード12を製造したカード製造業者を特定するための情報である製造者番号を、無線通信により、リーダライタ11に送信するためのコマンドをいう。
また、コマンドテーブルには、0次発券済み状態において実行できるコマンドが、相互認証コマンド、トラッキングコマンド、および1次発券コマンドであることを示す情報が含まれており、1次発券済み状態において実行できるコマンドが、相互認証コマンド、オールリセットコマンド、および2次発券コマンドであることを示す情報が含まれている。
同様に、コマンドテーブルには、2次発券済み状態において実行できるコマンドが、相互認証コマンド、オールリセットコマンド、データリセットコマンド、通常運用コマンド、およびターミネートコマンドであることを示す情報が含まれている。
ここで、通常運用コマンドとは、ユーザが事業者からサービスの提供を受けるために必要な処理を実行するためのコマンドをいう。したがって、例えば、ICカード12は、通常運用コマンドを実行することによって、ユーザの個人情報などのデータを、記録部107に記録したり、ユーザの個人情報などのデータを記録部107から読み出して、無線通信により、リーダライタ11あてに送信する。
さらに、コマンドテーブルには、廃棄可能状態において実行できるコマンドがないことを示す情報が含まれている。すなわち、廃棄可能状態においては、ICカード12は、如何なるコマンドも実行しない。
したがって、例えば、ステップS36において、ICカード12は、SPU103から供給されたコマンドのうち、トラッキングコマンドまたは0次発券コマンドだけを実行する。
一方、ステップS35において、ライフサイクル状態が、工場出荷状態でないと判定された場合、工場出荷状態において実行できるコマンドは、実行されないので、ステップS37に進み、制御部104の判定部131は、テーブル保持部108が保持している、ライフサイクル状態テーブルを参照して、ライフサイクル状態が、0次発券済み状態であるか否かを判定する。
例えば、ステップS37において、制御部104の判定部131は、図8に示すライフサイクル状態テーブルを参照して、ライフサイクル状態が、0次発券済み状態であるか否かを判定する。
したがって、制御部104の判定部131は、0次発券済み状態に対応するフラグがセットされている(例えば、“1”に設定されている)場合、ライフサイクル状態が、0次発券済み状態であると判定し、0次発券済み状態に対応するフラグがリセットされている(例えば、“0”に設定されている)場合、ライフサイクル状態が、0次発券済み状態でないと判定する。
ステップS37において、ライフサイクル状態が、0次発券済み状態であると判定された場合、ステップS38に進み、ICカード12は、0次発券済み状態におけるコマンド実行の処理を行い、コマンド実行の処理は終了する。
なお、0次発券済み状態におけるコマンド実行の処理の詳細は後述するが、0次発券済み状態におけるコマンド実行の処理において、ICカード12は、テーブル保持部108が保持しているコマンドテーブルを参照して、SPU103から供給されたコマンドのうち、0次発券済み状態において実行することができるコマンドだけを実行する。
したがって、例えば、テーブル保持部108が、図9に示すコマンドテーブルを保持している場合、ICカード12は、ステップS38において、SPU103から供給されたコマンドのうち、トラッキングコマンドまたは1次発券コマンドだけを実行する。
また、ステップS37において、ライフサイクル状態が、0次発券済み状態でないと判定された場合、0次発券済み状態において実行できるコマンドは、実行されないので、ステップS39に進み、制御部104の判定部131は、テーブル保持部108が保持している、ライフサイクル状態テーブルを参照して、ライフサイクル状態が、1次発券済み状態であるか否かを判定する。
例えば、ステップS39において、制御部104の判定部131は、図8に示すライフサイクル状態テーブルを参照して、ライフサイクル状態が、1次発券済み状態であるか否かを判定する。
したがって、制御部104の判定部131は、1次発券済み状態に対応するフラグがセットされている(例えば、“1”に設定されている)場合、ライフサイクル状態が、1次発券済み状態であると判定し、1次発券済み状態に対応するフラグがリセットされている(例えば、“0”に設定されている)場合、ライフサイクル状態が、1次発券済み状態でないと判定する。
ステップS39において、ライフサイクル状態が、1次発券済み状態であると判定された場合、ステップS40に進み、ICカード12は、1次発券済み状態におけるコマンド実行の処理を行い、コマンド実行の処理は終了する。
なお、1次発券済み状態におけるコマンド実行の処理の詳細は後述するが、1次発券済み状態におけるコマンド実行の処理において、ICカード12は、テーブル保持部108が保持しているコマンドテーブルを参照して、SPU103から供給されたコマンドのうち、1次発券済み状態において実行することができるコマンドだけを実行する。
したがって、例えば、テーブル保持部108が、図9に示すコマンドテーブルを保持している場合、ICカード12は、ステップS40において、SPU103から供給されたコマンドのうち、オールリセットコマンドまたは2次発券コマンドだけを実行する。
また、ステップS39において、ライフサイクル状態が、1次発券済み状態でないと判定された場合、1次発券済み状態において実行できるコマンドは、実行されないので、ステップS41に進み、制御部104の判定部131は、テーブル保持部108が保持している、ライフサイクル状態テーブルを参照して、ライフサイクル状態が、2次発券済み状態であるか否かを判定する。
例えば、ステップS41において、制御部104の判定部131は、図8に示すライフサイクル状態テーブルを参照して、ライフサイクル状態が、2次発券済み状態であるか否かを判定する。
したがって、制御部104の判定部131は、1次発券済み状態に対応するフラグがセットされている(例えば、“1”に設定されている)場合、ライフサイクル状態が、2次発券済み状態であると判定し、2次発券済み状態に対応するフラグがリセットされている(例えば、“0”に設定されている)場合、ライフサイクル状態が、2次発券済み状態でないと判定する。
ステップS41において、ライフサイクル状態が、2次発券済み状態であると判定された場合、ステップS42に進み、ICカード12は、2次発券済み状態におけるコマンド実行の処理を行い、コマンド実行の処理は終了する。
なお、2次発券済み状態におけるコマンド実行の処理の詳細は後述するが、2次発券済み状態におけるコマンド実行の処理において、ICカード12は、テーブル保持部108が保持しているコマンドテーブルを参照して、SPU103から供給されたコマンドのうち、2次発券済み状態において実行することができるコマンドだけを実行する。
したがって、例えば、テーブル保持部108が、図9に示すコマンドテーブルを保持している場合、ICカード12は、ステップS42において、SPU103から供給されたコマンドのうち、オールリセットコマンド、データリセットコマンド、通常運用コマンド、またはターミネートコマンドだけを実行する。
一方、ステップS41において、ライフサイクル状態が、2次発券済み状態でないと判定された場合、ライフサイクル状態は、廃棄可能状態であり、ICカード12は、如何なるコマンドも実行しないので、ステップS42の処理はスキップされ、コマンド実行の処理は終了する。
このようにして、ICカード12は、リーダライタ11から送信されてきたコマンドを受信し、受信したコマンドを実行する。
このように、ICカード12のライフサイクルにおける各状態において、予め定められたコマンドだけを実行することにより、データの改竄や情報の漏洩を防止することができる。
図10のフローチャートを参照して、図7のステップS36の処理に対応する、工場出荷状態におけるコマンド実行の処理を説明する。
ステップS61において、制御部104の判定部131は、SPU103から供給されたコマンドが、トラッキングコマンドであるか否かを判定する。ステップS61において、SPU103から供給されたコマンドが、トラッキングコマンドであると判定された場合、工場出荷状態において、トラッキングコマンドは実行できるので、ステップS62に進み、制御部104は、トラッキングコマンドを実行する。
すなわち、ステップS62において、制御部104は、記録部107に記録されている製造者番号を取得し、取得した製造者番号を、SPU103に供給する。
ここで、ICカード12のライフサイクル状態に、工場出荷状態が設定されている場合、記録部107には、例えば、図11に示すように、ICカード12を製造したカード製造業者を特定するための情報である、製造者番号だけが記録されている。また、製造者番号の他に、ICカード12の製造年月日などの情報を記録するようにしてもよい。
ステップS63において、SPU103は、制御部104から供給された製造者番号を、所定の符号化方式により符号化し、符号化した製造者番号を変調部110に供給する。例えば、ステップS63において、SPU103は、制御部104から供給された製造者番号を、マンチェスター方式により符号化し、符号化した製造者番号を変調部110に供給する。
ステップS64において、変調部110は、SPU103から供給された製造者番号を、所定の方式により変調し、変調した製造者番号をアンテナ101に供給する。例えば、ステップS64において、変調部110は、発振回路109から供給されたクロック信号により生成した搬送波を基に、SPU103から供給された製造者番号を、ASK変調方式により変調し、変調した製造者番号をアンテナ101に供給する。
ステップS65において、アンテナ101は、変調部110から供給された、変調されている製造者番号を、無線通信により、リーダライタ11あてに送信し、処理は終了する。例えば、ステップS65において、アンテナ101は、変調部110から供給された製造者番号を伝送する電波を放射することにより、製造者番号を送信する。リーダライタ11は、ICカード12から送信されてきた製造者番号を受信することによって、ICカード12の製造元を確認する。
一方、ステップS61において、SPU103から供給されたコマンドが、トラッキングコマンドでないと判定された場合、トラッキングコマンドを実行しないので、ステップS66に進み、制御部104の判定部131は、SPU103から供給されたコマンドが、0次発券コマンドであるか否かを判定する。
ステップS66において、SPU103から供給されたコマンドが、0次発券コマンドであると判定された場合、工場出荷状態において、0次発券コマンドは実行できるので、ステップS67に進み、制御部104は、0次発券コマンドを実行する。
すなわち、ステップS67において、制御部104は、SPU103から供給された0次発券コマンドに含まれているデバイス識別番号を、記録部107に供給する。そして、記録部107は、制御部104から供給されたデバイス識別番号を記録する。
ここで、デバイス識別番号とは、ICカード12を特定するための、ICカード12に固有の識別番号をいう。
ステップS68において、制御部104は、MFの設定を行う。例えば、ステップS68において、制御部104は、MFおよびMFに含まれるデータを管理するための情報を生成し、生成したMFおよびMFに含まれるデータを管理するための情報を、記録部107に供給する。記録部107は、制御部104から供給された、MFおよびMFに含まれるデータを管理するための情報を記録する。ここで、MFに含まれるデータを管理するための情報には、例えば、MFに含まれるDFおよびEFの数など、MFの属性を示す情報が含まれている。
ステップS69において、制御部104は、0次発券コマンドに含まれている、MFに対する認証鍵としての出荷鍵を記録部107に供給する。記録部107は、制御部104から供給された出荷鍵を、MFに対する認証鍵として記録する。ここで、出荷鍵は、1次発券作業を行う事業者が、リーダライタ11を操作して、ICカード12にトラッキングコマンドまたは1次発券コマンドを実行させる場合に、相互認証処理において用いられる認証鍵である。
ステップS70において、テーブル保持部108は、制御部104の制御のもと、ライフサイクル状態が、0次発券済み状態であることを示すようにライフサイクル状態テーブルを更新し、処理は終了する。
例えば、ステップS70において、テーブル保持部108は、制御部104の制御のもと、テーブル保持部108が保持している、図8に示すライフサイクル状態テーブルの工場出荷状態に対応するフラグをリセット(例えば、“0”に設定する)し、0次発券済み状態に対応するフラグをセット(例えば、“1”に設定する)することにより、ライフサイクル状態テーブルを更新する。
また、ライフサイクル状態が、0次発券済み状態である場合、記録部107には、例えば、図12に示すように、製造者番号、デバイス識別番号、MF151、出荷鍵A、および出荷鍵Bが記録されている。
ここで、MF151は、記録部107において、階層構造に記録されるデータ(フォルダ)のうち、最上位の階層のフォルダである。また、記録部107には、MF151とともに、MF151に含まれるデータを管理するための情報が記録されている。
さらに、記録部107には、認証鍵として、出荷鍵Aおよび出荷鍵Bが記録されている。すなわち、ICカード12は、ライフサイクル状態が0次発券済み状態であり、リーダライタ11から送信されてきた、トラッキングコマンドを送信する旨の相互認証コマンド、または1次発券コマンドを送信する旨の相互認証コマンドを受信した場合、出荷鍵Aおよび出荷鍵Bを用いて、リーダライタ11との相互認証処理を行う。
図10のフローチャートの説明に戻り、ステップS66において、SPU103から供給されたコマンドが、0次発券コマンドでないと判定された場合、SPU103から供給されたコマンドは、工場出荷状態において、実行できるコマンドではないので、ステップS67の処理乃至ステップS70の処理はスキップされ、処理は終了する。
したがって、例えば、SPU103から供給されたコマンドが、1次発券コマンドであった場合、ステップS66において、SPU103から供給されたコマンドが、0次発券コマンドでないと判定され、1次発券コマンドは、工場出荷状態において実行できるコマンドではないので、処理は終了する。
このようにして、制御部104は、SPU103から供給された、トラッキングコマンドまたは0次発券コマンドを実行する。
このように、ICカード12のライフサイクルにおける工場出荷状態において、予め定められたコマンドだけを実行することにより、データの改竄や情報の漏洩を防止することができる。
次に、図13のフローチャートを参照して、図7のステップS38の処理に対応する、0次発券済み状態におけるコマンド実行の処理を説明する。
ステップS101において、制御部104の判定部131は、SPU103から供給されたコマンドが、トラッキングコマンドであるか否かを判定する。ステップS101において、SPU103から供給されたコマンドが、トラッキングコマンドであると判定された場合、0次発券済み状態において、トラッキングコマンドは実行できるので、ステップS102に進み、制御部104は、トラッキングコマンドを実行する。
なお、ステップS102の処理乃至ステップS105の処理のそれぞれは、図10におけるステップS62の処理乃至ステップS65の処理のそれぞれと同様なので、その説明は省略する。
ステップS101において、SPU103から供給されたコマンドが、トラッキングコマンドでないと判定された場合、トラッキングコマンドを実行しないので、ステップS106に進み、制御部104の判定部131は、SPU103から供給されたコマンドが、1次発券コマンドであるか否かを判定する。
ステップS106において、SPU103から供給されたコマンドが、1次発券コマンドであると判定された場合、工場出荷状態において、1次発券コマンドは実行できるので、ステップS107に進み、制御部104は、1次発券コマンドを実行する。
すなわち、ステップS107において、制御部104は、1次発券コマンドに含まれている、認証鍵としての事業者鍵を、記録部107に供給する。記録部107は、記録している認証鍵を、制御部104から供給された事業者鍵に書き換える。ここで、事業者鍵は、2次発券作業を行う事業者が、リーダライタ11を操作して、ICカード12にオールリセットコマンド、2次発券コマンド、データリセットコマンド、またはターミネートコマンドを実行させる場合に、相互認証処理において用いられる認証鍵である。
ステップS108において、制御部104は、DFの設定を行う。例えば、ステップS108において、制御部104は、MF151に従属するDFおよびDFに含まれるデータを管理するための情報を生成し、生成したDFおよびDFに含まれるデータを管理するための情報を、記録部107に供給する。記録部107は、制御部104から供給された、DFおよびDFに含まれるデータを管理するための情報を記録する。ここで、DFに含まれるデータを管理するための情報には、例えば、DFに含まれるデータの書き換えを禁止したり、DFに含まれる一部のデータのみを書き換え可能にするなどの情報を含むDFの属性を示す情報、DFに対する認証鍵などが含まれている。
ステップS109において、制御部104は、EFの設定を行う。例えば、ステップS109において、制御部104は、DFに従属するEFおよびEFに含まれるデータを管理するための情報を生成し、生成したEFおよびEFに含まれるデータを管理するための情報を、記録部107に供給する。記録部107は、制御部104から供給された、EFおよびEFに含まれるデータを管理するための情報を記録する。ここで、EFに含まれるデータを管理するための情報には、例えば、EFに含まれるデータの書き換えを禁止したり、EFに含まれる一部のデータのみを書き換え可能にするなどの情報を含むEFの属性を示す情報、EFに対する認証鍵などが含まれている。
ステップS110において、制御部104は、1次発券コマンドに含まれている、事業者番号を記録部107に供給する。記録部107は、制御部104から供給された事業者番号を記録する。ここで、事業者番号とは、1次発券作業を行う事業者を特定するための情報である。
ステップS111において、テーブル保持部108は、制御部104の制御のもと、ライフサイクル状態が、1次発券済み状態であることを示すように、ライフサイクル状態テーブルを更新し、処理は終了する。
例えば、ステップS111において、テーブル保持部108は、制御部104の制御のもと、テーブル保持部108が保持している、ライフサイクル状態テーブルの0次発券済み状態に対応するフラグをリセット(例えば、“0”に設定する)し、1次発券済み状態に対応するフラグをセット(例えば、“1”に設定する)することにより、ライフサイクル状態テーブルを更新する。
また、ライフサイクル状態が、1次発券済み状態である場合、記録部107には、例えば、図14に示すように、製造者番号、デバイス識別番号、MF151、事業者鍵A、事業者鍵B、事業者番号152、DF153−1、DF153−2、およびEF154−1乃至EF154−4が記録されている。なお、図中、図12における場合と対応する部分には、同一の符号を付してあり、繰り返しになるので、その説明は適宜、省略する。
ここで、MF151には、MF151に従属するデータとして、1次発券作業を行う事業者を特定するための事業者番号152が含まれている。また、MF151には、MF151に従属するDF153−1、DF153−2、およびEF154−1が含まれている。
DF153−1には、DF153−1に従属するデータとして、EF154−2およびEF154−3が含まれている。また、記録部107には、DF153−1とともに、DF153−1に対する認証鍵を含む、DF153−1を管理するための情報が記録されている。同様に、記録部107には、EF154−2およびEF154−3とともに、EF154−2またはEF154−3に対する認証鍵を含む、EF154−2またはEF154−3を管理するための情報が記録されている。この場合、EF154−2に対する認証鍵として、それぞれ、“0000000”に設定された4つの認証鍵が記録されており、同様に、EF154−3に対する認証鍵として、それぞれ、“0000000”に設定された4つの認証鍵が記録されている。
DF153−2には、DF153−2に従属するデータとして、EF154−4が含まれている。また、記録部107には、DF153−2とともに、DF153−2に対する認証鍵を含む、DF153−2を管理するための情報が記録されている。同様に、記録部107には、EF154−4とともに、EF154−4に対する認証鍵を含む、EF154−4を管理するための情報が記録されている。この場合、EF154−4に対する認証鍵として、それぞれ、“0000000”に設定された4つの認証鍵が記録されている。
また、記録部107には、MF151に従属するEF154−1とともに、EF154−1に対する認証鍵を含む、EF154−1を管理するための情報が記録されている。この場合、EF154−1に対する認証鍵として、それぞれ、“0000000”に設定された4つの認証鍵が記録されている。
なお、以下、DF153−1およびDF153−2を個々に区別する必要のない場合、単に、DF153と称する。また、以下、EF154−1乃至EF154−4のそれぞれを個々に区別する必要のない場合、単にEF154と称する。
さらに、記録部107には、認証鍵として、事業者鍵Aおよび事業者鍵Bが記録されている。ICカード12は、ライフサイクル状態が1次発券済み状態または2次発券済み状態であり、リーダライタ11から送信されてきた、オールリセットコマンド、2次発券コマンド、データリセットコマンド、またはターミネートコマンドを送信する旨の相互認証コマンドを受信した場合、事業者鍵Aおよび事業者鍵Bを用いて、リーダライタ11との相互認証処理を行う。
図13のフローチャートの説明に戻り、ステップS106において、SPU103から供給されたコマンドが、1次発券コマンドでないと判定された場合、SPU103から供給されたコマンドは、0次発券済み状態において、実行できるコマンドではないので、ステップS107の処理乃至ステップS111の処理はスキップされ、処理は終了する。
したがって、例えば、SPU103から供給されたコマンドが、2次発券コマンドであった場合、ステップS106において、SPU103から供給されたコマンドが、1次発券コマンドでないと判定され、2次発券コマンドは、0次発券済み状態において実行できるコマンドではないので、処理は終了する。
このようにして、制御部104は、SPU103から供給された、トラッキングコマンドまたは1次発券コマンドを実行する。
このように、ICカード12のライフサイクルにおける0次発券済み状態において、予め定められたコマンドだけを実行することにより、データの改竄や情報の漏洩を防止することができる。また、ICカード12のライフサイクルにおける状態によって、相互認証処理に用いられる認証鍵を書き換え、異なる認証鍵を用いて相互認証の処理を行うことで、データの改竄や情報の漏洩を防止することができる。
図15のフローチャートを参照して、図7のステップS40の処理に対応する、1次発券済み状態におけるコマンド実行の処理を説明する。
ステップS131において、制御部104の判定部131は、SPU103から供給されたコマンドが、オールリセットコマンドであるか否かを判定する。ステップS131において、SPU103から供給されたコマンドが、オールリセットコマンドであると判定された場合、1次発券済み状態において、オールリセットコマンドは実行できるので、ステップS132に進み、制御部104は、オールリセットコマンドを実行する。
ステップS132において、記録部107は、制御部104の制御のもと、記録しているMFに従属する、事業者番号、DF、およびEFを削除する。例えば、ステップS132において、記録部107は、制御部104の制御のもと、図14に示されるMF151に従属する、事業者番号152、DF153、およびEF154を削除する。
ステップS133において、テーブル保持部108は、制御部104の制御のもと、ライフサイクル状態が、0次発券済み状態であることを示すようにライフサイクル状態テーブルを更新し、処理は終了する。
例えば、ステップS133において、テーブル保持部108は、制御部104の制御のもと、テーブル保持部108が保持している、ライフサイクル状態テーブルの1次発券済み状態に対応するフラグをリセット(例えば、“0”に設定する)し、0次発券済み状態に対応するフラグをセット(例えば、“1”に設定する)することにより、ライフサイクル状態テーブルを更新する。
この場合、例えば、記録部107には、MFに対する認証鍵として事業者鍵が記録されており、0次発券済み状態においてトラッキングコマンドまたは0次発券コマンドを実行するときに行われる、相互認証処理においては、認証鍵として、事業者鍵が用いられる。
ステップS131において、SPU103から供給されたコマンドが、オールリセットコマンドでないと判定された場合、オールリセットコマンドを実行しないので、ステップS134に進み、制御部104の判定部131は、SPU103から供給されたコマンドが、2次発券コマンドであるか否かを判定する。
ステップS134において、SPU103から供給されたコマンドが、2次発券コマンドであると判定された場合、1次発券済み状態において、2次発券コマンドは実行できるので、ステップS135に進み、制御部104は、2次発券コマンドを実行する。
すなわち、ステップS135において、制御部104は、DFの設定を行う。例えば、ステップS135において、制御部104は、2次発券コマンドに含まれるデータを基に、MF151に従属するDF153に格納される、ユーザの個人情報などのデータ、およびDF153に含まれるデータを管理するための情報を生成し、生成したDF153に格納されるデータおよびDF153に含まれるデータを管理するための情報を、記録部107に供給する。記録部107は、制御部104から供給された、DF153に格納されるデータ、およびDF153に含まれるデータを管理するための情報を記録する。
ステップS136において、制御部104は、EFの設定を行う。例えば、ステップS136において、制御部104は、2次発券コマンドに含まれるデータを基に、DF153に従属するEF154に格納される、ユーザの個人情報などのデータ、およびEF154に含まれるデータを管理するための情報を生成し、生成したEF154に格納されるデータおよびEF154に含まれるデータを管理するための情報を、記録部107に供給する。
記録部107は、制御部104から供給された、EF154に格納されるデータ、およびEF154に含まれるデータを管理するための情報を記録する。ここで、EF154に含まれるデータを管理するための情報には、例えば、新たに設定された、EF154に対する認証鍵が含まれている。すなわち、記録部107は、EF154に含まれるデータを管理するための情報を記録することによって、EF154に対する認証鍵を書き換える。
ステップS137において、テーブル保持部108は、制御部104の制御のもと、ライフサイクル状態が、2次発券済み状態であることを示すように、ライフサイクル状態テーブルを更新し、処理は終了する。
例えば、ステップS137において、テーブル保持部108は、制御部104の制御のもと、テーブル保持部108が保持している、ライフサイクル状態テーブルの1次発券済み状態に対応するフラグをリセット(例えば、“0”に設定する)し、2次発券済み状態に対応するフラグをセット(例えば、“1”に設定する)することにより、ライフサイクル状態テーブルを更新する。
また、ライフサイクル状態が、2次発券済み状態である場合、記録部107には、例えば、図16に示すように、製造者番号、デバイス識別番号、MF151、事業者鍵A、事業者鍵B、事業者番号152、DF153−1、DF153−2、およびEF154−1乃至EF154−4が記録されている。なお、図中、図14における場合と対応する部分には、同一の符号を付してあり、繰り返しになるので、その説明は適宜、省略する。
ここで、DF153およびEF154には、事業者が提供するサービスを受けるために必要な、ユーザの個人情報などのデータが格納されている。また、この場合、EF154−1には、EF154−1に対する認証鍵として、“0454879”、“0679831”、“9864136”、および“8794246”が設定されている。
同様に、EF154−2には、EF154−2に対する認証鍵として、“4657564”、“4301445”、“4315798”、および“4687144”が設定されており、EF154−3には、EF154−3に対する認証鍵として、“0038432”、“4863204”、“6870680”、および“3654640”が設定されており、EF154−4には、EF154−4に対する認証鍵として、“4687063”、“4013698”、“4430413”、および“2444545”が設定されている。
図15のフローチャートの説明に戻り、ステップS134において、SPU103から供給されたコマンドが、2次発券コマンドでないと判定された場合、SPU103から供給されたコマンドは、1次発券済み状態において、実行できるコマンドではないので、ステップS135の処理乃至ステップS137の処理はスキップされ、処理は終了する。
したがって、例えば、SPU103から供給されたコマンドが、1次発券コマンドであった場合、ステップS134において、SPU103から供給されたコマンドが、2次発券コマンドでないと判定され、1次発券コマンドは、1次発券済み状態において実行できるコマンドではないので、処理は終了する。
このようにして、制御部104は、SPU103から供給された、オールリセットコマンドまたは2次発券コマンドを実行する。
このように、ICカード12のライフサイクルにおける1次発券済み状態において、予め定められたコマンドだけを実行することにより、データの改竄や情報の漏洩を防止することができる。また、ICカード12のライフサイクルにおける状態によって、相互認証処理に用いられる認証鍵を書き換え、ライフサイクルの状態によって、異なる認証鍵を用いて、相互認証の処理を行うことで、データの改竄や情報の漏洩を防止することができる。
次に、図17のフローチャートを参照して、図7のステップS42の処理に対応する、2次発券済み状態におけるコマンド実行の処理を説明する。
ステップS151において、制御部104の判定部131は、SPU103から供給されたコマンドが、オールリセットコマンドであるか否かを判定する。ステップS151において、SPU103から供給されたコマンドが、オールリセットコマンドであると判定された場合、2次発券済み状態において、オールリセットコマンドは実行できるので、ステップS152に進み、制御部104は、オールリセットコマンドを実行する。
なお、ステップS152の処理およびステップS153の処理は、図15におけるステップS132の処理およびステップS133の処理と同様なので、その説明は省略する。
ステップS151において、SPU103から供給されたコマンドが、オールリセットコマンドでないと判定された場合、オールリセットコマンドを実行しないので、ステップS154に進み、制御部104の判定部131は、SPU103から供給されたコマンドが、データリセットコマンドであるか否かを判定する。
ステップS154において、SPU103から供給されたコマンドが、データリセットコマンドであると判定された場合、2次発券済み状態において、データリセットコマンドは実行できるので、ステップS155に進み、記録部107は、データリセットコマンドを実行する。
すなわち、ステップS155において、記録部107は、制御部104の制御のもと、記録している、MFに従属するDFおよびEFを初期化する。例えば、ステップS155において、記録部107は、制御部104の制御のもと、記録している、図16に示すMF151に従属するDF153およびEF154に格納されているデータ、DF153およびEF154を管理するための情報を消去することによって、DF153およびEF154を初期化する。
ステップS156において、テーブル保持部108は、制御部104の制御のもと、ライフサイクル状態が、1次発券済み状態であることを示すように、ライフサイクル状態テーブルを更新し、処理は終了する。
例えば、ステップS156において、テーブル保持部108は、制御部104の制御のもと、テーブル保持部108が保持している、ライフサイクル状態テーブルの2次発券済み状態に対応するフラグをリセット(例えば、“0”に設定する)し、1次発券済み状態に対応するフラグをセット(例えば、“1”に設定する)することにより、ライフサイクル状態テーブルを更新する。
ステップS154において、SPU103から供給されたコマンドが、データリセットコマンドでないと判定された場合、データリセットコマンドを実行しないので、ステップS157に進み、制御部104の判定部131は、SPU103から供給されたコマンドが、通常運用コマンドであるか否かを判定する。
ステップS157において、SPU103から供給されたコマンドが、通常運用コマンドであると判定された場合、2次発券済み状態において、通常運用コマンドは実行できるので、ステップS158に進み、ICカード12は、通常運用コマンドに応じた処理を実行し、処理は終了する。
例えば、SPU103から、EFに格納されているデータの書き換えを要求する旨の通常運用コマンドが供給された場合、ステップS158において、制御部104は、通常運用コマンドに含まれているデータを、記録部107に供給する。そして、記録部107は、記録している、EFに格納されているデータを、制御部104から供給されたデータに書き換える。なお、この場合、より詳細には、通常運用コマンドに含まれているデータが、所定の方式により暗号化されているとき、制御部104の復号部133は、通常運用コマンドに含まれているデータを、復号し、制御部104は、制御部104の復号部133が復号したデータを、記録部107に供給する。
また、例えば、SPU103から、EFに格納されているデータの送信を要求する旨の通常運用コマンドが供給された場合、ステップS158において、制御部104は、記録部107から、送信が要求されたデータを取得し、取得したデータをSPU103に供給する。
SPU103は、制御部104から供給されたデータを、例えば、マンチェスター方式により符号化し、符号化したデータを変調部110に供給する。変調部110は、SPU103から供給されたデータを、例えば、ASK変調し、変調したデータをアンテナ101に供給する。そして、アンテナ101は、変調部110から供給されたデータを、無線通信により、リーダライタ11あてに送信する。なお、この場合、リーダライタ11あてに送信するデータを、必要に応じて、制御部104の暗号化部132が、所定の方式により暗号化するようにしてもよい。
ステップS157において、SPU103から供給されたコマンドが、通常運用コマンドでないと判定された場合、通常運用コマンドを実行しないので、ステップS159に進み、制御部104の判定部131は、SPU103から供給されたコマンドが、ターミネートコマンドであるか否かを判定する。
ステップS159において、SPU103から供給されたコマンドが、ターミネートコマンドであると判定された場合、2次発券済み状態において、ターミネートコマンドは実行できるので、ステップS160に進み、記録部107は、制御部104の制御のもと、記録している全てのデータを削除する。
ステップS161において、テーブル保持部108は、制御部104の制御のもと、ライフサイクル状態が、廃棄可能状態であることを示すように、ライフサイクル状態テーブルを更新し、処理は終了する。
例えば、ステップS161において、テーブル保持部108は、制御部104の制御のもと、テーブル保持部108が保持している、ライフサイクル状態テーブルの2次発券済み状態に対応するフラグをリセット(例えば、“0”に設定する)し、廃棄可能状態に対応するフラグをセット(例えば、“1”に設定する)することにより、ライフサイクル状態テーブルを更新する。
ステップS159において、SPU103から供給されたコマンドが、ターミネートコマンドでないと判定された場合、SPU103から供給されたコマンドは、2次発券済み状態において、実行できるコマンドではないので、ステップS160の処理およびステップS161の処理はスキップされ、処理は終了する。
したがって、例えば、SPU103から供給されたコマンドが、2次発券コマンドであった場合、ステップS159において、SPU103から供給されたコマンドが、ターミネートコマンドでないと判定され、2次発券コマンドは、2次発券済み状態において実行できるコマンドではないので、処理は終了する。
このようにして、制御部104は、SPU103から供給された、オールリセットコマンド、データリセットコマンド、通常運用コマンド、またはターミネートコマンドを実行する。
このように、ICカード12のライフサイクルにおける2次発券済み状態において、予め定められたコマンドだけを実行することにより、データの改竄や情報の漏洩を防止することができる。これにより、ユーザからICカード12を回収した事業者は、廃棄可能状態のICカード12を、ICカード12を物理的に廃棄する廃棄業者に配送するとき、データの改竄や情報の漏洩などの心配がなくなる。
なお、ICカード12が、自分自身のライフサイクル状態において、実行することができないコマンドを受信した場合、コマンドを送信してきたリーダライタ11に対して、無応答とするようにしてもよく、自分自身のライフサイクル状態において、実行することができないコマンドを受信した旨のエラー通知信号を、リーダライタ11あてに送信するようにしてもよい。また、テーブル保持部108が、記録部107に含まれる構成とすることも可能である。
さらに、より詳細には、1次発券コマンドまたは2次発券コマンドを実行することによって、認証鍵を書き換える処理は、1次発券コマンドまたは2次発券コマンドに含まれる、認証鍵を書き換えるコマンド(以下、鍵変更コマンドと称する)を実行することによって行われる。
したがって、例えば、2次発券コマンドを実行することによって、記録部107が記録している、MFに対する事業者鍵を書き換えることも可能であるが、1次発券コマンドを実行することによって、出荷鍵(MFに対する認証鍵)だけしか書き換えができないようにし、2次発券コマンドを実行することによって、DFに対する認証鍵およびEFに対する認証鍵だけしか書き換えができないようにすることも可能である。この場合、2次発券済み状態においては、認証鍵の書き換えができないようになされている。
さらに、また、1次発券済み状態または2次発券済み状態において、コマンドを実行するとき、認証鍵として、事業者鍵を用いて、相互認証処理を行うと説明したが、例えば、2次発券コマンドを実行するとき、図14に示す事業者鍵Aを用いて、相互認証処理を行い、2次発券済み状態において、コマンド(例えば、ターミネートコマンド)を実行するとき、図16に示す事業者鍵Bを用いて、相互認証処理を行うようにしてもよい。
このようにすることで、2次発券作業を行う事業者と、2次発券済み状態において、コマンドを実行させる事業者とが異なる場合においても、同一の認証鍵を共有することなく、それぞれのコマンドを実行させることが可能である。
さらに、また、記録している事業者鍵を基に、異なる認証鍵を生成し、2次発券コマンドを実行する場合における相互認証処理と、ターミネートコマンドを実行する場合における相互認証処理とで、異なる認証鍵を用いるようにしてもよい。
すなわち、2次発券コマンドを実行する場合、制御部104は、例えば、図14に示す事業者鍵Aおよび事業者鍵Bの論理和を演算することにより、相互認証処理に用いる認証鍵を生成し、ターミネートコマンドを実行する場合、制御部104は、図16に示す事業者鍵Aおよび事業者鍵Bの排他的論理和を演算することにより、認証鍵を生成する。このようにすることで、実行するコマンドごとに、アクセス権を設定することが可能となる。
以上のように、ICカードのライフサイクルにおける各状態において、予め定められたコマンドだけを実行することにより、データの改竄や情報の漏洩を防止することができる。また、ICカードのライフサイクルにおける各状態において、異なる認証鍵を用いるようにしたので、データの改竄や情報の漏洩を防止することができる。
本発明によれば、データを記録するようにしたので、データを送受信することができる。また、本発明によれば、ICカードのライフサイクルにおける各状態において、予め定められたコマンドだけを実行するようにしたので、データの改竄や情報の漏洩を防止することができる。さらに、本発明によれば、ICカードのライフサイクルにおける各状態において、異なる認証鍵を用いるようにしたので、データの改竄や情報の漏洩を防止することができる。
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
この記録媒体は、図4に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク71(フレキシブルディスクを含む)、光ディスク72(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク73(MD(Mini-Disc)(商標)を含む)、若しくは半導体メモリ74などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROMや、記録部32に含まれるハードディスクなどで構成される。
なお、上述した一連の処理を実行させるプログラムは、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を介してコンピュータにインストールされるようにしてもよい。
また、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
11 リーダライタ, 12 ICカード, 31 制御部, 32 記録部, 36 アンテナ, 51 暗号化部, 52 復号部, 71 磁気ディスク, 72 光ディスク, 73 光磁気ディスク, 74 半導体メモリ, 101 アンテナ, 104 制御部, 105 ROM, 106 RAM, 107 記録部, 108 テーブル保持部, 131 判定部, 132 暗号化部, 133 復号部

Claims (10)

  1. 送信されてくる、所定の処理の実行を要求する旨の指令を受信する受信手段と、
    所定のデータを記憶するとともに、ユーザに対する発券前の複数の状態と、前記ユーザに対する発券後の複数の状態とを含む予め定められた複数の状態であって、記憶している前記データによって定まる、ライフサイクルにおける自分自身の状態のうち、自分自身がどの状態であるかを示す第1の情報と、前記状態ごとに定められた、前記状態において実行可能な指令を示す第2の情報とを記憶する記憶手段と、
    前記第1の情報および前記第2の情報を基に、受信した前記指令が、自分自身の前記状態において、実行可能な指令であるか否かを判定する判定手段と、
    少なくともデータの読み出しまたは書き込みの何れかの前記指令を実行可能な第1の状態から、前記第1の状態とは異なる第2の状態に前記状態を変化させる前記指令が受信された場合、前記判定手段の判定結果に応じて、前記第2の状態に前記状態を変化させる前記指令を実行するとともに、実行した前記指令に応じて、自分自身の前記状態を変化させるように、前記第1の情報の更新を制御し、鍵の置き換えを要求する前記指令が受信された場合、前記判定手段の判定結果に応じて、前記鍵の置き換えを実行する制御手段と
    を備える情報処理装置。
  2. 前記制御手段は、前記鍵の置き換えを要求する前記指令が受信された場合、記憶されている複数の鍵を新たな複数の鍵に置き換える
    請求項1に記載の情報処理装置。
  3. 前記制御手段は、前記鍵の置き換えを要求する前記指令が受信された場合、記憶されている複数の鍵を新たな複数の鍵に同時に置き換える
    請求項2に記載の情報処理装置。
  4. 前記判定手段は、自分自身の前記状態が、データの読み出しまたは書き込みの何れかの前記指令を実行可能な所定の状態である場合、前記鍵の置き換えを要求する前記指令が実行可能な前記指令であると判定する
    請求項1乃至請求項3の何れか一項に記載の情報処理装置。
  5. 前記制御手段は、特定の複数のデータの削除を要求する前記指令が受信された場合、前記判定手段の判定結果に応じて、前記特定の複数のデータの削除を制御する
    請求項1乃至請求項4の何れか一項に記載の情報処理装置。
  6. 前記制御手段は、特定のデータの読み出しまたは書き込みの前記指令が受信された場合、前記判定手段の判定結果に応じて、前記特定のデータの読み出しまたは書き込みを制御する
    請求項1乃至請求項5の何れか一項に記載の情報処理装置。
  7. 前記情報処理装置は、ICカードである
    請求項1乃至請求項6の何れか一項に記載の情報処理装置。
  8. 前記情報処理装置は、他の装置と13.56MHzの搬送波を用いた無線通信を行う
    請求項1乃至請求項7の何れか一項に記載の情報処理装置。
  9. 送信されてくる、所定の処理の実行を要求する旨の指令の受信を制御する受信制御ステップと、
    ユーザに対する発券前の複数の状態と、前記ユーザに対する発券後の複数の状態とを含む予め定められた複数の状態であって、記憶手段に記憶しているデータによって定まる、ライフサイクルにおける自分自身の状態のうち、自分自身がどの状態であるかを示す第1の情報の記憶を制御する記憶制御ステップと、
    前記第1の情報と、前記状態ごとに定められた、前記状態において実行可能な指令を示す第2の情報とを基に、受信した前記指令が、自分自身の前記状態において、実行可能な指令であるか否かを判定する判定ステップと、
    少なくともデータの読み出しまたは書き込みの何れかの前記指令を実行可能な第1の状態から、前記第1の状態とは異なる第2の状態に前記状態を変化させる前記指令が受信された場合、前記判定ステップにおける判定結果に応じて、前記第2の状態に前記状態を変化させる前記指令を実行するとともに、実行した前記指令に応じて、自分自身の前記状態を変化させるように、前記第1の情報の更新を制御し、鍵の置き換えを要求する前記指令が受信された場合、前記判定ステップにおける判定結果に応じて、前記鍵の置き換えを実行する制御ステップと
    を含む情報処理方法。
  10. 送信されてくる、所定の処理の実行を要求する旨の指令の受信を制御する受信制御ステップと、
    ユーザに対する発券前の複数の状態と、前記ユーザに対する発券後の複数の状態とを含む予め定められた複数の状態であって、記憶手段に記憶しているデータによって定まる、ライフサイクルにおける自分自身の状態のうち、自分自身がどの状態であるかを示す第1の情報の記憶を制御する記憶制御ステップと、
    前記第1の情報と、前記状態ごとに定められた、前記状態において実行可能な指令を示す第2の情報とを基に、受信した前記指令が、自分自身の前記状態において、実行可能な指令であるか否かを判定する判定ステップと、
    少なくともデータの読み出しまたは書き込みの何れかの前記指令を実行可能な第1の状態から、前記第1の状態とは異なる第2の状態に前記状態を変化させる前記指令が受信された場合、前記判定ステップにおける判定結果に応じて、前記第2の状態に前記状態を変化させる前記指令を実行するとともに、実行した前記指令に応じて、自分自身の前記状態を変化させるように、前記第1の情報の更新を制御し、鍵の置き換えを要求する前記指令が受信された場合、前記判定ステップにおける判定結果に応じて、前記鍵の置き換えを実行する制御ステップと
    を含む情報処理をコンピュータに実行させるプログラム。
JP2010292209A 2010-12-28 2010-12-28 情報処理装置および方法、並びにプログラム Active JP5507436B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010292209A JP5507436B2 (ja) 2010-12-28 2010-12-28 情報処理装置および方法、並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010292209A JP5507436B2 (ja) 2010-12-28 2010-12-28 情報処理装置および方法、並びにプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2004283107A Division JP4706220B2 (ja) 2004-09-29 2004-09-29 情報処理装置および方法、記録媒体、並びにプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013142341A Division JP5585699B2 (ja) 2013-07-08 2013-07-08 情報処理装置および方法、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2011086308A JP2011086308A (ja) 2011-04-28
JP5507436B2 true JP5507436B2 (ja) 2014-05-28

Family

ID=44079147

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010292209A Active JP5507436B2 (ja) 2010-12-28 2010-12-28 情報処理装置および方法、並びにプログラム

Country Status (1)

Country Link
JP (1) JP5507436B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016001454A (ja) * 2014-05-20 2016-01-07 株式会社東芝 携帯可能電子装置、プログラム、端末および方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0831122B2 (ja) * 1988-12-12 1996-03-27 株式会社日立製作所 Icカードにおけるコマンド処理方法
JP2004194196A (ja) * 2002-12-13 2004-07-08 Ntt Docomo Inc パケット通信認証システム、通信制御装置及び通信端末
JP2004199202A (ja) * 2002-12-16 2004-07-15 Matsushita Electric Ind Co Ltd 初期化機能を備えたicカード、icカード初期化方法

Also Published As

Publication number Publication date
JP2011086308A (ja) 2011-04-28

Similar Documents

Publication Publication Date Title
US10769284B2 (en) Information processing apparatus and method, recording medium, and program
US7797537B2 (en) Mobile terminal, data communication method, and computer program
EP1667077B1 (en) Data storage apparatus, data processing method, recording medium, and program
EP2182461B1 (en) Information processing apparatus, method for switching cipher and program
AU2006238975B2 (en) Method of migrating RFID transponders in situ
JP2005196411A (ja) データ通信装置及びデータ通信装置のメモリ管理方法
EP2120386B1 (en) Communication device, communication method, reader/writer, and communication system
JP2005196412A (ja) データ通信装置及びデータ通信装置のメモリ管理方法
JP4807377B2 (ja) 通信装置、通信方法、通信システム及びサービス発行方法
JP5585699B2 (ja) 情報処理装置および方法、並びにプログラム
JP5507436B2 (ja) 情報処理装置および方法、並びにプログラム
JP2007206882A (ja) 情報処理装置,データ管理方法,およびコンピュータプログラム
JP4349130B2 (ja) データ通信装置及びデータ通信装置のメモリ管理方法
JP2000293970A (ja) 情報管理システム
JP2008040971A (ja) 情報処理装置および方法、並びにプログラム
JP2013211061A (ja) 通信装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120816

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121211

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130212

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130409

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140319

R150 Certificate of patent or registration of utility model

Ref document number: 5507436

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250