(57)【特許請求の範囲】
【請求項１】
情報処理装置を用いてサービスを提供するサービス提供システムであって、
前記サービス提供システムは、
前記情報処理装置を挿入して利用する利用者端末と、
前記利用者端末からサービス提供依頼を受け、サービス開始指示を与えるサービス提供者装置と、
前記サービス提供者装置から共通サービス提供依頼を受け、共通サービスを提供する許可を与える共通サービス提供者装置と、
前記情報処理装置のリソースへのアクセス権を管理するカード発行者装置と、
前記利用者端末とサービス提供者装置と前記共通サービス提供者装置と前記カード発行者装置とを接続するネットワークとからなり、
前記情報処理装置は、
コマンドに従い処理を実行するサービスアプリケーション部と、
前記サービスアプリケーション部に対しリソースを提供する共通アプリケーション部と、
前記サービスアプリケーション部の前記共通アプリケーション部のリソースに対するアクセス権情報を記憶するアクセス管理テーブルを保持するアクセス管理テーブル保持部と、
前記アクセス管理テーブルの更新をおこない、かつ、そのアクセス管理テーブルに基づき前記サービスアプリケーション部に対して共通アプリケーションの提供するリソースのアクセス権を判定する管理アプリケーション部とを備え、
前記サービスアプリケーション部は、前記共通アプリケーション部に対し、前記サービスアプリケーション部のＩＤと、読取り、書込み、実行といったアクセスの種別を示すアクセスタイプとを送信し、
前記共通アプリケーション部は、前記管理アプリケーション部に対し、前記サービスアプリケーション部のＩＤと、前記共通アプリケーション部のＩＤと、前記アクセスタイプとを送信し、
前記管理アプリケーション部は、受信した前記サービスアプリケーション部のＩＤと前記共通アプリケーション部のＩＤの情報に基づき、前記アクセス権管理テーブルを参照して、前記サービスアプリケーション部に認められるアクセス権を取得し、そのアクセス権が受信した前記アクセスタイプと一致するか否かを判定し、そのアクセス結果を前記共通アプリケーション部に送信し、
前記共通アプリケーション部は、受信した前記判定結果からアクセス権が存在すると判断された場合には、リソースを共有するためのインターフェイスを前記サービスアプリケーション部に送信し、
前記サービスアプリケーション部は、受信したインターフェイスに基づき、前記共通アプリケーション部の提供するリソースにアクセスすることを特徴とする情報処理装置によるサービス提供システム。
【請求項２】
前記サービス提供者装置と、前記共通サービス提供者装置と、前記カード発行者装置と、前記情報処理装置とは、各々鍵保管部を備え、前記ネットワークを介したデータのやり取りにデジタル署名を付加したデータを用いることを特徴とする請求項１記載の情報処理装置によるサービス提供システム。
【請求項３】
前記情報処理装置に搭載する共通アプリケーション部は、複数であることを特徴とする請求項１記載の情報処理装置によるサービス提供システム。
【請求項４】
前記アクセス管理テーブルは、前記サービスアプリケーション部のＩＤと前記共通アプリケーション部のＩＤとの組み合わせ毎に定義されたアクセスタイプおよびアクセス可能回数を保持することを特徴とする請求項１記載の情報処理装置によるサービス提供システム。
【請求項５】
前記サービス提供者装置は、前記情報処理装置を用いたサービスを提供する前や、前記情報処理装置を用いたサービスを停止する前に前記共通サービス提供者装置に対してサービス提供や停止の依頼をおこない、
前記共通サービス提供者装置は、サービス提供可否を判断し、サービス提供や停止が可能と判断した場合には、サービス許可証を前記サービス提供者装置に送信し、
前記サービス提供者装置は、前記サービス許可証に基づき前記カード発行者装置に対してアクセス管理テーブル更新の許可依頼をおこなって、前記アクセス管理テーブルを更新するために必要となるアクセス管理テーブル更新許可証を受け取ることを特徴とする請求項１記載の情報処理装置によるサービス提供システム。
【請求項６】
前記サービス提供者装置は、前記情報処理装置に新たなサービスアプリケーション部を追加する際に、前記利用者端末よりアプリケーション搭載依頼を受け取り、追加のための前記アクセス管理テーブル更新許可証を、前記利用者端末に送信し、
前記利用者端末は、前記情報処理装置内の前記管理アプリケーション部に前記アクセス管理テーブル更新許可証を送信し、
前記管理アプリケーション部は、前記アクセス管理テーブル更新許可証が正当なものであると判断された場合に、前記アクセス管理テーブルに前記新たなサービスアプリケーション部に関連する情報を追加することを特徴とする請求項１記載の情報処理装置によるサービス提供システム。
【請求項７】
前記サービス提供者装置は、前記利用者端末よりサービス提供依頼を受け取った際に、サービスの提供状況を確認し、そのサービスが中止されたと判断された場合に、削除のための前記アクセス管理テーブル更新許可証を前記利用者端末に送信し、
前記利用者端末は、前記情報処理装置内の前記管理アプリケーション部に前記アクセス管理テーブル更新許可証を送信し、
前記管理アプリケーション部は、前記アクセス管理テーブル更新許可証が正当であると判断された場合に、前記アクセス管理テーブルから、前記サービスアプリケーション部に関する項目を削除することを特徴とする請求項１記載の情報処理装置によるサービス提供システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置のサービス提供システム、および、サービス提供方法に係り、特に、ＩＣカード等のリソースの共有方法に用いて好適であって、ＩＣカード等のリソースの不正なアクセスを防ぎ、複数のアプリケーション間でリソースを共有可能な情報処理装置のサービス提供システム、および、サービス提供方法に関する。
【背景技術】
【０００２】
ＩＣカードは搭載しているメモリ容量に制限があるため、同一のリソース（データや機能）を複数のアプリケーションプログラム（以下、単に「アプリケーション」ともいう）で共用して、限られた資源を有効に活用したいという要求は大きい。
【０００３】
しかし、ＩＣカードの場合、セキュリティ的な観点から、アプリケーション間はファイアーウォール等で仕切られており、通常リソースを共有することは不可能である。
【０００４】
そこで上記要求を満たすために、アプリケーション間のファイアーウォールを越えて共有リソースにアクセスするための技術が知られている（例えば、非特許文献１参照）。このような機能を利用する場合、共有リソースを提供する側（以下、「共通アプリケーション」という）が共有リソースを利用する側（以下、「サービスアプリケーション」という）を認証して不正なサービスアプリケーションからのアクセスを防ぐ必要がある。
【０００５】
この共通アプリケーションがサービスアプリケーションの管理情報を保持し、その情報を用いてサービスアプリケーションを認証する。また、ＩＣカードにサービスアプリケーションが新たに追加された場合でも、共通アプリケーション自身を入れ替えることなく、アプリケーションの共有管理情報を更新することで対応可能な技術が知られている（例えば、特許文献１参照）。
【０００６】
また、ＩＣカード内のリソースを複数のアプリケーションから効率よく参照する方法として、ＩＣカード内に存在するリソースを管理するアプリケーションをＩＣカード内に格納する技術が知られている（例えば、特許文献２参照）。この特許文献２の管理アプリケーション（管理アプリ５１）は、ＩＣ内でおこなわれる認証アプリケーションを選択するためのものである。
【０００７】
さらに、ＩＣカード内のオペレーティングシステムが持つ機能を使用可能かどうか判断するために、オペレーティングシステム内にアプリケーション毎のアクセスフラグを保持し、そのアクセスフラグを参照することによって、アプリケーションが利用する機能を制限する技術もある（例えば、特許文献３参照）。
【０００８】
【非特許文献１】Sun Microsystems Inc., "Runtime Environment Specification Java CardTM Platform, Version 2.2.1", [online], ２００３年１０月, Sun Microsystems Inc., ｐ．２５, [２００５年７月１５日検索], インターネット＜URL: http://java.sun.com/products/javacard/specs.html＞
【特許文献１】特開２００２−７３１９６号公報
【特許文献２】特開２００３−２１６５８５号公報
【特許文献３】米国特許第６７４２１２０号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００９】
従来技術では、サービスアプリケーションのアクセス制御は、共通アプリケーションによりおこなうことが前提となっており、ＩＣカードにサービスアプリケーションを追加した場合には、追加したサービスアプリケーションが利用する共通アプリケーション全てにアクセス管理情報を追加する必要があった。また、複数の共通アプリケーションでアクセス管理情報を保持し、アクセス権の判定機能を実装する必要があったため、ＩＣカードの限られたリソースをむだに消費していた。
【００１０】
本発明は、上記問題点を解決するためになされたもので、その目的は、ＩＣカード内でサービスアプリケーションが共通アプリケーションのリソースを使用することによりサービスアプリケーションを実行するＩＣカードによるサービス提供システムにおいて、ＩＣカード内にサービスアプリケーションの追加に容易に対応できるようにし、ＩＣカードの貴重なリソースを有効に活用しうるＩＣカードによるサービス提供システムを提供することにある。
【課題を解決するための手段】
【００１１】
本発明のＩＣカードによるサービス提供システムは、ＩＣカード内に、アクセス制御を専門におこな管理アプリケーションプログラム（以下、「管理アプリケーション」という）を搭載し、管理アプリケーションがアクセス管理情報を一元的に管理し、共通アプリケーションではアクセス権の管理や判定はおこなわず、管理アプリケーションにおいてアクセス権の管理やアクセス権の判定をおこなうようにする。
【００１２】
本システムによれば、サービスアプリケーションの追加時にも、管理アプリケーションが保持するアクセス管理テーブルのみを更新すればよい。また、アクセス管理テーブル、および、アクセス権判定機能を管理アプリケーションに集約するため、ＩＣカードの貴重なリソースを有効に活用することが可能となる。
【００１３】
より具体的には、ＩＣカード内のリソースを共有したい場合に、サービスアプリケーションが共通アプリケーションに対しリソース共有依頼を送信すると、共通アプリケーションは管理アプリケーションに対して、リソース共有依頼をおこなったサービスアプリケーションにリソースを提供してよいかの判断を仰ぐ。管理アプリケーションは、アクセス管理テーブルを参照し、該当するサービスアプリケーションに共通アプリケーションへのアクセス権限が存在するか否かを判定し、判定結果を共通アプリケーションに送信する。共通アプリケーションは、その判定結果に基づきアクセス権の有無を判断し、アクセス権が存在すれば、リソースの共有に必要なインターフェイスをサービスアプリケーションに提供する。
【００１４】
また、ＩＣカードに新たなサービスアプリケーションを追加する場合には、サービス提供者装置が共通サービス提供者装置から、サービス許可証を受信し、そのサービス許可証を用いて、カード発行者装置から、アクセス管理テーブル更新許可証を受信しておく。新たなサービスアプリケーションを追加するときには、サービス提供者装置は、利用者端末からの要請により、ＩＣカード内の管理アプリケーションに対し、取得したアクセス管理テーブル更新許可証を送信し、アクセス管理テーブルを更新する。これにより、新たなサービスアプリケーションの追加にも容易に対応することができる。
【発明の効果】
【００１５】
本発明によれば、ＩＣカード内でサービスアプリケーションが共通アプリケーションのリソースを使用することによりサービスアプリケーションを実行するＩＣカードによるサービス提供システムにおいて、ＩＣカード内にサービスアプリケーションの追加に容易に対応できるようにし、ＩＣカードの貴重なリソースを有効に活用しうるＩＣカードによるサービス提供システムを提供することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明に係る一実施形態を、図１ないし図１４を用いて説明する。
【００１７】
〔ＩＣカードによるサービス提供システムの構成〕
先ず、図１ないし図４を用いて本発明の一実施形態に係るＩＣカードによるサービス提供システムの構成について説明する。
図１は、本発明の一実施形態に係るＩＣカードによるサービス提供システムのシステム構成図である。
図２は、ＩＣカード１０のハードウェア構成図である。
図３は、利用者端末２０のハードウェア構成図である。
図４は、サービス提供者装置４０のハードウェア構成図である。
【００１８】
本実施形態のＩＣカードによるサービス提供システムは、図１に示されるように、ＩＣカード１０と、ＩＣカードにアクセスする利用者端末２０と、ＩＣカード１０にアクセスし、サービスを提供するサービス提供者装置４０と、そのサービス提供者に対し、共通のサービスを提供する共通サービス提供者装置５０と、ＩＣカード１０を発行するカード発行者装置６０と、これらを互いに接続するネットワーク３０とにより構成されている。
【００１９】
ＩＣカード１０は、外部からコマンドを受信し、受信したコマンドの内容により処理をおこない、処理結果を返信する。このＩＣカード１０は、データ送受信部１０１と、コマンド解析部１０２と、サービスアプリケーション部１０３１〜１０３ｎ（以降、単に「サービスアプリケーション１０３」と示すこともある）と、データ保管部１０４１〜１０４ｎと、共通アプリケーション部１０５１〜１０５ｎ（以降、単に「共通アプリケーション１０５」と示すこともある）と、データ保管部１０６１〜１０６ｎと、管理アプリケーション１０７と、鍵保管部１０８と、アクセス管理テーブル保持部１０９からなる。
【００２０】
データ送受信部１０１は、コマンドを受信し、処理結果を送信する部分である。コマンド解析部１０２は、受信したコマンドを解析する部分である。サービスアプリケーション部１０３１〜１０３ｎは、そのコマンドに従い処理を実行する部分である。データ保管部１０４１〜１０４ｎは、サービスアプリケーション部１０３１〜１０３ｎで利用するデータを保管しておく部分である。共通アプリケーション部１０５１〜１０５ｎは、サービスアプリケーションに対して、共通のサービスを提供する部分である。データ保管部１０６１〜１０６ｎは、共通アプリケーション部１０５１〜１０５ｎで利用するデータを保管しておく部分である。管理アプリケーション１０７は、サービスアプリケーションが共通アプリケーションのリソースをアクセスする権限を管理する部分である。鍵保管部１０８は、管理アプリケーション１０７がデジタル署名や暗号化をおこなうための鍵を保管しておく部分である。アクセス管理テーブル保持部１０９は、管理アプリケーションが共通アプリケーションのリソースのアクセス管理のためのアクセス管理テーブルを保持する部分である。
【００２１】
ＩＣカード１０には、様々なサービスアプリケーションが搭載可能であり、例えば、クレジットカードサービスのアプリケーション、電子マネー、行政サービス、交通機関利用のアプリケーションなどである。共通アプリケーションは、これらのサービスアプリケーションから共通に使われるＰＩＮ（Personal Identification Number）認証アプリケーション、データ管理アプリケーションなどである。
【００２２】
利用者端末２０は、ＩＣカードアクセス部２０１と、データ送受信部２０２とよりなる。
【００２３】
ＩＣカードアクセス部２０１は、ＩＣカード１０とコマンドの送受信をおこなう部分である。データ送受信部２０２は、ネットワーク３０とデータ送受信をおこなう部分である。
【００２４】
サービス提供者装置４０は、通信部４０１と、コマンド生成部４０２と、鍵保管部４０３と、サービス提供部４０４よりなる。
【００２５】
通信部４０１は、ネットワーク３０とデータ送受信をおこなう部分である。コマンド生成部４０２は、ＩＣカード１０に対し送信するコマンドを生成する部分である。鍵保管部４０３は、そのコマンドを生成する際に利用する鍵を保管する部分である。サービス提供部４０４は、ＩＣカード１０に対しサービスを提供する部分である。
【００２６】
共通サービス提供者装置５０は、通信部５０１と、コマンド生成部５０２と、鍵保管部５０３と、サービス提供部５０４よりなる。
【００２７】
通信部５０１は、ネットワーク３０とデータ送受信をおこなう部分である。コマンド生成部５０２は、ＩＣカード１０に対し送信するコマンドを生成する部分である。鍵保管部５０３は、そのコマンドを生成する際に利用する鍵を保管する部分である。サービス提供部５０４は、サービス提供者装置４０に対しサービスを提供する部分である。
【００２８】
カード発行者装置６０は、通信部６０１と、コマンド生成部６０２と、鍵保管部６０３と、発行情報管理部６０４よりなる。
【００２９】
通信部６０１は、ネットワーク３０とデータ送受信をおこなう部分である。コマンド生成部６０２は、ＩＣカード１０に対し送信するコマンドを生成する部分である。鍵保管部６０３は、そのコマンドを生成する際に利用する鍵を保管する部分である。発行情報管理部６０４は、ＩＣカード１０の発行情報を保持し、管理する部分である。
【００３０】
ＩＣカード１０のハードウェア構成は、図２に示されるように、入出力装置１１と、ＣＰＵ１２と、耐タンパ記憶装置１３と、耐タンパメモリ１４と、それらを接続するバスなどの内部通信線１５からなっている。ここで、ＩＣカードの形状は、テレホンカードのようなカード形状に限定するものではなく、前記の構成要素を含むハードウェアであれば、たとえば、ＭＭＣやＳＤカードのようなメモリーカードの形状であってもよい。また、耐タンパメモリ１４は、ＣＰＵ１２が実行するプログラムとデータがロードされる主記憶装置であり、耐タンパ記憶装置１３は、データを保持する補助記憶装置である。
【００３１】
利用者端末２０のハードウェア構成は、図３に示されるように、通信装置２１と、入出力装置２２と、ＩＣカード入出力装置２３と、記憶装置２４と、ＣＰＵ２５と、メモリ２６と、読取装置２７と、それらを接続するバスなどの内部通信線２９からなっている。
【００３２】
サービス提供者装置４０のハードウェア構成は、図４に示されるように、通信装置４１と、入出力装置４２と、記憶装置４３と、ＣＰＵ４４と、メモリ４５と、読取装置４６と、それらを接続するバスなどの内部通信線４８からなっている。共通サービス提供者装置５０やカード発行者装置６０の構成も、図４に示したサービス提供者装置４０と同様である。
【００３３】
〔ＩＣカードによるサービス提供システムの処理〕
次に、図５ないし図９を用いて本発明の一実施形態に係るＩＣカードによるサービス提供システムの処理について説明する。
図５は、本発明の一実施形態に係るＩＣカードによるサービス提供システムの処理の概要を示した図である。
【００３４】
以下に述べるシステムの処理は、各装置の記憶装置に格納されたプログラムがメモリにロードされ、ＣＰＵにより実行されることにより、ＩＣカードのリソース共有システムを構成する各装置、ＩＣカード上に具現化される各処理部により実行されるものである。また、各プログラムは予め記憶装置に格納されても良いし、他の記憶媒体または通信媒体（ネットワークまたはネットワークを伝搬する搬送波）を介して、必要なときにダウンロードされても良い。
【００３５】
先ず、ＩＣカード１０内の共通アプリケーション１０５のリソースをサービスアプリケーション１０３で利用する処理について説明する。
図６は、ＩＣカード１０内の共通アプリケーション１０５のリソースをサービスアプリケーション１０３で利用する際の処理を示すフローチャートである。
【００３６】
先ず、サービスアプリケーション１０３は、共通アプリケーション１０５のリソースを共有したい場合に、リソース共有依頼を実行する（Ｓ５０１）。そのために、共通アプリケーション１０５に対し、リソース共有依頼コマンド（Ａ５０１）を送信する。ここで、リソース共有依頼コマンド（Ａ５０１）には、サービスアプリケーション１０３のＩＤおよびアクセスタイプが含まれる。アクセスタイプとは、リソースにアクセスする種別を示し、具体的には、そのリソースに対する読取り、書込み、実行などを表す。
【００３７】
次に、共通アプリケーション１０５は、受信したリソース共有依頼コマンドを解析し、サービスアプリケーション１０３のＩＤおよびアクセスタイプを取得する（Ｓ５０２）。そして、取得したＩＤおよびアクセスタイプを元に、アクセス権確認依頼を実行する（Ｓ５０３）。
【００３８】
次に、共通アプリケーション１０５は、管理アプリケーション１０７に対し、アクセス権確認コマンド（Ａ５０２）を送信する。ここで、アクセス権確認コマンド（Ａ５０２）には、サービスアプリケーション１０３のＩＤと共通アプリケーション１０５のＩＤとアクセスタイプが含まれる。
【００３９】
次に、管理アプリケーション１０７は、受信したアクセス権確認コマンドを解析し、サービスアプリケーション１０３のＩＤと共通アプリケーション１０５のＩＤとアクセスタイプを取得する（Ｓ５０４）。そして、管理テーブル保持部１０９が保持しているアクセス管理テーブル保持部１０９を参照し、サービスアプリケーション１０３のアクセス権を取得する（Ｓ５０５）。アクセス管理テーブルの構成の詳細は、後に図１０により説明するが、サービスアプリケーションと共通アプリケーション毎にアクセス権を保持する構成になっている。そして、アクセス権には、読取りのみ、読書き、実行等のアクセスタイプや、アクセス回数等を含んでいる。
【００４０】
次に、サービスアプリケーション１０３に共通アプリケーション１０５のリソースをアクセスタイプに従ってアクセスする権限が存在するか否かを判定する（Ｓ５０６）。そして、その判定結果（Ａ５０３）を共通アプリケーション１０５に送信する。
【００４１】
共通アプリケーション１０５は、受信した判定結果を確認する（Ｓ５０７）。確認した結果、サービスアプリケーション１０３には、共通アプリケーション１０５に対するアクセス権が存在しないと判断された場合には、処理を中止する（Ｓ５０８）。一方、サービスアプリケーション１０３に、共通アプリケーション１０５に対するアクセス権が存在すると判断された場合には、共有リソースにアクセスするための共有インターフェイス（Ａ５０４）をサービスアプリケーション１０３に送信する。ここで、共有インターフェイスとは、サービスアプリケーション１０３が共有リソースを使えるようにする許可情報、リソースアクセスのために使う特定アドレスなどのアクセス情報である。
【００４２】
次に、サービスアプリケーション１０３は、受信した共有インターフェイスを利用して、共有リソースアクセス依頼を実行する（Ｓ５０９）。すなわち、共通アプリケーション１０５に対して、共通リソースアクセスコマンド（Ａ５０５）を送信する。
【００４３】
次に、共通アプリケーション１０５は、受信した共有リソースアクセスコマンドに基づき、共有リソースを参照する（Ｓ５１０）。次に、サービスアプリケーション１０３に対し、共有リソース（Ａ５０６）を送信する。
【００４４】
これらの手順を踏むことにより、サービスアプリケーション１０３は共通アプリケーション１０５のリソースにアクセス可能となる。
【００４５】
次に、サービス提供者装置４０が、アクセス管理テーブル１０９を更新するのに必要なアクセス管理テーブル更新許可証を取得する処理について説明する。
図７は、サービス提供者装置４０が、アクセス管理テーブル１０９を更新するのに必要なアクセス管理テーブル更新許可証を取得する処理を示すフローチャートである。
【００４６】
先ず、サービス提供者装置４０は、サービス提供依頼を実行するために（Ｓ６０１１）、共通サービス提供者装置５０１に対し、依頼情報（Ａ６０１１）を送信する。ここで、依頼情報には、新たに追加するサービスアプリケーションのＩＤや、サービス提供者装置４０のＩＤや、許可証のタイプ（追加、削除など）が含まれる。
【００４７】
次に、共通サービス提供者装置５０１は、受信した依頼情報に基づきサービス提供者装置４０に共通サービスを提供しても良いか否かを判定する（Ｓ６０２１）。
【００４８】
共通サービスの提供が許されていないと判定された場合には、その旨をサービス提供者装置４０に伝える。共通サービスの提供が可能であると判定された場合には、共通サービス提供者装置５０１の鍵管理部５０３に保持している秘密鍵で署名を生成し、サービス許可証を作成する（Ｓ６０３１）。ここで、サービス許可証とは、後に図１２に示すように、許可証のタイプや、新たに追加するサービスアプリケーションのＩＤや、共通アプリケーションのＩＤや、アクセス権を含むデータである。
【００４９】
次に、作成したサービス許可証（Ａ６０２１）をサービス提供者装置４０に送信する。
【００５０】
上記の手順は共通サービスを受けたい数だけ繰り返し実施し、サービス提供者装置４０内に複数のサービス許可証（Ａ６０２１〜Ａ６０２ｎ）を保持する。
【００５１】
次に、サービス提供者装置４０は、受信したサービス許可証の正当性を保証するために、鍵保持部４０３に格納されている秘密鍵で署名を生成し、後に図１３に示すようなアクセス管理テーブル更新許可証依頼データを作成する（Ｓ６０４）。そして、作成したアクセス管理テーブル更新許可証作成依頼データ（Ａ６０３）をカード発行者装置６０に送信する。
【００５２】
カード発行者装置６０は、受信したアクセス管理テーブル更新許可証依頼データの中の署名（Ａ１２０４）を鍵管理部６０３に格納されたサービス提供者装置４０の公開鍵または秘密鍵で検証する（Ｓ６０５）。検証した結果、正当な署名であると判断された場合には処理を継続するが、不正な署名であると判断された場合には、その旨をサービス提供者装置４０に伝え、処理を中止する（Ｓ６０６）。ここで署名を検証する方式は公開鍵暗号方式であっても秘密鍵暗号方式であってもよく、いずれかの方式に限定するものではない。
【００５３】
次に、カード発行者装置６０は、受信したアクセス管理テーブル更新許可証作成依頼データ中のサービス許可証内の署名（Ａ１１０５）を、鍵管理部６０３に格納された共通サービス提供者装置５０１〜５０ｎの公開鍵または秘密鍵で検証する（Ｓ６０７）。検証した結果、正当な署名であると判断された場合には、処理を継続するが、不正な署名であると判断された場合には、その旨をサービス提供者装置４０に伝え、処理を中止する（Ｓ６０８）。ここで署名を検証する方式は公開鍵暗号方式であっても秘密鍵暗号方式であってもよい。
【００５４】
次に、カード発行者装置６０は、サービス許可証に含まれる、許可証タイプＡ１１０２や、共通アプリケーションのＩＤ（Ａ１１０３）や、新たに追加するアプリケーションのＩＤ（Ａ１１０４）や、アクセス権Ａ１１０５を抜き出し、ＩＣカード１０内のアクセス管理テーブル１０９を更新するための許可証を生成する（Ｓ６０９）（サービス許可証の構造は、図１２により後述）。
【００５５】
最後に、作成したアクセス管理テーブル更新許可証（Ａ６０４）をサービス提供者装置４０に送信する。
【００５６】
次に、図８を用いてＩＣカード１０に新たにサービスアプリケーションを追加する際の処理について説明する。
図８は、ＩＣカード１０に新たにサービスアプリケーションを追加する際の処理を示すフローチャートである。
【００５７】
先ず、利用者端末２０は、ＩＣカード１０の利用者または管理者の要求に基づき、アプリ搭載依頼を実行する（Ｓ７０１）。そのために、依頼情報（Ａ７０１）をサービス提供者装置４０に送信する。ここで依頼情報には、新たに追加するサービスアプリケーションのＩＤが含まれる。
【００５８】
次に、サービス提供者装置４０は、受信した依頼情報から新たに追加するサービスアプリケーションのＩＤを抜き出し、アクセス管理テーブル更新許可証を取出す（Ｓ７０２）。アクセス管理テーブル更新許可証は、図７により説明したように、サービス提供者装置４０は、予めカード発行者装置６０より取得している。
【００５９】
次に、サービス提供者装置４０は、取出したアクセス管理テーブル更新許可証（Ａ７０２）を利用者端末２０に送信する。
【００６０】
利用者端末２０は、受信したアクセス管理テーブル更新許可証をＩＣカード１０内の管理アプリケーション１０７に送信する。
【００６１】
次に、管理アプリケーション１０７は、受信したアクセス管理テーブル更新許可証に含まれる署名（Ａ１３０６）を、鍵管理部１０８に格納された、カード発行者装置６０の公開鍵または秘密鍵で検証する（Ｓ７０３）。検証した結果、不正な署名であると判断された場合には、その旨を利用者端末２０に伝え、処理を中止する（Ｓ７０４）。署名が正当であると判断された場合には、アクセス管理テーブル更新許可証内に記載されている情報に基づき、アクセス管理テーブル１０９の更新をおこなう（Ｓ７０５）。ここで署名を検証する方式は公開鍵暗号方式であっても秘密鍵暗号方式であってもよい。アクセス管理テーブルを更新した結果は、レスポンス（Ａ７０３）として、利用者端末２０を経由して、サービス提供者装置４０に伝達される。
【００６２】
次に、図９を用いてサービスアプリケーション１０３が搭載されたＩＣカード１０を利用して、実際にサービス提供者装置４０からサービスを受ける際の処理を説明する。
図９は、サービスアプリケーション１０３が搭載されたＩＣカード１０を利用して、実際にサービス提供者装置４０からサービスを受ける際の処理を示すフローチャートである。
【００６３】
先ず、利用者端末２０は、ＩＣカード１０の利用者の要求に基づき、サービス提供依頼を実行する（Ｓ８０１）。そのために、依頼情報（Ａ８０１）をサービス提供者装置４０に送信する。
【００６４】
次に、サービス提供者装置４０は、受信した依頼情報に基づき、サービス状況確認をおこなう（Ｓ８０２）。その結果、サービスの提供が継続されていると判断された場合には、利用者端末２０に対し、サービス開始コマンド（Ａ８０２）を送信する。その結果、利用者はサービスを享受できることになる（Ｓ８０７）。
【００６５】
一方、サービスが打ち切られていると判断された場合には、ＩＣカード１０内のアクセス管理テーブル保持部１０９の該当するレコードを削除するため、サービスアプリケーション１０３のレコードの削除に必要なアクセス管理テーブル更新許可証を取出す（Ｓ８０３）。次に、取出したアクセス管理テーブル更新許可証（Ａ８０３）を利用者端末２０に送信する。
【００６６】
次に、利用者端末２０は、受信したアクセス管理テーブル更新許可証をＩＣカード１０内の管理アプリケーション１０７に送信する。
【００６７】
そして、管理アプリケーション１０７は、受信したアクセス管理テーブル更新許可証の中の署名を、鍵管理部１０８に格納された、カード発行者装置６０の公開鍵または秘密鍵で検証する（Ｓ８０４）。検証した結果、不正な署名であると判断された場合には、その旨を利用者端末２０に伝え、処理を中止する（Ｓ８０５）。署名が正当であると判断された場合には、アクセス管理テーブル更新許可証内に記載されている情報に基づき、サービスアプリケーション１０３のレコードを削除する（Ｓ８０６）。ここで署名を検証する方式は公開鍵暗号方式であっても秘密鍵暗号方式であってもよい。
【００６８】
次に、アクセス管理テーブルの更新結果をレスポンス（Ａ８０４）として利用者端末２０およびサービス提供者装置４０に送信する。
【００６９】
〔ＩＣカードによるサービス提供システムの用いられるデータ構造〕
次に、図１０ないし図１４を用いて本発明の一実施形態に係るＩＣカードによるサービス提供システムの用いられるデータ構造について説明する。
図１０は、アクセス管理テーブルの形式を示す図である。
【００７０】
アクセス管理テーブルＡ９０１は、共通アプリケーション１０５に対し、どのサービスアプリケーション１０３にどのようなアクセス権（次の図１１）が存在するのか記載するためのテーブルである。また、サービスアプリケーション１０３１とサービスアプリケーション１０３２が全く同じアクセス権を保持していた場合、サービスアプリケーション１０３２のアクセス権の項目にサービスアプリケーション１０３１と同様のアクセス権を持つという意味のデータを書き込むことも可能である。このような方式を行うことにより、アクセス管理テーブルに使用するデータ量を減少させることが可能となり、ＩＣカードなどのメモリに制限があるデバイスのメモリを有効活用することが可能となる。
【００７１】
図１１は、アクセス管理テーブル内で保持されるアクセス権の構造を示した図である。
【００７２】
アクセス権Ａ１００１は、アクセスタイプＡ１００２と、アクセス回数Ａ１００３から構成される。アクセスタイプとは、リソースに対するアクセス種別を示し、例えば、読取り、書込み、実行などを指定する。アクセス回数とは、サービスアプリケーションが共通アプリケーションに対してアクセスすることが可能な回数を示し、無制限という指定もありうる。
【００７３】
図１２は、サービス許可証の形式を示した図である。
【００７４】
サービス許可証（Ａ１１０１）は、共通アプリケーションがサービスアプリケーションに対してリソースのアクセスを許可するものである。
【００７５】
サービス許可証（Ａ１１０１）は、許可証タイプＡ１１０２を先頭に配置し、その後は、共通サービスを提供する共通アプリケーションのＩＤ（Ａ１１０３）、その共通サービスを利用するサービスアプリケーションのＩＤ（Ａ１１０４）、サービスアプリケーション１０３が保持するアクセス権（Ａ１１０５）と順に配置する。ここで許可証タイプとは、アクセス管理テーブルへの追加・更新・削除などを示すデータである。最後に、これらのＡ１１０２〜Ａ１１０５のデータが正当なデータであることを保証するために、共通サービス提供者装置５０の鍵保管部５０３に存在する共通サービス提供者の秘密鍵を用いてデジタル署名を生成し、共通サービス提供者署名（Ａ１１０６）として付加する。
【００７６】
図１３は、アクセス管理テーブル更新許可証依頼データの形式を示した図である。
【００７７】
アクセス管理テーブル更新許可証依頼データは、図７に示したように、サービス提供者装置４０からカード発行者装置６０にアクセス管理テーブル更新許可証の発行を依頼するものである。
【００７８】
アクセス管理テーブル更新許可証依頼データＡ１２０１は、アクセス管理テーブルの更新を依頼するサービス提供者のＩＤ（Ａ１２０２）を先頭に配置し、次に、図７のＳ６０３１〜Ｓ６０３ｎで取得したサービス許可証（Ａ１２０３１〜Ａ１２０３ｎ）を配置する。最後に、Ａ１２０２〜Ａ１２０３のデータが正当なデータであることを保証するために、サービス提供者装置４０の鍵保管部４０３に存在するサービス提供者の秘密鍵を用いて署名を生成し、サービス提供者署名（Ａ１２０４）として付加する。
【００７９】
図１４は、アクセス管理テーブル更新許可証の形式を示した図である。
【００８０】
アクセス管理テーブル更新許可証は、サービスアプリケーションが共有アプリケーションのリソースをアクセスするために、アクセス管理テーブルの更新の許可を受けるものである。
【００８１】
アクセス管理テーブル更新許可証Ａ１３０１は、アクセス管理テーブル更新許可証依頼データに含まれる許可証タイプ（Ａ１３０２１〜Ａ１３０２ｎ）、共通アプリケーションＩＤ（Ａ１３０３１〜Ａ１３０３ｎ）、サービスアプリケーションＩＤ（Ａ１３０４１〜Ａ１３０４ｎ）、アクセス権（Ａ１３０５１〜Ａ１３０５ｎ）に、カード発行者装置６０の鍵保管部６０３に存在するカード発行者の秘密鍵を用いて署名を生成し、カード発行者署名（Ａ１３０６）として付加する。
【００８２】
〔その他の実施形態のバリエーション〕
なお、本発明は、上記の実施形態に限定されるものではなく、その要旨の範囲内で様々な変形が可能である。
【００８３】
例えば、ＩＣカード１０に利用者端末２０の機能が含まれ、ＩＣカード単体でネットワーク３０と接続が可能な場合である。
【００８４】
そのような実施形態の場合においてもＩＣカード１０やサービス提供者装置４０や共通サービス提供者装置５０やカード発行者装置６０においておこなう処理に変化はない。
【図面の簡単な説明】
【００８５】
【図１】本発明の一実施形態に係るＩＣカードによるサービス提供システムのシステム構成図である。
【図２】ＩＣカード１０のハードウェア構成図である。
【図３】利用者端末２０のハードウェア構成図である。
【図４】サービス提供者装置４０のハードウェア構成図である。
【図５】本発明の一実施形態に係るＩＣカードによるサービス提供システムの処理の概要を示した図である。
【図６】ＩＣカード１０内の共通アプリケーション１０５のリソースをサービスアプリケーション１０３で利用する際の処理を示すフローチャートである。
【図７】サービス提供者装置４０が、アクセス管理テーブル１０９を更新するのに必要なアクセス管理テーブル更新許可証を取得する処理を示すフローチャートである。
【図８】ＩＣカード１０に新たにサービスアプリケーションを追加する際の処理を示すフローチャートである。
【図９】サービスアプリケーション１０３が搭載されたＩＣカード１０を利用して、実際にサービス提供者装置４０からサービスを受ける際の処理を示すフローチャートである。
【図１０】アクセス管理テーブルの形式を示す図である。
【図１１】アクセス管理テーブル内で保持されるアクセス権の構造を示した図である。
【図１２】サービス許可証の形式を示した図である。
【図１３】アクセス管理テーブル更新許可証依頼データの形式を示した図である。
【図１４】アクセス管理テーブル更新許可証の形式を示した図である。
【符号の説明】
【００８６】
１０…ＩＣカード、１１…入出力装置、１２…ＣＰＵ、１３…耐タンパ記憶装置、１４…耐タンパメモリ、１５…内部通信線、２０…利用者端末、２１…通信装置、２２…入出力装置、２３…ＩＣカード入出力装置、２４…記憶装置、２５…ＣＰＵ、２６…メモリ、２７…読取装置、２８…記憶媒体、２９…内部信号線、３０…ネットワーク、４０…サービス提供者装置、４１…通信装置、４２…入出力装置、４３…記憶装置、４４…ＣＰＵ、４５…メモリ、４６…読取装置、４７…記憶媒体、４８…内部信号線、５０…共通サービス提供者装置、６０…カード発行者装置、１０１…データ送受信部、１０２…コマンド解析部、１０３…サービスアプリケーション、１０３１〜１０３ｎ…サービスアプリケーション部、１０４１〜１０４ｎ…データ保管部、１０５…共通アプリケーション、１０５１〜１０５ｎ…共通アプリケーション部、１０６１〜１０６ｎ…データ移行部、１０７…管理アプリケーション部、１０８…鍵保管部、１０９…アクセス管理テーブル保持部、２０１…ＩＣカードアクセス部、２０２…データ送受信部、４０１…通信部、４０２…コマンド生成部、４０３…鍵保管部、４０４…サービス提供部、５０１…通信部、５０２…コマンド生成部、５０３…鍵保管部、５０４…サービス提供部、６０１…通信部、６０２…コマンド生成部、６０３…鍵保管部、６０４…発行情報管理部、Ａ５０１…リソース共有依頼コマンド、Ａ５０２…アクセス権確認コマンド、Ａ５０３…判定結果、Ａ５０４…共有インターフェイス、Ａ５０５…共有リソースアクセスコマンド、Ａ５０６…共有リソース、Ａ６０１１〜Ａ６０１ｎ…依頼情報、Ａ６０２１〜Ａ６０２ｎ…サービス許可証、Ａ６０３…アクセス管理テーブル更新許可証依頼データ、Ａ６０４…アクセス管理テーブル更新許可証、Ａ７０１…依頼情報、Ａ７０２…アクセス管理テーブル更新許可証、Ａ７０３…レスポンス、Ａ８０１…サービス提供依頼、Ａ８０２…サービス開始コマンド、Ａ８０３…アクセス管理テーブル更新許可証、Ａ８０４…レスポンス、Ａ９０１…アクセス管理テーブル、Ａ９０２１〜Ａ９０２ｎ…サービスアプリケーションＩＤ、Ａ９０３１〜Ａ９０３ｎ…共通アプリケーションＩＤ、Ａ９０４１１〜Ａ９０４ｎｎ…アクセス権、Ａ１００１…アクセス権、Ａ１００２…アクセスタイプ、Ａ１００３…アクセス回数、Ａ１１０１…サービス許可証、Ａ１１０２…許可証タイプ、Ａ１１０３…共通アプリケーションＩＤ、Ａ１１０４…サービスアプリケーションＩＤ、Ａ１１０５…アクセス権、Ａ１１０６…共通サービス提供者署名、Ａ１２０１…アクセス管理テーブル更新許可証依頼データ、Ａ１２０２…サービス提供者ＩＤ、Ａ１２０３１〜Ａ１２０３ｎ…サービス許可証、Ａ１２０４…サービス提供者署名、Ａ１３０１…アクセス管理テーブル更新許可証、Ａ１３０２１〜Ａ１３０２ｎ…許可証タイプ、Ａ１３０３１〜Ａ１３０３ｎ…共通アプリケーションＩＤ、Ａ１３０４１〜Ａ１３０４ｎ…サービスアプリケーションＩＤ、Ａ１３０５１〜Ａ１３０５ｎ…アクセス権、Ａ１３０６…カード発行者署名。
【図１】
0004685567.tif 000002
【図２】
0004685567.tif 000003
【図３】
0004685567.tif 000004
【図４】
0004685567.tif 000005
【図５】
0004685567.tif 000006
【図６】
0004685567.tif 000007
【図７】
0004685567.tif 000008
【図８】
0004685567.tif 000009
【図９】
0004685567.tif 000010
【図１０】
0004685567.tif 000011
【図１１】
0004685567.tif 000012
【図１２】
0004685567.tif 000013
【図１３】
0004685567.tif 000014
【図１４】
0004685567.tif 000015