情報処理システム,クライアント,サーバ,プログラム,情報処理方法
【課題】 クライアントがサーバの処理の一部を担うことによって,サーバ−クライアント間のアクセス回数を減じ,1回の処理単位における所要時間を短くする。
【解決手段】 サーバ130の支援を受けて,ICチップ100に所定の処理を行わせるクライアント110であって,サーバに,所定の処理を実行するための処理コマンドの送信を要求する処理コマンド要求部310と,サーバから受信した,ICチップのチップIDを取得するID取得コマンドを,ICチップに送信するID取得コマンド送信部312と,ICチップの応答データからチップIDを抽出するチップID抽出部314と,抽出されたチップIDを,サーバから受信した処理コマンドに埋め込んで,該チップIDが埋め込まれた処理コマンドをICチップに送信する処理コマンド送信部318と,を備えることを特徴とする,クライアントが提供される。
【解決手段】 サーバ130の支援を受けて,ICチップ100に所定の処理を行わせるクライアント110であって,サーバに,所定の処理を実行するための処理コマンドの送信を要求する処理コマンド要求部310と,サーバから受信した,ICチップのチップIDを取得するID取得コマンドを,ICチップに送信するID取得コマンド送信部312と,ICチップの応答データからチップIDを抽出するチップID抽出部314と,抽出されたチップIDを,サーバから受信した処理コマンドに埋め込んで,該チップIDが埋め込まれた処理コマンドをICチップに送信する処理コマンド送信部318と,を備えることを特徴とする,クライアントが提供される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は,ICチップに所定の処理を行わせる,情報処理システム,クライアント,サーバ,プログラム,情報処理方法に関する。
【背景技術】
【0002】
従来から利用されている磁気タイプのキャッシュカードやクレジットカードに代わって,電気的にデータを記憶するメモリ,また,そのデータの記憶処理を行う処理回路を含むIC(Integrated Circuit)チップが多用されるようになった。このようなICチップは,通常,ICタグやICカードに埋設され,無線通信により非接触式にデータ通信を行うことができる。従って,上記カードの外観を損なわず,メンテナンス性や耐蝕性に優れたサービスを提供することができる。
【0003】
また,ICカード内のデータを読み取り/書き込み可能なリーダ/ライタを介して,ユーザが所有するクライアントから上記のようなICチップ(ICカード)を操作可能な技術も知られている(特許文献1)。かかるICカードとしては,キャッシュカードやクレジットカードの他に,プリペイドカード(電子マネー)や電子チケット等の利用方法が考えられる。
【0004】
上記の技術によると,クライアントのWebブラウザからICチップに直接アクセスすることはできないものの,ビュー・サーバにコンテンツを提供させ,別ルートとして,通信サーバからICチップと通信させ,さらにビュー・サーバと通信サーバとを連結することによって,クライアント上からICチップを操作することを可能にしている。
【0005】
かかる技術においては,ICチップを操作するための具体的な処理に関するコマンドは,全て,通信サーバから送信される。従って,クライアントは,通信サーバからのコマンドを中継することのみによって,当該ICチップの処理に介在する。
【0006】
【特許文献1】特開2003−141063号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかし,全てのコマンドが通信サーバから送信され,ICチップからの応答全てを一様に通信サーバに返信しなければならないとすると,一回の処理に多大な時間を要することになる。近日,ICチップ内のメモリのデータ記憶容量も増大し,セキュリティ強化に伴う処理量も増える傾向にあるので,ICチップとの情報交換に拘束される時間の短期間化が望まれる。
【0008】
本発明は,従来のICチップとの情報交換に関する上記問題点に鑑みてなされたものであり,本発明の目的は,サーバ側の負荷を軽減し,1回の処理単位における所要時間を短くすることが可能な,新規かつ改良された情報処理システム,クライアント,サーバ,プログラム,情報処理方法を提供することである。
【課題を解決するための手段】
【0009】
上記課題を解決するために,本発明のある観点によれば,ICチップと,該ICチップに所定の処理を行わせるクライアントと,該クライアントと通信網を介して接続されたサーバと,からなる情報処理システムであって:上記クライアントは,上記サーバに,上記所定の処理を実行するための処理コマンドの送信を要求する処理コマンド要求部と;上記サーバから受信した,上記ICチップのチップIDを取得するID取得コマンドを,上記ICチップに送信するID取得コマンド送信部と;上記ICチップからの応答データからチップIDを抽出するチップID抽出部と;上記抽出されたチップIDを,上記サーバから受信した処理コマンドに埋め込んで,該チップIDが埋め込まれた処理コマンドを上記ICチップに送信する処理コマンド送信部と;を備え,上記サーバは,上記クライアントから受信した処理コマンドの送信要求に応じて,該処理コマンドと,ID取得コマンドとを同タイミングでクライアントに送信するコマンド群送信部と;を備え,上記ICチップは,上記クライアントからのID取得コマンドに応じて,チップIDを含む応答データを送信するチップID送信部と;上記クライアントから受信した処理コマンドのチップIDが当該ICチップのチップIDと等しいかどうかを判断するチップID判断部と;チップIDが等しいと判断された場合に,上記処理コマンドに応じて,上記所定の処理を実行する処理実行部と;を備えることを特徴とする,情報処理システムが提供される。
【0010】
クライアントからICチップを操作する場合,クライアントは,先ず,サーバと接続を確立し,ICチップへのコマンドはサーバに生成させる。従って,当該情報処理システムにおいては,ICチップの一回の処理単位中に,(1)ICチップ固有のチップIDを取得する,(2)取得されたチップIDを付加した処理コマンドによってICチップに所定の処理を行わせる,という2段階の処理が必要である。本発明は,上記2段階の処理全てをサーバで行わず,クライアントがサーバの処理の一部を担うことによって,サーバ−クライアント間のアクセス回数を減じている。
【0011】
上記情報処理システムは,複数の装置の集合体で表されるが,各構成要素,機能モジュールがどの装置に属するかを限定しないとしても良く,また,それ自体が単体で存在するとしても良い。
【0012】
上記課題を解決するために,本発明の別の観点によれば,通信網を介して接続されたサーバの支援を受けて,ICチップに所定の処理を行わせるクライアントであって:上記サーバに,上記所定の処理を実行するための処理コマンドの送信を要求する処理コマンド要求部と;上記サーバから受信した,上記ICチップのチップIDを取得するID取得コマンドを,上記ICチップに送信するID取得コマンド送信部と;上記ICチップからの応答データからチップIDを抽出するチップID抽出部と;上記抽出されたチップIDを,上記サーバから受信した処理コマンドに埋め込んで,該チップIDが埋め込まれた処理コマンドを上記ICチップに送信する処理コマンド送信部と;を備えることを特徴とする,クライアントが提供される。
【0013】
上述したように,ICチップを利用するときには,ICチップ固有のチップIDの取得,チップIDを付加した処理コマンドによる処理の要請,という2段階の処理が必要となる。上記チップID抽出部と,処理コマンド送信部の構成により,サーバに再度アクセスすることなく,処理コマンドをICチップに送信することができる。
【0014】
上記サーバから受信するID取得コマンドには,ICチップからの応答データ中におけるチップIDの位置を示すID位置情報が付加され,上記チップID抽出部は,上記ID位置情報に基づいて,上記応答データからチップIDを抽出するとしても良い。上記ID位置情報は,チップIDの開始位置とチップIDの長さによって表されるとしても良い。
【0015】
クライアントが,ICチップの利用に必要なコマンドの目的を把握することができず,単純なコマンドの中継のみを行うとすると,ICチップからの応答データのどの部分がチップIDにあたるのかを把握することができない。上記ID位置情報により,クライアントは,チップIDを確実に抽出することが可能となる。
【0016】
上記サーバから受信するID取得コマンドには,さらに,抽出されたチップIDを参照するための識別子が付加され,上記チップID抽出部は,抽出したチップIDを上記識別子に対応付けるとしても良い。上記識別子は,英数字の羅列により表されるとしても良い。
【0017】
本発明は,チップIDを処理コマンドに埋め込んで(所定位置に上書きして),ICチップに送信する構成を,サーバを介さず,クライアントで行うことを特徴としている。かかる識別子により,後段の処理(処理コマンドにチップIDを埋め込む処理)で必要なチップIDを確実に識別することが可能となる。
【0018】
上記サーバから受信する処理コマンドには,チップIDを埋め込む位置を示す埋込位置情報が付加され,上記処理コマンド送信部は,上記埋込位置情報に基づいて,上記チップIDを処理コマンドに埋め込むとしても良い。
【0019】
クライアントが,ICチップの利用に必要なコマンドの目的を把握することができず,単純なコマンドの中継のみを行うとすると,ICチップに送信する処理コマンドのどの部分にチップIDを埋め込むのかを把握することができない。上記埋込位置情報により,クライアントは,処理コマンドにおける適切な位置にチップIDを埋め込むことができる。
【0020】
上記サーバから受信する処理コマンドには,さらに,当該クライアントにおいてチップIDを特定可能な識別子が付加され,上記処理コマンド送信部は,上記識別子に対応付けられたチップIDを処理コマンドに埋め込むとしても良い。
【0021】
上述したように,本発明は,チップIDを処理コマンドに埋め込み,ICチップに送信する構成を,サーバを介さず,クライアントで行うことを特徴としている。かかる識別子により,既にクライアントで取得済みのチップIDを確実に識別することが可能となる。かかる識別子とチップIDとの対応づけは,上記チップID抽出部によって行われるとしても良い。
【0022】
上記ICチップと当該クライアントは,近距離無線規格による無線通信が用いられるとしても良い。データ通信対象であるICチップは,例えば,ICタグやICカードに含まれる。このような媒体は,外気に露出される場合が多く,外気に接触端子を設ける必要のない非接触な無線通信が有効となる。このような非接触な無線通信としては,例えば,近距離無線規格(NFC:Near Field Communication)を利用することができる。かかるNFCは,その利用範囲が10cm程度と狭いので,ハンドアクションにより通信相手を限定する等セキュリティの点でも優れている。
【0023】
上記課題を解決するために,本発明の別の観点によれば,通信網を介して接続されたサーバの支援を受けて,ICチップに所定の処理を行わせるクライアントであって:上記サーバに,上記所定の処理を実行するための処理コマンドの送信を要求する処理コマンド要求部と;上記サーバから受信した,上記ICチップのチップIDを取得するID取得コマンドを,上記ICチップに送信するID取得コマンド送信部と;上記ICチップからの応答データからチップIDを抽出するチップID抽出部と;上記抽出されたチップIDを,上記サーバから受信した処理コマンドに埋め込んで,該チップIDが埋め込まれた処理コマンドを上記ICチップに送信する処理コマンド送信部と;を備え,上記ICチップは,上記ID取得コマンド送信部からのID取得コマンドに応じて,チップIDを含む応答データを送信し,上記処理コマンド送信部からの処理コマンドのチップIDが当該ICチップのチップIDと等しいかどうかを判断し,チップIDが等しいと判断された場合に,上記処理コマンドに応じて,上記所定の処理を実行することを特徴とする,クライアントが提供される。
【0024】
かかる構成は,上述したクライアントとICチップを一体形成する場合であり,ICチップは,クライアントと常にアクセスできる状態,例えば,内蔵された状態で,クライアントとは独立してその機能を実施する。また,クライアントは,ICチップを備えつつ,さらに,他のICチップと通信することもでき,そのときにリーダ/ライタを備えるとしても良い。
【0025】
上記課題を解決するために,本発明の別の観点によれば,ICチップに所定の処理を行わせるクライアントに通信網を介して接続されたサーバであって:上記クライアントから受信した処理コマンドの送信要求に応じて,該所定の処理を実行するための処理コマンドと,上記ICチップのチップIDを取得するID取得コマンドを同タイミングでクライアントに送信するコマンド群送信部を備えることを特徴とする,サーバが提供される。
【0026】
従来,サーバは,クライアントからのICチップ処理要求に対して,ICチップ固有のチップIDを取得し,さらに,取得されたチップIDを処理コマンドに埋め込んで処理コマンドを送付していた。本発明は,その処理の一部をクライアントに転移することで,サーバの負担を軽減できる。このとき,サーバは,処理コマンドとID取得コマンドを同タイミングでクライアントに送信する。
【0027】
また,コンピュータによって,上記クライアントやサーバとして機能するプログラムも提供され,また,クライアントやサーバを利用してICチップに所定の処理を行わせる情報処理方法も提供される。
【0028】
上記ICチップ,クライアント,サーバは,その機能を組み合わせて,1つの装置で構成することもでき,相互にその機能を交換したり,共有したりすることができる。また,クライアントの各構成を他の装置で独立して行うとしても良い。また,クライアントやサーバは,アプリケーションを遂行する上で,他のデータベースを参照することもできる。
【発明の効果】
【0029】
以上説明したように本発明によれば,ICチップを利用する上での,サーバ側の処理負荷を軽減し,クライアントとサーバとのアクセス回数を減らすことによって,1回の処理単位における所要時間を短くすることができる。従って,本発明は,アクセス頻度が多いアプリケーションやアクセス時間が所定の長さに限られるアプリケーションにも適用可能となる。
【発明を実施するための最良の形態】
【0030】
以下に添付図面を参照しながら,本発明の好適な実施の形態について詳細に説明する。なお,本明細書及び図面において,実質的に同一の機能構成を有する構成要素については,同一の符号を付することにより重複説明を省略する。
【0031】
以下に示す実施形態の理解を容易にするため,一例として,電子マネーの残高照会を想定する。クライアントとしてのパソコンからICチップが埋設されたICカードに,サーバを通じてアクセスし,サーバがそのICカードの電子マネーの残高を取得するとパソコンの画面に結果として表示する。上記パソコンは,セキュリティ上,ICカードの情報を直接取得することはできず,例えば,サーバにおいてのみ残高情報を取得するためのコマンドが生成され,その結果のみがパソコンに送信される。以下,具体的な構成によって実施形態を説明する。
【0032】
(第1の実施形態:情報処理システム)
図1は,第1の実施形態における情報処理システムの概略的な構成を示したブロック図である。かかる情報処理システムは,ICカードに埋設されたICチップ100と,ICチップ100に所定の処理を行わせるクライアント110と,クライアント110とインターネット等の通信網120を介して接続され,クライアント110を通じてICチップ100への所定の処理を支援するサーバ130とを含んで構成される。
【0033】
上記クライアント110やサーバ130は,パーソナルコンピュータ,ワークステーション,PDA(Personal Digital Assistant),携帯電話,携帯型音声プレーヤ,家庭ゲーム機,情報家電,テレビ会議システム等で形成され,少なくとも通信網120を介して他の電子機器とデータ通信を行うことができる。
【0034】
上記クライアント110は,ICチップ100が埋設されたICカードと非接触の無線通信を行うため,リーダ/ライタ140に接続されている。
【0035】
また,上記サーバ130は,サーバ130で送受信されるICチップ100に関するデータを暗号化または復号化するセキュリティモジュールを備えている。上記セキュリティモジュールは,耐タンパ性を有し,上記暗号化や復号化に用いる複数の鍵を管理する。
【0036】
上記ICチップ100は,図1に示したようにICカードに埋設されて利用されるが,かかる場合に限られず,ICタグや携帯電話等の電子機器,または,当該クライアント110等に設けられるとしても良い。図1では,ICチップ100を含んだICカードがクライアント110に接続されたリーダ/ライタ140に載置されている状態が示されている。本実施形態において,ICチップ100は,リーダ/ライタ140と非接触な無線通信を行う。
【0037】
この非接触な無線通信としては,例えば,近距離無線規格(NFC:Near Field Communication,以下,NFCと言う。)を利用することができる。かかるNFCは,その利用範囲が10cm程度と狭いので,ハンドアクションにより通信相手を限定する等セキュリティにも優れている。また,非接触にデータ通信が可能であるということは,外気に露出する金属端子が不要ということであり,上記ICカードやICタグの外観を損なわず,メンテナンス性や耐蝕性に優れたサービスを提供することができる。
【0038】
上記ICチップ100は,従来からある磁気タイプのキャッシュカードやクレジットカードと違い,大容量のメモリを利用して,1つのICチップ100を複数のアプリケーションで利用することができる。即ち,複数のサービス提供者を,ICチップ100を埋設した一枚のICカードに登録することが可能であり,ユーザは,この一枚のICカードを利用して様々なサービスを受けることができる。
【0039】
しかし,このようなICチップ100をクライアント110を通じて利用しようとしても,クライアント110自体は,ICチップ100を直接操作し得る術を持っていない。ICチップ100の操作は,メンテナンスやセキュリティの関係上サーバ130が行う。
【0040】
複数のサービス提供者から提供されるサービスにおけるICチップ100への全てのコマンドを,クライアント110が生成するとした場合,サービスに追加された新規のコマンドを反映するための更新作業が頻繁に行われ,また,膨大な容量のコマンド生成アプリケーションを他のサービス提供者のアプリケーションに影響しないように維持しなければならない。従って,メンテナンスの関係上,クライアント110にコマンド生成アプリケーションを設けるのは有効ではない。
【0041】
また,クライアント110でICチップ100の全ての管理を行うとすると,サーバ130側のサービス提供者のみが取り扱うべきデータを,クライアント110が把握することができ,セキュリティの関係上でも,コマンド生成アプリケーションをクライアント110に設けるべきではない。
【0042】
従って,ICチップ100に記憶されたデータを参照する場合,クライアントは,Webブラウザを通じて,先ず,サーバ130にアクセスする。かかるサーバ130は,ユーザが所望する処理を認識し,クライアント110を通じてICチップ100への通信を開始する。かかる処理が終了すると,サーバ130は,その結果をクライアントのWebブラウザに表示する。クライアント110は,サーバ130からのコマンドを中継することのみによって,ICチップ100の処理に介在する。
【0043】
図2は,サーバ130からのコマンドをクライアント110で中継する流れを示したフローチャートである。ここでは,特に,ICチップ100との通信開始時を想定し,サービスを受けるための所定の処理として,データを復号化するための鍵バージョン取得を挙げている。
【0044】
ここで,「鍵バージョン」は,ICチップ100との暗号化通信に用いられる複数の鍵の識別子であり,ICチップ100内に複数のサービス領域を含む場合や1つのサービス領域において複数の鍵を利用する場合等に使用される。サーバ130は,このICチップ100からの鍵バージョンによる鍵を参照してデータの暗号化および復号化を実施する。また,ICチップ100に鍵が存在しない場合,鍵バージョンとして例えばFFFFhをサーバ130に返信し,サーバ130はかかる応答データによって,ICチップ100に鍵が無いことを認識する。
【0045】
先ず,ユーザは,ICチップ100をクライアント110に物理的に接続する(S200)。これは,USBやRS―232による接触式の接続でも良いし,上述したNFCによる非接触の接続であっても良い。NFCによる非接触な接続は,例えば,リーダ/ライタ140の読み取り面にICチップ100を含んだICカードを翳すもしくは載置することにより行い得る。クライアント110は,サービス提供者から提供されたブラウザもしくはアプリケーションによってサーバ130との通信を開始し(S202),双方を認証する(S204)。
【0046】
サーバ130は,ユーザが所望する所定の処理を行う前に,操作するICチップ100固有に設けられたチップIDを取得する必要がある。従って,サーバ130は,チップIDを取得するためのID取得コマンド(ポーリング)をクライアント110に送信する(S206)。かかるチップIDは,クライアント110やサーバ130のIDとは相違するICチップ固有の番号であり,ICチップ1つに対して1つ設けられるとしても良いし,ICチップ100がアプリケーションに応じて論理的に領域分割されている場合には,その領域毎に設けられるとしても良い。サーバ130からID取得コマンドを受信したクライアントは,そのまま,かかるID取得コマンドをICチップ100に送信する(S208)。
【0047】
ICチップ100は,自己を特定するチップIDを含んだ応答データをクライアント110に返信する(S210)。ここで,応答データとしたのは,サーバ130のコマンドは,通常,所定の領域のデータを読み取るコマンドであり,チップIDはその領域の一部に書き込まれているからである。クライアント110は,ICチップ100からの応答データをそのままサーバ130に送信する(S212)。
【0048】
上述したように,チップIDはICチップ100からの応答データの一部に記載されているため,サーバ130は,かかる応答データからチップIDを抽出し,処理コマンドとしての鍵バージョン取得コマンドにチップIDを埋め込む(S214)。ICチップ100は,このようにチップIDを埋め込んだ処理コマンドのみに応答する構成になっているので,前段にチップIDの取得が必要となる。ここで,処理コマンドは,少なくともチップIDを埋め込むことによりICチップ100に対して有効になるコマンドを示す。
【0049】
サーバ130は,次のステップとして,チップIDが埋め込まれた処理コマンド(鍵バージョン取得コマンド)をリクエストサービスとして再度クライアント110に送信し(S220),クライアント110は,その処理コマンドをICチップ100に中継する(S222)。
【0050】
ICチップ100は,クライアント110から受信した処理コマンドのチップIDが当該ICチップのチップIDと等しいかどうかを判断し,チップIDが等しいと判断した場合に,処理コマンドに応じて,所定の処理,ここでは,自己の鍵バージョンをデータとして準備する(S224)。
【0051】
かかる鍵バージョンを含んだ応答データは,一旦クライアント110に送信され(S226),引き続きサーバ130に送信される(S228)。サーバ130は,この応答データから鍵バージョンを抽出し,事後の処理のため保持する(S230)と共に,かかる鍵バージョンを取得完了したことをクライアントに伝達する(S232)。
【0052】
ICチップ100に記憶されている情報は厳重に保護する必要があり,ICチップ100との通信には上記鍵バージョンによって特定される鍵を用いた暗号化データが利用される。従って,クライアント110もしくはサーバ130は,通信開始動作としてICチップ100を特定するチップIDおよび鍵バージョンを取得してから,はじめて所望のサービスを開始する。
【0053】
上記のようにクライアント110がサーバ130からのコマンドを中継する構成では,サーバ130上で,少なくとも(1)ICチップ固有のチップIDを取得する,(2)取得されたチップIDを付加した処理コマンドによってICチップに所定の処理を行わせる,という2段階の処理が必要となる。このため,携帯電話などの通信端末では,通信のオーバーヘッドが大きくなり,通信回数が全体の処理の遅延に大きく影響する。
【0054】
そこで,本発明による実施形態において,上記2段階の処理をサーバ130に実施させず,クライアント110が処理の一部を担うことによって,サーバ130−クライアント110間のアクセス回数を減ずる。特に,ICチップ固有のチップIDを処理コマンドに埋め込む(所定位置に上書きする)処理をクライアント110で実施している。
【0055】
以下では,上記情報処理システムを利用して,ICチップに所定の処理を行わせる情報処理方法を詳述する。
【0056】
(第2の実施形態:情報処理方法)
図3は,第2の実施形態における情報処理方法の流れを示したフローチャートである。ここでも,ICチップ100との通信開始時を想定し,サービスを受けるための所定の処理として,データを復号化するための鍵バージョン取得を挙げている。
【0057】
先ず,ユーザは,第1の実施形態において説明したのと同様に,ICチップ100をクライアント110に物理的に接続する(S250)。クライアント110は,ブラウザのHTTP(HyperText Transfer Protocol)リクエストもしくはサービス提供者から提供されたアプリケーションによってサーバ130との通信を開始し(S252),双方をセッションID等により認証する(S254)。このとき,クライアント110は,サーバ130に対して,所定の処理を実行するための処理コマンドの送信を要求する。
【0058】
サーバ130は,クライアント110から受信した処理コマンドの送信要求に応じて,所定の処理を実行するための処理コマンドと,ICチップ100のチップIDを取得するID取得コマンドを同タイミングでクライアントに送信する(S256)。かかるチップIDは,上記同様,ICチップ1つに対して1つ設けられるとしても良いし,ICチップ100がアプリケーションに応じて論理的に領域分割されている場合には,その領域毎に設けられるとしても良い。
【0059】
サーバ130からID取得コマンドを受信したクライアント110は,そのID取得コマンドからICチップ100に実際に送信するID取得コマンドを取り出し(S258),ICチップ100に送信する(S260)。
【0060】
ICチップ100は,上記ID取得コマンドに応じて,自己を特定するチップIDを含んだ応答データをクライアント110に返信する(S262)。かかる応答データは,目的であるチップIDを一部に含んでいる。クライアント110は,ICチップ100の応答データからチップIDを抽出し,クライアント110内に保持する(S264)。
【0061】
そして,クライアント110は,抽出されたチップIDを,サーバ130から受信した処理コマンドの所定の位置に埋め込んで,その処理コマンドをICチップ100に送信する(S270)。上記処理コマンドへのチップIDの埋め込みをクライアント110で実施することによって,サーバ130−クライアント110間の通信回数を減ずることができる。
【0062】
ICチップ100は,クライアント110から受信した処理コマンドのチップIDが当該ICチップのチップIDと等しいかどうかを判断し,チップIDが等しいと判断された場合に,処理コマンドに応じて,所定の処理,ここでは,自己の鍵バージョンを応答データとして準備する(S272)。
【0063】
かかる鍵バージョンを含んだ応答データは,クライアント110に送信され(S274),今度は,クライアント110で加工されることなくサーバ130に送信される(S276)。このとき,ICチップ100に鍵バージョンが複数存在すれば,その全てを伝達するとしても良く,1つも存在しない場合は,FFFFh等のダミー値を送信して鍵バージョンの不在を伝達するとしても良い。サーバ130は,この応答データから鍵バージョンを抽出し,事後の処理のため保持する(S278)と共に,かかる鍵バージョンを取得完了したことをクライアントに伝達する(S280)。クライアント110は,この初期動作の完了を受けて,所望のサービスを開始する。
【0064】
ICチップ100−クライアント110間の通信と比較して,クライアント110−サーバ130間の通信は,通常,長時間を要する。ここでは,サーバ130において実施すべき,取得されたチップIDを付加した処理コマンドによってICチップに所定の処理を行わせる段階をクライアント110に実施させているので,長時間を要するとされるクライアント110−サーバ130間の通信回数を削減でき,通信のオーバーヘッドを小さく,かつ,全体の処理の遅延を改善することが可能となる。
【0065】
その代わり,上述した情報処理方法において,クライアント110が,チップIDを抽出し,抽出されたチップIDを処理コマンドの所定の位置に埋め込むといった特別な処理が追加されている。かかる処理を効率的に実行するために,本実施形態では,サーバ130−クライアント110間で特別なパケットを用いている。かかる特別なパケットは,ID取得コマンドや処理コマンドのフォーマットとして後述される。
【0066】
以下では,上記情報処理方法を実現することが可能な情報処理システムを構成するクライアント110,サーバ130,ICチップ100の個々の構成を詳細に説明する。
【0067】
(第3の実施形態:クライアント110)
図4は,第3の実施形態におけるクライアント110の概略的な構成を示したブロック図である。上記クライアント110は,クライアント制御部300と,処理コマンド要求部310と,ID取得コマンド送信部312と,チップID抽出部314と,クライアント記憶部316と,処理コマンド送信部318と,表示部320と,入力部322とを含んで構成され,サーバ130の支援を受け,接続されるリーダ/ライタ140を介して,ICチップ100に所定の処理を行わせる。
【0068】
上記リーダ/ライタ140は,アンテナ,RF回路,変復調回路,エンコーダ,デコーダ等から形成され,少なくとも,上記NFCで定義された通信帯域により,ICチップ100と通信を行う。上記アンテナは,例えば,ループアンテナ形状に形成されるとしても良い。
【0069】
上記クライアント制御部300は,中央処理装置(CPU)を含む半導体集積回路によりクライアント110全体を管理および制御する。
【0070】
上記処理コマンド要求部310は,サーバ130に対して,ICチップ100に所定の処理を行わせるための処理コマンドの送信を要求する。
【0071】
上記ID取得コマンド送信部312は,サーバ130から受信した,ID取得コマンドと処理コマンドのうち,ID取得コマンドを,ICチップ100に送信する。また,上記チップID抽出部314は,かかるID取得コマンドによるICチップからの応答データを受信し,その応答データからチップIDを抽出する。
【0072】
ここで,サーバ130から受信するID取得コマンドには,ICチップからの応答データ中におけるチップIDの位置を示すID位置情報が付加されるとしても良く,チップID抽出部314は,このID位置情報に基づいて,応答データからチップIDを抽出するとしても良い。
【0073】
図5は,クライアント110におけるID取得コマンドの処理を模式的に示した説明図である。図5では,上記ID取得コマンドのフォーマットが記載されている。図5を参照すると,取得の対象がチップIDに限られず,チップIDを含むパラメータの取得という概念でフォーマットが形成されている。従って,上記パラメータの取得という考え方は,チップIDの取得の上位概念に当たり,ICチップ100から様々なパラメータを取得するときに利用されるコマンドである。ここでは,チップIDの取得をパラメータの取得に置き換えて説明する。
【0074】
先ず,サーバ130からクライアント110に送信されるID取得コマンドには,取得するパラメータ(チップID)の位置情報であるパラメータ位置情報(ID位置情報)350と,取得したパラメータ(チップID)を識別するためのパラメータID(識別子)352とが付加されている。
【0075】
上記パラメータ位置情報350は,パラメータ開始位置(チップID開始位置)354とパラメータ長(チップID長)356とから形成される。ここでは,パラメータの位置を開始位置と長さで特定しているが,開始位置と終了位置で特定することもできる。上記パラメータID352は,クライアント110において複数のパラメータを取り扱うために設けられた任意のIDであって,パラメータが1つのみ参照される構成では,このパラメータID352の領域を予約領域とするか,もしくは省略することができる。
【0076】
クライアント110は,かかるID取得コマンドからICチップ100に送信するためのID取得コマンド358のみを抽出し,ICチップ100に送信する。このとき,パラメータID352,パラメータ開始位置354,パラメータ長356は,クライアント110に保持される。
【0077】
かかるID取得コマンドに対するICチップ100からの応答データ370は,パラメータ(チップID)を一部に含むデータである。クライアント110は,かかる応答データ370からパラメータを抽出する。このとき,抽出する位置として,クライアント110に保持している上記パラメータ開始位置354,パラメータ長356が参照され,パラメータ372が抽出される。このように上記パラメータ位置情報350により,クライアント110は,パラメータ(チップID)372を確実に抽出することが可能となる。
【0078】
また,抽出されたパラメータ372は,他のコマンドに利用するため,パラメータID352に対応付けられる。このようにパラメータID352に対応付けられたパラメータ372は,後述するクライアント記憶部316に記憶され,パラメータID352によっていつでも参照可能となる。
【0079】
上記クライアント記憶部316は,HDDやメモリ等の記憶媒体で形成され,少なくとも,識別子としてのパラメータID352と,チップIDとしてのパラメータ372とを関連付けて記憶する。
【0080】
上記処理コマンド送信部318は,チップID抽出部314で抽出されたチップIDを,サーバ130から受信した処理コマンドに埋め込んで,該チップIDが埋め込まれた処理コマンドをICチップ100に送信する。
【0081】
ここで,サーバ130から受信する処理コマンドには,チップIDを埋め込む位置を示す埋込位置情報が付加されるとしても良く,処理コマンド送信部318は,この埋込位置情報に基づいて,チップIDを処理コマンドに埋め込むとしても良い。
【0082】
図6は,クライアント110における処理コマンドの処理を模式的に示した説明図である。図6では,上記処理コマンドのフォーマットが記載されている。図6では,図5同様,チップIDの上位概念であるパラメータを挙げて各処理を説明する。
【0083】
先ず,サーバ130からクライアント110に送信される処理コマンドには,処理コマンドに付加すべきパラメータ(チップID)を識別するためのパラメータID380と,そのパラメータID380により参照されるパラメータをコマンド384に埋め込むためのパラメータ埋込位置(埋込位置情報)382とが付加されている。
【0084】
上記パラメータID380は,パラメータID352同様,クライアント110において複数のパラメータを取り扱うために設けられた任意のIDであって,パラメータが1つのみ参照される構成では,このパラメータID380の領域を予約領域とするか,もしくは省略することができる。また,パラメータIDを省略して,所定の記憶領域に直前に記憶されたパラメータを参照する構成をとることも可能である。
【0085】
また,上記コマンド384がサーバ130で生成される時点では,埋め込まれるパラメータ(チップID)を処理コマンドに付すことができないので,パラメータが後に付される領域には,例えば,0やFh等を繰り返したダミー値が入っているとしても良い。
【0086】
クライアント110は,パラメータID380に基づいて,クライアント記憶部316からパラメータ(チップID)を参照する。ここでは,ID取得コマンドのパラメータID352と,処理コマンドのパラメータID380が等しいので,かかるパラメータID380からは,上記パラメータ372が参照される。
【0087】
クライアント110は,参照したパラメータ(チップID)372を,コマンド384のパラメータ埋込位置382に埋め込んで,ICチップ100に送信するコマンド(処理コマンド)386を生成する。かかるコマンド386にはパラメータとしてのチップIDが埋め込まれているので,ICチップ100に所定の処理を行わせることが可能となる。上記埋込位置情報としてのパラメータ埋込位置382により,クライアント110は,処理コマンドにおける適切な位置にチップIDを埋め込むことができる。また,識別子としてのパラメータID380により,既にクライアント110で取得済みのパラメータ(チップID)372を確実に識別することが可能となる。
【0088】
上述したように,クライアント110は,チップIDを抽出し,抽出されたチップIDを処理コマンドの所定の位置に埋め込む。しかし,クライアント110は,抽出するデータがチップIDであることや,複数の処理コマンドがどのように作用するのかを理解する必要はない。
【0089】
クライアント110は,サーバ130からのコマンド(パケット)に応じてデータの読み書きを行っているに過ぎず,具体的なコマンドの管理はサーバ130側で行う。従って,クライアント110は,サーバ130からの共通かつ簡単なコマンドを理解する能力のみが必要であり,膨大な量かつ高い処理能力を要するコマンドを理解または保持する必要はない。このような構成により,新たなサービスやコマンドが追加されても,その都度クライアント110のアプリケーションを更新する必要がなくなり,低コストで高いメンテナンス能力を維持できる。
【0090】
また,サーバ130からのID取得コマンドや処理コマンドは,クライアント110がそれをコマンド(例えば,読み取りや書き込み)として認識できる最低限の識別子が付与されるとしても良い。
【0091】
上記表示部320は,白黒もしくはカラーのディスプレイで表され,サーバ130から提供されるWebブラウザやアプリケーションのGUIによってICチップ100に対するサービスの表示を行う。また,上記入力部322は,キーボード,テンキー等のキー入力部(図示せず)で形成され,表示部320の表示機能を支援し,また,サービスを選択するとき利用される。
【0092】
また,コンピュータが,上記クライアント110として機能するプログラムや,このプログラムが記憶された記憶媒体も提供される。
【0093】
(具体的な回路の実施形態)
図7は,第3の実施形態によるクライアント110の概略的な構成を示した回路ブロック図である。ここでは,上述したクライアント110をさらに具体的な回路で表している。
【0094】
上記クライアント110は,クライアント通信部410と,CPU412と,ROM414と,RAM416と,表示部320と,入力部322とを含んで構成される。
【0095】
上記クライアント通信部410は,リーダ/ライタ140に接続され,ICチップ100とのデータ通信を行う。また,クライアント通信部410は,リーダ/ライタ140を含んで形成することも可能である。この場合,リーダ/ライタ140の構成要素である,アンテナ,RF回路,変復調回路,エンコーダ,デコーダ等も含むことができる。上記アンテナは,例えば,ループアンテナ形状に形成されるとしても良く,上記変復調回路は,ICチップ100へ送信するデータをNFCに従って変調し,また,ICチップ100からの変調波をデータに復調する。
【0096】
上記CPU412は,信号処理を行う半導体集積回路であって,クライアント110全体を管理および制御する。上記ROM414は,バスを介してCPU412に接続され,CPU412に読み込まれクライアント110を制御するプログラムが予め記憶されている。上記RAM416は,CPU412がクライアント110として機能するための所定データを一時的に記憶したり,変数を格納したりする場所として利用される。従って,クライアント記憶部316としても利用可能である。
【0097】
上記表示部320および入力部322は,既に説明されているためここでは詳細な説明を省略する。
【0098】
(第4の実施形態:サーバ130)
図8は,第4の実施形態におけるサーバ130の概略的な構成を示したブロック図である。上記サーバ130は,サーバ制御部500と,コマンド群送信部510と,表示部512と,入力部514とを含んで構成され,ICチップ100に所定の処理を行わせるクライアント110を通じてICチップ100への所定の処理を支援する。
【0099】
上記サーバ制御部500は,中央処理装置(CPU)を含む半導体集積回路によりサーバ130全体を管理および制御する。
【0100】
上記コマンド群送信部510は,クライアント110から受信した処理コマンドの送信要求に応じて,ICチップ100に行わせる所定の処理を実行するための処理コマンドと,ICチップ100のチップIDを取得するID取得コマンドを同タイミングでクライアント110に送信する。
【0101】
上記表示部512は,白黒もしくはカラーのディスプレイで表され,サーバ130内のコマンドの追加やクライアント110に提供するブラウザやコンテンツ変更処理の表示を行う。また,上記入力部514は,キーボード,テンキー等のキー入力部(図示せず)で形成され,表示部512の表示機能を支援する。
【0102】
サーバ130は,クライアント110からのICチップ処理要求に対して,ICチップ固有のチップIDを取得し,さらに,取得されたチップIDを処理コマンドに埋め込んで処理コマンドを送付していた。本実施形態においては,その処理の一部をクライアント110に転移することで,サーバ130の負担を軽減できる。そのとき,サーバ130は,処理コマンドとID取得コマンドを同タイミングでクライアント110に送信する。
【0103】
また,コンピュータが,上記サーバ130として機能するプログラムや,このプログラムが記憶された記憶媒体も提供される。
【0104】
(具体的な回路の実施形態)
第4の実施形態によるサーバ130は,第3の実施形態におけるクライアント110とほぼ同等の回路ブロックを有し,少なくとも,CPUと,ROMと,RAMと,表示部と,入力部とを含んで構成される。従って,第3の実施形態における構成要素として既に述べた上記の構成は,実質的に機能が同一なので重複説明を省略する。
【0105】
(第5の実施形態:ICチップ100)
図9は,第5の実施形態におけるICチップ100の概略的な構成を示したブロック図である。上記ICチップ100は,チップ制御部600と,アンテナ610と,チップID送信部612と,チップID判断部614と,処理実行部616とを含んで構成される。
【0106】
上記チップ制御部600は,中央処理装置(CPU)を含む半導体集積回路によりICチップ100全体を管理および制御する。
【0107】
上記アンテナ610は,少なくとも,NFCで無線通信可能な通信帯域を有し,例えば,ループアンテナ形状に形成されるとしても良い。
【0108】
上記チップID送信部612は,クライアント110がICチップ100に対して通信可能範囲内にあるとき,例えば,利用する無線通信方式がNFCであり,ICチップ100とクライアント110との間が約10cm以内であるとき,クライアント110からのID取得コマンドに応じて,チップIDを含む応答データを送信する。かかるICチップ100とクライアント110間の通信は,クライアント110が通信可能範囲内にあることを自動的に検知して,両者を認証した後,自動的に開始されるとしても良い。
【0109】
上記チップID判断部614は,クライアント110から受信した処理コマンドからチップIDを抽出し,抽出されたチップIDが当該ICチップ100のチップIDと等しいかどうかを判断する。
【0110】
上記処理実行部616は,チップID判断部614において,チップIDが等しいと判断された場合に,処理コマンドに応じて,上記所定の処理を実行する。かかる所定の処理は,通常,ICチップ100内に保持されたデータの出力であるが,かかる場合に限られず,例えば,ICチップ100内に設けられたフラグやスイッチの設定,LEDの点灯等,様々な処理を適応することができる。また,ICチップ100内に保持されるデータとして,ユーザIDや金額等のパラメータに限られず,特定の物や場所を示す,URL,概略情報,詳細情報,地図情報,料金,日時等も含むことができる。
【0111】
また,コンピュータを,上記ICチップ100として機能させるプログラムや,そのプログラムを記憶した記憶媒体も提供される。
【0112】
(具体的な回路の実施形態)
図10は,第4の実施形態によるICチップ100の概略的な構成を示した回路ブロック図である。ここでは,上述したICチップ100をさらに具体的な回路で表している。
【0113】
上記ICチップ100は,ループアンテナ650と,変復調回路652と,信号処理回路654と,不揮発性メモリ656と,電源生成部658とを含んで構成される。
【0114】
上記ループアンテナ650は,小さな空間においても受信感度を上げるため複数のループを形成している。こうして,NFCの通信帯域を可能にする。また,利用される通信規格や搬送波の周波数によっては,上記ループアンテナ650を使用しなくても,ICチップ内蔵のアンテナで対応できる。
【0115】
上記変復調回路652は,クライアント110へ送信するデータをNFCに従って変調し,また,クライアント110からの変調波をデータに復調する。
【0116】
上記信号処理回路654は,信号処理を行う半導体集積回路であって,ICチップ100全体を管理および制御する。上記不揮発性メモリ656は,ROMとRAMの両機能を有し,電源がオフしても記憶されている内容が消えない。従って,ICチップ100の管理者がデータを書き換え,その後,電源が供給されない状況になったとしても,そのデータは保持される。
【0117】
上記電源生成部658は,クライアント110と通信が接続されている間,クライアント110からの電波を電力に変換し,変復調回路652,信号処理回路654,不揮発性メモリ656に供給する。このように電源生成部658は,限りある電波から各回路に電源を供給しなくてはならないので,各回路には極力低消費電力の素子が利用される。
【0118】
(第6の実施形態:クライアントの他の実施形態)
図11は,第6の実施形態におけるクライアント700の概略的な構成を示したブロック図である。上記クライアント700は,クライアント制御部300と,処理コマンド要求部310と,ID取得コマンド送信部312と,チップID抽出部314と,クライアント記憶部316と,処理コマンド送信部318と,表示部320と,入力部322と,ICチップ710とを含んで構成される。
【0119】
上記クライアント700の構成は,第3の実施形態で説明したクライアント110と,第5の実施形態で説明したICチップ100を一体形成する場合であり,ICチップ710は,クライアント700に内蔵されつつ,クライアント700とは独立してその機能を実施する。従って,第3および第5の実施形態における構成要素として既に述べたものに関しては,実質的に機能が同一なので重複説明を省略し,ここでは,構成が相違する点のみ説明する。
【0120】
上記ICチップ710は,クライアント700に内設される。従って,クライアント700の主要な構成要素,例えば,クライアント制御部300と無線でデータ通信を行う必要がなく,ここでは,バス等を介して有線で接続される。よって,リーダ/ライタ140の構成も不要となる。
【0121】
上記クライアント700としては,携帯電話等やPDA等の通信端末が想定され,かかる通信端末からサーバ130にアクセスし,ICチップ710に関するサービスを受けることが可能となる。
【0122】
(第7の実施形態:クライアントの他の実施形態)
図12は,第7の実施形態におけるクライアント720の概略的な構成を示したブロック図である。上記クライアント720は,クライアント制御部300と,処理コマンド要求部310と,ID取得コマンド送信部312と,チップID抽出部314と,クライアント記憶部316と,処理コマンド送信部318と,表示部320と,入力部322と,ICチップ710と,リーダ/ライタ部730とを含んで構成される。
【0123】
上記クライアント720の構成は,第6の実施形態で説明したクライアント700に,別体に設けられた他のICチップ100と通信するリーダ/ライタ部730を追加したものである。従って,上述した構成に関しては,実質的に機能が同一なので重複説明を省略し,ここでは,上記の付加構成による効果を説明する。
【0124】
現在,携帯電話等の通信端末に,ICチップ710のみではなく,別体のICチップ100も取り扱うことができるリーダ/ライタ機能を設置することが検討されている。かかるICチップ710とリーダ/ライタ部730の両構成により,セキュアなICチップの機能を身近な通信端末で利用できるだけでなく,ICカードの読み取り装置が近辺に設置されていない状況においても,容易にICカードにアクセスすることが可能となり,使い勝手が良くなる。このことは,ICカードや通信端末の販売促進にもつながる。
【0125】
上記リーダ/ライタ部730はかかるICチップ710に埋設されて一体に形成されるとしても良い。
【0126】
また,コンピュータが,上述したクライアント700,720として機能するプログラムや,そのプログラムを記憶した記憶媒体も提供される。
【0127】
以上,添付図面を参照しながら本発明の好適な実施形態について説明したが,本発明は係る例に限定されないことは言うまでもない。当業者であれば,特許請求の範囲に記載された範疇内において,各種の変更例または修正例に想到し得ることは明らかであり,それらについても当然に本発明の技術的範囲に属するものと了解される。
【0128】
例えば,上述の実施形態においては,ID取得コマンドと処理コマンドの対を挙げて説明しているが,かかるコマンド対には限られず,例えば,ICチップがセキュアでないとき,リードコマンドとライトコマンドとの対において,読み込んだデータの一部を抽出し,そのままライトコマンドに埋め込んでICチップにライトコマンドを送信する等,クライアント−サーバ間の通信負担を軽減可能な様々なコマンドに適応することができる。
【0129】
また,上記実施形態では,ICチップとクライアントとの通信を非接触無線通信によって行っているが,かかる場合に限られず,有線または無線で行うとしても良く,接触式または非接触式で行うこともできる。
【0130】
なお,本明細書の情報処理方法における各工程は,必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく,並列的あるいは個別に実行される処理(例えば,並列処理あるいはオブジェクトによる処理)も含むとしても良い。
【図面の簡単な説明】
【0131】
【図1】第1の実施形態における情報処理システムの概略的な構成を示したブロック図である。
【図2】サーバからのコマンドをクライアントで中継する流れを示したフローチャートである。
【図3】第2の実施形態における情報処理方法の流れを示したフローチャートである。
【図4】第3の実施形態におけるクライアントの概略的な構成を示したブロック図である。
【図5】クライアントにおけるID取得コマンドの処理を模式的に示した説明図である。
【図6】クライアントにおける処理コマンドの処理を模式的に示した説明図である。
【図7】第3の実施形態によるクライアントの概略的な構成を示した回路ブロック図である。
【図8】第4の実施形態におけるサーバの概略的な構成を示したブロック図である。
【図9】第5の実施形態におけるICチップの概略的な構成を示したブロック図である。
【図10】第4の実施形態によるICチップの概略的な構成を示した回路ブロック図である。
【図11】第6の実施形態におけるクライアントの概略的な構成を示したブロック図である。
【図12】第7の実施形態におけるクライアントの概略的な構成を示したブロック図である。
【符号の説明】
【0132】
100,710 ICチップ
110,700,720 クライアント
130 サーバ
140,730 リーダ/ライタ
310 処理コマンド要求部
312 ID取得コマンド送信部
314 チップID抽出部
318 処理コマンド送信部
510 コマンド群送信部
612 チップID送信部
614 チップID判断部
616 処理実行部
【技術分野】
【0001】
本発明は,ICチップに所定の処理を行わせる,情報処理システム,クライアント,サーバ,プログラム,情報処理方法に関する。
【背景技術】
【0002】
従来から利用されている磁気タイプのキャッシュカードやクレジットカードに代わって,電気的にデータを記憶するメモリ,また,そのデータの記憶処理を行う処理回路を含むIC(Integrated Circuit)チップが多用されるようになった。このようなICチップは,通常,ICタグやICカードに埋設され,無線通信により非接触式にデータ通信を行うことができる。従って,上記カードの外観を損なわず,メンテナンス性や耐蝕性に優れたサービスを提供することができる。
【0003】
また,ICカード内のデータを読み取り/書き込み可能なリーダ/ライタを介して,ユーザが所有するクライアントから上記のようなICチップ(ICカード)を操作可能な技術も知られている(特許文献1)。かかるICカードとしては,キャッシュカードやクレジットカードの他に,プリペイドカード(電子マネー)や電子チケット等の利用方法が考えられる。
【0004】
上記の技術によると,クライアントのWebブラウザからICチップに直接アクセスすることはできないものの,ビュー・サーバにコンテンツを提供させ,別ルートとして,通信サーバからICチップと通信させ,さらにビュー・サーバと通信サーバとを連結することによって,クライアント上からICチップを操作することを可能にしている。
【0005】
かかる技術においては,ICチップを操作するための具体的な処理に関するコマンドは,全て,通信サーバから送信される。従って,クライアントは,通信サーバからのコマンドを中継することのみによって,当該ICチップの処理に介在する。
【0006】
【特許文献1】特開2003−141063号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかし,全てのコマンドが通信サーバから送信され,ICチップからの応答全てを一様に通信サーバに返信しなければならないとすると,一回の処理に多大な時間を要することになる。近日,ICチップ内のメモリのデータ記憶容量も増大し,セキュリティ強化に伴う処理量も増える傾向にあるので,ICチップとの情報交換に拘束される時間の短期間化が望まれる。
【0008】
本発明は,従来のICチップとの情報交換に関する上記問題点に鑑みてなされたものであり,本発明の目的は,サーバ側の負荷を軽減し,1回の処理単位における所要時間を短くすることが可能な,新規かつ改良された情報処理システム,クライアント,サーバ,プログラム,情報処理方法を提供することである。
【課題を解決するための手段】
【0009】
上記課題を解決するために,本発明のある観点によれば,ICチップと,該ICチップに所定の処理を行わせるクライアントと,該クライアントと通信網を介して接続されたサーバと,からなる情報処理システムであって:上記クライアントは,上記サーバに,上記所定の処理を実行するための処理コマンドの送信を要求する処理コマンド要求部と;上記サーバから受信した,上記ICチップのチップIDを取得するID取得コマンドを,上記ICチップに送信するID取得コマンド送信部と;上記ICチップからの応答データからチップIDを抽出するチップID抽出部と;上記抽出されたチップIDを,上記サーバから受信した処理コマンドに埋め込んで,該チップIDが埋め込まれた処理コマンドを上記ICチップに送信する処理コマンド送信部と;を備え,上記サーバは,上記クライアントから受信した処理コマンドの送信要求に応じて,該処理コマンドと,ID取得コマンドとを同タイミングでクライアントに送信するコマンド群送信部と;を備え,上記ICチップは,上記クライアントからのID取得コマンドに応じて,チップIDを含む応答データを送信するチップID送信部と;上記クライアントから受信した処理コマンドのチップIDが当該ICチップのチップIDと等しいかどうかを判断するチップID判断部と;チップIDが等しいと判断された場合に,上記処理コマンドに応じて,上記所定の処理を実行する処理実行部と;を備えることを特徴とする,情報処理システムが提供される。
【0010】
クライアントからICチップを操作する場合,クライアントは,先ず,サーバと接続を確立し,ICチップへのコマンドはサーバに生成させる。従って,当該情報処理システムにおいては,ICチップの一回の処理単位中に,(1)ICチップ固有のチップIDを取得する,(2)取得されたチップIDを付加した処理コマンドによってICチップに所定の処理を行わせる,という2段階の処理が必要である。本発明は,上記2段階の処理全てをサーバで行わず,クライアントがサーバの処理の一部を担うことによって,サーバ−クライアント間のアクセス回数を減じている。
【0011】
上記情報処理システムは,複数の装置の集合体で表されるが,各構成要素,機能モジュールがどの装置に属するかを限定しないとしても良く,また,それ自体が単体で存在するとしても良い。
【0012】
上記課題を解決するために,本発明の別の観点によれば,通信網を介して接続されたサーバの支援を受けて,ICチップに所定の処理を行わせるクライアントであって:上記サーバに,上記所定の処理を実行するための処理コマンドの送信を要求する処理コマンド要求部と;上記サーバから受信した,上記ICチップのチップIDを取得するID取得コマンドを,上記ICチップに送信するID取得コマンド送信部と;上記ICチップからの応答データからチップIDを抽出するチップID抽出部と;上記抽出されたチップIDを,上記サーバから受信した処理コマンドに埋め込んで,該チップIDが埋め込まれた処理コマンドを上記ICチップに送信する処理コマンド送信部と;を備えることを特徴とする,クライアントが提供される。
【0013】
上述したように,ICチップを利用するときには,ICチップ固有のチップIDの取得,チップIDを付加した処理コマンドによる処理の要請,という2段階の処理が必要となる。上記チップID抽出部と,処理コマンド送信部の構成により,サーバに再度アクセスすることなく,処理コマンドをICチップに送信することができる。
【0014】
上記サーバから受信するID取得コマンドには,ICチップからの応答データ中におけるチップIDの位置を示すID位置情報が付加され,上記チップID抽出部は,上記ID位置情報に基づいて,上記応答データからチップIDを抽出するとしても良い。上記ID位置情報は,チップIDの開始位置とチップIDの長さによって表されるとしても良い。
【0015】
クライアントが,ICチップの利用に必要なコマンドの目的を把握することができず,単純なコマンドの中継のみを行うとすると,ICチップからの応答データのどの部分がチップIDにあたるのかを把握することができない。上記ID位置情報により,クライアントは,チップIDを確実に抽出することが可能となる。
【0016】
上記サーバから受信するID取得コマンドには,さらに,抽出されたチップIDを参照するための識別子が付加され,上記チップID抽出部は,抽出したチップIDを上記識別子に対応付けるとしても良い。上記識別子は,英数字の羅列により表されるとしても良い。
【0017】
本発明は,チップIDを処理コマンドに埋め込んで(所定位置に上書きして),ICチップに送信する構成を,サーバを介さず,クライアントで行うことを特徴としている。かかる識別子により,後段の処理(処理コマンドにチップIDを埋め込む処理)で必要なチップIDを確実に識別することが可能となる。
【0018】
上記サーバから受信する処理コマンドには,チップIDを埋め込む位置を示す埋込位置情報が付加され,上記処理コマンド送信部は,上記埋込位置情報に基づいて,上記チップIDを処理コマンドに埋め込むとしても良い。
【0019】
クライアントが,ICチップの利用に必要なコマンドの目的を把握することができず,単純なコマンドの中継のみを行うとすると,ICチップに送信する処理コマンドのどの部分にチップIDを埋め込むのかを把握することができない。上記埋込位置情報により,クライアントは,処理コマンドにおける適切な位置にチップIDを埋め込むことができる。
【0020】
上記サーバから受信する処理コマンドには,さらに,当該クライアントにおいてチップIDを特定可能な識別子が付加され,上記処理コマンド送信部は,上記識別子に対応付けられたチップIDを処理コマンドに埋め込むとしても良い。
【0021】
上述したように,本発明は,チップIDを処理コマンドに埋め込み,ICチップに送信する構成を,サーバを介さず,クライアントで行うことを特徴としている。かかる識別子により,既にクライアントで取得済みのチップIDを確実に識別することが可能となる。かかる識別子とチップIDとの対応づけは,上記チップID抽出部によって行われるとしても良い。
【0022】
上記ICチップと当該クライアントは,近距離無線規格による無線通信が用いられるとしても良い。データ通信対象であるICチップは,例えば,ICタグやICカードに含まれる。このような媒体は,外気に露出される場合が多く,外気に接触端子を設ける必要のない非接触な無線通信が有効となる。このような非接触な無線通信としては,例えば,近距離無線規格(NFC:Near Field Communication)を利用することができる。かかるNFCは,その利用範囲が10cm程度と狭いので,ハンドアクションにより通信相手を限定する等セキュリティの点でも優れている。
【0023】
上記課題を解決するために,本発明の別の観点によれば,通信網を介して接続されたサーバの支援を受けて,ICチップに所定の処理を行わせるクライアントであって:上記サーバに,上記所定の処理を実行するための処理コマンドの送信を要求する処理コマンド要求部と;上記サーバから受信した,上記ICチップのチップIDを取得するID取得コマンドを,上記ICチップに送信するID取得コマンド送信部と;上記ICチップからの応答データからチップIDを抽出するチップID抽出部と;上記抽出されたチップIDを,上記サーバから受信した処理コマンドに埋め込んで,該チップIDが埋め込まれた処理コマンドを上記ICチップに送信する処理コマンド送信部と;を備え,上記ICチップは,上記ID取得コマンド送信部からのID取得コマンドに応じて,チップIDを含む応答データを送信し,上記処理コマンド送信部からの処理コマンドのチップIDが当該ICチップのチップIDと等しいかどうかを判断し,チップIDが等しいと判断された場合に,上記処理コマンドに応じて,上記所定の処理を実行することを特徴とする,クライアントが提供される。
【0024】
かかる構成は,上述したクライアントとICチップを一体形成する場合であり,ICチップは,クライアントと常にアクセスできる状態,例えば,内蔵された状態で,クライアントとは独立してその機能を実施する。また,クライアントは,ICチップを備えつつ,さらに,他のICチップと通信することもでき,そのときにリーダ/ライタを備えるとしても良い。
【0025】
上記課題を解決するために,本発明の別の観点によれば,ICチップに所定の処理を行わせるクライアントに通信網を介して接続されたサーバであって:上記クライアントから受信した処理コマンドの送信要求に応じて,該所定の処理を実行するための処理コマンドと,上記ICチップのチップIDを取得するID取得コマンドを同タイミングでクライアントに送信するコマンド群送信部を備えることを特徴とする,サーバが提供される。
【0026】
従来,サーバは,クライアントからのICチップ処理要求に対して,ICチップ固有のチップIDを取得し,さらに,取得されたチップIDを処理コマンドに埋め込んで処理コマンドを送付していた。本発明は,その処理の一部をクライアントに転移することで,サーバの負担を軽減できる。このとき,サーバは,処理コマンドとID取得コマンドを同タイミングでクライアントに送信する。
【0027】
また,コンピュータによって,上記クライアントやサーバとして機能するプログラムも提供され,また,クライアントやサーバを利用してICチップに所定の処理を行わせる情報処理方法も提供される。
【0028】
上記ICチップ,クライアント,サーバは,その機能を組み合わせて,1つの装置で構成することもでき,相互にその機能を交換したり,共有したりすることができる。また,クライアントの各構成を他の装置で独立して行うとしても良い。また,クライアントやサーバは,アプリケーションを遂行する上で,他のデータベースを参照することもできる。
【発明の効果】
【0029】
以上説明したように本発明によれば,ICチップを利用する上での,サーバ側の処理負荷を軽減し,クライアントとサーバとのアクセス回数を減らすことによって,1回の処理単位における所要時間を短くすることができる。従って,本発明は,アクセス頻度が多いアプリケーションやアクセス時間が所定の長さに限られるアプリケーションにも適用可能となる。
【発明を実施するための最良の形態】
【0030】
以下に添付図面を参照しながら,本発明の好適な実施の形態について詳細に説明する。なお,本明細書及び図面において,実質的に同一の機能構成を有する構成要素については,同一の符号を付することにより重複説明を省略する。
【0031】
以下に示す実施形態の理解を容易にするため,一例として,電子マネーの残高照会を想定する。クライアントとしてのパソコンからICチップが埋設されたICカードに,サーバを通じてアクセスし,サーバがそのICカードの電子マネーの残高を取得するとパソコンの画面に結果として表示する。上記パソコンは,セキュリティ上,ICカードの情報を直接取得することはできず,例えば,サーバにおいてのみ残高情報を取得するためのコマンドが生成され,その結果のみがパソコンに送信される。以下,具体的な構成によって実施形態を説明する。
【0032】
(第1の実施形態:情報処理システム)
図1は,第1の実施形態における情報処理システムの概略的な構成を示したブロック図である。かかる情報処理システムは,ICカードに埋設されたICチップ100と,ICチップ100に所定の処理を行わせるクライアント110と,クライアント110とインターネット等の通信網120を介して接続され,クライアント110を通じてICチップ100への所定の処理を支援するサーバ130とを含んで構成される。
【0033】
上記クライアント110やサーバ130は,パーソナルコンピュータ,ワークステーション,PDA(Personal Digital Assistant),携帯電話,携帯型音声プレーヤ,家庭ゲーム機,情報家電,テレビ会議システム等で形成され,少なくとも通信網120を介して他の電子機器とデータ通信を行うことができる。
【0034】
上記クライアント110は,ICチップ100が埋設されたICカードと非接触の無線通信を行うため,リーダ/ライタ140に接続されている。
【0035】
また,上記サーバ130は,サーバ130で送受信されるICチップ100に関するデータを暗号化または復号化するセキュリティモジュールを備えている。上記セキュリティモジュールは,耐タンパ性を有し,上記暗号化や復号化に用いる複数の鍵を管理する。
【0036】
上記ICチップ100は,図1に示したようにICカードに埋設されて利用されるが,かかる場合に限られず,ICタグや携帯電話等の電子機器,または,当該クライアント110等に設けられるとしても良い。図1では,ICチップ100を含んだICカードがクライアント110に接続されたリーダ/ライタ140に載置されている状態が示されている。本実施形態において,ICチップ100は,リーダ/ライタ140と非接触な無線通信を行う。
【0037】
この非接触な無線通信としては,例えば,近距離無線規格(NFC:Near Field Communication,以下,NFCと言う。)を利用することができる。かかるNFCは,その利用範囲が10cm程度と狭いので,ハンドアクションにより通信相手を限定する等セキュリティにも優れている。また,非接触にデータ通信が可能であるということは,外気に露出する金属端子が不要ということであり,上記ICカードやICタグの外観を損なわず,メンテナンス性や耐蝕性に優れたサービスを提供することができる。
【0038】
上記ICチップ100は,従来からある磁気タイプのキャッシュカードやクレジットカードと違い,大容量のメモリを利用して,1つのICチップ100を複数のアプリケーションで利用することができる。即ち,複数のサービス提供者を,ICチップ100を埋設した一枚のICカードに登録することが可能であり,ユーザは,この一枚のICカードを利用して様々なサービスを受けることができる。
【0039】
しかし,このようなICチップ100をクライアント110を通じて利用しようとしても,クライアント110自体は,ICチップ100を直接操作し得る術を持っていない。ICチップ100の操作は,メンテナンスやセキュリティの関係上サーバ130が行う。
【0040】
複数のサービス提供者から提供されるサービスにおけるICチップ100への全てのコマンドを,クライアント110が生成するとした場合,サービスに追加された新規のコマンドを反映するための更新作業が頻繁に行われ,また,膨大な容量のコマンド生成アプリケーションを他のサービス提供者のアプリケーションに影響しないように維持しなければならない。従って,メンテナンスの関係上,クライアント110にコマンド生成アプリケーションを設けるのは有効ではない。
【0041】
また,クライアント110でICチップ100の全ての管理を行うとすると,サーバ130側のサービス提供者のみが取り扱うべきデータを,クライアント110が把握することができ,セキュリティの関係上でも,コマンド生成アプリケーションをクライアント110に設けるべきではない。
【0042】
従って,ICチップ100に記憶されたデータを参照する場合,クライアントは,Webブラウザを通じて,先ず,サーバ130にアクセスする。かかるサーバ130は,ユーザが所望する処理を認識し,クライアント110を通じてICチップ100への通信を開始する。かかる処理が終了すると,サーバ130は,その結果をクライアントのWebブラウザに表示する。クライアント110は,サーバ130からのコマンドを中継することのみによって,ICチップ100の処理に介在する。
【0043】
図2は,サーバ130からのコマンドをクライアント110で中継する流れを示したフローチャートである。ここでは,特に,ICチップ100との通信開始時を想定し,サービスを受けるための所定の処理として,データを復号化するための鍵バージョン取得を挙げている。
【0044】
ここで,「鍵バージョン」は,ICチップ100との暗号化通信に用いられる複数の鍵の識別子であり,ICチップ100内に複数のサービス領域を含む場合や1つのサービス領域において複数の鍵を利用する場合等に使用される。サーバ130は,このICチップ100からの鍵バージョンによる鍵を参照してデータの暗号化および復号化を実施する。また,ICチップ100に鍵が存在しない場合,鍵バージョンとして例えばFFFFhをサーバ130に返信し,サーバ130はかかる応答データによって,ICチップ100に鍵が無いことを認識する。
【0045】
先ず,ユーザは,ICチップ100をクライアント110に物理的に接続する(S200)。これは,USBやRS―232による接触式の接続でも良いし,上述したNFCによる非接触の接続であっても良い。NFCによる非接触な接続は,例えば,リーダ/ライタ140の読み取り面にICチップ100を含んだICカードを翳すもしくは載置することにより行い得る。クライアント110は,サービス提供者から提供されたブラウザもしくはアプリケーションによってサーバ130との通信を開始し(S202),双方を認証する(S204)。
【0046】
サーバ130は,ユーザが所望する所定の処理を行う前に,操作するICチップ100固有に設けられたチップIDを取得する必要がある。従って,サーバ130は,チップIDを取得するためのID取得コマンド(ポーリング)をクライアント110に送信する(S206)。かかるチップIDは,クライアント110やサーバ130のIDとは相違するICチップ固有の番号であり,ICチップ1つに対して1つ設けられるとしても良いし,ICチップ100がアプリケーションに応じて論理的に領域分割されている場合には,その領域毎に設けられるとしても良い。サーバ130からID取得コマンドを受信したクライアントは,そのまま,かかるID取得コマンドをICチップ100に送信する(S208)。
【0047】
ICチップ100は,自己を特定するチップIDを含んだ応答データをクライアント110に返信する(S210)。ここで,応答データとしたのは,サーバ130のコマンドは,通常,所定の領域のデータを読み取るコマンドであり,チップIDはその領域の一部に書き込まれているからである。クライアント110は,ICチップ100からの応答データをそのままサーバ130に送信する(S212)。
【0048】
上述したように,チップIDはICチップ100からの応答データの一部に記載されているため,サーバ130は,かかる応答データからチップIDを抽出し,処理コマンドとしての鍵バージョン取得コマンドにチップIDを埋め込む(S214)。ICチップ100は,このようにチップIDを埋め込んだ処理コマンドのみに応答する構成になっているので,前段にチップIDの取得が必要となる。ここで,処理コマンドは,少なくともチップIDを埋め込むことによりICチップ100に対して有効になるコマンドを示す。
【0049】
サーバ130は,次のステップとして,チップIDが埋め込まれた処理コマンド(鍵バージョン取得コマンド)をリクエストサービスとして再度クライアント110に送信し(S220),クライアント110は,その処理コマンドをICチップ100に中継する(S222)。
【0050】
ICチップ100は,クライアント110から受信した処理コマンドのチップIDが当該ICチップのチップIDと等しいかどうかを判断し,チップIDが等しいと判断した場合に,処理コマンドに応じて,所定の処理,ここでは,自己の鍵バージョンをデータとして準備する(S224)。
【0051】
かかる鍵バージョンを含んだ応答データは,一旦クライアント110に送信され(S226),引き続きサーバ130に送信される(S228)。サーバ130は,この応答データから鍵バージョンを抽出し,事後の処理のため保持する(S230)と共に,かかる鍵バージョンを取得完了したことをクライアントに伝達する(S232)。
【0052】
ICチップ100に記憶されている情報は厳重に保護する必要があり,ICチップ100との通信には上記鍵バージョンによって特定される鍵を用いた暗号化データが利用される。従って,クライアント110もしくはサーバ130は,通信開始動作としてICチップ100を特定するチップIDおよび鍵バージョンを取得してから,はじめて所望のサービスを開始する。
【0053】
上記のようにクライアント110がサーバ130からのコマンドを中継する構成では,サーバ130上で,少なくとも(1)ICチップ固有のチップIDを取得する,(2)取得されたチップIDを付加した処理コマンドによってICチップに所定の処理を行わせる,という2段階の処理が必要となる。このため,携帯電話などの通信端末では,通信のオーバーヘッドが大きくなり,通信回数が全体の処理の遅延に大きく影響する。
【0054】
そこで,本発明による実施形態において,上記2段階の処理をサーバ130に実施させず,クライアント110が処理の一部を担うことによって,サーバ130−クライアント110間のアクセス回数を減ずる。特に,ICチップ固有のチップIDを処理コマンドに埋め込む(所定位置に上書きする)処理をクライアント110で実施している。
【0055】
以下では,上記情報処理システムを利用して,ICチップに所定の処理を行わせる情報処理方法を詳述する。
【0056】
(第2の実施形態:情報処理方法)
図3は,第2の実施形態における情報処理方法の流れを示したフローチャートである。ここでも,ICチップ100との通信開始時を想定し,サービスを受けるための所定の処理として,データを復号化するための鍵バージョン取得を挙げている。
【0057】
先ず,ユーザは,第1の実施形態において説明したのと同様に,ICチップ100をクライアント110に物理的に接続する(S250)。クライアント110は,ブラウザのHTTP(HyperText Transfer Protocol)リクエストもしくはサービス提供者から提供されたアプリケーションによってサーバ130との通信を開始し(S252),双方をセッションID等により認証する(S254)。このとき,クライアント110は,サーバ130に対して,所定の処理を実行するための処理コマンドの送信を要求する。
【0058】
サーバ130は,クライアント110から受信した処理コマンドの送信要求に応じて,所定の処理を実行するための処理コマンドと,ICチップ100のチップIDを取得するID取得コマンドを同タイミングでクライアントに送信する(S256)。かかるチップIDは,上記同様,ICチップ1つに対して1つ設けられるとしても良いし,ICチップ100がアプリケーションに応じて論理的に領域分割されている場合には,その領域毎に設けられるとしても良い。
【0059】
サーバ130からID取得コマンドを受信したクライアント110は,そのID取得コマンドからICチップ100に実際に送信するID取得コマンドを取り出し(S258),ICチップ100に送信する(S260)。
【0060】
ICチップ100は,上記ID取得コマンドに応じて,自己を特定するチップIDを含んだ応答データをクライアント110に返信する(S262)。かかる応答データは,目的であるチップIDを一部に含んでいる。クライアント110は,ICチップ100の応答データからチップIDを抽出し,クライアント110内に保持する(S264)。
【0061】
そして,クライアント110は,抽出されたチップIDを,サーバ130から受信した処理コマンドの所定の位置に埋め込んで,その処理コマンドをICチップ100に送信する(S270)。上記処理コマンドへのチップIDの埋め込みをクライアント110で実施することによって,サーバ130−クライアント110間の通信回数を減ずることができる。
【0062】
ICチップ100は,クライアント110から受信した処理コマンドのチップIDが当該ICチップのチップIDと等しいかどうかを判断し,チップIDが等しいと判断された場合に,処理コマンドに応じて,所定の処理,ここでは,自己の鍵バージョンを応答データとして準備する(S272)。
【0063】
かかる鍵バージョンを含んだ応答データは,クライアント110に送信され(S274),今度は,クライアント110で加工されることなくサーバ130に送信される(S276)。このとき,ICチップ100に鍵バージョンが複数存在すれば,その全てを伝達するとしても良く,1つも存在しない場合は,FFFFh等のダミー値を送信して鍵バージョンの不在を伝達するとしても良い。サーバ130は,この応答データから鍵バージョンを抽出し,事後の処理のため保持する(S278)と共に,かかる鍵バージョンを取得完了したことをクライアントに伝達する(S280)。クライアント110は,この初期動作の完了を受けて,所望のサービスを開始する。
【0064】
ICチップ100−クライアント110間の通信と比較して,クライアント110−サーバ130間の通信は,通常,長時間を要する。ここでは,サーバ130において実施すべき,取得されたチップIDを付加した処理コマンドによってICチップに所定の処理を行わせる段階をクライアント110に実施させているので,長時間を要するとされるクライアント110−サーバ130間の通信回数を削減でき,通信のオーバーヘッドを小さく,かつ,全体の処理の遅延を改善することが可能となる。
【0065】
その代わり,上述した情報処理方法において,クライアント110が,チップIDを抽出し,抽出されたチップIDを処理コマンドの所定の位置に埋め込むといった特別な処理が追加されている。かかる処理を効率的に実行するために,本実施形態では,サーバ130−クライアント110間で特別なパケットを用いている。かかる特別なパケットは,ID取得コマンドや処理コマンドのフォーマットとして後述される。
【0066】
以下では,上記情報処理方法を実現することが可能な情報処理システムを構成するクライアント110,サーバ130,ICチップ100の個々の構成を詳細に説明する。
【0067】
(第3の実施形態:クライアント110)
図4は,第3の実施形態におけるクライアント110の概略的な構成を示したブロック図である。上記クライアント110は,クライアント制御部300と,処理コマンド要求部310と,ID取得コマンド送信部312と,チップID抽出部314と,クライアント記憶部316と,処理コマンド送信部318と,表示部320と,入力部322とを含んで構成され,サーバ130の支援を受け,接続されるリーダ/ライタ140を介して,ICチップ100に所定の処理を行わせる。
【0068】
上記リーダ/ライタ140は,アンテナ,RF回路,変復調回路,エンコーダ,デコーダ等から形成され,少なくとも,上記NFCで定義された通信帯域により,ICチップ100と通信を行う。上記アンテナは,例えば,ループアンテナ形状に形成されるとしても良い。
【0069】
上記クライアント制御部300は,中央処理装置(CPU)を含む半導体集積回路によりクライアント110全体を管理および制御する。
【0070】
上記処理コマンド要求部310は,サーバ130に対して,ICチップ100に所定の処理を行わせるための処理コマンドの送信を要求する。
【0071】
上記ID取得コマンド送信部312は,サーバ130から受信した,ID取得コマンドと処理コマンドのうち,ID取得コマンドを,ICチップ100に送信する。また,上記チップID抽出部314は,かかるID取得コマンドによるICチップからの応答データを受信し,その応答データからチップIDを抽出する。
【0072】
ここで,サーバ130から受信するID取得コマンドには,ICチップからの応答データ中におけるチップIDの位置を示すID位置情報が付加されるとしても良く,チップID抽出部314は,このID位置情報に基づいて,応答データからチップIDを抽出するとしても良い。
【0073】
図5は,クライアント110におけるID取得コマンドの処理を模式的に示した説明図である。図5では,上記ID取得コマンドのフォーマットが記載されている。図5を参照すると,取得の対象がチップIDに限られず,チップIDを含むパラメータの取得という概念でフォーマットが形成されている。従って,上記パラメータの取得という考え方は,チップIDの取得の上位概念に当たり,ICチップ100から様々なパラメータを取得するときに利用されるコマンドである。ここでは,チップIDの取得をパラメータの取得に置き換えて説明する。
【0074】
先ず,サーバ130からクライアント110に送信されるID取得コマンドには,取得するパラメータ(チップID)の位置情報であるパラメータ位置情報(ID位置情報)350と,取得したパラメータ(チップID)を識別するためのパラメータID(識別子)352とが付加されている。
【0075】
上記パラメータ位置情報350は,パラメータ開始位置(チップID開始位置)354とパラメータ長(チップID長)356とから形成される。ここでは,パラメータの位置を開始位置と長さで特定しているが,開始位置と終了位置で特定することもできる。上記パラメータID352は,クライアント110において複数のパラメータを取り扱うために設けられた任意のIDであって,パラメータが1つのみ参照される構成では,このパラメータID352の領域を予約領域とするか,もしくは省略することができる。
【0076】
クライアント110は,かかるID取得コマンドからICチップ100に送信するためのID取得コマンド358のみを抽出し,ICチップ100に送信する。このとき,パラメータID352,パラメータ開始位置354,パラメータ長356は,クライアント110に保持される。
【0077】
かかるID取得コマンドに対するICチップ100からの応答データ370は,パラメータ(チップID)を一部に含むデータである。クライアント110は,かかる応答データ370からパラメータを抽出する。このとき,抽出する位置として,クライアント110に保持している上記パラメータ開始位置354,パラメータ長356が参照され,パラメータ372が抽出される。このように上記パラメータ位置情報350により,クライアント110は,パラメータ(チップID)372を確実に抽出することが可能となる。
【0078】
また,抽出されたパラメータ372は,他のコマンドに利用するため,パラメータID352に対応付けられる。このようにパラメータID352に対応付けられたパラメータ372は,後述するクライアント記憶部316に記憶され,パラメータID352によっていつでも参照可能となる。
【0079】
上記クライアント記憶部316は,HDDやメモリ等の記憶媒体で形成され,少なくとも,識別子としてのパラメータID352と,チップIDとしてのパラメータ372とを関連付けて記憶する。
【0080】
上記処理コマンド送信部318は,チップID抽出部314で抽出されたチップIDを,サーバ130から受信した処理コマンドに埋め込んで,該チップIDが埋め込まれた処理コマンドをICチップ100に送信する。
【0081】
ここで,サーバ130から受信する処理コマンドには,チップIDを埋め込む位置を示す埋込位置情報が付加されるとしても良く,処理コマンド送信部318は,この埋込位置情報に基づいて,チップIDを処理コマンドに埋め込むとしても良い。
【0082】
図6は,クライアント110における処理コマンドの処理を模式的に示した説明図である。図6では,上記処理コマンドのフォーマットが記載されている。図6では,図5同様,チップIDの上位概念であるパラメータを挙げて各処理を説明する。
【0083】
先ず,サーバ130からクライアント110に送信される処理コマンドには,処理コマンドに付加すべきパラメータ(チップID)を識別するためのパラメータID380と,そのパラメータID380により参照されるパラメータをコマンド384に埋め込むためのパラメータ埋込位置(埋込位置情報)382とが付加されている。
【0084】
上記パラメータID380は,パラメータID352同様,クライアント110において複数のパラメータを取り扱うために設けられた任意のIDであって,パラメータが1つのみ参照される構成では,このパラメータID380の領域を予約領域とするか,もしくは省略することができる。また,パラメータIDを省略して,所定の記憶領域に直前に記憶されたパラメータを参照する構成をとることも可能である。
【0085】
また,上記コマンド384がサーバ130で生成される時点では,埋め込まれるパラメータ(チップID)を処理コマンドに付すことができないので,パラメータが後に付される領域には,例えば,0やFh等を繰り返したダミー値が入っているとしても良い。
【0086】
クライアント110は,パラメータID380に基づいて,クライアント記憶部316からパラメータ(チップID)を参照する。ここでは,ID取得コマンドのパラメータID352と,処理コマンドのパラメータID380が等しいので,かかるパラメータID380からは,上記パラメータ372が参照される。
【0087】
クライアント110は,参照したパラメータ(チップID)372を,コマンド384のパラメータ埋込位置382に埋め込んで,ICチップ100に送信するコマンド(処理コマンド)386を生成する。かかるコマンド386にはパラメータとしてのチップIDが埋め込まれているので,ICチップ100に所定の処理を行わせることが可能となる。上記埋込位置情報としてのパラメータ埋込位置382により,クライアント110は,処理コマンドにおける適切な位置にチップIDを埋め込むことができる。また,識別子としてのパラメータID380により,既にクライアント110で取得済みのパラメータ(チップID)372を確実に識別することが可能となる。
【0088】
上述したように,クライアント110は,チップIDを抽出し,抽出されたチップIDを処理コマンドの所定の位置に埋め込む。しかし,クライアント110は,抽出するデータがチップIDであることや,複数の処理コマンドがどのように作用するのかを理解する必要はない。
【0089】
クライアント110は,サーバ130からのコマンド(パケット)に応じてデータの読み書きを行っているに過ぎず,具体的なコマンドの管理はサーバ130側で行う。従って,クライアント110は,サーバ130からの共通かつ簡単なコマンドを理解する能力のみが必要であり,膨大な量かつ高い処理能力を要するコマンドを理解または保持する必要はない。このような構成により,新たなサービスやコマンドが追加されても,その都度クライアント110のアプリケーションを更新する必要がなくなり,低コストで高いメンテナンス能力を維持できる。
【0090】
また,サーバ130からのID取得コマンドや処理コマンドは,クライアント110がそれをコマンド(例えば,読み取りや書き込み)として認識できる最低限の識別子が付与されるとしても良い。
【0091】
上記表示部320は,白黒もしくはカラーのディスプレイで表され,サーバ130から提供されるWebブラウザやアプリケーションのGUIによってICチップ100に対するサービスの表示を行う。また,上記入力部322は,キーボード,テンキー等のキー入力部(図示せず)で形成され,表示部320の表示機能を支援し,また,サービスを選択するとき利用される。
【0092】
また,コンピュータが,上記クライアント110として機能するプログラムや,このプログラムが記憶された記憶媒体も提供される。
【0093】
(具体的な回路の実施形態)
図7は,第3の実施形態によるクライアント110の概略的な構成を示した回路ブロック図である。ここでは,上述したクライアント110をさらに具体的な回路で表している。
【0094】
上記クライアント110は,クライアント通信部410と,CPU412と,ROM414と,RAM416と,表示部320と,入力部322とを含んで構成される。
【0095】
上記クライアント通信部410は,リーダ/ライタ140に接続され,ICチップ100とのデータ通信を行う。また,クライアント通信部410は,リーダ/ライタ140を含んで形成することも可能である。この場合,リーダ/ライタ140の構成要素である,アンテナ,RF回路,変復調回路,エンコーダ,デコーダ等も含むことができる。上記アンテナは,例えば,ループアンテナ形状に形成されるとしても良く,上記変復調回路は,ICチップ100へ送信するデータをNFCに従って変調し,また,ICチップ100からの変調波をデータに復調する。
【0096】
上記CPU412は,信号処理を行う半導体集積回路であって,クライアント110全体を管理および制御する。上記ROM414は,バスを介してCPU412に接続され,CPU412に読み込まれクライアント110を制御するプログラムが予め記憶されている。上記RAM416は,CPU412がクライアント110として機能するための所定データを一時的に記憶したり,変数を格納したりする場所として利用される。従って,クライアント記憶部316としても利用可能である。
【0097】
上記表示部320および入力部322は,既に説明されているためここでは詳細な説明を省略する。
【0098】
(第4の実施形態:サーバ130)
図8は,第4の実施形態におけるサーバ130の概略的な構成を示したブロック図である。上記サーバ130は,サーバ制御部500と,コマンド群送信部510と,表示部512と,入力部514とを含んで構成され,ICチップ100に所定の処理を行わせるクライアント110を通じてICチップ100への所定の処理を支援する。
【0099】
上記サーバ制御部500は,中央処理装置(CPU)を含む半導体集積回路によりサーバ130全体を管理および制御する。
【0100】
上記コマンド群送信部510は,クライアント110から受信した処理コマンドの送信要求に応じて,ICチップ100に行わせる所定の処理を実行するための処理コマンドと,ICチップ100のチップIDを取得するID取得コマンドを同タイミングでクライアント110に送信する。
【0101】
上記表示部512は,白黒もしくはカラーのディスプレイで表され,サーバ130内のコマンドの追加やクライアント110に提供するブラウザやコンテンツ変更処理の表示を行う。また,上記入力部514は,キーボード,テンキー等のキー入力部(図示せず)で形成され,表示部512の表示機能を支援する。
【0102】
サーバ130は,クライアント110からのICチップ処理要求に対して,ICチップ固有のチップIDを取得し,さらに,取得されたチップIDを処理コマンドに埋め込んで処理コマンドを送付していた。本実施形態においては,その処理の一部をクライアント110に転移することで,サーバ130の負担を軽減できる。そのとき,サーバ130は,処理コマンドとID取得コマンドを同タイミングでクライアント110に送信する。
【0103】
また,コンピュータが,上記サーバ130として機能するプログラムや,このプログラムが記憶された記憶媒体も提供される。
【0104】
(具体的な回路の実施形態)
第4の実施形態によるサーバ130は,第3の実施形態におけるクライアント110とほぼ同等の回路ブロックを有し,少なくとも,CPUと,ROMと,RAMと,表示部と,入力部とを含んで構成される。従って,第3の実施形態における構成要素として既に述べた上記の構成は,実質的に機能が同一なので重複説明を省略する。
【0105】
(第5の実施形態:ICチップ100)
図9は,第5の実施形態におけるICチップ100の概略的な構成を示したブロック図である。上記ICチップ100は,チップ制御部600と,アンテナ610と,チップID送信部612と,チップID判断部614と,処理実行部616とを含んで構成される。
【0106】
上記チップ制御部600は,中央処理装置(CPU)を含む半導体集積回路によりICチップ100全体を管理および制御する。
【0107】
上記アンテナ610は,少なくとも,NFCで無線通信可能な通信帯域を有し,例えば,ループアンテナ形状に形成されるとしても良い。
【0108】
上記チップID送信部612は,クライアント110がICチップ100に対して通信可能範囲内にあるとき,例えば,利用する無線通信方式がNFCであり,ICチップ100とクライアント110との間が約10cm以内であるとき,クライアント110からのID取得コマンドに応じて,チップIDを含む応答データを送信する。かかるICチップ100とクライアント110間の通信は,クライアント110が通信可能範囲内にあることを自動的に検知して,両者を認証した後,自動的に開始されるとしても良い。
【0109】
上記チップID判断部614は,クライアント110から受信した処理コマンドからチップIDを抽出し,抽出されたチップIDが当該ICチップ100のチップIDと等しいかどうかを判断する。
【0110】
上記処理実行部616は,チップID判断部614において,チップIDが等しいと判断された場合に,処理コマンドに応じて,上記所定の処理を実行する。かかる所定の処理は,通常,ICチップ100内に保持されたデータの出力であるが,かかる場合に限られず,例えば,ICチップ100内に設けられたフラグやスイッチの設定,LEDの点灯等,様々な処理を適応することができる。また,ICチップ100内に保持されるデータとして,ユーザIDや金額等のパラメータに限られず,特定の物や場所を示す,URL,概略情報,詳細情報,地図情報,料金,日時等も含むことができる。
【0111】
また,コンピュータを,上記ICチップ100として機能させるプログラムや,そのプログラムを記憶した記憶媒体も提供される。
【0112】
(具体的な回路の実施形態)
図10は,第4の実施形態によるICチップ100の概略的な構成を示した回路ブロック図である。ここでは,上述したICチップ100をさらに具体的な回路で表している。
【0113】
上記ICチップ100は,ループアンテナ650と,変復調回路652と,信号処理回路654と,不揮発性メモリ656と,電源生成部658とを含んで構成される。
【0114】
上記ループアンテナ650は,小さな空間においても受信感度を上げるため複数のループを形成している。こうして,NFCの通信帯域を可能にする。また,利用される通信規格や搬送波の周波数によっては,上記ループアンテナ650を使用しなくても,ICチップ内蔵のアンテナで対応できる。
【0115】
上記変復調回路652は,クライアント110へ送信するデータをNFCに従って変調し,また,クライアント110からの変調波をデータに復調する。
【0116】
上記信号処理回路654は,信号処理を行う半導体集積回路であって,ICチップ100全体を管理および制御する。上記不揮発性メモリ656は,ROMとRAMの両機能を有し,電源がオフしても記憶されている内容が消えない。従って,ICチップ100の管理者がデータを書き換え,その後,電源が供給されない状況になったとしても,そのデータは保持される。
【0117】
上記電源生成部658は,クライアント110と通信が接続されている間,クライアント110からの電波を電力に変換し,変復調回路652,信号処理回路654,不揮発性メモリ656に供給する。このように電源生成部658は,限りある電波から各回路に電源を供給しなくてはならないので,各回路には極力低消費電力の素子が利用される。
【0118】
(第6の実施形態:クライアントの他の実施形態)
図11は,第6の実施形態におけるクライアント700の概略的な構成を示したブロック図である。上記クライアント700は,クライアント制御部300と,処理コマンド要求部310と,ID取得コマンド送信部312と,チップID抽出部314と,クライアント記憶部316と,処理コマンド送信部318と,表示部320と,入力部322と,ICチップ710とを含んで構成される。
【0119】
上記クライアント700の構成は,第3の実施形態で説明したクライアント110と,第5の実施形態で説明したICチップ100を一体形成する場合であり,ICチップ710は,クライアント700に内蔵されつつ,クライアント700とは独立してその機能を実施する。従って,第3および第5の実施形態における構成要素として既に述べたものに関しては,実質的に機能が同一なので重複説明を省略し,ここでは,構成が相違する点のみ説明する。
【0120】
上記ICチップ710は,クライアント700に内設される。従って,クライアント700の主要な構成要素,例えば,クライアント制御部300と無線でデータ通信を行う必要がなく,ここでは,バス等を介して有線で接続される。よって,リーダ/ライタ140の構成も不要となる。
【0121】
上記クライアント700としては,携帯電話等やPDA等の通信端末が想定され,かかる通信端末からサーバ130にアクセスし,ICチップ710に関するサービスを受けることが可能となる。
【0122】
(第7の実施形態:クライアントの他の実施形態)
図12は,第7の実施形態におけるクライアント720の概略的な構成を示したブロック図である。上記クライアント720は,クライアント制御部300と,処理コマンド要求部310と,ID取得コマンド送信部312と,チップID抽出部314と,クライアント記憶部316と,処理コマンド送信部318と,表示部320と,入力部322と,ICチップ710と,リーダ/ライタ部730とを含んで構成される。
【0123】
上記クライアント720の構成は,第6の実施形態で説明したクライアント700に,別体に設けられた他のICチップ100と通信するリーダ/ライタ部730を追加したものである。従って,上述した構成に関しては,実質的に機能が同一なので重複説明を省略し,ここでは,上記の付加構成による効果を説明する。
【0124】
現在,携帯電話等の通信端末に,ICチップ710のみではなく,別体のICチップ100も取り扱うことができるリーダ/ライタ機能を設置することが検討されている。かかるICチップ710とリーダ/ライタ部730の両構成により,セキュアなICチップの機能を身近な通信端末で利用できるだけでなく,ICカードの読み取り装置が近辺に設置されていない状況においても,容易にICカードにアクセスすることが可能となり,使い勝手が良くなる。このことは,ICカードや通信端末の販売促進にもつながる。
【0125】
上記リーダ/ライタ部730はかかるICチップ710に埋設されて一体に形成されるとしても良い。
【0126】
また,コンピュータが,上述したクライアント700,720として機能するプログラムや,そのプログラムを記憶した記憶媒体も提供される。
【0127】
以上,添付図面を参照しながら本発明の好適な実施形態について説明したが,本発明は係る例に限定されないことは言うまでもない。当業者であれば,特許請求の範囲に記載された範疇内において,各種の変更例または修正例に想到し得ることは明らかであり,それらについても当然に本発明の技術的範囲に属するものと了解される。
【0128】
例えば,上述の実施形態においては,ID取得コマンドと処理コマンドの対を挙げて説明しているが,かかるコマンド対には限られず,例えば,ICチップがセキュアでないとき,リードコマンドとライトコマンドとの対において,読み込んだデータの一部を抽出し,そのままライトコマンドに埋め込んでICチップにライトコマンドを送信する等,クライアント−サーバ間の通信負担を軽減可能な様々なコマンドに適応することができる。
【0129】
また,上記実施形態では,ICチップとクライアントとの通信を非接触無線通信によって行っているが,かかる場合に限られず,有線または無線で行うとしても良く,接触式または非接触式で行うこともできる。
【0130】
なお,本明細書の情報処理方法における各工程は,必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく,並列的あるいは個別に実行される処理(例えば,並列処理あるいはオブジェクトによる処理)も含むとしても良い。
【図面の簡単な説明】
【0131】
【図1】第1の実施形態における情報処理システムの概略的な構成を示したブロック図である。
【図2】サーバからのコマンドをクライアントで中継する流れを示したフローチャートである。
【図3】第2の実施形態における情報処理方法の流れを示したフローチャートである。
【図4】第3の実施形態におけるクライアントの概略的な構成を示したブロック図である。
【図5】クライアントにおけるID取得コマンドの処理を模式的に示した説明図である。
【図6】クライアントにおける処理コマンドの処理を模式的に示した説明図である。
【図7】第3の実施形態によるクライアントの概略的な構成を示した回路ブロック図である。
【図8】第4の実施形態におけるサーバの概略的な構成を示したブロック図である。
【図9】第5の実施形態におけるICチップの概略的な構成を示したブロック図である。
【図10】第4の実施形態によるICチップの概略的な構成を示した回路ブロック図である。
【図11】第6の実施形態におけるクライアントの概略的な構成を示したブロック図である。
【図12】第7の実施形態におけるクライアントの概略的な構成を示したブロック図である。
【符号の説明】
【0132】
100,710 ICチップ
110,700,720 クライアント
130 サーバ
140,730 リーダ/ライタ
310 処理コマンド要求部
312 ID取得コマンド送信部
314 チップID抽出部
318 処理コマンド送信部
510 コマンド群送信部
612 チップID送信部
614 チップID判断部
616 処理実行部
【特許請求の範囲】
【請求項1】
ICチップと,該ICチップに所定の処理を行わせるクライアントと,該クライアントと通信網を介して接続されたサーバと,からなる情報処理システムであって:
前記クライアントは,
前記サーバに,前記所定の処理を実行するための処理コマンドの送信を要求する処理コマンド要求部と;
前記サーバから受信した,前記ICチップのチップIDを取得するID取得コマンドを,前記ICチップに送信するID取得コマンド送信部と;
前記ICチップからの応答データからチップIDを抽出するチップID抽出部と;
前記抽出されたチップIDを,前記サーバから受信した処理コマンドに埋め込んで,該チップIDが埋め込まれた処理コマンドを前記ICチップに送信する処理コマンド送信部と;
を備え,
前記サーバは,
前記クライアントから受信した処理コマンドの送信要求に応じて,該処理コマンドと,ID取得コマンドとを同タイミングでクライアントに送信するコマンド群送信部と;
を備え,
前記ICチップは,
前記クライアントからのID取得コマンドに応じて,チップIDを含む応答データを送信するチップID送信部と;
前記クライアントから受信した処理コマンドのチップIDが当該ICチップのチップIDと等しいかどうかを判断するチップID判断部と;
チップIDが等しいと判断された場合に,前記処理コマンドに応じて,前記所定の処理を実行する処理実行部と;
を備えることを特徴とする,情報処理システム。
【請求項2】
通信網を介して接続されたサーバの支援を受けて,ICチップに所定の処理を行わせるクライアントであって:
前記サーバに,前記所定の処理を実行するための処理コマンドの送信を要求する処理コマンド要求部と;
前記サーバから受信した,前記ICチップのチップIDを取得するID取得コマンドを,前記ICチップに送信するID取得コマンド送信部と;
前記ICチップからの応答データからチップIDを抽出するチップID抽出部と;
前記抽出されたチップIDを,前記サーバから受信した処理コマンドに埋め込んで,該チップIDが埋め込まれた処理コマンドを前記ICチップに送信する処理コマンド送信部と;
を備えることを特徴とする,クライアント。
【請求項3】
前記サーバから受信するID取得コマンドには,ICチップからの応答データ中におけるチップIDの位置を示すID位置情報が付加され,
前記チップID抽出部は,前記ID位置情報に基づいて,前記応答データからチップIDを抽出することを特徴とする,請求項2に記載のクライアント。
【請求項4】
前記サーバから受信するID取得コマンドには,さらに,抽出されたチップIDを参照するための識別子が付加され,
前記チップID抽出部は,抽出したチップIDを前記識別子に対応付けることを特徴とする,請求項3に記載のクライアント。
【請求項5】
前記サーバから受信する処理コマンドには,チップIDを埋め込む位置を示す埋込情報が付加され,
前記処理コマンド送信部は,前記埋込位置情報に基づいて,前記チップIDを処理コマンドに埋め込むことを特徴とする,請求項2に記載のクライアント。
【請求項6】
前記サーバから受信する処理コマンドには,さらに,当該クライアントにおいてチップIDを特定可能な識別子が付加され,
前記処理コマンド送信部は,前記識別子に対応付けられたチップIDを処理コマンドに埋め込むことを特徴とする,請求項5に記載のクライアント。
【請求項7】
前記ICチップと当該クライアントは,近距離無線規格による無線通信が用いられることを特徴とする,請求項2に記載のクライアント。
【請求項8】
コンピュータを利用して,通信網を介して接続されたサーバの支援を受けて,ICチップに所定の処理を行わせるプログラムであって:
コンピュータが,
前記サーバに,前記所定の処理を実行するための処理コマンドの送信を要求する処理コマンド要求部と;
前記サーバから受信した,前記ICチップのチップIDを取得するID取得コマンドを,前記ICチップに送信するID取得コマンド送信部と;
前記ICチップからの応答データからチップIDを抽出するチップID抽出部と;
前記抽出されたチップIDを,前記サーバから受信した処理コマンドに埋め込んで,該チップIDが埋め込まれた処理コマンドを前記ICチップに送信する処理コマンド送信部と;
として機能することを特徴とする,プログラム。
【請求項9】
通信網を介して接続されたサーバの支援を受けて,ICチップに所定の処理を行わせる情報処理方法であって:
前記サーバに,前記所定の処理を実行するための処理コマンドの送信を要求する処理コマンド要求ステップと;
前記サーバから受信した,前記ICチップのチップIDを取得するID取得コマンドを,前記ICチップに送信するID取得コマンド送信ステップと;
前記ICチップからの応答データからチップIDを抽出するチップID抽出ステップと;
前記抽出されたチップIDを,前記サーバから受信した処理コマンドに埋め込んで,該チップIDが埋め込まれた処理コマンドを前記ICチップに送信する処理コマンド送信ステップと;
を含むことを特徴とする,情報処理方法。
【請求項10】
通信網を介して接続されたサーバの支援を受けて,ICチップに所定の処理を行わせるクライアントであって:
前記サーバに,前記所定の処理を実行するための処理コマンドの送信を要求する処理コマンド要求部と;
前記サーバから受信した,前記ICチップのチップIDを取得するID取得コマンドを,前記ICチップに送信するID取得コマンド送信部と;
前記ICチップからの応答データからチップIDを抽出するチップID抽出部と;
前記抽出されたチップIDを,前記サーバから受信した処理コマンドに埋め込んで,該チップIDが埋め込まれた処理コマンドを前記ICチップに送信する処理コマンド送信部と;
を備え,
前記ICチップは,前記ID取得コマンド送信部からのID取得コマンドに応じて,チップIDを含む応答データを送信し,前記処理コマンド送信部からの処理コマンドのチップIDが当該ICチップのチップIDと等しいかどうかを判断し,チップIDが等しいと判断された場合に,前記処理コマンドに応じて,前記所定の処理を実行することを特徴とする,クライアント。
【請求項11】
ICチップに所定の処理を行わせるクライアントに通信網を介して接続されたサーバであって:
前記クライアントから受信した処理コマンドの送信要求に応じて,該所定の処理を実行するための処理コマンドと,前記ICチップのチップIDを取得するID取得コマンドを同タイミングでクライアントに送信するコマンド群送信部を備えることを特徴とする,サーバ。
【請求項12】
コンピュータを利用して,ICチップに所定の処理を行わせるクライアントに通信網を介して接続され,該クライアントを通じて該ICチップへの該所定の処理を支援するプログラムであって:
コンピュータが,
前記クライアントから受信した処理コマンドの送信要求に応じて,前記所定の処理を実行するための処理コマンドと,前記ICチップのチップIDを取得するID取得コマンドを同タイミングでクライアントに送信するコマンド群送信部として機能することを特徴とする,プログラム。
【請求項13】
ICチップに所定の処理を行わせるクライアントを通じて該ICチップへの該所定の処理を支援する情報処理方法であって:
前記クライアントから受信した処理コマンドの送信要求に応じて,前記所定の処理を実行するための処理コマンドと,前記ICチップのチップIDを取得するID取得コマンドを同タイミングでクライアントに送信するコマンド群送信ステップを含むことを特徴とする,情報処理方法。
【請求項1】
ICチップと,該ICチップに所定の処理を行わせるクライアントと,該クライアントと通信網を介して接続されたサーバと,からなる情報処理システムであって:
前記クライアントは,
前記サーバに,前記所定の処理を実行するための処理コマンドの送信を要求する処理コマンド要求部と;
前記サーバから受信した,前記ICチップのチップIDを取得するID取得コマンドを,前記ICチップに送信するID取得コマンド送信部と;
前記ICチップからの応答データからチップIDを抽出するチップID抽出部と;
前記抽出されたチップIDを,前記サーバから受信した処理コマンドに埋め込んで,該チップIDが埋め込まれた処理コマンドを前記ICチップに送信する処理コマンド送信部と;
を備え,
前記サーバは,
前記クライアントから受信した処理コマンドの送信要求に応じて,該処理コマンドと,ID取得コマンドとを同タイミングでクライアントに送信するコマンド群送信部と;
を備え,
前記ICチップは,
前記クライアントからのID取得コマンドに応じて,チップIDを含む応答データを送信するチップID送信部と;
前記クライアントから受信した処理コマンドのチップIDが当該ICチップのチップIDと等しいかどうかを判断するチップID判断部と;
チップIDが等しいと判断された場合に,前記処理コマンドに応じて,前記所定の処理を実行する処理実行部と;
を備えることを特徴とする,情報処理システム。
【請求項2】
通信網を介して接続されたサーバの支援を受けて,ICチップに所定の処理を行わせるクライアントであって:
前記サーバに,前記所定の処理を実行するための処理コマンドの送信を要求する処理コマンド要求部と;
前記サーバから受信した,前記ICチップのチップIDを取得するID取得コマンドを,前記ICチップに送信するID取得コマンド送信部と;
前記ICチップからの応答データからチップIDを抽出するチップID抽出部と;
前記抽出されたチップIDを,前記サーバから受信した処理コマンドに埋め込んで,該チップIDが埋め込まれた処理コマンドを前記ICチップに送信する処理コマンド送信部と;
を備えることを特徴とする,クライアント。
【請求項3】
前記サーバから受信するID取得コマンドには,ICチップからの応答データ中におけるチップIDの位置を示すID位置情報が付加され,
前記チップID抽出部は,前記ID位置情報に基づいて,前記応答データからチップIDを抽出することを特徴とする,請求項2に記載のクライアント。
【請求項4】
前記サーバから受信するID取得コマンドには,さらに,抽出されたチップIDを参照するための識別子が付加され,
前記チップID抽出部は,抽出したチップIDを前記識別子に対応付けることを特徴とする,請求項3に記載のクライアント。
【請求項5】
前記サーバから受信する処理コマンドには,チップIDを埋め込む位置を示す埋込情報が付加され,
前記処理コマンド送信部は,前記埋込位置情報に基づいて,前記チップIDを処理コマンドに埋め込むことを特徴とする,請求項2に記載のクライアント。
【請求項6】
前記サーバから受信する処理コマンドには,さらに,当該クライアントにおいてチップIDを特定可能な識別子が付加され,
前記処理コマンド送信部は,前記識別子に対応付けられたチップIDを処理コマンドに埋め込むことを特徴とする,請求項5に記載のクライアント。
【請求項7】
前記ICチップと当該クライアントは,近距離無線規格による無線通信が用いられることを特徴とする,請求項2に記載のクライアント。
【請求項8】
コンピュータを利用して,通信網を介して接続されたサーバの支援を受けて,ICチップに所定の処理を行わせるプログラムであって:
コンピュータが,
前記サーバに,前記所定の処理を実行するための処理コマンドの送信を要求する処理コマンド要求部と;
前記サーバから受信した,前記ICチップのチップIDを取得するID取得コマンドを,前記ICチップに送信するID取得コマンド送信部と;
前記ICチップからの応答データからチップIDを抽出するチップID抽出部と;
前記抽出されたチップIDを,前記サーバから受信した処理コマンドに埋め込んで,該チップIDが埋め込まれた処理コマンドを前記ICチップに送信する処理コマンド送信部と;
として機能することを特徴とする,プログラム。
【請求項9】
通信網を介して接続されたサーバの支援を受けて,ICチップに所定の処理を行わせる情報処理方法であって:
前記サーバに,前記所定の処理を実行するための処理コマンドの送信を要求する処理コマンド要求ステップと;
前記サーバから受信した,前記ICチップのチップIDを取得するID取得コマンドを,前記ICチップに送信するID取得コマンド送信ステップと;
前記ICチップからの応答データからチップIDを抽出するチップID抽出ステップと;
前記抽出されたチップIDを,前記サーバから受信した処理コマンドに埋め込んで,該チップIDが埋め込まれた処理コマンドを前記ICチップに送信する処理コマンド送信ステップと;
を含むことを特徴とする,情報処理方法。
【請求項10】
通信網を介して接続されたサーバの支援を受けて,ICチップに所定の処理を行わせるクライアントであって:
前記サーバに,前記所定の処理を実行するための処理コマンドの送信を要求する処理コマンド要求部と;
前記サーバから受信した,前記ICチップのチップIDを取得するID取得コマンドを,前記ICチップに送信するID取得コマンド送信部と;
前記ICチップからの応答データからチップIDを抽出するチップID抽出部と;
前記抽出されたチップIDを,前記サーバから受信した処理コマンドに埋め込んで,該チップIDが埋め込まれた処理コマンドを前記ICチップに送信する処理コマンド送信部と;
を備え,
前記ICチップは,前記ID取得コマンド送信部からのID取得コマンドに応じて,チップIDを含む応答データを送信し,前記処理コマンド送信部からの処理コマンドのチップIDが当該ICチップのチップIDと等しいかどうかを判断し,チップIDが等しいと判断された場合に,前記処理コマンドに応じて,前記所定の処理を実行することを特徴とする,クライアント。
【請求項11】
ICチップに所定の処理を行わせるクライアントに通信網を介して接続されたサーバであって:
前記クライアントから受信した処理コマンドの送信要求に応じて,該所定の処理を実行するための処理コマンドと,前記ICチップのチップIDを取得するID取得コマンドを同タイミングでクライアントに送信するコマンド群送信部を備えることを特徴とする,サーバ。
【請求項12】
コンピュータを利用して,ICチップに所定の処理を行わせるクライアントに通信網を介して接続され,該クライアントを通じて該ICチップへの該所定の処理を支援するプログラムであって:
コンピュータが,
前記クライアントから受信した処理コマンドの送信要求に応じて,前記所定の処理を実行するための処理コマンドと,前記ICチップのチップIDを取得するID取得コマンドを同タイミングでクライアントに送信するコマンド群送信部として機能することを特徴とする,プログラム。
【請求項13】
ICチップに所定の処理を行わせるクライアントを通じて該ICチップへの該所定の処理を支援する情報処理方法であって:
前記クライアントから受信した処理コマンドの送信要求に応じて,前記所定の処理を実行するための処理コマンドと,前記ICチップのチップIDを取得するID取得コマンドを同タイミングでクライアントに送信するコマンド群送信ステップを含むことを特徴とする,情報処理方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2007−65957(P2007−65957A)
【公開日】平成19年3月15日(2007.3.15)
【国際特許分類】
【出願番号】特願2005−250679(P2005−250679)
【出願日】平成17年8月31日(2005.8.31)
【出願人】(504134520)フェリカネットワークス株式会社 (129)
【Fターム(参考)】
【公開日】平成19年3月15日(2007.3.15)
【国際特許分類】
【出願日】平成17年8月31日(2005.8.31)
【出願人】(504134520)フェリカネットワークス株式会社 (129)
【Fターム(参考)】
[ Back to top ]