(57)【要約】【課題】非接触ICカードを利用する複数のサービスにそれぞれ対応するAPを切り換えて実行するに際し、APとそれに対応するデータを、他のAPからアクセスできないように保護する。【解決手段】CPU１１は、不揮発性メモリ１８に格納されている制御用プログラム２１を実行することによって、AP切換装置５の基本的な動作を制御する。また、CPU１１は、I/O接続された不揮発性メモリ１８に暗号化された状態で保存されている複数のアプリケーションプログラムのうち、コントローラから指定されたものを読み出して復号し、バス接続されたメモリ１７のAP実行領域にロードして実行する。メモリ１７のAP実行領域には実行されるAPとこれに対応するプライベートデータもロードされる。本発明は、種類の異なる非接触ICカードに対してデータを読み書きできるようにリーダライタを制御するシステムに適用できる。【選択図】図２
2007310517.tif 000002
【特許請求の範囲】
【請求項１】
非接触IC(Integrated Circuit)カードに対してデータを読み書きするリーダライタを、前記非接触ICカードを利用したサービスの種類に応じたアプリケーションプログラムを実行することによって制御する情報処理装置において、
前記非接触ICカードを利用したサービスの種類に応じたアプリケーションプログラムを取得する取得手段と、
取得されたアプリケーションプログラムと前記アプリケーションプログラムによって処理される処理データを暗号化する暗号化手段と、
暗号化された状態のアプリケーションプログラムと対応する処理データを復号する復号手段と、
暗号化された状態のアプリケーションプログラムと対応する処理データを保存する第１の記憶手段と、
復号されたアプリケーションプログラムと対応する処理データがロードされる第２の記憶手段と、
前記第１および第２の記憶手段を管理する管理手段と、
前記第２の記憶手段にロードされた前記アプリケーションプログラムを実行する実行手段とを含み、
前記管理手段は、第１のアプリケーションプログラムの起動が指示されたことに対応し、前記第１のアプリケーションプログラムとは異なる第２のアプリケーションプログラムに対応する処理データを前記第２の記憶手段から読み出し、読み出した前記処理データを前記暗号化手段に暗号化させ、暗号化された状態の前記処理データを前記第１の記憶手段に保存させ、前記第２の記憶手段をクリアした後、前記第１の記憶手段から暗号化された状態の前記第１のアプリケーションプログラムと対応する処理データを読み出し、読み出した暗号化された状態の前記第１のアプリケーションプログラムと対応する処理データを復号手段に復号させ、復号された状態の前記第１のアプリケーションプログラムと対応する処理データを前記第２の記憶手段にロードする
情報処理装置。
【請求項２】
前記実行手段は、第１のアプリケーションプログラムの起動が指示されたことに対応し、前記第２の記憶手段に前記第１のアプリケーションプログラムがロードされているか否かを判定し、
前記管理手段は、前記第２の記憶手段に前記第１のアプリケーションプログラムがロードされていないと判定された場合、前記第１のアプリケーションプログラムとは異なる第２のアプリケーションプログラムに対応する処理データを前記第２の記憶手段から読み出し、読み出した前記処理データを前記暗号化手段に暗号化させ、暗号化された状態の前記処理データを前記第１の記憶手段に保存させ、前記第２の記憶手段をクリアした後、前記第１の記憶手段から暗号化された状態の前記第１のアプリケーションプログラムと対応する処理データを読み出し、読み出した暗号化された状態の前記第１のアプリケーションプログラムと対応する処理データを復号手段に復号させ、復号された状態の前記第１のアプリケーションプログラムと対応する処理データを前記第２の記憶手段にロードする
請求項１に記載の情報処理装置。
【請求項３】
前記第１の記憶手段は不揮発性メモリであり、
前記第２の記憶手段は揮発性メモリである
請求項１に記載の情報処理装置。
【請求項４】
実行中のアプリケーションプログラムに従い、前記非接触ICカードに対してデータを読み書きする非接触通信手段を
さらに含む
請求項１に記載の情報処理装置。
【請求項５】
暗号化された状態のアプリケーションプログラムと対応する処理データを保存する第１の記憶手段と、
復号されたアプリケーションプログラムと対応する処理データがロードされる第２の記憶手段と、
前記第２の記憶手段にロードされた前記アプリケーションプログラムを実行する実行手段とを備え、
前記非接触IC(Integrated Circuit)カードに対してデータを読み書きするリーダライタを、前記非接触ICカードを利用したサービスの種類に応じたアプリケーションプログラムを実行することによって制御する情報処理装置の情報処理方法において、
第１のアプリケーションプログラムの起動が指示されたことに対応し、前記第１のアプリケーションプログラムとは異なる第２のアプリケーションプログラムに対応する処理データを前記第２の記憶手段から読み出し、
読み出された前記処理データを暗号化し、
暗号化された状態の前記処理データを前記第１の記憶手段に保存し、
前記第２の記憶手段をクリアし、
前記第１の記憶手段から暗号化された状態の前記第１のアプリケーションプログラムと対応する処理データを読み出し、
読み出された暗号化された状態の前記第１のアプリケーションプログラムと対応する処理データを復号し、
復号された状態の前記第１のアプリケーションプログラムと対応する処理データを前記第２の記憶手段にロードする
ステップを含む情報処理方法。
【請求項６】
暗号化された状態のアプリケーションプログラムと対応する処理データを保存する第１の記憶手段と、
復号されたアプリケーションプログラムと対応する処理データがロードされる第２の記憶手段と、
前記第２の記憶手段にロードされた前記アプリケーションプログラムを実行する実行手段とを備え、
前記非接触IC(Integrated Circuit)カードに対してデータを読み書きするリーダライタを、前記非接触ICカードを利用したサービスの種類に応じたアプリケーションプログラムを実行することによって制御する情報処理装置の制御用のプログラムであって、
第１のアプリケーションプログラムの起動が指示されたことに対応し、前記第１のアプリケーションプログラムとは異なる第２のアプリケーションプログラムに対応する処理データを前記第２の記憶手段から読み出し、
読み出された前記処理データを暗号化し、
暗号化された状態の前記処理データを前記第１の記憶手段に保存し、
前記第２の記憶手段をクリアし、
前記第１の記憶手段から暗号化された状態の前記第１のアプリケーションプログラムと対応する処理データを読み出し、
読み出された暗号化された状態の前記第１のアプリケーションプログラムと対応する処理データを復号し、
復号された状態の前記第１のアプリケーションプログラムと対応する処理データを前記第２の記憶手段にロードする
ステップを含む処理を実行手段に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法、並びにプログラムに関し、特に、非接触ICカードを利用したサービス提供者の種類に応じたアプリケーションプログラムを実行することにより、非接触ICカードに対してデータを読み書きするリーダライタを制御するようにした情報処理装置および情報処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
FeliCa（登録商標）に代表される非接触ICカードを利用したサービスが複数のサービス提供者によって提供されている。例えば第１のサービス提供者によれば、非接触ICカードに鉄道等の定期券、乗車券、電子マネーなどの機能を持たせている。また第２のサービス提供者によれば、非接触ICカードに電子マネーの機能を持たせている（例えば、特許文献１参照）。
【０００３】
以下、第１のサービス提供者によって提供されるサービス、それに対応する非接触ICカードおよびリーダライタを、それぞれ第１のサービス、第１の非接触ICカード、および第１のリーダライタと記述する。第２のサービス提供者によって提供されるサービス、それに対応する非接触ICカードおよびリーダライタについても同様に記述する。
【０００４】
従来、第１のリーダライタは第１の非接触ICカードとだけデータの通信が可能であって、第２の非接触ICカードとデータを通信することができない。第２のリーダライタについても同様である。
【０００５】
従って、例えばある店舗において第１のサービスと第２のサービスの両方に対応しようとした場合、第１のリーダライタと第２のリーダライタの２台を設ける必要がある。
【０００６】
しかしながら、１つの店舗に同様の機器を２台設けることはコスト高となり、リーダライタを配置するスペースの利用効率が悪いので、１台のリーダライタが複数の異なるサービスにそれぞれ対応する複数の非接触ICカードと通信可能となることが望まれている。
【０００７】
【特許文献１】特開２００４−２１５２５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
１台のリーダライタを複数のサービスに対応させるためには、リーダライタを制御する制御装置に各サービスにそれぞれ対応するアプリケーションプログラム（以下、APと記述する）を実行させる必要がある。ただし、各サービスはそれぞれ独立したものであるので、各サービスにそれぞれ対応するAPとそれが処理するデータは他のAPからアクセスできないように保護する必要がある。
【０００９】
このためには、当該制御装置において同時に実行できるAPを１つに限定し、必要に応じて実行するAPを切り換えればよい。
【００１０】
制御装置（以下、AP切換装置とも称する）において複数のAPを切り換えて実行させる場合には、各APにメモリエリアを分割し、分割したメモリエリアに対して動的にアドレス空間を割り当てる方法（例えば、MMU(Memory Management Unit)を用いた管理方法）や、各APにメモリエリアを分割し、分割したメモリエリアに合致するバイナリコードを作成する方法などが考えられる。
【００１１】
しかしながら、いずれの方法においても以下のような問題がある。AP切換装置のハードウェアリソースが潤沢でない場合、メモリエリア分割によるセキュリティ設定が複雑であった。またAP切換装置において複数のAPを保持する場合、通常、実行されていないAPや処理データは平文の状態でバス接続されたメモリ上に保持されるので、実行中の他のAPからこれらに対してアクセスできてしまう危険性があった。さらに、メモリに対するアクセスが発生する度に論理アドレス変換の処理が必要となるので、APのパフォーマンスに多大な影響を与えていた。
【００１２】
本発明はこのような状況に鑑みてなされたものであり、非接触ICカードを利用する複数のサービスにそれぞれ対応するAPを切り換えて実行するに際し、APとそれに対応するデータを、他のAPからアクセスできないように保護できるようにするものである。
【課題を解決するための手段】
【００１３】
本発明の一側面である情報処理装置は、非接触IC(Integrated Circuit)カードに対してデータを読み書きするリーダライタを、前記非接触ICカードを利用したサービスの種類に応じたアプリケーションプログラムを実行することによって制御する情報処理装置において、前記非接触ICカードを利用したサービスの種類に応じたアプリケーションプログラムを取得する取得手段と、取得されたアプリケーションプログラムと前記アプリケーションプログラムによって処理される処理データを暗号化する暗号化手段と、暗号化された状態のアプリケーションプログラムと対応する処理データを復号する復号手段と、暗号化された状態のアプリケーションプログラムと対応する処理データを保存する第１の記憶手段と、復号されたアプリケーションプログラムと対応する処理データがロードされる第２の記憶手段と、前記第１および第２の記憶手段を管理する管理手段と、前記第２の記憶手段にロードされた前記アプリケーションプログラムを実行する実行手段とを含み、前記管理手段は、第１のアプリケーションプログラムの起動が指示されたことに対応し、前記第１のアプリケーションプログラムとは異なる第２のアプリケーションプログラムに対応する処理データを前記第２の記憶手段から読み出し、読み出した前記処理データを前記暗号化手段に暗号化させ、暗号化された状態の前記処理データを前記第１の記憶手段に保存させ、前記第２の記憶手段をクリアした後、前記第１の記憶手段から暗号化された状態の前記第１のアプリケーションプログラムと対応する処理データを読み出し、読み出した暗号化された状態の前記第１のアプリケーションプログラムと対応する処理データを復号手段に復号させ、復号された状態の前記第１のアプリケーションプログラムと対応する処理データを前記第２の記憶手段にロードする。
【００１４】
前記実行手段は、第１のアプリケーションプログラムの起動が指示されたことに対応し、前記第２の記憶手段に前記第１のアプリケーションプログラムがロードされているか否かを判定し、前記管理手段は、前記第２の記憶手段に前記第１のアプリケーションプログラムがロードされていないと判定された場合、前記第１のアプリケーションプログラムとは異なる第２のアプリケーションプログラムに対応する処理データを前記第２の記憶手段から読み出し、読み出した前記処理データを前記暗号化手段に暗号化させ、暗号化された状態の前記処理データを前記第１の記憶手段に保存させ、前記第２の記憶手段をクリアした後、前記第１の記憶手段から暗号化された状態の前記第１のアプリケーションプログラムと対応する処理データを読み出し、読み出した暗号化された状態の前記第１のアプリケーションプログラムと対応する処理データを復号手段に復号させ、復号された状態の前記第１のアプリケーションプログラムと対応する処理データを前記第２の記憶手段にロードするようにすることができる。
【００１５】
前記第１の記憶手段は不揮発性メモリであり、前記第２の記憶手段は揮発性メモリであるようにすることができる。
【００１６】
本発明の一側面である情報処理装置は、実行中のアプリケーションプログラムに従い、前記非接触ICカードに対してデータを読み書きする非接触通信手段をさらに含むことができる。
【００１７】
本発明の一側面である情報処理方法は、暗号化された状態のアプリケーションプログラムと対応する処理データを保存する第１の記憶手段と、復号されたアプリケーションプログラムと対応する処理データがロードされる第２の記憶手段と、前記第２の記憶手段にロードされた前記アプリケーションプログラムを実行する実行手段とを備え、前記非接触IC(Integrated Circuit)カードに対してデータを読み書きするリーダライタを、前記非接触ICカードを利用したサービスの種類に応じたアプリケーションプログラムを実行することによって制御する情報処理装置の情報処理方法において、第１のアプリケーションプログラムの起動が指示されたことに対応し、前記第１のアプリケーションプログラムとは異なる第２のアプリケーションプログラムに対応する処理データを前記第２の記憶手段から読み出し、読み出された前記処理データを暗号化し、暗号化された状態の前記処理データを前記第１の記憶手段に保存し、前記第２の記憶手段をクリアし、前記第１の記憶手段から暗号化された状態の前記第１のアプリケーションプログラムと対応する処理データを読み出し、読み出された暗号化された状態の前記第１のアプリケーションプログラムと対応する処理データを復号し、復号された状態の前記第１のアプリケーションプログラムと対応する処理データを前記第２の記憶手段にロードするステップを含む。
【００１８】
本発明の一側面であるプログラムは、暗号化された状態のアプリケーションプログラムと対応する処理データを保存する第１の記憶手段と、復号されたアプリケーションプログラムと対応する処理データがロードされる第２の記憶手段と、前記第２の記憶手段にロードされた前記アプリケーションプログラムを実行する実行手段とを備え、前記非接触IC(Integrated Circuit)カードに対してデータを読み書きするリーダライタを、前記非接触ICカードを利用したサービスの種類に応じたアプリケーションプログラムを実行することによって制御する情報処理装置の制御用のプログラムであって、第１のアプリケーションプログラムの起動が指示されたことに対応し、前記第１のアプリケーションプログラムとは異なる第２のアプリケーションプログラムに対応する処理データを前記第２の記憶手段から読み出し、読み出された前記処理データを暗号化し、暗号化された状態の前記処理データを前記第１の記憶手段に保存し、前記第２の記憶手段をクリアし、前記第１の記憶手段から暗号化された状態の前記第１のアプリケーションプログラムと対応する処理データを読み出し、読み出された暗号化された状態の前記第１のアプリケーションプログラムと対応する処理データを復号し、復号された状態の前記第１のアプリケーションプログラムと対応する処理データを前記第２の記憶手段にロードするステップを含む処理を実行手段に実行させる。
【００１９】
本発明の一側面においては、第１のアプリケーションプログラムの起動が指示されたことに対応し、前記第１のアプリケーションプログラムとは異なる第２のアプリケーションプログラムに対応する処理データが前記第２の記憶手段から読み出され、読み出された前記処理データが暗号化され、暗号化された状態の前記処理データが前記第１の記憶手段に保存される。さらに、前記第２の記憶手段がクリアされ、前記第１の記憶手段から暗号化された状態の前記第１のアプリケーションプログラムと対応する処理データが読み出され、読み出された暗号化された状態の前記第１のアプリケーションプログラムと対応する処理データが復号され、復号された状態の前記第１のアプリケーションプログラムと対応する処理データが前記第２の記憶手段にロードされる。
【発明の効果】
【００２０】
本発明の一側面によれば、非接触ICカードを利用する複数のサービスにそれぞれ対応するAPを切り換えて実行することができる。また、本発明の一側面によれば、非接触ICカードを利用する複数のサービスにそれぞれ対応するAPとそれに対応するデータを、互いに他のAPから保護することができる。
【発明を実施するための最良の形態】
【００２１】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２２】
請求項１に記載の情報処理装置（例えば、図２のAP切換装置５）は、非接触ICカードを利用したサービスの種類に応じたアプリケーションプログラムを取得する取得手段（例えば、図５の外部通信部３２）と、取得されたアプリケーションプログラムと前記アプリケーションプログラムによって処理される処理データを暗号化する暗号化手段（例えば、図５の暗号化部３４）と、暗号化された状態のアプリケーションプログラムと対応する処理データを復号する復号手段（例えば、図５の復号部３５）と、暗号化された状態のアプリケーションプログラムと対応する処理データを保存する第１の記憶手段（例えば、図２の不揮発性メモリ１８）と、復号されたアプリケーションプログラムと対応する処理データがロードされる第２の記憶手段（例えば、図２のメモリ１７）と、前記第１および第２の記憶手段を管理する管理手段（例えば、図５のメモリ管理部３３）と、前記第２の記憶手段にロードされた前記アプリケーションプログラムを実行する実行手段（例えば、図５のAP実行部３６）とを含む。
【００２３】
請求項４に記載の情報処理装置は、実行中のアプリケーションプログラムに従い、前記非接触ICカードに対してデータを読み書きする非接触通信手段（例えば、図１のリーダライタ３）をさらに含む。
【００２４】
請求項５に記載の情報処理方法、および請求項６に記載のプログラムは、第１のアプリケーションプログラムの起動が指示されたことに対応し、前記第１のアプリケーションプログラムとは異なる第２のアプリケーションプログラムに対応する処理データを前記第２の記憶手段から読み出し（例えば、図７のステップＳ１３）、読み出された前記処理データを暗号化し（例えば、図７のステップＳ１４）、暗号化された状態の前記処理データを前記第１の記憶手段に保存し（例えば、図７のステップＳ１５）、前記第２の記憶手段をクリアし（例えば、図７のステップＳ１６）、前記第１の記憶手段から暗号化された状態の前記第１のアプリケーションプログラムと対応する処理データを読み出し（例えば、図７のステップＳ１７）、読み出された暗号化された状態の前記第１のアプリケーションプログラムと対応する処理データを復号し（例えば、図７のステップＳ１８）、復号された状態の前記第１のアプリケーションプログラムと対応する処理データを前記第２の記憶手段にロードする（例えば、図７のステップＳ１９）ステップを含む。
【００２５】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００２６】
図１は本発明の一実施の形態である非接触ICカード通信システムの構成例を示している。この非接触ICカード通信システム１は、非接触ICカード２に対してデータを読み書きするリーダライタ３、APを実行することによってリーダライタ３を制御するAP切換装置５、およびAP切換装置５において実行すべきAPを指定するコントローラ６から構成される。
【００２７】
非接触ICカード２は、リーダライタ３に内蔵されたRFアンテナ４から輻射される電磁波を用いた電磁誘導により発電し、発電した電力を利用してリーダライタ３とデータを通信したり、非接触ICカード２の内部においてデータを記録したりする。
【００２８】
リーダライタ３は、AP切換装置５において実行されるAPが切り換えられることにより、サービス提供者がそれぞれ異なる複数の非接触ICカード２に対応することができる。
【００２９】
AP切換装置５は、予め保持している複数のAPのうち、コントローラ６から指定されたAPを実行する。またAP切換装置５は、コントローラ６からの制御に基づき、外部から新たにAPを追加して保持することができる。これにより、リーダライタ３が対応できる非接触ICカード２の種類を増加させることができる。
【００３０】
コントローラ６は、例えば非接触ICカード２の種類を選択するユーザの操作に対応し、選択されたサービスに対応するAPを実行するようAP切換装置５を制御する。また、コントローラ６は、AP切換装置５に対して新たなAPを取得させることができる。したがって、対応するサービス提供業者の数を増加させたり、APの改訂などに対応したりすることができる。
【００３１】
図２は、AP切換装置５の第１の構成例を示している。AP切換装置５は、後述する各種プログラムを実行するCPU１１、バス１２を介してCPU１１に接続された、AP切換装置５の基本的な動作を制御するための制御用プログラム２１が格納される不揮発性メモリ１８、コントローラ６が接続されるコントローラI/F（インタフェース）１４、リーダライタ３が接続されるリーダライタI/F１５、外部機器と接続される外部I/F１６、および、APの実行領域として利用されるメモリ１７、並びにCPU１１とI/O接続されたAPなどの保存領域として利用される不揮発性メモリ１８から構成される。
【００３２】
メモリ１７には、常にその同一アドレス上に同一サイズのAP実行領域が設けられ、AP実行領域には実行されるAPが復号された状態のAP２６と当該AP２６によって処理されるプライベートデータ（以下、PDと記述する）２７がロードされる。なお、メモリ１７は、揮発性メモリまたは不揮発性メモリのいずれでもよいが、不揮発性メモリよりも安価な揮発性メモリを用いれば、製造コストを抑えることができる。
【００３３】
不揮発性メモリ１８には、AP２２、対応するAPによってのみ処理されるPD２３、および、対応するAPによってのみ処理されるコンテンツデータ(以下、Coと記述する)２４が保持される。なお、AP、PD、およびCoのいずれについても暗号化して保持するが、その秘匿の必要性に応じて暗号化せずに保持するようにしてもよい。
【００３４】
なお、不揮発メモリ１８をCPU１１に対してI/O接続するのではなく、図３に示すように、バス１２を介して接続するようにしてもよい。また、図４に示すように、非揮発性メモリ１３を省略し、制御用プログラム２１を不揮発性メモリ１８に格納するようにしてもよい。また、メモリ１７を省略し、不揮発性メモリ１８にAP実行領域を設けるようにしてもよい。
【００３５】
次に、図５はAP切換装置５のCPU１１が制御用プログラム２１を実行することによって実現する機能ブロックの構成例を示している。
【００３６】
コントローラ管理部３１は、コントローラI/F１４を介して接続されたコントローラ６から通知されるコマンドを受信し、受信したコマンドに応じて外部通信部３２、メモリ管理部３３、およびAP実行部３６の処理を制御する。またコントローラ管理部３１は、受信したコマンドに対応する処理が完了された後、当該処理の完了をコントローラ６に通知する。
【００３７】
外部通信部３２は、コントローラ管理部３１からの制御に従い、外部I/F１６を介して接続される外部機器（所定の記録媒体に対応したドライブ、あるいはネットワーク上のサーバなど）からAPとそれに対応するCoなどを取得する。
【００３８】
メモリ管理部３３は、コントローラ管理部３１からの制御に従い、メモリ１７および不揮発性メモリ１８に対するAPなどの読み書きを制御する。暗号化部３４は、メモリ管理部３３からの制御に従い、不揮発性メモリ１８に保持させるAPなどを暗号化する。復号部３５は、メモリ管理部３３からの制御に従い、不揮発性メモリ１８から読み出されたAPなどを復号する。
【００３９】
AP実行部３６は、コントローラ管理部３１からの制御に従い、実行すべきAPがメモリ１７にロードされているか否かを判定する。また、AP実行部３６は、メモリ１６にロードされたAPを実行する。
【００４０】
なお、図５に示された機能ブロックをハードウェアで実現するようにしてもよい。
【００４１】
次に、AP切換装置５の動作について説明する。
【００４２】
まず、外部機器からAPやコンテンツデータを取得して不揮発メモリ１８に保存する処理（以下、AP保存処理と記述する）について、図６のフローチャートを参照して説明する。
【００４３】
このAP保存処理は、新たにAPやコンテンツデータ（以下、AP等と記述する）を取得するように指示するコマンドがコントローラ６から送信され、当該コマンドがコントローラ管理部３１によって受信されたときに開始される。
【００４４】
ステップＳ１において、外部通信部３２は、コントローラ管理部３１からの制御に基づき、外部機器からAP等を取得して、取得したAP等をメモリ管理部３３に出力する。ステップＳ２において、メモリ管理部３３は、コントローラ管理部３１からの制御に基づき、外部通信部３２から入力されたAP等を暗号化部３４に出力して暗号化させる。
【００４５】
ステップＳ３において、メモリ管理部３３は、暗号化された状態のAP等をAP保存領域が設けられた不揮発性メモリ１８に記録し、ステップＳ４において、APの保存を完了した旨を示す通知をコントローラ管理部３１に送信する。この通知に対応し、コントローラ管理部３１は、同様の通知をコントローラ６に出力する。以上でAP保存処理が終了される。
【００４６】
以上説明したAP保存処理によれば、AP切換装置５に追加されるAP等が暗号化されて不揮発性メモリ１８のAP保存領域に保存されるので、追加されたAP等を他のAPから秘匿することができる。
【００４７】
次に、APを起動したり、実行中のAPを切換えたりする処理（以下、AP切換処理と記述する）について、図７のフローチャートを参照して説明する。
【００４８】
このAP切換処理は、APの起動や切換を指示するコマンドがコントローラ６から送信され、当該コマンドがコントローラ管理部３１によって受信されたときに開始される。
【００４９】
ステップＳ１１において、コントローラ管理部３１は、起動すべきAPを特定する情報をコントローラ６から取得し、取得した情報をAP実行部３６に通知する。
【００５０】
ステップＳ１２において、AP実行部３６は、コントローラ管理部３１からの通知に基づき、起動すべきAPがメモリ１７に設けられたAP実行領域にロードされているか否かを判定する。起動すべきAPがメモリ１７のAP実行領域にロードされていないと判定された場合、メモリ１７のAP実行領域に他のAPがロードされていて実行中である可能性があるので、そのロードされているAPだけで処理すべきPDを、これから起動すべきAPから秘匿するために、処理はステップＳ１３に進められる。
【００５１】
ステップＳ１３において、AP実行部３６は、メモリ管理部３３に対してメモリ１７のAP実行領域上のプライベートデータを記録するように要求する。この要求に対応し、メモリ管理部３３は、メモリ１７のAP実行領域からプライベートデータを読み出して暗号化部３４に出力する。ステップＳ１４において、暗号化部３４は、メモリ管理部３３から入力されたプライベートデータを暗号化してメモリ管理部３３に戻す。ステップＳ１５において、メモリ管理部３３は、暗号化された状態のプライベートデータを不揮発性メモリ１８のAP保存領域に記録する。さらに、メモリ管理部３３は、暗号化された状態のプライベートデータを不揮発性メモリ１８のAP保存領域に記録した旨をAP実行部３６に通知する。
【００５２】
ステップＳ１６において、AP実行部３６は、メモリ管理部３３からの通知に対応し、メモリ１７のAP実行領域をクリアする。これにより、これまでロードされていたAPが消去され、これまでロードされていたAPに対応するプライベートデータがメモリ１７から消去される。
【００５３】
ステップＳ１７において、AP実行部３６は、メモリ管理部３に対して、実行すべきAPとこれに対応するプライベートデータ（以下、AP等と記述する）をメモリ１７のAP実行領域のロードするように要求する。この要求に対応し、メモリ管理部３３は、不揮発性メモリ１８のAP保存領域から暗号化されている実行すべきAP等を読み出して復号部３５に出力する。
【００５４】
ステップＳ１８において、復号部３５は、メモリ管理部３３から入力された暗号化されているAP等を復号してメモリ管理部３３に戻す。ステップＳ１９において、メモリ管理部３３は、復号された状態のAP等をメモリ１７のAP実行領域にロードするとともに、復号された状態のAP等をメモリ１７のAP実行領域に記録した旨をAP実行部３６に通知する。
【００５５】
上述したステップＳ１３乃至S１９の処理によりメモリ１７のAP実行領域に起動すべきAPがロードされた後、処理はステップＳ２０に進められる。
【００５６】
なお、ステップＳ１２において、起動すべきAPがメモリ１７のAP実行領域にロードされていると判定された場合、ステップＳ１３乃至Ｓ１９はスキップされて処理はステップＳ２０に進められる。
【００５７】
ステップＳ２０において、AP実行部３６は、メモリ１７のAP実行領域にロードされているAPを起動し、ステップＳ２１において、指定されたAPを起動した旨を示す通知をコントローラ管理部３１に送信する。この通知に対応し、コントローラ管理部３１は、同様の通知をコントローラ６に出力する。
【００５８】
このようにして起動されたAPは、同じメモリ１７のAP実行領域にロードされているプライベートデータに直接アクセスすることができる。また、不揮発性メモリ１８に保存されている対応するCoに対しても、メモリ管理部３３を介してアクセスすることができる。以上でAP切換処理が終了される。
【００５９】
以上説明したAP切換処理によれば、実行すべきAPが常にメモリ１７上の同一アドレスに設けられたAP実行領域にロードされるので、AP実行環境におけるAPのロード時と起動時のダイナミックリンクが不要となり、APのロケーション情報の解釈とリロケーションが不要となる。したがって、APの高速起動と動作環境の簡略化との両立が可能となる。
【００６０】
実行中のAPが対応するプライベートデータにアクセスする場合、当該プライベートアドレスは当該APと同じAP実行領域にロードされているので、MMUによる論理/物理アドレス変換が不要となり、実行中のAPからプライベートデータを直接アクセスすることができる。したがって、APの高速処理が可能になり、処理の簡便化と高速化とコードサイズ削減に寄与することができる。
【００６１】
また、全てのコンテンツデータは実行中のAPが直接アクセスすることができない不揮発性メモリ１８に保存しているので、コンテンツデータに対するアクセス権を制限することが可能となる。
【００６２】
さらに、APの切換に際し、それまで実行されていたAPに対応するプライベートデータを不揮発性メモリ１８にバックアップし、当該APが次回起動されるときにおいてこれをメモリ１７にリロードするので、時間的に離散したAPの実行環境において処理の連続性を実現することができる。
【００６３】
またさらに、実行中のAPはメモリ１７のAP実行領域以外にも、メモリ管理部３３を介することにより不揮発性メモリ１８などをストレージ空間として利用することができる。
【００６４】
なお、本明細書において、制御用プログラム２１に基づいて実行されるステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【００６５】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【００６６】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【００６７】
【図１】本発明を適用した非接触ICカード通信システムの構成例を示すブロック図である。
【図２】AP切換装置の第１の構成例を示すブロック図である。
【図３】AP切換装置の第２の構成例を示すブロック図である。
【図４】AP切換装置の第３の構成例を示すブロック図である。
【図５】AP切換装置の制御用プログラムによる機能ブロックの構成例を示す図である。
【図６】AP保存処理を説明するフローチャートである。
【図７】AP切換処理を説明するフローチャートである。
【符号の説明】
【００６８】
１  非接触ICカード通信システム，  ２  非接触ICカード，  ３  リーダライタ，  ５  AP切換装置，  ６  コントローラ，  １１  CPU，  １２  バス，  １３  不揮発性メモリ，  １４  ，１７  メモリ，  １８  不揮発性メモリ，  ２１  制御用プログラム，  ２２  暗号化されたAP，  ２６  復号されたAP，  ３１  コントローラ管理部，  ３２  外部通信部，  ３３  メモリ管理部，  ３４  暗号化部，  ３５  復号部，  ３６  AP実行部
【図１】
2007310517.tif 000003
【図２】
2007310517.tif 000004
【図３】
2007310517.tif 000005
【図４】
2007310517.tif 000006
【図５】
2007310517.tif 000007
【図６】
2007310517.tif 000008
【図７】
2007310517.tif 000009