説明

端末、情報記憶媒体、サービス提供システム及びデータ更新方法

【課題】ICカードのユーザが意識的にプロトコルの更新手続きを行わずに、ICカードに設定されたプロトコルの更新を行うことのできる技術を提供すること。
【解決手段】端末130及びICカード150の相互認証を行う過程で使用するデータに、ICカード150で記憶されている分割されたプロトコルコードを特定する情報を付加してICカード150から端末130に送信し、端末130及びICカード150の相互認証を行う過程で使用するデータに分割されたプロトコルコードを付加して、端末130からICカード150に送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報記憶媒体で使用する制御データを更新する技術に関する。
【背景技術】
【0002】
情報記憶媒体、例えば、ICカードを用いて交通乗車券、クレジット決済、銀行キャッシュカード等のサービスを提供する際には、不正な端末や不正なICカードによる不正なサービスの享受を防ぐために、サービスを提供する端末とICカードとの間で機器認証を行う。
【0003】
端末とICカード間の機器認証は、ICカード発行時に機器認証プロトコル(以降、プロトコルと記す)をICカード内に設定して、ICカード発行後は発行時に設定されたプロトコルに従って行われる。
【0004】
そして、プロトコルに何らかの不具合があった場合や、プロトコルで使用している暗号アルゴリズムや鍵の脆弱性が発見された場合や、ICカードで利用するサービスの要件が変化した場合等には、ICカードを回収し、ICカード内のプロトコルコードを書き換えることにより、プロトコルの更新を実現していた。このような回収作業は、サービス提供者およびユーザに対して多大な時間と手間を必要とするため、ICカードに設定されたプロトコルの更新は容易ではなかった。
【0005】
そこで、ICカード内のアプリケーションの一部を部分的に書き換え可能な技術が知られている(例えば、特許文献1参照)。特許文献1に記載された技術では、従来のようにICカード内のコードやデータを全部書き変えずにプロトコルの更新が実現できるため、更新に必要な時間を短縮し、また、プロトコルで使用する鍵データ等の引継ぎが容易になる。
【0006】
【特許文献1】特開2006−293706号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
特許文献1に記載の技術は、ICカードに設定されたプロトコルの更新作業に伴う処理時間をアプリケーションの一部書き換えによって短縮することは可能であったが、ICカードに設定されたプロトコルの更新は、ICカードのユーザが意識的に実施しなければならず、不便であった。
【0008】
そこで、本発明は、ICカードのユーザが意識的にプロトコルの更新手続きを行わずに、ICカードに設定されたプロトコルの更新を行うことのできる技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
以上の課題を解決するため、本発明は、端末と情報記憶媒体との間の認証処理を行う過程において、情報記憶媒体で使用する制御データ(プロトコルコード)を端末から情報記憶媒体に送信する。
【0010】
例えば、本発明は、記憶部及び制御部を備える情報記憶媒体に対して情報を送受信する端末であって、前記情報記憶媒体との間の認証処理に必要なデータに、前記情報記憶媒体で使用する制御データの更新データを付加して、前記情報記憶媒体に送信する処理を行う制御部を備えること、を特徴とする。
【発明の効果】
【0011】
以上のように、本発明によれば、ICカードのユーザが意識的にプロトコルの更新手続きを行わずに、ICカードに設定されたプロトコルの更新を行うことのできる技術を提供することができる。
【発明を実施するための最良の形態】
【0012】
図1は、本発明の一実施形態であるサービス提供システム100の概略図である。
【0013】
図示するように、サービス提供システム100は、サービス提供者装置110A、110B(以下、各々の装置を区別しない場合には、サービス提供者装置110とする)と、端末130A、130B(以下、各々の端末を区別しない場合には、端末130とする)と、ICカード150と、を備え、サービス提供者装置110及び端末130は、ネットワーク170を介して、相互に情報を送受信することができるようにされている。
【0014】
図2は、サービス提供者装置110の概略図である。
【0015】
図示するように、サービス提供者装置110は、記憶部111と、制御部117と、入力部123と、出力部124と、通信部125と、を備える。
【0016】
記憶部111は、環境パラメータ情報記憶領域112と、プロトコルコード記憶領域113と、更新バージョン管理情報記憶領域114と、鍵情報記憶領域115と、を備える。
【0017】
環境パラメータ情報記憶領域112には、端末130と、プロトコルコードのバージョンと、の組み合わせ毎に、更新するプロトコルコードのうち、端末130からICカード150に一度に送信することのできるデータサイズを特定する情報が格納される。
【0018】
例えば、このデータサイズは、端末130とICカード150との間の通信容量から、更新前のバージョンのプロトコルにおけるプロトコルコマンドのデータ量を差し引くことにより特定される。
【0019】
なお、このデータサイズについては、プロトコルが更新される毎に、サービス提供者装置110のオペレータの指示に応じて特定し、本記憶領域114に格納される。
【0020】
プロトコルコード記憶領域113には、各々のプロトコルを実行するために、ICカード150に設定するプロトコルコードが格納される。
【0021】
なお、プロトコルコード記憶領域113には、各々のプロトコルにおける各々のバージョン毎に、プロトコルコードが格納される。
【0022】
更新バージョン管理情報記憶領域114には、各々のプロトコルにおける各々のプロトコルコードの最新のバージョンを特定する情報が格納される。
【0023】
鍵情報記憶領域115には、端末130との間で送受信する情報を暗号化するために使用される鍵を特定する情報が格納される。
【0024】
制御部117は、サービス提供部118と、プロトコル更新処理部119と、コマンド生成部120と、送受信制御部121と、を備える。
【0025】
サービス提供部118は、ICカード150に対しサービスを提供する処理を制御する。
【0026】
プロトコル更新処理部119は、端末130との間で、プロトコルコードの更新を行う処理を制御する。
【0027】
コマンド生成部120は、端末130を介して、ICカード150に対して送信するコマンドを生成する。
【0028】
送受信制御部121は、後述する通信部125を介して情報を送受信する処理を制御する。
【0029】
入力部123は、情報の入力を受け付ける。
【0030】
出力部124は、情報を出力する。
【0031】
通信部125は、ネットワーク170を介して情報を送受信するためのインターフェースである。
【0032】
以上に記載したサービス提供者装置110は、例えば、図3(コンピュータ180の概略図)に示すような、CPU(Central Processing Unit)181と、メモリ182と、HDD(Hard Disk Drive)等の外部記憶装置183と、CD−ROM(Compact Disk Read Only Memory)やDVD−ROM(Digital Versatile Disk Read Only Memory)等の可搬性を有する記憶媒体184から情報を読み出す読取装置185と、キーボードやマウスなどの入力装置186と、ディスプレイなどの出力装置187と、通信ネットワークに接続するためのNIC(Network Interface Card)等の通信装置188と、を備えた一般的なコンピュータ180で実現できる。
【0033】
例えば、記憶部111は、CPU181がメモリ182又は外部記憶装置183を利用することにより実現可能であり、制御部117は、外部記憶装置183に記憶されている所定のプログラムをメモリ182にロードしてCPU181で実行することで実現可能であり、入力部123は、CPU181が入力装置186を利用することで実現可能であり、出力部124は、CPU181が出力装置187を利用することで実現可能であり、通信部125は、CPU181が通信装置188を利用することで実現可能である。
【0034】
この所定のプログラムは、読取装置185を介して記憶媒体184から、あるいは、通信装置188を介してネットワークから、外部記憶装置183にダウンロードされ、それから、メモリ182上にロードされてCPU181により実行されるようにしてもよい。また、読取装置185を介して記憶媒体184から、あるいは、通信装置188を介してネットワークから、メモリ182上に直接ロードされ、CPU181により実行されるようにしてもよい。
【0035】
図4は、端末130の概略図である。
【0036】
図示するように、端末130は、記憶部131と、制御部137と、入力部145と、出力部146と、第一の通信部147と、第二の通信部148と、を備える。
【0037】
記憶部131は、データ記憶領域132と、プロトコルコード記憶領域133と、更新バージョン管理情報記憶領域134と、鍵情報記憶領域135と、を備える。
【0038】
データ記憶領域132には、サービス提供者装置110から受信した環境パラメータが記憶される。
【0039】
プロトコルコード記憶領域133には、サービス提供者装置110から受信した、各々のプロトコルにおける各々のバージョン毎のプロトコルコードが格納される。
【0040】
更新バージョン管理情報記憶領域134には、ICカード150に搭載すべきプロトコルのバージョンを特定する情報が格納される。
【0041】
鍵情報記憶領域135には、ICカード150との間で送受信する情報を暗号化するために使用される鍵を特定する情報が格納される。
【0042】
制御部137は、プロトコル更新部138と、認証処理部139と、コマンド処理部140と、コマンド生成部141と、ICカードアクセス部142と、送受信制御部143と、を備える。
【0043】
プロトコル更新部138は、サービス提供者装置110から更新するプロトコルコードを取得する処理を制御する。
【0044】
認証処理部139は、ICカード150を認証する処理を制御する。
【0045】
コマンド処理部140は、ICカード150から受信したコマンドに対応する処理を制御する。
【0046】
コマンド生成部141は、ICカード150に送信するコマンドを生成する処理を制御する。
【0047】
ICカードアクセス部142は、後述する第二の通信部148を介した情報の送受信を制御する。
【0048】
送受信制御部143は、後述する第一の通信部147を介した情報の送受信を制御する。
【0049】
入力部145は、情報の入力を受け付ける。
【0050】
出力部146は、情報を出力する。
【0051】
第一の通信部147は、ネットワーク170を介して情報を送受信するためのインターフェースである。
【0052】
第二の通信部148は、ICカード150との間で情報を送受信するためのインターフェースである。
【0053】
以上に記載した端末130は、例えば、図5(コンピュータ190の概略図)に示すような、CPU191と、メモリ192と、HDD等の外部記憶装置193と、CD−ROMやDVD−ROM等の可搬性を有する記憶媒体194から情報を読み出す読取装置195と、キーボードやマウスなどの入力装置196と、ディスプレイなどの出力装置197と、通信ネットワークに接続するためのNIC等の通信装置198と、ICカード150に対して情報を読み書きすることのできるリーダライタ199と、を備えたコンピュータ190で実現できる。
【0054】
例えば、記憶部131は、CPU191がメモリ192又は外部記憶装置193を利用することにより実現可能であり、制御部137は、外部記憶装置193に記憶されている所定のプログラムをメモリ192にロードしてCPU191で実行することで実現可能であり、入力部145は、CPU191が入力装置196を利用することで実現可能であり、出力部146は、CPU191が出力装置197を利用することで実現可能であり、第一の通信部147は、CPU191が通信装置198を利用することで実現可能であり、第二の通信部148は、CPU191がリーダライタ199を利用することで実現可能である。
【0055】
この所定のプログラムは、読取装置195を介して記憶媒体194から、あるいは、通信装置198を介してネットワークから、外部記憶装置193にダウンロードされ、それから、メモリ192上にロードされてCPU191により実行されるようにしてもよい。また、読取装置195を介して記憶媒体194から、あるいは、通信装置198を介してネットワークから、メモリ192上に直接ロードされ、CPU191により実行されるようにしてもよい。
【0056】
図6は、ICカード150の概略図である。
【0057】
図示するように、ICカード150は、記憶部151と、制御部158と、通信部165と、を備える。
【0058】
記憶部151は、データ記憶領域152と、実行プロトコル情報記憶領153と、プロトコル情報記憶領域154と、プロトコル更新状況情報記憶領域155と、鍵情報記憶領域156と、を備える。
【0059】
データ記憶領域152には、後述するサービスアプリケーション部160でサービスを提供するのに必要な情報が格納される。
【0060】
実行プロトコル情報記憶領153には、ICカード150で実行されるプロトコルを特定する情報が格納される。
【0061】
プロトコル情報記憶領域154には、端末130から受信したプロトコルコードが格納される。
【0062】
プロトコル更新状況情報記憶領域155には、実行プロトコル情報記憶領域153に記憶されている実行中のプロトコルのバージョンを特定する情報と、プロトコル情報記憶領域154に記憶されるプロトコルコードの保管状況を特定する情報(ここでは、シーケンス情報)と、が格納される。
【0063】
鍵情報記憶領域156には、端末130との間で送受信する情報を暗号化するために使用される鍵を特定する情報が格納される。
【0064】
制御部158は、コマンド解析部159と、サービスアプリケーション部160と、プロトコル実行部161と、プロトコルコード格納部162と、送受信制御部163と、を備える。
【0065】
コマンド解析部159は、端末130より受信したコマンドを解析する処理を制御する。
【0066】
サービスアプリケーション部160は、コマンド解析部159で解析されたコマンドに対応して実行する処理を制御する。
【0067】
プロトコル実行部161は、端末130との間で実行プロトコル情報記憶領域153に記憶されているプロトコルコードに従った処理を制御する。
【0068】
プロトコルコード格納部162は、端末130より受信したプロトコルコードをプロトコル情報記憶領域154に格納するとともに、プロトコル更新状況情報記憶領域155にプロトコルコードの保管情報を特定する情報を格納する処理を制御する。
【0069】
送受信制御部163は、通信部165を介した情報の送受信処理を制御する。
【0070】
通信部165は、端末130との間で情報を送受信するためのインターフェースである。
【0071】
以上に記載したICカード150は、例えば、図7(コンピュータ200の概略図)に示すような、CPU201と、メモリ202と、EEPROM(Electrically Erasable and Programmable Read Only Memory)等の記憶装置203と、リーダライタとの間で情報を送受信することのできる通信装置204と、を備えたコンピュータ200で実現できる。
【0072】
例えば、記憶部151は、CPU201がメモリ202又は記憶装置203を利用することにより実現可能であり、制御部158は、記憶装置203に記憶されている所定のプログラムをメモリ202にロードしてCPU201で実行することで実現可能であり、通信部1656は、CPU201が通信装置204を利用することで実現可能である。
【0073】
なお、メモリ202及び記憶装置203については、セキュリティを考慮して、耐タンパ性を有するものを使用することが望ましい。
【0074】
図8は、サービス提供者装置110から端末130に更新するプロトコルコードを送信する処理を示すシーケンス図である。
【0075】
まず、サービス提供者装置110のプロトコル更新処理部119は、入力部123を介して、ICカード150と端末130との間の通信容量のうち、プロトコル実行中に余分に送信可能なデータ量がどの程度あるのかを特定する環境パラメータの入力を受け付ける(S10)。このようにして入力を受け付けた環境パラメータについては、プロトコル更新処理部119が、環境パラメータ情報記憶領域112に記憶する。
【0076】
次に、サービス提供者装置110のプロトコル更新処理部119は、入力部123を介して、更新するプロトコルコードと、当該プロトコルコードのバージョンを特定する情報の入力を受け付ける(S11)。そして、プロトコル更新処理部119は、このようにして入力を受け付けたプロトコルコードについては、プロトコルコード記憶領域113に記憶し、当該プロトコルコードのバージョンを特定するバージョン情報については、更新バージョン管理情報記憶領域114に記憶する。
【0077】
なお、プロトコルコードについては、暗号アルゴリズムの脆弱性情報、ICカード150の処理能力や通信能力、提供するサービスの要件(厳密な認証を要求するのか素早い認証を要求するのかなど)等の情報を基に生成される。
【0078】
次に、プロトコル更新処理部119は、ステップS10で入力を受け付けた環境パラメータを、通信部125を介して、端末130Aに送信する(S12)。
【0079】
また、プロトコル更新処理部119は、ステップS11で入力を受け付けたプロトコルコード及びバージョン情報を端末130Aに送信する(S13)。
【0080】
これらの情報を受信した端末30Aでは、プロトコル更新部138が、ステップS12で受信した環境パラメータをデータ記憶領域132に格納し(S14)、ステップS13で受信したプロトコルコードのコード本体をプロトコルコード記憶領域133に格納し(S15)、ステップS13で受信したバージョン情報を更新バージョン管理情報記憶領域134に格納する(S16)。
【0081】
そして、プロトコル更新部138は、送受信制御部143及び第一の通信部147を介して、サービス提供者装置110に対し、保管が完了した旨を示すレスポンスを送信する(S17)。
【0082】
次に、サービス提供者装置110のプロトコル更新処理部119は、ステップS10で入力を受け付けた環境パラメータを、通信部125を介して、端末130Bに送信する(S18)。
【0083】
また、プロトコル更新処理部119は、ステップS11で入力を受け付けたプロトコルコード及びバージョン情報を端末130Bに送信する(S19)。
【0084】
これらの情報を受信した端末30Bでは、プロトコル更新部138が、ステップS18で受信した環境パラメータをデータ記憶領域132に格納し(S20)、ステップS19で受信したプロトコルコードのコード本体をプロトコルコード記憶領域133に格納し(S21)、ステップS19で受信したバージョン情報を更新バージョン管理情報記憶領域134に格納する(S20)。
【0085】
そして、プロトコル更新部138は、送受信制御部143及び第一の通信部147を介して、サービス提供者装置110に対し、保管が完了した旨を示すレスポンスを送信する(S23)。
【0086】
そして、サービス提供者装置110と、端末130と、の間では、ステップS12〜ステップS17までで特定される処理を、更新が必要な全ての端末130に対して繰り返し行う。
【0087】
以上に示したシーケンスでは、複数の端末130A、130B、・・・にプロトコルコードを送信する例を示しているが、単一の端末130に対して環境パラメータ及びプロトコルコードを送信するようにしてもよい。
【0088】
また、サービス提供者装置110と端末130との間で特に認証処理、署名生成/検証処理、データ暗号/復号処理等の処理をしていないが、より安全にするために、鍵情報記憶領域115及び鍵情報記憶領域135に格納されている鍵を用いて、認証処理、署名生成/検証処理、データ暗号/復号処理等のうち、1つ以上の処理を行ってもよい。
【0089】
図9〜12は、端末130とICカード150との間でプロトコルコマンドを送受信する際に、プロトコルコードを更新する処理を示すシーケンス図である。
【0090】
まず、端末130は、ICカード150が読み取り可能な位置に置かれると、コマンド生成部141が、ICカード150に対する認証情報の送信指示である第一のプロトコルコマンドを生成する(S30)。
【0091】
ここで、第一のプロトコルコマンドには、端末130がICカード150を認証するために必要となる基礎データが含まれる。
【0092】
そして、端末130のICカードアクセス部142は、ステップS30で生成された第一のプロトコルコマンドを、第二の通信部148を介して、ICカード150に送信する(S31)。
【0093】
このような第一のプロトコルコマンドを受信したICカード150では、コマンド解析部159が第一のプロトコルコマンドを解析して、対応するサービスアプリケーション部160に処理を受け渡し、サービスアプリケーション部160は、プロトコル実行部161に第一のプロトコルコマンドを出力する(S32)。
【0094】
第一のプロトコルコマンドの入力を受けたプロトコル実行部161では、入力された第一のプロトコルコマンドに従って、通常のプロトコル処理(例えば、端末130においてICカード150を認証するために必要なデータ(ID等)の生成処理等)を行い、第一のプロトコルコマンドレスポンスデータを生成する(S33)。
【0095】
次に、プロトコル実行部161は、ICカード150において実行中のプロトコルのバージョンを特定する情報と、プロトコル情報記憶領域154に記憶されているプロトコルコードの保管状況を特定するシーケンス情報と、をプロトコル更新状況記憶領域155から取得して、プロトコルコード状況とする(S34)。
【0096】
ここで、シーケンス情報は、プロトコルコードのどの部分までが、プロトコル情報記憶領域154に記憶されているかを示す情報である。本実施形態においては、シーケンス情報として、プロトコルコードの何バイト目までがプロトコル情報記憶領域154に格納されているかを示す数値を用いているが、このような態様に限定されず、分割されたプロトコルコードに先頭から順に連続する数値を割り当てておき、割り当てられた数値から、既にプロトコル情報記憶領域154に格納されている分割コードに対応する数値を示すものでもよい。なお、プロトコルコードの格納が完了している場合には、プロトコルコードの格納が完了していることを示す識別情報によりシーケンス情報を構成する。
【0097】
そして、プロトコル実行部161は、例えば、図13(第一のプロトコルコマンドレスポンス171の概略図)に示すように、ステップS33で生成した第一のプロトコルコマンドレスポンスデータ171aに、ステップS34で取得したプロトコルコード状況171bを付加することで、第一のプロトコルコマンドレスポンス171を生成する(S35)。
【0098】
なお、図示するように、プロトコルコード状況171bには、プロトコルバージョン171cと、シーケンス情報171dと、を特定する情報が含まれる。
【0099】
そして、プロトコル実行部161は、ステップS35で生成した第一のプロトコルコマンドレスポンス171をサービスアプリケーション部160に出力し(S36)、サービスアプリケーション部160は、第一のプロトコルコマンドレスポンス171を送受信制御部163に送り、送受信制御部163は、通信部165を介して、第一のプロトコルコマンドレスポンス171を端末130に送信する(S37)。
【0100】
第一のプロトコルコマンドレスポンス171を受信した端末130では、認証処理部139が、第一のプロトコルコマンドレスポンス171に含まれている第一のプロトコルコマンドレスポンスデータ171aを用いて、ICカード150の認証を行う(S38)。
【0101】
ここで、認証処理部139は、ICカード150の認証に失敗した場合には、処理を中止するが、ここでは、認証が成功したものとして説明を行う。
【0102】
ICカード150の認証に成功すると、プロトコル更新部138は、ステップS37で受信した第一のプロトコルコマンドレスポンス171からプロトコルバージョン171cを取得する(S39)。
【0103】
次に、プロトコル更新部138は、取得したプロトコルバージョン171cと、更新バージョン管理情報記憶領域134に記憶されているプロトコルバージョンと、を確認する(S40)。その結果、プロトコル更新部138は、取得したプロトコルバージョン171cが、更新バージョン管理情報記憶領域134に記憶されているプロトコルバージョンと一致する場合には、ステップS46に進むが、ここでは、取得したプロトコルバージョン171cが、更新バージョン管理情報記憶領域134に記憶されているプロトコルバージョンよりも古いものとして説明する。
【0104】
そして、プロトコル更新部138は、プロトコルバージョン171cが、更新バージョン管理情報記憶領域134に記憶されているプロトコルバージョンよりも古い場合には、ステップS37で受信した第一のプロトコルコマンドレスポンス171からシーケンス情報171dを取得する(S41)。
【0105】
次に、プロトコル更新部138は、ステップS41で取得したシーケンス情報171dを確認する(S42)。そして、プロトコル更新部138は、ステップS41で取得したシーケンス情報171dが、更新するプロトコルコードの格納が完了していることを示す識別情報である場合には、ステップS46に進むが、ここでは、ステップS41で取得したシーケンス情報171dが、プロトコルコードの格納が完了していることを示す識別情報ではないものとして説明を行う。
【0106】
そして、プロトコル更新部138は、ステップS42において、更新用のプロトコルコードの全てがICカード150に格納されていないと判断された場合には、プロトコル情報記憶領域154に記憶されているプロトコルコードを取得する(S43)。
【0107】
次に、プロトコル更新部138は、データ記憶領域152に格納されている環境パラメータを取得する(S44)。なお、環境パラメータは、ICカード150が読み取り可能にされた端末130に対応したものを取得する。
【0108】
次に、プロトコル更新部138は、ステップS41で取得したシーケンス情報171dと、ステップS44で取得された環境パラメータと、から更新するプロトコルコードの分割を行う(S45)。
【0109】
更新するプロトコルコードの分割は、例えば、図14(プロトコルコードの分割方法を示す概略図)に示すように、更新するプロトコルコード172において、既にICカード150に格納されているバイト数をシーケンス情報171dで特定する。次に、環境パラメータで特定される送信可能なデータサイズより送信可能なバイト数を特定して、既に送信されているバイト数の次から当該送信可能なバイト数のデータを抽出することにより、分割プロトコルコード172aを生成する。
【0110】
なお、環境パラメータで特定される送信可能なデータサイズが、更新するプロトコルコードよりも大きな場合には、ステップS45に示すプロトコルコードの分割処理については不要である。
【0111】
次に、端末130のコマンド生成部141は、ステップS40で、プロトコルバージョン171cが、更新バージョン管理情報記憶領域134に記憶されているプロトコルバージョンと一致する場合には、一致するバージョンのプロトコルコードによる第二のプロトコルコマンド処理用データ(ここでは、ICカード150において端末130を認証するための認証データを含む認証指示データ)を生成し、プロトコルバージョン171cが、更新バージョン管理情報記憶領域134に記憶されているプロトコルバージョンと一致しない場合には、プロトコルバージョン171cで特定されるバージョンのプロトコルコードによる第二のプロトコルコマンド処理用データを生成する(S46)。
【0112】
次に、コマンド生成部141は、プロトコル更新コマンドを生成する(S47)。
【0113】
プロトコル更新コマンドは、ステップS42で確認したシーケンス情報が、更新するプロトコルコードの格納が完了していることを示す識別情報である場合には、ICカードにおいてプロトコルコードの更新を指示するコマンドであり、ステップS42で確認したシーケンス情報が、更新するプロトコルコードの格納が完了していることを示す識別情報ではない場合には、ステップS45で分割した分割プロトコルコードで構成されるコマンドとなる。
【0114】
そして、コマンド生成部141は、例えば、図15(第二のプロトコルコマンドの概略図)に示すように、ステップS46で生成したプロトコルコマンド処理用データ173aに、ステップS47で生成したプロトコル更新コマンド173bを結合することで、第二のプロトコルコマンドを生成する(S48)。
【0115】
このようにして生成された第二のプロトコルコマンドは、ICカードアクセス部142が、第二の通信部148を介してICカード150に送信する(S49)。
【0116】
このような第二のプロトコルコマンドを受信したICカード150では、コマンド解析部159が第二のプロトコルコマンドを解析して、対応するサービスアプリケーション部160に処理を受け渡し、サービスアプリケーション部160は、プロトコル実行部161に第二のプロトコルコマンドを出力する(S50)。
【0117】
第二のプロトコルコマンドの入力を受けたプロトコル実行部161では、入力された第二のプロトコルコマンドに従って、通常のプロトコル処理(ここでは、端末130の検証処理等)を行い、第二のプロトコルコマンドレスポンスデータを生成する(S51)。
【0118】
次に、プロトコル実行部161は、第二のプロトコルコマンドからプロトコル更新コマンド173aを取得する(S52)。
【0119】
そして、プロトコル実行部161は、プロトコル更新コマンド173aの中に分割プロトコルコードが含まれているか否かを確認し(S53)、分割プロトコルコードが含まれている場合にはステップS54〜S57を行い(ステップS58〜S62の処理は行わない)、含まれていない場合にはステップS58に進み処理を行う。
【0120】
ステップS53でプロトコル更新コマンド173aの中に分割プロトコルコードが含まれていると判断された場合には、プロトコル実行部161は、分割プロトコルコードをプロトコルコード格納部162に出力し、プロトコルコード格納部162がプロトコル情報記憶領域154に記憶する(S55)。
【0121】
そして、プロトコルコード格納部162は、記憶された分割プロトコルコードのバイト数を前回のバイト数に加算することにより、格納されたプロトコルコードの進捗状況を示すシーケンス情報を生成して、プロトコル更新状況記憶領域155に記憶する(S56)。なお、更新用のプロトコルコードが全てプロトコル情報記憶領域154に記憶されたと判断された場合は、更新用のプロトコルコードの格納が完了したことを示す識別情報によりシーケンス情報を設定する。ここで、このような識別情報は、例えば、全ビットが1であるデータを指すが、これに限定するものではない。
【0122】
次に、プロトコルコード格納部162は、処理が終了したことを示すレスポンスをプロトコル実行部161に出力する(S57)。
【0123】
一方、ステップS58では、プロトコル実行部161は、プロトコル更新コマンド173bの中にプロトコル変更コマンドが含まれている否かを確認する(S58)。そして、プロトコル変更コマンドが含まれていないと判断された場合には、ステップS59〜S62の処理を行わずに、ステップS63に進む。
【0124】
そして、プロトコル実行部161は、ステップS58において、プロトコル更新コマンド173bの中にプロトコル変更コマンドが含まれていると判断した場合には、プロトコル変更コマンドをプロトコルコード格納部162に出力し、プロトコルコード格納部162は、プロトコルコードの変換を行う(S60)。
【0125】
具体的には、プロトコルコード格納部162は、プロトコル情報記憶領域154に記憶されている更新用のプロトコルコードを抽出して、実行プロトコル情報記憶領域153に記憶することで、プロトコルコードを更新する。
【0126】
そして、プロトコルコード格納部162は、ステップS60で変更したプロトコルコードのバージョンを特定する情報をプロトコル更新状況記憶領域155に記憶する(S61)。
【0127】
次に、プロトコルコード格納部162は、処理が終了したことを示すレスポンスをプロトコル実行部161に出力する(S62)。
【0128】
そして、プロトコル実行部161は、ステップS51で生成した第二のプロトコルコマンドレスポンスにプロトコル変更完了フラグを付与して、サービスアプリケーション部160に出力する(S63)。
【0129】
次に、サービスアプリケーション部160は、入力した第二のプロトコルコマンドレスポンスを送受信制御部163に出力し、送受信制御部163は、通信部165を介して、端末130に送信する(S64)。
【0130】
次に、端末130では、認証処理部139が、ステップS64で受信した第二のプロトコルコマンドレスポンスの検証を行う(S65)。
【0131】
そして、認証処理部139は、ICカード150での端末認証に失敗していると判断した場合には、処理を中止するが、ここでは、端末認証が成功したものとして説明を行う。
【0132】
次に、ステップS65で端末認証に成功していると判断された場合には、端末130のコマンド生成部141は、予め定められたサービス提供コマンドを生成する(S66)。
【0133】
そして、ICカードアクセス部142は、第二の通信部148を介して、ICカード150に対して、ステップS66で生成したサービス提供コマンドを送信する(S67)。
【0134】
このようなサービス提供コマンドを受信したICカード150では、コマンド解析部159がサービス提供コマンドを解析して、解析結果に応じたサービスの提供をサービスアプリケーション部160に指示し、サービスアプリケーション部160が指示されたサービスの提供を行う(S68)。
【0135】
そして、サービスアプリケーション部160は、サービス提供コマンドレスポンスを生成して、送受信制御部163に出力し、送受信制御部163が通信部を介して端末130に送信する(S69)。
【0136】
以上のような処理を行うことにより、端末130と、ICカード150と、の間で相互認証及びサービスの提供と、プロトコルコードの更新と、を同時に行うことが可能となる。
【0137】
また、本実施形態によれば、プロトコルコードを分割してICカード150に送ることができるようにされているため、複数の端末130を介して、プロトコルコードの更新を行うことができるようになる。即ち、ICカード150の利用者は、プロトコルコードの更新を意識することなく、任意に選択された端末130を介してサービスの提供を受けることにより、分割されたプロトコルコードが次々にICカード150に蓄積され、全てのプロトコルコードを受信することでプロトコルコードの更新が可能となる。
【0138】
なお、以上のシーケンスでは、相互認証を端末130とICカード150との間で2回のデータ送受信を行うことにより実現しているが、送受信の回数が2回以上の場合でも同様の効果を得ることは可能である。また、ICカード150の認証を行ってから、端末130の認証を実施しているが、これも入れ替えることは可能であり、入れ替えたことによる影響はない。
【0139】
また、端末130とICカード150との間で送受信する少なくとも一部のデータに対して、特に署名生成/検証処理、データ暗号/復号処理等の処理をしていないが、より安全にするために、鍵情報記憶領域135及び鍵情報記憶領域156に格納されている鍵を用いて、端末130とICカード150との間で送受信する少なくとも一部のデータに対して、署名生成/検証処理、データ暗号/復号処理等のうち、1つ以上の処理を行ってもよい。
【0140】
なお、以上に記載した実施形態においては、機器認証プロトコルを更新する処理として説明したが、このような態様に限定されず、ICカードの制御を行うための制御データ(制御プロトコル)のプロトコルコードを更新する際に、本発明を利用することができる。
【図面の簡単な説明】
【0141】
【図1】サービス提供システムの概略図。
【図2】サービス提供者装置の概略図。
【図3】コンピュータの概略図。
【図4】端末の概略図。
【図5】コンピュータの概略図。
【図6】ICカードの概略図。
【図7】コンピュータの概略図。
【図8】サービス提供者装置から端末に更新するプロトコルコードを送信する処理を示すシーケンス図。
【図9】プロトコルコードを更新する処理を示すシーケンス図。
【図10】プロトコルコードを更新する処理を示すシーケンス図。
【図11】プロトコルコードを更新する処理を示すシーケンス図。
【図12】プロトコルコードを更新する処理を示すシーケンス図。
【図13】第一のプロトコルコマンドレスポンスの概略図。
【図14】プロトコルコードの分割方法を示す概略図。
【図15】第二のプロトコルコマンドの概略図。
【符号の説明】
【0142】
100 サービス提供システム
110 サービス提供者装置
111 記憶部
112 環境パラメータ情報記憶領域
113 プロトコルコード記憶領域
114 更新バージョン管理情報記憶領域
115 鍵情報記憶領域
117 制御部
118 サービス提供部
119 プロトコル更新処理部
120 コマンド生成部
121 送受信制御部
123 入力部
124 出力部
125 通信部
130 端末
131 記憶部
132 データ記憶領域
133 プロトコルコード記憶領域
134 更新バージョン管理情報記憶領域
135 鍵情報記憶領域
137 制御部
138 プロトコル更新部
139 認証処理部
140 コマンド処理部
141 コマンド生成部
142 ICカードアクセス部
143 送受信制御部
145 入力部
146 出力部
147 第一の通信部
148 第二の通信部
150 ICカード
151 記憶部
152 データ記憶領域
153 実行プロトコル情報記憶領
154 プロトコル情報記憶領域
155 プロトコル更新状況情報記憶領域
156 鍵情報記憶領域
158 制御部
159 サービスアプリケーション部
160 コマンド解析部
161 プロトコル実行部
162 プロトコルコード格納部
163 送受信制御部
165 通信部

