(57)【特許請求の範囲】
【請求項１】
ＩＣチップにアクセスするためのチップアクセスチケットを有するアプリケーションから、前記チップアクセスチケットを受信する受信部と、
前記受信部が受信した前記チップアクセスチケットの認証を行う認証部と、
前記認証部による認証の結果、前記チップアクセスチケットが正当であるときは、前記チップアクセスチケットに含まれる、前記アプリケーションによる実行が許可されたコマンドの情報および前記アプリケーションによるアクセスが許可された前記ＩＣチップのメモリ領域の情報に基づいて、前記アプリケーションからのコマンドの実行を許可する許可部と、
前記アプリケーションから発行されたコマンドが前記許可部により実行が許可されたコマンドであるときは、当該コマンドを実行するコマンド実行部と、
前記認証部による認証の結果、前記チップアクセスチケットが正当であるときに、前記チップアクセスチケットの内容を記憶する記憶部と、
前記ＩＣチップの電源がオフにされたときに、前記記憶部に記憶された前記チップアクセスチケットの内容を消去する消去部と、
を備える、ＩＣチップ。
【請求項２】
前記認証部は、前記チップアクセスチケットに含まれる、前記アプリケーションによるアクセスが許可された前記ＩＣチップのメモリ領域の情報に対応する前記ＩＣチップのメモリ領域に登録されている秘密情報を用いて、前記チップアクセスチケットの正当性の検証を行う、請求項１に記載のＩＣチップ。
【請求項３】
前記認証部は、さらに、前記ＩＣチップに登録されている前記ＩＣチップの発行者を識別するための情報を用いて、前記チップアクセスチケットの正当性の検証を行う、請求項２に記載のＩＣチップ。
【請求項４】
前記許可部は、前記チップアクセスチケットに含まれる、前記アプリケーションによるアクセスが許可された前記ＩＣチップのメモリ領域の情報に基づいて、前記アプリケーションによる前記ＩＣチップの全てのアクセス領域の利用を許可または禁止する、請求項１に記載のＩＣチップ。
【請求項５】
ＩＣチップにアクセスするためのチップアクセスチケットを有するアプリケーションから、前記チップアクセスチケットを受信する受信部と、
前記受信部が受信した前記チップアクセスチケットの認証を行う認証部と、
前記認証部による認証の結果、前記チップアクセスチケットが正当であるときは、前記チップアクセスチケットに含まれる、前記アプリケーションによる実行が許可されたコマンドの情報および前記アプリケーションによるアクセスが許可された前記ＩＣチップのメモリ領域の情報に基づいて、前記アプリケーションからのコマンドの実行を許可する許可部と、
前記アプリケーションから発行されたコマンドが前記許可部により実行が許可されたコマンドであるときは、当該コマンドを実行するコマンド実行部と、
前記認証部による認証の結果、前記チップアクセスチケットが正当でないときは、外部に前記チップアクセスチケットが正当でないとされた要因の情報を送信する送信部と、
前記認証部による認証の結果、前記チップアクセスチケットが正当であるときに、前記チップアクセスチケットの内容を記憶する記憶部と、
前記ＩＣチップの電源がオフにされたときに、前記記憶部に記憶された前記チップアクセスチケットの内容を消去する消去部と、
を備える、ＩＣチップと、
前記送信部が送信した前記要因の情報を受け取る受取部と、
前記受取部が受け取った前記要因の情報に基づいて、ユーザに前記要因を認識させるための処理を実行する実行部と、
を備える、情報処理装置。
【請求項６】
ＩＣチップを、
前記ＩＣチップにアクセスするためのチップアクセスチケットを有するアプリケーションから、前記チップアクセスチケットを受信する受信部と、
前記受信部が受信した前記チップアクセスチケットの認証を行う認証部と、
前記認証部による認証の結果、前記チップアクセスチケットが正当であるときは、前記チップアクセスチケットに含まれる、前記アプリケーションによる実行が許可されたコマンドの情報および前記アプリケーションによるアクセスが許可された前記ＩＣチップのメモリ領域の情報に基づいて、前記アプリケーションからのコマンドの実行を許可する許可部と、
前記アプリケーションから発行されたコマンドが前記許可部により実行が許可されたコマンドであるときは、当該コマンドを実行するコマンド実行部と、
前記認証部による認証の結果、前記チップアクセスチケットが正当であるときに、前記チップアクセスチケットの内容を記憶する記憶部と、
前記ＩＣチップの電源がオフにされたときに、前記記憶部に記憶された前記チップアクセスチケットの内容を消去する消去部と、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣチップ、情報処理装置およびプログラムに関する。
【背景技術】
【０００２】
近年、耐タンパ性を有するＩＣチップ（以下、「セキュアチップ」という。）を備えた携帯電話などの情報処理装置が普及している。ユーザは、このような情報処理装置を、例えばリーダ／ライタにかざすだけでデータ通信を行うことができるので、非常に便利である。例えば、この情報処理装置を電子マネーシステムに適用することで、ユーザは、店舗等において、情報処理装置をリーダ／ライタにかざすだけで支払いを即座に完了することができる。
【０００３】
セキュアチップが内部の不揮発メモリに保持する情報は、暗号化などで保護されているため、容易に改竄することはできない。しかし、情報処理装置において、アプリケーションが自由にセキュアチップを利用することができると、ユーザが認識しないままアプリケーションがセキュアチップを利用したり、アプリケーションがセキュアチップの利用を一時停止させるコマンドなどを勝手に実行するなどの可能性があり、セキュリティ上問題がある。
【０００４】
そのため、従来のセキュアチップを備えた情報処理装置では、アプリケーションによるセキュアチップの利用の際に、アプリケーションがセキュアチップを直接操作させないようにする仕組みを設けていた。具体的には、アプリケーションによるセキュアチップの操作において、必ず所定のセキュアチップ制御モジュールを通じて操作させていた。そして、セキュアチップ制御モジュールにおいて、アプリケーションが実行できるセキュアチップのコマンドを制限して、不正利用を防止していた。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した不正利用の防止方法では、情報処理装置のプラットフォーム側にアプリケーションがセキュアチップを直接操作させないようにする仕組みを実装する必要がある。また、その仕組みがハッキングされた場合、セキュアチップ制御モジュールを回避してセキュアチップを直接操作する方法などが開発されて、セキュアチップが不正に利用されてしまう可能性があった。
【０００６】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、アプリケーションによるＩＣチップへの不正なアクセスを確実に防止することが可能な、新規かつ改良されたＩＣチップ、情報処理装置およびプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある観点によれば、ＩＣチップにアクセスするためのチップアクセスチケットを有するアプリケーションから、前記チップアクセスチケットを受信する受信部と、前記受信部が受信した前記チップアクセスチケットの認証を行う認証部と、前記認証部による認証の結果、前記チップアクセスチケットが正当であるときは、前記チップアクセスチケットに含まれる、前記アプリケーションによる実行が許可されたコマンドの情報および前記アプリケーションによるアクセスが許可された前記ＩＣチップのメモリ領域の情報に基づいて、前記アプリケーションからのコマンドの実行を許可する許可部と、前記アプリケーションから発行されたコマンドが前記許可部により実行が許可されたコマンドであるときは、当該コマンドを実行するコマンド実行部とを備えるＩＣチップが提供される。
【０００８】
前記認証部は、前記チップアクセスチケットに含まれる、前記アプリケーションによるアクセスが許可された前記ＩＣチップのメモリ領域の情報に対応する前記ＩＣチップのメモリ領域に登録されている秘密情報を用いて、前記チップアクセスチケットの正当性の検証を行ってもよい。
【０００９】
前記認証部は、さらに、前記ＩＣチップに登録されている前記ＩＣチップの発行者を識別するための情報を用いて、前記チップアクセスチケットの正当性の検証を行ってもよい。
【００１０】
なお、前記認証部による認証の結果、前記チップアクセスチケットが正当であるときに、前記チップアクセスチケットの内容を記憶する記憶部と、前記ＩＣチップの電源がオフにされたときに、前記記憶部に記憶された前記チップアクセスチケットの内容を消去する消去部とを備えるのがよい。また、前記ＩＣチップの電源がオフにされたとき以外にも必要に応じて、前記記憶部に記憶された前記チップアクセスチケットの内容を消去する他の消去部をさらに備えてもよい。
【００１１】
前記許可部は、前記チップアクセスチケットに含まれる、前記アプリケーションによるアクセスが許可された前記ＩＣチップのメモリ領域の情報に基づいて、前記アプリケーションによる前記ＩＣチップの全てのアクセス領域の利用を許可または禁止してもよい。
【００１２】
また、上記課題を解決するために、本発明の別の観点によれば、ＩＣチップにアクセスするためのチップアクセスチケットを有するアプリケーションから、前記チップアクセスチケットを受信する受信部と、前記受信部が受信した前記チップアクセスチケットの認証を行う認証部と、前記認証部による認証の結果、前記チップアクセスチケットが正当であるときは、前記チップアクセスチケットに含まれる、前記アプリケーションによる実行が許可されたコマンドの情報および前記アプリケーションによるアクセスが許可された前記ＩＣチップのメモリ領域の情報に基づいて、前記アプリケーションからのコマンドの実行を許可する許可部と、前記アプリケーションから発行されたコマンドが前記許可部により実行が許可されたコマンドであるときは、当該コマンドを実行するコマンド実行部と、前記認証部による認証の結果、前記チップアクセスチケットが正当でないときは、外部に前記チップアクセスチケットが正当でないとされた要因の情報を送信する送信部とを備えるＩＣチップと、前記送信部が送信した前記要因の情報を受け取る受取部と、前記受取部が受け取った前記要因の情報に基づいて、ユーザに前記要因を認識させるための処理を実行する実行部とを備える情報処理装置が提供される。
【００１３】
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータを、ＩＣチップにアクセスするためのチップアクセスチケットを有するアプリケーションから、前記チップアクセスチケットを受信する受信部と、前記受信部が受信した前記チップアクセスチケットの認証を行う認証部と、前記認証部による認証の結果、前記チップアクセスチケットが正当であるときは、前記チップアクセスチケットに含まれる、前記アプリケーションによる実行が許可されたコマンドの情報および前記アプリケーションによるアクセスが許可された前記ＩＣチップのメモリ領域の情報に基づいて、前記アプリケーションからのコマンドの実行を許可する許可部と、前記アプリケーションから発行されたコマンドが前記許可部により実行が許可されたコマンドであるときは、当該コマンドを実行するコマンド実行部ととして機能させるためのプログラムが提供される。
【００１４】
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータを、ＩＣチップにアクセスするためのチップアクセスチケットを有するアプリケーションから、前記チップアクセスチケットを受信する受信部と、前記受信部が受信した前記チップアクセスチケットの認証を行う認証部と、前記認証部による認証の結果、前記チップアクセスチケットが正当であるときは、前記チップアクセスチケットに含まれる、前記アプリケーションによる実行が許可されたコマンドの情報および前記アプリケーションによるアクセスが許可された前記ＩＣチップのメモリ領域の情報に基づいて、前記アプリケーションからのコマンドの実行を許可する許可部と、前記アプリケーションから発行されたコマンドが前記許可部により実行が許可されたコマンドであるときは、当該コマンドを実行するコマンド実行部と、前記認証部による認証の結果、前記チップアクセスチケットが正当でないときは、外部に前記チップアクセスチケットが正当でないとされた要因の情報を送信する送信部と、前記送信部が送信した前記要因の情報を受け取る受取部と、前記受取部が受け取った前記要因の情報に基づいて、ユーザに前記要因を認識させるための処理を実行する実行部ととして機能させるためのプログラムが提供される。
【発明の効果】
【００１５】
以上説明したように本発明によれば、アプリケーションによるＩＣチップへの不正なアクセスを確実に防止することができる。
【図面の簡単な説明】
【００１６】
【図１】関連する情報処理装置のアプリケーションによるセキュアチップへのアクセス制御を説明するための説明図である。
【図２】本実施の形態に係る情報処理システムの概略構成を説明するための説明図である。
【図３】図２における情報処理装置としてのクライアント１００の概略構成を説明するための説明図である。
【図４】チップアクセスチケットの概略構成を説明するための説明図である。
【図５】図５は、チップアクセスチケットの構成の詳細を説明するための説明図である。
【図６】図２の情報処理システム１０００が実行する、クライアント１００のアクセス制御のための第１の準備処理のシーケンス図である。
【図７】図２の情報処理システム１０００におけるクライアント１００およびアクセス領域発行サーバ５００が実行する、クライアント１００のアクセス制御のための第２の準備処理のシーケンス図である。
【図８】図３のクライアント１００が実行するアクセス制御処理のシーケンス図である。
【図９】図８におけるステップＳ３０８で実行されるチップアクセスチケット認証処理のフローチャートである。
【図１０】図８のアクセス制御処理の詳細のフローチャートである。
【図１１】図２の情報処理システム１０００におけるクライアント１００およびアクセス領域発行サーバ５００が実行するＰＩＮ値変更処理のシーケンス図である。
【図１２】図８におけるステップＳ３０８で実行されるチップアクセスチケット認証処理の変形例のフローチャートである。
【図１３】図３のクライアント１００が実行するエラーコードに応じた処理のフローチャートである。
【発明を実施するための形態】
【００１７】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１８】
なお、説明は以下の順序で行うものとする。
１．関連する情報処理装置のアクセス制御
２．情報処理システムの構成
３．情報処理装置の構成
４．チップアクセスチケットの構成
５．アクセス制御のための第１の準備処理
６．アクセス制御のための第２の準備処理
７．アクセス制御処理
８．チップアクセスチケット認証処理
９．アクセス制御処理の詳細
１０．ＰＩＮ値変更処理
１１．チップアクセスチケット認証処理の変形例
１２．エラーコードに応じた処理
【００１９】
［１．関連する情報処理装置のアクセス制御］
本発明の実施の形態に係る情報処理システムや情報処理装置について説明する前に、まず、関連する情報処理装置のアプリケーションによるセキュアチップへのアクセス制御について説明する。図１は、関連する情報処理装置のアプリケーションによるセキュアチップへのアクセス制御を説明するための説明図である。
【００２０】
図１において、関連する情報処理装置としての携帯電話などのクライアント１０は、セキュアチップ制御モジュール１６、セキュアチップ２２、表示制御部２８およびＬＥＤ等の表示部３０を備える。また、クライアント１０には、不正なアプリケーション１２およびアプリケーション１４がインストールされている。
【００２１】
セキュアチップ制御モジュール１６は、ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）１８およびセキュアチップアクセス制御部２０を備える。セキュアチップ２２は、コマンド実行部２４および不揮発メモリ２６を備える。
【００２２】
クライアント１０では、例えば、アプリケーション１４がセキュアチップ２２の不揮発メモリ２６の領域に記憶された情報を利用することによって、様々なサービス、例えば電子マネーサービスをユーザに提供することができる。
【００２３】
また、クライアント１０において、アプリケーション１４がセキュアチップ２２へのアクセスをＡＰＩ１８を介してセキュアチップ制御モジュール１６に要求すると、セキュアチップアクセス制御部２０がアプリケーション１４によるセキュアチップ２２へのアクセスを制御する。アプリケーション１４は、正当なアプリケーションであるため、セキュアチップアクセス制御部２０は、図１中マル印で示すように、アプリケーション１４によるセキュアチップ２２へのアクセスを許可する。なお、セキュアチップアクセス制御部２０は、アプリケーション１４によって実行可能なコマンドを制限することもできる。
【００２４】
一方、クライアント１０において、不正なアプリケーション１２がセキュアチップ２２へのアクセスをＡＰＩ１８を介してセキュアチップ制御モジュール１６に要求すると、セキュアチップアクセス制御部２０が不正なアプリケーション１２によるセキュアチップ２２へのアクセスを不許可する。正当なアプリケーションであるアプリケーション１４と不正なアプリケーション１２との判別は、例えば、セキュアチップアクセス制御部２０がアプリケーションのアプリケーション署名を検証するなどの方法で行う。これにより、不正なアプリケーション１２によるセキュアチップ２２への不正なアクセスを防止することができる。また、セキュアチップ制御モジュール１６は、不正なアプリケーション１２からセキュアチップ２２へのアクセス要求を受け付けたときに、表示制御部２８を制御して表示部３０を用いてアクセス状況をユーザに通知する。これにより、ユーザは不正なアプリケーション１２によるセキュアチップ２２への不正なアクセス要求を認識することができる。
【００２５】
ところで、上述したアクセス制御では、クライアント１０のプラットフォーム側にアプリケーションがセキュアチップ２２を直接操作させないようにする仕組みを実装する必要がある。また、その仕組みがハッキングされた場合、図１中左側のバツ印で示すように、セキュアチップ制御モジュール１６を回避してセキュアチップ２２を直接操作する方法や、図１中右側のバツ印で示すように、表示制御部２８を不正に操作して表示制御部２８の機能を無効化する方法などが開発されて、セキュアチップ２２が不正に利用されてしまう可能性があった。
【００２６】
また、コマンドを制限するだけでは、不揮発メモリ２６をスキャニングしてユーザがどんなサービスを利用しているのか等の個人情報を収集するようなアプリケーションによるセキュアチップ２２への不正アクセスを防止できないという問題があった。
【００２７】
これに対応する手段として、セキュアチップ２２自体に利用制限の機構を設ける方法が考えられるが、特開２００１−５６８４８号公報や特開２００５−５６２９２号公報の技術では、クライアント上でかわるがわる実行される多様なアプリケーションに対し、柔軟にアクセス制御が行えないという問題があった。
【００２８】
特開２００１−５６８４８号公報に記載の技術では、ＩＣカード上で実行されるコマンド１つ１つに対しアクセス権限を設定することができるが、外部からコマンドのアクセス権限を書き換えるパスワードを入力しコマンド権限を設定する必要があるためプラットフォーム側に設定機能を実装する必要がある。このため、セキュアチップ単体では利用するアプリケーション毎に異なるアクセス権限を設けることはできず、またコマンドへのアクセス権限はセキュアチップ上に永続的に保持されるため、端末上でかわるがわる異なるアプリケーションが実行されるような環境では、アプリケーションが動作中に端末が意図せずシャットダウンされた場合など、以前に実行したアプリケーションの権限が消去されず残ってしまうという問題がある。
【００２９】
特開２００５−５６２９２号公報に記載の技術では、複数の認証手段を設けることにより、ユーザが端末上のアプリケーションがセキュアチップを使用しようとしていること通知できる。また、アプリケーションごとにアクセスを許可するかどうかユーザの手で制御することができるが、セキュアチップ上に存在するコマンドの実行を全て許可するか許可しないかの設定しか行えないためアプリケーション毎に異なるアクセス権限を設けることはできない。また、毎回ユーザの判断を要するため、利用手順が煩雑となる問題がある。
【００３０】
そこで、後述する本発明の実施の形態に係る情報処理システムは、後述するアクセス制御のための第１の準備処理および第２の準備処理を実行する。そして、本発明の実施の形態に係る情報処理装置は、後述するアクセス制御処理を実行する。これにより、情報処理装置においてアプリケーションによるＩＣチップへの不正なアクセスを確実に防止することができる。
【００３１】
［２．情報処理システムの構成］
次に、本発明の実施の形態に係る情報処理システムについて説明する。図２は、本実施の形態に係る情報処理システムの概略構成を説明するための説明図である。
【００３２】
図２において、情報処理システム１０００は、本発明の情報処理装置の一例としての携帯電話などのクライアント１００、アプリケーション公開サーバ２００、アプリケーション作成者ＰＣ３００、セキュアチップ発行者ＰＣ４００およびアクセス領域発行サーバ５００を備える。これらクライアント１００、サーバ２００，５００、ＰＣ３００，４００はそれぞれ通信網６００に接続されている。
【００３３】
クライアント１００は、アプリケーション公開サーバ２００によって公開されたアプリケーションをダウンロードすることができる。また、クライアント１００は、インストールされたアプリケーションからの後述するアクセス領域発行要求などを受け付けると、アクセス領域発行サーバ５００にオンライン処理を要求する。
【００３４】
アプリケーション公開サーバ２００は、アプリケーション作成者ＰＣ３００によって作成されたアプリケーションの公開を行う。アプリケーション作成者ＰＣ３００は、アプリケーションの作成を行う。アプリケーション作成者ＰＣ３００は、後述するセキュアチップ１１４を利用するアプリケーションを作成する場合、セキュアチップ発行者ＰＣ４００にセキュアチップ１１４の利用申請を行う。セキュアチップ発行者ＰＣ４００から後述するチップアクセスチケットが発行されると、アプリケーション作成者ＰＣ３００は、発行されたチップアクセスチケットを作成するアプリケーションに埋め込む。そして、アプリケーション作成者ＰＣ３００は、作成したアプリケーションをアプリケーション公開サーバ２００に送信する。
【００３５】
セキュアチップ発行者ＰＣ４００は、アプリケーション作成者ＰＣ３００からのセキュアチップ１１４の利用申請を受け付けた後に、チップアクセスチケットを生成して、生成したチップアクセスチケットをアプリケーション作成者ＰＣ３００に発行する。また、セキュアチップ発行者ＰＣ４００は、チップアクセスチケットを生成した後に、生成したチップアクセスチケットのアクセス領域の情報をアクセス領域発行サーバ５００に登録し、また、生成したチップアクセスチケットのアクセス領域毎に設定される秘密情報としてのＰＩＮ値の情報をアクセス領域発行サーバ５００に登録する。
【００３６】
アクセス領域発行サーバ５００は、クライアント１００から、例えば、アクセス領域発行のためのオンライン処理要求を受け付けると、オンライン処理によりクライアント１００のセキュアチップ１１４の後述する不揮発メモリ１２０内にアクセス領域を発行し、不揮発メモリ１２０内に発行されたアクセス領域毎にＰＩＮ値を登録する。
【００３７】
情報処理システム１０００は、後述する図６のアクセス制御のための第１の準備処理および図７のアクセス制御のための第２の準備処理を実行する。そして、クライアント１００は、後述する図８のアクセス制御処理を実行することにより、クライアント１００においてアプリケーションによるセキュアチップへの不正なアクセスを確実に防止することができる。
【００３８】
なお、本実施の形態に係る情報処理システム１０００では、アクセス領域発行サーバ５００とセキュアチップ１１４とで鍵を持ち合うことで、アクセス領域発行などの重要な処理をオンラインにて暗号化通信を行いセキュリティを担保することができる。なお、鍵が漏洩しないようにクライアント１００内のプログラムは鍵を持たない。
【００３９】
しかし、クライアント１００が圏外などの状況でもアプリケーションは電子マネーの残高照会などができる必要があるため、セキュアチップ１１４には非暗号化領域や非暗号化コマンドが用意されている。
【００４０】
しかしながら、非暗号化領域やコマンドをアプリケーションに自由に操作されてしまうと、ユーザロック解除やサービスのスキャニングなどが行われるため、暗号化通信とは別のセキュアチップ１１４の利用を制限する仕組みを設ける必要がある。
【００４１】
本実施の形態では、この仕組みを従来のセキュアチップ制御モジュールで実現していたものを、より確実性の高いチップアクセスチケットを利用する方法で実現するものである。
【００４２】
［３．情報処理装置の構成］
次に、図２における情報処理装置としてのクライアント１００について説明する。図３は、図２における情報処理装置としてのクライアント１００の概略構成を説明するための説明図である。
【００４３】
図３において、携帯電話などのクライアント１００は、本発明の情報処理装置の一例であり、セキュアチップ制御モジュール１１０、セキュアチップ１１４および表示部１２２を備える。また、クライアント１００には、アプリケーション１０２，１０６がインストールされている。なお、本実施の形態では、クライアント１００は、セキュアチップ制御モジュール１１０を備えているが、アプリケーション１０６のように、クライアント１００にインストールされるアプリケーションがセキュアチップ制御モジュール１１０の機能を有する場合は、クライアント１００はセキュアチップ制御モジュール１１０を備えなくてもよい。
【００４４】
アプリケーション１０２にはチップアクセスチケット１０４が埋め込まれており、アプリケーション１０６にはチップアクセスチケット１０８が埋め込まれている。また、アプリケーション１０６はセキュアチップ制御モジュール１１１を内蔵している。
【００４５】
セキュアチップ制御モジュール１１０は、ＡＰＩ１１２を備える。また、セキュアチップ制御モジュール１１０は、セキュアチップ１１４から送信される情報を受け取る機能を有する。セキュアチップ制御モジュール１１０，１１１は、表示部１２２に接続されている。また、セキュアチップ１１４は、表示部１２２に接続されている。なお、セキュアチップ制御モジュール１１０，１１１と、セキュアチップ１１４とは、異なる表示部に接続されてもよい。
【００４６】
セキュアチップ１１４は、アクセス制御部１１６、コマンド実行部１１８および不揮発メモリ１２０を備える。アクセス制御部１１６は、セキュアチップ１１４にアクセスするためのチップアクセスチケットを有するアプリケーションから、チップアクセスチケットを受信する機能を有する。また、アクセス制御部１１６は、アプリケーションから受信したチップアクセスチケットの認証を行う機能を有する。また、アクセス制御部１１６は、チップアクセスチケットが正当であるときは、チップアクセスチケットに含まれる、アプリケーションによる実行が許可されたコマンドの情報およびアプリケーションによるアクセスが許可された前記ＩＣチップのメモリ領域の情報に基づいて、アプリケーションからのコマンドの実行を許可する機能を有する。また、アクセス制御部１１６は、チップアクセスチケットが正当でないときは、外部にチップアクセスチケットが正当でないとされた要因の情報を送信する機能を有する。また、アクセス制御部１１６は、チップアクセスチケットの内容を記憶する機能、例えば、一時記憶メモリの機能と、記憶されたチップアクセスチケットの内容を消去する機能とを有する。コマンド実行部１１８は、アプリケーションから発行されたコマンドが実行が許可されたコマンドであるときは、当該コマンドを実行する機能を有する。なお、セキュアチップ１３０は、耐タンパ性が優れたＩＣチップである。
【００４７】
セキュアチップ制御モジュール１１０は、例えば、アプリケーション１０２からチップアクセスチケット１０４を受信して、セキュアチップ１１４の利用開始要求を受け付けると、セキュアチップ１１４の電源をオンにする。そして、セキュアチップ制御モジュール１１０は、セキュアチップ１１４のアクセス制御部１１６にチケット認証コマンドを発行し、セキュアチップ１１４のアクセス制御部１１６にチップアクセスチケット１０４を送信する。アクセス制御部１１６はチケット認証コマンドの実行を許可して、コマンド実行部１１８にチケット認証コマンドを発行する。
【００４８】
コマンド実行部１１８は、アクセス制御部１１６から発行されたチケット認証コマンドを実行する。コマンド実行部１１８がチケット認証コマンドを実行すると、アクセス制御部１１６は、セキュアチップ制御モジュール１１０から受信したチップアクセスチケット１０４の認証を行う。
【００４９】
セキュアチップ１１４は、アクセス制御部１１６がチップアクセスチケット１０４を正当であると認証した場合、セキュアチップ制御モジュール１１０にチップアクセスチケット１０４を受理した旨を通知する。そして、セキュアチップ制御モジュール１１０は、アプリケーション１０２にチップアクセスチケット１０４の認証完了を通知する。
【００５０】
アプリケーション１０２は、チップアクセスチケット１０４の認証完了が通知された後に、セキュアチップ制御モジュール１１０のＡＰＩ１１２を呼び出して、セキュアチップ制御モジュール１１０にコマンドの実行要求を行う。
【００５１】
セキュアチップ制御モジュール１１０は、アプリケーション１０２からコマンドの実行要求を受け付けると、セキュアチップ１１４のアクセス制御部１１６にコマンドを発行する。
【００５２】
アクセス制御部１１６は、セキュアチップ制御モジュール１１０が発行したコマンドがチップアクセスチケット１０４の認証により実行が許可されたコマンドであるかをチェックし、また、セキュアチップ制御モジュール１１０が発行したコマンドのアクセス領域がチップアクセスチケット１０４の認証によりアクセスが許可された領域であるかをチェックする。アクセス制御部１１６は、セキュアチップ制御モジュール１１０が発行したコマンドが実行が許可されたコマンドであることと、コマンドのアクセス領域がアクセスが許可された領域であることをチェックした後に、コマンドの実行を許可して、そのコマンドをコマンド実行部１１８に発行する。コマンド実行部１１８は、アクセス制御部１１６から発行されたコマンドを実行する。
【００５３】
また、不揮発メモリ１２０は、アクセス制御部１１６がチップアクセスチケット１０４を正当であると認証した場合、メモリ領域にチップアクセスチケット１０４の内容を記憶する。また、不揮発メモリ１２０は、セキュアチップ１１４の電源がオフにされたときに、メモリ領域に記憶されたチップアクセスチケット１０４の内容を消去する。
【００５４】
［４．チップアクセスチケットの構成］
次に、チップアクセスチケットについて説明する。図４は、チップアクセスチケットの概略構成を説明するための説明図である。図５は、チップアクセスチケットの構成の詳細を説明するための説明図である。
【００５５】
図４および図５において、チップアクセスチケット１０４は、ハッシュ値１３０と、実行可能コマンド１３２と、アクセス領域１３４と、発行者識別コード１３６とから構成される。ＰＩＮ値１３８は、アクセス領域１３４毎に設定されるものであり、ＰＩＮ値１３８の情報は例えばセキュアチップ発行者ＰＣ４００で生成してもよく、アプリケーション作成者ＰＣ３００で生成してもよい。
【００５６】
実行可能コマンド１３２は、アプリケーション１０２が実行するセキュアチップ１１４のコマンドの一覧の情報である。アクセス領域１３４は、アプリケーション１０２が利用するセキュアチップ１１４の不揮発メモリ１２０内の領域の情報である。発行者識別コード１３６は、セキュアチップ１１４の発行者を識別するための情報である。ハッシュ値１３０は、実行可能コマンド１３２、アクセス領域１３４、発行者識別コード１３６およびＰＩＮ値１３８をハッシュ化して、作成されたハッシュ値である。
【００５７】
［５．アクセス制御のための第１の準備処理］
以下、図２の情報処理システム１０００が実行する、クライアント１００のアクセス制御のための第１の準備処理について説明する。図６は、図２の情報処理システム１０００が実行する、クライアント１００のアクセス制御のための第１の準備処理のシーケンス図である。
【００５８】
図６において、まず、アプリケーション作成者ＰＣ３００は、作成するアプリケーション１０２がクライアント１００のセキュアチップ１１４を利用可能となるように、セキュアチップ発行者ＰＣ４００にセキュアチップ１１４の利用申請を行う（ステップＳ１０２）。例えば、アプリケーション作成者ＰＣ３００は、作成するアプリケーション１０２が実行したいセキュアチップ１１４のコマンドの一覧と、作成するアプリケーション１０２が利用したい、すなわちアクセスしたいセキュアチップ１１４の不揮発メモリ１２０内の領域の一覧とをセキュアチップ発行者ＰＣ４００に申告する。
【００５９】
次いで、セキュアチップ１１４の利用申請を受け付けたセキュアチップ発行者ＰＣ４００は、利用申請内容に基づいて、図４および図５に示すチップアクセスチケットを生成する（ステップＳ１０４）。そして、セキュアチップ発行者ＰＣ４００は、生成したチップアクセスチケットをアプリケーション作成者ＰＣ３００に発行する（ステップＳ１０６）。
【００６０】
次いで、アプリケーション作成者ＰＣ３００は、作成したアプリケーション１０２にステップＳ１０６で発行されたチップアクセスチケットを埋め込む（ステップＳ１０８）。
【００６１】
次いで、アプリケーション作成者ＰＣ３００は、チップアクセスチケットが埋め込まれたアプリケーション１０２をアプリケーション公開サーバ２００に送信する（ステップＳ１１０）。そして、アプリケーション公開サーバ２００は、チップアクセスチケットが埋め込まれたアプリケーション１０２を公開する（ステップＳ１１２）。これにより、クライアント１００は、アプリケーション公開サーバ２００からアプリケーション１０２をダウンロードすることができる。
【００６２】
また、セキュアチップ発行者ＰＣ４００は、ステップＳ１０４の処理を行った後に、生成したチップアクセスチケットのアクセス領域の情報をアクセス領域発行サーバ５００に登録し（ステップＳ１１４）、そして、生成したチップアクセスチケットのアクセス領域毎に設定されるＰＩＮ値の情報をアクセス領域発行サーバ５００に登録する（ステップＳ１１６）。
【００６３】
［６．アクセス制御のための第２の準備処理］
以下、図２情報処理システム１０００におけるクライアント１００およびアクセス領域発行サーバ５００が実行する、クライアント１００のアクセス制御のための第２の準備処理について説明する。図７は、図２の情報処理システム１０００におけるクライアント１００およびアクセス領域発行サーバ５００が実行する、クライアント１００のアクセス制御のための第２の準備処理のシーケンス図である。本処理は、図６のクライアント１００のアクセス制御のための第１の準備処理が実行された後に、クライアント１００がアプリケーション１０２をダウンロードしてクライアント１００にアプリケーション１０２がインストールされてから実行される。
【００６４】
図７において、まず、クライアント１００においてアプリケーション１０２が起動されると、アプリケーション１０２は、セキュアチップ制御モジュール１１０にセキュアチップ１１４の不揮発メモリ１２０内のアクセス領域の発行要求を行う（ステップＳ２０２）。
【００６５】
次いで、セキュアチップ制御モジュール１１０は、セキュアチップ１１４の電源をオンにして（ステップＳ２０４）、アクセス領域発行サーバ５００にセキュアチップ１１４の不揮発メモリ１２０内にアクセス領域を発行するためやアクセス領域毎にＰＩＮ値を登録するためのオンライン処理を要求する（ステップＳ２０６）。
【００６６】
次いで、オンライン処理要求を受け付けたアクセス領域発行サーバ５００は、オンライン処理によりセキュアチップ制御モジュール１１０を介してセキュアチップ１１４の不揮発メモリ１２０内にアプリケーション１０２が利用するアクセス領域を発行する（ステップＳ２０８）。さらに、アクセス領域発行サーバ５００は、オンライン処理によりセキュアチップ制御モジュール１１０を介してセキュアチップ１１４の不揮発メモリ１２０内に発行されたアクセス領域毎にＰＩＮ値を登録する（ステップＳ２１０）。
【００６７】
次いで、セキュアチップ制御モジュール１１０は、アプリケーション１０２にオンライン処理の結果を通知する（ステップＳ２１２）。
【００６８】
［７．アクセス制御処理］
以下、図３のクライアント１００が実行するアクセス制御処理について説明する。図８は、図３のクライアント１００が実行するアクセス制御処理のシーケンス図である。本処理は、図７のクライアント１００のアクセス制御のための第２の準備処理が実行された後に実行される。
【００６９】
図８において、まず、アプリケーション１０２は、セキュアチップ制御モジュール１１０にチップアクセスチケット１０４を送信して、セキュアチップ１１４の利用開始要求を行う（ステップＳ３０２）。
【００７０】
次いで、セキュアチップ制御モジュール１１０は、セキュアチップ１１４の電源をオンにして（ステップＳ３０４）、セキュアチップ１１４にチケット認証コマンドを発行してチップアクセスチケット１０４を送信する（ステップＳ３０６）。
【００７１】
次いで、セキュアチップ１１４は、後述する図９のチップアクセスチケット認証処理を実行して、受信したチップアクセスチケット１０４が正当であるか否かの認証を行う（ステップＳ３０８）。
【００７２】
次いで、セキュアチップ１１４は、ステップＳ３０８でチップアクセスチケット１０４が正当であると認証した場合、チップアクセスチケット１０４の内容を記憶して、セキュアチップ制御モジュール１１０にチップアクセスチケット１０４を受理した旨を通知する（ステップＳ３１０）。そして、セキュアチップ制御モジュール１１０は、アプリケーション１０２にチップアクセスチケット１０４の認証完了を通知する（ステップＳ３１２）。
【００７３】
次いで、アプリケーション１０２は、セキュアチップ１１４を利用するためのチップ操作ＡＰＩを呼び出す（ステップＳ３１４）。そして、アプリケーション１０２は、セキュアチップ制御モジュール１１０にセキュアチップ１１４のコマンドの実行要求を行うと、セキュアチップ制御モジュール１１０は、セキュアチップ１１４にコマンドを発行する（ステップＳ３１６）。
【００７４】
次いで、セキュアチップ１１４は、アクセス制御部１１６において、セキュアチップ制御モジュール１１０が発行したコマンドが、ステップＳ３０８でのチップアクセスチケット１０４の認証により実行が許可されたコマンドであるかをチェックし、また、セキュアチップ制御モジュール１１０が発行したコマンドのアクセス領域が、ステップＳ３０８でのチップアクセスチケット１０４の認証によりアクセスが許可された領域であるかをチェックする（ステップＳ３１８）。
【００７５】
次いで、セキュアチップ１１４は、ステップＳ３１８において、コマンドが実行が許可されたコマンドであること、およびコマンドのアクセス領域がアクセスが許可された領域であることをチェックした後に、コマンド実行部１１８において、コマンドを実行する（ステップＳ３２０）。
【００７６】
次いで、セキュアチップ１１４は、セキュアチップ制御モジュール１１０にコマンドの実行結果を通知する（ステップＳ３２２）。そして、セキュアチップ制御モジュール１１０は、アプリケーション１０２にステップＳ３２２において通知されたコマンドの実行結果を通知する（ステップＳ３２４）。
【００７７】
次いで、アプリケーション１０２は、セキュアチップ制御モジュール１１０にセキュアチップ１１４の利用終了要求を行う（ステップＳ３２６）。
【００７８】
次いで、セキュアチップ制御モジュール１１０は、セキュアチップ１１４の電源をオフにする（ステップＳ３０４）。なお、セキュアチップ１１４の電源がオフにされると、ステップＳ３１０で記憶したチップアクセスチケット１０４の内容は消去される。また、セキュアチップ制御モジュール１１０は、ステップＳ３１０で記憶したチップアクセスチケット１０４の内容を消去するコマンドをセキュアチップ１１４に別途発行してもよい。
【００７９】
［８．チップアクセスチケット認証処理］
図９は、図８におけるステップＳ３０８で実行されるチップアクセスチケット認証処理のフローチャートである。
【００８０】
図９において、まず、セキュアチップ１１４のアクセス制御部１１６は、セキュアチップ制御モジュール１１０から受信したチップアクセスチケット１０４のフォーマットが正しいか否かを判別する（ステップＳ４０２）。例えば、セキュアチップ１１４のアクセス制御部１１６は、チップアクセスチケット１０４のフォーマットが、図４に示すような、図６におけるステップＳ１０４でのセキュアチップ発行者ＰＣ４００によるチップアクセスチケット１０４の生成において規定したフォーマットであるか否かを判別する。
【００８１】
ステップＳ４０２の判別の結果、チップアクセスチケット１０４のフォーマットが正しいときは（ステップＳ４０２でＹＥＳ）、セキュアチップ１１４のアクセス制御部１１６は、チップアクセスチケット１０４のハッシュ値１３０の検証を行う（ステップＳ４０４）。例えば、セキュアチップ１１４のアクセス制御部１１６は、受信したチップアクセスチケット１０４の実行可能コマンド１３２、アクセス領域１３４、発行者識別コード１３６および不揮発メモリ１２０内のアクセス領域１３４に対応するアクセス領域に登録されたＰＩＮ値をハッシュ化して、作成されたハッシュ値とチップアクセスチケット１０４のハッシュ値１３０とを比較することにより、検証を行う。なお、セキュアチップ１１４のアクセス制御部１１６は、受信したチップアクセスチケット１０４の実行可能コマンド１３２、アクセス領域１３４、セキュアチップ１１４に登録されている発行者識別コードおよび不揮発メモリ１２０内のアクセス領域１３４に対応するアクセス領域に登録されたＰＩＮ値をハッシュ化して、作成されたハッシュ値とチップアクセスチケット１０４のハッシュ値１３０とを比較することにより、検証を行ってもよい。
【００８２】
次いで、セキュアチップ１１４のアクセス制御部１１６は、ステップＳ４０４での検証の結果、チップアクセスチケット１０４のハッシュ値１３０が正しいか否かを判別する（ステップＳ４０６）。
【００８３】
ステップＳ４０６の判別の結果、チップアクセスチケット１０４のハッシュ値１３０が正しいときは（ステップＳ４０６でＹＥＳ）、セキュアチップ１１４のアクセス制御部１１６は、チップアクセスチケット１０４の発行者識別コード１３６がセキュアチップ１１４の発行者識別コードと合致するか否かを判別する（ステップＳ４０８）。
【００８４】
ステップＳ４０８の判別の結果、チップアクセスチケット１０４の発行者識別コード１３６がセキュアチップ１１４の発行者識別コードと合致するときは（ステップＳ４０８でＹＥＳ）、セキュアチップ１１４のアクセス制御部１１６は、チップアクセスチケット１０４が正当なチップアクセスチケットであると認証する（ステップＳ４１０）。これにより、アプリケーション１０２によるチップアクセスチケット１０４の実行可能コマンド１３２のコマンドの実行が許可され、アクセス領域１３４に対応するアクセス領域の利用が許可される。
【００８５】
ステップＳ４０２の判別の結果、チップアクセスチケット１０４のフォーマットが正しくないとき（ステップＳ４０２でＮＯ）、ステップＳ４０６の判別の結果、チップアクセスチケット１０４のハッシュ値１３０が正しくないとき（ステップＳ４０６でＮＯ）、または、ステップＳ４０８の判別の結果、チップアクセスチケット１０４の発行者識別コード１３６がセキュアチップ１１４の発行者識別コードと合致しないときは（ステップＳ４０８でＮＯ）、セキュアチップ１１４のアクセス制御部１１６は、チップアクセスチケット１０４が不正なチップアクセスチケットであると判断する（ステップＳ４１２）。
【００８６】
図８のアクセス制御処理によれば、アプリケーションから送信されるチップアクセスチケットの認証を行い、チップアクセスチケットが正当であるときは、チップアクセスチケットに含まれる、アプリケーションによる実行が許可されたコマンドの情報およびアプリケーションによるアクセスが許可されたセキュアチップのメモリ領域の情報に基づいて、アプリケーションからのコマンドの実行を許可するので、アプリケーションによるセキュアチップ１１４への不正なアクセスを確実に防止することができる。
【００８７】
なお、セキュアチップ１１４は、セキュアチップ発行者がセキュアチップ１３４を管理するアプリケーションなどのために設定した特殊なアクセス領域がアクセス領域１３４に設定されている場合において、全てのアクセス領域の利用を一括して許可して、コマンドの許可のみを行う機能を有してもよい。
【００８８】
また、セキュアチップ１１４は、セキュアチップ発行者がアクセス領域を用いないセキュアチップ１１４の機能（例えば、セキュアチップ１１４に内蔵される外部情報端末との無線通信機能）のみを使用するアプリケーションなどのために設定した特殊なアクセス領域がアクセス領域１３４に設定されている場合において、全てのアクセス領域の利用を禁止して、コマンドの許可のみを行う機能を有してもよい。
【００８９】
また、セキュアチップ１１４は、チップアクセスチケットにアクセス領域１３４の指定がなかった場合、セキュアチップ発行者がセキュアチップ１３４を管理するアプリケーションなどのために設定したもの、またはセキュアチップ発行者がアクセス領域を用いないセキュアチップ１１４の機能のみを使用するアプリケーションなどのために設定したものと判断して、自動的に特殊なアクセス領域のＰＩＮ値との認証を行う機能を有してもよい。
【００９０】
［９．アクセス制御処理の詳細］
次に、図８のアクセス制御処理の詳細について説明する。図１０は、図８のアクセス制御処理の詳細のフローチャートである。
【００９１】
図１０において、まず、セキュアチップ１１４は、セキュアチップ制御モジュール１１０により電源がオンにされ（ステップＳ５０２）、セキュアチップ制御モジュール１１０から発行されたチケット認証コマンドを受理してチップアクセスチケット１０４を受信する（ステップＳ５０４）。
【００９２】
次いで、セキュアチップ１１４のアクセス制御部１１６は、受信したチップアクセスチケット１０４が正当なチップアクセスチケットであるか否かを判別する（ステップＳ５０６）。
【００９３】
ステップＳ５０６の判別の結果、受信したチップアクセスチケット１０４が正当なチップアクセスチケットであるときは（ステップＳ５０６でＹＥＳ）、セキュアチップ１１４のアクセス制御部１１６は、チップアクセスチケット１０４の実行可能コマンド１３２のコマンドの実行が可能となるように、また、アクセス領域１３４に対応するアクセス領域の利用が可能となるように、セキュアチップ１１４の状態を設定して（ステップＳ５０８）、セキュアチップ制御モジュール１１０にチップアクセスチケット１０４を受理した旨を通知する（ステップＳ５１０）。
【００９４】
次いで、セキュアチップ１１４は、アプリケーション１０２からのセキュアチップ１１４のコマンドの実行要求を受け付けたセキュアチップ制御モジュール１１０からのコマンドを受理する（ステップＳ５１２）。
【００９５】
次いで、セキュアチップ１１４のアクセス制御部１１６は、セキュアチップ制御モジュール１１０が発行したコマンドが、アクセスチケット１０４の認証により実行が許可されたコマンドであり、また、セキュアチップ制御モジュール１１０が発行したコマンドのアクセス領域が、アクセスチケット１０４の認証によりアクセスが許可された領域であるか否かの判別を行う（ステップＳ５１４）。
【００９６】
ステップＳ５１４の判別の結果、セキュアチップ制御モジュール１１０が発行したコマンドが実行が許可されたコマンドであり、コマンドのアクセス領域がアクセスが許可された領域であるときは（ステップＳ５１４でＹＥＳ）、セキュアチップ１１４のアクセス制御部１１６は、そのコマンドの実行を許可し、表示部１２２を用いてユーザにセキュアチップ１１４の通常利用表示を行う。例えば、セキュアチップ１１４のアクセス制御部１１６は、表示部１２２のＬＥＤを点灯させて通常利用の表示を行ってもよく、コマンドに応じて点灯させるＬＥＤの色や種類を変更してもよい。
【００９７】
次いで、セキュアチップ１１４のコマンド実行部１１８は、セキュアチップ１１４のアクセス制御部１１６によって実行が許可されたコマンドを実行する（ステップＳ５１８）。そして、セキュアチップ１１４はコマンドの実行結果をセキュアチップ制御モジュール１１０に返信する（ステップＳ５２０）。
【００９８】
ステップＳ５０６の判別の結果、受信したチップアクセスチケット１０４が正当なチップアクセスチケットでないときは（ステップＳ５０６でＮＯ）、セキュアチップ１１４は、チップアクセスチケット１０４の認証失敗を表す情報をセキュアチップ制御モジュール１１０に返信する（ステップＳ５２２）。
【００９９】
ステップＳ５１４の判別の結果、セキュアチップ制御モジュール１１０が発行したコマンドが実行が許可されたコマンドでなく、またはコマンドのアクセス領域がアクセスが許可された領域でないときは（ステップＳ５１４でＮＯ）、セキュアチップ１１４のアクセス制御部１１６は、そのコマンドの実行を不許可し、表示部１２２を用いてユーザにセキュアチップ１１４の不正利用表示を行う（ステップＳ５２４）。例えば、セキュアチップ１１４のアクセス制御部１１６は、表示部１２２のＬＥＤを点灯させて不正利用の表示を行ってもよく、コマンドに応じて点灯させるＬＥＤの色や種類を変更してもよい。
【０１００】
［１０．ＰＩＮ値変更処理］
以下、図２の情報処理システム１０００におけるクライアント１００およびアクセス領域発行サーバ５００が実行するＰＩＮ値変更処理について説明する。図１１は、図２情報処理システム１０００におけるクライアント１００およびアクセス領域発行サーバ５００が実行するＰＩＮ値変更処理のシーケンス図である。本処理は、ＰＩＮ値１３８が漏洩、または盗難された場合に、それを悪用することによるセキュアチップ１１４への不正アクセスを防止するために実行される。また、本処理は、クライアント１００がバージョンアップされたアプリケーション１５０をダウンロードしてクライアント１００にバージョンアップされたアプリケーション１０２がインストールされてから実行される。
【０１０１】
図１１において、まず、クライアント１００においてバージョンアップされたアプリケーション１５０が起動されると、バージョンアップされたアプリケーション１５０は、セキュアチップ制御モジュール１１０にセキュアチップ１１４の不揮発メモリ１２０内のアクセス領域毎に登録されたＰＩＮ値の変更要求を行う（ステップＳ６０２）。
【０１０２】
次いで、セキュアチップ制御モジュール１１０は、セキュアチップ１１４の電源をオンにして（ステップＳ６０４）、アクセス領域発行サーバ５００にセキュアチップ１１４の不揮発メモリ１２０内のアクセス領域毎に登録されたＰＩＮ値を更新するためのオンライン処理を要求する（ステップＳ６０６）。
【０１０３】
次いで、オンライン処理要求を受け付けたアクセス領域発行サーバ５００は、オンライン処理によりセキュアチップ制御モジュール１１０を介してセキュアチップ１１４の不揮発メモリ１２０内にアプリケーション１０２が利用するアクセス領域が発行済みであることの確認を行う（ステップＳ６０８）。さらに、アクセス領域発行サーバ５００は、オンライン処理によりセキュアチップ制御モジュール１１０を介してセキュアチップ１１４の不揮発メモリ１２０内のアクセス領域毎に登録されたＰＩＮ値の更新を行う（ステップＳ６１０）。
【０１０４】
次いで、セキュアチップ制御モジュール１１０は、アプリケーション１０２にオンライン処理の結果を通知する（ステップＳ６１２）。
【０１０５】
図１１のＰＩＮ値変更処理によれば、ＰＩＮ値１３８が漏洩、または盗難された場合に、ＰＩＮ値１３８の変更を行うことができるので、ＰＩＮ値１３８を悪用することのよりセキュアチップ１１４への不正アクセスを防止することができる。
【０１０６】
［１１．チップアクセスチケット認証処理の変形例］
以下、図８におけるステップＳ３０８で実行されるチップアクセスチケット認証処理の変形例について説明する。図１２は、図８におけるステップＳ３０８で実行されるチップアクセスチケット認証処理の変形例のフローチャートである。
【０１０７】
図１２において、まず、セキュアチップ１１４は、セキュアチップ制御モジュール１１０から受信したチップアクセスチケット１０４のフォーマットが正しいか否かを判別する（ステップＳ７０２）。
【０１０８】
ステップＳ７０２の判別の結果、チップアクセスチケット１０４のフォーマットが正しいときは（ステップＳ７０２でＹＥＳ）、セキュアチップ１１４は、チップアクセスチケット１０４の発行者識別コード１３６がセキュアチップ１１４の発行者識別コードと合致するか否かを判別する（ステップＳ７０４）。
【０１０９】
ステップＳ７０４の判別の結果、チップアクセスチケット１０４の発行者識別コード１３６がセキュアチップ１１４の発行者識別コードと合致するときは（ステップＳ７０４でＹＥＳ）、セキュアチップ１１４は、不揮発メモリ１２０内にチップアクセスチケット１０４のアクセス領域１３４が存在するか否かを判別する（ステップＳ７０６）。
【０１１０】
ステップＳ７０６の判別の結果、不揮発メモリ１２０内にチップアクセスチケット１０４のアクセス領域１３４が存在するときは（ステップＳ７０６でＹＥＳ）、セキュアチップ１１４は、チップアクセスチケット１０４のハッシュ値１３０の検証を行う（ステップＳ７０８）。
【０１１１】
次いで、セキュアチップ１１４は、ステップＳ７０８での検証の結果、チップアクセスチケット１０４のハッシュ値１３０が正しいか否かを判別する（ステップＳ７１０）。
【０１１２】
ステップＳ７１０の判別の結果、チップアクセスチケット１０４のハッシュ値１３０が正しいときは（ステップＳ７１０でＹＥＳ）、セキュアチップ１１４は、チップアクセスチケット１０４が正当なチップアクセスチケットであると認証して、セキュアチップ制御モジュール１１０に“認証成功”を意味する情報を返信する（ステップＳ７１２）。
【０１１３】
ステップＳ７０２の判別の結果、チップアクセスチケット１０４のフォーマットが正しくないときは（ステップＳ７０２でＮＯ）、セキュアチップ１１４は、セキュアチップ制御モジュール１１０に“不正チケット”を意味するエラーコードを返信する（ステップＳ７１４）。
【０１１４】
ステップＳ７０４の判別の結果、チップアクセスチケット１０４の発行者識別コード１３６がセキュアチップ１１４の発行者識別コードと合致しないときは（ステップＳ７０４でＮＯ）、セキュアチップ１１４は、セキュアチップ制御モジュール１１０に“発行者違い”を意味するエラーコードとセキュアチップ１１４の発行者識別コードとを返信する（ステップＳ７１６）。なお、ステップＳ７１４では、セキュアチップ制御モジュール１１０に“発行者違い”を意味するエラーコードのみを返信してもよい。
【０１１５】
ステップＳ７０６の判別の結果、不揮発メモリ１２０内にチップアクセスチケット１０４のアクセス領域１３４が存在するときは（ステップＳ７０６でＮＯ）、セキュアチップ１１４は、セキュアチップ制御モジュール１１０に“領域なし”を意味するエラーコードを返信する（ステップＳ７１８）。
【０１１６】
ステップＳ７１０の判別の結果、チップアクセスチケット１０４のハッシュ値１３０が正しくないときは（ステップＳ７１０でＮＯ）、セキュアチップ１１４は、セキュアチップ制御モジュール１１０に“ハッシュ違い”を意味するエラーコードを返信する（ステップＳ７２０）。
【０１１７】
図１２のチップアクセスチケット認証処理によれば、セキュアチップ１１４においてチップアクセスチケット１０４の認証が失敗した場合に、セキュアチップ制御モジュール１１０にはセキュアチップ１１４からエラーコードが返信される。そして、セキュアチップ制御モジュール１１０は、以下に説明する、返信されたエラーコードに応じた処理を実行する。
【０１１８】
［１２．エラーコードに応じた処理］
以下、図３のクライアント１００が実行するエラーコードに応じた処理について説明する。図１３は、図３のクライアント１００が実行するエラーコードに応じた処理のフローチャートである。本処理は、図１２のチップアクセスチケット認証処理において、セキュアチップ１１４がセキュアチップ制御モジュール１１０にエラーコードを返信した後に実行される。
【０１１９】
図１３において、まず、クライアント１００のセキュアチップ制御モジュール１１０は、セキュアチップ１１４から受信したエラーコードが“不正チケット”を意味するエラーコードであるか否かを判別する（ステップＳ８０２）。
【０１２０】
ステップＳ８０２の判別の結果、エラーコードが“不正チケット”を意味するエラーコードであるときは（ステップＳ８０２でＹＥＳ）、セキュアチップ制御モジュール１１０は、不正なアプリケーションがセキュアチップ１１４を操作しようと動作していることを表示部１２２などを用いてユーザに警告する（ステップＳ８０４）。なお、ステップＳ８０４では、チップアクセスチケット１０４の送信元の不正なアプリケーションの動作を強制的に停止してもよく、その不正なアプリケーションを強制的に削除してもよい。これにより、セキュアチップ１１４への不正なアクセスを未然に防止することができる。
【０１２１】
ステップＳ８０２の判別の結果、エラーコードが“不正チケット”を意味するエラーコードでないときは（ステップＳ８０２でＮＯ）、セキュアチップ制御モジュール１１０は、エラーコードが“発行者違い”を意味するエラーコードであるか否かを判別する（ステップＳ８０６）。
【０１２２】
ステップＳ８０６の判別の結果、エラーコードが“発行者違い”を意味するエラーコードであるときは（ステップＳ８０６でＹＥＳ）、セキュアチップ制御モジュール１１０は、アプリケーションが操作対象とするセキュアチップ１１４の発行者が違うことを表示部１２２などを用いてユーザに通知する（ステップＳ８０８）。なお、ステップＳ８０８では、セキュアチップ制御モジュール１１０が“発行者違い”を意味するエラーコードとともにセキュアチップ１１４の発行者識別コードを受信した場合は、セキュアチップ制御モジュール１１０は、その発行者識別コードに基づいて、現在のセキュアチップ１１４の発行者向けに同じサービスを提供するアプリケーションのダウンロード先を検索してブラウザなどで表示し、ユーザにアプリケーションの入れ替えまたは更新を促してもよいし、自動的にそのアプリケーションをダウンロードしてアプリケーションの入れ替えまたは更新を行ってもよい。
【０１２３】
ステップＳ８０６の判別の結果、エラーコードが“発行者違い”を意味するエラーコードでないときは（ステップＳ８０６でＮＯ）、セキュアチップ制御モジュール１１０は、エラーコードが“領域なし”を意味するエラーコードであるか否かを判別する（ステップＳ８１０）。
【０１２４】
ステップＳ８１０の判別の結果、エラーコードが“領域なし”を意味するエラーコードであるときは（ステップＳ８１０でＹＥＳ）、セキュアチップ制御モジュール１１０は、セキュアチップ１１４に領域が未発行であることを表示部１２２などを用いてユーザに通知する（ステップＳ８１２）。なお、ステップＳ８１２では、セキュアチップ制御モジュール１１０はアプリケーション１０２と情報をやりとりして、アクセス領域発行サーバ５００にアクセス領域発行のためのオンライン処理を要求して領域発行を行ってもよい。
【０１２５】
ステップＳ８１０の判別の結果、エラーコードが“領域なし”を意味するエラーコードでないときは（ステップＳ８１０でＮＯ）、エラーコードは“ハッシュ違い”を意味するエラーコードであるので、セキュアチップ制御モジュール１１０は、アプリケーション１０２の持つチップアクセスチケット１０４もしくはセキュアチップ１１４内のＰＩＮ値が最新の状態でないことが考えられるため、アプリケーション１０２もしくはＰＩＮ値の更新が必要であることをユーザに通知する（ステップＳ８１４）。なお、ステップＳ８１４では、セキュアチップ制御モジュール１１０はアプリケーション１０２と情報をやりとりして、新しいバージョンのアプリケーションがリリースされていないかを確認して、新しいバージョンのアプリケーションがリリースされているときは、そのアプリケーションをダウンロードしてアプリケーションの更新を行ってもよく、アクセス領域発行サーバ５００にＰＩＮ値を変更するためのオンライン処理を要求してＰＩＮ値の更新を行ってもよい。
【０１２６】
図１３のエラーコードに応じた処理によれば、チップアクセスチケットが正当でないとされた要因をユーザに認識させることができる。また、その後に必要な処理を自動的に実行することができるため、ユーザの利便性を向上させることができる。
【０１２７】
なお、図１３のエラーコードに応じた処理において、アプリケーションの更新、領域発行またはＰＩＮ値の更新を行った場合は、セキュアチップ制御モジュール１１０は、再度チップアクセスチケットのチケット認証コマンドをセキュアチップ１１４に発行して、セキュアチップ１１４に再度チップアクセスチケット認証処理を行わせてもよい。このとき、セキュアチップ制御モジュール１１０は、セキュアチップ１１４から前回と同じエラーコードを受信したときは、表示部１２２などを用いてユーザに異常発生を通知して、アプリケーションを終了する。
【０１２８】
また、本発明の目的は、前述した各実施の形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。
【０１２９】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した各実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１３０】
また、プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ等の光ディスク、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【０１３１】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現されるだけではなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含まれる。
【０１３２】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その拡張機能を拡張ボードや拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含まれる。
【０１３３】
以上、添付図面を参照しながら本発明の好適な実施の形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【０１３４】
１００    クライアント
１０２，１０６    アプリケーション
１０４，１０８    チップアクセスチケット
１１０    セキュアチップ制御モジュール
１１４    セキュアチップ
１１６    アクセス制御部
１１８    コマンド実行部
１２０    不揮発メモリ
１２２    表示部
２００    アプリケーション公開サーバ
３００    アプリケーション作成者ＰＣ
４００    セキュアチップ発行者ＰＣ
５００    アクセス領域発行サーバ
【図１】
0005476086.tif 000002
【図２】
0005476086.tif 000003
【図３】
0005476086.tif 000004
【図４】
0005476086.tif 000005
【図５】
0005476086.tif 000006
【図６】
0005476086.tif 000007
【図７】
0005476086.tif 000008
【図８】
0005476086.tif 000009
【図９】
0005476086.tif 000010
【図１０】
0005476086.tif 000011
【図１１】
0005476086.tif 000012
【図１２】
0005476086.tif 000013
【図１３】
0005476086.tif 000014