(57)【特許請求の範囲】
【請求項１】
非接触通信を行い、送信されてくる、所定の処理の実行を要求する旨の指令を受信するアンテナ部と、
前記アンテナ部により前記非接触通信を行うための信号処理を実行する信号処理部と、
所定のデータを記憶するとともに、予め定められた複数の状態であって、記憶している前記データによって定まる、ライフサイクルにおける自分自身の状態のうち、自分自身がどの状態であるかを示す第１の情報と、前記状態ごとに定められた、前記状態において実行可能な指令を示す第２の情報とを記憶する記憶部と、
前記第１の情報および前記第２の情報を基に、受信した前記指令が自分自身の前記状態において実行可能な指令であるか否かの判定処理を行い、少なくともデータの読み出しまたは書き込みの何れかの前記指令を実行可能な第１の状態から、前記第１の状態とは異なる第２の状態に前記状態を変化させる前記指令が受信された場合、前記判定処理の結果に応じて前記第２の状態に前記状態を変化させる前記指令を実行するとともに、実行した前記指令に応じて自分自身の前記状態を変化させるように前記第１の情報の更新を制御し、鍵の置き換えを要求する前記指令が受信された場合、前記判定処理の結果に応じて自分自身の前記状態で用いる前記鍵から、他の前記状態で用いる前記鍵への置き換えを実行し、前記非接触通信の相手との相互認証の実行を要求する前記指令が受信された場合、前記判定処理の結果に応じて前記相互認証を実行する制御部と
を備える情報処理装置。
【請求項２】
前記制御部は、前記鍵の置き換えを要求する前記指令が受信された場合、記憶されている複数の鍵を新たな複数の鍵に置き換える
請求項１に記載の情報処理装置。
【請求項３】
前記制御部は、前記鍵の置き換えを要求する前記指令が受信された場合、記憶されている複数の鍵を新たな複数の鍵に同時に置き換える
請求項２に記載の情報処理装置。
【請求項４】
前記制御部は、自分自身の前記状態が、データの読み出しまたは書き込みの何れかの前記指令を実行可能な所定の状態である場合、前記鍵の置き換えを要求する前記指令が実行可能な前記指令であると判定する
請求項１乃至請求項３の何れか一項に記載の情報処理装置。
【請求項５】
前記制御部は、特定の複数のデータの削除を要求する前記指令が受信された場合、前記判定処理の結果に応じて、前記特定の複数のデータの削除を制御する
請求項１乃至請求項４の何れか一項に記載の情報処理装置。
【請求項６】
前記制御部は、特定のデータの読み出しまたは書き込みの前記指令が受信された場合、前記判定処理の結果に応じて、前記特定のデータの読み出しまたは書き込みを制御する
請求項１乃至請求項５の何れか一項に記載の情報処理装置。
【請求項７】
前記信号処理部は、前記信号処理として、受信した前記指令に対する復調処理、受信した前記指令に対する復号処理、送信するデータに対する変調処理、または送信するデータに対する符号化処理を実行する
請求項１乃至請求項６の何れか一項に記載の情報処理装置。
【請求項８】
前記情報処理装置は、他の装置と13.56MHzの搬送波を用いた前記非接触通信を行う
請求項１乃至請求項７の何れか一項に記載の情報処理装置。
【請求項９】
非接触通信を行うアンテナ部と、
前記アンテナ部により前記非接触通信を行うための信号処理を実行する信号処理部と、
所定のデータを記憶するとともに、予め定められた複数の状態であって、記憶している前記データによって定まる、ライフサイクルにおける自分自身の状態のうち、自分自身がどの状態であるかを示す第１の情報と、前記状態ごとに定められた、前記状態において実行可能な指令を示す第２の情報とを記憶する記憶部と、
制御部と
を備える情報処理装置の情報処理方法であって、
前記アンテナ部が前記非接触通信により、送信されてくる、所定の処理の実行を要求する旨の指令を受信する受信ステップと、
前記信号処理部が、前記アンテナ部により受信された前記指令に対する前記信号処理を実行する信号処理ステップと、
前記制御部が、前記第１の情報および前記第２の情報を基に、受信した前記指令が自分自身の前記状態において実行可能な指令であるか否かを判定する判定ステップと、
前記制御部が、少なくともデータの読み出しまたは書き込みの何れかの前記指令を実行可能な第１の状態から、前記第１の状態とは異なる第２の状態に前記状態を変化させる前記指令が受信された場合、前記判定ステップにおける判定結果に応じて前記第２の状態に前記状態を変化させる前記指令を実行するとともに、実行した前記指令に応じて自分自身の前記状態を変化させるように前記第１の情報の更新を制御し、鍵の置き換えを要求する前記指令が受信された場合、前記判定ステップにおける判定結果に応じて自分自身の前記状態で用いる前記鍵から、他の前記状態で用いる前記鍵への置き換えを実行し、前記非接触通信の相手との相互認証の実行を要求する前記指令が受信された場合、前記判定ステップにおける判定結果に応じて前記相互認証を実行する制御ステップと
を含む情報処理方法。
【請求項１０】
非接触通信を行うアンテナ部と、
前記アンテナ部により前記非接触通信を行うための信号処理を実行する信号処理部と、
所定のデータを記憶するとともに、予め定められた複数の状態であって、記憶している前記データによって定まる、ライフサイクルにおける自分自身の状態のうち、自分自身がどの状態であるかを示す第１の情報と、前記状態ごとに定められた、前記状態において実行可能な指令を示す第２の情報とを記憶する記憶部と、
制御部と
を備える情報処理装置を制御するコンピュータに、
前記非接触通信により、送信されてくる、所定の処理の実行を要求する旨の指令の前記アンテナ部による受信を制御する受信制御ステップと、
前記アンテナ部により受信された前記指令に対する前記信号処理を前記信号処理部に実行させる信号処理ステップと、
前記第１の情報および前記第２の情報を基に、受信した前記指令が自分自身の前記状態において実行可能な指令であるか否かを前記制御部に判定させる判定ステップと、
前記制御部に、少なくともデータの読み出しまたは書き込みの何れかの前記指令を実行可能な第１の状態から、前記第１の状態とは異なる第２の状態に前記状態を変化させる前記指令が受信された場合、前記判定ステップにおける判定結果に応じて前記第２の状態に前記状態を変化させる前記指令を実行させるとともに、実行した前記指令に応じて自分自身の前記状態を変化させるように前記第１の情報の更新を制御させ、鍵の置き換えを要求する前記指令が受信された場合、前記判定ステップにおける判定結果に応じて自分自身の前記状態で用いる前記鍵から、他の前記状態で用いる前記鍵への置き換えを実行させ、前記非接触通信の相手との相互認証の実行を要求する前記指令が受信された場合、前記判定ステップにおける判定結果に応じて前記相互認証を実行させる制御ステップと
を含む情報処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置および方法、並びにプログラムに関し、特に、データの改竄および情報の漏洩を防止することができるようにした情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
情報処理技術の発達にともない、大量の情報が、通信網を介して通信されるようになってきている。例えば、電子マネーシステムやセキュリティーシステムなどにおいて利用されているＩＣカード（スマートカード）は、各種の処理を行うCPU（Central Processing Unit）や、処理に必要なデータなどを記憶するメモリを内蔵しており、所定のリーダライタに電気的に接触させた状態で、データの送受信が行われる。
【０００３】
ところで、ＩＣカードに対して、そのライフサイクルにおいて、サービスを提供するために必要なデータを格納するフォルダを新たに追加したり、また、データへのアクセスに必要な鍵を変更したりするための、いわゆる発券作業が行われる。
【０００４】
図１は、従来のＩＣカードのライフサイクルを説明するための図である。
【０００５】
まず、ＩＣカードは、所定のカード製造業者によって製造され、サービスを提供するために必要なデータや、データへのアクセスに必要な鍵が記録されていない状態（以下、工場出荷状態と称する）で、ＩＣカードを発券する発券業者に出荷される。
【０００６】
そして、発券業者によって、ＩＣカードの記憶領域に、データを格納するためのメインフォルダ（ＭＦ（Main Folder））が生成され、相互認証処理に用いられる認証鍵を記録する処理（以下、０次発券と称する）が行われる。ＩＣカードは、記憶領域に、データを格納するためのメインフォルダおよび相互認証処理に用いられる認証鍵を記録した状態（以下、０次発券済み状態と称する）で、ＩＣカードを利用して、ユーザに所定のサービスを提供する事業者に出荷される。
【０００７】
次に、事業者によって、ＩＣカードに記憶されているメインフォルダ内に、サービスを提供するために必要な記憶領域（ＤＦ（Dedicated File））が確保され、その記憶領域にアクセスするために必要な鍵を書き込む処理（以下、１次発券と称する）が行われる。
【０００８】
さらに、１次発券されたＩＣカードは、メインフォルダにＤＦおよびＤＦにアクセスするために必要な鍵が書き込まれた状態（以下、１次発券済み状態と称する）で、事業者の各事業所などの、ユーザに対してサービスを提供する施設に配布される。
【０００９】
そして、各事業所において、１次発券済み状態のＩＣカードのＤＦに、ユーザがサービスを受けるために必要な個人情報などのデータおよびそのデータにアクセスするために必要な鍵を書き込む処理（以下、２次発券と称する）が行われ、そのＩＣカードがユーザに配布される。
【００１０】
ユーザは、事業所から配布された、ユーザがサービスを受けるために必要な個人情報などのデータおよびそのデータにアクセスするために必要な鍵が書き込まれた状態（以下、２次発券済み状態と称する）のＩＣカードを利用して、事業者から提供されるサービスを受ける。
【００１１】
また、ユーザによって利用され、不要になったＩＣカードは、事業者によって回収される。事業者は、回収したＩＣカードが記憶している全てのデータを消去（削除）し、データが記録されていない状態（廃棄可能状態）のＩＣカードを、ＩＣカードを物理的に廃棄する廃棄業者に配送する。そして、廃棄業者は、配送されてきた廃棄可能状態のＩＣカードを廃棄する。
【００１２】
このようにして、ＩＣカードのライフサイクルの各状態において、ＩＣカードを発券する発券作業が行われる。
【００１３】
また、従来のＩＣカードとして、ＩＣカードの発券作業において、発券機から送信されてきた、暗号化された発券情報を受信し、受信した発券情報を復号しているものもある（例えば、特許文献１参照）。すなわち、このＩＣカードにおいては、受信した発券情報を復号し、復号した発券情報を記録することによって、ＩＣカードの発券が行われる。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２０００−３６０１４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
しかしながら、上述した技術においては、ＩＣカードのライフサイクルにおける各状態において、ＩＣカードが実行可能な処理が異なっているにも関わらず、ＩＣカードは、ＩＣカードの各状態において、本来処理されないコマンドを含む、全てのコマンドを受信し、受信したコマンドを実行してしまうという問題があった。
【００１６】
また、通信する相手との相互認証処理に用いられる認証鍵は、ＩＣカードのライフサイクルの各状態において同一の鍵が用いられているため、認証鍵を保持している発券業者または事業者は、ＩＣカードに本来処理されないコマンドを送信し、ＩＣカードに送信したコマンドを実行させることができるという問題があった。
【００１７】
さらに、ＩＣカードを廃棄可能状態にする場合、ＩＣカードに記録されているデータを消去したり、相互認証処理に用いられる認証鍵を変更することはできたが、ＩＣカードが、本来処理されないコマンドを含む、全てのコマンドを受信し、コマンドを実行してしまうため、消去したデータが復元されてしまう恐れがあった。
【００１８】
したがって、データの改竄や情報の漏洩を防止することが非常に困難であるという課題があった。
【００１９】
本発明は、このような状況に鑑みてなされたものであり、ＩＣカードのライフサイクルにおける各状態において、実行できる処理を制限することができるようにするものである。また、ＩＣカードのライフサイクルにおける各状態において、異なる認証鍵を用いて、相互認証の処理を行うことができるようにするものである。
【課題を解決するための手段】
【００２０】
本技術の一側面の情報処理装置は、非接触通信を行い、送信されてくる、所定の処理の実行を要求する旨の指令を受信するアンテナ部と、前記アンテナ部により前記非接触通信を行うための信号処理を実行する信号処理部と、所定のデータを記憶するとともに、予め定められた複数の状態であって、記憶している前記データによって定まる、ライフサイクルにおける自分自身の状態のうち、自分自身がどの状態であるかを示す第１の情報と、前記状態ごとに定められた、前記状態において実行可能な指令を示す第２の情報とを記憶する記憶部と、前記第１の情報および前記第２の情報を基に、受信した前記指令が自分自身の前記状態において実行可能な指令であるか否かの判定処理を行い、少なくともデータの読み出しまたは書き込みの何れかの前記指令を実行可能な第１の状態から、前記第１の状態とは異なる第２の状態に前記状態を変化させる前記指令が受信された場合、前記判定処理の結果に応じて前記第２の状態に前記状態を変化させる前記指令を実行するとともに、実行した前記指令に応じて自分自身の前記状態を変化させるように前記第１の情報の更新を制御し、鍵の置き換えを要求する前記指令が受信された場合、前記判定処理の結果に応じて自分自身の前記状態で用いる前記鍵から、他の前記状態で用いる前記鍵への置き換えを実行し、前記非接触通信の相手との相互認証の実行を要求する前記指令が受信された場合、前記判定処理の結果に応じて前記相互認証を実行する制御部とを備える。
【００２１】
前記制御部には、前記鍵の置き換えを要求する前記指令が受信された場合、記憶されている複数の鍵を新たな複数の鍵に置き換えさせることができる。
【００２２】
前記制御部には、前記鍵の置き換えを要求する前記指令が受信された場合、記憶されている複数の鍵を新たな複数の鍵に同時に置き換えさせることができる。
【００２３】
前記制御部には、自分自身の前記状態が、データの読み出しまたは書き込みの何れかの前記指令を実行可能な所定の状態である場合、前記鍵の置き換えを要求する前記指令が実行可能な前記指令であると判定させることができる。
【００２４】
前記制御部には、特定の複数のデータの削除を要求する前記指令が受信された場合、前記判定処理の結果に応じて、前記特定の複数のデータの削除を制御させることができる。
【００２５】
前記制御部には、特定のデータの読み出しまたは書き込みの前記指令が受信された場合、前記判定処理の結果に応じて、前記特定のデータの読み出しまたは書き込みを制御させることができる。
【００２６】
前記信号処理部には、前記信号処理として、受信した前記指令に対する復調処理、受信した前記指令に対する復号処理、送信するデータに対する変調処理、または送信するデータに対する符号化処理を実行させることができる。
【００２７】
前記情報処理装置には、他の装置と13.56MHzの搬送波を用いた前記非接触通信を行わせることができる。
【００２８】
本技術の一側面の情報処理方法またはプログラムは、非接触通信を行うアンテナ部と、前記アンテナ部により前記非接触通信を行うための信号処理を実行する信号処理部と、所定のデータを記憶するとともに、予め定められた複数の状態であって、記憶している前記データによって定まる、ライフサイクルにおける自分自身の状態のうち、自分自身がどの状態であるかを示す第１の情報と、前記状態ごとに定められた、前記状態において実行可能な指令を示す第２の情報とを記憶する記憶部と、制御部とを備える情報処理装置の情報処理方法またはプログラムであって、前記アンテナ部が前記非接触通信により、送信されてくる、所定の処理の実行を要求する旨の指令を受信する受信ステップと、前記信号処理部が、前記アンテナ部により受信された前記指令に対する前記信号処理を実行する信号処理ステップと、前記制御部が、前記第１の情報および前記第２の情報を基に、受信した前記指令が自分自身の前記状態において実行可能な指令であるか否かを判定する判定ステップと、前記制御部が、少なくともデータの読み出しまたは書き込みの何れかの前記指令を実行可能な第１の状態から、前記第１の状態とは異なる第２の状態に前記状態を変化させる前記指令が受信された場合、前記判定ステップにおける判定結果に応じて前記第２の状態に前記状態を変化させる前記指令を実行するとともに、実行した前記指令に応じて自分自身の前記状態を変化させるように前記第１の情報の更新を制御し、鍵の置き換えを要求する前記指令が受信された場合、前記判定ステップにおける判定結果に応じて自分自身の前記状態で用いる前記鍵から、他の前記状態で用いる前記鍵への置き換えを実行し、前記非接触通信の相手との相互認証の実行を要求する前記指令が受信された場合、前記判定ステップにおける判定結果に応じて前記相互認証を実行する制御ステップとを含む。
【００２９】
本技術の一側面においては、非接触通信を行うアンテナ部と、前記アンテナ部により前記非接触通信を行うための信号処理を実行する信号処理部と、所定のデータを記憶するとともに、予め定められた複数の状態であって、記憶している前記データによって定まる、ライフサイクルにおける自分自身の状態のうち、自分自身がどの状態であるかを示す第１の情報と、前記状態ごとに定められた、前記状態において実行可能な指令を示す第２の情報とを記憶する記憶部と、制御部とを備える情報処理装置において、前記非接触通信により、送信されてくる、所定の処理の実行を要求する旨の指令が受信され、前記アンテナ部により受信された前記指令に対する前記信号処理が実行され、前記第１の情報および前記第２の情報を基に、受信した前記指令が自分自身の前記状態において実行可能な指令であるか否かが判定され、少なくともデータの読み出しまたは書き込みの何れかの前記指令を実行可能な第１の状態から、前記第１の状態とは異なる第２の状態に前記状態を変化させる前記指令が受信された場合、判定結果に応じて前記第２の状態に前記状態を変化させる前記指令が実行されるとともに、実行した前記指令に応じて自分自身の前記状態を変化させるように前記第１の情報の更新が制御され、鍵の置き換えを要求する前記指令が受信された場合、判定結果に応じて自分自身の前記状態で用いる前記鍵から、他の前記状態で用いる前記鍵への置き換えが実行され、前記非接触通信の相手との相互認証の実行を要求する前記指令が受信された場合、判定結果に応じて前記相互認証が実行される。
【発明の効果】
【００３０】
本発明によれば、情報の改竄および漏洩を防止することができる。
【図面の簡単な説明】
【００３１】
【図１】従来のＩＣカードのライフサイクルを説明するための図である。
【図２】本発明に係るＩＣカードのライフサイクルを説明するための図である。
【図３】本発明に係る無線通信システムを説明する図である。
【図４】リーダライタの機能の構成を示すブロック図である。
【図５】ＩＣカードの機能の構成を示すブロック図である。
【図６】コマンド送信の処理を説明するフローチャートである。
【図７】コマンド実行の処理を説明するフローチャートである。
【図８】ライフサイクル状態テーブルを説明する図である。
【図９】コマンドテーブルを説明する図である。
【図１０】工場出荷状態におけるコマンド実行の処理を説明するフローチャートである。
【図１１】工場出荷状態を説明するための図である。
【図１２】０次発券済み状態を説明するための図である。
【図１３】０次発券済み状態におけるコマンド実行の処理を説明するフローチャートである。
【図１４】１次発券済み状態を説明するための図である。
【図１５】１次発券済み状態におけるコマンド実行の処理を説明するフローチャートである。
【図１６】２次発券済み状態を説明するための図である。
【図１７】２次発券済み状態におけるコマンド実行の処理を説明するフローチャートである。
【発明を実施するための形態】
【００３２】
以下、図を参照して本発明を適用した実施の形態について説明する。
【００３３】
図２は、本発明に係るＩＣカードのライフサイクルを説明する図である。
【００３４】
ＩＣカードは、所定のカード製造業者によって製造され、サービスを提供するために必要なデータや、データへのアクセスに必要な鍵が記録されていない状態（以下、工場出荷状態と称する）で、ＩＣカードを発券する発券業者に出荷される。工場出荷状態のＩＣカードには、ＩＣカードを製造したカード製造業者を特定するための情報である、製造者番号が記録されている。
【００３５】
ここで、ＩＣカードのライフサイクルにおける各状態は、ＩＣカードが記録しているデータによって定まり、発券を行うためのコマンドなど、所定のコマンドを実行することにより、ＩＣカードの状態は変化する。
【００３６】
発券業者は、発券機（リーダライタ）を操作することによって、工場出荷状態であるＩＣカードに、０次発券を行う旨の０次発券コマンドを送信し、ＩＣカードに所定の処理を実行させることによって、０次発券を行う。
【００３７】
工場出荷状態であるＩＣカードは、リーダライタから送信されてきた、０次発券コマンドを受信し、受信した０次発券コマンドを実行する。この場合、例えば、ＩＣカードは、０次発券コマンドに含まれている、ＩＣカードを特定するための情報であるデバイス識別番号、サービスを提供するために必要なデータを格納するためのＭＦ、および事業者との相互認証処理に用いられる認証鍵である、出荷鍵を記録する。
【００３８】
発券業者は、０次発券が行われた状態（以下、０次発券済み状態と称する）のＩＣカードを、ＩＣカードを利用して、ユーザに所定のサービスを提供する事業者に出荷する。
【００３９】
事業者は、リーダライタを操作することによって、０次発券済み状態であるＩＣカードに、１次発券を行う旨の１次発券コマンドを送信し、ＩＣカードに所定の処理を実行させることによって、１次発券を行う。
【００４０】
０次発券済み状態であるＩＣカードは、リーダライタから送信されてきた、１次発券コマンドを受信し、受信した１次発券コマンドを実行する。この場合、例えば、ＩＣカードは、１次発券コマンドに基づいて、サービスを利用するために必要なデータを格納するためのＤＦおよびＥＦ（Elementary File）、ＤＦまたはＥＦにアクセスするために必要な認証鍵などを、ＭＦに従属するデータとして記録する。
【００４１】
ここで、ＤＦは、フォルダやディレクトリに相当し、ＤＦには、ファイルに相当するＥＦが格納される。なお、ＤＦおよびＥＦは、ISO（International Organization for Standardization）７８１６に規定されている。
【００４２】
事業者は、１次発券が行われた状態（以下、１次発券済み状態と称する）のＩＣカードを、事業者の各事業所などの、ユーザに対してサービスを提供する施設に配布する。
【００４３】
ＩＣカードが配布された事業所において、事業者は、リーダライタを操作することによって、１次発券済み状態であるＩＣカードに、２次発券を行う旨の２次発券コマンドまたは、ＩＣカードに記録されているデータを消去（削除）し、ＩＣカードを０次発券済み状態にする旨のオールリセットコマンドを送信し、ＩＣカードに所定の処理を実行させる。
【００４４】
例えば、ＩＣカードは、リーダライタから送信されてきたオールリセットコマンドを受信すると、記録しているＤＦ、ＥＦ、ＤＦまたはＥＦにアクセスするために必要な認証鍵などを削除する。オールリセットコマンドを実行したＩＣカードの状態（ライフサイクル状態）は、０次発券状態に戻る。
【００４５】
また、例えば、ＩＣカードは、リーダライタから送信されてきた２次発券コマンドを受信すると、２次発券コマンドに基づいて、記録しているＤＦに従属するデータとして、ユーザがサービスを受けるために必要な個人情報などのデータおよびそのデータにアクセスするために必要な認証鍵を記録する。
【００４６】
換言すれば、ＩＣカードは、２次発券コマンドに基づいて、記録しているＤＦに従属するデータとして、ユーザがサービスを受けるために必要な個人情報などのデータおよびそのデータにアクセスするために必要な認証鍵をＥＦに格納する。
【００４７】
また、事業所において、事業者は、リーダライタを操作することによって、２次発券済み状態であるＩＣカードに、ＩＣカードに記録されているデータを消去し、ＩＣカードを０次発券済み状態にする旨のオールリセットコマンド、またはＩＣカードに記録されているユーザの個人情報などを消去し、ＩＣカードを１次発券済み状態にする旨のデータリセットコマンドを送信し、ＩＣカードに所定の処理を実行させる。
【００４８】
例えば、ＩＣカードは、リーダライタから送信されてきたオールリセットコマンドを受信すると、記録しているＤＦおよびＥＦ、ＤＦまたはＥＦにアクセスするために必要な認証鍵などを削除する。オールリセットコマンドを実行したＩＣカードのライフサイクル状態は、０次発券状態に戻る。
【００４９】
また、例えば、ＩＣカードは、リーダライタから送信されてきたデータリセットコマンドを受信すると、記録しているユーザがサービスを受けるために必要な個人情報などのデータおよびそのデータにアクセスするために必要な認証鍵などを削除する。データリセットコマンドを実行したＩＣカードのライフサイクル状態は、１次発券状態に戻る。
【００５０】
２次発券が行われた状態（２次発券済み状態）のＩＣカードは、各事業所において、ユーザに配布される。ユーザは、ユーザの個人情報などが記録されている、２次発券済み状態のＩＣカードを、例えば、電子的な定期券や財布として利用し、事業者から提供されるサービスを受ける。
【００５１】
ユーザによって利用され、不要になったＩＣカードは、事業者によって回収される。ユーザからＩＣカードを回収した事業者は、リーダライタを操作することによって、２次発券済み状態であるＩＣカードに、ＩＣカードに記録されているデータを消去し、ＩＣカードが、如何なるコマンドも実行しない状態（廃棄可能状態）にする旨のターミネートコマンドを送信し、ＩＣカードに所定の処理を実行させる。
【００５２】
例えば、ＩＣカードは、リーダライタから送信されてきたターミネートコマンドを受信すると、記録しているデータを消去する。ターミネートコマンドを実行したＩＣカードのライフサイクル状態は、廃棄可能状態となり、廃棄可能状態のＩＣカードは、如何なるコマンドも実行しない。
【００５３】
そして、ユーザからＩＣカードを回収した事業者は、廃棄可能状態のＩＣカードを、ＩＣカードを物理的に廃棄する廃棄業者に配送する。廃棄業者は、配送されてきた廃棄可能状態のＩＣカードを廃棄する。
【００５４】
このようにして、ＩＣカードのライフサイクルの各状態において、ＩＣカードの発券作業が行われる。なお、ＩＣカードは、自分自身のライフサイクル状態および各状態において実行できるコマンドを示す情報を記憶しており、各状態において、実行できるコマンドとして記憶されていないコマンドの実行が指示されても、そのコマンドを実行しない。
【００５５】
ＩＣカードは、ライフサイクルの各状態において、リーダライタから送信されてきた各種のコマンドを受信し、受信したコマンドを実行する。
【００５６】
ここで、図３は、リーダライタおよびＩＣカードからなる無線通信システムを説明する図である。この無線通信システムは、無線通信するリーダライタ１１およびＩＣカード１２から構成され、リーダライタ１１とＩＣカード１２との間では、電磁波を利用して非接触でのデータの送受信が行われるようになされている。
【００５７】
リーダライタ１１は、電波（電磁波）を放射し、例えば、ポーリングなどの処理を行うことによって、ＩＣカード１２を検出する。
【００５８】
ＩＣカード１２がリーダライタ１１に近接し、リーダライタ１１によって、ＩＣカード１２が検出されると、リーダライタ１１およびＩＣカード１２は、必要に応じて、所定のデータを送受信することによって、相互認証処理を行う。
【００５９】
そして、相互認証処理によって、認証がなされると、リーダライタ１１は、ＩＣカード１２に対して、発券を行うための処理など、所定の処理を実行させるためのコマンドを生成し、生成したコマンドを、無線通信によりＩＣカード１２あてに送信する。
【００６０】
ＩＣカード１２は、リーダライタ１１から送信されてきたコマンドを受信し、記憶しているＩＣカード１２のライフサイクル状態および各状態において実行できるコマンドを示す情報を基に、受信したコマンドが、ＩＣカード１２のライフサイクル状態において実行できるコマンドであるか否かを判定する。
【００６１】
ＩＣカード１２は、受信したコマンドが、ＩＣカード１２のライフサイクル状態において実行できるコマンドであると判定された場合、受信したコマンドを実行する。また、ＩＣカード１２は、受信したコマンドが、ＩＣカード１２のライフサイクル状態において実行できるコマンドでないと判定された場合、受信したコマンドを実行しない。
【００６２】
したがって、例えば、ＩＣカード１２のライフサイクル状態が、工場出荷状態であり、工場出荷状態において、０次発券を行うためのコマンドだけが実行できる場合、ＩＣカード１２が１次発券を行うためのコマンドを受信したとき、ＩＣカード１２は、受信したコマンドが、ＩＣカード１２のライフサイクル状態において実行できるコマンドでないと判定し、受信した１次発券を行うためのコマンドを実行しない。
【００６３】
また、ＩＣカード１２のライフサイクル状態が、廃棄可能状態である場合には、ＩＣカード１２は、相互認証処理を行わず、また、受信したコマンドも実行しない。
【００６４】
図４は、リーダライタ１１の機能の構成を示すブロック図である。
【００６５】
リーダライタ１１は、制御部３１、記録部３２、SPU（Signal Processing Unit）３３、変調部３４、発振回路３５、アンテナ３６、復調部３７、およびドライブ３８を含むように構成される。
【００６６】
制御部３１は、ＩＣカード１２に対して、所定の処理を実行させる、各種のコマンドを生成し、生成したコマンドをSPU３３に供給する。例えば、制御部３１は、０次発券コマンド、オールリセットコマンド、ターミネートコマンド、または相互認証を行うためのコマンド（以下、相互認証コマンドとも称する）を生成し、生成したコマンドを、SPU３３に供給する。
【００６７】
制御部３１は、暗号化部５１および復号部５２を備えている。制御部３１は、必要に応じて、各種のコマンドに格納するデータを生成する。制御部３１の暗号化部５１は、制御部３１が生成した、コマンドに格納するデータを、必要に応じて、記録部３２に記録されている相互認証を行うための認証鍵を用いて、暗号化する。例えば、制御部３１の暗号化部５１は、制御部３１が生成した、相互認証を行うためのコマンドに格納するデータを、記録部３２に記録されている認証鍵を用いて、暗号化する。
【００６８】
制御部３１の復号部５２は、SPU３３から供給されたデータを、必要に応じて記録部３２に記録されている認証鍵を用いて復号する。すなわち、制御部３１の復号部５２は、SPU３３から供給されたデータが、所定の方式により暗号化されている場合、記録部３２に記録されている認証鍵を用いて、暗号化方式に対応する復号方式により、SPU３３から供給されたデータを復号する。制御部３１は、制御部３１の復号部５２が復号したデータを、必要に応じて記録部３２に供給する。
【００６９】
制御部３１の復号部５２は、SPU３３から供給されたデータが暗号化されていない場合、SPU３３から供給されたデータを復号しない。
【００７０】
制御部３１は、必要に応じて装着された、ドライブ３８から供給されたプログラムを読み込んで、読み込んだプログラムを実行する。また、制御部３１は、ドライブ３８からプログラムやデータが供給された場合、供給されたプログラムやデータを必要に応じて、記録部３２に供給し、記録部３２に記録されたプログラムを読み込み、読み込んだプログラムを実行する。
【００７１】
記録部３２は、書き換え可能で、電源が遮断されても記録内容を保持できる、いわゆる不揮発性の記憶媒体または記録媒体からなり、例えば、ハードディスクまたはフラッシュメモリなどにより構成される。記録部３２は、各種のデータを記録している。また、記録部３２は、記録しているデータを制御部３１に供給する。
【００７２】
記録部３２は、ＩＣカード１２が記録しているデータに関係付けられた認証鍵を記録している。記録部３２は、記録している認証鍵を制御部３１に供給する。また、記録部３２は、制御部３１から供給されたデータを記録する。
【００７３】
SPU３３は、制御部３１から供給されたコマンドを、所定の方式により符号化し、符号化したコマンドを変調部３４に供給する。また、SPU３３は、復調部３７から供給されたデータを、データの符号化方式に対応する方式により復号し、復号したデータを制御部３１に供給する。
【００７４】
例えば、SPU３３は、ＩＣカード１２あてに送信するコマンドが、制御部３１から供給されてきた場合、そのコマンドに、例えば、マンチェスターコードへのコーディングなどの符号化処理を施し、これにより得られた信号を変調部３４に出力する。また、SPU３３は、ＩＣカード１２からのデータが復調部３７から供給されてきた場合、そのデータに対して、例えば、マンチェスターコードのデコードなどの復号処理を施し、これにより得られた信号を、制御部３１に供給する。
【００７５】
変調部３４は、発振回路３５から供給された所定の周波数のクロック信号を基に、搬送波を生成する。変調部３４は、搬送波に基づいて、SPU３３から供給されたコマンドを所定の方式により変調することにより変調したコマンドを生成し、変調したコマンドをアンテナ３６に供給する。例えば、変調部３４は、SPU３３から供給されたコマンドに基づいて、搬送波の位相、振幅、周波数などを変化させることにより変調したコマンドを生成する。
【００７６】
より具体的には、例えば、変調部３４は、発振回路３５から供給される13.56MHzの周波数のクロック信号を搬送波として、SPU３３より供給されるデータをASK（Amplitude Shift Keying）変調し、生成された変調波を、電磁波としてアンテナ３６から出力させる。
【００７７】
発振回路３５は、所定の周波数の、基準となるクロック信号を生成し、生成したクロック信号を変調部３４に供給する。
【００７８】
アンテナ３６は、変調部３４から供給されたコマンドを、無線通信によりＩＣカード１２あてに送信する。すなわち、例えば、アンテナ３６は、変調部３４から供給されたコマンドを伝送するための電波を輻射（放射）する。また、アンテナ３６は、ＩＣカード１２から送信されてきたデータを受信し、受信したデータを復調部３７に供給する。
【００７９】
復調部３７は、アンテナ３６から供給されたデータを、変調部１１０（図５）の変調方式に対応する復調方式により復調し、復調したデータをSPU３３に供給する。例えば、復調部３７は、アンテナ３６を介して取得した変調波（ASK変調波）を復調し、復調したデータをSPU３３に出力する。
【００８０】
ドライブ３８は、磁気ディスク７１、光ディスク７２、光磁気ディスク７３、或いは半導体メモリ７４などが装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、制御部３１またはＩＣカード１２に転送される。また、ＩＣカード１２に転送（送信）されたプログラムは、ＩＣカード１２により、必要に応じて記録されるか、または実行される。
【００８１】
図５は、ＩＣカード１２の機能の構成を示すブロック図である。
【００８２】
ＩＣカード１２は、アンテナ１０１、復調部１０２、SPU１０３、制御部１０４、ROM（Read Only Memory）１０５、RAM（Random Access Memory）１０６、記録部１０７、テーブル保持部１０８、発振回路１０９、変調部１１０、および電力発生部１１１を含むように構成される。
【００８３】
アンテナ１０１は、リーダライタ１１から送信されてきたコマンドを受信し、受信したコマンドを復調部１０２に供給する。また、アンテナ１０１は、変調部１１０から供給されたデータを、無線通信により、リーダライタ１１あてに送信する。すなわち、例えば、アンテナ１０１は、変調部１１０から供給されたデータを伝送するための電波を放射する。また、アンテナ１０１においては、リーダライタ１１から放射される所定の周波数の電波により、共振が生じ、起電力が発生する。
【００８４】
復調部１０２は、アンテナ１０１から供給されたコマンドを、変調部３４（図４）の変調方式に対応する復調方式により復調し、復調したコマンドをSPU１０３に供給する。例えば、復調部１０２は、アンテナ１０１を介して受信したASK変調波であるコマンドを包絡線検波して復調し、復調したコマンドをSPU１０３に出力する。
【００８５】
SPU１０３は、復調部１０２から供給されたコマンドを所定の方式により復号し、復号したコマンドを制御部１０４に供給する。SPU１０３は、制御部１０４から供給されたデータを、所定の符号化方式により符号化し、符号化したデータを変調部１１０に供給する。例えば、SPU１０３は、復調部１０２において復調されたコマンドがマンチェスター方式で符号化されている場合、図示せぬPLL（Phase Locked Loop）回路から供給されるクロック信号に基づいて、そのコマンドの復号（マンチェスターコードのデコード）を行い、復号したコマンドを制御部１０４に供給する。例えば、SPU１０３は、制御部１０４から供給されたデータを、マンチェスター方式で符号化し、符号化したデータを変調部１１０に供給する。
【００８６】
制御部１０４はSPU１０３から供給された各種のコマンドを実行する。制御部１０４は、判定部１３１、暗号化部１３２、および復号部１３３を備えている。
【００８７】
制御部１０４の判定部１３１は、テーブル保持部１０８に保持されているライフサイクル状態テーブルおよびコマンドテーブルを基に、SPU１０３から供給されたコマンドが、ＩＣカード１２のライフサイクル状態において、実行してもよいコマンドであるか否かを判定する。
【００８８】
ここで、ライフサイクル状態テーブルには、ＩＣカード１２のライフサイクル状態を示す情報が含まれている。また、コマンドテーブルには、ＩＣカード１２の各ライフサイクル状態において、ＩＣカード１２が実行することができるコマンドを示す情報が含まれている。なお、ライフサイクル状態テーブルおよびコマンドテーブルの詳細は、後述する。
【００８９】
制御部１０４は、SPU１０３から供給されたコマンドが、ＩＣカード１２のライフサイクル状態において、実行してもよいコマンドであると判定された場合、SPU１０３から供給されたコマンドを実行する。また、制御部１０４は、SPU１０３から供給されたコマンドが、ＩＣカード１２のライフサイクル状態において、実行してもよいコマンドでないと判定された場合、SPU１０３から供給されたコマンドを実行しない。
【００９０】
例えば、制御部１０４は、SPU１０３から相互認証を行うためのコマンドが供給されると、供給された相互認証を行うためのコマンドを実行する。このとき、例えば、制御部１０４の暗号化部１３２は、相互認証を行うために必要な、乱数、タイムスタンプなどのデータを、記録部１０７に記録されている認証鍵を用いて暗号化する。制御部１０４は、制御部１０４の暗号化部１３２が暗号化したデータをSPU１０３に供給する。
【００９１】
また、例えば、制御部１０４は、SPU１０３から供給されたコマンドに応じて、記録部１０７を制御し、記録部１０７に記録されているデータを消去させるか、または上書きさせる（書き換える）。
【００９２】
制御部１０４の復号部１３３は、SPU１０３から供給されたコマンドに含まれているデータが、所定の方式により暗号化されている場合、記録部１０７に記録されている認証鍵を用いて、暗号化方式に対応する復号方式により、SPU１０３から供給されたコマンドに含まれているデータを復号する。制御部１０４は、制御部１０４の復号部１３３が復号したデータを、必要に応じて記録部１０７に供給する。また、制御部１０４の復号部１３３は、SPU１０３から供給されたコマンドに含まれているデータが、暗号化されていない場合、データを復号しない。
【００９３】
制御部１０４は、テーブル保持部１０８を制御し、テーブル保持部１０８が保持しているライフサイクル状態テーブルを更新させる。例えば、制御部１０４が、０次発券コマンドを実行することによって、０次発券を行った場合、制御部１０４は、テーブル保持部１０８を制御し、ライフサイクル状態が０次発券済み状態であることを示すように、ライフサイクル状態テーブルを更新させる。
【００９４】
制御部１０４は、必要に応じて、ROM１０５に記録されているプログラムを読み込み、読み込んだプログラムを実行する。制御部１０４は、必要に応じて、データをRAM１０６に供給する。また、制御部１０４は、必要に応じて、RAM１０６が一時的に記憶しているデータを取得する。
【００９５】
ROM１０５は、制御部１０４が各種の処理を行うためのプログラム、その他のデータなどを記録している。ROM１０５は、記録しているプログラム、その他のデータなどを制御部１０４に供給する。
【００９６】
RAM１０６は、制御部１０４が各種の処理を行うとき、その処理の途中のデータなどを一時的に記憶する。RAM１０６は、記憶しているデータを制御部１０４に供給する。
【００９７】
記録部１０７は、例えば、フラッシュメモリ、EEPROM（Electrically Erasable Programmable Read Only Memory）、MRAM（Magnetoresistive Random Access Memory（磁気抵抗メモリ））、またはFeRAM（強誘電体メモリ）などの不揮発性メモリなどにより構成され、リーダライタ１１に送信される、秘匿すべきデータなどの各種データを記録している。また、記録部１０７は、リーダライタ１１との相互認証処理に用いられる認証鍵を記録している。
【００９８】
テーブル保持部１０８は、例えば、フラッシュメモリ、EEPROM、MRAM、またはFeRAMなどの不揮発性メモリなどにより構成され、ライフサイクル状態テーブルおよびコマンドテーブルを保持している。テーブル保持部１０８は、制御部１０４の制御のもと、保持しているライフサイクル状態テーブルを更新する。
【００９９】
発振回路１０９は、アンテナ１０１が受信するコマンドの周波数と同じ周波数のクロック信号を生成し、生成したクロック信号を変調部１１０に供給する。例えば、発振回路１０９は、PLL回路を内蔵し、コマンドのクロック周波数と同一の周波数のクロック信号を発生する。
【０１００】
変調部１１０は、発振回路１０９から供給された所定の周波数のクロック信号を基に、搬送波を生成する。変調部１１０は、搬送波に基づいて、SPU１０３から供給されたデータを、所定の方式によって変調することにより、変調したデータを生成し、変調したデータをアンテナ１０１に供給する。例えば、変調部１１０は、SPU１０３から供給された、マンチェスター方式により符号化されたデータを、さらにASK変調し、変調したデータを、アンテナ１０１を介して、リーダライタ１１に送信する。
【０１０１】
また、例えば、変調部１１０は、SPU１０３から供給されるデータに対して、所定のスイッチング素子（図示せず）をオン、オフさせ、スイッチング素子がオン状態であるときだけ、所定の負荷をアンテナ１０１に並列に接続させることにより、アンテナ１０１の負荷を変動させる。ASK変調されたデータは、アンテナ１０１の負荷の変動により、アンテナ１０１を介して、リーダライタ１１に送信される（リーダライタ１１のアンテナ３６の端子電圧を変動させる）。
【０１０２】
電力発生部１１１は、アンテナ１０１に生じた交流の起電力を基に、直流電力を発生させ、発生させた直流電力をＩＣカード１２の各部に供給する。
【０１０３】
次に、図６のフローチャートを参照して、リーダライタ１１による、コマンド送信の処理を説明する。
【０１０４】
ステップＳ１１において、リーダライタ１１は、必要に応じて、乱数などのデータを送受信し、ＩＣカード１２との相互認証を行う。例えば、ステップＳ１１において、リーダライタ１１は、ISO/IEC（International Organization for Standardization/International Electrotechnical Commission）9798-2およびJIS（Japanese Industrial Standards） X5056-2において定義されている、対称暗号アルゴリズムを用いた方式により、ＩＣカード１２との相互認証を行う。
【０１０５】
このとき、例えば、リーダライタ１１は、アクセスするデータまたはＩＣカード１２に対して実行させるコマンドごとに、予め定められた認証鍵を用いて、送受信するデータを暗号化するか、または復号する。なお、リーダライタ１１は、ＩＣカード１２のライフサイクル状態が、工場出荷状態または廃棄可能状態である場合、相互認証の処理を行わない。また、相互認証の処理において、正規のＩＣカード１２であると認証されなかった場合、コマンド送信の処理は終了する。
【０１０６】
相互認証がなされると、ステップＳ１２において、制御部３１は、所定の処理を実行させるための、各種のコマンドを生成し、生成したコマンドをSPU３３に供給する。
【０１０７】
例えば、ステップＳ１２において、制御部３１は、０次発券コマンド、オールリセットコマンド、ターミネートコマンドなどを生成し、生成したコマンドを、SPU３３に供給する。なお、制御部３１が生成した各種のコマンドには、必要に応じて、コマンドの実行に必要なデータが格納されている。
【０１０８】
ステップＳ１３において、SPU３３は、制御部３１から供給されたコマンドを、所定の符号化方式により符号化し、符号化したコマンドを変調部３４に供給する。例えば、ステップＳ１３において、SPU３３は、制御部３１から供給されたコマンドを、マンチェスター方式などの符号化方式により符号化し、符号化したコマンドを、変調部３４に供給する。
【０１０９】
ステップＳ１４において、変調部３４は、SPU３３から供給されたコマンドを変調し、変調したコマンドをアンテナ３６に供給する。例えば、ステップＳ１４において、変調部３４は、発振回路３５から供給されたクロック信号に対応する、所定の周波数（例えば、13.56MHz）の搬送波に基づいて、SPU３３から供給されたコマンドを、所定の方式により変調する。変調部３４は、変調したコマンドをアンテナ３６に供給する。
【０１１０】
より詳細には、例えば、ステップＳ１４において、変調部３４は、ASK方式、PSK（Phase Shift Keying）方式、またはFSK（Frequency Shift Keying）方式などの変調方式によりコマンドを変調し、変調したコマンドをアンテナ３６に供給する。
【０１１１】
ステップＳ１５において、アンテナ３６は、変調部３４から供給されたコマンドを、無線通信によってＩＣカード１２あてに送信し、コマンド送信の処理は終了する。例えば、ステップＳ１５において、アンテナ３６は、変調部３４から供給されたコマンドを伝送する電波を、放射することによりコマンドを送信する。
【０１１２】
このようにして、リーダライタ１１は、コマンドを生成し、生成したコマンドを、無線通信によりＩＣカード１２あてに送信する。
【０１１３】
図７のフローチャートを参照して、ＩＣカード１２による、コマンド実行の処理を説明する。
【０１１４】
ステップＳ３１において、ＩＣカード１２は、必要に応じて、乱数などのデータを送受信し、リーダライタ１１との相互認証を行う。例えば、ステップＳ３１において、ＩＣカード１２は、ISO/IEC9798-2およびJIS X5056-2において定義されている、対称暗号アルゴリズムを用いた方式などにより、リーダライタ１１との相互認証を行う。
【０１１５】
このとき、例えば、ＩＣカード１２は、アクセスが要求されたデータまたは実行が要求されたコマンドごとに、予め定められた認証鍵を用いて、送受信するデータを暗号化するか、または復号する。なお、ＩＣカード１２は、ＩＣカード１２のライフサイクル状態が、工場出荷状態または廃棄可能状態である場合、相互認証の処理を行わない。また、相互認証の処理において、正規のリーダライタ１１であると認証されなかった場合、コマンド実行の処理は終了する。
【０１１６】
ステップＳ３１において、相互認証がなされると、リーダライタ１１からコマンドが送信されてくるので、ステップＳ３２において、アンテナ１０１は、リーダライタ１１から送信されてきたコマンドを受信し、受信したコマンドを復調部１０２に供給する。
【０１１７】
ステップＳ３３において、復調部１０２は、アンテナ１０１から供給されたコマンドを、変調部３４（図４）の変調方式に対応する復調方式により復調し、復調したコマンドをSPU１０３に供給する。
【０１１８】
ステップＳ３４において、SPU１０３は、復調部１０２から供給されたコマンドを、SPU３３（図４）の符号化方式に対応する復号方式により復号し、復号したコマンドを制御部１０４に供給する。
【０１１９】
ステップＳ３５において、制御部１０４の判定部１３１は、テーブル保持部１０８が保持している、ライフサイクル状態テーブルを参照して、ライフサイクル状態が工場出荷状態であるか否かを判定する。
【０１２０】
ここで、テーブル保持部１０８は、例えば、図８に示すライフサイクル状態テーブルを保持している。
【０１２１】
ライフサイクル状態テーブルには、ＩＣカード１２のライフサイクル状態の各状態に対応するフラグが含まれている。
【０１２２】
すなわち、ライフサイクル状態テーブルには、工場出荷状態に対応するフラグ、０次発券済み状態に対応するフラグ、１次発券済み状態に対応するフラグ、２次発券済み状態に対応するフラグ、および廃棄可能状態に対応するフラグが含まれている。
【０１２３】
ここで、セットされている（例えば、“１”が設定されている）フラグは、ＩＣカード１２のライフサイクル状態が、フラグに対応する状態であることを示し、リセットされている（例えば、“０”が設定されている）フラグは、ＩＣカード１２のライフサイクル状態が、フラグに対応する状態でないことを示している。
【０１２４】
また、ライフサイクル状態テーブルに含まれるフラグは、ライフサイクル状態の各状態に対応するフラグのうち、何れか１つのフラグだけが必ずセットされており、それ以外のフラグ（残りの４つのフラグ）は、必ずリセットされている。
【０１２５】
したがって、この場合、工場出荷状態に対応するフラグが“１”に設定されて（セットされて）おり、０次発券済み状態に対応するフラグ、１次発券済み状態に対応するフラグ、２次発券済み状態に対応するフラグ、および廃棄可能状態に対応するフラグのそれぞれが、“０”に設定されて（リセットされて）いるので、ＩＣカード１２のライフサイクル状態が、工場出荷状態であることを示している。
【０１２６】
図７のフローチャートの説明に戻り、例えば、ステップＳ３５において、制御部１０４の判定部１３１は、テーブル保持部１０８が保持している、図８に示すライフサイクル状態テーブルを参照して、ライフサイクル状態が、工場出荷状態であるか否かを判定する。
【０１２７】
この場合、図８に示すライフサイクル状態テーブルにおいて、工場出荷状態に対応するフラグが、セットされている（“１”に設定されている）ので、制御部１０４の判定部１３１は、ライフサイクル状態が、工場出荷状態であると判定する。
【０１２８】
ステップＳ３５において、ライフサイクル状態が、工場出荷状態であると判定された場合、ステップＳ３６に進み、ＩＣカード１２は、工場出荷状態におけるコマンド実行の処理を行い、コマンド実行の処理は終了する。
【０１２９】
なお、工場出荷状態におけるコマンド実行の処理の詳細は後述するが、工場出荷状態におけるコマンド実行の処理において、ＩＣカード１２は、テーブル保持部１０８が保持しているコマンドテーブルを参照して、SPU１０３から供給されたコマンドのうち、工場出荷状態において実行することができるコマンドだけを実行する。
【０１３０】
ここで、テーブル保持部１０８は、例えば、図９に示すコマンドテーブルを保持している。コマンドテーブルには、ＩＣカード１２のライフサイクル状態の各状態において、実行することができるコマンドを示す情報が含まれている。
【０１３１】
すなわち、コマンドテーブルには、工場出荷状態において実行できるコマンドが、トラッキングコマンドおよび０次発券コマンドであることを示す情報が含まれている。ここで、トラッキングコマンドとは、ＩＣカード１２が記録している、ＩＣカード１２を製造したカード製造業者を特定するための情報である製造者番号を、無線通信により、リーダライタ１１に送信するためのコマンドをいう。
【０１３２】
また、コマンドテーブルには、０次発券済み状態において実行できるコマンドが、相互認証コマンド、トラッキングコマンド、および１次発券コマンドであることを示す情報が含まれており、１次発券済み状態において実行できるコマンドが、相互認証コマンド、オールリセットコマンド、および２次発券コマンドであることを示す情報が含まれている。
【０１３３】
同様に、コマンドテーブルには、２次発券済み状態において実行できるコマンドが、相互認証コマンド、オールリセットコマンド、データリセットコマンド、通常運用コマンド、およびターミネートコマンドであることを示す情報が含まれている。
【０１３４】
ここで、通常運用コマンドとは、ユーザが事業者からサービスの提供を受けるために必要な処理を実行するためのコマンドをいう。したがって、例えば、ＩＣカード１２は、通常運用コマンドを実行することによって、ユーザの個人情報などのデータを、記録部１０７に記録したり、ユーザの個人情報などのデータを記録部１０７から読み出して、無線通信により、リーダライタ１１あてに送信する。
【０１３５】
さらに、コマンドテーブルには、廃棄可能状態において実行できるコマンドがないことを示す情報が含まれている。すなわち、廃棄可能状態においては、ＩＣカード１２は、如何なるコマンドも実行しない。
【０１３６】
したがって、例えば、ステップＳ３６において、ＩＣカード１２は、SPU１０３から供給されたコマンドのうち、トラッキングコマンドまたは０次発券コマンドだけを実行する。
【０１３７】
一方、ステップＳ３５において、ライフサイクル状態が、工場出荷状態でないと判定された場合、工場出荷状態において実行できるコマンドは、実行されないので、ステップＳ３７に進み、制御部１０４の判定部１３１は、テーブル保持部１０８が保持している、ライフサイクル状態テーブルを参照して、ライフサイクル状態が、０次発券済み状態であるか否かを判定する。
【０１３８】
例えば、ステップＳ３７において、制御部１０４の判定部１３１は、図８に示すライフサイクル状態テーブルを参照して、ライフサイクル状態が、０次発券済み状態であるか否かを判定する。
【０１３９】
したがって、制御部１０４の判定部１３１は、０次発券済み状態に対応するフラグがセットされている（例えば、“１”に設定されている）場合、ライフサイクル状態が、０次発券済み状態であると判定し、０次発券済み状態に対応するフラグがリセットされている（例えば、“０”に設定されている）場合、ライフサイクル状態が、０次発券済み状態でないと判定する。
【０１４０】
ステップＳ３７において、ライフサイクル状態が、０次発券済み状態であると判定された場合、ステップＳ３８に進み、ＩＣカード１２は、０次発券済み状態におけるコマンド実行の処理を行い、コマンド実行の処理は終了する。
【０１４１】
なお、０次発券済み状態におけるコマンド実行の処理の詳細は後述するが、０次発券済み状態におけるコマンド実行の処理において、ＩＣカード１２は、テーブル保持部１０８が保持しているコマンドテーブルを参照して、SPU１０３から供給されたコマンドのうち、０次発券済み状態において実行することができるコマンドだけを実行する。
【０１４２】
したがって、例えば、テーブル保持部１０８が、図９に示すコマンドテーブルを保持している場合、ＩＣカード１２は、ステップＳ３８において、SPU１０３から供給されたコマンドのうち、トラッキングコマンドまたは１次発券コマンドだけを実行する。
【０１４３】
また、ステップＳ３７において、ライフサイクル状態が、０次発券済み状態でないと判定された場合、０次発券済み状態において実行できるコマンドは、実行されないので、ステップＳ３９に進み、制御部１０４の判定部１３１は、テーブル保持部１０８が保持している、ライフサイクル状態テーブルを参照して、ライフサイクル状態が、１次発券済み状態であるか否かを判定する。
【０１４４】
例えば、ステップＳ３９において、制御部１０４の判定部１３１は、図８に示すライフサイクル状態テーブルを参照して、ライフサイクル状態が、１次発券済み状態であるか否かを判定する。
【０１４５】
したがって、制御部１０４の判定部１３１は、１次発券済み状態に対応するフラグがセットされている（例えば、“１”に設定されている）場合、ライフサイクル状態が、１次発券済み状態であると判定し、１次発券済み状態に対応するフラグがリセットされている（例えば、“０”に設定されている）場合、ライフサイクル状態が、１次発券済み状態でないと判定する。
【０１４６】
ステップＳ３９において、ライフサイクル状態が、１次発券済み状態であると判定された場合、ステップＳ４０に進み、ＩＣカード１２は、１次発券済み状態におけるコマンド実行の処理を行い、コマンド実行の処理は終了する。
【０１４７】
なお、１次発券済み状態におけるコマンド実行の処理の詳細は後述するが、１次発券済み状態におけるコマンド実行の処理において、ＩＣカード１２は、テーブル保持部１０８が保持しているコマンドテーブルを参照して、SPU１０３から供給されたコマンドのうち、１次発券済み状態において実行することができるコマンドだけを実行する。
【０１４８】
したがって、例えば、テーブル保持部１０８が、図９に示すコマンドテーブルを保持している場合、ＩＣカード１２は、ステップＳ４０において、SPU１０３から供給されたコマンドのうち、オールリセットコマンドまたは２次発券コマンドだけを実行する。
【０１４９】
また、ステップＳ３９において、ライフサイクル状態が、１次発券済み状態でないと判定された場合、１次発券済み状態において実行できるコマンドは、実行されないので、ステップＳ４１に進み、制御部１０４の判定部１３１は、テーブル保持部１０８が保持している、ライフサイクル状態テーブルを参照して、ライフサイクル状態が、２次発券済み状態であるか否かを判定する。
【０１５０】
例えば、ステップＳ４１において、制御部１０４の判定部１３１は、図８に示すライフサイクル状態テーブルを参照して、ライフサイクル状態が、２次発券済み状態であるか否かを判定する。
【０１５１】
したがって、制御部１０４の判定部１３１は、１次発券済み状態に対応するフラグがセットされている（例えば、“１”に設定されている）場合、ライフサイクル状態が、２次発券済み状態であると判定し、２次発券済み状態に対応するフラグがリセットされている（例えば、“０”に設定されている）場合、ライフサイクル状態が、２次発券済み状態でないと判定する。
【０１５２】
ステップＳ４１において、ライフサイクル状態が、２次発券済み状態であると判定された場合、ステップＳ４２に進み、ＩＣカード１２は、２次発券済み状態におけるコマンド実行の処理を行い、コマンド実行の処理は終了する。
【０１５３】
なお、２次発券済み状態におけるコマンド実行の処理の詳細は後述するが、２次発券済み状態におけるコマンド実行の処理において、ＩＣカード１２は、テーブル保持部１０８が保持しているコマンドテーブルを参照して、SPU１０３から供給されたコマンドのうち、２次発券済み状態において実行することができるコマンドだけを実行する。
【０１５４】
したがって、例えば、テーブル保持部１０８が、図９に示すコマンドテーブルを保持している場合、ＩＣカード１２は、ステップＳ４２において、SPU１０３から供給されたコマンドのうち、オールリセットコマンド、データリセットコマンド、通常運用コマンド、またはターミネートコマンドだけを実行する。
【０１５５】
一方、ステップＳ４１において、ライフサイクル状態が、２次発券済み状態でないと判定された場合、ライフサイクル状態は、廃棄可能状態であり、ＩＣカード１２は、如何なるコマンドも実行しないので、ステップＳ４２の処理はスキップされ、コマンド実行の処理は終了する。
【０１５６】
このようにして、ＩＣカード１２は、リーダライタ１１から送信されてきたコマンドを受信し、受信したコマンドを実行する。
【０１５７】
このように、ＩＣカード１２のライフサイクルにおける各状態において、予め定められたコマンドだけを実行することにより、データの改竄や情報の漏洩を防止することができる。
【０１５８】
図１０のフローチャートを参照して、図７のステップＳ３６の処理に対応する、工場出荷状態におけるコマンド実行の処理を説明する。
【０１５９】
ステップＳ６１において、制御部１０４の判定部１３１は、SPU１０３から供給されたコマンドが、トラッキングコマンドであるか否かを判定する。ステップＳ６１において、SPU１０３から供給されたコマンドが、トラッキングコマンドであると判定された場合、工場出荷状態において、トラッキングコマンドは実行できるので、ステップＳ６２に進み、制御部１０４は、トラッキングコマンドを実行する。
【０１６０】
すなわち、ステップＳ６２において、制御部１０４は、記録部１０７に記録されている製造者番号を取得し、取得した製造者番号を、SPU１０３に供給する。
【０１６１】
ここで、ＩＣカード１２のライフサイクル状態に、工場出荷状態が設定されている場合、記録部１０７には、例えば、図１１に示すように、ＩＣカード１２を製造したカード製造業者を特定するための情報である、製造者番号だけが記録されている。また、製造者番号の他に、ＩＣカード１２の製造年月日などの情報を記録するようにしてもよい。
【０１６２】
ステップＳ６３において、SPU１０３は、制御部１０４から供給された製造者番号を、所定の符号化方式により符号化し、符号化した製造者番号を変調部１１０に供給する。例えば、ステップＳ６３において、SPU１０３は、制御部１０４から供給された製造者番号を、マンチェスター方式により符号化し、符号化した製造者番号を変調部１１０に供給する。
【０１６３】
ステップＳ６４において、変調部１１０は、SPU１０３から供給された製造者番号を、所定の方式により変調し、変調した製造者番号をアンテナ１０１に供給する。例えば、ステップＳ６４において、変調部１１０は、発振回路１０９から供給されたクロック信号により生成した搬送波を基に、SPU１０３から供給された製造者番号を、ASK変調方式により変調し、変調した製造者番号をアンテナ１０１に供給する。
【０１６４】
ステップＳ６５において、アンテナ１０１は、変調部１１０から供給された、変調されている製造者番号を、無線通信により、リーダライタ１１あてに送信し、処理は終了する。例えば、ステップＳ６５において、アンテナ１０１は、変調部１１０から供給された製造者番号を伝送する電波を放射することにより、製造者番号を送信する。リーダライタ１１は、ＩＣカード１２から送信されてきた製造者番号を受信することによって、ＩＣカード１２の製造元を確認する。
【０１６５】
一方、ステップＳ６１において、SPU１０３から供給されたコマンドが、トラッキングコマンドでないと判定された場合、トラッキングコマンドを実行しないので、ステップＳ６６に進み、制御部１０４の判定部１３１は、SPU１０３から供給されたコマンドが、０次発券コマンドであるか否かを判定する。
【０１６６】
ステップＳ６６において、SPU１０３から供給されたコマンドが、０次発券コマンドであると判定された場合、工場出荷状態において、０次発券コマンドは実行できるので、ステップＳ６７に進み、制御部１０４は、０次発券コマンドを実行する。
【０１６７】
すなわち、ステップＳ６７において、制御部１０４は、SPU１０３から供給された０次発券コマンドに含まれているデバイス識別番号を、記録部１０７に供給する。そして、記録部１０７は、制御部１０４から供給されたデバイス識別番号を記録する。
【０１６８】
ここで、デバイス識別番号とは、ＩＣカード１２を特定するための、ＩＣカード１２に固有の識別番号をいう。
【０１６９】
ステップＳ６８において、制御部１０４は、ＭＦの設定を行う。例えば、ステップＳ６８において、制御部１０４は、ＭＦおよびＭＦに含まれるデータを管理するための情報を生成し、生成したＭＦおよびＭＦに含まれるデータを管理するための情報を、記録部１０７に供給する。記録部１０７は、制御部１０４から供給された、ＭＦおよびＭＦに含まれるデータを管理するための情報を記録する。ここで、ＭＦに含まれるデータを管理するための情報には、例えば、ＭＦに含まれるＤＦおよびＥＦの数など、ＭＦの属性を示す情報が含まれている。
【０１７０】
ステップＳ６９において、制御部１０４は、０次発券コマンドに含まれている、ＭＦに対する認証鍵としての出荷鍵を記録部１０７に供給する。記録部１０７は、制御部１０４から供給された出荷鍵を、ＭＦに対する認証鍵として記録する。ここで、出荷鍵は、１次発券作業を行う事業者が、リーダライタ１１を操作して、ＩＣカード１２にトラッキングコマンドまたは１次発券コマンドを実行させる場合に、相互認証処理において用いられる認証鍵である。
【０１７１】
ステップＳ７０において、テーブル保持部１０８は、制御部１０４の制御のもと、ライフサイクル状態が、０次発券済み状態であることを示すようにライフサイクル状態テーブルを更新し、処理は終了する。
【０１７２】
例えば、ステップＳ７０において、テーブル保持部１０８は、制御部１０４の制御のもと、テーブル保持部１０８が保持している、図８に示すライフサイクル状態テーブルの工場出荷状態に対応するフラグをリセット（例えば、“０”に設定する）し、０次発券済み状態に対応するフラグをセット（例えば、“１”に設定する）することにより、ライフサイクル状態テーブルを更新する。
【０１７３】
また、ライフサイクル状態が、０次発券済み状態である場合、記録部１０７には、例えば、図１２に示すように、製造者番号、デバイス識別番号、ＭＦ１５１、出荷鍵Ａ、および出荷鍵Ｂが記録されている。
【０１７４】
ここで、ＭＦ１５１は、記録部１０７において、階層構造に記録されるデータ（フォルダ）のうち、最上位の階層のフォルダである。また、記録部１０７には、ＭＦ１５１とともに、ＭＦ１５１に含まれるデータを管理するための情報が記録されている。
【０１７５】
さらに、記録部１０７には、認証鍵として、出荷鍵Ａおよび出荷鍵Ｂが記録されている。すなわち、ＩＣカード１２は、ライフサイクル状態が０次発券済み状態であり、リーダライタ１１から送信されてきた、トラッキングコマンドを送信する旨の相互認証コマンド、または１次発券コマンドを送信する旨の相互認証コマンドを受信した場合、出荷鍵Ａおよび出荷鍵Ｂを用いて、リーダライタ１１との相互認証処理を行う。
【０１７６】
図１０のフローチャートの説明に戻り、ステップＳ６６において、SPU１０３から供給されたコマンドが、０次発券コマンドでないと判定された場合、SPU１０３から供給されたコマンドは、工場出荷状態において、実行できるコマンドではないので、ステップＳ６７の処理乃至ステップＳ７０の処理はスキップされ、処理は終了する。
【０１７７】
したがって、例えば、SPU１０３から供給されたコマンドが、１次発券コマンドであった場合、ステップＳ６６において、SPU１０３から供給されたコマンドが、０次発券コマンドでないと判定され、１次発券コマンドは、工場出荷状態において実行できるコマンドではないので、処理は終了する。
【０１７８】
このようにして、制御部１０４は、SPU１０３から供給された、トラッキングコマンドまたは０次発券コマンドを実行する。
【０１７９】
このように、ＩＣカード１２のライフサイクルにおける工場出荷状態において、予め定められたコマンドだけを実行することにより、データの改竄や情報の漏洩を防止することができる。
【０１８０】
次に、図１３のフローチャートを参照して、図７のステップＳ３８の処理に対応する、０次発券済み状態におけるコマンド実行の処理を説明する。
【０１８１】
ステップＳ１０１において、制御部１０４の判定部１３１は、SPU１０３から供給されたコマンドが、トラッキングコマンドであるか否かを判定する。ステップＳ１０１において、SPU１０３から供給されたコマンドが、トラッキングコマンドであると判定された場合、０次発券済み状態において、トラッキングコマンドは実行できるので、ステップＳ１０２に進み、制御部１０４は、トラッキングコマンドを実行する。
【０１８２】
なお、ステップＳ１０２の処理乃至ステップＳ１０５の処理のそれぞれは、図１０におけるステップＳ６２の処理乃至ステップＳ６５の処理のそれぞれと同様なので、その説明は省略する。
【０１８３】
ステップＳ１０１において、SPU１０３から供給されたコマンドが、トラッキングコマンドでないと判定された場合、トラッキングコマンドを実行しないので、ステップＳ１０６に進み、制御部１０４の判定部１３１は、SPU１０３から供給されたコマンドが、１次発券コマンドであるか否かを判定する。
【０１８４】
ステップＳ１０６において、SPU１０３から供給されたコマンドが、１次発券コマンドであると判定された場合、工場出荷状態において、１次発券コマンドは実行できるので、ステップＳ１０７に進み、制御部１０４は、１次発券コマンドを実行する。
【０１８５】
すなわち、ステップＳ１０７において、制御部１０４は、１次発券コマンドに含まれている、認証鍵としての事業者鍵を、記録部１０７に供給する。記録部１０７は、記録している認証鍵を、制御部１０４から供給された事業者鍵に書き換える。ここで、事業者鍵は、２次発券作業を行う事業者が、リーダライタ１１を操作して、ＩＣカード１２にオールリセットコマンド、２次発券コマンド、データリセットコマンド、またはターミネートコマンドを実行させる場合に、相互認証処理において用いられる認証鍵である。
【０１８６】
ステップＳ１０８において、制御部１０４は、ＤＦの設定を行う。例えば、ステップＳ１０８において、制御部１０４は、ＭＦ１５１に従属するＤＦおよびＤＦに含まれるデータを管理するための情報を生成し、生成したＤＦおよびＤＦに含まれるデータを管理するための情報を、記録部１０７に供給する。記録部１０７は、制御部１０４から供給された、ＤＦおよびＤＦに含まれるデータを管理するための情報を記録する。ここで、ＤＦに含まれるデータを管理するための情報には、例えば、ＤＦに含まれるデータの書き換えを禁止したり、ＤＦに含まれる一部のデータのみを書き換え可能にするなどの情報を含むＤＦの属性を示す情報、ＤＦに対する認証鍵などが含まれている。
【０１８７】
ステップＳ１０９において、制御部１０４は、ＥＦの設定を行う。例えば、ステップＳ１０９において、制御部１０４は、ＤＦに従属するＥＦおよびＥＦに含まれるデータを管理するための情報を生成し、生成したＥＦおよびＥＦに含まれるデータを管理するための情報を、記録部１０７に供給する。記録部１０７は、制御部１０４から供給された、ＥＦおよびＥＦに含まれるデータを管理するための情報を記録する。ここで、ＥＦに含まれるデータを管理するための情報には、例えば、ＥＦに含まれるデータの書き換えを禁止したり、ＥＦに含まれる一部のデータのみを書き換え可能にするなどの情報を含むＥＦの属性を示す情報、ＥＦに対する認証鍵などが含まれている。
【０１８８】
ステップＳ１１０において、制御部１０４は、１次発券コマンドに含まれている、事業者番号を記録部１０７に供給する。記録部１０７は、制御部１０４から供給された事業者番号を記録する。ここで、事業者番号とは、１次発券作業を行う事業者を特定するための情報である。
【０１８９】
ステップＳ１１１において、テーブル保持部１０８は、制御部１０４の制御のもと、ライフサイクル状態が、１次発券済み状態であることを示すように、ライフサイクル状態テーブルを更新し、処理は終了する。
【０１９０】
例えば、ステップＳ１１１において、テーブル保持部１０８は、制御部１０４の制御のもと、テーブル保持部１０８が保持している、ライフサイクル状態テーブルの０次発券済み状態に対応するフラグをリセット（例えば、“０”に設定する）し、１次発券済み状態に対応するフラグをセット（例えば、“１”に設定する）することにより、ライフサイクル状態テーブルを更新する。
【０１９１】
また、ライフサイクル状態が、１次発券済み状態である場合、記録部１０７には、例えば、図１４に示すように、製造者番号、デバイス識別番号、ＭＦ１５１、事業者鍵Ａ、事業者鍵Ｂ、事業者番号１５２、ＤＦ１５３−１、ＤＦ１５３−２、およびＥＦ１５４−１乃至ＥＦ１５４−４が記録されている。なお、図中、図１２における場合と対応する部分には、同一の符号を付してあり、繰り返しになるので、その説明は適宜、省略する。
【０１９２】
ここで、ＭＦ１５１には、ＭＦ１５１に従属するデータとして、１次発券作業を行う事業者を特定するための事業者番号１５２が含まれている。また、ＭＦ１５１には、ＭＦ１５１に従属するＤＦ１５３−１、ＤＦ１５３−２、およびＥＦ１５４−１が含まれている。
【０１９３】
ＤＦ１５３−１には、ＤＦ１５３−１に従属するデータとして、ＥＦ１５４−２およびＥＦ１５４−３が含まれている。また、記録部１０７には、ＤＦ１５３−１とともに、ＤＦ１５３−１に対する認証鍵を含む、ＤＦ１５３−１を管理するための情報が記録されている。同様に、記録部１０７には、ＥＦ１５４−２およびＥＦ１５４−３とともに、ＥＦ１５４−２またはＥＦ１５４−３に対する認証鍵を含む、ＥＦ１５４−２またはＥＦ１５４−３を管理するための情報が記録されている。この場合、ＥＦ１５４−２に対する認証鍵として、それぞれ、“０００００００”に設定された４つの認証鍵が記録されており、同様に、ＥＦ１５４−３に対する認証鍵として、それぞれ、“０００００００”に設定された４つの認証鍵が記録されている。
【０１９４】
ＤＦ１５３−２には、ＤＦ１５３−２に従属するデータとして、ＥＦ１５４−４が含まれている。また、記録部１０７には、ＤＦ１５３−２とともに、ＤＦ１５３−２に対する認証鍵を含む、ＤＦ１５３−２を管理するための情報が記録されている。同様に、記録部１０７には、ＥＦ１５４−４とともに、ＥＦ１５４−４に対する認証鍵を含む、ＥＦ１５４−４を管理するための情報が記録されている。この場合、ＥＦ１５４−４に対する認証鍵として、それぞれ、“０００００００”に設定された４つの認証鍵が記録されている。
【０１９５】
また、記録部１０７には、ＭＦ１５１に従属するＥＦ１５４−１とともに、ＥＦ１５４−１に対する認証鍵を含む、ＥＦ１５４−１を管理するための情報が記録されている。この場合、ＥＦ１５４−１に対する認証鍵として、それぞれ、“０００００００”に設定された４つの認証鍵が記録されている。
【０１９６】
なお、以下、ＤＦ１５３−１およびＤＦ１５３−２を個々に区別する必要のない場合、単に、ＤＦ１５３と称する。また、以下、ＥＦ１５４−１乃至ＥＦ１５４−４のそれぞれを個々に区別する必要のない場合、単にＥＦ１５４と称する。
【０１９７】
さらに、記録部１０７には、認証鍵として、事業者鍵Ａおよび事業者鍵Ｂが記録されている。ＩＣカード１２は、ライフサイクル状態が１次発券済み状態または２次発券済み状態であり、リーダライタ１１から送信されてきた、オールリセットコマンド、２次発券コマンド、データリセットコマンド、またはターミネートコマンドを送信する旨の相互認証コマンドを受信した場合、事業者鍵Ａおよび事業者鍵Ｂを用いて、リーダライタ１１との相互認証処理を行う。
【０１９８】
図１３のフローチャートの説明に戻り、ステップＳ１０６において、SPU１０３から供給されたコマンドが、１次発券コマンドでないと判定された場合、SPU１０３から供給されたコマンドは、０次発券済み状態において、実行できるコマンドではないので、ステップＳ１０７の処理乃至ステップＳ１１１の処理はスキップされ、処理は終了する。
【０１９９】
したがって、例えば、SPU１０３から供給されたコマンドが、２次発券コマンドであった場合、ステップＳ１０６において、SPU１０３から供給されたコマンドが、１次発券コマンドでないと判定され、２次発券コマンドは、０次発券済み状態において実行できるコマンドではないので、処理は終了する。
【０２００】
このようにして、制御部１０４は、SPU１０３から供給された、トラッキングコマンドまたは１次発券コマンドを実行する。
【０２０１】
このように、ＩＣカード１２のライフサイクルにおける０次発券済み状態において、予め定められたコマンドだけを実行することにより、データの改竄や情報の漏洩を防止することができる。また、ＩＣカード１２のライフサイクルにおける状態によって、相互認証処理に用いられる認証鍵を書き換え、異なる認証鍵を用いて相互認証の処理を行うことで、データの改竄や情報の漏洩を防止することができる。
【０２０２】
図１５のフローチャートを参照して、図７のステップＳ４０の処理に対応する、１次発券済み状態におけるコマンド実行の処理を説明する。
【０２０３】
ステップＳ１３１において、制御部１０４の判定部１３１は、SPU１０３から供給されたコマンドが、オールリセットコマンドであるか否かを判定する。ステップＳ１３１において、SPU１０３から供給されたコマンドが、オールリセットコマンドであると判定された場合、１次発券済み状態において、オールリセットコマンドは実行できるので、ステップＳ１３２に進み、制御部１０４は、オールリセットコマンドを実行する。
【０２０４】
ステップＳ１３２において、記録部１０７は、制御部１０４の制御のもと、記録しているＭＦに従属する、事業者番号、ＤＦ、およびＥＦを削除する。例えば、ステップＳ１３２において、記録部１０７は、制御部１０４の制御のもと、図１４に示されるＭＦ１５１に従属する、事業者番号１５２、ＤＦ１５３、およびＥＦ１５４を削除する。
【０２０５】
ステップＳ１３３において、テーブル保持部１０８は、制御部１０４の制御のもと、ライフサイクル状態が、０次発券済み状態であることを示すようにライフサイクル状態テーブルを更新し、処理は終了する。
【０２０６】
例えば、ステップＳ１３３において、テーブル保持部１０８は、制御部１０４の制御のもと、テーブル保持部１０８が保持している、ライフサイクル状態テーブルの１次発券済み状態に対応するフラグをリセット（例えば、“０”に設定する）し、０次発券済み状態に対応するフラグをセット（例えば、“１”に設定する）することにより、ライフサイクル状態テーブルを更新する。
【０２０７】
この場合、例えば、記録部１０７には、ＭＦに対する認証鍵として事業者鍵が記録されており、０次発券済み状態においてトラッキングコマンドまたは０次発券コマンドを実行するときに行われる、相互認証処理においては、認証鍵として、事業者鍵が用いられる。
【０２０８】
ステップＳ１３１において、SPU１０３から供給されたコマンドが、オールリセットコマンドでないと判定された場合、オールリセットコマンドを実行しないので、ステップＳ１３４に進み、制御部１０４の判定部１３１は、SPU１０３から供給されたコマンドが、２次発券コマンドであるか否かを判定する。
【０２０９】
ステップＳ１３４において、SPU１０３から供給されたコマンドが、２次発券コマンドであると判定された場合、１次発券済み状態において、２次発券コマンドは実行できるので、ステップＳ１３５に進み、制御部１０４は、２次発券コマンドを実行する。
【０２１０】
すなわち、ステップＳ１３５において、制御部１０４は、ＤＦの設定を行う。例えば、ステップＳ１３５において、制御部１０４は、２次発券コマンドに含まれるデータを基に、ＭＦ１５１に従属するＤＦ１５３に格納される、ユーザの個人情報などのデータ、およびＤＦ１５３に含まれるデータを管理するための情報を生成し、生成したＤＦ１５３に格納されるデータおよびＤＦ１５３に含まれるデータを管理するための情報を、記録部１０７に供給する。記録部１０７は、制御部１０４から供給された、ＤＦ１５３に格納されるデータ、およびＤＦ１５３に含まれるデータを管理するための情報を記録する。
【０２１１】
ステップＳ１３６において、制御部１０４は、ＥＦの設定を行う。例えば、ステップＳ１３６において、制御部１０４は、２次発券コマンドに含まれるデータを基に、ＤＦ１５３に従属するＥＦ１５４に格納される、ユーザの個人情報などのデータ、およびＥＦ１５４に含まれるデータを管理するための情報を生成し、生成したＥＦ１５４に格納されるデータおよびＥＦ１５４に含まれるデータを管理するための情報を、記録部１０７に供給する。
【０２１２】
記録部１０７は、制御部１０４から供給された、ＥＦ１５４に格納されるデータ、およびＥＦ１５４に含まれるデータを管理するための情報を記録する。ここで、ＥＦ１５４に含まれるデータを管理するための情報には、例えば、新たに設定された、ＥＦ１５４に対する認証鍵が含まれている。すなわち、記録部１０７は、ＥＦ１５４に含まれるデータを管理するための情報を記録することによって、ＥＦ１５４に対する認証鍵を書き換える。
【０２１３】
ステップＳ１３７において、テーブル保持部１０８は、制御部１０４の制御のもと、ライフサイクル状態が、２次発券済み状態であることを示すように、ライフサイクル状態テーブルを更新し、処理は終了する。
【０２１４】
例えば、ステップＳ１３７において、テーブル保持部１０８は、制御部１０４の制御のもと、テーブル保持部１０８が保持している、ライフサイクル状態テーブルの１次発券済み状態に対応するフラグをリセット（例えば、“０”に設定する）し、２次発券済み状態に対応するフラグをセット（例えば、“１”に設定する）することにより、ライフサイクル状態テーブルを更新する。
【０２１５】
また、ライフサイクル状態が、２次発券済み状態である場合、記録部１０７には、例えば、図１６に示すように、製造者番号、デバイス識別番号、ＭＦ１５１、事業者鍵Ａ、事業者鍵Ｂ、事業者番号１５２、ＤＦ１５３−１、ＤＦ１５３−２、およびＥＦ１５４−１乃至ＥＦ１５４−４が記録されている。なお、図中、図１４における場合と対応する部分には、同一の符号を付してあり、繰り返しになるので、その説明は適宜、省略する。
【０２１６】
ここで、ＤＦ１５３およびＥＦ１５４には、事業者が提供するサービスを受けるために必要な、ユーザの個人情報などのデータが格納されている。また、この場合、ＥＦ１５４−１には、ＥＦ１５４−１に対する認証鍵として、“０４５４８７９”、“０６７９８３１”、“９８６４１３６”、および“８７９４２４６”が設定されている。
【０２１７】
同様に、ＥＦ１５４−２には、ＥＦ１５４−２に対する認証鍵として、“４６５７５６４”、“４３０１４４５”、“４３１５７９８”、および“４６８７１４４”が設定されており、ＥＦ１５４−３には、ＥＦ１５４−３に対する認証鍵として、“００３８４３２”、“４８６３２０４”、“６８７０６８０”、および“３６５４６４０”が設定されており、ＥＦ１５４−４には、ＥＦ１５４−４に対する認証鍵として、“４６８７０６３”、“４０１３６９８”、“４４３０４１３”、および“２４４４５４５”が設定されている。
【０２１８】
図１５のフローチャートの説明に戻り、ステップＳ１３４において、SPU１０３から供給されたコマンドが、２次発券コマンドでないと判定された場合、SPU１０３から供給されたコマンドは、１次発券済み状態において、実行できるコマンドではないので、ステップＳ１３５の処理乃至ステップＳ１３７の処理はスキップされ、処理は終了する。
【０２１９】
したがって、例えば、SPU１０３から供給されたコマンドが、１次発券コマンドであった場合、ステップＳ１３４において、SPU１０３から供給されたコマンドが、２次発券コマンドでないと判定され、１次発券コマンドは、１次発券済み状態において実行できるコマンドではないので、処理は終了する。
【０２２０】
このようにして、制御部１０４は、SPU１０３から供給された、オールリセットコマンドまたは２次発券コマンドを実行する。
【０２２１】
このように、ＩＣカード１２のライフサイクルにおける１次発券済み状態において、予め定められたコマンドだけを実行することにより、データの改竄や情報の漏洩を防止することができる。また、ＩＣカード１２のライフサイクルにおける状態によって、相互認証処理に用いられる認証鍵を書き換え、ライフサイクルの状態によって、異なる認証鍵を用いて、相互認証の処理を行うことで、データの改竄や情報の漏洩を防止することができる。
【０２２２】
次に、図１７のフローチャートを参照して、図７のステップＳ４２の処理に対応する、２次発券済み状態におけるコマンド実行の処理を説明する。
【０２２３】
ステップＳ１５１において、制御部１０４の判定部１３１は、SPU１０３から供給されたコマンドが、オールリセットコマンドであるか否かを判定する。ステップＳ１５１において、SPU１０３から供給されたコマンドが、オールリセットコマンドであると判定された場合、２次発券済み状態において、オールリセットコマンドは実行できるので、ステップＳ１５２に進み、制御部１０４は、オールリセットコマンドを実行する。
【０２２４】
なお、ステップＳ１５２の処理およびステップＳ１５３の処理は、図１５におけるステップＳ１３２の処理およびステップＳ１３３の処理と同様なので、その説明は省略する。
【０２２５】
ステップＳ１５１において、SPU１０３から供給されたコマンドが、オールリセットコマンドでないと判定された場合、オールリセットコマンドを実行しないので、ステップＳ１５４に進み、制御部１０４の判定部１３１は、SPU１０３から供給されたコマンドが、データリセットコマンドであるか否かを判定する。
【０２２６】
ステップＳ１５４において、SPU１０３から供給されたコマンドが、データリセットコマンドであると判定された場合、２次発券済み状態において、データリセットコマンドは実行できるので、ステップＳ１５５に進み、記録部１０７は、データリセットコマンドを実行する。
【０２２７】
すなわち、ステップＳ１５５において、記録部１０７は、制御部１０４の制御のもと、記録している、ＭＦに従属するＤＦおよびＥＦを初期化する。例えば、ステップＳ１５５において、記録部１０７は、制御部１０４の制御のもと、記録している、図１６に示すＭＦ１５１に従属するＤＦ１５３およびＥＦ１５４に格納されているデータ、ＤＦ１５３およびＥＦ１５４を管理するための情報を消去することによって、ＤＦ１５３およびＥＦ１５４を初期化する。
【０２２８】
ステップＳ１５６において、テーブル保持部１０８は、制御部１０４の制御のもと、ライフサイクル状態が、１次発券済み状態であることを示すように、ライフサイクル状態テーブルを更新し、処理は終了する。
【０２２９】
例えば、ステップＳ１５６において、テーブル保持部１０８は、制御部１０４の制御のもと、テーブル保持部１０８が保持している、ライフサイクル状態テーブルの２次発券済み状態に対応するフラグをリセット（例えば、“０”に設定する）し、１次発券済み状態に対応するフラグをセット（例えば、“１”に設定する）することにより、ライフサイクル状態テーブルを更新する。
【０２３０】
ステップＳ１５４において、SPU１０３から供給されたコマンドが、データリセットコマンドでないと判定された場合、データリセットコマンドを実行しないので、ステップＳ１５７に進み、制御部１０４の判定部１３１は、SPU１０３から供給されたコマンドが、通常運用コマンドであるか否かを判定する。
【０２３１】
ステップＳ１５７において、SPU１０３から供給されたコマンドが、通常運用コマンドであると判定された場合、２次発券済み状態において、通常運用コマンドは実行できるので、ステップＳ１５８に進み、ＩＣカード１２は、通常運用コマンドに応じた処理を実行し、処理は終了する。
【０２３２】
例えば、SPU１０３から、ＥＦに格納されているデータの書き換えを要求する旨の通常運用コマンドが供給された場合、ステップＳ１５８において、制御部１０４は、通常運用コマンドに含まれているデータを、記録部１０７に供給する。そして、記録部１０７は、記録している、ＥＦに格納されているデータを、制御部１０４から供給されたデータに書き換える。なお、この場合、より詳細には、通常運用コマンドに含まれているデータが、所定の方式により暗号化されているとき、制御部１０４の復号部１３３は、通常運用コマンドに含まれているデータを、復号し、制御部１０４は、制御部１０４の復号部１３３が復号したデータを、記録部１０７に供給する。
【０２３３】
また、例えば、SPU１０３から、ＥＦに格納されているデータの送信を要求する旨の通常運用コマンドが供給された場合、ステップＳ１５８において、制御部１０４は、記録部１０７から、送信が要求されたデータを取得し、取得したデータをSPU１０３に供給する。
【０２３４】
SPU１０３は、制御部１０４から供給されたデータを、例えば、マンチェスター方式により符号化し、符号化したデータを変調部１１０に供給する。変調部１１０は、SPU１０３から供給されたデータを、例えば、ASK変調し、変調したデータをアンテナ１０１に供給する。そして、アンテナ１０１は、変調部１１０から供給されたデータを、無線通信により、リーダライタ１１あてに送信する。なお、この場合、リーダライタ１１あてに送信するデータを、必要に応じて、制御部１０４の暗号化部１３２が、所定の方式により暗号化するようにしてもよい。
【０２３５】
ステップＳ１５７において、SPU１０３から供給されたコマンドが、通常運用コマンドでないと判定された場合、通常運用コマンドを実行しないので、ステップＳ１５９に進み、制御部１０４の判定部１３１は、SPU１０３から供給されたコマンドが、ターミネートコマンドであるか否かを判定する。
【０２３６】
ステップＳ１５９において、SPU１０３から供給されたコマンドが、ターミネートコマンドであると判定された場合、２次発券済み状態において、ターミネートコマンドは実行できるので、ステップＳ１６０に進み、記録部１０７は、制御部１０４の制御のもと、記録している全てのデータを削除する。
【０２３７】
ステップＳ１６１において、テーブル保持部１０８は、制御部１０４の制御のもと、ライフサイクル状態が、廃棄可能状態であることを示すように、ライフサイクル状態テーブルを更新し、処理は終了する。
【０２３８】
例えば、ステップＳ１６１において、テーブル保持部１０８は、制御部１０４の制御のもと、テーブル保持部１０８が保持している、ライフサイクル状態テーブルの２次発券済み状態に対応するフラグをリセット（例えば、“０”に設定する）し、廃棄可能状態に対応するフラグをセット（例えば、“１”に設定する）することにより、ライフサイクル状態テーブルを更新する。
【０２３９】
ステップＳ１５９において、SPU１０３から供給されたコマンドが、ターミネートコマンドでないと判定された場合、SPU１０３から供給されたコマンドは、２次発券済み状態において、実行できるコマンドではないので、ステップＳ１６０の処理およびステップＳ１６１の処理はスキップされ、処理は終了する。
【０２４０】
したがって、例えば、SPU１０３から供給されたコマンドが、２次発券コマンドであった場合、ステップＳ１５９において、SPU１０３から供給されたコマンドが、ターミネートコマンドでないと判定され、２次発券コマンドは、２次発券済み状態において実行できるコマンドではないので、処理は終了する。
【０２４１】
このようにして、制御部１０４は、SPU１０３から供給された、オールリセットコマンド、データリセットコマンド、通常運用コマンド、またはターミネートコマンドを実行する。
【０２４２】
このように、ＩＣカード１２のライフサイクルにおける２次発券済み状態において、予め定められたコマンドだけを実行することにより、データの改竄や情報の漏洩を防止することができる。これにより、ユーザからＩＣカード１２を回収した事業者は、廃棄可能状態のＩＣカード１２を、ＩＣカード１２を物理的に廃棄する廃棄業者に配送するとき、データの改竄や情報の漏洩などの心配がなくなる。
【０２４３】
なお、ＩＣカード１２が、自分自身のライフサイクル状態において、実行することができないコマンドを受信した場合、コマンドを送信してきたリーダライタ１１に対して、無応答とするようにしてもよく、自分自身のライフサイクル状態において、実行することができないコマンドを受信した旨のエラー通知信号を、リーダライタ１１あてに送信するようにしてもよい。また、テーブル保持部１０８が、記録部１０７に含まれる構成とすることも可能である。
【０２４４】
さらに、より詳細には、１次発券コマンドまたは２次発券コマンドを実行することによって、認証鍵を書き換える処理は、１次発券コマンドまたは２次発券コマンドに含まれる、認証鍵を書き換えるコマンド（以下、鍵変更コマンドと称する）を実行することによって行われる。
【０２４５】
したがって、例えば、２次発券コマンドを実行することによって、記録部１０７が記録している、ＭＦに対する事業者鍵を書き換えることも可能であるが、１次発券コマンドを実行することによって、出荷鍵（ＭＦに対する認証鍵）だけしか書き換えができないようにし、２次発券コマンドを実行することによって、ＤＦに対する認証鍵およびＥＦに対する認証鍵だけしか書き換えができないようにすることも可能である。この場合、２次発券済み状態においては、認証鍵の書き換えができないようになされている。
【０２４６】
さらに、また、１次発券済み状態または２次発券済み状態において、コマンドを実行するとき、認証鍵として、事業者鍵を用いて、相互認証処理を行うと説明したが、例えば、２次発券コマンドを実行するとき、図１４に示す事業者鍵Ａを用いて、相互認証処理を行い、２次発券済み状態において、コマンド（例えば、ターミネートコマンド）を実行するとき、図１６に示す事業者鍵Ｂを用いて、相互認証処理を行うようにしてもよい。
【０２４７】
このようにすることで、２次発券作業を行う事業者と、２次発券済み状態において、コマンドを実行させる事業者とが異なる場合においても、同一の認証鍵を共有することなく、それぞれのコマンドを実行させることが可能である。
【０２４８】
さらに、また、記録している事業者鍵を基に、異なる認証鍵を生成し、２次発券コマンドを実行する場合における相互認証処理と、ターミネートコマンドを実行する場合における相互認証処理とで、異なる認証鍵を用いるようにしてもよい。
【０２４９】
すなわち、２次発券コマンドを実行する場合、制御部１０４は、例えば、図１４に示す事業者鍵Ａおよび事業者鍵Ｂの論理和を演算することにより、相互認証処理に用いる認証鍵を生成し、ターミネートコマンドを実行する場合、制御部１０４は、図１６に示す事業者鍵Ａおよび事業者鍵Ｂの排他的論理和を演算することにより、認証鍵を生成する。このようにすることで、実行するコマンドごとに、アクセス権を設定することが可能となる。
【０２５０】
以上のように、ＩＣカードのライフサイクルにおける各状態において、予め定められたコマンドだけを実行することにより、データの改竄や情報の漏洩を防止することができる。また、ＩＣカードのライフサイクルにおける各状態において、異なる認証鍵を用いるようにしたので、データの改竄や情報の漏洩を防止することができる。
【０２５１】
本発明によれば、データを記録するようにしたので、データを送受信することができる。また、本発明によれば、ＩＣカードのライフサイクルにおける各状態において、予め定められたコマンドだけを実行するようにしたので、データの改竄や情報の漏洩を防止することができる。さらに、本発明によれば、ＩＣカードのライフサイクルにおける各状態において、異なる認証鍵を用いるようにしたので、データの改竄や情報の漏洩を防止することができる。
【０２５２】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０２５３】
この記録媒体は、図４に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク７１（フレキシブルディスクを含む）、光ディスク７２（CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む）、光磁気ディスク７３（ＭＤ(Mini-Disc)（商標）を含む）、若しくは半導体メモリ７４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROMや、記録部３２に含まれるハードディスクなどで構成される。
【０２５４】
なお、上述した一連の処理を実行させるプログラムは、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を介してコンピュータにインストールされるようにしてもよい。
【０２５５】
また、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【符号の説明】
【０２５６】
１１  リーダライタ，  １２  ＩＣカード，  ３１  制御部，  ３２  記録部，  ３６  アンテナ，  ５１  暗号化部，  ５２  復号部，  ７１  磁気ディスク，  ７２  光ディスク，  ７３  光磁気ディスク，  ７４  半導体メモリ，  １０１  アンテナ，  １０４  制御部，  １０５  ROM，  １０６  RAM，  １０７  記録部，  １０８  テーブル保持部，  １３１  判定部，  １３２  暗号化部，  １３３  復号部
【図１】
0005585699.tif 000002
【図２】
0005585699.tif 000003
【図３】
0005585699.tif 000004
【図４】
0005585699.tif 000005
【図５】
0005585699.tif 000006
【図６】
0005585699.tif 000007
【図７】
0005585699.tif 000008
【図８】
0005585699.tif 000009
【図９】
0005585699.tif 000010
【図１０】
0005585699.tif 000011
【図１１】
0005585699.tif 000012
【図１２】
0005585699.tif 000013
【図１３】
0005585699.tif 000014
【図１４】
0005585699.tif 000015
【図１５】
0005585699.tif 000016
【図１６】
0005585699.tif 000017
【図１７】
0005585699.tif 000018