アプリケーション設定装置、ICチップ及びプログラム
【課題】 ICチップが装着された携帯端末に対して、アプリケーションを安全に設定する。
【解決手段】 ICチップ2は、携帯端末用のアプリケーションと、ICチップ用のアプリケーションを、携帯端末3を介して受信し、ICチップ用のアプリケーションをメモリに記憶し、携帯端末用のアプリケーションについてハッシュ値を求めてメモリに記憶した後、アプリケーションを携帯端末3に送信する。携帯端末3は、携帯端末用のアプリケーションをICチップ2から受信して記憶する。携帯端末3は、実行対象の携帯端末用のアプリケーションのハッシュ値を求め、利用要求とともにICチップ2に送信する。これに応答して、ICチップ2は、受信した要求に対応するハッシュ値をメモリから読み出し、受信したハッシュ値と照合し、一致する場合、ICチップ用のアプリケーションを利用可能とする。
【解決手段】 ICチップ2は、携帯端末用のアプリケーションと、ICチップ用のアプリケーションを、携帯端末3を介して受信し、ICチップ用のアプリケーションをメモリに記憶し、携帯端末用のアプリケーションについてハッシュ値を求めてメモリに記憶した後、アプリケーションを携帯端末3に送信する。携帯端末3は、携帯端末用のアプリケーションをICチップ2から受信して記憶する。携帯端末3は、実行対象の携帯端末用のアプリケーションのハッシュ値を求め、利用要求とともにICチップ2に送信する。これに応答して、ICチップ2は、受信した要求に対応するハッシュ値をメモリから読み出し、受信したハッシュ値と照合し、一致する場合、ICチップ用のアプリケーションを利用可能とする。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、サービスを利用するためのアプリケーション等をダウンロードして設定するための、ICチップ及び当該ICチップが装着される携帯端末からなるアプリケーション設定装置等に関する。
【背景技術】
【0002】
近年、サービスを利用するためにICチップが装着された携帯端末を用いるシステムが実現されている。このようなシステムでは、サービスを利用するためのアプリケーションやデータをICチップや携帯端末にそれぞれダウンロードして設定し、携帯端末内のアプリケーションがICチップ内のアプリケーションやデータを用いてサービスを利用するための処理を行う。
【0003】
例えば、ICカード機能の使用履歴を管理するアプリケーションを携帯電話機にダウンロードして、ICカード機能の使用履歴を表示等する携帯型情報処理装置もある(特許文献1)。
【特許文献1】特開2003−85466号公報(第4、5頁、第4図)
【発明の開示】
【発明が解決しようとする課題】
【0004】
上記のように、ICチップが装着された携帯端末を用いて利用するサービスは、電子決済サービスや個人情報を用いたサービス等、高度なセキュリティを要するものが多い。この点について、ICチップは、構造上、機密性や秘匿性が高く、アプリケーションの設定において安全性が確保されるが、携帯端末は、ICチップのように高い機密性を有していない。このため、例えば、携帯端末に不正なアプリケーションが設定された場合や携帯端末に設定されたアプリケーションが改竄された場合には、ICチップに設定されたアプリケーション等が不正に利用される虞がある。
【0005】
本発明は、上記実状に鑑みてなされたものであり、ICチップが装着された携帯端末に対して、アプリケーションを安全に設定することができるアプリケーション設定装置等を提供することを目的とする。
また、本発明は、ICチップが装着された携帯端末に設定されたアプリケーションの改竄を容易に検知できるアプリケーション設定装置等を提供することを他の目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、この発明の第1の観点に係るアプリケーション設定装置は、
ICチップと、当該ICチップが装着される携帯端末と、を備えるアプリケーション設定装置であって、
前記ICチップは、
携帯端末用のアプリケーションと、ICチップ用のアプリケーションを、前記携帯端末を介して受信する受信手段と、
前記受信手段により受信したICチップ用のアプリケーションをメモリに記憶するアプリケーション記憶手段と、
前記受信手段により受信した携帯端末用のアプリケーションについてハッシュ値を求め、当該ハッシュ値をアプリケーションの識別コードと関連付けてメモリに記憶するハッシュ値記憶手段と、
前記受信手段により受信した携帯端末用のアプリケーションを前記携帯端末に送信する送信手段と、
ICチップ用のアプリケーションの利用要求と、アプリケーションの識別コード及びハッシュ値と、の受信に応答して、受信した識別コードに関連付けられているハッシュ値をメモリから読み出し、読み出したハッシュ値と、受信したハッシュ値と、を照合する手段と、
前記照合したハッシュ値が一致する場合、前記利用要求が示すICチップ用のアプリケーションを利用可能とする手段と、を備え、
前記携帯端末は、
前記ICチップの前記送信手段により送信された携帯端末用のアプリケーションを受信して記憶するアプリケーション受信手段と、
実行対象の携帯端末用のアプリケーションのハッシュ値を求め、ICチップ用のアプリケーションの利用要求と、アプリケーションの識別コード及び当該ハッシュ値と、を前記ICチップに送信する手段と、を備える、
ことを特徴とする。
【0007】
前記携帯端末は、携帯端末用のアプリケーションのカスタマイズに関する情報の入力を受け付け、入力された情報に基づくカスタマイズ情報を前記ICチップに送信する手段を備えてもよく、
前記ICチップは、前記カスタマイズ情報を受信してメモリに記憶する手段を備えてもよく、
前記ICチップの前記受信手段は、前記携帯端末用のアプリケーションにおけるカスタマイズ項目に対応するコードの変更場所を示す場所情報をさらに受信してもよく、
前記ICチップの前記アプリケーション記憶手段は、前記受信した場所情報をメモリにさらに記憶してもよく、
前記ICチップの前記ハッシュ値記憶手段は、メモリに記憶されている前記カスタマイズ情報と前記場所情報に基づいて、前記受信した携帯端末用のアプリケーションをカスタマイズし、カスタマイズされた当該携帯端末用のアプリケーションについてハッシュ値を求め、当該ハッシュ値をアプリケーションの識別コードと関連付けてメモリに記憶してもよく、
前記送信手段は、カスタマイズされた前記携帯端末用のアプリケーションを前記携帯端末に送信してもよい。
【0008】
前記ICチップの前記受信手段は、前記携帯端末用のアプリケーションと、前記ICチップ用のアプリケーションの少なくとも一方とを、当該ICチップのバッファサイズに基づいて分割されたデータで受信してもよい。
【0009】
前記携帯端末は、前記携帯端末用のアプリケーションと、前記ICチップ用のアプリケーションを、前記携帯端末用のアプリケーションと前記ICチップ用のアプリケーションを管理するコンピュータから受信して、当該ICチップのバッファサイズに基づいて分割して前記ICチップに送信する手段をさらに備えてもよい。
【0010】
また、この発明の第2の観点に係るICチップは、
ICチップと、当該ICチップが装着される携帯端末と、を備えるアプリケーション設定装置用の前記ICチップであって、
携帯端末用のアプリケーションと、ICチップ用のアプリケーションを、前記携帯端末を介して受信する受信手段と、
前記受信手段により受信したICチップ用のアプリケーションをメモリに記憶する手段と、
前記受信手段により受信した携帯端末用のアプリケーションについてハッシュ値を求め、当該ハッシュ値をアプリケーションの識別コードと関連付けてメモリに記憶する手段と、
前記受信手段により受信した携帯端末用のアプリケーションを前記携帯端末に送信する手段と、
ICチップ用のアプリケーションの利用要求と、アプリケーションの識別コード及びハッシュ値と、の受信に応答して、受信した識別コードに関連付けられているハッシュ値をメモリから読み出し、読み出したハッシュ値と、受信したハッシュ値と、を照合する手段と、
前記照合したハッシュ値が一致する場合、前記利用要求が示すICチップ用のアプリケーションを利用可能とする手段と、
を備えることを特徴とする。
【0011】
また、この発明の第3の観点に係るプログラムは、
コンピュータを、
携帯端末用のアプリケーションと、ICチップ用のアプリケーションを、前記携帯端末を介して受信する受信手段、
前記受信手段により受信したICチップ用のアプリケーションをメモリに記憶する手段、
前記受信手段により受信した携帯端末用のアプリケーションについてハッシュ値を求め、当該ハッシュ値をアプリケーションの識別コードと関連付けてメモリに記憶する手段、
前記受信手段により受信した携帯端末用のアプリケーションを前記携帯端末に送信する手段、
ICチップ用のアプリケーションの利用要求と、アプリケーションの識別コード及びハッシュ値と、の受信に応答して、受信した識別コードに関連付けられているハッシュ値をメモリから読み出し、読み出したハッシュ値と、受信したハッシュ値と、を照合する手段、
前記照合したハッシュ値が一致する場合、前記利用要求が示すICチップ用のアプリケーションを利用可能とする手段、
として機能させるためのものである。
【発明の効果】
【0012】
ICチップが装着された携帯端末に対して、安全にアプリケーションを設定することができる。
【発明を実施するための最良の形態】
【0013】
以下、本発明の実施の形態に係るアプリケーション設定装置について図面を参照して説明する。
本実施形態に係るアプリケーション設定装置を含むアプリケーションダウンロードシステムの構成例を図1に示す。このアプリケーションダウンロードシステムは、アプリケーション提供サーバ1と、ICチップ2とICチップ2が装着された携帯端末3とから構成されるアプリケーション設定装置4と、サービス端末5と、を備える。アプリケーション提供サーバ1と携帯端末3は、ネットワーク10を介して接続され、ネットワーク10は、例えば、インターネット、専用線、公衆回線網、移動体通信網、無線通信網等を含む。
【0014】
アプリケーション提供サーバ1の構成例を図2に、アプリケーション設定装置4を構成するICチップ2と携帯端末3の構成例を図3に示す。また、アプリケーション提供サーバ1とICチップ2と携帯端末3の機能ブロック図を図4に示す。
【0015】
アプリケーション提供サーバ1は、サービスを利用するためのアプリケーションを提供するサーバであり、制御部11と、記憶部12と、通信制御部13と、を備えるコンピュータから構成される。
制御部11は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等から構成され、記憶部12に予め記憶された動作プログラム等を読み出して実行することにより、アプリケーション分割・結合部111、アプリケーション供給部112等を論理的に実現する。
【0016】
アプリケーション分割・結合部111は、携帯端末3からのアプリケーションのダウンロード要求に応答して、携帯端末3を介してICチップ2との間で相互認証やセッション鍵の交換(生成)等を行った後、ICチップ2用のアプリケーションやデータ(以下、ICチップ用アプリケーション)と、携帯端末3用のアプリケーション(以下、携帯端末用アプリケーション)と、を分割対象のデータがなくなるまでそれぞれ分割する。アプリケーションの分割では、ICチップ2からそのバッファサイズのデータを受信し、分割されたICチップ用アプリケーションと分割された携帯端末用アプリケーションを組み合わせたデータサイズが、ICチップ2のバッファサイズ以内になるようにする。また、分割されたICチップ用アプリケーション(ICチップ用AP)と携帯端末用アプリケーション(携帯端末用AP)には識別子(ラベル)を付与して結合する。
【0017】
アプリケーション供給部112は、アプリケーション分割・結合部111により結合されたアプリケーション(分割データ)に対して、メッセージ認証コード(MAC)を付与してICチップ2に対するICチップコマンドデータを生成し、携帯端末3に送信する。ICチップコマンドデータのフォーマットの一例を図5に示す。なお、携帯端末用アプリケーションの分割データのサイズは、ハッシュ演算のブロックサイズの倍数とすることが望ましい。
【0018】
記憶部12は、例えば、ハードディスク装置等から構成され、制御部11が実行するための動作プログラム及び処理に必要な各種データ等が記憶される。また、記憶部12には、ICチップ用アプリケーションと携帯端末用アプリケーションがアプリケーションID(APID)やサービス名等に関連付けられて記憶されている。また、記憶部12には、例えば、ICチップ2が装着された各携帯端末3について、携帯端末ID、装着されたICチップ2のID、アプリケーションが設定済みか未設定であるかを示すフラグ等の情報や、各ICチップ2について、ICチップID、認証鍵、認証状態等の情報が記憶される。
通信制御部13は、ネットワーク10を介して携帯端末3とのデータ通信を行う。
【0019】
ICチップ2は、例えばUIM(User Identity Module)カード、SIM(Subscriber Identity Module)カード等を含み、携帯端末3に装着して使用される。ICチップ2は、CPU21と、メモリ22と、入出力I/F(インタフェース)23と、を備える。
CPU21は、メモリ22に記憶される動作プログラムを実行することにより、認証部211、データ分離部212、検証部213等を論理的に実現する。
【0020】
認証部211は、携帯端末3を介してアプリケーション提供サーバ1との間で認証やセッション鍵の交換(生成)等を行った後、アプリケーション提供サーバ1から受信したデータに付与されているメッセージ認証コード(MAC)を検証する。
【0021】
データ分離部212は、メッセージ認証コードの正当性が確認された場合、アプリケーション提供サーバ1からの結合されたアプリケーションのデータを、ICチップ用アプリケーションの分割データと携帯端末用アプリケーションの分割データに分離して、ICチップ用アプリケーションの分割データをICチップ2のメモリ22に格納し、また、携帯端末用アプリケーションの分割データについてハッシュ値を算出し、ハッシュ値をその携帯端末用アプリケーションのアプリケーションIDとともにメモリ22に記憶し、携帯端末用アプリケーションを携帯端末3に送信する。携帯端末用アプリケーションの分割データについてハッシュ値を算出する際、従前に受信した分割データについてのハッシュ値がメモリ22に記憶されている場合には、そのハッシュ値も初期値として用いて、受信した分割データについてハッシュ値を算出し、メモリ22に記憶されている値を更新する。また、データ分離部212は、データに含まれている最終フラグ等から、ICチップ用アプリケーションの分割データを全て受信したと判別した場合、それらを結合してICチップ用アプリケーションを形成し、メモリ22に記憶・設定する。
【0022】
検証部213は、携帯端末3からアプリケーションの利用要求とハッシュ値とアプリケーションIDを受信した場合、受信したハッシュ値と、受信したアプリケーションIDに対応する、メモリ22に記憶されたハッシュ値と、を照合し、一致する場合には、OK信号を返信し、アプリケーションIDに対応するICチップ用アプリケーションを活性化する等して、ICチップ用アプリケーションの利用を許可する。
【0023】
メモリ22は、ROM、RAM等から構成され、CPU21が実行するための動作プログラム及び処理に必要な各種データ等のデータが記憶されている。また、メモリ22は、ICチップ2のID、各ICチップ用アプリケーションの活性化状態を示す情報、各携帯端末用アプリケーションのハッシュ値、携帯端末固有情報(画面サイズ等)、ICチップ2のバッファサイズ、ICチップ2の秘密鍵及び公開鍵、アプリケーション提供サーバ1の公開鍵等のデータが記憶されている。
入出力I/F23は、そのICチップ2が装着された携帯端末3とのデータ通信を制御する。
【0024】
携帯端末3は、例えば、CPU31と、メモリ32と、入力部33と、表示部34と、通信部35と、入出力I/F36と、を備える。また、携帯端末3は、ICチップ2が装着されるICチップ装着部をその外面に備える。
CPU31は、メモリ32に記憶されるプログラムを実行することにより、ダウンロード要求部311、アプリケーション設定部312、アプリケーション実行部313等を論理的に実現する。
【0025】
ダウンロード要求部311は、アプリケーションのダウンロード要求をアプリケーション提供サーバ1に送信し、これに応じてアプリケーション提供サーバ1から送信されてくるデータを受信してICチップ2に送信し、ICチップ2から受信したデータをアプリケーション提供サーバ1に送信等する。
アプリケーション設定部312は、ICチップ2から携帯端末用アプリケーションの分割データを受信してメモリ32に記憶する。そして、全ての分割データを受信すると、それらを結合して携帯端末用アプリケーションを形成し、メモリ32に記憶・設定する。
【0026】
アプリケーション実行部313は、サービスを利用する際に、アプリケーションを実行するため、メモリ32に記憶されている携帯端末用アプリケーションについてハッシュ値を算出して求め、そのハッシュ値と、携帯端末用アプリケーションのアプリケーションIDと、をアプリケーションの利用要求とともにICチップ2に送信する。そして、OK信号を受信した場合、携帯端末用アプリケーションを起動して、ICチップ2に記憶されている携帯端末用アプリケーションに対応するICチップ用アプリケーションにアクセス等し、サービス利用のための処理を行う。なお、サービスの内容は任意であり、例えば、クレジット決済等の電子決済や、個人認証した後に情報を提供するサービス、携帯端末3を定期券として使用するサービス等を含む。
【0027】
メモリ32は、ROM、RAM等から構成され、CPU31が実行するための動作プログラム及び処理に必要な各種データ等が記憶される。また、メモリ32は、その携帯端末3の携帯端末ID、各携帯端末用アプリケーションに対応するアプリケーションID、携帯端末固有情報(画面サイズ等)等のデータを記憶する。
【0028】
入力部33は、例えばキーボードやポインティングデバイスを含む入力装置から構成され、入力されたデータをCPU31に通知する。
表示部34は、液晶ディスプレイ等から構成され、各種画面表示を行う。
通信部35は、ネットワーク10を介したアプリケーション提供サーバ1とのデータ通信を行う。また、通信部35は、例えば赤外線通信等の近距離無線通信によりサービス端末5とのデータ通信を行う。
入出力I/F36は、携帯端末3のICチップ装着部に装着されたICチップ2とのデータ通信を制御する。
【0029】
サービス端末5は、制御部、記憶部、通信部、入力部、表示部等を備えるコンピュータから構成され、制御部は記憶部に記憶される動作プログラムを実行することにより、携帯端末3と赤外線通信等の近距離無線通信方式によるデータの送受信を行い、ユーザに対してサービスを提供するための処理を行う。サービス端末5は、例えば、1つのサービスを提供する端末として実現されてもよく、複数のサービスを提供する端末として実現されてもよい。例えば、複数のサービスを提供する端末の場合には、複数のサービスの中から一のサービスを選択する入力操作等に応じて、制御部が、選択されたサービスに対応するサービス提供用プログラムを記憶部から読み出して実行する。
【0030】
次に、この発明の実施形態に係るアプリケーション設定装置のシステム動作について説明する。
まず、サービスを利用するためのアプリケーションをICチップ2及び携帯端末3に設定する場合の動作について図6を参照して説明する。なお、前処理として、アプリケーション提供サーバ1には、ICチップ用アプリケーションと携帯端末用アプリケーションが登録されている。
【0031】
まず、携帯端末3のCPU31が、例えばサービス設定要求等の入力を受け付け(ステップS1)、これに応答して、ICチップ装着部に装着されているICチップ2に対してICチップID等を要求して取得し、このICチップIDとサービス名とを含む設定要求をアプリケーション提供サーバ1に送信する(ステップS2)。
これに応じて、アプリケーション提供サーバ1は、受信データに基づいて、要求されたサービスについて設定が可能か判別する(ステップS3)。具体的には、例えば、要求されたサービスに対応するアプリケーションが記憶部12に登録されているか等を判別する。
【0032】
そして、ステップS3における判別結果が設定不可(NG)を示す場合(ステップS3:NO)、アプリケーション提供サーバ1は、携帯端末3にエラー通知を行い、通信を切断する(ステップS4)。
また、ステップS3における判別結果が設定可(OK)を示す場合(ステップS3:YES)、アプリケーション提供サーバ1は、認証データの要求をICチップ2に対して送信する(ステップS5)。
ICチップ2のCPU21は、アプリケーション提供サーバ1からの認証データの要求を携帯端末3を介して受信し、これに応答して、認証データを生成し、携帯端末3を介してアプリケーション提供サーバ1に送信する(ステップS6)。具体的には、例えば、乱数を生成し、生成した乱数にICチップ2の秘密鍵で署名を施した認証データとして生成し、生成した乱数、ICチップ2の公開鍵等とともにアプリケーション提供サーバ1に送信してもよい。
アプリケーション提供サーバ1の制御部11は、ICチップ2からの認証データを受信し、これに応答して、認証データの検証を行う(ステップS7)。具体的には、例えば、受信した認証データの署名をICチップ2の公開鍵で復号化し、受信した乱数が含まれているかを確認してもよい。
【0033】
そして、ステップS7における検証結果がNGを示す場合、アプリケーション提供サーバ1の制御部11は、携帯端末3にエラー通知を行い、通信を切断する(ステップS8)。
また、ステップS7における検証結果がOKを示す場合、制御部11は、サーバ認証データを生成し、ICチップ2に対して送信する(ステップS9)。具体的には、例えば、乱数を生成し、生成した乱数にアプリケーション提供サーバ1の秘密鍵で署名を施したデータをサーバ認証データとして生成し、生成した乱数、アプリケーション提供サーバ1の公開鍵等とともにICチップ2に送信してもよい。
【0034】
ICチップ2のCPU21は、アプリケーション提供サーバ1からのサーバ認証データを携帯端末3を介して受信し、これに応答して、サーバ認証データの検証を行う(ステップS10)。具体的には、例えば、受信したサーバ認証データの署名をアプリケーション提供サーバ1の公開鍵で復号化し、受信した乱数が含まれているかを確認してもよい。
そして、ステップS10における検証結果がNGを示す場合、CPU21は、携帯端末3を介してアプリケーション提供サーバ1にエラー通知を送信し、通信を切断する(ステップS11)。
また、ステップS10における検証結果がOKを示す場合、CPU21は、セッション鍵を生成する(ステップS12)。セッション鍵の生成では、例えば、乱数を生成し、この生成した乱数と、認証データの生成において用いた乱数と、サーバ認証データに含まれていた乱数と、を用いてもよい。
【0035】
次に、ICチップ2のCPU21は、ICチップのバッファサイズと、ステップS12で新たに生成した乱数をアプリケーション提供サーバ11の公開鍵で暗号化したデータと、を携帯端末3に渡す。携帯端末3のCPU31は、ICチップ2から受け取ったデータと、アプリケーションID等の設定対象のアプリケーションを特定する情報と、を含むアプリケーション要求をアプリケーション提供サーバ1に送信する(ステップS13)。
【0036】
アプリケーション提供サーバ1の制御部11は、アプリケーション要求に応答してセッション鍵を生成する(ステップS14)。セッション鍵の生成では、例えば、アプリケーション要求とともに受信した暗号化された乱数をアプリケーション提供サーバ1の秘密鍵で復号化し、この乱数と、認証データに含まれていた乱数と、サーバ認証データの生成において用いた乱数と、を用いてもよい。
次に、制御部11は、要求されたアプリケーションに対応する携帯端末用アプリケーションとICチップ用アプリケーションをアプリケーションID等に基づいて記憶部12から読み出す。そして、読み出した各アプリケーションを、ICチップ2のバッファサイズに基づいて分割し、ICチップ用の分割データと携帯端末用の一組の分割データにラベル(識別子)をそれぞれ付与して結合し、メッセージ認証コード(MAC)を付与して、ICチップ2に分割単位で順次送信する(ステップS15)。メッセージ認証コードは、セッション鍵から派生した鍵でもよい。また、ある乱数から、セッション鍵やMAC等を生成してもよい。
【0037】
ICチップ2のCPU21は、アプリケーション提供サーバ1から受信したMACが正しいかを判別する(ステップS16)。具体的には、受信したICチップ用アプリケーションと携帯端末用アプリケーションのデータについて、アプリケーション提供サーバ1と同様にしてMACを生成し、生成したMACと受信したMACを照合することにより、受信したMACの正当性を検証する。
そして、ステップS16においてMACが正しくないと判別された場合、CPU21は、アプリケーション提供サーバ1にエラー通知を行い、通信を切断する(ステップS11)。
また、ステップS16においてMACが正しいと判別された場合、CPU21は、携帯端末用アプリケーションとICチップ用アプリケーションの分割データを分離し、ICチップ用アプリケーションの分割データをメモリ22に記憶する(ステップS17)。また、携帯端末用アプリケーションの分割データについてハッシュ値を求め、メモリ22に記憶(更新)し(ステップS18)、その携帯端末用アプリケーションの分割データを携帯端末3に送信する。携帯端末3のCPU31は、携帯端末用アプリケーションの分割データをICチップ2から受信して、メモリ32に記憶する(ステップS19)。
【0038】
そして、アプリケーション提供サーバ1からICチップ2に全ての分割データが送信されるまで、上述したステップS15〜S19を繰り返す。そして、全ての分割データが送信されると、ICチップ2のCPU21は、メモリ22に格納していた全ての分割データを結合して、ICチップ用アプリケーションを形成し、メモリ22に記憶・設定する。また、携帯端末3のCPU31は、メモリ32に格納していた全ての分割データを結合して、携帯端末用アプリケーションを形成し、メモリ32に記憶・設定する。
【0039】
次に、所定のサービスを利用するために、携帯端末3とICチップ2に設定されたアプリケーションを実行する場合の各装置の動作について図7を参照して説明する。
まず、携帯端末3のCPU31は、例えば携帯端末用アプリケーションの起動要求の入力に応答して(ステップS21)、起動対象として指定された携帯端末用アプリケーションデータのハッシュ値を算出して求め、そのアプリケーションIDとともにICチップ2に送信する(ステップS22)。なお、携帯端末用アプリケーションの起動要求は、例えば、ユーザにより入力されてもよく、サービス端末5が携帯端末3に送信してもよい。
【0040】
ICチップ2のCPU21は、受信したアプリケーションIDに対応するハッシュ値をメモリ22から読み出し、読み出したハッシュ値と受信したハッシュ値が一致するかを判定する(ステップS23)。
ハッシュ値が一致しない場合(ステップS23:NO)、CPU21は、エラー通知を携帯端末3に送信し(ステップS24)、これに応答して、携帯端末3は処理を終了する。
ハッシュ値が一致する場合(ステップS23:YES)、CPU21は、OK信号を携帯端末3に送信するとともに、その携帯端末用アプリケーションに対応するICチップ用アプリケーションを活性化する(ステップS25)。
携帯端末3のCPU31は、ICチップ2からのOK信号に応答して、携帯端末用アプリケーションを起動し(ステップS26)、ICチップ用アプリケーションにアクセスする(ステップS27)。これにより、例えばサービス端末5と通信を行って、所定のサービスを利用するための処理の実行が可能となる。
【0041】
以上説明したように、本発明によれば、携帯端末用アプリケーションとICチップ用アプリケーションを組み合わせてサービスを利用する場合において、ICチップを介して携帯端末に安全にアプリケーションを設定することが可能となる。また、携帯端末用アプリケーションを起動する際に、ICチップ側で携帯端末から提示されたハッシュ値を照合することにより、携帯端末に設定されたアプリケーションの改竄の検知が容易に可能となる。
【0042】
(第1の変形例)
なお、本発明は種々の変形や応用が適用可能である。
例えば、ユーザからの入力に基づいて携帯端末用アプリケーションをカスタマイズし、カスタマイズしたアプリケーションのデータを携帯端末3に設定するようにしてもよい。
この第1の変形例におけるアプリケーション提供サーバ1は、携帯端末用アプリケーションについて、フォントサイズや画面サイズ等の各カスタマイズ項目に対応するプログラムコードの変更場所を示す場所情報をアプリケーション毎に記憶部12に記憶している。また、アプリケーション提供サーバ1の制御部11は、携帯端末用アプリケーションとICチップ用アプリケーションの分割データをICチップ2に送信する際に、その携帯端末用アプリケーションに対応する場所情報も送信する。場所情報のデータ形式は任意であり、例えばXML形式でもよい。場所情報の一例を図8に示す。図8に示す場所情報は、携帯端末用アプリケーションにおいて、画面サイズ(GAMENSIZE)に対応する変更場所はプログラムコードの3バイト目から1バイトであることを示しており、また、フォントサイズ(FONTSIZE)に対する変更場所はプログラムコードの8バイト目から2バイトであることを示している。
【0043】
携帯端末3のCPU31は、PIN(暗証番号)の入力を受け付けて、ICチップ2に送信する。また、CPU31は、PINの照合結果を受信し、照合結果がOKを示す場合には、カスタマイズ項目やその設定値等のカスタマイズに関する情報の入力を受け付け、入力された情報に基づくカスタマイズ情報をICチップ2に送信する。カスタマイズ情報は、例えば、入力指定されたカスタマイズ項目の項目名と設定値から構成されてもよく、また、カスタマイズ可能な項目のうち、入力指定されたカスタマイズ項目以外の項目については、CPU31がメモリ32に設定されている値を設定するようにしてもよい。また、PINの照合結果がNGを示す場合には、エラー表示を行う。
【0044】
ICチップ2のCPU21は、ユーザにより入力されたPINを携帯端末3から受信し、メモリ22に記憶されているPINと照合し、照合結果を携帯端末3に送信する。また、CPU21は、携帯端末3からカスタマイズ情報を受信してメモリ22に記憶する。そして、ICチップ用アプリケーションと携帯端末用アプリケーションの分割データと場所情報を受信すると、場所情報とカスタマイズ情報に基づいて携帯端末用アプリケーションについてカスタマイズを行い、カスタマイズしたアプリケーションの分割データについてハッシュ値を算出してメモリ22にアプリケーションIDとともに記憶し、カスタマイズした携帯端末用アプリケーションのデータを携帯端末3に送信する。
【0045】
次に、この第1の変形例において、アプリケーションをICチップ2と携帯端末3に設定する場合のアプリケーション設定装置の動作を図9を参照して説明する。この変形例におけるアプリケーションの設定処理は、図6を参照して説明したアプリケーションの設定処理とほぼ同様の処理内容であるため、相違点についてのみ説明する。
【0046】
ステップS15’において、アプリケーション提供サーバ1は、携帯端末用アプリケーションに対応する場所データを、携帯端末用アプリケーションとICチップ用アプリケーションのデータとともに送信する。例えば、場所データを含むICチップコマンドデータを初めに送信し、その後、アプリケーションの分割データを含むICチップコマンドデータを送信してもよい。
そして、この第1の変形例におけるアプリケーション設定処理は、ステップS17とステップS18の間に、ICチップ2が携帯端末用アプリケーションのカスタマイズを行うか否かを判別するステップS17Aと、ステップS17Aでカスタマイズを行うと判別した場合に、ICチップ2が、メモリ22に記憶されているカスタマイズ情報と、受信した場所情報と、に基づいて、受信した携帯端末用アプリケーションのカスタマイズを行うステップ17Bと、を備える。
【0047】
ステップS17Aにおけるカスタマイズを行うか否かの判断基準としては、例えば、ICチップ2のメモリ22にカスタマイズ情報が設定されている場合であって、カスタマイズ情報が示すカスタマイズ項目について、受信した場所情報が示す変更場所が、受信した分割データに存在するか否かを判別し、存在する場合に、カスタマイズを行うと判別してもよい。なお、ステップS17Aにおいて、カスタマイズを行わないと判別した場合には、そのままステップS18を実行する。また、ステップS17Bにおけるカスタマイズ処理では、例えば、カスタマイズ情報に「フォントサイズ」の値として「10」が設定され、場所情報に「フォントサイズ」に対応する箇所が「8バイト目から2バイト」と設定されている場合、ICチップ2は、受信した分割データに、アプリケーションコードの8バイト目から2バイトの部分を含むかを判別し、含む場合には、受信した分割データについて、アプリケーションコードの8バイト目から2バイトのデータを「10」を示すコードで更新する。ステップS17Bでカスタマイズを行った後は、ICチップ2は、カスタマイズされたアプリケーションについてハッシュ値を算出してメモリ22に記憶し(ステップS18)、カスタマイズされたアプリケーションのデータを携帯端末3に送信して、携帯端末3に記憶させる(ステップS19)。尚、カスタマイズ情報としては別途設定されたICチップ2内のライセンスや利用権、利用回数などの利用に関するインタフェース情報でも良い。
【0048】
なお、サービス利用時におけるシステム動作は、上述した本実施形態における処理動作(図7参照)と同様である。
【0049】
これにより、ユーザがカスタマイズした携帯端末用アプリケーションについても、携帯端末に安全に設定することが可能となり、また、改竄についても容易に検知することができる。
【0050】
(第2の変形例)
また、上述した実施形態では、アプリケーション提供サーバ1が、アプリケーションをICチップ2のバッファサイズに基づいて分割して送信していたが、例えば、ICチップ2のバッファサイズに基づくアプリケーションの分割処理をアプリケーション提供サーバ1ではなく携帯端末3が行うようにしてもよい。
この第2の変形例におけるアプリケーション提供サーバ1の制御部11は、携帯端末3からのアプリケーション要求の受信に応答して、ダウンロード対象のICチップ用アプリケーションと携帯端末用アプリケーションのサイズ、アプリケーションID等を携帯端末3に送信した後、ICチップ用アプリケーションと携帯端末用アプリケーションのデータを送信する。この変形例では、アプリケーション提供サーバ1は、ICチップ2のバッファサイズに基づくアプリケーションの分割は行わない。
【0051】
ICチップ2のCPU21は、携帯端末3からPINを受信すると、受信したPINを、メモリ22に予め記憶されているPINと照合し、照合結果を携帯端末3に送信する。このとき、照合結果がOK(PINが一致する)の場合には、メモリ22に記憶されているICチップ2のバッファサイズ値を照合結果とともに携帯端末3に送信する。また、CPU21は、全ての分割データを受信すると、メモリ22に記憶されているICチップ用の分割データを結合する。
【0052】
携帯端末3のCPU31は、ICチップ2のバッファサイズ値をメモリ32に設定するための処理を行う。具体的には、CPU31は、その携帯端末3にICチップ2が装着されたとき等のタイミングで、ユーザからPIN(暗号番号)の入力を受け付け、入力されたPINをICチップ2に送信し、ICチップ2に格納されているPINとの照合結果を受信する。受信した照合結果がOKを示す場合には、照合結果とともにICチップ2から送信されてきたICチップ2のバッファサイズのデータをメモリ32に記憶する。また、受信した照合結果がエラーを示す場合には、ICチップ2のバッファサイズを設定するための処理を終了する。なお、携帯端末3からICチップ2が取り外された場合には、メモリ32に記憶されたバッファサイズのデータをクリアする。
また、CPU31は、携帯端末用アプリケーションとICチップ用アプリケーションのサイズ、アプリケーションID等をアプリケーション提供サーバ1から受信してメモリ32に記憶し、メモリ32の空き容量等をチェックした後、ICチップ用アプリケーションと携帯端末用アプリケーションのデータをアプリケーション提供サーバ1からダウンロードする。そして、CPU31は、ダウンロードしたアプリケーションのデータについて、ICチップ2のバッファサイズに基づいて分割し、分割データをICチップ2に送信する。また、CPU31は、ICチップ2から、携帯端末用アプリケーションの分割データを受信すると、メモリ32に記憶し、全ての分割データが揃ったことを確認すると、それらを結合する。
【0053】
本実施形態の第2の変形例において、アプリケーションをICチップと携帯端末に設定する場合のアプリケーション設定装置の動作を図10を参照して説明する。
まず、携帯端末3のCPU31が、サービス設定要求等の入力を受け付け、ICチップ2に対して、既に登録されているアプリケーションのアプリケーションIDのリスト、メモリの空き容量等を要求する(ステップS61)。この要求に応答して、ICチップ2のCPU21は、既に登録されているアプリケーションのアプリケーションIDのリストと、空き容量等のデータを携帯端末3に送信する(ステップS62)。
携帯端末3のCPU31は、ICチップ2からのデータを受信してメモリ32に記憶すると、サービス名等を含む設定要求をアプリケーション提供サーバ1に送信する(ステップS63)。
アプリケーション提供サーバ1の制御部11は、設定要求に対応するアプリケーションID、ICチップ用アプリケーションと携帯端末用アプリケーションのサイズ等のデータを携帯端末3に送信する(ステップS64)。
【0054】
携帯端末3のCPU31は、受信したアプリケーションのサイズ値に基づいて、携帯端末3とICチップ2のメモリの空き容量をチェックし、また、受信したアプリケーションIDについて、登録済みのアプリケーションのアプリケーションIDのリストを参照し、アプリケーションが重複するか否かのチェック等を行う(ステップS65)。そして、空き容量が不足する場合やアプリケーションの重複が生じる場合には(ステップS65:YES)、CPU31は、エラー表示を行って、アプリケーション提供サーバ1にエラー通知を送信する等の所定のエラー処理を行う(ステップS66)。また、空き容量が不足せず、かつ、アプリケーションの重複も生じない場合には(ステップS65:NO)、OK信号をアプリケーション提供サーバ1に送信し、これに応じて、アプリケーション提供サーバ1の制御部11は、ICチップ用アプリケーションと携帯端末用アプリケーションを携帯端末3に送信する(ステップS67)。
携帯端末3のCPU31は、受信したアプリケーションを、メモリ32に記憶されているICチップ2のバッファサイズに基づいて分割して、ICチップコマンドデータ(図5参照)を生成してICチップ2に順次送信する(ステップS68)。
【0055】
ICチップ2のCPU21は、受信したICチップコマンドデータについて、フォーマットのチェック等を行った後、ICチップ用アプリケーションと携帯端末用アプリケーションの分割データを分離し、ICチップ用アプリケーションの分割データをメモリ22に記憶する(ステップS69)。そして、例えば、携帯端末用アプリケーションの分割データについては、必要なカスタマイズ処理等を行い、ハッシュ値を生成して記憶(更新)する(ステップS70)。具体的には、場所情報を受信している場合には、場所情報の署名を検証してその正当性を確認した後、受信した分割データについてカスタマイズを行うか否かを判別し、行う必要がある場合にはカスタマイズ処理を行い、カスタマイズされた分割データについてハッシュ値を算出する。また、分割データについてカスタマイズが不要と判別した場合や場所情報を受信していない場合等にはカスタマイズを行わず、そのままハッシュ値を算出する。次に、CPU21は、携帯端末用アプリケーションの分割データを携帯端末3に送信する(ステップS71)。携帯端末3のCPU31は、受信した携帯端末用アプリケーションの分割データをメモリ32に記憶する(ステップS72)。
【0056】
そして、携帯端末3が全ての分割データをICチップ2に送信するまで、ステップS68〜S72を繰り返す。そして、携帯端末3のCPU31は、全ての分割データを送信し、携帯端末用アプリケーションの分割データが全て揃ったことを確認すると(ステップS73:YES)、それらの分割データを結合して、携帯端末用アプリケーションを形成し、メモリ32に記憶・設定し、ダウンロード結果をアプリケーション提供サーバ1に送信する(ステップS74)。また、ICチップ2のCPU21は、全ての分割データが揃ったことを確認した場合、それらの分割データを結合してICチップ用アプリケーションを形成し、メモリ22に記憶・設定する。なお、携帯端末3は、分割データが全て揃わなかった場合等には(ステップS73:NO)、メモリ32に格納されている分割データを削除し、サーバにエラーを通知する等の所定のエラー処理を行う(ステップS75)。
【0057】
(第3の変形例)
また、携帯端末用アプリケーションを、携帯端末のローカルI/Fを介して他の携帯端末に対して設定するようにしてもよい。
この第3の変形例における携帯端末3は、アプリケーション提供サーバ1に接続可能な携帯端末Aと、接続不可能な携帯端末Bと、を含む。携帯端末Bの通信部35は、例えば、赤外線通信等のローカルI/Fのみを有し、ネットワーク10と接続するためのI/Fを有していない。
【0058】
次に、携帯端末Bに携帯端末Aを介してアプリケーションを設定する場合の処理について図11を参照して説明する。
携帯端末Bは、携帯端末Aに接続要求を送信する(ステップS41)。
携帯端末Aは、携帯端末Bから接続要求を受信すると(ステップS42)、PIN入力を受け付けて、携帯端末Aに装着されているICチップ2(以下、ICチップA)に渡し、ICチップAは、PIN照合によりユーザの本人確認を行う(ステップS43)。ICチップAは、照合エラーの場合、携帯端末Aにエラーを通知し、照合OKの場合、乱数を生成し、携帯端末Aを介して携帯端末Bに装着されているICチップBに対して送信する(ステップS44)。
携帯端末Bは、携帯端末Aから乱数を受信すると、それをICチップBに渡すとともに、PIN入力を受け付けて、携帯端末Bに渡す。ICチップBは、PIN照合によりユーザの本人確認を行う(ステップS45)。ICチップBは、照合エラーの場合、エラーを携帯端末Bに通知し、照合OKの場合、ICチップAから受信した乱数にICチップBの秘密鍵で署名を施して、ICチップBの公開鍵とともに、携帯端末Bを介してICチップAに送信する(ステップS46)。
【0059】
ICチップAは、ICチップBから受信した署名を公開鍵で復号化し、先に送信した乱数が含まれていることを確認すると、認証OKを示すデータを携帯端末Bに通知する(ステップS47)。
携帯端末Bは、ICチップBから読み出したICチップIDとバッファサイズと、設定要求対象のサービスを指定するデータと、を携帯端末Aに送信する(ステップS48)。
携帯端末Aは、アプリケーション提供サーバ1に、ICチップBのIDとバッファサイズ、サービス名(アプリケーション名)等を指定したアプリケーション要求を送信する(ステップS49)。
【0060】
アプリケーション提供サーバ1は、アプリケーション要求に対応するICチップ用アプリケーションと携帯端末用アプリケーションを読み出し、上述した本実施形態と同様にしてICチップコマンドデータ(図5参照)を生成して、携帯端末Aに順次送信する(ステップS50)。携帯端末Aは、アプリケーション提供サーバ1から受信したICチップコマンドデータを携帯端末BのICチップBに順次送信する(ステップS51)。携帯端末BのICチップBは、受信データについて、上述した本実施形態と同様にして、ICチップ用アプリケーションと携帯端末用アプリケーションの分割データに分離し、ICチップ用の分割データについてはメモリ22に格納し、携帯端末用の分割データについてはハッシュ値を算出して記憶した後、携帯端末Bに送信する(ステップS52)。携帯端末Bは、ICチップBから受信した携帯端末用の分割データを記憶する(ステップS53)。
【0061】
そして、アプリケーション提供サーバ1からICチップ2に全ての分割データ送信されるまで、上述したステップS50〜S53を繰り返す。そして、全ての分割データが送信されると、ICチップBは、メモリ22に格納していた全ての分割データを結合して、ICチップ用アプリケーションを形成し、記憶・設定する。また、携帯端末Bは、メモリ32に格納していた全ての分割データを結合して、携帯端末用アプリケーションを形成し、記憶・設定する。そして、設定結果をアプリケーション提供サーバ1に送信する(ステップS54)。
【0062】
なお、第3の変形例において、携帯端末Aが、ICチップBのバッファサイズに基づいて、アプリケーションのデータを分割し、ICチップBに順次供給してもよい。
また、ICチップ用アプリケーションと携帯端末用アプリケーションとが同じ言語体系で同じロジックの場合には、一つのアプリケーションのデータを分割して送信してもよく、この分割データを、ICチップ2と携帯端末3のそれぞれに設定するようにしてもよい。
また、上述した説明では、ICチップに対して、アプリケーションやアプリケーション及びデータを設定するようにしているが、本発明は、ICチップに対してデータのみを設定する場合にも適用可能である。
また、上述した説明では、アプリケーションの設定について記述しているが、アプリケーションの更新であっても良く、その場合はICチップに記憶しているハッシュ値を更新する。
また、携帯端末のアプリケーションを削除する場合は、併せてICチップに設定したハッシュ値などを無効化しても良い。
【0063】
なお、この発明のシステムは、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、上述の動作を実行するためのプログラムをコンピュータ読み取り可能な記録媒体(FD、CD−ROM、DVD等)に格納して配布し、該プログラムをコンピュータにインストールすることにより、上述の処理を実行するアプリケーション提供サーバ1、ICチップ2、携帯端末3等を構成してもよい。また、インターネット等のネットワーク10上のサーバ装置が有するディスク装置に格納しておき、例えばコンピュータにダウンロード等するようにしてもよい。
また、上述の機能を、OSが分担又はOSとアプリケーションの共同により実現する場合等には、OS以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロード等してもよい。
【図面の簡単な説明】
【0064】
【図1】本発明の実施形態に係るアプリケーションダウンロードシステムの構成例を示す図である。
【図2】アプリケーション提供サーバの構成例を示す図である。
【図3】ICチップと携帯端末の構成例を示す図である。
【図4】アプリケーション提供サーバとICチップと携帯端末の機能ブロック図である。
【図5】ICチップコマンドデータのフォーマットの一例を示す図である。
【図6】アプリケーションをICチップと携帯端末に設定する場合におけるアプリケーション設定装置の動作を説明するための図である。
【図7】所定のサービスを利用するために、携帯端末とICチップに設定されたアプリケーションを実行する場合の各装置の動作を説明するための図である。
【図8】場所情報の一例を示す図である。
【図9】第1の変形例において、アプリケーションをICチップと携帯端末に設定する場合のアプリケーション設定装置の動作を説明するための図である。
【図10】第2の変形例において、アプリケーションをICチップと携帯端末に設定する場合のアプリケーション設定装置の動作を説明するための図である。
【図11】第3の変形例において、アプリケーションをICチップと携帯端末に設定する場合のアプリケーション設定装置の動作を説明するための図である。
【符号の説明】
【0065】
1 アプリケーション提供サーバ
2 ICチップ
3 携帯端末
4 アプリケーション設定装置
10 ネットワーク
11 制御部
12 記憶部
11 通信制御部
21、31 CPU
22、32 メモリ
23、36 入出力I/F
33 入力部
34 表示部
35 通信部
111 アプリケーション分割・結合部
112 アプリケーション供給部
211 認証部
212 データ分離部
213 検証部
311 ダウンロード要求部
312 アプリケーション設定部
313 アプリケーション実行部
【技術分野】
【0001】
この発明は、サービスを利用するためのアプリケーション等をダウンロードして設定するための、ICチップ及び当該ICチップが装着される携帯端末からなるアプリケーション設定装置等に関する。
【背景技術】
【0002】
近年、サービスを利用するためにICチップが装着された携帯端末を用いるシステムが実現されている。このようなシステムでは、サービスを利用するためのアプリケーションやデータをICチップや携帯端末にそれぞれダウンロードして設定し、携帯端末内のアプリケーションがICチップ内のアプリケーションやデータを用いてサービスを利用するための処理を行う。
【0003】
例えば、ICカード機能の使用履歴を管理するアプリケーションを携帯電話機にダウンロードして、ICカード機能の使用履歴を表示等する携帯型情報処理装置もある(特許文献1)。
【特許文献1】特開2003−85466号公報(第4、5頁、第4図)
【発明の開示】
【発明が解決しようとする課題】
【0004】
上記のように、ICチップが装着された携帯端末を用いて利用するサービスは、電子決済サービスや個人情報を用いたサービス等、高度なセキュリティを要するものが多い。この点について、ICチップは、構造上、機密性や秘匿性が高く、アプリケーションの設定において安全性が確保されるが、携帯端末は、ICチップのように高い機密性を有していない。このため、例えば、携帯端末に不正なアプリケーションが設定された場合や携帯端末に設定されたアプリケーションが改竄された場合には、ICチップに設定されたアプリケーション等が不正に利用される虞がある。
【0005】
本発明は、上記実状に鑑みてなされたものであり、ICチップが装着された携帯端末に対して、アプリケーションを安全に設定することができるアプリケーション設定装置等を提供することを目的とする。
また、本発明は、ICチップが装着された携帯端末に設定されたアプリケーションの改竄を容易に検知できるアプリケーション設定装置等を提供することを他の目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、この発明の第1の観点に係るアプリケーション設定装置は、
ICチップと、当該ICチップが装着される携帯端末と、を備えるアプリケーション設定装置であって、
前記ICチップは、
携帯端末用のアプリケーションと、ICチップ用のアプリケーションを、前記携帯端末を介して受信する受信手段と、
前記受信手段により受信したICチップ用のアプリケーションをメモリに記憶するアプリケーション記憶手段と、
前記受信手段により受信した携帯端末用のアプリケーションについてハッシュ値を求め、当該ハッシュ値をアプリケーションの識別コードと関連付けてメモリに記憶するハッシュ値記憶手段と、
前記受信手段により受信した携帯端末用のアプリケーションを前記携帯端末に送信する送信手段と、
ICチップ用のアプリケーションの利用要求と、アプリケーションの識別コード及びハッシュ値と、の受信に応答して、受信した識別コードに関連付けられているハッシュ値をメモリから読み出し、読み出したハッシュ値と、受信したハッシュ値と、を照合する手段と、
前記照合したハッシュ値が一致する場合、前記利用要求が示すICチップ用のアプリケーションを利用可能とする手段と、を備え、
前記携帯端末は、
前記ICチップの前記送信手段により送信された携帯端末用のアプリケーションを受信して記憶するアプリケーション受信手段と、
実行対象の携帯端末用のアプリケーションのハッシュ値を求め、ICチップ用のアプリケーションの利用要求と、アプリケーションの識別コード及び当該ハッシュ値と、を前記ICチップに送信する手段と、を備える、
ことを特徴とする。
【0007】
前記携帯端末は、携帯端末用のアプリケーションのカスタマイズに関する情報の入力を受け付け、入力された情報に基づくカスタマイズ情報を前記ICチップに送信する手段を備えてもよく、
前記ICチップは、前記カスタマイズ情報を受信してメモリに記憶する手段を備えてもよく、
前記ICチップの前記受信手段は、前記携帯端末用のアプリケーションにおけるカスタマイズ項目に対応するコードの変更場所を示す場所情報をさらに受信してもよく、
前記ICチップの前記アプリケーション記憶手段は、前記受信した場所情報をメモリにさらに記憶してもよく、
前記ICチップの前記ハッシュ値記憶手段は、メモリに記憶されている前記カスタマイズ情報と前記場所情報に基づいて、前記受信した携帯端末用のアプリケーションをカスタマイズし、カスタマイズされた当該携帯端末用のアプリケーションについてハッシュ値を求め、当該ハッシュ値をアプリケーションの識別コードと関連付けてメモリに記憶してもよく、
前記送信手段は、カスタマイズされた前記携帯端末用のアプリケーションを前記携帯端末に送信してもよい。
【0008】
前記ICチップの前記受信手段は、前記携帯端末用のアプリケーションと、前記ICチップ用のアプリケーションの少なくとも一方とを、当該ICチップのバッファサイズに基づいて分割されたデータで受信してもよい。
【0009】
前記携帯端末は、前記携帯端末用のアプリケーションと、前記ICチップ用のアプリケーションを、前記携帯端末用のアプリケーションと前記ICチップ用のアプリケーションを管理するコンピュータから受信して、当該ICチップのバッファサイズに基づいて分割して前記ICチップに送信する手段をさらに備えてもよい。
【0010】
また、この発明の第2の観点に係るICチップは、
ICチップと、当該ICチップが装着される携帯端末と、を備えるアプリケーション設定装置用の前記ICチップであって、
携帯端末用のアプリケーションと、ICチップ用のアプリケーションを、前記携帯端末を介して受信する受信手段と、
前記受信手段により受信したICチップ用のアプリケーションをメモリに記憶する手段と、
前記受信手段により受信した携帯端末用のアプリケーションについてハッシュ値を求め、当該ハッシュ値をアプリケーションの識別コードと関連付けてメモリに記憶する手段と、
前記受信手段により受信した携帯端末用のアプリケーションを前記携帯端末に送信する手段と、
ICチップ用のアプリケーションの利用要求と、アプリケーションの識別コード及びハッシュ値と、の受信に応答して、受信した識別コードに関連付けられているハッシュ値をメモリから読み出し、読み出したハッシュ値と、受信したハッシュ値と、を照合する手段と、
前記照合したハッシュ値が一致する場合、前記利用要求が示すICチップ用のアプリケーションを利用可能とする手段と、
を備えることを特徴とする。
【0011】
また、この発明の第3の観点に係るプログラムは、
コンピュータを、
携帯端末用のアプリケーションと、ICチップ用のアプリケーションを、前記携帯端末を介して受信する受信手段、
前記受信手段により受信したICチップ用のアプリケーションをメモリに記憶する手段、
前記受信手段により受信した携帯端末用のアプリケーションについてハッシュ値を求め、当該ハッシュ値をアプリケーションの識別コードと関連付けてメモリに記憶する手段、
前記受信手段により受信した携帯端末用のアプリケーションを前記携帯端末に送信する手段、
ICチップ用のアプリケーションの利用要求と、アプリケーションの識別コード及びハッシュ値と、の受信に応答して、受信した識別コードに関連付けられているハッシュ値をメモリから読み出し、読み出したハッシュ値と、受信したハッシュ値と、を照合する手段、
前記照合したハッシュ値が一致する場合、前記利用要求が示すICチップ用のアプリケーションを利用可能とする手段、
として機能させるためのものである。
【発明の効果】
【0012】
ICチップが装着された携帯端末に対して、安全にアプリケーションを設定することができる。
【発明を実施するための最良の形態】
【0013】
以下、本発明の実施の形態に係るアプリケーション設定装置について図面を参照して説明する。
本実施形態に係るアプリケーション設定装置を含むアプリケーションダウンロードシステムの構成例を図1に示す。このアプリケーションダウンロードシステムは、アプリケーション提供サーバ1と、ICチップ2とICチップ2が装着された携帯端末3とから構成されるアプリケーション設定装置4と、サービス端末5と、を備える。アプリケーション提供サーバ1と携帯端末3は、ネットワーク10を介して接続され、ネットワーク10は、例えば、インターネット、専用線、公衆回線網、移動体通信網、無線通信網等を含む。
【0014】
アプリケーション提供サーバ1の構成例を図2に、アプリケーション設定装置4を構成するICチップ2と携帯端末3の構成例を図3に示す。また、アプリケーション提供サーバ1とICチップ2と携帯端末3の機能ブロック図を図4に示す。
【0015】
アプリケーション提供サーバ1は、サービスを利用するためのアプリケーションを提供するサーバであり、制御部11と、記憶部12と、通信制御部13と、を備えるコンピュータから構成される。
制御部11は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等から構成され、記憶部12に予め記憶された動作プログラム等を読み出して実行することにより、アプリケーション分割・結合部111、アプリケーション供給部112等を論理的に実現する。
【0016】
アプリケーション分割・結合部111は、携帯端末3からのアプリケーションのダウンロード要求に応答して、携帯端末3を介してICチップ2との間で相互認証やセッション鍵の交換(生成)等を行った後、ICチップ2用のアプリケーションやデータ(以下、ICチップ用アプリケーション)と、携帯端末3用のアプリケーション(以下、携帯端末用アプリケーション)と、を分割対象のデータがなくなるまでそれぞれ分割する。アプリケーションの分割では、ICチップ2からそのバッファサイズのデータを受信し、分割されたICチップ用アプリケーションと分割された携帯端末用アプリケーションを組み合わせたデータサイズが、ICチップ2のバッファサイズ以内になるようにする。また、分割されたICチップ用アプリケーション(ICチップ用AP)と携帯端末用アプリケーション(携帯端末用AP)には識別子(ラベル)を付与して結合する。
【0017】
アプリケーション供給部112は、アプリケーション分割・結合部111により結合されたアプリケーション(分割データ)に対して、メッセージ認証コード(MAC)を付与してICチップ2に対するICチップコマンドデータを生成し、携帯端末3に送信する。ICチップコマンドデータのフォーマットの一例を図5に示す。なお、携帯端末用アプリケーションの分割データのサイズは、ハッシュ演算のブロックサイズの倍数とすることが望ましい。
【0018】
記憶部12は、例えば、ハードディスク装置等から構成され、制御部11が実行するための動作プログラム及び処理に必要な各種データ等が記憶される。また、記憶部12には、ICチップ用アプリケーションと携帯端末用アプリケーションがアプリケーションID(APID)やサービス名等に関連付けられて記憶されている。また、記憶部12には、例えば、ICチップ2が装着された各携帯端末3について、携帯端末ID、装着されたICチップ2のID、アプリケーションが設定済みか未設定であるかを示すフラグ等の情報や、各ICチップ2について、ICチップID、認証鍵、認証状態等の情報が記憶される。
通信制御部13は、ネットワーク10を介して携帯端末3とのデータ通信を行う。
【0019】
ICチップ2は、例えばUIM(User Identity Module)カード、SIM(Subscriber Identity Module)カード等を含み、携帯端末3に装着して使用される。ICチップ2は、CPU21と、メモリ22と、入出力I/F(インタフェース)23と、を備える。
CPU21は、メモリ22に記憶される動作プログラムを実行することにより、認証部211、データ分離部212、検証部213等を論理的に実現する。
【0020】
認証部211は、携帯端末3を介してアプリケーション提供サーバ1との間で認証やセッション鍵の交換(生成)等を行った後、アプリケーション提供サーバ1から受信したデータに付与されているメッセージ認証コード(MAC)を検証する。
【0021】
データ分離部212は、メッセージ認証コードの正当性が確認された場合、アプリケーション提供サーバ1からの結合されたアプリケーションのデータを、ICチップ用アプリケーションの分割データと携帯端末用アプリケーションの分割データに分離して、ICチップ用アプリケーションの分割データをICチップ2のメモリ22に格納し、また、携帯端末用アプリケーションの分割データについてハッシュ値を算出し、ハッシュ値をその携帯端末用アプリケーションのアプリケーションIDとともにメモリ22に記憶し、携帯端末用アプリケーションを携帯端末3に送信する。携帯端末用アプリケーションの分割データについてハッシュ値を算出する際、従前に受信した分割データについてのハッシュ値がメモリ22に記憶されている場合には、そのハッシュ値も初期値として用いて、受信した分割データについてハッシュ値を算出し、メモリ22に記憶されている値を更新する。また、データ分離部212は、データに含まれている最終フラグ等から、ICチップ用アプリケーションの分割データを全て受信したと判別した場合、それらを結合してICチップ用アプリケーションを形成し、メモリ22に記憶・設定する。
【0022】
検証部213は、携帯端末3からアプリケーションの利用要求とハッシュ値とアプリケーションIDを受信した場合、受信したハッシュ値と、受信したアプリケーションIDに対応する、メモリ22に記憶されたハッシュ値と、を照合し、一致する場合には、OK信号を返信し、アプリケーションIDに対応するICチップ用アプリケーションを活性化する等して、ICチップ用アプリケーションの利用を許可する。
【0023】
メモリ22は、ROM、RAM等から構成され、CPU21が実行するための動作プログラム及び処理に必要な各種データ等のデータが記憶されている。また、メモリ22は、ICチップ2のID、各ICチップ用アプリケーションの活性化状態を示す情報、各携帯端末用アプリケーションのハッシュ値、携帯端末固有情報(画面サイズ等)、ICチップ2のバッファサイズ、ICチップ2の秘密鍵及び公開鍵、アプリケーション提供サーバ1の公開鍵等のデータが記憶されている。
入出力I/F23は、そのICチップ2が装着された携帯端末3とのデータ通信を制御する。
【0024】
携帯端末3は、例えば、CPU31と、メモリ32と、入力部33と、表示部34と、通信部35と、入出力I/F36と、を備える。また、携帯端末3は、ICチップ2が装着されるICチップ装着部をその外面に備える。
CPU31は、メモリ32に記憶されるプログラムを実行することにより、ダウンロード要求部311、アプリケーション設定部312、アプリケーション実行部313等を論理的に実現する。
【0025】
ダウンロード要求部311は、アプリケーションのダウンロード要求をアプリケーション提供サーバ1に送信し、これに応じてアプリケーション提供サーバ1から送信されてくるデータを受信してICチップ2に送信し、ICチップ2から受信したデータをアプリケーション提供サーバ1に送信等する。
アプリケーション設定部312は、ICチップ2から携帯端末用アプリケーションの分割データを受信してメモリ32に記憶する。そして、全ての分割データを受信すると、それらを結合して携帯端末用アプリケーションを形成し、メモリ32に記憶・設定する。
【0026】
アプリケーション実行部313は、サービスを利用する際に、アプリケーションを実行するため、メモリ32に記憶されている携帯端末用アプリケーションについてハッシュ値を算出して求め、そのハッシュ値と、携帯端末用アプリケーションのアプリケーションIDと、をアプリケーションの利用要求とともにICチップ2に送信する。そして、OK信号を受信した場合、携帯端末用アプリケーションを起動して、ICチップ2に記憶されている携帯端末用アプリケーションに対応するICチップ用アプリケーションにアクセス等し、サービス利用のための処理を行う。なお、サービスの内容は任意であり、例えば、クレジット決済等の電子決済や、個人認証した後に情報を提供するサービス、携帯端末3を定期券として使用するサービス等を含む。
【0027】
メモリ32は、ROM、RAM等から構成され、CPU31が実行するための動作プログラム及び処理に必要な各種データ等が記憶される。また、メモリ32は、その携帯端末3の携帯端末ID、各携帯端末用アプリケーションに対応するアプリケーションID、携帯端末固有情報(画面サイズ等)等のデータを記憶する。
【0028】
入力部33は、例えばキーボードやポインティングデバイスを含む入力装置から構成され、入力されたデータをCPU31に通知する。
表示部34は、液晶ディスプレイ等から構成され、各種画面表示を行う。
通信部35は、ネットワーク10を介したアプリケーション提供サーバ1とのデータ通信を行う。また、通信部35は、例えば赤外線通信等の近距離無線通信によりサービス端末5とのデータ通信を行う。
入出力I/F36は、携帯端末3のICチップ装着部に装着されたICチップ2とのデータ通信を制御する。
【0029】
サービス端末5は、制御部、記憶部、通信部、入力部、表示部等を備えるコンピュータから構成され、制御部は記憶部に記憶される動作プログラムを実行することにより、携帯端末3と赤外線通信等の近距離無線通信方式によるデータの送受信を行い、ユーザに対してサービスを提供するための処理を行う。サービス端末5は、例えば、1つのサービスを提供する端末として実現されてもよく、複数のサービスを提供する端末として実現されてもよい。例えば、複数のサービスを提供する端末の場合には、複数のサービスの中から一のサービスを選択する入力操作等に応じて、制御部が、選択されたサービスに対応するサービス提供用プログラムを記憶部から読み出して実行する。
【0030】
次に、この発明の実施形態に係るアプリケーション設定装置のシステム動作について説明する。
まず、サービスを利用するためのアプリケーションをICチップ2及び携帯端末3に設定する場合の動作について図6を参照して説明する。なお、前処理として、アプリケーション提供サーバ1には、ICチップ用アプリケーションと携帯端末用アプリケーションが登録されている。
【0031】
まず、携帯端末3のCPU31が、例えばサービス設定要求等の入力を受け付け(ステップS1)、これに応答して、ICチップ装着部に装着されているICチップ2に対してICチップID等を要求して取得し、このICチップIDとサービス名とを含む設定要求をアプリケーション提供サーバ1に送信する(ステップS2)。
これに応じて、アプリケーション提供サーバ1は、受信データに基づいて、要求されたサービスについて設定が可能か判別する(ステップS3)。具体的には、例えば、要求されたサービスに対応するアプリケーションが記憶部12に登録されているか等を判別する。
【0032】
そして、ステップS3における判別結果が設定不可(NG)を示す場合(ステップS3:NO)、アプリケーション提供サーバ1は、携帯端末3にエラー通知を行い、通信を切断する(ステップS4)。
また、ステップS3における判別結果が設定可(OK)を示す場合(ステップS3:YES)、アプリケーション提供サーバ1は、認証データの要求をICチップ2に対して送信する(ステップS5)。
ICチップ2のCPU21は、アプリケーション提供サーバ1からの認証データの要求を携帯端末3を介して受信し、これに応答して、認証データを生成し、携帯端末3を介してアプリケーション提供サーバ1に送信する(ステップS6)。具体的には、例えば、乱数を生成し、生成した乱数にICチップ2の秘密鍵で署名を施した認証データとして生成し、生成した乱数、ICチップ2の公開鍵等とともにアプリケーション提供サーバ1に送信してもよい。
アプリケーション提供サーバ1の制御部11は、ICチップ2からの認証データを受信し、これに応答して、認証データの検証を行う(ステップS7)。具体的には、例えば、受信した認証データの署名をICチップ2の公開鍵で復号化し、受信した乱数が含まれているかを確認してもよい。
【0033】
そして、ステップS7における検証結果がNGを示す場合、アプリケーション提供サーバ1の制御部11は、携帯端末3にエラー通知を行い、通信を切断する(ステップS8)。
また、ステップS7における検証結果がOKを示す場合、制御部11は、サーバ認証データを生成し、ICチップ2に対して送信する(ステップS9)。具体的には、例えば、乱数を生成し、生成した乱数にアプリケーション提供サーバ1の秘密鍵で署名を施したデータをサーバ認証データとして生成し、生成した乱数、アプリケーション提供サーバ1の公開鍵等とともにICチップ2に送信してもよい。
【0034】
ICチップ2のCPU21は、アプリケーション提供サーバ1からのサーバ認証データを携帯端末3を介して受信し、これに応答して、サーバ認証データの検証を行う(ステップS10)。具体的には、例えば、受信したサーバ認証データの署名をアプリケーション提供サーバ1の公開鍵で復号化し、受信した乱数が含まれているかを確認してもよい。
そして、ステップS10における検証結果がNGを示す場合、CPU21は、携帯端末3を介してアプリケーション提供サーバ1にエラー通知を送信し、通信を切断する(ステップS11)。
また、ステップS10における検証結果がOKを示す場合、CPU21は、セッション鍵を生成する(ステップS12)。セッション鍵の生成では、例えば、乱数を生成し、この生成した乱数と、認証データの生成において用いた乱数と、サーバ認証データに含まれていた乱数と、を用いてもよい。
【0035】
次に、ICチップ2のCPU21は、ICチップのバッファサイズと、ステップS12で新たに生成した乱数をアプリケーション提供サーバ11の公開鍵で暗号化したデータと、を携帯端末3に渡す。携帯端末3のCPU31は、ICチップ2から受け取ったデータと、アプリケーションID等の設定対象のアプリケーションを特定する情報と、を含むアプリケーション要求をアプリケーション提供サーバ1に送信する(ステップS13)。
【0036】
アプリケーション提供サーバ1の制御部11は、アプリケーション要求に応答してセッション鍵を生成する(ステップS14)。セッション鍵の生成では、例えば、アプリケーション要求とともに受信した暗号化された乱数をアプリケーション提供サーバ1の秘密鍵で復号化し、この乱数と、認証データに含まれていた乱数と、サーバ認証データの生成において用いた乱数と、を用いてもよい。
次に、制御部11は、要求されたアプリケーションに対応する携帯端末用アプリケーションとICチップ用アプリケーションをアプリケーションID等に基づいて記憶部12から読み出す。そして、読み出した各アプリケーションを、ICチップ2のバッファサイズに基づいて分割し、ICチップ用の分割データと携帯端末用の一組の分割データにラベル(識別子)をそれぞれ付与して結合し、メッセージ認証コード(MAC)を付与して、ICチップ2に分割単位で順次送信する(ステップS15)。メッセージ認証コードは、セッション鍵から派生した鍵でもよい。また、ある乱数から、セッション鍵やMAC等を生成してもよい。
【0037】
ICチップ2のCPU21は、アプリケーション提供サーバ1から受信したMACが正しいかを判別する(ステップS16)。具体的には、受信したICチップ用アプリケーションと携帯端末用アプリケーションのデータについて、アプリケーション提供サーバ1と同様にしてMACを生成し、生成したMACと受信したMACを照合することにより、受信したMACの正当性を検証する。
そして、ステップS16においてMACが正しくないと判別された場合、CPU21は、アプリケーション提供サーバ1にエラー通知を行い、通信を切断する(ステップS11)。
また、ステップS16においてMACが正しいと判別された場合、CPU21は、携帯端末用アプリケーションとICチップ用アプリケーションの分割データを分離し、ICチップ用アプリケーションの分割データをメモリ22に記憶する(ステップS17)。また、携帯端末用アプリケーションの分割データについてハッシュ値を求め、メモリ22に記憶(更新)し(ステップS18)、その携帯端末用アプリケーションの分割データを携帯端末3に送信する。携帯端末3のCPU31は、携帯端末用アプリケーションの分割データをICチップ2から受信して、メモリ32に記憶する(ステップS19)。
【0038】
そして、アプリケーション提供サーバ1からICチップ2に全ての分割データが送信されるまで、上述したステップS15〜S19を繰り返す。そして、全ての分割データが送信されると、ICチップ2のCPU21は、メモリ22に格納していた全ての分割データを結合して、ICチップ用アプリケーションを形成し、メモリ22に記憶・設定する。また、携帯端末3のCPU31は、メモリ32に格納していた全ての分割データを結合して、携帯端末用アプリケーションを形成し、メモリ32に記憶・設定する。
【0039】
次に、所定のサービスを利用するために、携帯端末3とICチップ2に設定されたアプリケーションを実行する場合の各装置の動作について図7を参照して説明する。
まず、携帯端末3のCPU31は、例えば携帯端末用アプリケーションの起動要求の入力に応答して(ステップS21)、起動対象として指定された携帯端末用アプリケーションデータのハッシュ値を算出して求め、そのアプリケーションIDとともにICチップ2に送信する(ステップS22)。なお、携帯端末用アプリケーションの起動要求は、例えば、ユーザにより入力されてもよく、サービス端末5が携帯端末3に送信してもよい。
【0040】
ICチップ2のCPU21は、受信したアプリケーションIDに対応するハッシュ値をメモリ22から読み出し、読み出したハッシュ値と受信したハッシュ値が一致するかを判定する(ステップS23)。
ハッシュ値が一致しない場合(ステップS23:NO)、CPU21は、エラー通知を携帯端末3に送信し(ステップS24)、これに応答して、携帯端末3は処理を終了する。
ハッシュ値が一致する場合(ステップS23:YES)、CPU21は、OK信号を携帯端末3に送信するとともに、その携帯端末用アプリケーションに対応するICチップ用アプリケーションを活性化する(ステップS25)。
携帯端末3のCPU31は、ICチップ2からのOK信号に応答して、携帯端末用アプリケーションを起動し(ステップS26)、ICチップ用アプリケーションにアクセスする(ステップS27)。これにより、例えばサービス端末5と通信を行って、所定のサービスを利用するための処理の実行が可能となる。
【0041】
以上説明したように、本発明によれば、携帯端末用アプリケーションとICチップ用アプリケーションを組み合わせてサービスを利用する場合において、ICチップを介して携帯端末に安全にアプリケーションを設定することが可能となる。また、携帯端末用アプリケーションを起動する際に、ICチップ側で携帯端末から提示されたハッシュ値を照合することにより、携帯端末に設定されたアプリケーションの改竄の検知が容易に可能となる。
【0042】
(第1の変形例)
なお、本発明は種々の変形や応用が適用可能である。
例えば、ユーザからの入力に基づいて携帯端末用アプリケーションをカスタマイズし、カスタマイズしたアプリケーションのデータを携帯端末3に設定するようにしてもよい。
この第1の変形例におけるアプリケーション提供サーバ1は、携帯端末用アプリケーションについて、フォントサイズや画面サイズ等の各カスタマイズ項目に対応するプログラムコードの変更場所を示す場所情報をアプリケーション毎に記憶部12に記憶している。また、アプリケーション提供サーバ1の制御部11は、携帯端末用アプリケーションとICチップ用アプリケーションの分割データをICチップ2に送信する際に、その携帯端末用アプリケーションに対応する場所情報も送信する。場所情報のデータ形式は任意であり、例えばXML形式でもよい。場所情報の一例を図8に示す。図8に示す場所情報は、携帯端末用アプリケーションにおいて、画面サイズ(GAMENSIZE)に対応する変更場所はプログラムコードの3バイト目から1バイトであることを示しており、また、フォントサイズ(FONTSIZE)に対する変更場所はプログラムコードの8バイト目から2バイトであることを示している。
【0043】
携帯端末3のCPU31は、PIN(暗証番号)の入力を受け付けて、ICチップ2に送信する。また、CPU31は、PINの照合結果を受信し、照合結果がOKを示す場合には、カスタマイズ項目やその設定値等のカスタマイズに関する情報の入力を受け付け、入力された情報に基づくカスタマイズ情報をICチップ2に送信する。カスタマイズ情報は、例えば、入力指定されたカスタマイズ項目の項目名と設定値から構成されてもよく、また、カスタマイズ可能な項目のうち、入力指定されたカスタマイズ項目以外の項目については、CPU31がメモリ32に設定されている値を設定するようにしてもよい。また、PINの照合結果がNGを示す場合には、エラー表示を行う。
【0044】
ICチップ2のCPU21は、ユーザにより入力されたPINを携帯端末3から受信し、メモリ22に記憶されているPINと照合し、照合結果を携帯端末3に送信する。また、CPU21は、携帯端末3からカスタマイズ情報を受信してメモリ22に記憶する。そして、ICチップ用アプリケーションと携帯端末用アプリケーションの分割データと場所情報を受信すると、場所情報とカスタマイズ情報に基づいて携帯端末用アプリケーションについてカスタマイズを行い、カスタマイズしたアプリケーションの分割データについてハッシュ値を算出してメモリ22にアプリケーションIDとともに記憶し、カスタマイズした携帯端末用アプリケーションのデータを携帯端末3に送信する。
【0045】
次に、この第1の変形例において、アプリケーションをICチップ2と携帯端末3に設定する場合のアプリケーション設定装置の動作を図9を参照して説明する。この変形例におけるアプリケーションの設定処理は、図6を参照して説明したアプリケーションの設定処理とほぼ同様の処理内容であるため、相違点についてのみ説明する。
【0046】
ステップS15’において、アプリケーション提供サーバ1は、携帯端末用アプリケーションに対応する場所データを、携帯端末用アプリケーションとICチップ用アプリケーションのデータとともに送信する。例えば、場所データを含むICチップコマンドデータを初めに送信し、その後、アプリケーションの分割データを含むICチップコマンドデータを送信してもよい。
そして、この第1の変形例におけるアプリケーション設定処理は、ステップS17とステップS18の間に、ICチップ2が携帯端末用アプリケーションのカスタマイズを行うか否かを判別するステップS17Aと、ステップS17Aでカスタマイズを行うと判別した場合に、ICチップ2が、メモリ22に記憶されているカスタマイズ情報と、受信した場所情報と、に基づいて、受信した携帯端末用アプリケーションのカスタマイズを行うステップ17Bと、を備える。
【0047】
ステップS17Aにおけるカスタマイズを行うか否かの判断基準としては、例えば、ICチップ2のメモリ22にカスタマイズ情報が設定されている場合であって、カスタマイズ情報が示すカスタマイズ項目について、受信した場所情報が示す変更場所が、受信した分割データに存在するか否かを判別し、存在する場合に、カスタマイズを行うと判別してもよい。なお、ステップS17Aにおいて、カスタマイズを行わないと判別した場合には、そのままステップS18を実行する。また、ステップS17Bにおけるカスタマイズ処理では、例えば、カスタマイズ情報に「フォントサイズ」の値として「10」が設定され、場所情報に「フォントサイズ」に対応する箇所が「8バイト目から2バイト」と設定されている場合、ICチップ2は、受信した分割データに、アプリケーションコードの8バイト目から2バイトの部分を含むかを判別し、含む場合には、受信した分割データについて、アプリケーションコードの8バイト目から2バイトのデータを「10」を示すコードで更新する。ステップS17Bでカスタマイズを行った後は、ICチップ2は、カスタマイズされたアプリケーションについてハッシュ値を算出してメモリ22に記憶し(ステップS18)、カスタマイズされたアプリケーションのデータを携帯端末3に送信して、携帯端末3に記憶させる(ステップS19)。尚、カスタマイズ情報としては別途設定されたICチップ2内のライセンスや利用権、利用回数などの利用に関するインタフェース情報でも良い。
【0048】
なお、サービス利用時におけるシステム動作は、上述した本実施形態における処理動作(図7参照)と同様である。
【0049】
これにより、ユーザがカスタマイズした携帯端末用アプリケーションについても、携帯端末に安全に設定することが可能となり、また、改竄についても容易に検知することができる。
【0050】
(第2の変形例)
また、上述した実施形態では、アプリケーション提供サーバ1が、アプリケーションをICチップ2のバッファサイズに基づいて分割して送信していたが、例えば、ICチップ2のバッファサイズに基づくアプリケーションの分割処理をアプリケーション提供サーバ1ではなく携帯端末3が行うようにしてもよい。
この第2の変形例におけるアプリケーション提供サーバ1の制御部11は、携帯端末3からのアプリケーション要求の受信に応答して、ダウンロード対象のICチップ用アプリケーションと携帯端末用アプリケーションのサイズ、アプリケーションID等を携帯端末3に送信した後、ICチップ用アプリケーションと携帯端末用アプリケーションのデータを送信する。この変形例では、アプリケーション提供サーバ1は、ICチップ2のバッファサイズに基づくアプリケーションの分割は行わない。
【0051】
ICチップ2のCPU21は、携帯端末3からPINを受信すると、受信したPINを、メモリ22に予め記憶されているPINと照合し、照合結果を携帯端末3に送信する。このとき、照合結果がOK(PINが一致する)の場合には、メモリ22に記憶されているICチップ2のバッファサイズ値を照合結果とともに携帯端末3に送信する。また、CPU21は、全ての分割データを受信すると、メモリ22に記憶されているICチップ用の分割データを結合する。
【0052】
携帯端末3のCPU31は、ICチップ2のバッファサイズ値をメモリ32に設定するための処理を行う。具体的には、CPU31は、その携帯端末3にICチップ2が装着されたとき等のタイミングで、ユーザからPIN(暗号番号)の入力を受け付け、入力されたPINをICチップ2に送信し、ICチップ2に格納されているPINとの照合結果を受信する。受信した照合結果がOKを示す場合には、照合結果とともにICチップ2から送信されてきたICチップ2のバッファサイズのデータをメモリ32に記憶する。また、受信した照合結果がエラーを示す場合には、ICチップ2のバッファサイズを設定するための処理を終了する。なお、携帯端末3からICチップ2が取り外された場合には、メモリ32に記憶されたバッファサイズのデータをクリアする。
また、CPU31は、携帯端末用アプリケーションとICチップ用アプリケーションのサイズ、アプリケーションID等をアプリケーション提供サーバ1から受信してメモリ32に記憶し、メモリ32の空き容量等をチェックした後、ICチップ用アプリケーションと携帯端末用アプリケーションのデータをアプリケーション提供サーバ1からダウンロードする。そして、CPU31は、ダウンロードしたアプリケーションのデータについて、ICチップ2のバッファサイズに基づいて分割し、分割データをICチップ2に送信する。また、CPU31は、ICチップ2から、携帯端末用アプリケーションの分割データを受信すると、メモリ32に記憶し、全ての分割データが揃ったことを確認すると、それらを結合する。
【0053】
本実施形態の第2の変形例において、アプリケーションをICチップと携帯端末に設定する場合のアプリケーション設定装置の動作を図10を参照して説明する。
まず、携帯端末3のCPU31が、サービス設定要求等の入力を受け付け、ICチップ2に対して、既に登録されているアプリケーションのアプリケーションIDのリスト、メモリの空き容量等を要求する(ステップS61)。この要求に応答して、ICチップ2のCPU21は、既に登録されているアプリケーションのアプリケーションIDのリストと、空き容量等のデータを携帯端末3に送信する(ステップS62)。
携帯端末3のCPU31は、ICチップ2からのデータを受信してメモリ32に記憶すると、サービス名等を含む設定要求をアプリケーション提供サーバ1に送信する(ステップS63)。
アプリケーション提供サーバ1の制御部11は、設定要求に対応するアプリケーションID、ICチップ用アプリケーションと携帯端末用アプリケーションのサイズ等のデータを携帯端末3に送信する(ステップS64)。
【0054】
携帯端末3のCPU31は、受信したアプリケーションのサイズ値に基づいて、携帯端末3とICチップ2のメモリの空き容量をチェックし、また、受信したアプリケーションIDについて、登録済みのアプリケーションのアプリケーションIDのリストを参照し、アプリケーションが重複するか否かのチェック等を行う(ステップS65)。そして、空き容量が不足する場合やアプリケーションの重複が生じる場合には(ステップS65:YES)、CPU31は、エラー表示を行って、アプリケーション提供サーバ1にエラー通知を送信する等の所定のエラー処理を行う(ステップS66)。また、空き容量が不足せず、かつ、アプリケーションの重複も生じない場合には(ステップS65:NO)、OK信号をアプリケーション提供サーバ1に送信し、これに応じて、アプリケーション提供サーバ1の制御部11は、ICチップ用アプリケーションと携帯端末用アプリケーションを携帯端末3に送信する(ステップS67)。
携帯端末3のCPU31は、受信したアプリケーションを、メモリ32に記憶されているICチップ2のバッファサイズに基づいて分割して、ICチップコマンドデータ(図5参照)を生成してICチップ2に順次送信する(ステップS68)。
【0055】
ICチップ2のCPU21は、受信したICチップコマンドデータについて、フォーマットのチェック等を行った後、ICチップ用アプリケーションと携帯端末用アプリケーションの分割データを分離し、ICチップ用アプリケーションの分割データをメモリ22に記憶する(ステップS69)。そして、例えば、携帯端末用アプリケーションの分割データについては、必要なカスタマイズ処理等を行い、ハッシュ値を生成して記憶(更新)する(ステップS70)。具体的には、場所情報を受信している場合には、場所情報の署名を検証してその正当性を確認した後、受信した分割データについてカスタマイズを行うか否かを判別し、行う必要がある場合にはカスタマイズ処理を行い、カスタマイズされた分割データについてハッシュ値を算出する。また、分割データについてカスタマイズが不要と判別した場合や場所情報を受信していない場合等にはカスタマイズを行わず、そのままハッシュ値を算出する。次に、CPU21は、携帯端末用アプリケーションの分割データを携帯端末3に送信する(ステップS71)。携帯端末3のCPU31は、受信した携帯端末用アプリケーションの分割データをメモリ32に記憶する(ステップS72)。
【0056】
そして、携帯端末3が全ての分割データをICチップ2に送信するまで、ステップS68〜S72を繰り返す。そして、携帯端末3のCPU31は、全ての分割データを送信し、携帯端末用アプリケーションの分割データが全て揃ったことを確認すると(ステップS73:YES)、それらの分割データを結合して、携帯端末用アプリケーションを形成し、メモリ32に記憶・設定し、ダウンロード結果をアプリケーション提供サーバ1に送信する(ステップS74)。また、ICチップ2のCPU21は、全ての分割データが揃ったことを確認した場合、それらの分割データを結合してICチップ用アプリケーションを形成し、メモリ22に記憶・設定する。なお、携帯端末3は、分割データが全て揃わなかった場合等には(ステップS73:NO)、メモリ32に格納されている分割データを削除し、サーバにエラーを通知する等の所定のエラー処理を行う(ステップS75)。
【0057】
(第3の変形例)
また、携帯端末用アプリケーションを、携帯端末のローカルI/Fを介して他の携帯端末に対して設定するようにしてもよい。
この第3の変形例における携帯端末3は、アプリケーション提供サーバ1に接続可能な携帯端末Aと、接続不可能な携帯端末Bと、を含む。携帯端末Bの通信部35は、例えば、赤外線通信等のローカルI/Fのみを有し、ネットワーク10と接続するためのI/Fを有していない。
【0058】
次に、携帯端末Bに携帯端末Aを介してアプリケーションを設定する場合の処理について図11を参照して説明する。
携帯端末Bは、携帯端末Aに接続要求を送信する(ステップS41)。
携帯端末Aは、携帯端末Bから接続要求を受信すると(ステップS42)、PIN入力を受け付けて、携帯端末Aに装着されているICチップ2(以下、ICチップA)に渡し、ICチップAは、PIN照合によりユーザの本人確認を行う(ステップS43)。ICチップAは、照合エラーの場合、携帯端末Aにエラーを通知し、照合OKの場合、乱数を生成し、携帯端末Aを介して携帯端末Bに装着されているICチップBに対して送信する(ステップS44)。
携帯端末Bは、携帯端末Aから乱数を受信すると、それをICチップBに渡すとともに、PIN入力を受け付けて、携帯端末Bに渡す。ICチップBは、PIN照合によりユーザの本人確認を行う(ステップS45)。ICチップBは、照合エラーの場合、エラーを携帯端末Bに通知し、照合OKの場合、ICチップAから受信した乱数にICチップBの秘密鍵で署名を施して、ICチップBの公開鍵とともに、携帯端末Bを介してICチップAに送信する(ステップS46)。
【0059】
ICチップAは、ICチップBから受信した署名を公開鍵で復号化し、先に送信した乱数が含まれていることを確認すると、認証OKを示すデータを携帯端末Bに通知する(ステップS47)。
携帯端末Bは、ICチップBから読み出したICチップIDとバッファサイズと、設定要求対象のサービスを指定するデータと、を携帯端末Aに送信する(ステップS48)。
携帯端末Aは、アプリケーション提供サーバ1に、ICチップBのIDとバッファサイズ、サービス名(アプリケーション名)等を指定したアプリケーション要求を送信する(ステップS49)。
【0060】
アプリケーション提供サーバ1は、アプリケーション要求に対応するICチップ用アプリケーションと携帯端末用アプリケーションを読み出し、上述した本実施形態と同様にしてICチップコマンドデータ(図5参照)を生成して、携帯端末Aに順次送信する(ステップS50)。携帯端末Aは、アプリケーション提供サーバ1から受信したICチップコマンドデータを携帯端末BのICチップBに順次送信する(ステップS51)。携帯端末BのICチップBは、受信データについて、上述した本実施形態と同様にして、ICチップ用アプリケーションと携帯端末用アプリケーションの分割データに分離し、ICチップ用の分割データについてはメモリ22に格納し、携帯端末用の分割データについてはハッシュ値を算出して記憶した後、携帯端末Bに送信する(ステップS52)。携帯端末Bは、ICチップBから受信した携帯端末用の分割データを記憶する(ステップS53)。
【0061】
そして、アプリケーション提供サーバ1からICチップ2に全ての分割データ送信されるまで、上述したステップS50〜S53を繰り返す。そして、全ての分割データが送信されると、ICチップBは、メモリ22に格納していた全ての分割データを結合して、ICチップ用アプリケーションを形成し、記憶・設定する。また、携帯端末Bは、メモリ32に格納していた全ての分割データを結合して、携帯端末用アプリケーションを形成し、記憶・設定する。そして、設定結果をアプリケーション提供サーバ1に送信する(ステップS54)。
【0062】
なお、第3の変形例において、携帯端末Aが、ICチップBのバッファサイズに基づいて、アプリケーションのデータを分割し、ICチップBに順次供給してもよい。
また、ICチップ用アプリケーションと携帯端末用アプリケーションとが同じ言語体系で同じロジックの場合には、一つのアプリケーションのデータを分割して送信してもよく、この分割データを、ICチップ2と携帯端末3のそれぞれに設定するようにしてもよい。
また、上述した説明では、ICチップに対して、アプリケーションやアプリケーション及びデータを設定するようにしているが、本発明は、ICチップに対してデータのみを設定する場合にも適用可能である。
また、上述した説明では、アプリケーションの設定について記述しているが、アプリケーションの更新であっても良く、その場合はICチップに記憶しているハッシュ値を更新する。
また、携帯端末のアプリケーションを削除する場合は、併せてICチップに設定したハッシュ値などを無効化しても良い。
【0063】
なお、この発明のシステムは、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、上述の動作を実行するためのプログラムをコンピュータ読み取り可能な記録媒体(FD、CD−ROM、DVD等)に格納して配布し、該プログラムをコンピュータにインストールすることにより、上述の処理を実行するアプリケーション提供サーバ1、ICチップ2、携帯端末3等を構成してもよい。また、インターネット等のネットワーク10上のサーバ装置が有するディスク装置に格納しておき、例えばコンピュータにダウンロード等するようにしてもよい。
また、上述の機能を、OSが分担又はOSとアプリケーションの共同により実現する場合等には、OS以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロード等してもよい。
【図面の簡単な説明】
【0064】
【図1】本発明の実施形態に係るアプリケーションダウンロードシステムの構成例を示す図である。
【図2】アプリケーション提供サーバの構成例を示す図である。
【図3】ICチップと携帯端末の構成例を示す図である。
【図4】アプリケーション提供サーバとICチップと携帯端末の機能ブロック図である。
【図5】ICチップコマンドデータのフォーマットの一例を示す図である。
【図6】アプリケーションをICチップと携帯端末に設定する場合におけるアプリケーション設定装置の動作を説明するための図である。
【図7】所定のサービスを利用するために、携帯端末とICチップに設定されたアプリケーションを実行する場合の各装置の動作を説明するための図である。
【図8】場所情報の一例を示す図である。
【図9】第1の変形例において、アプリケーションをICチップと携帯端末に設定する場合のアプリケーション設定装置の動作を説明するための図である。
【図10】第2の変形例において、アプリケーションをICチップと携帯端末に設定する場合のアプリケーション設定装置の動作を説明するための図である。
【図11】第3の変形例において、アプリケーションをICチップと携帯端末に設定する場合のアプリケーション設定装置の動作を説明するための図である。
【符号の説明】
【0065】
1 アプリケーション提供サーバ
2 ICチップ
3 携帯端末
4 アプリケーション設定装置
10 ネットワーク
11 制御部
12 記憶部
11 通信制御部
21、31 CPU
22、32 メモリ
23、36 入出力I/F
33 入力部
34 表示部
35 通信部
111 アプリケーション分割・結合部
112 アプリケーション供給部
211 認証部
212 データ分離部
213 検証部
311 ダウンロード要求部
312 アプリケーション設定部
313 アプリケーション実行部
【特許請求の範囲】
【請求項1】
ICチップと、当該ICチップが装着される携帯端末と、を備えるアプリケーション設定装置であって、
前記ICチップは、
携帯端末用のアプリケーションと、ICチップ用のアプリケーションを、前記携帯端末を介して受信する受信手段と、
前記受信手段により受信したICチップ用のアプリケーションをメモリに記憶するアプリケーション記憶手段と、
前記受信手段により受信した携帯端末用のアプリケーションについてハッシュ値を求め、当該ハッシュ値をアプリケーションの識別コードと関連付けてメモリに記憶するハッシュ値記憶手段と、
前記受信手段により受信した携帯端末用のアプリケーションを前記携帯端末に送信する送信手段と、
ICチップ用のアプリケーションの利用要求と、アプリケーションの識別コード及びハッシュ値と、の受信に応答して、受信した識別コードに関連付けられているハッシュ値をメモリから読み出し、読み出したハッシュ値と、受信したハッシュ値と、を照合する手段と、
前記照合したハッシュ値が一致する場合、前記利用要求が示すICチップ用のアプリケーションを利用可能とする手段と、を備え、
前記携帯端末は、
前記ICチップの前記送信手段により送信された携帯端末用のアプリケーションを受信して記憶するアプリケーション受信手段と、
実行対象の携帯端末用のアプリケーションのハッシュ値を求め、ICチップ用のアプリケーションの利用要求と、アプリケーションの識別コード及び当該ハッシュ値と、を前記ICチップに送信する手段と、を備える、
ことを特徴とするアプリケーション設定装置。
【請求項2】
前記携帯端末は、携帯端末用のアプリケーションのカスタマイズに関する情報の入力を受け付け、入力された情報に基づくカスタマイズ情報を前記ICチップに送信する手段を備え、
前記ICチップは、前記カスタマイズ情報を受信してメモリに記憶する手段を備え、
前記ICチップの前記受信手段は、前記携帯端末用のアプリケーションにおけるカスタマイズ項目に対応するコードの変更場所を示す場所情報をさらに受信し、
前記ICチップの前記アプリケーション記憶手段は、前記受信した場所情報をメモリにさらに記憶し、
前記ICチップの前記ハッシュ値記憶手段は、メモリに記憶されている前記カスタマイズ情報と前記場所情報に基づいて、前記受信した携帯端末用のアプリケーションをカスタマイズし、カスタマイズされた当該携帯端末用のアプリケーションについてハッシュ値を求め、当該ハッシュ値をアプリケーションの識別コードと関連付けてメモリに記憶し、
前記送信手段は、カスタマイズされた前記携帯端末用のアプリケーションを前記携帯端末に送信する、
ことを特徴とする請求項1に記載アプリケーション設定装置。
【請求項3】
前記ICチップの前記受信手段は、前記携帯端末用のアプリケーションと、前記ICチップ用のアプリケーションを、当該ICチップのバッファサイズに基づいて分割されたデータで受信する、
ことを特徴とする請求項1又は2に記載のアプリケーション設定装置。
【請求項4】
前記携帯端末は、前記携帯端末用のアプリケーションと、前記ICチップ用のアプリケーションを、前記携帯端末用のアプリケーションと前記ICチップ用のアプリケーションを管理するコンピュータから受信して、当該ICチップのバッファサイズに基づいて分割して前記ICチップに送信する手段をさらに備える、
ことを特徴とする請求項3に記載のアプリケーション設定装置。
【請求項5】
ICチップと、当該ICチップが装着される携帯端末と、を備えるアプリケーション設定装置用の前記ICチップであって、
携帯端末用のアプリケーションと、ICチップ用のアプリケーションを、前記携帯端末を介して受信する受信手段と、
前記受信手段により受信したICチップ用のアプリケーションをメモリに記憶する手段と、
前記受信手段により受信した携帯端末用のアプリケーションについてハッシュ値を求め、当該ハッシュ値をアプリケーションの識別コードと関連付けてメモリに記憶する手段と、
前記受信手段により受信した携帯端末用のアプリケーションを前記携帯端末に送信する手段と、
ICチップ用のアプリケーションの利用要求と、アプリケーションの識別コード及びハッシュ値と、の受信に応答して、受信した識別コードに関連付けられているハッシュ値をメモリから読み出し、読み出したハッシュ値と、受信したハッシュ値と、を照合する手段と、
前記照合したハッシュ値が一致する場合、前記利用要求が示すICチップ用のアプリケーションを利用可能とする手段と、
を備えることを特徴とするICチップ。
【請求項6】
コンピュータを、
携帯端末用のアプリケーションと、ICチップ用のアプリケーションを、前記携帯端末を介して受信する受信手段、
前記受信手段により受信したICチップ用のアプリケーションをメモリに記憶する手段、
前記受信手段により受信した携帯端末用のアプリケーションについてハッシュ値を求め、当該ハッシュ値をアプリケーションの識別コードと関連付けてメモリに記憶する手段、
前記受信手段により受信した携帯端末用のアプリケーションを前記携帯端末に送信する手段、
ICチップ用のアプリケーションの利用要求と、アプリケーションの識別コード及びハッシュ値と、の受信に応答して、受信した識別コードに関連付けられているハッシュ値をメモリから読み出し、読み出したハッシュ値と、受信したハッシュ値と、を照合する手段、
前記照合したハッシュ値が一致する場合、前記利用要求が示すICチップ用のアプリケーションを利用可能とする手段、
として機能させるためのプログラム。
【請求項1】
ICチップと、当該ICチップが装着される携帯端末と、を備えるアプリケーション設定装置であって、
前記ICチップは、
携帯端末用のアプリケーションと、ICチップ用のアプリケーションを、前記携帯端末を介して受信する受信手段と、
前記受信手段により受信したICチップ用のアプリケーションをメモリに記憶するアプリケーション記憶手段と、
前記受信手段により受信した携帯端末用のアプリケーションについてハッシュ値を求め、当該ハッシュ値をアプリケーションの識別コードと関連付けてメモリに記憶するハッシュ値記憶手段と、
前記受信手段により受信した携帯端末用のアプリケーションを前記携帯端末に送信する送信手段と、
ICチップ用のアプリケーションの利用要求と、アプリケーションの識別コード及びハッシュ値と、の受信に応答して、受信した識別コードに関連付けられているハッシュ値をメモリから読み出し、読み出したハッシュ値と、受信したハッシュ値と、を照合する手段と、
前記照合したハッシュ値が一致する場合、前記利用要求が示すICチップ用のアプリケーションを利用可能とする手段と、を備え、
前記携帯端末は、
前記ICチップの前記送信手段により送信された携帯端末用のアプリケーションを受信して記憶するアプリケーション受信手段と、
実行対象の携帯端末用のアプリケーションのハッシュ値を求め、ICチップ用のアプリケーションの利用要求と、アプリケーションの識別コード及び当該ハッシュ値と、を前記ICチップに送信する手段と、を備える、
ことを特徴とするアプリケーション設定装置。
【請求項2】
前記携帯端末は、携帯端末用のアプリケーションのカスタマイズに関する情報の入力を受け付け、入力された情報に基づくカスタマイズ情報を前記ICチップに送信する手段を備え、
前記ICチップは、前記カスタマイズ情報を受信してメモリに記憶する手段を備え、
前記ICチップの前記受信手段は、前記携帯端末用のアプリケーションにおけるカスタマイズ項目に対応するコードの変更場所を示す場所情報をさらに受信し、
前記ICチップの前記アプリケーション記憶手段は、前記受信した場所情報をメモリにさらに記憶し、
前記ICチップの前記ハッシュ値記憶手段は、メモリに記憶されている前記カスタマイズ情報と前記場所情報に基づいて、前記受信した携帯端末用のアプリケーションをカスタマイズし、カスタマイズされた当該携帯端末用のアプリケーションについてハッシュ値を求め、当該ハッシュ値をアプリケーションの識別コードと関連付けてメモリに記憶し、
前記送信手段は、カスタマイズされた前記携帯端末用のアプリケーションを前記携帯端末に送信する、
ことを特徴とする請求項1に記載アプリケーション設定装置。
【請求項3】
前記ICチップの前記受信手段は、前記携帯端末用のアプリケーションと、前記ICチップ用のアプリケーションを、当該ICチップのバッファサイズに基づいて分割されたデータで受信する、
ことを特徴とする請求項1又は2に記載のアプリケーション設定装置。
【請求項4】
前記携帯端末は、前記携帯端末用のアプリケーションと、前記ICチップ用のアプリケーションを、前記携帯端末用のアプリケーションと前記ICチップ用のアプリケーションを管理するコンピュータから受信して、当該ICチップのバッファサイズに基づいて分割して前記ICチップに送信する手段をさらに備える、
ことを特徴とする請求項3に記載のアプリケーション設定装置。
【請求項5】
ICチップと、当該ICチップが装着される携帯端末と、を備えるアプリケーション設定装置用の前記ICチップであって、
携帯端末用のアプリケーションと、ICチップ用のアプリケーションを、前記携帯端末を介して受信する受信手段と、
前記受信手段により受信したICチップ用のアプリケーションをメモリに記憶する手段と、
前記受信手段により受信した携帯端末用のアプリケーションについてハッシュ値を求め、当該ハッシュ値をアプリケーションの識別コードと関連付けてメモリに記憶する手段と、
前記受信手段により受信した携帯端末用のアプリケーションを前記携帯端末に送信する手段と、
ICチップ用のアプリケーションの利用要求と、アプリケーションの識別コード及びハッシュ値と、の受信に応答して、受信した識別コードに関連付けられているハッシュ値をメモリから読み出し、読み出したハッシュ値と、受信したハッシュ値と、を照合する手段と、
前記照合したハッシュ値が一致する場合、前記利用要求が示すICチップ用のアプリケーションを利用可能とする手段と、
を備えることを特徴とするICチップ。
【請求項6】
コンピュータを、
携帯端末用のアプリケーションと、ICチップ用のアプリケーションを、前記携帯端末を介して受信する受信手段、
前記受信手段により受信したICチップ用のアプリケーションをメモリに記憶する手段、
前記受信手段により受信した携帯端末用のアプリケーションについてハッシュ値を求め、当該ハッシュ値をアプリケーションの識別コードと関連付けてメモリに記憶する手段、
前記受信手段により受信した携帯端末用のアプリケーションを前記携帯端末に送信する手段、
ICチップ用のアプリケーションの利用要求と、アプリケーションの識別コード及びハッシュ値と、の受信に応答して、受信した識別コードに関連付けられているハッシュ値をメモリから読み出し、読み出したハッシュ値と、受信したハッシュ値と、を照合する手段、
前記照合したハッシュ値が一致する場合、前記利用要求が示すICチップ用のアプリケーションを利用可能とする手段、
として機能させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2006−154997(P2006−154997A)
【公開日】平成18年6月15日(2006.6.15)
【国際特許分類】
【出願番号】特願2004−341679(P2004−341679)
【出願日】平成16年11月26日(2004.11.26)
【出願人】(000102728)株式会社エヌ・ティ・ティ・データ (438)
【Fターム(参考)】
【公開日】平成18年6月15日(2006.6.15)
【国際特許分類】
【出願日】平成16年11月26日(2004.11.26)
【出願人】(000102728)株式会社エヌ・ティ・ティ・データ (438)
【Fターム(参考)】
[ Back to top ]