(57)【特許請求の範囲】
【請求項１】
第３の秘密鍵および第３の公開鍵を有する第３の鍵ペアのうちの前記第３の公開鍵と、前記第３の鍵ペアのうちの前記第３の秘密鍵を用いた第３のデジタル署名とを有するアプリケーションから、ＩＣチップへのアクセス要求を受け付ける受付部と、
前記第３の鍵ペアのうちの前記第３の公開鍵を含み、前記アプリケーションの認証を行うための認証情報を前記アプリケーションから取得する取得部と、
前記取得部が取得した前記認証情報に基づいて、前記アプリケーションを認証する認証部と、
前記認証部による認証結果に基づいて、前記アプリケーションによる前記ＩＣチップへのアクセスを制御する制御部と、
を備え、
前記認証部は、前記取得部が取得した前記第３の鍵ペアのうちの前記第３の公開鍵と、記憶されている第３の公開鍵とを比較することにより、前記アプリケーションの認証を行う、情報処理装置。
【請求項２】
前記情報処理装置は、前記ＩＣチップをさらに備える、請求項１に記載の情報処理装置。
【請求項３】
前記情報処理装置は、前記アプリケーションをさらに備える、請求項２に記載の情報処理装置。
【請求項４】
第１の秘密鍵および第１の公開鍵を有する第１の鍵ペアのうちの前記第１の公開鍵を有する検証部をさらに備え、
前記認証情報は、前記第１の鍵ペアのうちの前記第１の秘密鍵を用いた第２のデジタル署名を含み、
前記検証部は、前記第１の鍵ペアのうちの前記第１の秘密鍵を用いた第１のデジタル署名の検証を行い、また、前記認証情報に含まれる前記第２のデジタル署名の検証を行う、請求項１〜３のいずれか一項に記載の情報処理装置。
【請求項５】
前記取得部は、前記アプリケーションから前記アプリケーションのバイナリデータを取得し、
前記認証情報は、第２の秘密鍵および第２の公開鍵を有する第２の鍵ペアのうちの前記第２の秘密鍵を用いた前記アプリケーションの署名値と、前記第２の鍵ペアのうちの前記第２の公開鍵とを含み、
前記認証部は、前記取得部が取得した前記アプリケーションのバイナリデータと、前記認証情報に含まれる前記アプリケーションの署名値を前記認証情報に含まれる前記第２の鍵ペアのうちの前記第２の公開鍵を用いて復号化した復号化データとを比較することにより、前記アプリケーションの認証を行う、請求項１〜４のいずれか一項に記載の情報処理装置。
【請求項６】
前記認証部により認証された前記アプリケーションに含まれる前記ＩＣチップへのアクセス用コマンドの情報を記憶する記憶部をさらに備え、
前記制御部は、前記アプリケーションからの前記ＩＣチップへのアクセス用コマンドが、前記記憶部に記憶された前記アクセス用コマンドの情報に含まれるときに、前記アプリケーションによる前記ＩＣチップへのアクセスを許可し、
前記アプリケーションからの前記ＩＣチップへのアクセス用コマンドが、前記記憶部に記憶された前記アクセス用コマンドの情報に含まれないときに、前記アプリケーションによる前記ＩＣチップへのアクセスを制限する、請求項１〜３のいずれか一項に記載の情報処理装置。
【請求項７】
前記記憶部は、前記認証部により認証された前記アプリケーションに含まれる前記ＩＣチップのアクセス可能領域の情報をさらに記憶し、
前記制御部は、前記記憶部に記憶された前記アクセス可能領域の情報に基づいて、前記アプリケーションによる前記ＩＣチップへのアクセス領域を制限する、請求項６に記載の情報処理装置。
【請求項８】
前記取得部が取得した前記認証情報を保持する保持部をさらに備え、
前記認証部は、前記保持部が保持する前記認証情報に基づいて、前記アプリケーションの認証を行う、請求項１〜３のいずれか一項に記載の情報処理装置。
【請求項９】
コンピュータを、
第３の秘密鍵および第３の公開鍵を有する第３の鍵ペアのうちの前記第３の公開鍵と、前記第３の鍵ペアのうちの前記第３の秘密鍵を用いた第３のデジタル署名とを有するアプリケーションから、ＩＣチップへのアクセス要求を受け付ける受付部と、
前記第３の鍵ペアのうちの前記第３の公開鍵を含み、前記アプリケーションの認証を行うための認証情報を前記アプリケーションから取得する取得部と、
前記取得部が取得した前記認証情報に基づいて、前記アプリケーションを認証する認証部と、
前記認証部による認証結果に基づいて、前記アプリケーションによる前記ＩＣチップへのアクセスを制御する制御部と、
として機能させるためのプログラムであって、
前記認証部は、前記取得部が取得した前記第３の鍵ペアのうちの前記第３の公開鍵と、記憶されている第３の公開鍵とを比較することにより、前記アプリケーションの認証を行う、プログラム。
【請求項１０】
情報処理装置と、
前記情報処理装置と通信可能な外部サーバと、
を備え、
前記情報処理装置は、
第３の秘密鍵および第３の公開鍵を有する第３の鍵ペアのうちの前記第３の公開鍵と、前記第３の鍵ペアのうちの前記第３の秘密鍵を用いた第３のデジタル署名とを有するアプリケーションから、ＩＣチップへのアクセス要求を受け付ける受付部と、
前記第３の鍵ペアのうちの前記第３の公開鍵を含み、前記アプリケーションの認証を行うための認証情報を前記アプリケーションから取得する取得部と、
前記取得部が取得した前記認証情報に基づいて、前記アプリケーションを認証する認証部と、
前記認証部による認証結果に基づいて、前記アプリケーションによる前記ＩＣチップへのアクセスを制御する制御部と、
を備え、
前記認証部は、前記取得部が取得した前記第３の鍵ペアのうちの前記第３の公開鍵と、記憶されている第３の公開鍵とを比較することにより、前記アプリケーションの認証を行う、情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、プログラム、および情報処理システムに関する。
【背景技術】
【０００２】
近年、耐タンパ性を有するＩＣチップ（以下、「セキュアチップ」という。）を備えた携帯電話などの情報処理装置が普及している。ユーザは、このような情報処理装置を、例えばリーダ／ライタにかざすだけでデータ通信を行うことができるので、非常に便利である。例えば、この情報処理装置を電子マネーシステムに適用することで、ユーザは、店舗等において、情報処理装置をリーダ／ライタにかざすだけで支払いを即座に完了することができる。
【０００３】
また、上記の電子マネーシステムを使用する際に、ユーザは、情報処理装置内にインストールされたアプリケーションを起動し、表示画面上で使用履歴や残額などを確認することができる。このように、情報処理装置の中には様々なアプリケーションを取り入れられる。
【０００４】
上述したセキュアチップを備えた情報処理装置に係る様々な技術が開発されている。特許文献１では、リーダ／ライタが情報処理装置と通信可能とするアクセス鍵を管理することにより、サービス、アクセス鍵等が増加しても迅速に、セキュアに通信することができる技術が開示されている。また、特許文献２では、リーダ／ライタが１または２種類の認証手段を組み合わせて情報処理装置の認証を行い、セキュアチップに対して通信処理を実行する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−２２２７８７号公報
【特許文献２】特開２００６−２４６０１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、上述した情報処理装置にインストールされ得るアプリケーションの中には、セキュアチップに不正にアクセスするものがある。このため、情報処理装置では、そのような不正なアクセスを防止する必要がある。不正なアクセスの具体例としては、ユーザが気付かない内に、不正に私用履歴などを閲覧されること等が挙げられる。
【０００７】
上述した不正なアクセスを防止するために、情報処理装置では、システム運営事業者がアプリケーションマネージャの仕様を独自に変更し、独自変更を実施したシステム運営事業者が管理するシステム上でのみ利用することで、セキュアチップへのアクセス制御を行っていた。
【０００８】
しかしながら、統一仕様に準拠したアプリケーションマネージャ、および周辺システムを複数のシステム運営事業者が共用する場合、各システム運営事業者が独自に仕様を変更するとシステムの整合性が損なわれるため、アプリケーションマネージャの仕様を変更することはできない。このため、従来のアクセス制御方式が採用できないという問題があった。また、セキュアチップへのアクセス制御のために、アプリケーションマネージャの仕様を、アプリケーションに応じてその都度変更することは煩わしいという問題もあった。
【０００９】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、アプリケーションマネージャの仕様を変更することなく、アプリケーションによるセキュアチップへの不正なアクセスを防止することが可能な、新規かつ改良された情報処理装置、プログラム、および情報処理システムを提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明のある観点によれば、ＩＣチップにアクセスするためのアクセス権限情報を有するアプリケーションから、上記ＩＣチップへのアクセス要求を受け付ける受付部と、上記受付部が受け付けた上記アクセス要求に含まれる上記アクセス権限情報に基づいて、上記アプリケーションの認証を行うための認証情報を外部サーバから取得する取得部と、上記取得部が取得した上記認証情報に基づいて、上記アプリケーションを認証する認証部と、上記認証部による認証結果に基づいて、上記アプリケーションによる上記ＩＣチップへのアクセスを制御する制御部と、を備える情報処理装置が提供される。
【００１１】
係る構成により、アプリケーションマネージャの仕様を変更することなく、アプリケーションによるセキュアチップへの不正なアクセスを防止することができる。
【００１２】
また、第１の秘密鍵および第１の公開鍵を有する第１の鍵ペアのうちの上記第１の公開鍵を有する検証部をさらに備え、上記アクセス権限情報は、上記第１の鍵ペアのうちの上記第１の秘密鍵を用いた第１のデジタル署名を含み、上記認証情報は、上記第１の鍵ペアのうちの上記第１の秘密鍵を用いた第２のデジタル署名を含み、上記検証部は、上記アクセス権限情報に含まれる上記第１のデジタル署名の検証を行い、また、上記認証情報に含まれる前記第２のデジタル署名の検証を行ってもよい。
【００１３】
また、上記取得部は、上記アプリケーションから上記アプリケーションのバイナリデータを取得し、上記認証情報は、第２の秘密鍵および第２の公開鍵を有する第２の鍵ペアのうちの上記第２の秘密鍵を用いた上記アプリケーションの署名値と、上記第２の鍵ペアのうちの上記第２の公開鍵とを含み、上記認証部は、上記取得部が取得した上記アプリケーションのバイナリデータと、上記認証情報に含まれる上記アプリケーションの署名値を上記認証情報に含まれる上記第２の鍵ペアのうちの上記第２の公開鍵を用いて復号化した復号化データとを比較することにより、上記アプリケーションの認証を行ってもよい。
【００１４】
また、上記アプリケーションは、第３の秘密鍵および第３の公開鍵を有する第３の鍵ペアのうちの上記第３の公開鍵と、上記第３の鍵ペアのうちの上記第３の秘密鍵を用いた第３のデジタル署名とを有し、上記取得部は、上記アプリケーションから上記第３の鍵ペアのうちの上記第３の公開鍵を取得し、上記認証情報は、上記第３の鍵ペアのうちの上記第３の公開鍵を含み、上記認証部は、上記取得部が取得した上記第３の鍵ペアのうちの上記第３の公開鍵と、上記認証情報に含まれる上記第３の鍵ペアのうちの上記第３の公開鍵とを比較することにより、上記アプリケーションの認証を行ってもよい。
【００１５】
また、上記認証部により認証された上記アプリケーションが有する上記アクセス権限情報に含まれる上記ＩＣチップへのアクセス用コマンドの情報を記憶する記憶部をさらに備え、上記制御部は、上記アプリケーションからの上記ＩＣチップへのアクセス用コマンドが、上記記憶部に記憶された上記アクセス用コマンドの情報に含まれるときに、上記アプリケーションによる上記ＩＣチップへのアクセスを許可し、上記アプリケーションからの上記ＩＣチップへのアクセス用コマンドが、上記記憶部に記憶された上記アクセス用コマンドの情報に含まれないときに、上記アプリケーションによる上記ＩＣチップへのアクセスを制限してもよい。
【００１６】
また、上記記憶部は、上記認証部により認証された上記アプリケーションが有する上記アクセス権限情報に含まれる上記ＩＣチップのアクセス可能領域の情報をさらに記憶し、上記制御部は、上記記憶部に記憶された上記アクセス可能領域の情報に基づいて、上記アプリケーションによる上記ＩＣチップへのアクセス領域を制限してもよい。
【００１７】
また、上記取得部が取得した上記認証情報を保持する保持部をさらに備え、上記認証部は、上記保持部が保持する上記認証情報に基づいて、上記アプリケーションの認証を行ってもよい。
【００１８】
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータを、ＩＣチップにアクセスするためのアクセス権限情報を有するアプリケーションから、上記ＩＣチップへのアクセス要求を受け付ける受付部と、上記受付部が受け付けた上記アクセス要求に含まれる上記アクセス権限情報に基づいて、上記アプリケーションの認証を行うための認証情報を外部サーバから取得する取得部と、上記取得部が取得した上記認証情報に基づいて、上記アプリケーションを認証する認証部と、上記認証部による認証結果に基づいて、上記アプリケーションによる上記ＩＣチップへのアクセスを制御する制御部と、として機能させるためのプログラムが提供される。
【００１９】
係るプログラムを用いることにより、アプリケーションマネージャの仕様を変更することなく、アプリケーションによるセキュアチップへの不正なアクセスを防止することができる。
【００２０】
また、上記課題を解決するために、本発明の別の観点によれば、情報処理装置と、上記情報処理装置と通信可能な外部サーバと、を備え、上記情報処理装置は、ＩＣチップにアクセスするためのアクセス権限情報を有するアプリケーションから、上記ＩＣチップへのアクセス要求を受け付ける受付部と、上記受付部が受け付けた上記アクセス要求に含まれる上記アクセス権限情報に基づいて、上記アプリケーションの認証を行うための認証情報を上記外部サーバから取得する取得部と、上記取得部が取得した上記認証情報に基づいて、上記アプリケーションを認証する認証部と、上記認証部による認証結果に基づいて、上記アプリケーションによる上記ＩＣチップへのアクセスを制御する制御部と、を備える情報処理システムが提供される。
【００２１】
係るシステムを用いることにより、アプリケーションマネージャの仕様を変更することなく、アプリケーションによるセキュアチップへの不正なアクセスを防止することができる。
【発明の効果】
【００２２】
以上説明したように本発明によれば、アプリケーションマネージャの仕様を変更することなく、アプリケーションによるセキュアチップへの不正なアクセスを防止することができる。
【図面の簡単な説明】
【００２３】
【図１】従来の情報処理装置におけるアプリケーションによるセキュアチップへのアクセス制御を説明するための説明図である。
【図２】本発明の第１の実施の形態に係る情報処理システムの概略構成を説明するための説明図である。
【図３】図２におけるクライアントの機能構成を説明するための説明図である。
【図４】本第１の実施の形態に係る情報処理システムが実行する、アクセス制御のための準備処理のシーケンス図である。
【図５】本第１の実施の形態に係る情報処理システムが実行するアクセス制御処理のシーケンス図である。
【図６】図５におけるステップＳ１０２で実行されるアクセス権限情報認証処理のフローチャートである。
【図７】図５におけるステップＳ１０６で実行されるアプリケーション認証処理のフローチャートである。
【図８】図５におけるステップＳ１０９で実行されるコマンド実行制御処理のフローチャートである。
【図９】アクセス権限情報の内容を説明するための説明図である。
【図１０】アクセス権限情報の内容を説明するための説明図である。
【図１１】認証情報の内容を説明するための説明図である。
【図１２】認証情報の内容を説明するための説明図である。
【図１３】本発明の第２の実施の形態に係る情報処理システムの概略構成を説明するための説明図である。
【図１４】本第２の実施の形態に係る情報処理システムが実行する、アクセス制御のための準備処理のシーケンス図である。
【図１５】本第２の実施の形態に係る情報処理システムが実行するアクセス制御処理のシーケンス図である。
【図１６】図１５におけるステップＳ８０８で実行されるアプリケーション認証処理のフローチャートである。
【図１７】認証情報の内容を説明するための説明図である。
【図１８】認証情報の内容を説明するための説明図である。
【発明を実施するための形態】
【００２４】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２５】
なお、説明は以下の順序で行うものとする。
１．従来のアクセス制御
２．本発明の第１の実施の形態に係る情報処理システム
３．本発明の第１の実施の形態に係るアクセス制御のための準備処理
４．本発明の第１の実施の形態に係るアクセス制御処理
５．本発明の第２の実施の形態に係る情報処理システム
６．本発明の第２の実施の形態に係るアクセス制御のための準備処理
７．本発明の第２の実施の形態に係るアクセス制御処理
【００２６】
［従来のアクセス制御］
本発明の実施の形態に係る情報処理システムについて説明する前に、まず、従来の情報処理装置におけるアプリケーションによるセキュアチップへのアクセス制御について説明する。図１は、従来の情報処理装置におけるアプリケーションによるセキュアチップへのアクセス制御を説明するための説明図である。
【００２７】
図１において、従来の情報処理装置としての携帯電話などのクライアント１０は、アプリケーション１１、アプリケーション１２、制御モジュール１３、ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）１４、アプリケーションマネージャ１５およびセキュアチップ１６を備える。アプリケーション１１は、セキュアチップ１６へのアクセス権限を有していない。アプリケーション１２は、セキュアチップ１６へのアクセス権限を有している。
【００２８】
クライアント１０では、アプリケーション１２がセキュアチップ１６へのアクセスをＡＰＩ１４を介して制御モジュール１３に要求すると、アプリケーションマネージャ１５はアクセスを要求したアプリケーション１２がアクセス権限を有するか否かを判定する。アプリケーション１２は、セキュアチップ１６へのアクセス権限を有するため、アプリケーションマネージャ１５によりアプリケーション１２によるセキュアチップ１６へのアクセスが許可される。これにより、制御モジュール１３はアプリケーション１２から要求されたセキュアチップ１６へのアクセス用コマンドをセキュアチップ１６に対して実行することができる。
【００２９】
一方、アプリケーション１１がセキュアチップ１６へのアクセスをＡＰＩ１４を介して制御モジュール１３に要求すると、アプリケーション１１は、セキュアチップ１６へのアクセス権限を有していないため、セキュアチップ１６へのアクセスが許可されない。このため、制御モジュール１３はアプリケーション１１から要求されたセキュアチップ１６へのアクセス用コマンドをセキュアチップ１６に対して実行しない。これにより、アクセス権限を有していないアプリケーション１１によるセキュアチップ１６への不正なアクセスを防止することができる。なお、クライアント１０は、インストールされたアプリケーションが制御モジュール１４を経由しないでセキュアチップ１６へアクセスすることをブロックする機能を有している。
【００３０】
ところで、従来のクライアント１０では、システム運営事業者がアプリケーションマネージャ１５の仕様を独自に変更し、独自変更を実施したシステム運営事業者が管理するシステム上でのみ利用することで、セキュアチップ１６へのアクセス制御を行っていた。例えば、携帯電話などのクライアント１０内で動作するＪａｖａアプリケーションにおいては、マニフェストファイルおよびＪＡＤ（Ｊａｖａ  Ａｐｐｌｉｃａｔｉｏｎ  Ｄｅｓｃｒｉｐｔｏｒ）に対してセキュアチップ１６へのアクセス用属性を追加する。そして、その内容をアプリケーションマネージャ１５の一例としてのＪＡＭ（Ｊａｖａ  Ａｐｐｌｉｃａｔｉｏｎ  Ｍａｎａｇｅｒ）が解釈できるようにＪＡＭの統一仕様に対して、仕様を独自に変更し、その独自仕様を、仕様を変更したシステム運営事業者が管理するシステムでのみ適用していた。
【００３１】
しかしながら、統一仕様に準拠したアプリケーションマネージャ、および周辺システムを複数のシステム運営事業者が共用する場合、各システム運営事業者が独自に仕様を変更するとシステムの整合性が損なわれるため、アプリケーションマネージャの仕様を変更することはできない。このため、従来のアクセス制御方式が採用できず、アプリケーションによるセキュアチップ１６への不正なアクセスを防止することができない。
【００３２】
そこで、後述する本発明の実施の形態に係る情報処理システムでは、後述するアクセス制御のための準備処理、およびアクセス制御処理を実行する。これにより、アプリケーションマネージャ１５の仕様を変更することなく、アプリケーションによるセキュアチップ１６への不正なアクセスを防止することができる。
【００３３】
［本発明の第１の実施の形態に係る情報処理システム］
次に、本発明の第１の実施の形態に係る情報処理システムについて説明する。図２は、本発明の第１の実施の形態に係る情報処理システムの概略構成を説明するための説明図である。
【００３４】
図２において、本発明の情報処理システムの一例としての情報処理システム１０００は、携帯電話などのクライアント１００、イシュアサーバ２００、アプリケーション提供サーバ３００および認証サーバ４００を備える。なお、情報処理システム１０００は、クライアント１００の代わりにＰＣなどのクライアント１５０を備えてもよい。クライアント１００，１５０は、本発明の情報処理装置の一例である。これらクライアント１００，１５０、サーバ２００，３００，４００はそれぞれ通信網５００に接続されている。
【００３５】
クライアント１００は、アプリケーション１１０、制御モジュール１２０およびセキュアチップ１３０を備える。セキュアチップ１３０は、耐タンパ性が優れたＩＣチップである。セキュアチップ１３０は、例えばリーダ／ライタ（図示せず）と非接触通信を行うための非接触通信デバイス（図示せず）を備え、リーダ／ライタと非接触方式で情報を通信する。また、セキュアチップ１３０は、記憶装置（図示せず）を備え、非接触方式で通信する情報を記憶する。なお、セキュアチップ１３０の記憶装置は、非接触方式で通信する情報以外の情報も記憶することができる。アプリケーション１１０は、セキュアチップ１３０の記憶装置に記憶された情報を用いて所定の処理を行う。また、アプリケーション１１０は、後述する図９および図１０のアクセス権限情報１１２を有する。制御モジュール１２０は、セキュアチップ１３０の制御を行う。例えば、制御モジュール１２０は、後述するようにアプリケーション１１０によるセキュアチップ１３０へのアクセス制御を行う。
【００３６】
クライアント１５０は、アプリケーション１６０および制御モジュール１７０を備え、制御モジュール１７０は外部のセキュアチップ１８０の制御を行う。なお、アプリケーション１６０、制御モジュール１７０、セキュアチップ１８０はそれぞれ、アプリケーション１１０、制御モジュール１２０、セキュアチップ１３０と同様の機能構成を有する。また、アプリケーション１６０は、アクセス権限情報１１２と同様のアクセス権限情報１６２を有する。
【００３７】
アプリケーション提供サーバ３００は、例えば、アプリケーション１１０を作成する。また、アプリケーション提供サーバ３００は、セキュアチップ１３０へアクセスするアプリケーション１１０を作成する場合、イシュアサーバ２００へセキュアチップ１３０へのアクセスを申請する。イシュアサーバ２００から後述するアクセス権限情報１１２が発行されると、アプリケーション提供サーバ３００は、発行されたアクセス権限情報１１２をアプリケーション１１０に埋め込む。また、アプリケーション提供サーバ３００は、後述する認証情報４０２を生成するための情報をイシュアサーバ２００へ送信する。アプリケーション提供サーバ３００は、クライアント１００からのアプリケーション１１０の提供依頼があると、アプリケーション１１０をクライアント１００へ提供する。
【００３８】
イシュアサーバ２００は、例えば、アプリケーション提供サーバ３００からのセキュアチップ１３０へのアクセス申請を受け付けた後に、アクセス権限情報１１２を生成して、生成したアクセス権限情報１１２をアプリケーション提供サーバ３００へ発行する。また、イシュアサーバ２００は、アプリケーション提供サーバ３００から認証情報４０２を生成するための情報を受信した後に、認証情報４０２を生成して、生成した認証情報４０２を認証サーバ４００に送信する。
【００３９】
認証サーバ４００は、認証情報４０２を有する。認証サーバ４００は、本発明の外部サーバの一例である。認証サーバ４００は、例えば、後述するようにクライアント１００の制御モジュール１２０からの認証情報４０２の要求を受け付けた後に、認証情報４０２を制御モジュール１２０へ送信する。
【００４０】
情報処理システム１０００では、後述する図４のアクセス制御のための準備処理および図５のアクセス制御処理を実行することにより、アプリケーションマネージャ（図示せず）などの仕様を変更することなく、アプリケーションによるセキュアチップ１３０への不正なアクセスを防止することができる。以下、情報処理システム１０００がクライアント１００、イシュアサーバ２００、アプリケーション提供サーバ３００および認証サーバ４００から構成される場合について説明する。
【００４１】
次に、図２におけるクライアント１００の機能構成について説明する。図３は、図２におけるクライアント１００の機能構成を説明するための説明図である。
【００４２】
図３において、クライアント１００は、アプリケーション１１０、制御モジュール１２０およびセキュアチップ１３０を備える。制御モジュール１２０は、受付部１２１、取得部１２２、認証部１２３、制御部１２４、検証部１２５、記憶部１２６および保持部１２７を備える。
【００４３】
受付部１２１は、セキュアチップ１３０にアクセスするためのアクセス権限情報１１２を有するアプリケーション１１０から、セキュアチップ１３０へのアクセス要求を受け付ける。取得部１２２は、受付部１２１が受け付けたアクセス要求に含まれるアクセス権限情報１１２に基づいて、アプリケーション１１０の認証を行うための認証情報４０２を認証サーバ４００から取得する。認証部１２３は、取得部１２２が取得した認証情報４０２に基づいて、アプリケーション１１０を認証する。制御部１２４は、認証部１２３による認証結果に基づいて、アプリケーション１１０によるセキュアチップ１３０へのアクセスを制御する。
【００４４】
検証部１２５は、後述するようにイシュアサーバ２００が生成した鍵ペアのうちの公開鍵を有し、アクセス権限情報１１２に含まれるデジタル署名の検証を行い、また、認証情報４０２に含まれるデジタル署名の検証を行う。記憶部１２６は、認証部１２３により認証されたアプリケーション１１０が有するアクセス権限情報１１２に含まれるセキュアチップ１３０へのアクセス用コマンドの情報およびアクセス可能領域の情報を記憶する。保持部１２７は、取得部１２２が取得した認証情報４０２を保持する。
【００４５】
［本発明の第１の実施の形態に係るアクセス制御のための準備処理］
以下、本発明の第１の実施の形態に係る情報処理システムが実行する、アクセス制御のための準備処理について説明する。図４は、本発明の第１の実施の形態に係る情報処理システムが実行する、アクセス制御のための準備処理のシーケンス図である。
【００４６】
図４において、まず、イシュアサーバ２００は、本発明の第１の鍵ペアの一例としての、デジタル署名のための鍵ペアを生成する（ステップＳ２０１）。次いで、イシュアサーバ２００は、生成した鍵ペアのうち公開鍵（図示せず）をクライアント１００の制御モジュール１２０へ埋め込む（ステップＳ２０２）。
【００４７】
次いで、アプリケーション提供サーバ３００は、作成するアプリケーション１１０がクライアント１００のセキュアチップ１３０へアクセス可能となるように、イシュアサーバ２００へセキュアチップ１３０へのアクセスを申請する（ステップＳ３０１）。具体的には、アプリケーション提供サーバ３００は、イシュアサーバ２００へ実行したいチップアクセス用コマンドの一覧とアクセスしたいチップ領域の一覧とを送信する。
【００４８】
次いで、セキュアチップ１３０へのアクセス申請を受け付けたイシュアサーバ２００は、アクセス申請内容に基づいて、図９および図１０に示すアクセス権限情報１１２を生成する（ステップＳ２０３）。図９および図１０に示すように、アクセス権限情報１１２は、アプリケーション識別子１１３と、実行可能コマンド一覧１１４と、アクセス可能領域一覧１１５と、署名データ１１６とから構成される。アプリケーション識別子１１３は、アプリケーション１１０を識別するための情報である。実行可能コマンド一覧１１４は、アプリケーション１１０が実行可能なチップアクセス用コマンドの一覧である。アクセス可能領域一覧１１５は、アプリケーション１１０がアクセス可能なチップ領域の一覧である。署名データ１１６は、アプリケーション識別子１１３、実行可能コマンド一覧１１４およびアクセス可能領域一覧１１５に対する、ステップＳ２０１で生成した鍵ペアのうち秘密鍵２０２を用いたデジタル署名である。署名データ１１６は、本発明の第１のデジタル署名の一例である。そして、イシュアサーバ２００は、生成したアクセス権限情報１１２をアプリケーション提供サーバ３００へ発行する（ステップＳ２０４）。
【００４９】
次いで、アプリケーション提供サーバ３００は、アプリケーション１１０を作成して（ステップＳ３０２）、作成したアプリケーション１１０にステップＳ２０４で発行されたアクセス権限情報１１２を埋め込む（ステップＳ３０３）。アプリケーション提供サーバ３００は、後述するようにアプリケーション１１０が制御モジュール１２０へセキュアチップ１３０へのアクセスを要求する際に、アプリケーション１１０が制御モジュール１２０へアクセス権限情報１１２を渡すようにする。
【００５０】
次いで、アプリケーション提供サーバ３００は、本発明の第２の鍵ペアの一例としての、デジタル署名のための鍵ペアを生成して（ステップＳ３０４）、図１１に示すように、生成した鍵ペアのうち秘密鍵３０２を用いてアプリケーション１１０のアプリケーション署名値４０４を生成する（ステップＳ３０５）。そして、アプリケーション提供サーバ３００は、図１１に示すように、ステップＳ３０５で生成したアプリケーション署名値４０４と、ステップＳ３０４で生成した鍵ペアのうち公開鍵３０４とをイシュアサーバ２００に提供する（ステップＳ３０６）。
【００５１】
次いで、イシュアサーバ２００は、提供されたアプリケーション署名値４０４と、公開鍵３０４とに基づいて、図１１および図１２に示す認証情報４０２を生成する（ステップＳ２０５）。図１１および図１２に示すように、認証情報４０２は、アプリケーション識別子４０３と、アプリケーション署名値４０４と、署名検証用公開鍵４０５と、署名データ４０６とから構成される。アプリケーション識別子４０３は、アプリケーション１１０を識別するための情報である。アプリケーション署名値４０４は、アプリケーション１１０への署名値である。署名検証用公開鍵４０５は、アプリケーション１１０へのデジタル署名に利用した秘密鍵３０２に対応する公開鍵３０４である。署名データ４０６は、アプリケーション識別子４０３、アプリケーション署名値４０４および署名検証用公開鍵４０５に対する、ステップＳ２０１で生成した鍵ペアのうち秘密鍵２０２を用いたデジタル署名である。署名データ４０６は、本発明の第２のデジタル署名の一例である。そして、イシュアサーバ２００は、生成した認証情報４０２を認証サーバ４００へ送信して（ステップＳ２０６）、認証サーバ４００は受信した認証情報４０２を登録して、本処理を終了する。
【００５２】
［本発明の第１の実施の形態に係るアクセス制御処理］
以下、本発明の第１の実施の形態に係る情報処理システムが実行するアクセス制御処理について説明する。図５は、本発明の第１の実施の形態に係る情報処理システムが実行するアクセス制御処理のシーケンス図である。本処理は、図４のアクセス制御のための準備処理の後に実行される。
【００５３】
図５において、まず、アプリケーション１１０は、制御モジュール１２０へセキュアチップ１３０へのアクセスを要求する（ステップＳ１０１）。このとき、アプリケーション１１０は、埋め込まれたアクセス権限情報１１２を制御モジュール１２０へ渡す。
【００５４】
次いで、セキュアチップ１３０へのアクセス要求を受け付けた制御モジュール１２０は、後述する図６のアクセス権限情報認証処理を実行して、アプリケーション１１０から渡されたアクセス権限情報１１２の正当性の認証を行う（ステップＳ１０２）。
【００５５】
ステップＳ１０２のアクセス権限情報認証処理が正常に終了した場合、制御モジュール１２０は、アクセス権限情報１１２に対応する認証情報４０２を認証サーバ４００へ要求する（ステップＳ１０３）。このとき、制御モジュール１２０は、アクセス権限情報１１２におけるアプリケーション識別子１１３を認証サーバ４００へ渡す。
【００５６】
次いで、認証情報４０２の要求を受け付けた認証サーバ４００は、認証情報４０２を制御モジュール１２０へ送信する（ステップＳ４０１）。具体的には、認証サーバ４００は、制御モジュール１２０から渡されたアプリケーション識別子１１３と同一のアプリケーション識別子４０３を有する認証情報４０２を制御モジュール１２０へ送信する。
次いで、認証情報４０２を受信した制御モジュール１２０は、アプリケーション１１０へアプリケーション１１０のバイナリデータを要求する（ステップＳ１０４）。次いで、アプリケーション１１０のバイナリデータの要求を受け付けたアプリケーション１１０は、アプリケーション１１０のバイナリデータを制御モジュール１２０へ送信する（ステップＳ１０５）。
【００５７】
次いで、認証情報４０２を受信した制御モジュール１２０は、後述する図７のアプリケーション認証処理を実行して、セキュアチップ１３０へのアクセスを要求するアプリケーション１１０のセキュアチップ１３０へのアクセス権限の正当性の認証を行う（ステップＳ１０６）。
【００５８】
ステップＳ１０６のアプリケーション認証処理が正常に終了した場合、制御モジュール１２０は、アクセス権限情報１１２における実行可能コマンド一覧１１４およびアクセス可能領域一覧１１５を記憶装置（図示せず）に記憶する（ステップＳ１０７）。
【００５９】
そして、アプリケーション１１０は、チップアクセス用コマンドの実行を制御モジュール１２０へ要求する（ステップＳ１０８）。チップアクセス用コマンドの実行要求を受け付けた制御モジュール１２０は、後述する図８のコマンド実行制御処理を実行して、要求されたチップアクセス用コマンドの実行の可否を判定する（ステップＳ１０９）。
【００６０】
ステップＳ１０９のコマンド実行制御処理が正常に終了した場合、制御モジュール１２０は、セキュアチップ１３０へ要求されたチップアクセス用コマンドを実行して（ステップＳ１１０）、本処理を終了する。
【００６１】
図６は、図５におけるステップＳ１０２で実行されるアクセス権限情報認証処理のフローチャートである。
【００６２】
図６において、まず、制御モジュール１２０は、アプリケーション１１０から渡されたアクセス権限情報１１２のフォーマットが正当であるか否かを判別する（ステップＳ５０１）。具体的には、制御モジュール１２０は、アクセス権限情報１１２のフォーマットが、図１０に示すような、図４におけるステップＳ２０３でのイシュアサーバ２００によるアクセス権限情報１１２の生成において規定したフォーマットであるか否かを判別する。
【００６３】
アクセス権限情報１１２のフォーマットが正当であるときは（ステップＳ５０１でＹＥＳ）、制御モジュール１２０は、図４におけるステップＳ２０２で埋め込まれた公開鍵を用いてアクセス権限情報１１２における署名データ１１６の検証を行う。そして、制御モジュール１２０は、署名データ１１６が正当であるか否かを判別する（ステップＳ５０２）。具体的には、ステップＳ２０２で埋め込まれた公開鍵を用いて署名データ１１６を復号化して、復号化データと署名対象データ、すなわちアプリケーション識別子１１３、実行可能コマンド一覧１１４およびアクセス可能領域一覧１１５とが一致しているか否かを判別して、署名データ１１６が正当であるか否かを判別する。
【００６４】
署名データ１１６が正当であるときは（ステップＳ５０２でＹＥＳ）、制御モジュール１２０は、アクセス権限情報１１２は正当であると認証して、本処理を正常に終了する。アクセス権限情報１１２のフォーマットが不当であるとき（ステップＳ５０１でＮＯ）、または署名データ１１６が不当であるときは（ステップＳ５０２でＮＯ）、制御モジュール１２０は、アクセス権限情報１１２は不当であるとして、本処理をエラー終了する。
【００６５】
図６のアクセス権限情報認証処理によれば、アクセス権限情報１１２のフォーマットまたは署名データ１１６が不当であるとき、すなわち、アクセス権限情報１１２がイシュアサーバ２００から正当に発行されたものでないときは、本処理をエラー終了する。これにより、イシュアサーバ２００から正当に発行されたものではないアクセス権限情報１１２を有するアプリケーション（図示せず）によるセキュアチップ１３０へのアクセスを禁止することができる。
【００６６】
図７は、図５におけるステップＳ１０６で実行されるアプリケーション認証処理のフローチャートである。
【００６７】
図７において、まず、制御モジュール１２０は、受信した認証情報４０２のフォーマットが正当であるか否かを判別する（ステップＳ６０１）。具体的には、制御モジュール１２０は、認証情報４０２のフォーマットが、図１２に示すような、図４におけるステップＳ２０５でのイシュアサーバ２００による認証情報４０２の生成において規定したフォーマットであるか否かを判別する。
認証情報４０２のフォーマットが正当であるときは（ステップＳ６０１でＹＥＳ）、制御モジュール１２０は、図４におけるステップＳ２０２で埋め込まれた公開鍵を用いて認証情報４０２における署名データ４０６の検証を行う。そして、制御モジュール１２０は、署名データ４０６が正当であるか否かを判別する（ステップＳ６０２）。具体的には、ステップＳ２０２で埋め込まれた公開鍵を用いて署名データ４０６を復号化して、復号化データと署名対象データ、すなわちアプリケーション識別子４０３、アプリケーション署名値４０４および署名検証用公開鍵４０５とが一致しているか否かを判別して、署名データ４０６が正当であるか否かを判別する。
認証情報４０２のフォーマットが不当であるとき（ステップＳ６０１でＮＯ）、または署名データ４０６が不当であるときは（ステップＳ６０２でＮＯ）、制御モジュール１２０は、認証情報４０２は不当であるとして、本処理をエラー終了する。
署名データ４０６が正当であるときは（ステップＳ６０２でＹＥＳ）、制御モジュール１２０は、受信した認証情報４０２からアプリケーション署名値４０４および署名検証用公開鍵４０５を抽出する（ステップＳ６０３）。
【００６８】
次いで、制御モジュール１２０は、抽出したアプリケーション署名値４０４を署名検証用公開鍵４０５を用いて復号化する（ステップＳ６０４）。そして、制御モジュール１２０は、認証情報４０２から抽出したアプリケーション署名値４０４の復号化データと、図５のステップＳ１０５で受信したアプリケーション１１０のバイナリデータとが一致するか否かを判別する（ステップＳ６０５）。なお、アプリケーション署名値４０４の復号化データとは、アプリケーション１１０のバイナリデータに相当する。
【００６９】
アプリケーション署名値４０４の復号化データがアプリケーション１１０のバイナリデータと一致するときは（ステップＳ６０５でＹＥＳ）、制御モジュール１２０は、アプリケーション１１０は正当であると認証して、本処理を正常に終了する。アプリケーション署名値４０４の復号化データがアプリケーション１１０のバイナリデータと一致しないときは（ステップＳ６０５でＮＯ）、制御モジュール１２０は、アプリケーション１１０は不当であるとして、本処理をエラー終了する。
【００７０】
図７のアプリケーション認証処理によれば、認証情報４０２から抽出したアプリケーション署名値４０４の復号化データと、アプリケーション１１０から受信したアプリケーション１１０のバイナリデータとが一致しないとき、すなわち、アクセス権限情報１１２を不当なアプリケーション（図示せず）が有しているときは、本処理をエラー終了する。これにより、アクセス権限情報１１２を有する不当なアプリケーション（図示せず）によるセキュアチップ１３０へのアクセスを禁止することができる。
上述した図７のアプリケーション認証処理では、クライアント１００と認証サーバ４００との間において、予め安全な通信路が用意されている場合は、認証情報４０２の改竄の虞がないため、認証情報４０２の正当性の認証は行わなくてもよい。すなわち、図７のアプリケーション認証処理では、ステップＳ６０１およびステップＳ６０２の処理を実行することなく、ステップＳ６０３の処理から実行する。これにより、アプリケーション認証処理の工程数を削減することができる。
【００７１】
図８は、図５におけるステップＳ１０９で実行されるコマンド実行制御処理のフローチャートである。
【００７２】
図８において、まず、制御モジュール１２０は、記憶装置（図示せず）に実行可能コマンド一覧１１４およびアクセス可能領域一覧１１５が記憶されているか否かを判別する（ステップＳ７０１）。
【００７３】
記憶装置に実行可能コマンド一覧１１４およびアクセス可能領域一覧１１５が記憶されているときは（ステップＳ７０１でＹＥＳ）、制御モジュール１２０は、実行可能コマンド一覧１１４内に図５のステップＳ１０８で要求されたチップアクセス用コマンドがあるか否かを判別する（ステップＳ７０２）。記憶装置に実行可能コマンド一覧１１４およびアクセス可能領域一覧１１５が記憶されていないときは（ステップＳ７０１でＮＯ）、要求されたチップアクセス用コマンドは実行不可能であるとして、本処理をエラー終了する。
【００７４】
実行可能コマンド一覧１１４内に要求されたチップアクセス用コマンドがあるときは（ステップＳ７０２でＹＥＳ）、制御モジュール１２０は、アクセス可能領域一覧１１５内に要求されたチップアクセス用コマンドのアクセス領域があるか否かを判別する（ステップＳ７０３）。実行可能コマンド一覧１１４内に要求されたチップアクセス用コマンドがないときは（ステップＳ７０２でＮＯ）、制御モジュール１２０は、要求されたチップアクセス用コマンドを実行不可能であるとして、本処理をエラー終了する。
【００７５】
アクセス可能領域一覧１１５内に要求されたチップアクセス用コマンドのアクセス領域があるときは（ステップＳ７０３でＹＥＳ）、制御モジュール１２０は、要求されたチップアクセス用コマンドは実行可能であるとして、本処理を正常に終了する。アクセス可能領域一覧１１５内に要求されたチップアクセス用コマンドのアクセス領域がないときは（ステップＳ７０３でＮＯ）、制御モジュール１２０は、要求されたチップアクセス用コマンドを実行不可能であるとして、本処理をエラー終了する。
【００７６】
図８のコマンド実行制御処理によれば、記憶装置に実行可能コマンド一覧１１４およびアクセス可能領域一覧１１５が記憶されていないとき、すなわち、セキュアチップ１３０へのアクセスを制御モジュール１２０に要求して、アクセス権限情報の認証およびアプリケーションの認証を行っていないアプリケーション（図示せず）によるチップアクセス用コマンドの実行要求であるときは、本処理をエラー終了する。これにより、制御モジュール１２０においてアクセス権限情報の認証およびアプリケーションの認証を行っていないアプリケーション（図示せず）によるセキュアチップ１３０へのアクセスを制止することができる。
【００７７】
また、実行可能コマンド一覧１１４内に要求されたチップアクセス用コマンドがないとき、すなわち、実行を許可されていないチップアクセス用コマンドの実行要求をアプリケーション１１０が行うときは、本処理をエラー終了する。これにより、アプリケーション１１０による実行を許可されていないチップアクセス用コマンドの実行を制限することができる。
【００７８】
また、アクセス可能領域一覧１１５内に要求されたチップアクセス用コマンドのアクセス領域がないとき、すなわち、アクセスが許可された領域を超えたチップアクセス用コマンドの実行要求をアプリケーション１１０が行うときは、本処理をエラー終了する。これにより、アプリケーション１１０によるアクセスが許可された領域を超えたチップアクセス用コマンドの実行を制限することができる。
【００７９】
上述したように、図５のアクセス制御処理によれば、上述した図６のアクセス権限情報認証処理、図７のアプリケーション認証処理および図８のコマンド実行制御処理を実行することにより、アプリケーションからのセキュアチップ１３０への不正なアクセスを防止することができる。また、制御モジュール１２０は、アプリケーション１１０が有するアクセス権限情報１１２および認証サーバ４００から取得する認証情報４０２に基づいて、アプリケーション１１０によるセキュアチップ１３０へのアクセスを制御する。したがって、アクセス制御のために、インストールされたアプリケーションの管理等を行うアプリケーションマネージャ（図示せず）などの仕様を変更する必要はない。これにより、アプリケーションマネージャ（図示せず）の仕様を変更することなく、アプリケーションからのセキュアチップ１３０への不正なアクセスを防止することができる。
【００８０】
上述した図５のアクセス制御処理では、制御モジュール１２０は、ステップＳ４０１において認証サーバ４００から送信された認証情報４０２を受信した後に、その認証情報４０２を記憶装置（図示せず）において保持してもよい。そして、制御モジュール１２０は、ステップＳ１０３においてアクセス権限情報１１２に対応する認証情報４０２が記憶装置に保持されている場合は、認証情報４０２を認証サーバ４００へ要求することなく、記憶装置に保持されている認証情報４０２を用いてステップＳ１０６のアプリケーション認証処理を行う。これにより、アクセス制御処理の工程数を削減することができる。
【００８１】
［本発明の第２の実施の形態に係る情報処理システム］
次に、本発明の第２の実施の形態に係る情報処理システムについて説明する。本実施の形態に係る情報処理システムは、クライアントにインストールされるアプリケーションがデジタル署名および公開鍵を有する点などが第１の実施の形態と異なるのみであるので、重複した構成、作用については説明を省略し、以下に異なる構成、作用についての説明を行う。図１３は、本発明の第２の実施の形態に係る情報処理システムの概略構成を説明するための説明図である。
【００８２】
図１３において、本発明の情報処理システムの一例としての情報処理システム２０００は、携帯電話などのクライアント６００、イシュアサーバ２００、アプリケーション提供サーバ３００、認証サーバ４１０を備える。クライアント６００は、本発明の情報処理装置の一例である。これらクライアント６００、サーバ２００，３００，４１０はそれぞれ通信網５００に接続されている。
【００８３】
クライアント６００は、アプリケーション６１０、制御モジュール６２０、セキュアチップ６３０、アプリケーションマネージャ６４０を備える。セキュアチップ６３０は、上述したセキュアチップ１３０と同様の構成を有する。アプリケーション６１０は、セキュアチップ６３０の記憶装置に記憶された情報を用いて所定の処理を行う。アプリケーション６１０は、アクセス権限情報６１２を有する。アクセス権限情報６１２は、上述したアクセス権限情報１１２と同様の構成を有する。また、アプリケーション６１０は、後述するアプリケーション提供サーバ３００において生成された鍵ペアのうちの秘密鍵（図示せず）を用いたアプリケーション６１０のデジタル署名６１４と、その鍵ペアのうちの公開鍵６１８とを有する。デジタル署名６１４は、本発明の第３のデジタル署名の一例である。アプリケーションマネージャ６４０は、アプリケーション６１０のクライアント６００へのインストール時に、アプリケーション６１０が有する公開鍵６１８を用いてデジタル署名６１４の検証を行い、アプリケーション６１０の認証を行う。制御モジュール６２０は、セキュアチップ６３０の制御を行う。例えば、制御モジュール６２０は、後述するようにアプリケーション６１０のセキュアチップ６３０へのアクセス制御を行う。
【００８４】
アプリケーション提供サーバ３００は、例えば、アプリケーション６１０を作成する。また、アプリケーション提供サーバ３００は、セキュアチップ６３０へアクセスするアプリケーション６１０を作成する場合、イシュアサーバ２００へセキュアチップ６３０へのアクセスを申請する。イシュアサーバ２００からアクセス権限情報６１２が発行されると、アプリケーション提供サーバ３００は、発行されたアクセス権限情報６１２をアプリケーション６１０に埋め込む。また、アプリケーション提供サーバ３００は、後述する認証情報４１２を生成するための情報をイシュアサーバ２００へ送信する。アプリケーション提供サーバ３００は、クライアント６００からのアプリケーション６１０の提供依頼があると、アプリケーション６１０をクライアント６００へ提供する。
【００８５】
イシュアサーバ２００は、例えば、アプリケーション提供サーバ３００からのセキュアチップ１３０へのアクセス申請を受け付けた後に、アクセス権限情報６１２を生成して、生成したアクセス権限情報６１２をアプリケーション提供サーバ３００へ発行する。また、イシュアサーバ２００は、アプリケーション提供サーバ３００から認証情報４１２を生成するための情報を受信した後に、認証情報４１２を生成して、生成した認証情報４１２を認証サーバ４１０に送信する。
【００８６】
認証サーバ４１０は、認証情報４１２を有する。認証サーバ４１０は、本発明の外部サーバの一例である。認証サーバ４１０は、例えば、後述するようにクライアント６００の制御モジュール６２０からの認証情報４１２の要求を受け付けた後に、認証情報４１２を制御モジュール６２０へ送信する。
【００８７】
情報処理システム２０００では、後述する図１４のアクセス制御のための準備処理および図１５のアクセス制御処理を実行することにより、アプリケーションマネージャ６４０などの仕様を変更することなく、アプリケーションによるセキュアチップ６３０への不正なアクセスを防止することができる。
【００８８】
［本発明の第２の実施の形態に係るアクセス制御のための準備処理］
以下、本発明の第２の実施の形態に係る情報処理システムが実行する、アクセス制御のための準備処理について説明する。本実施の形態に係るアクセス制御のための準備処理は、図４におけるステップＳ３０６においてアプリケーション提供サーバ３００が鍵ペアのうちの公開鍵のみをイシュアサーバ２００に提供する点と、ステップＳ２０５においてイシュアサーバ２００が公開鍵のみに基づいて認証情報を生成する点などが第１の実施の形態と異なるのみであるので、重複した構成、作用については説明を省略し、以下に異なる構成、作用についての説明を行う。図１４は、本発明の第２の実施の形態に係る情報処理システムが実行する、アクセス制御のための準備処理のシーケンス図である。
【００８９】
図１４において、まず、イシュアサーバ２００は、鍵ペアを生成する（ステップＳ２０１）。次いで、イシュアサーバ２００は、生成した鍵ペアのうち公開鍵（図示せず）をクライアント１００の制御モジュール１２０へ埋め込む（ステップＳ２０２）。次いで、アプリケーション提供サーバ３００は、イシュアサーバ２００へセキュアチップ１３０へのアクセスを申請する（ステップＳ３０１）。
【００９０】
次いで、イシュアサーバ２００は、アクセス申請内容に基づいて、図９および図１０に示すアクセス権限情報１１２と同様のアクセス権限情報６１２を生成する（ステップＳ２０３）。そして、イシュアサーバ２００は、生成したアクセス権限情報６１２をアプリケーション提供サーバ３００へ発行する（ステップＳ２０４）。
【００９１】
次いで、アプリケーション提供サーバ３００は、アプリケーション６１０を作成して（ステップＳ３０２）、作成したアプリケーション６１０にステップＳ２０４で発行されたアクセス権限情報６１２を埋め込む（ステップＳ３０３）。
【００９２】
次いで、アプリケーション提供サーバ３００は、本発明の第３の鍵ペアの一例としての、デジタル署名のための鍵ペアを生成して（ステップＳ３０４）、図１７に示すように、生成した鍵ペアのうち秘密鍵６１６を用いてアプリケーション６１０にデジタル署名を付与する（ステップＳ３０５）。これにより、アプリケーション６１０にはデジタル署名６１４とステップＳ３０４で生成した鍵ペアのうち公開鍵６１８が付与される。そして、アプリケーション提供サーバ３００は、図１７に示すように、ステップＳ３０４で生成した鍵ペアのうち公開鍵６１８のみをイシュアサーバ２００に提供する（ステップＳ３１６）。
【００９３】
次いで、イシュアサーバ２００は、提供された公開鍵６１８に基づいて、図１７および図１８に示す認証情報４１２を生成する（ステップＳ２１５）。図１７および図１８に示すように、認証情報４１２は、アプリケーション識別子４１３と、署名検証用公開鍵４１４と、署名データ４１５とから構成される。アプリケーション識別子４１３は、アプリケーション６１０を識別するための情報である。署名検証用公開鍵４１４は、アプリケーション６１０へのデジタル署名６１４に利用した秘密鍵６１６に対応する公開鍵６１８である。署名データ４１５は、アプリケーション識別子４１３および署名検証用公開鍵４１４に対する、ステップＳ２０１で生成した鍵ペアのうち秘密鍵２０２を用いたデジタル署名である。そして、イシュアサーバ２００は、生成した認証情報４１２を認証サーバ４１０へ送信して（ステップＳ２１６）、認証サーバ４１０は受信した認証情報４１２を登録して、本処理を終了する。
【００９４】
［本発明の第２の実施の形態に係るアクセス制御処理］
以下、本発明の第２の実施の形態に係る情報処理システムが実行するアクセス制御処理について説明する。図１５は、本発明の第２の実施の形態に係る情報処理システムが実行するアクセス制御処理のシーケンス図である。本処理は、図１４のアクセス制御のための準備処理の後に実行される。
【００９５】
図１５において、まず、アプリケーション６１０は、アプリケーションマネージャ６４０へクライアント６００へのインストールを要求する（ステップＳ８０１）。このとき、アプリケーション６１０は、アプリケーション６１０に付与されたデジタル署名６１４および公開鍵６１８をアプリケーションマネージャ６４０へ渡す。
【００９６】
次いで、アプリケーション６１０のインストール要求を受け付けたアプリケーションマネージャ６４０は、公開鍵６１８を用いてデジタル署名６１４の検証を行う（ステップＳ８０２）。ステップＳ８０２での検証の結果、デジタル署名６１４が正当である場合は、クライアント６００へのアプリケーション６１０のインストールが許可される。一方、ステップＳ８０２での検証の結果、デジタル署名６１４が不当である場合は、クライアント６００へのアプリケーション６１０のインストールは許可されない。
【００９７】
アプリケーション６１０のクライアント６００へのインストールの後、アプリケーション６１０は、制御モジュール６２０へセキュアチップ６３０へのアクセスを要求する（ステップＳ８０３）。このとき、アプリケーション６１０は、埋め込まれたアクセス権限情報６１２を制御モジュール６２０へ渡す。
【００９８】
次いで、セキュアチップ６３０へのアクセス要求を受け付けた制御モジュール６２０は、上述した図６のアクセス権限情報認証処理と同様のアクセス権限情報認証処理を実行して、アプリケーション６１０から渡されたアクセス権限情報６１２の正当性の認証を行う（ステップＳ８０４）。
【００９９】
ステップＳ８０４のアクセス権限情報認証処理が正常に終了した場合、制御モジュール６２０は、アクセス権限情報６１２に対応する認証情報４１２を認証サーバ４１０へ要求する（ステップＳ８０５）。このとき、制御モジュール６２０は、アクセス権限情報６１２におけるアプリケーション識別子（図示せず）を認証サーバ４１０へ渡す。
【０１００】
次いで、認証情報４１２の要求を受け付けた認証サーバ４１０は、認証情報４１２を制御モジュール６２０へ送信する。具体的には、認証サーバ４１０は、制御モジュール６２０から渡されたアプリケーション識別子（図示せず）と同一のアプリケーション識別子４１３を有する認証情報４１２を制御モジュール６２０へ送信する。
【０１０１】
次いで、認証情報４０２を受信した制御モジュール１２０は、アプリケーション６１０へ公開鍵６１８を要求する（ステップＳ８０６）。次いで、公開鍵６１８の要求を受け付けたアプリケーション６１０は、公開鍵６１８を制御モジュール６２０へ送信する（ステップＳ８０７）。
【０１０２】
次いで、制御モジュール６２０は、後述する図１６のアプリケーション認証処理を実行して、セキュアチップ６３０へのアクセスを要求するアプリケーション６１０のセキュアチップ６３０へのアクセス権限の正当性の認証を行う（ステップＳ８０８）。
【０１０３】
ステップＳ８０８のアプリケーション認証処理が正常に終了した場合、制御モジュール６２０は、アクセス権限情報６１２における実行可能コマンド一覧（図示せず）およびアクセス可能領域一覧（図示せず）を記憶装置（図示せず）に記憶する（ステップＳ８０９）。
【０１０４】
そして、アプリケーション６１０は、チップアクセス用コマンドの実行を制御モジュール６２０へ要求する（ステップＳ８１０）。チップアクセス用コマンドの実行要求を受け付けた制御モジュール６２０は、上述した図８のコマンド実行制御処理と同様のコマンド実行制御処理を実行して、要求されたチップアクセス用コマンドの実行の可否を判定する（ステップＳ８１１）。
【０１０５】
ステップＳ８１１のコマンド実行制御処理が正常に終了した場合、制御モジュール６２０は、セキュアチップ６３０へ要求されたチップアクセス用コマンドを実行して（ステップＳ８１２）、本処理を終了する。
【０１０６】
図１６は、図１５におけるステップＳ８０８で実行されるアプリケーション認証処理のフローチャートである。
【０１０７】
図１６において、まず、制御モジュール６２０は、受信した認証情報４１２のフォーマットが正当であるか否かを判別する（ステップＳ９０１）。具体的には、制御モジュール６２０は、認証情報４１２のフォーマットが、図１８に示すような、図１４におけるステップＳ２１５でのイシュアサーバ２００による認証情報４１２の生成において規定したフォーマットであるか否かを判別する。
認証情報４１２のフォーマットが正当であるときは（ステップＳ９０１でＹＥＳ）、制御モジュール６２０は、図１４におけるステップＳ２０２で埋め込まれた公開鍵を用いて認証情報４１２における署名データ４１５の検証を行う。そして、制御モジュール６２０は、署名データ４１５が正当であるか否かを判別する（ステップＳ９０２）。具体的には、ステップＳ２０２で埋め込まれた公開鍵を用いて署名データ４１５を復号化して、復号化データと署名対象データ、すなわちアプリケーション識別子４１３および署名検証用公開鍵４１４とが一致しているか否かを判別して、署名データ４１５が正当であるか否かを判別する。
認証情報４１２のフォーマットが不当であるとき（ステップＳ９０１でＮＯ）、または署名データ４１５が不当であるときは（ステップＳ９０２でＮＯ）、制御モジュール６２０は、認証情報４１２は不当であるとして、本処理をエラー終了する。
署名データ４１５が正当であるときは（ステップＳ９０２でＹＥＳ）、制御モジュール６２０は、受信した認証情報４１２から署名検証用公開鍵４１４を抽出する（ステップＳ９０３）。
【０１０８】
次いで、制御モジュール６２０は、認証情報４１２から抽出した署名検証用公開鍵４１４と、図１５のステップＳ８０７で受信した公開鍵６１８とが一致するか否かを判別する（ステップＳ９０４）。
【０１０９】
署名検証用公開鍵４１４と公開鍵６１８とが一致するときは（ステップＳ９０４でＹＥＳ）、制御モジュール６２０は、アプリケーション６１０は正当であると認証して、本処理を正常に終了する。署名検証用公開鍵４１４と公開鍵６１８とが一致しないときは（ステップＳ９０４でＮＯ）、制御モジュール６２０は、アプリケーション６１０は不当であるとして、本処理をエラー終了する。
【０１１０】
図１６のアプリケーション認証処理によれば、認証情報４１２から抽出した署名検証用公開鍵４１４と、図１５のステップＳ８０７で受信した公開鍵６１８とが一致しないとき、すなわち、アクセス権限情報（図示せず）を不当なアプリケーション（図示せず）が有しているときは、本処理をエラー終了する。これにより、アクセス権限情報（図示せず）を有する不当なアプリケーション（図示せず）によるセキュアチップ６３０へのアクセスを禁止することができる。
上述した図１６のアプリケーション認証処理では、クライアント６００と認証サーバ４１０との間において、予め安全な通信路が用意されている場合は、認証情報４１２の改竄の虞がないため、認証情報４１２の正当性の認証は行わなくてもよい。すなわち、図１６のアプリケーション認証処理では、ステップＳ９０１およびステップＳ９０２の処理を実行することなく、ステップＳ９０３の処理から実行する。これにより、アプリケーション認証処理の工程数を削減することができる。
【０１１１】
上述したように、図１５のアクセス制御処理によれば、上述した図６のアクセス権限情報認証処理と同様の処理、図１６のアプリケーション認証処理および上述した図８のコマンド実行制御処理と同様の処理を実行することにより、上述した図５のアクセス制御処理と同様の効果を奏することができる。また、ステップＳ８０８でのアプリケーション認証処理では、署名検証用公開鍵４１４と公開鍵６１８との比較のみにより、アプリケーション６１０の認証を行うことができるので、アプリケーション認証処理の処理速度を向上させることができる。
【０１１２】
また、本発明の目的は、前述した各実施の形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。
【０１１３】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した各実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１１４】
また、プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ等の光ディスク、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【０１１５】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現されるだけではなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含まれる。
【０１１６】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その拡張機能を拡張ボードや拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含まれる。
【０１１７】
以上、添付図面を参照しながら本発明の好適な実施の形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【０１１８】
１００，６００    クランアント
１１０，６１０    アプリケーション
１１２，６１２    アクセス権限情報
１２０，６２０    制御モジュール
１３０，６３０    セキュアチップ
２００    イシュアサーバ
３００    アプリケーション提供サーバ
４００，４１０    認証サーバ
４０２，４１２    認証情報
１０００，２０００    情報処理システム
【図１】
0005449905.tif 000002
【図２】
0005449905.tif 000003
【図３】
0005449905.tif 000004
【図４】
0005449905.tif 000005
【図５】
0005449905.tif 000006
【図６】
0005449905.tif 000007
【図７】
0005449905.tif 000008
【図８】
0005449905.tif 000009
【図９】
0005449905.tif 000010
【図１０】
0005449905.tif 000011
【図１１】
0005449905.tif 000012
【図１２】
0005449905.tif 000013
【図１３】
0005449905.tif 000014
【図１４】
0005449905.tif 000015
【図１５】
0005449905.tif 000016
【図１６】
0005449905.tif 000017
【図１７】
0005449905.tif 000018
【図１８】
0005449905.tif 000019