【特許請求の範囲】
【請求項1】
記憶部及び制御部を備える情報記憶媒体に対して情報を送受信する端末であって、
前記情報記憶媒体との間の認証処理に必要なデータに、前記情報記憶媒体で使用する制御データの更新データを付加して、前記情報記憶媒体に送信する処理を行う制御部を備えること、
を特徴とする端末。
【請求項2】
請求項1に記載の端末であって、
前記情報記憶媒体との間で、前記端末及び前記情報記憶媒体の一方の認証を行う第一の認証処理と、前記端末及び前記情報記憶媒体の他方の認証を行う第二の認証処理と、を行うようにされており、
前記端末は、前記情報記憶媒体に、前記更新データを分割して送信するようにされており、
前記第一の認証処理において、前記情報記憶媒体から送信されてくるデータに当該情報記憶媒体が格納している分割された前記更新データを特定するシーケンス情報が付加されており、
前記端末の制御部は、前記第二の認証処理において前記端末から前記情報記憶媒体に送信するデータに、前記シーケンス情報で特定される分割された前記更新データの他の部分のデータを付加して、前記情報記憶媒体に送信すること、
を特徴とする端末。
【請求項3】
請求項2に記載の端末であって、
前記第二の認証処理において送信する前記シーケンス情報で特定される分割された前記更新データの他の部分のデータの容量は、前記端末と前記ICカードとの間の通信容量から前記第二の認証処理において前記端末から前記記憶媒体に送信するデータの容量を減算したもの以下であること、
を特徴とする端末。
【請求項4】
請求項2に記載の端末であって、
前記情報記憶媒体から受信するシーケンス情報は、前記情報記憶媒体において、分割された前記更新データの全てのデータを受信した際には、全てのデータを受信したことを識別することのできる識別情報が含まれており、
前記端末の制御部は、前記シーケンス情報に前記識別情報が含まれている場合には、前記第二の認証処理において前記端末から前記記憶媒体に送信するデータに、前記制御データを前記更新データに更新する指示を特定するデータを付加して、前記情報記憶媒体に送信すること、
を特徴とする端末。
【請求項5】
端末との間で情報を送受信する情報記憶媒体であって、
記憶部と、制御部と、を備え、
前記制御部は、前記端末との間の認証処理に必要なデータに付加される更新データを前記記憶部に記憶して、前記更新データにより制御データを更新すること、
を特徴とする情報記憶媒体。
【請求項6】
請求項5に記載の情報記憶媒体であって、
前記端末との間で、前記端末及び前記情報記憶媒体の一方の認証を行う第一の認証処理と、前記端末及び前記情報記憶媒体の他方の認証を行う第二の認証処理と、を行うようにされており、
前記端末は、前記情報記憶媒体に、前記更新データを分割して送信するようにされており、
前記制御部は、
前記第一の認証処理において前記端末に対して送信するデータに、前記記憶部に記憶されている分割された前記更新データを特定するシーケンス情報を付加して、前記端末に送信し、
前記第二の認証処理において前記端末から送信されてくるデータに付加されている分割された前記更新データの一部を前記記憶部に記憶すること、
を特徴とする情報記憶媒体。
【請求項7】
請求項6に記載の情報記憶媒体であって、
前記制御部は、分割された前記更新データの全てのデータを受信した際には、全てのデータを受信したことを識別することのできる識別情報が含めた前記シーケンス情報を生成すること、
を特徴とする情報記憶媒体。
【請求項8】
請求項6に記載の情報記憶媒体であって、
前記制御部は、前記第二の認証処理において受信するデータに、前記制御データを前記更新データに更新する指示を特定するデータが付加されている場合には、前記制御データに代えて、前記記憶部に記憶されている更新データにより制御を行うこと、
を特徴とする情報記憶媒体。
【請求項9】
記憶部及び制御部を備える情報記憶媒体と、当該情報記憶媒体との間で情報の送受信を行う端末と、を備えるサービス提供システムであって、
前記端末は、
前記情報記憶媒体との間の認証処理に必要なデータに、前記情報記憶媒体で使用する制御データの更新データを付加して、前記情報記憶媒体に送信する処理を行う制御部を備えること、
を特徴とするサービス提供システム。
【請求項10】
請求項9に記載のサービス提供システムであって、
前記端末と、前記情報記憶媒体との間では、前記端末及び前記情報記憶媒体の一方の認証を行う第一の認証処理と、前記端末及び前記情報記憶媒体の他方の認証を行う第二の認証処理と、が行われるようにされており、
前記端末は、前記情報記憶媒体に、前記更新データを分割して送信するようにされており、
前記情報記憶媒体の制御部は、前記第一の認証処理において前記端末に対して送信するデータに、前記記憶部に記憶されている分割された前記更新データを特定するシーケンス情報を付加して、前記端末に送信し、
前記端末の制御部は、前記第二の認証処理において前記端末から前記情報記憶媒体に送信するデータに、前記シーケンス情報で特定される分割された前記更新データの他の部分のデータを付加して、前記情報記憶媒体に送信すること、
を特徴とするサービス提供システム。
【請求項11】
請求項10に記載のサービス提供システムであって、
前記端末の制御部は、前記第二の認証処理において送信する前記シーケンス情報で特定される分割された前記更新データの他の部分のデータの容量は、前記端末と前記ICカードとの間の通信容量から前記第二の認証処理において前記端末から前記記憶媒体に送信するデータの容量を減算したもの以下であること、
を特徴とするサービス提供システム。
【請求項12】
請求項10に記載のサービス提供システムであって、
前記情報記憶媒体の制御部は、分割された前記更新データの全てのデータを受信した際には、前記第一の認証処理において前記端末に対して送信するデータに、全てのデータを受信したことを識別することのできる識別情報を含めた前記シーケンス情報を付加して、前記端末に送信し、
前記端末の制御部は、前記シーケンス情報に前記識別情報が含まれている場合には、前記第二の認証処理において前記端末から前記記憶媒体に送信するデータに、前記制御データを前記更新データに更新する指示を特定するデータを付加して、前記情報記憶媒体に送信すること、
を特徴とするサービス提供システム。
【請求項13】
請求項12に記載のサービス提供システムであって、
前記情報記憶媒体の制御部は、前記第二の認証処理において受信するデータに、前記制御データを前記更新データに更新する指示を特定するデータが付加されている場合には、前記制御データに代えて、前記記憶部に記憶されている更新データにより制御を行うこと、
を特徴とするサービス提供システム。
【請求項14】
記憶部及び制御部を備える情報記憶媒体に対して情報を送受信する端末が行うデータ更新方法であって、
前記端末の制御部は、前記情報記憶媒体との間の認証処理に必要なデータに、前記情報記憶媒体で使用する制御データの更新データを付加して、前記情報記憶媒体に送信する処理を行う過程を有すること、
を特徴とするデータ更新方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2009−230315(P2009−230315A)
【公開日】平成21年10月8日(2009.10.8)
【国際特許分類】
【出願番号】特願2008−73029(P2008−73029)
【出願日】平成20年3月21日(2008.3.21)
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願(平成19年度 独立行政法人情報通信研究機構 「ユビキタスネットワークにおける環境に応じたセキュリティプロトコルの自動生成・カスタマイズ技術に関する研究開発」委託研究、産業技術力強化法第19条の適用を受ける特許出願)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】