(57)【特許請求の範囲】
【請求項１】
相互認証に用いられる第１の鍵値と、前記第１の鍵値の種別を示す第１の種別情報を対応付けて保持するとともに、前記第１の鍵値とは異なる第２の鍵値と、前記第２の鍵値の種別を示す第２の種別情報を対応付けて保持し、さらに、通信相手となる通信装置からの種別情報の要求に応じて送信する種別情報として、前記第１の種別情報を指定する指定情報も保持する保持手段と、
前記通信装置からの前記種別情報の要求に応じて、前記第１又は第２の種別情報のうち、前記指定情報によって指定されている前記第１の種別情報を送信する送信手段と、
送信された前記第１の種別情報に対応して、前記通信装置から相互認証の開始を指示する認証開始コマンドが返信された場合、前記保持手段に保持されている前記第１又は第２の鍵値のうち、前記第１の種別情報に対応する前記第１の鍵値を用いて前記通信装置との相互認証を行い、
送信された前記第１の種別情報に対応して、前記通信装置から前記第２の種別情報が返信された場合、前記第２の種別情報に対応する前記第２の鍵値を用いて前記通信装置との相互認証を行う相互認証手段と、
前記通信装置から送信される、前記指定情報により指定される種別情報の変更を指示する変更コマンドを受信する受信手段と、
受信された前記変更コマンドに従い、前記指定情報により指定される種別情報を変更する変更手段と
を含む情報処理装置。
【請求項２】
前記送信手段は、前記通信装置からの種別情報の要求に応じて、前記変更手段による変更後の前記指定情報により指定される前記第２の種別情報を送信し、
前記相互認証手段は、前記送信手段によって送信された前記前記第２の種別情報に対応して、前記認証開始コマンドが返信された場合、前記第２の種別情報に対応する前記第２の鍵値を用いて前記通信装置との相互認証を行う
請求項１に記載の情報処理装置。
【請求項３】
前記第１の種別情報は、前記通信装置との相互認証を行う認証装置のうち、前記情報処理装置とは異なる認証装置が保持する前記第１の鍵値に対応付けられている種別情報と同一のものであり、
前記送信手段は、前記通信装置が前記第１の種別情報を受信したことに対応して、前記認証装置の記憶領域上には存在しない所定の領域が前記保持手段の記憶領域上には存在するか否かを表す領域情報を要求する場合に、前記通信装置からの要求に応じて前記領域情報も送信し、
前記受信手段は、前記通信装置が前記領域情報に基づいて前記保持手段の記憶領域上に前記所定の領域が存在すると判定した場合に送信する前記第２の種別情報を受信する
請求項１に記載の情報処理装置。
【請求項４】
前記第１の種別情報は、前記通信装置との相互認証を行う認証装置のうち、前記情報処理装置とは異なる認証装置が保持する前記第１の鍵値に対応付けられている種別情報と異なるものであり、
前記受信手段は、前記通信装置が前記第１の種別情報を受信した場合に送信する前記第２の種別情報を受信する
請求項１に記載の情報処理装置。
【請求項５】
通信相手となる通信装置と相互認証を行う情報処理装置の情報処理方法において、
前記情報処理装置は、
保持手段と、
送信手段と、
相互認証手段と、
受信手段と、
変更手段と
を含み、
前記保持手段による、相互認証に用いられる第１の鍵値と、前記第１の鍵値の種別を示す第１の種別情報を対応付けて保持するとともに、前記第１の鍵値とは異なる第２の鍵値と、前記第２の鍵値の種別を示す第２の種別情報を対応付けて保持し、さらに、通信相手となる通信装置からの種別情報の要求に応じて送信する種別情報として、前記第１の種別情報を指定する指定情報も保持する保持ステップと、
送信手段による、前記通信装置からの前記種別情報の要求に応じて、前記第１又は第２の種別情報のうち、前記指定情報によって指定されている前記第１の種別情報を送信する送信ステップと、
前記相互認証手段による、
送信された前記第１の種別情報に対応して、前記通信装置から相互認証の開始を指示する認証開始コマンドが返信された場合、前記保持手段に保持されている前記第１又は第２の鍵値のうち、前記第１の種別情報に対応する前記第１の鍵値を用いて前記通信装置との相互認証を行い、
送信された前記第１の種別情報に対応して、前記通信装置から前記第２の種別情報が返信された場合、前記第２の種別情報に対応する前記第２の鍵値を用いて前記通信装置との相互認証を行う相互認証ステップと、
前記受信手段による、前記通信装置から送信される、前記指定情報により指定される種別情報の変更を指示する変更コマンドを受信する受信ステップと、
前記変更手段による、受信された前記変更コマンドに従い、前記指定情報により指定される種別情報を変更する変更ステップと
を含む情報処理方法。
【請求項６】
コンピュータを、
相互認証に用いられる第１の鍵値と、前記第１の鍵値の種別を示す第１の種別情報を対応付けて保持するとともに、前記第１の鍵値とは異なる第２の鍵値と、前記第２の鍵値の種別を示す第２の種別情報を対応付けて保持し、さらに、通信相手となる通信装置からの種別情報の要求に応じて送信する種別情報として、前記第１の種別情報を指定する指定情報も保持する保持手段と、
前記通信装置からの前記種別情報の要求に応じて、前記第１又は第２の種別情報のうち、前記指定情報によって指定されている前記第１の種別情報を送信する送信手段と、
送信された前記第１の種別情報に対応して、前記通信装置から相互認証の開始を指示する認証開始コマンドが返信された場合、前記保持手段に保持されている前記第１又は第２の鍵値のうち、前記第１の種別情報に対応する前記第１の鍵値を用いて前記通信装置との相互認証を行い、
送信された前記第１の種別情報に対応して、前記通信装置から前記第２の種別情報が返信された場合、前記第２の種別情報に対応する前記第２の鍵値を用いて前記通信装置との相互認証を行う相互認証手段と、
前記通信装置から送信される、前記指定情報により指定される種別情報の変更を指示する変更コマンドを受信する受信手段と、
受信された前記変更コマンドに従い、前記指定情報により指定される種別情報を変更する変更手段と
して機能させるためのプログラム。
【請求項７】
相互認証に用いられる第１の鍵値と、前記第１の鍵値の種類を示す第１の種別情報を対応付けて保持するとともに、前記第１の鍵値とは異なる第２の鍵値と、前記第２の鍵値の種類を示す第２の種別情報を対応付けて保持する保持手段と、
通信相手となる情報処理装置に対して、種別情報の送信を要求する要求手段と、
前記要求手段による要求に応じて、通信相手となる情報処理装置から送信された種別情報が前記第１の種別情報であるか否かに基づき、前記情報処理装置が前記第１及び第２の鍵値を保持する第１の情報処理装置であるか否かを判定する判定手段と、
前記情報処理装置から送信された種別情報が前記第１の種別情報であって、前記情報処理装置が前記第１の情報処理装置ではないと判定された場合、相互認証の開始を指示する認証開始コマンドを送信して、前記保持手段に保持されている前記第１又は第２の鍵値のうち、受信した前記第１の種別情報に対応する前記第１の鍵値を用いて前記情報処理装置との相互認証を行い、
前記情報処理装置から送信された種別情報が前記第１の種別情報ではなくて、前記情報処理装置が前記第１の情報処理装置であると判定された場合、前記第２の種別情報を送信して、前記第２の種別情報に対応する前記第２の鍵値を用いて前記情報処理装置との相互認証を行う相互認証手段と、
前記第１の情報処理装置にて保持されている、通信装置からの種別情報の要求に応じて送信する種別情報を指定する指定情報の変更を指示する変更コマンドを前記第１の情報処理装置に送信する送信手段と
を含む通信装置。
【請求項８】
前記相互認証手段は、前記情報処理装置から送信される種別情報が前記第２の種別情報である場合、前記認証開始コマンドを送信して、前記第２の種別情報に対応する前記第２の鍵値を用いて、前記情報処理装置との相互認証を行う
請求項７に記載の通信装置。
【請求項９】
前記第１の情報処理装置が保持する前記第１の鍵値に対応付けられている第１の種別情報は、前記通信装置との相互認証を行う認証装置のうち、前記第１の情報処理装置とは異なる認証装置が保持する前記第１の鍵値に対応付けられている種別情報と同一のものであり、
前記要求手段は、前記第１の情報処理装置からの前記第１の種別情報が受信されたことに対応して、通信相手となる前記情報処理装置の記憶領域には、前記認証装置には存在しないが前記第１の情報処理装置には存在する所定の領域が存在するか否かを表す領域情報も要求し、
前記判定手段は、さらに、前記要求手段による要求に応じて受信された前記領域情報に基づいて、前記情報処理装置が前記第１の情報処理装置であるか否かを判定する
請求項７に記載の通信装置。
【請求項１０】
前記第１の情報処理装置が保持する前記第１の鍵値に対応付けられている第１の種別情報は、前記通信装置との相互認証を行う認証装置のうち、前記第１の情報処理装置とは異なる認証装置が保持する前記第１の鍵値に対応付けられている種別情報と異なるものである
請求項７に記載の通信装置。
【請求項１１】
通信相手となる情報処理装置と相互認証を行う通信装置の通信方法において、
前記通信装置は、
保持手段と、
要求手段と、
判定手段と、
相互認証手段と、
送信手段と
を含み、
前記保持手段による、相互認証に用いられる第１の鍵値と、前記第１の鍵値の種類を示す第１の種別情報を対応付けて保持するとともに、前記第１の鍵値とは異なる第２の鍵値と、前記第２の鍵値の種類を示す第２の種別情報を対応付けて保持する保持ステップと、
前記要求手段による、通信相手となる情報処理装置に対して、種別情報の送信を要求する要求ステップと、
前記判定手段による、前記要求手段による要求に応じて、通信相手となる情報処理装置から送信された種別情報が前記第１の種別情報であるか否かに基づき、前記情報処理装置が前記第１及び第２の鍵値を保持する第１の情報処理装置であるか否かを判定する判定ステップと、
前記相互認証手段による、
前記情報処理装置から送信された種別情報が前記第１の種別情報であって、前記情報処理装置が前記第１の情報処理装置ではないと判定された場合、相互認証の開始を指示する認証開始コマンドを送信して、前記保持手段に保持されている前記第１又は第２の鍵値のうち、受信した前記第１の種別情報に対応する前記第１の鍵値を用いて前記情報処理装置との相互認証を行い、
前記情報処理装置から送信された種別情報が前記第１の種別情報ではなくて、前記情報処理装置が前記第１の情報処理装置であると判定された場合、前記第２の種別情報を送信して、前記第２の種別情報に対応する前記第２の鍵値を用いて前記情報処理装置との相互認証を行う相互認証ステップと、
前記送信手段による、前記第１の情報処理装置にて保持されている、前記通信装置からの種別情報の要求に応じて送信する種別情報を指定する指定情報の変更を指示する変更コマンドを前記第１の情報処理装置に送信する送信ステップと
ステップを含む通信方法。
【請求項１２】
コンピュータを、
相互認証に用いられる第１の鍵値と、前記第１の鍵値の種類を示す第１の種別情報を対応付けて保持するとともに、前記第１の鍵値とは異なる第２の鍵値と、前記第２の鍵値の種類を示す第２の種別情報を対応付けて保持する保持手段と、
通信相手となる情報処理装置に対して、種別情報の送信を要求する要求手段と、
前記要求手段による要求に応じて、通信相手となる情報処理装置から送信された種別情報が前記第１の種別情報であるか否かに基づき、前記情報処理装置が前記第１及び第２の鍵値を保持する第１の情報処理装置であるか否かを判定する判定手段と、
前記情報処理装置から送信された種別情報が前記第１の種別情報であって、前記情報処理装置が前記第１の情報処理装置ではないと判定された場合、相互認証の開始を指示する認証開始コマンドを送信して、前記保持手段に保持されている前記第１又は第２の鍵値のうち、受信した前記第１の種別情報に対応する前記第１の鍵値を用いて前記情報処理装置との相互認証を行い、
前記情報処理装置から送信された種別情報が前記第１の種別情報ではなくて、前記情報処理装置が前記第１の情報処理装置であると判定された場合、前記第２の種別情報を送信して、前記第２の種別情報に対応する前記第２の鍵値を用いて前記情報処理装置との相互認証を行う相互認証手段と、
前記第１の情報処理装置にて保持されている、通信装置からの種別情報の要求に応じて送信する種別情報を指定する指定情報の変更を指示する変更コマンドを前記第１の情報処理装置に送信する送信手段と
して機能させるためのプログラム。
【請求項１３】
情報処理装置と通信装置との間で相互認証を行う相互認証システムにおいて、
前記情報処理装置は、
相互認証に用いられる第１の鍵値と、前記第１の鍵値の種別を示す第１の種別情報を対応付けて保持するとともに、前記第１の鍵値とは異なる第２の鍵値と、前記第２の鍵値の種別を示す第２の種別情報を対応付けて保持し、さらに、通信相手となる通信装置からの種別情報の要求に応じて送信する種別情報として、前記第１の種別情報を指定する指定情報も保持する第１の保持手段と、
前記通信装置からの前記種別情報の要求に応じて、前記第１又は第２の種別情報のうち、前記指定情報によって指定されている前記第１の種別情報を送信する第１の送信手段と、
送信された前記第１の種別情報に対応して、前記通信装置から相互認証の開始を指示する認証開始コマンドが返信された場合、前記保持手段に保持されている前記第１又は第２の鍵値のうち、前記第１の種別情報に対応する前記第１の鍵値を用いて前記通信装置との相互認証を行い、
送信された前記第１の種別情報に対応して、前記通信装置から前記第２の種別情報が返信された場合、前記第２の種別情報に対応する前記第２の鍵値を用いて前記通信装置との相互認証を行う第１の相互認証手段と、
前記通信装置から送信される、前記指定情報により指定される種別情報の変更を指示する変更コマンドを受信する受信手段と、
受信された前記変更コマンドに従い、前記指定情報により指定される種別情報を変更する変更手段と
を含み、
前記通信装置は、
相互認証に用いられる第１の鍵値と、前記第１の鍵値の種類を示す第１の種別情報を対応付けて保持するとともに、前記第１の鍵値とは異なる第２の鍵値と、前記第２の鍵値の種類を示す第２の種別情報を対応付けて保持する第２の保持手段と、
通信相手となる情報処理装置に対して、種別情報の送信を要求する要求手段と、
前記要求手段による要求に応じて、通信相手となる情報処理装置から送信された種別情報が前記第１の種別情報であるか否かに基づき、前記情報処理装置が前記第１及び第２の鍵値を保持する第１の情報処理装置であるか否かを判定する判定手段と、
前記情報処理装置から送信された種別情報が前記第１の種別情報であって、前記情報処理装置が前記第１の情報処理装置ではないと判定された場合、相互認証の開始を指示する認証開始コマンドを送信して、前記保持手段に保持されている前記第１又は第２の鍵値のうち、受信した前記第１の種別情報に対応する前記第１の鍵値を用いて前記情報処理装置との相互認証を行い、
前記情報処理装置から送信された種別情報が前記第１の種別情報ではなくて、前記情報処理装置が前記第１の情報処理装置であると判定された場合、前記第２の種別情報を送信して、前記第２の種別情報に対応する前記第２の鍵値を用いて前記情報処理装置との相互認証を行う第２の相互認証手段と、
前記第１の情報処理装置にて保持されている、前記通信装置からの種別情報の要求に応じて送信する種別情報を指定する指定情報の変更を指示する変更コマンドを前記第１の情報処理装置に送信する第２の送信手段と
を含む
相互認証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、通信装置、通信方法、プログラム、及び相互認証システムに関し、特に、例えば、情報処理装置と通信装置との相互認証に用いる鍵を更新する場合に用いて好適な情報処理装置、情報処理方法、通信装置、通信方法、プログラム、及び相互認証システムに関する。
【背景技術】
【０００２】
従来、Ｒ/Ｗ（リーダ/ライタ）と非接触IC(integrated circuit)カード（以下、ICカードという）との間で、電磁波を利用してデータの送受信を行う非接触通信システムが存在する。
【０００３】
この非接触通信システムでは、例えば、電子マネーがチャージ（記憶）されているICカードを、店舗等に設置されたＲ／Ｗにかざすことにより、ICカードにチャージされた電子マネーを、商品購入時の代金として支払うことができる。
【０００４】
ところで、非接触通信システムでは、送受信されるデータの漏洩等を防止するために、DES（data encryption standard）,AES（advanced encryption standard）,Camellia,CLEFIA等の共通鍵暗号方式や、RSA（rivest shamir adleman）等の公開鍵暗号方式により用いられる鍵を表す鍵値に基づいて、送受信されるデータを暗号化している。
【０００５】
なお、非接触通信システムにおいて、現在運用中の鍵値のバージョンを、現在のバージョン（以下、旧鍵バージョンという）から、新たなバージョン（以下、新鍵バージョンという）に更新する場合には、以下に示す更新方法が考えられる。
【０００６】
この更新方法では、旧鍵バージョンの鍵値を用いた非接触近接無線通信を行う現行のＲ/Ｗ（以下、旧Ｒ/Ｗという）すべてを、旧鍵バージョンの鍵値の他、新鍵バージョンの鍵値を用いた非接触近接無線通信をも行うＲ/Ｗ（以下、新旧対応Ｒ/Ｗという）に置き換える。
【０００７】
そして、旧Ｒ/Ｗすべてが新旧対応Ｒ/Ｗに置き換えられた後、新たにICカードを所持するユーザには、旧鍵バージョンの鍵値を用いた非接触近接無線通信を行う現行のICカード（以下、旧ICカードという）に代えて、新鍵バージョンの鍵値を用いた非接触近接無線通信を行うICカード（以下、新ICカード）を発行する。
【０００８】
また、すでに旧ICカードを所持するユーザは、新ICカードを発行する受付等で、旧ICカードを新ICカードに交換するようにする。
【０００９】
なお、新旧対応Ｒ/Ｗでは、旧ICカード及び新ICカードのいずれとも非接触近接無線通信を行うことができるため、以前として旧ICカードを所持するユーザであっても、旧ICカードを用いて新旧対応Ｒ/Ｗとの非接触近接無線通信を行うことができる。
【００１０】
各ユーザの使用するICカードの殆どが、新ICカードとなった場合に、新旧対応Ｒ/Ｗは、旧ICカードとの非接触近接無線通信を禁止する。これにより、非接触近接無線通信に用いる鍵値の鍵バージョンは、旧鍵バージョンから新鍵バージョンに更新されることとなる。
【００１１】
なお、旧ICカードを新旧対応Ｒ／Ｗにかざすことにより、旧ICカードの旧鍵バージョンの鍵値を、新鍵バージョンの鍵値に更新する更新技術は既に存在する（例えば、特許文献１を参照）。
【００１２】
この更新技術によれば、ユーザは、旧ICカードを新旧対応Ｒ／Ｗにかざすだけで、新ICカードに更新することができる。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００４−４６３３２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
ところで、旧Ｒ/Ｗすべてを、一度に新旧対応Ｒ/Ｗに置き換えることが困難な場合には、新旧対応Ｒ/Ｗと旧Ｒ/Ｗとが混在することとなる。この場合、旧Ｒ/Ｗとの非接触近接無線通信が行えるように、新鍵バージョンの鍵値の他、旧鍵バージョンの鍵値を用いた非接触近接無線通信を行うことが可能なICカード（以下、新旧対応ICカードという）を、新ICカードに代えて、ユーザに発行する必要がある。
【００１５】
この場合、この新旧対応ICカードは、旧Ｒ／Ｗに対して、旧ICカードと同様に振舞う必要がある。
【００１６】
また、旧Ｒ／Ｗすべてを、新旧対応Ｒ／Ｗに置き換えた後、新旧対応ICカードでは、旧鍵バージョンの鍵値を用いた非接触近接無線通信を行わないようにし、新鍵バージョンの鍵値を用いた非接触近接無線通信のみを行うようにする必要がある。
【００１７】
本発明は、このような状況に鑑みてなされたものであり、旧Ｒ／Ｗすべてを、一度に新旧対応Ｒ／Ｗに置き換えられない場合であっても、鍵値の鍵バージョンを、適切に、旧鍵バージョンから新鍵バージョンに更新できるようにするものである。
【課題を解決するための手段】
【００１８】
本発明の第１の側面の情報処理装置、又は第１のプログラムは、相互認証に用いられる第１の鍵値と、前記第１の鍵値の種別を示す第１の種別情報を対応付けて保持するとともに、前記第１の鍵値とは異なる第２の鍵値と、前記第２の鍵値の種別を示す第２の種別情報を対応付けて保持し、さらに、通信相手となる通信装置からの種別情報の要求に応じて送信する種別情報として、前記第１の種別情報を指定する指定情報も保持する保持手段と、前記通信装置からの前記種別情報の要求に応じて、前記第１又は第２の種別情報のうち、前記指定情報によって指定されている前記第１の種別情報を送信する送信手段と、送信された前記第１の種別情報に対応して、前記通信装置から相互認証の開始を指示する認証開始コマンドが返信された場合、前記保持手段に保持されている前記第１又は第２の鍵値のうち、前記第１の種別情報に対応する前記第１の鍵値を用いて前記通信装置との相互認証を行い、送信された前記第１の種別情報に対応して、前記通信装置から前記第２の種別情報が返信された場合、前記第２の種別情報に対応する前記第２の鍵値を用いて前記通信装置との相互認証を行う相互認証手段と、前記通信装置から送信される、前記指定情報により指定される種別情報の変更を指示する変更コマンドを受信する受信手段と、受信された前記変更コマンドに従い、前記指定情報により指定される種別情報を変更する変更手段とを含む情報処理装置、又はコンピュータを前記情報処理装置として機能させるためのプログラムである。
【００２１】
前記送信手段は、前記通信装置からの種別情報の要求に応じて、前記変更手段による変更後の前記指定情報により指定される前記第２の種別情報を送信することができ、前記相互認証手段は、前記送信手段によって送信された前記前記第２の種別情報に対応して、前記認証開始コマンドが返信された場合、前記第２の種別情報に対応する前記第２の鍵値を用いて前記通信装置との相互認証を行うことができる。
【００２２】
前記第１の種別情報は、前記通信装置との相互認証を行う認証装置のうち、前記情報処理装置とは異なる認証装置が保持する前記第１の鍵値に対応付けられている種別情報と同一のものであり、前記送信手段では、前記通信装置が前記第１の種別情報を受信したことに対応して、前記認証装置の記憶領域上には存在しない所定の領域が前記保持手段の記憶領域上には存在するか否かを表す領域情報を要求する場合に、前記通信装置からの要求に応じて前記領域情報も送信し、前記受信手段では、前記通信装置が前記領域情報に基づいて前記保持手段の記憶領域上に前記所定の領域が存在すると判定した場合に送信する前記第２の種別情報を受信するようにすることができる。
【００２３】
前記第１の種別情報は、前記通信装置との相互認証を行う認証装置のうち、前記情報処理装置とは異なる認証装置が保持する前記第１の鍵値に対応付けられている種別情報と異なるものであり、前記受信手段では、前記通信装置が前記第１の種別情報を受信した場合に送信する前記第２の種別情報を受信するようにすることができる。
【００２４】
本発明の第１の側面の情報処理方法は、通信相手となる通信装置と相互認証を行う情報処理装置の情報処理方法において、前記情報処理装置は、保持手段と、送信手段と、相互認証手段と、受信手段と、変更手段とを含み、前記保持手段による、相互認証に用いられる第１の鍵値と、前記第１の鍵値の種別を示す第１の種別情報を対応付けて保持するとともに、前記第１の鍵値とは異なる第２の鍵値と、前記第２の鍵値の種別を示す第２の種別情報を対応付けて保持し、さらに、通信相手となる通信装置からの種別情報の要求に応じて送信する種別情報として、前記第１の種別情報を指定する指定情報も保持する保持ステップと、送信手段による、前記通信装置からの前記種別情報の要求に応じて、前記第１又は第２の種別情報のうち、前記指定情報によって指定されている前記第１の種別情報を送信する送信ステップと、前記相互認証手段による、送信された前記第１の種別情報に対応して、前記通信装置から相互認証の開始を指示する認証開始コマンドが返信された場合、前記保持手段に保持されている前記第１又は第２の鍵値のうち、前記第１の種別情報に対応する前記第１の鍵値を用いて前記通信装置との相互認証を行い、送信された前記第１の種別情報に対応して、前記通信装置から前記第２の種別情報が返信された場合、前記第２の種別情報に対応する前記第２の鍵値を用いて前記通信装置との相互認証を行う相互認証ステップと、前記受信手段による、前記通信装置から送信される、前記指定情報により指定される種別情報の変更を指示する変更コマンドを受信する受信ステップと、前記変更手段による、受信された前記変更コマンドに従い、前記指定情報により指定される種別情報を変更する変更ステップとを含む情報処理方法である。
【００２５】
本発明の第１の側面においては、通信相手となる通信装置からの種別情報の要求に応じて、前記第１又は第２の種別情報のうち、指定情報によって指定されている前記第１の種別情報が送信され、送信された前記第１の種別情報に対応して、前記通信装置から相互認証の開始を指示する認証開始コマンドが返信された場合、前記保持手段に保持されている前記第１又は第２の鍵値のうち、前記第１の種別情報に対応する前記第１の鍵値を用いて前記通信装置との相互認証が行われ、送信された前記第１の種別情報に対応して、前記通信装置から前記第２の種別情報が返信された場合、前記第２の種別情報に対応する前記第２の鍵値を用いて前記通信装置との相互認証が行われる。さらに、前記通信装置から送信される、前記指定情報により指定される種別情報の変更を指示する変更コマンドに従い、前記指定情報により指定される種別情報が変更される。
【００２６】
本発明の第２の側面の通信装置、又は第２のプログラムは、相互認証に用いられる第１の鍵値と、前記第１の鍵値の種類を示す第１の種別情報を対応付けて保持するとともに、前記第１の鍵値とは異なる第２の鍵値と、前記第２の鍵値の種類を示す第２の種別情報を対応付けて保持する保持手段と、通信相手となる情報処理装置に対して、種別情報の送信を要求する要求手段と、前記要求手段による要求に応じて、通信相手となる情報処理装置から送信された種別情報が前記第１の種別情報であるか否かに基づき、前記情報処理装置が前記第１及び第２の鍵値を保持する第１の情報処理装置であるか否かを判定する判定手段と、前記情報処理装置から送信された種別情報が前記第１の種別情報であって、前記情報処理装置が前記第１の情報処理装置ではないと判定された場合、相互認証の開始を指示する認証開始コマンドを送信して、前記保持手段に保持されている前記第１又は第２の鍵値のうち、受信した前記第１の種別情報に対応する前記第１の鍵値を用いて前記情報処理装置との相互認証を行い、前記情報処理装置から送信された種別情報が前記第１の種別情報ではなくて、前記情報処理装置が前記第１の情報処理装置であると判定された場合、前記第２の種別情報を送信して、前記第２の種別情報に対応する前記第２の鍵値を用いて前記情報処理装置との相互認証を行う相互認証手段と、前記第１の情報処理装置にて保持されている、通信装置からの種別情報の要求に応じて送信する種別情報を指定する指定情報の変更を指示する変更コマンドを前記第１の情報処理装置に送信する送信手段とを含む通信装置、又はコンピュータを前記通信装置として機能させるためのプログラムである。
【００２９】
前記相互認証手段では、前記情報処理装置から送信される種別情報が前記第２の種別情報である場合、前記認証開始コマンドを送信して、前記第２の種別情報に対応する前記第２の鍵値を用いて、前記情報処理装置との相互認証を行うようにすることができる。
【００３０】
前記第１の情報処理装置が保持する前記第１の鍵値に対応付けられている第１の種別情報は、前記通信装置との相互認証を行う認証装置のうち、前記第１の情報処理装置とは異なる認証装置が保持する前記第１の鍵値に対応付けられている種別情報と同一のものであり、前記要求手段では、前記第１の情報処理装置からの前記第１の種別情報が受信されたことに対応して、通信相手となる前記情報処理装置の記憶領域には、前記認証装置には存在しないが前記第１の情報処理装置には存在する所定の領域が存在するか否かを表す領域情報も要求し、前記判定手段では、前記要求手段による要求に応じて受信された前記領域情報に基づいて、前記情報処理装置が前記第１の情報処理装置であるか否かを判定するようにすることができる。
【００３１】
前記第１の情報処理装置が保持する前記第１の鍵値に対応付けられている第１の種別情報は、前記通信装置との相互認証を行う認証装置のうち、前記第１の情報処理装置とは異なる認証装置が保持する前記第１の鍵値に対応付けられている種別情報と異なるものであり、前記判定手段では、受信された種別情報が、前記第１の種別情報であるか否かに基づいて、前記情報処理装置が前記第１の情報処理装置であるか否かを判定するようにすることができる。
【００３２】
本発明の第２の側面の通信方法は、通信相手となる情報処理装置と相互認証を行う通信装置の通信方法において、前記通信装置は、保持手段と、要求手段と、判定手段と、相互認証手段と、送信手段とを含み、前記保持手段による、相互認証に用いられる第１の鍵値と、前記第１の鍵値の種類を示す第１の種別情報を対応付けて保持するとともに、前記第１の鍵値とは異なる第２の鍵値と、前記第２の鍵値の種類を示す第２の種別情報を対応付けて保持する保持ステップと、前記要求手段による、通信相手となる情報処理装置に対して、種別情報の送信を要求する要求ステップと、前記判定手段による、前記要求手段による要求に応じて、通信相手となる情報処理装置から送信された種別情報が前記第１の種別情報であるか否かに基づき、前記情報処理装置が前記第１及び第２の鍵値を保持する第１の情報処理装置であるか否かを判定する判定ステップと、前記相互認証手段による、前記情報処理装置から送信された種別情報が前記第１の種別情報であって、前記情報処理装置が前記第１の情報処理装置ではないと判定された場合、相互認証の開始を指示する認証開始コマンドを送信して、前記保持手段に保持されている前記第１又は第２の鍵値のうち、受信した前記第１の種別情報に対応する前記第１の鍵値を用いて前記情報処理装置との相互認証を行い、前記情報処理装置から送信された種別情報が前記第１の種別情報ではなくて、前記情報処理装置が前記第１の情報処理装置であると判定された場合、前記第２の種別情報を送信して、前記第２の種別情報に対応する前記第２の鍵値を用いて前記情報処理装置との相互認証を行う相互認証ステップと、前記送信手段による、前記第１の情報処理装置にて保持されている、前記通信装置からの種別情報の要求に応じて送信する種別情報を指定する指定情報の変更を指示する変更コマンドを前記第１の情報処理装置に送信する送信ステップとステップを含む通信方法である。
【００３３】
本発明の第２の側面においては、通信相手となる情報処理装置に対して、種別情報の送信が要求され、要求に応じて、通信相手となる情報処理装置から送信された種別情報が前記第１の種別情報であるか否かに基づき、前記情報処理装置が前記第１及び第２の鍵値を保持する第１の情報処理装置であるか否かが判定される。そして、前記情報処理装置から送信された種別情報が前記第１の種別情報であって、前記情報処理装置が前記第１の情報処理装置ではないと判定された場合、相互認証の開始を指示する認証開始コマンドを送信して、前記第１又は第２の鍵値のうち、受信した前記第１の種別情報に対応する前記第１の鍵値を用いて前記情報処理装置との相互認証が行われ、前記情報処理装置から送信された種別情報が前記第１の種別情報ではなくて、前記情報処理装置が前記第１の情報処理装置であると判定された場合、前記第２の種別情報を送信して、前記第２の種別情報に対応する前記第２の鍵値を用いて前記情報処理装置との相互認証が行われる。さらに、前記第１の情報処理装置にて保持されている、前記通信装置からの種別情報の要求に応じて送信する種別情報を指定する指定情報の変更を指示する変更コマンドが前記第１の情報処理装置に送信される。
【００３４】
本発明の第３の側面の相互認証システムは、情報処理装置と通信装置との間で相互認証を行う相互認証システムにおいて、前記情報処理装置は、相互認証に用いられる第１の鍵値と、前記第１の鍵値の種別を示す第１の種別情報を対応付けて保持するとともに、前記第１の鍵値とは異なる第２の鍵値と、前記第２の鍵値の種別を示す第２の種別情報を対応付けて保持し、さらに、通信相手となる通信装置からの種別情報の要求に応じて送信する種別情報として、前記第１の種別情報を指定する指定情報も保持する第１の保持手段と、前記通信装置からの前記種別情報の要求に応じて、前記第１又は第２の種別情報のうち、前記指定情報によって指定されている前記第１の種別情報を送信する第１の送信手段と、送信された前記第１の種別情報に対応して、前記通信装置から相互認証の開始を指示する認証開始コマンドが返信された場合、前記保持手段に保持されている前記第１又は第２の鍵値のうち、前記第１の種別情報に対応する前記第１の鍵値を用いて前記通信装置との相互認証を行い、送信された前記第１の種別情報に対応して、前記通信装置から前記第２の種別情報が返信された場合、前記第２の種別情報に対応する前記第２の鍵値を用いて前記通信装置との相互認証を行う第１の相互認証手段と、前記通信装置から送信される、前記指定情報により指定される種別情報の変更を指示する変更コマンドを受信する受信手段と、受信された前記変更コマンドに従い、前記指定情報により指定される種別情報を変更する変更手段とを含み、前記通信装置は、相互認証に用いられる第１の鍵値と、前記第１の鍵値の種類を示す第１の種別情報を対応付けて保持するとともに、前記第１の鍵値とは異なる第２の鍵値と、前記第２の鍵値の種類を示す第２の種別情報を対応付けて保持する第２の保持手段と、通信相手となる情報処理装置に対して、種別情報の送信を要求する要求手段と、前記要求手段による要求に応じて、通信相手となる情報処理装置から送信された種別情報が前記第１の種別情報であるか否かに基づき、前記情報処理装置が前記第１及び第２の鍵値を保持する第１の情報処理装置であるか否かを判定する判定手段と、前記情報処理装置から送信された種別情報が前記第１の種別情報であって、前記情報処理装置が前記第１の情報処理装置ではないと判定された場合、相互認証の開始を指示する認証開始コマンドを送信して、前記保持手段に保持されている前記第１又は第２の鍵値のうち、受信した前記第１の種別情報に対応する前記第１の鍵値を用いて前記情報処理装置との相互認証を行い、前記情報処理装置から送信された種別情報が前記第１の種別情報ではなくて、前記情報処理装置が前記第１の情報処理装置であると判定された場合、前記第２の種別情報を送信して、前記第２の種別情報に対応する前記第２の鍵値を用いて前記情報処理装置との相互認証を行う第２の相互認証手段と、前記第１の情報処理装置にて保持されている、前記通信装置からの種別情報の要求に応じて送信する種別情報を指定する指定情報の変更を指示する変更コマンドを前記第１の情報処理装置に送信する第２の送信手段とを含む相互認証システムである。
【００３５】
本発明の第３の側面においては、情報処理装置により、通信相手となる通信装置からの種別情報の要求に応じて、前記第１又は第２の種別情報のうち、指定情報によって指定されている前記第１の種別情報が送信され、送信された前記第１の種別情報に対応して、前記通信装置から相互認証の開始を指示する認証開始コマンドが返信された場合、前記保持手段に保持されている前記第１又は第２の鍵値のうち、前記第１の種別情報に対応する前記第１の鍵値を用いて前記通信装置との相互認証が行われ、送信された前記第１の種別情報に対応して、前記通信装置から前記第２の種別情報が返信された場合、前記第２の種別情報に対応する前記第２の鍵値を用いて前記通信装置との相互認証が行われる。さらに、前記通信装置から送信される、前記指定情報により指定される種別情報の変更を指示する変更コマンドに従い、前記指定情報により指定される種別情報が変更される。また、通信装置により、通信相手となる情報処理装置に対して、種別情報の送信が要求され、要求に応じて、通信相手となる情報処理装置から送信された種別情報が前記第１の種別情報であるか否かに基づき、前記情報処理装置が前記第１及び第２の鍵値を保持する第１の情報処理装置であるか否かが判定される。そして、前記情報処理装置から送信された種別情報が前記第１の種別情報であって、前記情報処理装置が前記第１の情報処理装置ではないと判定された場合、相互認証の開始を指示する認証開始コマンドを送信して、前記第１又は第２の鍵値のうち、受信した前記第１の種別情報に対応する前記第１の鍵値を用いて前記情報処理装置との相互認証が行われ、前記情報処理装置から送信された種別情報が前記第１の種別情報ではなくて、前記情報処理装置が前記第１の情報処理装置であると判定された場合、前記第２の種別情報を送信して、前記第２の種別情報に対応する前記第２の鍵値を用いて前記情報処理装置との相互認証が行われる。さらに、前記第１の情報処理装置にて保持されている、前記通信装置からの種別情報の要求に応じて送信する種別情報を指定する指定情報の変更を指示する変更コマンドが前記第１の情報処理装置に送信される。
【発明の効果】
【００３６】
本発明によれば、旧Ｒ／Ｗすべてを、一度に新旧対応Ｒ／Ｗに置き換えられない場合であっても、鍵値の鍵バージョンを、適切に、旧鍵バージョンから新鍵バージョンに更新することができる。
【図面の簡単な説明】
【００３７】
【図１】本実施の形態において、鍵バージョンの更新が行われる過程の一例を示す図である。
【図２】移行期における非接触近接無線通信の概要を説明するための図である。
【図３】アップデート期における非接触近接無線通信の概要を説明するための図である。
【図４】本実施の形態である非接触カードシステムの構成例を示すブロック図である。
【図５】新旧対応Ｒ／Ｗの構成例を示すブロック図である。
【図６】新旧対応Ｒ／ＷのCPUによる機能的構成例を示すブロック図である。
【図７】新旧対応ICカードの構成例を示すブロック図である。
【図８】新旧対応ICカードの記憶領域によるディレクトリ構造の一例を示す図である。
【図９】識別子に、旧鍵バージョン及び新鍵バージョンそれぞれの鍵値が対応付けられた様子の一例を示す図である。
【図１０】新旧対応ICカードのCPUによる機能的構成例を示すブロック図である。
【図１１】Ｒ／Ｗ処理を説明するためのフローチャートである。
【図１２】ICカード処理を説明するためのフローチャートである。
【図１３】識別子に、旧鍵バージョン及び新鍵バージョンそれぞれの鍵値が対応付けられた他の様子の一例を示す図である。
【図１４】旧ICカードと、新旧対応ICカードとのディレクトリ構造の差分を示す図である。
【図１５】移行期における非接触近接無線通信の概要を説明するための他の図である。
【図１６】アップデート期における非接触近接無線通信の概要を説明するための他の図である。
【発明を実施するための形態】
【００３８】
以下、発明を実施するための形態（以下、本実施の形態という）について説明する。なお、説明は以下の順序で行う。
１．  本実施の形態（鍵バージョンを新鍵バージョン0x1001に更新する場合の一例）
２．  変形例
【００３９】
＜１．本実施の形態＞
図１は、旧Ｒ/Ｗすべてを、一度に新旧対応Ｒ/Ｗに置き換えることが困難な場合に、非接触近接無線通信に用いる鍵値の鍵バージョンを、旧鍵バージョン0x0002(0x0001)から、新鍵バージョン0x1001に更新するための処理手順の概要を示している。
【００４０】
旧鍵バージョン0x0001の鍵値を用いた非接触近接無線通信が行われている初期の段階において、非接触通信システムは、旧鍵バージョン0x0001の鍵値、及び旧鍵バージョン0x0002の鍵値を保持する旧Ｒ／Ｗ、並びに旧鍵バージョン0x0001の鍵値を保持する旧ICカードにより構成される。
【００４１】
したがって、図１下側に示されるように、初期において、ユーザの間には、旧ICカードのみが普及している。
【００４２】
なお、旧Ｒ／Ｗは、旧鍵バージョン0x0001の鍵値が漏洩した場合に、非接触近接無線通信に用いる予備の鍵値として、旧鍵バージョン0x0002の鍵値を保持している。
【００４３】
初期の次の段階である移行期では、旧Ｒ／Ｗが、徐々に、旧鍵バージョン0x0001の鍵値、及び新鍵バージョン0x1001の鍵値を保持する新旧対応Ｒ／Ｗに置き換えられる。移行期においては、旧Ｒ／Ｗと新旧対応Ｒ／Ｗとが混在するものとなる。
【００４４】
移行期において、旧ICカードを所持するユーザにおいては、新旧対応ICカードを発行する受付等で、旧ICカードを、旧鍵バージョン0x0002の鍵値、及び新鍵バージョン0x1001の鍵値を保持する新旧対応ICカードに交換する。また、新たにICカードを所持するユーザは、新旧対応ICカードを、新旧対応ICカードを発行する受付等で発行してもらうようにする。
【００４５】
したがって、図１下側に示されるように、移行期では、ユーザに普及しているICカードとして、旧ICカードの枚数は減少し、新旧対応ICカードは増加するものとなる。
【００４６】
上述したように、移行期では、旧Ｒ／Ｗと新旧対応旧Ｒ／Ｗとが混在するものとなるが、旧ICカードを所持するユーザは、その旧ICカードを用いて、旧Ｒ／Ｗ及び新旧対応旧Ｒ／Ｗのいずれに対しても、旧鍵バージョン0x0001の鍵値を用いた非接触近接無線通信を行うことができる。
【００４７】
また、新旧対応ICカードを所持するユーザは、その新旧対応ICカードを用いて、旧Ｒ／Ｗと旧鍵バージョン0x0002の鍵値を用いた非接触近接通信を行うとともに、新旧対応Ｒ／Ｗと新鍵バージョン0x1001の鍵値を用いた非接触近接通信を行うことができる。
【００４８】
そして、移行期において、旧Ｒ／Ｗすべてを、新旧対応Ｒ／Ｗに置き換えた後、移行期の次の段階であるアップグレード期において、新旧対応Ｒ／Ｗにより、新旧対応ICカードによる、旧鍵バージョン0x0002の鍵値を用いた旧Ｒ／Ｗとの非接触近接無線通信が禁止される。
【００４９】
図１下側に示されるように、アップグレード期において、さらに、新旧対応ICカードの枚数が増加し、旧ICカードの枚数は減少する。
【００５０】
その後、新旧対応Ｒ／Ｗが、旧鍵バージョン0x0001の鍵値を用いた旧ICカードとの非接触近接無線通信を禁止することにより、非接触通信システムにおいて用いられる鍵値の鍵バージョンは、旧鍵バージョンから、新鍵バージョンに更新される。
【００５１】
[移行期における非接触近接無線通信]
図２は、移行期において行われる非接触近接無線通信の概要を示している。
【００５２】
移行期において、図２Aに示されるように、旧Ｒ／Ｗは、鍵バージョンの取得要求により、ICカードから旧鍵バージョン0x0001を取得した場合、そのICカード（旧ICカード）との間で、旧鍵バージョン0x0001の鍵値を用いた非接触近接無線通信を行う。
【００５３】
また、図２Aに示されるように、旧Ｒ／Ｗは、ICカードから旧鍵バージョン0x0002を取得した場合、そのICカード（新旧対応ICカード３２（図４））との間で、旧鍵バージョン0x0002の鍵値を用いた非接触近接無線通信を行う。すなわち、旧Ｒ／Ｗは、従来の制御方法を変更することなく、旧ICカードと同様に、新旧対応ICカード３２との非接触近接無線通信を行うことができる。
【００５４】
さらに、移行期において、図２Bに示されるように、新旧対応Ｒ／Ｗ３１は、鍵バージョンの取得要求により、ICカードから旧鍵バージョン0x0001を取得した場合、そのICカード（旧ICカード）との間で、旧鍵バージョン0x0001の鍵値を用いた非接触近接無線通信を行う。
【００５５】
また、図２Bに示されるように、新旧対応Ｒ／Ｗ３１は、ICカードから旧鍵バージョン0x0002を取得した場合、そのICカード（新旧対応ICカード３２）との間で、新鍵バージョン0x1001の鍵値を用いた非接触近接無線通信を行う。
【００５６】
[アップデート期における非接触近接無線通信]
次に、図３は、アップデート期において行われる非接触近接無線通信の概要を示している。
【００５７】
アップデート期において、図３Aに示されるように、新旧対応Ｒ／Ｗ３１は、鍵バージョンの取得要求により、ICカードから旧鍵バージョン0x0002を取得した場合、そのICカード（新旧対応ICカード３２）との間で、新鍵バージョン0x1001の鍵値を用いた非接触近接無線通信を行う。
【００５８】
そして、その非接触近接無線通信において、新旧対応Ｒ／Ｗ３１は、新旧対応ICカード３２に対して、旧鍵バージョン0x0002の鍵値を無効化する（使用不可にする）無効化処理を行う。
【００５９】
新旧対応ICカード３２は、無効化処理により旧鍵バージョン0x0002の鍵値が無効化された後、新鍵バージョン0x1001の鍵値に基づく非接触近接無線通信しか行えなくなる。
【００６０】
この場合、新旧対応ICカード３２は、旧Ｒ／Ｗ等からの取得要求に応じて、新鍵バージョン0x1001を送信するようになる。
【００６１】
アップデート期において、図３Bに示されるように、旧Ｒ／Ｗは、無効化処理後の新旧対応ICカード３２から新鍵バージョン0x1001を取得した場合、新旧対応ICカード３２との旧鍵バージョン0x0002の鍵値を用いた非接触近接無線通信を行えないと判定する。このため、旧Ｒ／Ｗと、無効化処理後の新旧対応ICカード３２との間では、非接触近接無線通信は行われない。
【００６２】
また、アップデート期において、図３Cに示されるように、新旧対応Ｒ／Ｗは、鍵バージョンの取得要求により、無効化処理後の新旧対応ICカード３２から新鍵バージョン0x1001を取得した場合、新旧対応ICカード３２との間で、新鍵バージョン0x1001の鍵値を用いた非接触近接無線通信を行う。
【００６３】
[非接触カードシステムの構成例]
次に、図４は、図１に示された非接触通信システムのうち、新旧対応Ｒ／Ｗ３１及び新旧対応ICカード３２との非接触近接無線通信を行う非接触カードシステム１の構成例を示している。
【００６４】
この非接触カードシステム１は、新旧対応Ｒ／Ｗ３１、新旧対応ICカード３２、及びコントローラ３３により構成され、新旧対応Ｒ／Ｗ３１と新旧対応ICカード３２との間では、電磁波を利用した非接触近接無線通信が行われる。
【００６５】
すなわち、新旧対応Ｒ／Ｗ３１が、所定のコマンドを新旧対応ICカード３２に送信し、新旧対応ICカード３２は、そのコマンドを受信し、そのコマンドに対応する処理を行う。そして、新旧対応ICカード３２は、その処理結果に対応するレスポンスを生成し、新旧対応Ｒ／Ｗ３１に送信する。
【００６６】
新旧対応Ｒ／Ｗ３１は、所定のインタフェースを介してコントローラ３３に接続されており、コントローラ３３は、新旧対応Ｒ／Ｗ３１に対して所定の制御信号を供給することで、所定の処理を行わせる。
【００６７】
なお、新旧対応Ｒ／Ｗ３１は、旧鍵バージョン0x0001の鍵値、及び新鍵バージョン0x1001の鍵値を予め保持している。
【００６８】
新旧対応Ｒ／Ｗ３１は、旧鍵バージョン0x0001の鍵値を用いて、旧ICカードとの非接触近接無線通信を行う。また、新旧対応Ｒ／Ｗ３１は、新鍵バージョン0x1001の鍵値を用いて、新旧対応ICカード３２との非接触近接無線通信を行う。
【００６９】
新旧対応ICカード３２は、旧鍵バージョン0x0002の鍵値、及び新鍵バージョン0x1001の鍵値を予め保持している。
【００７０】
新旧対応ICカード３２は、旧鍵バージョン0x0002の鍵値を用いて、旧Ｒ／Ｗとの非接触近接無線通信を行う。また、新旧対応ICカード３２は、新鍵バージョン0x1001の鍵値を用いて、新旧対応Ｒ／Ｗ３２との非接触近接無線通信を行う。
【００７１】
[新旧対応Ｒ／Ｗ３１の構成例]
次に、図５は、新旧対応Ｒ／Ｗ３１の構成例を示している。
【００７２】
この新旧対応Ｒ／Ｗ３１は、アンテナ６１、復調部６２、SPU（signal processing unit）６３、変調部６４、発振回路６５、バス６６、CPU（central processing unit）６７、RAM(random access memory)６８、ROM（read only memory）６９、及び記憶部７０により構成される。SPU６３、CPU６７、RAM６８、ROM６９、及び記憶部７０は、バス６６を介して相互に接続されている。
【００７３】
アンテナ６１は、変調部６４から供給される変調信号を、非接触近接無線通信により送信する。また、アンテナ６１は、他の装置（例えば、新旧対応ICカード３２）から送信されてくる電磁波としての変調信号を受信し、復調部６２に供給する。
【００７４】
復調部６２は、アンテナ６１からの変調信号を復調し、その結果得られるコマンド等をSPU６３に供給する。SPU６３は、CPU６７からバス６６を介して供給されるコマンド等を符号化して変調部６４に出力する。また、SPU６３は、復調部６２からのコマンド等を復号し、バス６６を介してCPU６７に供給する。
【００７５】
変調部６４は、発振回路６５から供給される搬送波を、SPU６３から供給されるコマンド等で変調（例えばASK変調）し、その結果得られる変調信号をアンテナ６１に供給する。発振回路６５は、所定の周波数の搬送波を生成し、変調部６４に供給する。
【００７６】
CPU６７は、ROM６９や記憶部７０に記憶されたプログラムをRAM６８に読み込んで実行することで、後述するＲ／Ｗ処理（図１１）を行う。なお、CPU６７が実行するプログラムは、アップデートすることができる。
【００７７】
RAM６８は、CPU６７が各種の処理を行うとき、その処理の途中のデータなどを一時的に記憶する。ROM６９は、CPU６７が各種の処理を行うためのプログラム、その他のデータなどを記憶している。
【００７８】
記憶部７０は、書き換え可能で、電源が遮断されても記録内容を保持できる、いわゆる不揮発性の記憶媒体からなり、例えば、ハードディスク、フラッシュメモリ、EEPROM（electrically erasable programmable read only memory）、MRAM（magnetoresistive random access memory（磁気抵抗メモリ））、又はFeRAM（ferroelectric random access memory（強誘電体メモリ））等により構成される。記憶部７０は、CPU６７により書込みが指示されたデータや、CPU６７が各種の処理を行うためのプログラムを記憶する。
【００７９】
また、記憶部７０は、相互認証を行うための認証鍵を生成するための鍵として、旧鍵バージョン0x0001の鍵値、及び新鍵バージョン0x1001の鍵値を予め保持（記憶）している。
【００８０】
[CPU６７により実現される制御部９１の構成例]
図６は、CPU６７により実現される制御部９１の構成例を示している。この制御部９１は、検知応答部１２１、認証鍵生成部１２２、相互認証部１２３、及びリードライト部１２４により構成される。
【００８１】
検知応答部１２１は、ポーリングコマンドを生成して送信し、そのポーリングコマンドに対するレスポンスを受信した場合、鍵バージョンを要求する鍵要求コマンドを送信する。
【００８２】
また、検知応答部１２１は、鍵要求コマンドに対するレスポンスとして、鍵バージョンを受信すると、受信した鍵バージョンに基づいて、相互認証に用いる鍵値の鍵バージョンを決定する。
【００８３】
すなわち、例えば、検知応答部１２１は、受信した鍵バージョンが旧鍵バージョン0x0001である場合、相互認証に用いる鍵値の鍵バージョンを旧鍵バージョン0x0001に決定する。
【００８４】
また、検知応答部１２１は、受信した鍵バージョンが旧鍵バージョン0x0002又は新鍵バージョン0x1001である場合、相互認証に用いる鍵値の鍵バージョンを新鍵バージョン0x1001に決定する。
【００８５】
そして、検知応答部１２１は、決定した鍵バージョンを非接触近接無線通信により送信するとともに、認証鍵生成部１２２に供給する。
【００８６】
認証鍵生成部１２２は、検知応答部１２１からの鍵バージョンの鍵値を、記憶部７０から読み出す。そして、認証鍵生成部１２２は、読み出した鍵値に基づいて、通信相手（例えば新旧対応ICカード３２）との相互認証に用いる認証鍵を生成し、相互認証部１２３に供給する。
【００８７】
相互認証部１２３は、認証鍵生成部１２２からの認証鍵を用いて、通信相手と相互認証を行い、相互認証に成功した場合、その旨をリードライト部１２４に通知する。
【００８８】
リードライト部１２４は、相互認証部１２３から、相互認証に成功した旨を通知されたことに対応して、通信相手に対して、データの読み書きを行う。
【００８９】
また、リードライト部１２４は、通信相手が新旧対応ICカード３２である場合、その新旧対応ICカード３２に対して、旧鍵バージョン0x0002の鍵値を無効化する無効化処理を行う。
【００９０】
[新旧対応ICカード３２の構成例]
図７は、新旧対応ICカード３２の構成例を示している。
【００９１】
この新旧対応ICカード３２は、アンテナ１５１、復調部１５２、SPU１５３、負荷変調部１５４、CPU１５６、RAM１５７、ROM１５８、記憶部１５９、及びバス１５５により構成される。SPU１５３、CPU１５６、RAM１５７、ROM１５８、及び記憶部１５９は、バス１５５を介して相互に接続されている。
【００９２】
アンテナ１５１は、他の装置（例えば、新旧対応Ｒ／Ｗ３１）から送信されてくる変調信号を受信し、復調部１５２に供給する。また、アンテナ１５１は、負荷変調部１５４からの変調信号を非接触近接無線通信により送信する。
【００９３】
復調部１５２は、アンテナ１５１からの変調信号を復調し、その結果得られるコマンド等をSPU１５３に供給する。SPU１５３は、復調部１５２からのコマンド等を復号し、バス１５５を介してCPU１５６に供給する。また、SPU１５３は、CPU１５６からバス１５５を介して供給されるコマンド等を符号化し、負荷変調部１５４に供給する。負荷変調部１５４は、SPU１５３からのコマンド等を負荷変調し、アンテナ１５１に供給する。
【００９４】
CPU１５６は、ROM１５８や記憶部１５９に記憶されたプログラムをRAM１５７に読み込んで実行することで、後述するICカード処理（図１２）を行う。
【００９５】
RAM１５７は、CPU１５６が各種の処理を行うとき、その処理の途中のデータなどを一時的に記憶する。ROM１５８は、CPU１５６が各種の処理を行うためのプログラム、その他のデータなどを記憶している。
【００９６】
記憶部１５９は、いわゆる不揮発性の記憶媒体からなり、例えば、EEPROM等により構成される。記憶部１５９は、CPU１５６により書込みが指示されたデータや、CPU１５６が各種の処理を行うためのプログラム、その他のデータなどを記憶する。
【００９７】
また、記憶部１５９は、旧鍵バージョン0x0002の鍵値、及び新鍵バージョン0x1001の鍵値が対応付けられた複数の領域を、階層構造をなして記憶している。
【００９８】
[記憶部１５９のディレクトリ構造]
図８は、記憶部１５９の記憶領域が階層化されて管理される様子を示している。すなわち、図８は、記憶部１５９のディレクトリ構造の一例を示している。
【００９９】
記憶部１５９の記憶領域は、エリア定義領域を階層とする階層構造をなしており、エリア定義領域は、エリア定義領域、及びサービス定義領域を、下位階層として有することができる。
【０１００】
なお、エリア定義領域は、UNIX等の0S(operating system)のファイルシステムにおけるディレクトリに相当し、サービス定義領域は、ファイルに相当する。
【０１０１】
エリア定義領域は、そのエリア定義領域が記憶領域上に存在する範囲の開始を表す開始識別子、その範囲の終了を表す終了識別子により表されている。
【０１０２】
また、開始識別子は、エリア定義領域を識別するための識別子として用いられる。
【０１０３】
さらに、エリア定義領域の識別子には、認証に用いる認証鍵を生成するための鍵値（エリア鍵）、その鍵値の鍵バージョン、及び使用可能な割当ブロック数（を表す空き容量）等が対応付けられている。
【０１０４】
サービス定義領域は、電子マネー等のユーザデータを記憶する領域である。また、サービス定義領域の識別子には、認証鍵を生成するための鍵値（サービス鍵）、その鍵値の鍵バージョン、及び使用可能な割当ブロック数等が対応付けられている。
【０１０５】
[鍵値の対応付けの一例]
次に、図９は、サービス定義領域の識別子1008hに、旧鍵バージョン0x0002の鍵値と新鍵バージョン0x1001の鍵値が対応付けられている様子の一例を示している。
【０１０６】
図９において、識別子1008hには、ユーザデータの他、旧鍵バージョン0x0002の鍵値23456789…h、及び新鍵バージョン0x1001の鍵値12345678…hが対応付けられている。
【０１０７】
また、識別子1008hには、新旧対応Ｒ/Ｗ３１等からの鍵バージョンの取得要求に応じて、旧鍵バージョン0x0002又は新鍵バージョン0x1001のうち、送信する鍵バージョンを指定する指定情報も対応付けられている。
【０１０８】
なお、エリア定義領域についても、図９に示されたサービス定義領域のように、エリア定義領域の識別子に、旧鍵バージョン0x0002の鍵値、新鍵バージョン0x1001の鍵値、及び指定情報が対応付けられている。
【０１０９】
[CPU１５６により実現される制御部１８１構成例]
次に、図１０は、CPU１５６により実現される制御部１８１の構成例を示している。この制御部１８１は、検知応答部２１１、認証鍵生成部２１２、相互認証部２１３、及びリードライト部２１４により構成される。
【０１１０】
検知応答部２１１は、ポーリングコマンドを受信し、受信したポーリングコマンドに対するレスポンスを生成して送信する。また、検知応答部２１１は、通信相手（例えば、新旧対応Ｒ/Ｗ３１）から、所定の識別子に対応付けられた鍵バージョンを要求する鍵要求コマンドを受信する。
【０１１１】
そして、検知応答部２１１は、受信した鍵要求コマンドに対するレスポンスとして、所定の識別子に対応付けられた旧鍵バージョン0x0002の鍵値が無効化されていない場合、すなわち、記憶部１５９に記憶されている、所定の識別子に対応付けられた指定情報が、旧鍵バージョン0x0002を指定している場合には、旧鍵バージョン0x0002を送信する。
【０１１２】
また、検知応答部２１１は、旧鍵バージョン0x0002の鍵値が無効化されている場合、すなわち、記憶部１５９に記憶されている、所定の識別子に対応付けられた指定情報が、旧鍵バージョン0x1001を指定している場合には、新鍵バージョン0x1001を送信する。
【０１１３】
認証鍵生成部２１２は、検知応答部２１１から鍵バージョンが送信されたことに対応して、通信相手からのレスポンスを受信する。そして、認証鍵生成部２１２は、通信相手からのレスポンスに応じて決定した鍵バージョンの鍵値を記憶部１５９から読み出す。
【０１１４】
認証鍵生成部２１２は、読み出した鍵値に基づいて、通信相手との相互認証に用いる認証鍵を生成し、相互認証部２１３に供給する。
【０１１５】
相互認証部２１３は、認証鍵生成部２１２からの認証鍵を用いて、通信相手と相互認証を行い、相互認証に成功した場合、その旨をリードライト部２１４に通知する。
【０１１６】
リードライト部２１４は、相互認証部２１３から、相互認証に成功した旨を通知されたことに対応して、通信相手からのコマンドに応じて、データの読み書きを行う。
【０１１７】
[Ｒ／Ｗ処理の動作説明]
次に、図１１のフローチャートを参照して、アップデート期において、新旧対応Ｒ／Ｗ３１が行うＲ／Ｗ処理の詳細を説明する。図１１は、Ｒ／Ｗ処理を説明するためのフローチャートである。
【０１１８】
ステップＳ３１において、検知応答部１２１は、ポーリングコマンドを生成してアンテナ６１から送信する。また、検知応答部１２１は、通信相手（例えば新旧対応ICカード３２）からの、ポーリングコマンドに対するレスポンスを受信する。
【０１１９】
ステップＳ３２において、検知応答部１２１は、例えば、ユーザデータの読み書きを行おうとしているサービス定義領域の識別子を選択し、選択された識別子に対応付けられた鍵バージョンを要求する鍵要求コマンドを生成してアンテナ６１から送信する。
【０１２０】
これに対して、通信相手は、アンテナ６１からの鍵要求コマンドを受信し、そのレスポンスとして、鍵バージョンを送信する。
【０１２１】
すなわち、例えば、通信相手が新旧対応ICカード３２である場合、新旧対応ICカード３２は、新旧対応ICカード３２に記憶されている指定情報が、旧鍵バージョン0x0002を指定しているとき、旧鍵バージョン0x0002を送信し、指定情報が、新鍵バージョン0x1001を指定しているとき、新鍵バージョン0x1001を送信する。
【０１２２】
なお、通信相手が旧ICカードである場合には、旧ICカードは、鍵要求コマンドに対するレスポンスとして、旧鍵バージョン0x0001を送信する。
【０１２３】
ステップＳ３３において、検知応答部１２１は、鍵要求コマンドに対するレスポンスとして受信した鍵バージョンが、旧鍵バージョン0x0001、旧鍵バージョン0x0002、又は新鍵バージョン0x1001のいずれであるかを判定する。
【０１２４】
そして、検知応答部１２１は、その判定結果に基づいて、相互認証に用いる鍵値の鍵バージョンを決定する。検知応答部１２１は、決定した鍵バージョンを、非接触近接無線通信により送信するとともに、認証鍵生成部１２２に供給して、判定結果に応じたステップに処理を進める。
【０１２５】
すなわち、検知応答部１２１は、受信した鍵バージョンが旧鍵バージョン0x0001であると判定した場合、つまり、受信した旧鍵バージョン0x0001に基づいて通信相手が旧ICカードであると判定した場合、相互認証に用いる鍵バージョンを旧鍵バージョン0x0001に決定する。そして、検知応答部１２１は、決定した旧鍵バージョン0x0001を認証鍵生成部１２２に供給して、処理をステップＳ３４に進める。
【０１２６】
ステップＳ３４において、認証鍵生成部１２２は、検知応答部１２１から供給される旧鍵バージョン0x0001の鍵値を、記憶部７０から読み出す。そして、認証鍵生成部１２２は、読み出した鍵値から認証鍵を生成し、相互認証部１２３に供給して、処理をステップＳ３５に進める。
【０１２７】
ステップＳ３５において、相互認証部１２３は、相互認証の開始を通信相手（いまの場合、旧ICカード）に通知し、認証鍵生成部１２２からの認証鍵に基づいて、通信相手との相互認証を行う。そして、相互認証部１２３は、相互認証に成功した場合、その旨をリードライト部１２４に通知する。
【０１２８】
ステップＳ３６において、リードライト部１２４は、鍵バージョン0x0001の鍵値を用いて暗号化した通信路において、通信相手（いまの場合、旧ICカード）のサービス定義領域に記憶されているユーザデータの読み出しを指示する読み出しコマンドを送信する。
【０１２９】
ステップＳ３７において、リードライト部１２４は、読み出しコマンドに対するレスポンスに含まれるユーザデータを更新し、更新後のユーザデータを、通信相手のサービス定義領域に書き込むことを指示する書込みコマンドを送信して、処理を終了する。
【０１３０】
また、ステップＳ３３において、検知応答部１２１は、受信した鍵バージョンが旧鍵バージョン0x0002であると判定した場合、つまり、受信した旧鍵バージョン0x0002に基づいて通信相手が新旧対応ICカード３２であると判定した場合、相互認証に用いる鍵バージョンを新鍵バージョン0x1001に決定する。そして、検知応答部１２１は、決定した新鍵バージョン0x1001を通信相手に送信するとともに、認証鍵生成部１２２に供給して、処理をステップＳ３８に進める。
【０１３１】
ステップＳ３８において、認証鍵生成部１２２は、検知応答部１２１から供給される新鍵バージョン0x1001の鍵値を、記憶部７０から読み出す。そして、認証鍵生成部１２２は、読み出した鍵値から認証鍵を生成し、相互認証部１２３に供給して、処理をステップＳ３９に進める。
【０１３２】
ステップＳ３９において、相互認証部１２３は、相互認証の開始を通信相手（いまの場合、無効化処理前の新旧対応ICカード３２）に通知し、認証鍵生成部１２２からの認証鍵に基づいて、通信相手との相互認証を行う。そして、相互認証部１２３は、相互認証に成功した場合、その旨をリードライト部１２４に通知する。
【０１３３】
ステップＳ４０及びステップＳ４１において、ステップＳ３６及びステップＳ３７と同様の処理が行われる。そして、ステップＳ４２において、リードライト部１２４は、新鍵バージョン0x1001の鍵値を用いて暗号化した通信路において、旧鍵バージョン0x0002の鍵値を使用不可にする（旧鍵バージョン0x0002を指定する指定情報を、新鍵バージョン0x1001を指定する指定情報に更新する）ための無効化コマンドを送信する無効化処理を行い、処理を終了する。
【０１３４】
さらに、ステップＳ３３において、検知応答部１２１は、受信した鍵バージョンが新鍵バージョン0x1001であると判定した場合、相互認証に用いる鍵バージョンを新鍵バージョン0x1001に決定する。そして、検知応答部１２１は、決定した新鍵バージョン0x1001を認証鍵生成部１２２に供給して、処理をステップＳ４３に進める。
【０１３５】
ステップＳ４３において、認証鍵生成部１２２は、検知応答部１２１から供給される新鍵バージョン0x1001の鍵値を、記憶部７０から読み出す。そして、認証鍵生成部１２２は、読み出した鍵値から認証鍵を生成し、相互認証部１２３に供給して、処理をステップＳ４４に進める
【０１３６】
ステップＳ４４において、相互認証部１２３は、相互認証の開始を通信相手（いまの場合、無効化処理後の新旧対応ICカード３２）に通知し、認証鍵生成部１２２からの認証鍵に基づいて、通信相手との相互認証を行う。そして、相互認証部１２３は、相互認証に成功した場合、その旨をリードライト部１２４に通知する。
【０１３７】
ステップＳ４５及びステップＳ４６において、ステップＳ３６及びステップＳ３７と同様の処理が行われる。以上で、Ｒ／Ｗ処理は終了される。
【０１３８】
[ICカード処理の動作説明]
次に、図１２のフローチャートを参照して、アップデート期において、新旧対応Ｒ／Ｗ３１との間で、新旧対応ICカード３２が行うICカード処理の詳細を説明する。図１２は、ICカード処理を説明するためのフローチャートである。
【０１３９】
ステップＳ６１において、検知応答部２１１は、新旧対応Ｒ／Ｗ３１からのポーリングコマンドを受信し、受信したポーリングコマンドに対するレスポンスを生成して、アンテナ１５１により送信させる。
【０１４０】
ステップＳ６２において、検知応答部２１１は、新旧対応Ｒ／Ｗ３１からの鍵要求コマンドを受信する。
【０１４１】
ステップＳ６３において、検知応答部２１１は、受信した鍵要求コマンドに基づいて選択されたサービス定義領域の識別子が記憶部１５９に記憶されているか否かを判定する。
【０１４２】
そして、ステップＳ６３において、検知応答部２１１は、受信した鍵要求コマンドに基づいて選択されたサービス定義領域の識別子が記憶部１５９に記憶されていないと判定した場合、処理をステップＳ６４に進める。ステップＳ６４では、検知応答部２１１は、鍵要求コマンドに対するレスポンスとして、エラーコード0xFFFF送信（返信）する。
【０１４３】
また、ステップＳ６３において、検知応答部２１１は、受信した鍵要求コマンドに基づいて選択されたサービス定義領域の識別子が記憶部１５９に記憶されていると判定した場合、処理をステップＳ６５に進める。
【０１４４】
ステップＳ６５において、検知応答部２１１は、受信した鍵要求コマンドに基づいて選択されたサービス定義領域の識別子に対応付けられている指定情報が、新鍵バージョン0x1001を指定しているか否か、すなわち、旧鍵バージョン0x0002の鍵値が無効化されているか否かを判定する。
【０１４５】
そして、検知応答部２１１は、指定情報が、新鍵バージョン0x1001を指定していると判定した場合、すなわち、旧鍵バージョン0x0002の鍵値が無効化されていると判定した場合、処理をステップＳ６６に進める。
【０１４６】
ステップＳ６６において、検知応答部２１１は、新鍵バージョン0x1001を、鍵要求コマンドに対するレスポンスとして送信する。
【０１４７】
そして、ステップＳ６７において、認証鍵生成部２１２は、新鍵バージョン0x1001の鍵値を、記憶部１５９から読み出す。また、認証鍵生成部２１２は、読み出した鍵値に基づいて認証鍵を生成し、相互認証部２１３に供給する。
【０１４８】
ステップＳ６８において、相互認証部２１３は、新旧対応Ｒ／Ｗ３１からの相互認証の開始が通知されたことに対応して、認証鍵生成部２１２からの認証鍵を用いて相互認証を行う。そして、相互認証部２１３は、新旧対応Ｒ／Ｗ３１との相互認証に成功した場合、その旨をリードライト部２１４に通知して、処理をステップＳ６９に進める。
【０１４９】
ステップＳ６９において、リードライト部２１４は、新鍵バージョン0x1001の鍵値を用いて暗号化した通信路において、新旧対応Ｒ/Ｗ３１からの読み出しコマンドに対するレスポンスを生成して送信する。
【０１５０】
ステップＳ７０において、リードライト部２１４は、新旧対応Ｒ／Ｗ３１からの書き込みコマンドに対するレスポンスを生成して送信する。
【０１５１】
ステップＳ６５において、検知応答部２１１は、指定情報が、旧鍵バージョン0x0002を指定していると判定した場合、すなわち、旧鍵バージョン0x0002の鍵値が無効化されていないと判定した場合、処理をステップＳ７１に進める。
【０１５２】
ステップＳ７１において、検知応答部２１１は、旧鍵バージョン0x0002を、鍵要求コマンドに対するレスポンスとして送信する。
【０１５３】
これに対して、新旧対応Ｒ/Ｗ３１は、鍵要求コマンドに対するレスポンスとして、旧鍵バージョン0x0002を受信したことに対応して、相互認証に用いる鍵値の鍵バージョンとして、新鍵バージョン0x1001を送信する。
【０１５４】
そして、ステップＳ７２において、認証鍵生成部２１２は、新旧対応Ｒ/Ｗ３１から新鍵バージョン0x1001を受信したことに対応して、新鍵バージョン0x1001の鍵値を、記憶部１５９から読み出す。また、認証鍵生成部２１２は、読み出した鍵値に基づいて認証鍵を生成し、相互認証部２１３に供給する。
【０１５５】
ステップＳ７３乃至ステップＳ７５では、ステップＳ６８乃至ステップＳ７０と同様の処理が行われる。
【０１５６】
ステップＳ７６では、リードライト部２１４は、新旧対応Ｒ/Ｗ３１からの無効化コマンドに応じて、対応する指定情報を、旧鍵バージョン0x0002を指定する指定情報から、新鍵バージョン0x1001を指定する指定情報に変更することにより、旧鍵バージョン0x0002の鍵値を無効化する。以上で、ICカード処理は終了される。
【０１５７】
以上説明したように、Ｒ/Ｗ処理では、新旧対応Ｒ/Ｗ３１が、旧Ｒ/Ｗと旧ICカードとの間等で行われる従来の非接触近接無線通信と同様に、通信相手から取得した鍵バージョンに基づいて、相互認証に用いる鍵値の鍵バージョンを決定するようにした。
【０１５８】
したがって、Ｒ/Ｗ処理では、従来の非接触近接無線通信による手順（シーケンス）と同様の手順で、通信相手に応じて異なる鍵バージョンの鍵値を用いた非接触近接無線通信を行うことができる。
【０１５９】
このため、Ｒ/Ｗ処理では、従来の非接触近接無線通信と同様の処理時間により処理を終了させることが可能となるため、比較的、短時間で処理を終了させる必要がある新旧対応Ｒ/Ｗ３１において、支障をきたすことなく処理を行うことができる。
【０１６０】
また、Ｒ/Ｗ処理では、従来の非接触近接無線通信による手順（シーケンス）と同様の手順で、相互認証に用いる鍵値の鍵バージョンを決定するようにしたので、それぞれ異なる通信相手との相互認証に用いる鍵値の鍵バージョンを決定するためのプロトコル（取決め）を新たに定義する必要がなくなる。
【０１６１】
さらに、Ｒ/Ｗ処理では、新旧対応Ｒ/Ｗ３１が、鍵要求コマンドに対するレスポンスとして、通信相手から旧鍵バージョン0x0002を取得した場合には、通信相手（新旧対応ICカード３２）が保持する旧鍵バージョン0x0002の鍵値を無効化するためのコマンドを送信するようにした。
【０１６２】
そして、ICカード処理では、新旧対応ICカード３２が、旧鍵バージョン0x0002の鍵値を無効化するためのコマンドに応じて、旧鍵バージョン0x0002の鍵値を無効化するようにしたので、非接触近接無線通信に用いる鍵値の鍵バージョンを、旧鍵バージョン0x0002から新鍵バージョン0x1001に更新することができる。
【０１６３】
＜２．変形例＞
本実施の形態では、旧Ｒ/Ｗが、旧鍵バージョン0x0001の鍵値、及び旧鍵バージョン0x0002の鍵値を保持するようにした。
【０１６４】
しかし、旧Ｒ/Ｗが、旧鍵バージョン0x0002の鍵値を保持せずに、旧鍵バージョン0x0001の鍵値のみを保持している場合、新旧対応ICカード３２は、旧Ｒ/Ｗとの非接触近接無線通信を行うことができるように、図１３に示されるように、旧鍵バージョン0x0002の鍵値に代えて、旧鍵バージョン0x0001の鍵値を保持している必要がある。
【０１６５】
[鍵値の対応付けの他の一例]
図１３は、サービス定義領域の識別子に、旧鍵バージョン0x0001の鍵値と新鍵バージョン0x1001の鍵値が対応付けられている他の様子の一例を示している。
【０１６６】
図１３において、識別子1008hには、ユーザデータの他、旧鍵バージョン0x0001のサービス鍵を表す鍵値23456789…h、及び新鍵バージョン0x1001のサービス鍵を表す鍵値12345678…hが対応付けられている。
【０１６７】
ところで、新旧対応ICカード３２が、図１３に示したように、旧鍵バージョン0x0001の鍵値を保持している場合、移行期において、新旧対応Ｒ／Ｗ３１等からの鍵要求コマンドに対するレスポンスとして、旧鍵バージョン0x0001を送信する。
【０１６８】
また、上述したように、旧ICカードは、新旧対応Ｒ／Ｗ３１等からの鍵要求コマンドに対するレスポンスとして、旧鍵バージョン0x0001を送信する。
【０１６９】
したがって、新旧対応Ｒ／Ｗ３１において、新旧対応ICカード３２から送信されてくる旧鍵バージョン0x0001と、旧ICカードから送信されてくる旧鍵バージョン0x0001とは同一となる。
【０１７０】
このため、新旧対応Ｒ／Ｗ３１では、鍵要求コマンドに対するレスポンスとして送信されてくる旧鍵バージョン0x0001に基づいて、通信相手が、新旧対応ICカード３２であるのか、旧ICカードであるのかを判定することができない。
【０１７１】
この場合、新旧対応Ｒ／Ｗ３１は、旧ICカードと新旧対応ICカード３２とを区別することができないため、移行期において、旧ICカードと新旧対応ICカード３２とで異なる鍵バージョンの鍵値を用いた非接触近接無線通信を行うことができなくなってしまう。
【０１７２】
また、アップデート期においても、新旧対応Ｒ／Ｗ３１は、旧ICカードと新旧対応ICカード３２とを区別することができないため、新旧対応ICカード３２に対して無効化処理を行うことができない。
【０１７３】
そこで、図１４に示されるように、旧ICカードの記憶領域のディレクトリ構造と、新旧対応ICカード３２のディレクトリ構造とを異なるように構成することで、新旧対応Ｒ／Ｗ３１は、通信相手が、新旧対応ICカード３２であるのか、旧ICカードであるのかを判定できるようにしている。
【０１７４】
[ディレクトリ構造の差分についての一例]
次に、図１４は、旧ICカードのディレクトリ構造、及び新旧対応ICカード３２のディレクトリ構造それぞれの一例を示している。
【０１７５】
図１４左側は、旧ICカードのディレクトリ構造を示しており、図１４右側は、新旧対応ICカード３２のディレクトリ構造を示している。
【０１７６】
新旧対応ICカード３２のディレクトリ構造には、識別子0x3000に対応するエリア定義領域が存在する。これに対して、旧ICカードのディレクトリ構造には、識別子0x3000に対応するエリア定義領域は存在しない。
【０１７７】
また、識別子0x3000には、新鍵バージョン0x1001が対応付けられている。なお、新旧対応ICカード３２のディレクトリ構造は、識別子0x3000に対応するエリア定義領域が存在することを除いては、旧ICカードのディレクトリ構造と同一のものとなっている。
【０１７８】
新旧対応Ｒ／Ｗ３１は、鍵要求コマンドに対するレスポンスとして、旧鍵バージョン0x0001を受信した場合、通信相手が、旧ICカード又は新旧対応ICカード３２のいずれであるのかを判定するために、識別子0x3000に対応付けられている鍵バージョンを要求する。
【０１７９】
そして、新旧対応Ｒ／Ｗ３１は、その要求に対するレスポンスとして、新鍵バージョン0x1001を受信した場合、識別子0x3000に対応する領域が存在するといえるため、通信相手を、新旧対応ICカード３２であると判定することができる。
【０１８０】
また、新旧対応Ｒ／Ｗ３１は、その要求に対するレスポンスとして、エラーコード0xFFFFを受信した場合、識別子0x3000に対応する領域が存在しないといえるため、通信相手を、旧ICカードであると判定することができる。
【０１８１】
したがって、新旧対応Ｒ／Ｗ３１では、識別子0x3000に対応するエリア定義領域の鍵値の鍵バージョンを要求するという既存のシーケンスにより、通信相手を判定することができるため、通信相手を判定するための新たなシーケンスを増やすことなく、通信相手を判定することが可能となる。
【０１８２】
次に、図１５は、旧鍵バージョンが0x0001のみである場合に、移行期において行われる非接触近接無線通信の概要を示している。
【０１８３】
移行期において、図１５Aに示されるように、旧鍵バージョン0x0001の鍵値を保持する旧Ｒ／Ｗは、鍵バージョンの取得要求により、ICカードから旧鍵バージョン0x0001を取得した場合、すなわち、そのICカードは旧ICカード又は新旧対応ICカード３２である場合、旧Ｒ／Ｗと、旧ICカード又は新旧対応ICカード３２との間で、旧鍵バージョン0x0001の鍵値を用いた非接触近接無線通信を行う。
【０１８４】
また、移行期において、図１５Bに示されるように、旧鍵バージョン0x0001の鍵値、及び新鍵バージョン0x1001の鍵値を保持する新旧対応Ｒ／Ｗ３１は、鍵バージョンの取得要求により、ICカードから旧鍵バージョン0x0001を取得した場合、例えば、識別子0x3000に対応するエリア定義領域の鍵バージョンの取得要求を行う。
【０１８５】
そして、新旧対応Ｒ／Ｗ３１は、取得要求に対するレスポンスとして、エラーコード0xFFFFを受信した場合、通信相手を旧ICカードであると判定し、旧鍵バージョン0x0001の鍵値を用いた非接触近接無線通信を行う。
【０１８６】
また、新旧対応Ｒ／Ｗ３１は、取得要求に対するレスポンスとして、新鍵バージョン0x1001を受信した場合、通信相手を新旧対応ICカード３２であると判定し、新鍵バージョン0x1001の鍵値を用いた非接触近接無線通信を行う。
【０１８７】
次に、図１６は、旧鍵バージョンが0x0001のみである場合に、アップデート期において行われる非接触近接無線通信の概要を示している。
【０１８８】
アップデート期において、図１６Aに示されるように、新旧対応Ｒ／Ｗ３１は、鍵バージョンの取得要求により、ICカードから取得した鍵バージョンが0x0001である場合、識別子0x3000に対応する領域の鍵バージョンの取得要求を行う。
【０１８９】
そして、新旧対応Ｒ／Ｗ３１は、取得要求に対するレスポンスとして、新鍵バージョン0x1001を受信した場合、通信相手を新旧対応ICカード３２であると判定し、新鍵バージョン0x1001の鍵値を用いた非接触近接無線通信を行う。
【０１９０】
この場合、新旧対応Ｒ／Ｗ３１は、非接触近接無線通信において、新旧対応ICカード３２に対して、旧鍵バージョン0x0001の鍵値を無効化する無効化処理を行う。
【０１９１】
新旧対応ICカード３２は、無効化処理により無効化された後、図１６Bに示されるように、旧Ｒ／Ｗからの取得要求に応じて、新鍵バージョン0x1001を送信する。この場合、旧Ｒ／Ｗは、新鍵バージョン0x1001の鍵値を保持していないため、旧Ｒ／Ｗと新鍵バージョン0x1001の鍵値を用いた非接触近接無線通信を行うことはできない。
【０１９２】
また、新旧対応ICカード３２は、無効化処理により無効化された後、図１６Cに示されるように、新旧対応Ｒ／Ｗ３１において、鍵バージョンの取得要求により、ICカードから取得した鍵バージョンが0x1001である場合、すなわち、ICカードは新旧対応ICカードである場合、新旧対応Ｒ／Ｗ３１と新旧対応ICカード３２との間で、鍵バージョン0x1001の鍵バージョンの鍵値の鍵値を用いた非接触近接無線通信が行われる。
【０１９３】
なお、図１４では、新旧対応ICカード３２のディレクトリ構造には、旧ICカードのディレクトリ構造には存在しない領域として、例えば、識別子0x3000に対応するエリア定義領域が存在することを説明したが、旧ICカードのディレクトリ構造には存在しない領域はこれに限定されない。
【０１９４】
すなわち、例えば、新旧対応ICカード３２のディレクトリ構造には、他の階層に、旧ICカードのディレクトリ構造には存在しない領域が存在するようにしてもよいし、旧ICカードのディレクトリ構造には存在しない領域として、サービス定義領域を採用するようにしてもよい。
【０１９５】
また、本実施の形態では、サービス定義領域の識別子に対応付けられている鍵値を用いて相互認証を行うようにしたが、その他、エリア定義領域の識別子に対応付けられている鍵値を用いて相互認証することが可能である。
【０１９６】
さらに、本実施の形態では、非接触カードシステム１において、新旧対応ICカード３２を、非接触近接無線通信を行う、いわゆる非接触型のICカードとしたが、その他、いわゆる接触型のICカードとすることも可能である。
【０１９７】
また、本実施の形態では、移行期において、新旧対応Ｒ/Ｗ３１と新旧対応ICカード３２との間では、新鍵バージョン0x1001を用いた非接触近接無線通信を行うようにした。しかし、新旧対応Ｒ/Ｗ３１と新旧対応ICカード３２とが、いずれも、同一の旧鍵バージョン0x0001の鍵値を保持している場合には、新鍵バージョン0x1001を用いた非接触近接無線通信に代えて、旧鍵バージョン0x0001を用いた非接触近接無線通信を行うようにしてもよい。
【０１９８】
この場合、新旧対応ICカード３２は、新旧対応Ｒ/Ｗ３１からの鍵バージョンの取得要求に応じて、旧鍵バージョン0x0001を返信する。そして、新旧対応ICカード３２は、旧鍵バージョン0x0001を受信した新旧対応Ｒ/Ｗ３１から、旧鍵バージョン0x0001の鍵値を用いた相互認証の開始が通知されたことに対応して、新旧対応Ｒ/Ｗ３１との相互認証を開始して非接触近接無線通信を行う。
【０１９９】
また、新旧対応ICカード３２は、移行期において、旧Ｒ/Ｗとの旧鍵バージョン0x0001（又は旧鍵バージョン0x0002）を用いた相互認証を行う場合にも同様の処理により相互認証を行う。すなわち、例えば、新旧対応ICカード３２は、旧Ｒ/Ｗからの鍵バージョンの取得要求に応じて、旧鍵バージョン0x0001（又は旧鍵バージョン0x0002）を返信する。そして、新旧対応ICカード３２は、旧鍵バージョン0x0001を受信した旧Ｒ/Ｗから、旧鍵バージョン0x0001の鍵値を用いた相互認証の開始が通知されたことに対応して、旧Ｒ/Ｗとの相互認証を開始して非接触近接無線通信を行う。
【０２００】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０２０１】
また、本明細書において、プログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２０２】
さらに、本発明の実施の形態は、上述した本実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０２０３】
１  非接触カードシステム，  ３１  Ｒ/Ｗ，  ３２  ICカード，  ３３  コントローラ，  ６１  アンテナ，  ６２  復調部，  ６３  SPU，  ６４  変調部，  ６５  発振回路，  ６６  バス，  ６７  CPU，  ６８  RAM,  ６９  ROM,  ７０  記憶部，  ９１  制御部，  １２１  検知応答部，  １２２  認証鍵生成部，  １２３  相互認証部，  １２４  リードライト部，  １５１  アンテナ，  １５２  復調部，  １５３  SPU，  １５４  負荷変調部，  １５５  バス，  １５６  CPU，  １５７  RAM，  １５８  ROM,  １５９  記憶部，  １８１  制御部，  ２１１  検知応答部，  ２１２  認証鍵生成部，  ２１３  相互認証部，  ２１４  リードライト部
【図１】
0005509763.tif 000002
【図２】
0005509763.tif 000003
【図３】
0005509763.tif 000004
【図４】
0005509763.tif 000005
【図５】
0005509763.tif 000006
【図６】
0005509763.tif 000007
【図７】
0005509763.tif 000008
【図８】
0005509763.tif 000009
【図９】
0005509763.tif 000010
【図１０】
0005509763.tif 000011
【図１１】
0005509763.tif 000012
【図１２】
0005509763.tif 000013
【図１３】
0005509763.tif 000014
【図１４】
0005509763.tif 000015
【図１５】
0005509763.tif 000016
【図１６】
0005509763.tif 000017