ICカードバックアップシステムおよびその方法
【課題】
ICカードとサービス提供者装置間で送受信されるデータをバックアップサーバで記録する。また、バックアップサーバに対してデータの内容は秘匿される。さらにデータを復元する場合、正規のサービス提供者装置許可に基づきその処理が実行できるICカードバックアップ方法およびその方法が適用されるシステムを提供する。
【解決手段】
バックアップセンタ装置は、ICカードに送信されるコマンドデータと、ICカードから返信されるレスポンスデータと、を、該ICカードIDと、該コマンドデータを送信するサービス提供者装置IDと、該コマンドデータの順序情報と、を関連付けて管理する。復元時には、上記コマンドデータ順序情報に従いデータを復元する。
ICカードとサービス提供者装置間で送受信されるデータをバックアップサーバで記録する。また、バックアップサーバに対してデータの内容は秘匿される。さらにデータを復元する場合、正規のサービス提供者装置許可に基づきその処理が実行できるICカードバックアップ方法およびその方法が適用されるシステムを提供する。
【解決手段】
バックアップセンタ装置は、ICカードに送信されるコマンドデータと、ICカードから返信されるレスポンスデータと、を、該ICカードIDと、該コマンドデータを送信するサービス提供者装置IDと、該コマンドデータの順序情報と、を関連付けて管理する。復元時には、上記コマンドデータ順序情報に従いデータを復元する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ICカード等のバックアップ方法に関し、さらに詳しくは、ICカード等の状態を適切に復元するためのシステムおよびその方法に関する。
【背景技術】
【0002】
ICカードやスマートカード(以下、ICカードという)に導入したアプリケーションプログラムを実行することにより、種々のサービスを提供することが行われている。
【0003】
その場合に、ICカードを複数の提供者装置領域に分けて、それぞれにアプリケーションおよびデータを搭載する技術が知られている(例えば、非特許文献1参照)。
【0004】
一方、ICカードを紛失した場合などに備えて、ICカード内のアプリケーションプログラムだけでなく、アプリケーションが用いるデータも含めてバックアップしておき、必要に応じて、ICカードの内容を復元したいという要求は強い(例えば,特許文献1参照)。
【0005】
上記要求は、単一のサービス提供者装置がICカードに対して、残高を減算するためのコマンドデータや、チケットなどを使用済みにするコマンドデータなどを送信する場合、サービス提供者装置で該コマンドデータをバックアップし、ICカードに対してどのような処理が行われたかを管理することにより満たすことができる。
【0006】
また複数のアプリケーションを搭載可能なマルチアプリケーションICカードの場合であっても、個々のアプリケーションに対するコマンドデータが他のアプリケーションへのコマンドデータに干渉しない場合、個々のサービス提供者装置でコマンドデータをバックアップすることで上記要求を満たすことができる。
【0007】
【特許文献1】特開2002−175509号公報
【非特許文献1】「グローバルプラットフォームカードスペシフィケーションバージョン2.1(GlobalPlatform Card Specification Version2.1)」、(米国)、グローバルプラットフォーム社(GlobalPlatform Inc.)、2001年6月、p.27
【特許文献2】米国特許出願公開第2001/6317755B1号明細書
【発明の開示】
【発明が解決しようとする課題】
【0008】
複数のサービス提供者装置がICカードへ送信するコマンドデータが、他のサービス提供者装置からのコマンドデータへ影響を与える場合、それぞれのサービス提供者装置がバックアップするだけでは上記要求は満足できない。
【0009】
たとえば、単一アプリケーションのICカードでも複数のサービス提供者装置が利用できる共通ポイントサービス等の共通利用アプリケーションの場合は、それぞれのサービス提供者装置がバックアップするだけでは上記要求は満足できない。また、マルチアプリケーションのICカードの場合には、個々のアプリケーションへ送信されるコマンドデータにより、ICカード内部のメモリ利用状況などのICカード内部状態が変更されるので、あるアプリケーションへのコマンドデータが他のアプリケーションへ与える影響は大きい。このような場合にも、従来技術を用いて個々のサービス提供者装置が個別にバックアップしただけでは、ICカードの復元ができない。
【0010】
また、バックアップされたコマンドデータには、秘密情報を含むことがありえるので、該コマンドデータを生成したサービス提供者装置以外の、バックアップセンタ装置を含む第三者装置に対して秘匿されなければならない。
【0011】
さらに、ICカードの偽造を防止するためには、該コマンドデータを生成したサービス提供者装置以外の、バックアップセンタ装置を含む第三者装置が、バックアップされたコマンドデータを用いてICカードを勝手に復元すること、ができてはならない。
【課題を解決するための手段】
【0012】
本発明は、上記事情に鑑みてなされたものであり、より改善されたICカードバックアップシステムおよびその方法を提供する。
【0013】
複数のサービス提供者装置からICカードに対して送信されるコマンドデータを、バックアップセンタ装置で保管し、該バックアップされたデータを用いて、適切に復元できるICカードバックアップ方法およびその方法が適用されるシステムを提供する。
【0014】
具体的には,バックアップセンタ装置は、ICカードに送信されるコマンドデータと、ICカードから返信されるレスポンスデータと、を、該ICカードのICカードIDと、該コマンドデータを送信するサービス提供者装置IDと、該コマンドデータ順序情報と、を関連付けて管理する。
【0015】
復元時には、上記管理している復元対象のICカードIDに関連付けられた、コマンドデータと、サービス提供者装置IDと、コマンドデータ順序情報と、を取得し、該コマンドデータ順序情報に従い、復元対象のICカードに対して、該コマンドデータを送信し、データを復元する。
【0016】
このとき,ICカードに送信されるコマンドデータは,サービス提供者装置,あるいは,ICカードによってのみ復号できるような暗号化を行うので,サービス提供者装置以外の第三者装置には秘匿することができる。
【0017】
さらに,ICカードに送信されるコマンドデータには,サービス提供者装置以外には生成が困難な署名を付加し,コマンドデータを受け入れるICカードによって,該署名を検証し,検証に成功したときにコマンドデータが実行されるようにすれば,サービス提供者装置による署名が付与されないデータをICカードで拒絶することができる。
【発明の効果】
【0018】
本発明によれば、従来個々のサービス提供者装置がバックアップしていただけでは復元できなかったICカードについても、その内容を適切に復元することが可能になる。
【発明を実施するための最良の形態】
【0019】
本発明の一実施形態について説明する。なお、これにより本発明が限定されるものではない。
【0020】
図1は、本発明の一実施形態が適用されたICカードバックアップシステムの構成図である。
【0021】
本実施形態のICカードバックアップシステムは、図1に示すように、複数のサービス提供者装置401〜40n(以下、単にサービス提供者装置40とも称する)と、複数の端末201〜20n(以下、単に端末20とも称する)と、バックアップセンタ装置50がインターネットなどのネットワーク30を介して、互いに接続されて構成されている。また端末20は、ICカード101〜10n(以下、単にICカード10とも称する)や、外部記憶装置付ICカード601〜60n(以下、単に外部記憶装置付ICカード60とも称する)と接続されている。
【0022】
サービス提供者装置40は、ICカード10へコマンドデータ(以下、単にコマンドともいう)を送信し、ICカード10は、該コマンドデータに従い処理を実行し、実行結果としてのレスポンスデータ(以下、単にレスポンスともいう)をサービス提供者装置40へ送信する。これにより、サービスが提供される。
【0023】
サービス提供者装置40は、コマンドデータを送信し、レスポンスデータを受信するための通信部401と、ICカードに対して送信するコマンドデータを生成するためのコマンドデータ生成部402と、該コマンドデータを生成するために使う鍵を保管する鍵保管部403と、を含む。
【0024】
ICカード10と外部記憶装置付ICカード60は、コマンドデータを受信し、受信したコマンドデータに従い処理を実行し行い、実行結果としてのレスポンスデータを返信する。ICカード10とICカード60は、コマンドデータを受信し、レスポンスデータを送信するデータ送受信部101と、コマンドデータを解析するコマンドデータ解析部102と、コマンドデータを解析するために使う鍵を保管する鍵保管部104と、コマンドデータに従い処理を実行するアプリケーション103と、を含む。
【0025】
外部記憶装置付ICカード60は、上記さらに、記憶装置17を有し、大容量のデータを蓄積する。外部記憶装置付ICカード60は、上記コマンドデータを受信し、内容によって送信先を変えるコントローラ16と、コントローラより転送されたコマンドデータを蓄積する記憶装置17と、上記ICカード10と、を含む。
【0026】
端末20は、上記ICカード10に対して、コマンドデータを送信し、また、上記ICカード10からレスポンスデータを受信する。端末20は、上記ネットワーク30に接続されデータの送受信を行うデータ送受信部202と、上記ICカード10へのコマンドデータの送信を行うICカードアクセス部201と、を含む。
バックアップセンタ装置50は、上記ネットワーク30に接続され、サービス提供者装置40から、ICカード10や外部記憶装置付ICカード60へ送信されるコマンドデータを取得し、取得したコマンドデータを、その送信元であるサービス提供者装置40の識別子と、その受信先であるICカード10の識別子と、ともに蓄積する。バックアップセンタ装置50は、上記ネットワーク30に接続されデータの送受信を行う通信部501と、上記ICカード10に送信されるデータを解析する解析部502と、該データの蓄積処理を行う蓄積部503と、該データを蓄積するバックアップDB504と、を含む。
【0027】
図2は端末20のハードウェア構成図である。端末20は、通信装置21と、入出力装置22と、ICカード入出力装置23と、補助記憶装置24と、CPU25と主記憶装置26と、読取装置27とがバスなどの内部通信線29で連結され、記憶媒体28を含めて構成されている。また、端末20はICカード入出力装置23を経由して、ICカード10とつながる。
【0028】
サービス提供者装置40およびバックアップセンタ装置50のハードウェア構成は端末20のハードウェア構成と同様である。ただし、サービス提供者装置40およびバックアップセンタ装置50が、直接ICカード10へのアクセスを行わない場合は、ICカード入出力装置23は備えなくても良い。
【0029】
図3はICカード10のハードウェア構成図である。ICカード10は、入出力部11と、CPU12と、耐タンパ補助記憶装置13と、耐タンパ主記憶装置14と、がバスなどの内部通信線15で連結されて構成されている。
【0030】
本実施形態のICカードバックアップシステムにおける処理フローについて説明する。各装置の補助記憶装置13,24に格納されたプログラムが主記憶装置14,26にロードされ、CPUにより実行されることにより、ICカードバックアップシステムを構成する各装置、ICカード上に以下説明する各処理部が具現化され、それら各処理部により、以下に述べる処理フローが実行される。また、各プログラムは予め補助記憶装置13,24に格納されても良いし、他の記憶媒体または通信媒体(ネットワーク、またはネットワークを伝搬する搬送波またはディジタル信号)を介して、必要なときに導入されても良い。
【0031】
図4は、サービス提供者装置40がICカード10に対してコマンドデータを発行するフロー図である。サービス提供者装置40は、このフローを繰り返すことによりICカード10に対して様々な処理を行うことができる。
【0032】
まず、端末20のデータ送受信部202からサービス提供依頼を行う。(ステップS400)。サービス提供者装置40において、コマンド生成部402は、依頼情報(A400)に基づき、コマンドデータを生成し(ステップS401)、通信部401は、生成したコマンドデータA401をバックアップセンタ装置50へ送信する。
【0033】
バックアップセンタ装置50において、通信部501は、コマンドデータA401を受信する。解析部502は、送信元であるサービス提供者装置40のIDおよび、コマンドデータ送信先であるICカード10のIDを取得し(ステップS402)、該ICカード10に対する、該コマンドデータの、順番を表すコマンドデータ順序情報を取得する(ステップS403)。該コマンドデータ順序情報は、バックアップセンタ装置50が自ら保持するデータベースから取得しても良いし、コマンドデータ送信先のICカード10から該コマンドデータ順序情報に該当する情報を取得しても良い。
【0034】
次に、バックアップセンタ装置50において、蓄積部503は、上記ステップS402で取得したサービス提供者装置IDと、ICカードIDと、上記コマンドデータA401とを、関連付けて、バックアップDB504へ保存し(ステップS404)、通信部501は、コマンドデータA401を端末20に対して送信する。
【0035】
端末20のデータ送受信部202は、コマンドデータA401を受信し、ICカードアクセス部201は、ICカード10に対して該コマンドデータを書き込む(ステップS420)。
【0036】
ICカード10のデータ送受信部101は、コマンドデータA401を受信し、コマンド解析部102がコマンドデータA401を解析し(ステップS405)、解析したコマンドデータに従い指定された適切なアプリケーション103が、該コマンドデータA401を実行し(ステップS406)、実行結果に従って内部状態を更新する(ステップS407)。その後、データ送受信部101は、レスポンスデータ(A402)を返信する。
【0037】
端末20のICカードアクセス部201は、ICカード10からレスポンスデータ(A402)を受け取り、データ送受信部202は、該レスポンスデータA402をバックアップセンタ装置50に転送する。
【0038】
バックアップセンタ装置50の通信部501は、受け取ったレスポンスデータ(A402)を、ICカードIDに基づいて、上記ステップS404で保存したデータと関連付けて,バックアップDB504に保存(ステップS408)する。
【0039】
バックアップセンタ装置50の通信部501が、セッション管理などを行うことにより、前記コマンドデータA401と、前記レスポンスデータA402との対応関係を認識することができる。その後、通信部501は、サービス提供者装置40にレスポンスデータ(A402)を転送する。
【0040】
サービス提供者装置40の通信部401は、レスポンスデータ(A402)を受信し、サービス提供部404は、該レスポンスデータを確認し(S409)、端末20に依頼完了通知(A410)を送信する。
【0041】
なお、サービス提供者装置40から、バックアップセンタ装置50を経由して、端末20にコマンドデータが送信されているが、サービス提供者装置40が、バックアップセンタ装置50と、端末20の双方にコマンドデータを送信するように構成しても良い。
【0042】
また、レスポンスデータ(A402)は、端末20からバックアップセンタ装置50を経由して、サービス提供者装置40に返信されているが、端末20が、バックアップセンタ装置50とサービス提供者装置40にの双方に返信するように構成しても良い。
【0043】
また、バックアップセンタ装置は、サービス提供者装置40のIDを取得することにより、バックアップする必要のないコマンドデータ(契約外のサービス提供者装置のコマンドデータなど)を識別し、バックアップしないように構成しても良い。
【0044】
また,ステップS403においてコマンドデータ順序情報を取得するのではなく,不可逆なデータ,例えば,バックアップセンタ装置で管理する時刻情報などのデータで代用しても良い。
【0045】
図5は、図4のサービス提供者装置40におけるコマンドデータ生成処理(ステップS401)の詳細を説明する図である。ICカード10へのコマンドデータA401はコマンドデータの種類等を表すコマンドヘッダ部A4011と、実際のデータ部A4012から成る。まず、データ部A4012を、サービス提供者装置40の鍵保管部403に保管されているデータ暗号化用の鍵で暗号化する。次にコマンドヘッダA4011と、上記暗号化されたデータA4013から、サービス提供者装置40の鍵保管部403に保管されている署名生成用の鍵で署名A4014を生成する。次に、コマンドヘッダA4011と、暗号化されたデータA4013と、署名A4014と、を連結し,コマンドデータA401を生成する。
【0046】
なお、データ部A4012だけでなく、コマンドヘッダA4011を含めて暗号化しても良い。
【0047】
図6は、図4のICカード10におけるコマンドデータ解析処理(ステップS405)の詳細を説明する図である。コマンド解析部102は、受信したコマンドデータA401に含まれるコマンドヘッダA4011および暗号化されたデータA4013から、ICカード10の鍵保管部104に保管されている署名検証用の鍵で署名A4014'を生成する。上記受信したコマンドデータA401に含まれる署名A4014と、上記生成した署名A4014'を比較し、署名が正しいか否かを検証する。署名が正しければ、暗号化されたデータA4013を、ICカード10の鍵保管部104に保管されているデータ復号用の鍵で復号し、データA4012を得る。
【0048】
また、ネットワーク30、端末20、および、バックアップセンタ装置50の安全性が保証され、コマンドデータA4012を暗号化する必要が無い場合は、サービス提供者装置40におけるデータA4012の暗号化処理と、ICカード10におけるデータA4013の復号処理を行わないようにしても良い。
【0049】
図7は、バックアップセンタ装置50のバックアップDB504における、バックアップデータの保存形式を表している。図4のステップS402で取得したカードIDA4041と、サービス提供者装置IDA4042と、ステップA403で取得したコマンドデータ順序情報A4043と、サービス提供者装置40より受信した、コマンドヘッダA4011と暗号化されたデータA4013と、図4のステップS408で受信したレスポンスデータA402と、を関連付けたレコードを保存する。該データの組(レコード)が,バックアップDB504に複数保存される。
【0050】
なお、サービス提供者装置40においてコマンドデータA4012の暗号化処理が行われない場合は、暗号化されたデータA4013の代わりにデータA4012を関連付けて保存するようにしても良い。
【0051】
次に,図10のフロー図を用いて、ICカード10のデータを一括してバックアップを取る場合の処理を説明する。
【0052】
まず、端末20のデータ送受信部202が、バックアップセンタ装置50に対して、一括バックアップ依頼を行う(ステップS1000)。バックアップセンタ装置50の通信部501は、依頼情報を受信し、解析部502は、当該依頼情報に含まれる情報より、一括バックアップ依頼元のICカードのIDを取得する(ステップS1002)。次にバックアップセンタ装置50は、ICカード10に対する一括バックアップコマンドA1001生成し、送信する(ステップS1002)。
【0053】
ICカード10のデータ送受信部101は、該一括バックアップコマンドA1001を受信し、コマンド解析部102は、該コマンドを解析し(ステップS1003)、アプリケーション103と、鍵保管部104と、に保管されているデータを、一括バックアップデータA1002として、バックアップセンタ装置50へ送信する(ステップS1005)。
【0054】
バックアップセンタ装置50は、一括バックアップデータA1002を受信し、前記ステップS1001で取得したICカードIDと関連付けて、バックアップDB504へ保存する。その後完了通知A1003を、端末20に対して送信する。
【0055】
この一括バックアップにより,過去全てのバックアップデータがなくても,ある特定の時点の一括バックアップデータとその時点以降のコマンドデータとレスポンスデータのバックアップデータがあれば、ICカード10のデータを適正に復元できることになる。
【0056】
なお、一括バックアップ依頼を端末20より送信することとしているが、バックアップセンタ装置50から、一定期間ごとや、その他のタイミングで、強制的に一括バックアップコマンドを送信するようにしても良い。またコマンド解析処理S1003では、事前に登録されたバックアップセンタ装置からの一括バックアップコマンドA1001だけを受理するようにしても良い。さらに、一括バックアップデータA1002は、バックアップセンタ装置50のみが復号できるように暗号化しても良い。
【0057】
図8は、ICカード10のデータを復元するフロー図である。
【0058】
まず、端末20のデータ送受信部202が、バックアップセンタ装置50に対して、復元依頼を行う(ステップS801)。
【0059】
バックアップセンタ装置50の通信部501は、復元依頼を受信し、解析部502は、当該復元依頼に含まれる情報より、復元依頼元のICカードのIDを取得する(ステップS802)。
【0060】
蓄積部503は、上記ステップS802で取得したカードIDに関連した一括バックアップデータを、バックアップDB504に保持する場合、ICカード10に対して、一括復元データA815を送信する(ステップS815)。ICカード10は、該一括復元データA8021を受信し、内部状態を更新する(ステップS816)。
【0061】
次に、蓄積部503は、上記ステップS802で取得したカードIDに関連した情報を、自らが保持するバックアップDB504から取得する。(ステップS803)。解析部502は、取得した情報のコマンドデータ順序情報のうち、一括バックアップデータより若いデータに関して、より若い順に以降の復元処理を行う。
【0062】
通信部501は、上記ステップS803で取得した情報に含まれるサービス提供者装置ID4042が示すサービス提供者装置40(401〜40n)に対して、暗号化されたデータA4013(40131〜4013n)を送信する。(ステップS804)。サービス提供者装置40のサービス提供部404は、復元を許可するか否かを判断し、許可する場合は、コマンド生成部402が、上記暗号化されたデータA4013に対して署名を付与し(ステップS805)、通信部401は、該署名A4014(40141〜4014n)をバックアップセンタ装置50に送信する。バックアップセンタ装置50は、コマンドヘッダA4011と、暗号化されたデータA4013と、署名A4014を連結したコマンドデータA802を、端末20に送信する。
【0063】
端末20のデータ送受信部202は、コマンドデータA802を受信し、ICカードアクセス部201は、ICカード10に対して書き込み処理を行う。(ステップS810)。
【0064】
ICカード10のデータ送受信部101は、コマンドデータを受信し、コマンド解析部102は、該受信したコマンドデータを解析し(ステップS810)、解析したコマンドデータに従い、適切なアプリケーションが処理を実行し(ステップS811)、実行結果に従って内部状態を更新する(ステップS812)。その後、データ送受信部101は、レスポンスデータA803を返信する。
【0065】
端末20のICカードアクセス部201は、ICカード10からレスポンスデータを受信し、データ送受信部202は、バックアップセンタ装置50に転送する。バックアップセンタ装置50の通信部501は、レスポンスデータを受信し、サービス提供者装置40に転送するとともに、解析部502は、自らがバックアップDB504に保持するレスポンスデータと比較し(ステップS813)、一致しない場合、復元失敗とし、端末20に通知する(ステップS817)。
一致する場合は、引き続き終了判定を行う(ステップS814)。上記ステップS803で取得したデータすべての処理が完了していたら復元成功とし、端末20に通知する(ステップS817)。そうでなければ、ステップS804から繰り返す(ステップS814)。
【0066】
なお、復元依頼(S801)は端末20以外から行われても良い。
【0067】
また、バックアップセンタ装置50からサービス提供者装置40に対して、暗号化されたデータA4013を送信しているが、コマンドヘッダA4011とともに送信しても良い。
【0068】
また、同一のサービス提供者装置40の署名が必要な、複数のコマンドデータが存在する場合は、まとめてサービス提供者装置40へ、署名対象データを送信しても良い。
【0069】
また、サービス提供者装置40は,生成した署名A4014を、バックアップセンタ装置50経由で端末20に送信しているが、コマンドヘッダA4011と、暗号化されたデータA4013と、署名A4014と、をサービス提供者装置40から、端末20に送信しても良い。
【0070】
また、前記ステップS813では、レスポンスデータを比較し、一致しない場合は、即時に復元失敗としているが、複数回のリトライを繰り返すようにして良い。これにより,リトライにより復元できるようなエラーにより復元失敗となった場合でも,復元できる可能性が高くなる。
【0071】
図9は、ICカード10のデータを復元する第2のフロー図である。
【0072】
図8と同様の処理を行うステップの説明は書略する。
【0073】
ステップS803で取得した、複数のバックアップデータに関する署名生成依頼を、ICカード10へコマンドデータを送信する前に行うことが図8とは異なる。
【0074】
バックアップセンタ装置50の通信部501が、サービス提供者装置40から署名を受け取った後、解析部502が、ステップS803で取得したバックアップデータに対するすべての署名が取得できたが否かを判定する(ステップS806)。すべてのコマンドデータに対する署名が取得できている場合、以降の処理へ進む。そうでなければ、署名生成依頼(ステップS804)から繰り返す。
【0075】
バックアップセンタ装置50の通信部501は、コマンドデータ順序情報A4043順に、コマンドヘッダA4011と、暗号化されたデータA4013と、署名A4014を連結したコマンドデータA802を、端末20に送信し(ステップS807)、レスポンスデータを受信する。解析部502は、該レスポンスデータを検証する(ステップS813)。一致しない場合、復元失敗とし、端末20に通知する(ステップS817)。一致する場合、引き続き終了判定を行う(ステップS814)。上記ステップS803で取得したデータのすべて処理がすべて完了していたら復元成功とし、端末20に通知する(ステップS817)。そうでなければ、ステップS807から繰り返す(ステップS814)。
【0076】
上述のように、本実施例では、複数のサービス提供者装置40が、ひとつのICカード10に対してコマンドデータを送信し、それぞれが互いに影響しながらICカード10の内部状態を変更した場合であっても、復元依頼がなされるまでのICカード10へのコマンドデータおよびレスポンスデータは、バックアップセンタ装置に、コマンドデータ順序情報とともに保管されているので、該コマンドデータ順序情報の順に、復元処理を行うことで、ICカード10の内部状態を復元することができる。
【0077】
また、ICカード10の内部でコマンドデータ解析処理(ステップS810)を行い、署名の検証を行っているので、署名生成が行えない、バックアップセンタ装置50を含む第三者装置は、サービス提供者装置の署名付与処理を行うことなく、復元処理を完遂させることはできないので,安全性が確保される。
【0078】
さらに、バックアップデータはサービス提供者装置しか知り得ない、データ暗号化の鍵で暗号化されているので、その秘匿性は守られる。
【0079】
なお、本発明は、上記の本実施形態に限定されるものではなく、その要旨の範囲内で様々な変形が可能である。
【0080】
たとえば、端末20が入場ゲートのような様態の場合、バックアップセンタ装置50の機能を端末20に持たせても良い。この場合、バックアップデータは端末20内に一時的に保持されることになるが、定期的にバックアップセンタ装置50にバックアップデータを収集することで,復元処理は実現される。
【0081】
また、バックアップデータをサービス提供者装置40内で管理したい場合も考えられる。この場合、コマンドデータ順序情報A4043の管理をバックアップセンタ装置40が行うことで、適切な復元が実現できる。
【0082】
また、バックアップセンタ装置50が複数存在する場合も考えられる。その場合は、ある特定のICカード10に対するバックアップデータが、複数のバックアップセンタ装置50に散在することになる。しかしながら、コマンドデータ順序情報A4043により、特定のICカード10に対するコマンドの順序は一意に決定することができるので、複数のバックアップセンタ装置50に保温されているバックアップデータを収集することで、適切な復元が実現できる。
【0083】
本実施例では、ICカード10を用いたICカードバックアップシステムの例であるが、ICカード10の代わりに、外部記憶装置付ICカード60を用いて構成してもよい。
【0084】
また、ICカード10の内部にバックアップデータを保持するようにしても良い。とくに、ICカード10の代わりに、外部記憶装置付ICカード60を用いると、大量のバックアップデータを保存できるので、より復元に適している。
【0085】
ICカード10の内部にバックアップデータを保存する場合,ICカード10のコマンド解析部102は,受信したコマンドA401を,耐タンパ補助記憶装置13に保存するとともに,アプリケーション103に送る。また,レスポンスデータも同様に耐タンパ補助記憶装置13に上記コマンドA401と対応付けて保存するとともに端末20へ送信する。
【0086】
外部記憶装置付きICカード60の内部にバックアップデータを保存する場合,コントローラ16は,受信したコマンドA401を,記憶装置17に保存するとともに,ICカード10に送る。また,レスポンスデータも同様に記憶装置17に上記コマンドA401と対応付けて保存するとともに端末20へ送信する。
【0087】
さらに、ICカード10、あるいは、外部記憶装置付ICカード60の内部にバックアップデータを保持する場合に、暗号化することにより、端末20を操作する復元実行者に対して、コマンドデータを秘匿できるので、より安全である。
【図面の簡単な説明】
【0088】
【図1】本発明の一実施形態が適用されたICカードバックアップシステムの構成を例示する図である。
【図2】図1に示す端末のハードウェア構成を例示する図である。
【図3】図1に示すICカードのハードウェア構成を例示する図である。
【図4】本発明の一実施形態が適用されたICカードバックアップシステムのコマンドデータ送信フローを例示する図である。
【図5】図4のコマンドデータ生成ステップを詳しく説明する図である。
【図6】図5のコマンドデータ解析ステップを詳しく説明する図である。
【図7】バックアップセンタ装置50におけるバックアップデータの保存形式を例示する図である。
【図8】本発明の一実施形態が適用されたICカードバックアップシステムの復元処理フローを例示する図である。
【図9】本発明の一実施形態が適用されたICカードバックアップシステムの第2の復元処理フローを例示する図である。
【図10】本発明の一実施形態が適用されたICカードバックアップシステムの一括バックアップ処理フローを例示する図である。
【符号の説明】
【0089】
10:ICカード、11::入出力装置、12::CPU、13::耐タンパ補助記憶装置、14:耐タンパ主記憶装置、15:内部通信線、20:端末、21:通信装置、22:入出力装置、23:ICカード入出力装置、24:補助記憶装置、25:CPU、26:主記憶装置、27:読取装置、28:記憶媒体、29:内部通信線、30:ネットワーク、401〜40n:サービス提供者装置、50:バックアップセンタ装置、101:データ送受信部、102:コマンドデータ解析部、1031〜103n:アプリケーション、1041〜104n:鍵保管部、201:ICカードアクセス部、202:データ送受信部、401:通信部、402:コマンドデータ生成部、403:鍵保管部、404:サービス提供部、501:通信部、502:解析部、503:蓄積部、504:バックアップDB、A401:コマンドデータ、A102:レスポンスデータ、A4011:コマンドヘッダ、A4012:データ、A4013:暗号化されたデータ、A4014:署名、A4014':署名、A4041:カードID、A4042:サービス提供者装置ID、A4043:コマンドデータ順序情報、A802:署名付暗号化されたコマンドデータ、A803:レスポンスデータ、A1001:一括バックアップコマンド、A1002:一括バックアップデータ。
【技術分野】
【0001】
本発明は、ICカード等のバックアップ方法に関し、さらに詳しくは、ICカード等の状態を適切に復元するためのシステムおよびその方法に関する。
【背景技術】
【0002】
ICカードやスマートカード(以下、ICカードという)に導入したアプリケーションプログラムを実行することにより、種々のサービスを提供することが行われている。
【0003】
その場合に、ICカードを複数の提供者装置領域に分けて、それぞれにアプリケーションおよびデータを搭載する技術が知られている(例えば、非特許文献1参照)。
【0004】
一方、ICカードを紛失した場合などに備えて、ICカード内のアプリケーションプログラムだけでなく、アプリケーションが用いるデータも含めてバックアップしておき、必要に応じて、ICカードの内容を復元したいという要求は強い(例えば,特許文献1参照)。
【0005】
上記要求は、単一のサービス提供者装置がICカードに対して、残高を減算するためのコマンドデータや、チケットなどを使用済みにするコマンドデータなどを送信する場合、サービス提供者装置で該コマンドデータをバックアップし、ICカードに対してどのような処理が行われたかを管理することにより満たすことができる。
【0006】
また複数のアプリケーションを搭載可能なマルチアプリケーションICカードの場合であっても、個々のアプリケーションに対するコマンドデータが他のアプリケーションへのコマンドデータに干渉しない場合、個々のサービス提供者装置でコマンドデータをバックアップすることで上記要求を満たすことができる。
【0007】
【特許文献1】特開2002−175509号公報
【非特許文献1】「グローバルプラットフォームカードスペシフィケーションバージョン2.1(GlobalPlatform Card Specification Version2.1)」、(米国)、グローバルプラットフォーム社(GlobalPlatform Inc.)、2001年6月、p.27
【特許文献2】米国特許出願公開第2001/6317755B1号明細書
【発明の開示】
【発明が解決しようとする課題】
【0008】
複数のサービス提供者装置がICカードへ送信するコマンドデータが、他のサービス提供者装置からのコマンドデータへ影響を与える場合、それぞれのサービス提供者装置がバックアップするだけでは上記要求は満足できない。
【0009】
たとえば、単一アプリケーションのICカードでも複数のサービス提供者装置が利用できる共通ポイントサービス等の共通利用アプリケーションの場合は、それぞれのサービス提供者装置がバックアップするだけでは上記要求は満足できない。また、マルチアプリケーションのICカードの場合には、個々のアプリケーションへ送信されるコマンドデータにより、ICカード内部のメモリ利用状況などのICカード内部状態が変更されるので、あるアプリケーションへのコマンドデータが他のアプリケーションへ与える影響は大きい。このような場合にも、従来技術を用いて個々のサービス提供者装置が個別にバックアップしただけでは、ICカードの復元ができない。
【0010】
また、バックアップされたコマンドデータには、秘密情報を含むことがありえるので、該コマンドデータを生成したサービス提供者装置以外の、バックアップセンタ装置を含む第三者装置に対して秘匿されなければならない。
【0011】
さらに、ICカードの偽造を防止するためには、該コマンドデータを生成したサービス提供者装置以外の、バックアップセンタ装置を含む第三者装置が、バックアップされたコマンドデータを用いてICカードを勝手に復元すること、ができてはならない。
【課題を解決するための手段】
【0012】
本発明は、上記事情に鑑みてなされたものであり、より改善されたICカードバックアップシステムおよびその方法を提供する。
【0013】
複数のサービス提供者装置からICカードに対して送信されるコマンドデータを、バックアップセンタ装置で保管し、該バックアップされたデータを用いて、適切に復元できるICカードバックアップ方法およびその方法が適用されるシステムを提供する。
【0014】
具体的には,バックアップセンタ装置は、ICカードに送信されるコマンドデータと、ICカードから返信されるレスポンスデータと、を、該ICカードのICカードIDと、該コマンドデータを送信するサービス提供者装置IDと、該コマンドデータ順序情報と、を関連付けて管理する。
【0015】
復元時には、上記管理している復元対象のICカードIDに関連付けられた、コマンドデータと、サービス提供者装置IDと、コマンドデータ順序情報と、を取得し、該コマンドデータ順序情報に従い、復元対象のICカードに対して、該コマンドデータを送信し、データを復元する。
【0016】
このとき,ICカードに送信されるコマンドデータは,サービス提供者装置,あるいは,ICカードによってのみ復号できるような暗号化を行うので,サービス提供者装置以外の第三者装置には秘匿することができる。
【0017】
さらに,ICカードに送信されるコマンドデータには,サービス提供者装置以外には生成が困難な署名を付加し,コマンドデータを受け入れるICカードによって,該署名を検証し,検証に成功したときにコマンドデータが実行されるようにすれば,サービス提供者装置による署名が付与されないデータをICカードで拒絶することができる。
【発明の効果】
【0018】
本発明によれば、従来個々のサービス提供者装置がバックアップしていただけでは復元できなかったICカードについても、その内容を適切に復元することが可能になる。
【発明を実施するための最良の形態】
【0019】
本発明の一実施形態について説明する。なお、これにより本発明が限定されるものではない。
【0020】
図1は、本発明の一実施形態が適用されたICカードバックアップシステムの構成図である。
【0021】
本実施形態のICカードバックアップシステムは、図1に示すように、複数のサービス提供者装置401〜40n(以下、単にサービス提供者装置40とも称する)と、複数の端末201〜20n(以下、単に端末20とも称する)と、バックアップセンタ装置50がインターネットなどのネットワーク30を介して、互いに接続されて構成されている。また端末20は、ICカード101〜10n(以下、単にICカード10とも称する)や、外部記憶装置付ICカード601〜60n(以下、単に外部記憶装置付ICカード60とも称する)と接続されている。
【0022】
サービス提供者装置40は、ICカード10へコマンドデータ(以下、単にコマンドともいう)を送信し、ICカード10は、該コマンドデータに従い処理を実行し、実行結果としてのレスポンスデータ(以下、単にレスポンスともいう)をサービス提供者装置40へ送信する。これにより、サービスが提供される。
【0023】
サービス提供者装置40は、コマンドデータを送信し、レスポンスデータを受信するための通信部401と、ICカードに対して送信するコマンドデータを生成するためのコマンドデータ生成部402と、該コマンドデータを生成するために使う鍵を保管する鍵保管部403と、を含む。
【0024】
ICカード10と外部記憶装置付ICカード60は、コマンドデータを受信し、受信したコマンドデータに従い処理を実行し行い、実行結果としてのレスポンスデータを返信する。ICカード10とICカード60は、コマンドデータを受信し、レスポンスデータを送信するデータ送受信部101と、コマンドデータを解析するコマンドデータ解析部102と、コマンドデータを解析するために使う鍵を保管する鍵保管部104と、コマンドデータに従い処理を実行するアプリケーション103と、を含む。
【0025】
外部記憶装置付ICカード60は、上記さらに、記憶装置17を有し、大容量のデータを蓄積する。外部記憶装置付ICカード60は、上記コマンドデータを受信し、内容によって送信先を変えるコントローラ16と、コントローラより転送されたコマンドデータを蓄積する記憶装置17と、上記ICカード10と、を含む。
【0026】
端末20は、上記ICカード10に対して、コマンドデータを送信し、また、上記ICカード10からレスポンスデータを受信する。端末20は、上記ネットワーク30に接続されデータの送受信を行うデータ送受信部202と、上記ICカード10へのコマンドデータの送信を行うICカードアクセス部201と、を含む。
バックアップセンタ装置50は、上記ネットワーク30に接続され、サービス提供者装置40から、ICカード10や外部記憶装置付ICカード60へ送信されるコマンドデータを取得し、取得したコマンドデータを、その送信元であるサービス提供者装置40の識別子と、その受信先であるICカード10の識別子と、ともに蓄積する。バックアップセンタ装置50は、上記ネットワーク30に接続されデータの送受信を行う通信部501と、上記ICカード10に送信されるデータを解析する解析部502と、該データの蓄積処理を行う蓄積部503と、該データを蓄積するバックアップDB504と、を含む。
【0027】
図2は端末20のハードウェア構成図である。端末20は、通信装置21と、入出力装置22と、ICカード入出力装置23と、補助記憶装置24と、CPU25と主記憶装置26と、読取装置27とがバスなどの内部通信線29で連結され、記憶媒体28を含めて構成されている。また、端末20はICカード入出力装置23を経由して、ICカード10とつながる。
【0028】
サービス提供者装置40およびバックアップセンタ装置50のハードウェア構成は端末20のハードウェア構成と同様である。ただし、サービス提供者装置40およびバックアップセンタ装置50が、直接ICカード10へのアクセスを行わない場合は、ICカード入出力装置23は備えなくても良い。
【0029】
図3はICカード10のハードウェア構成図である。ICカード10は、入出力部11と、CPU12と、耐タンパ補助記憶装置13と、耐タンパ主記憶装置14と、がバスなどの内部通信線15で連結されて構成されている。
【0030】
本実施形態のICカードバックアップシステムにおける処理フローについて説明する。各装置の補助記憶装置13,24に格納されたプログラムが主記憶装置14,26にロードされ、CPUにより実行されることにより、ICカードバックアップシステムを構成する各装置、ICカード上に以下説明する各処理部が具現化され、それら各処理部により、以下に述べる処理フローが実行される。また、各プログラムは予め補助記憶装置13,24に格納されても良いし、他の記憶媒体または通信媒体(ネットワーク、またはネットワークを伝搬する搬送波またはディジタル信号)を介して、必要なときに導入されても良い。
【0031】
図4は、サービス提供者装置40がICカード10に対してコマンドデータを発行するフロー図である。サービス提供者装置40は、このフローを繰り返すことによりICカード10に対して様々な処理を行うことができる。
【0032】
まず、端末20のデータ送受信部202からサービス提供依頼を行う。(ステップS400)。サービス提供者装置40において、コマンド生成部402は、依頼情報(A400)に基づき、コマンドデータを生成し(ステップS401)、通信部401は、生成したコマンドデータA401をバックアップセンタ装置50へ送信する。
【0033】
バックアップセンタ装置50において、通信部501は、コマンドデータA401を受信する。解析部502は、送信元であるサービス提供者装置40のIDおよび、コマンドデータ送信先であるICカード10のIDを取得し(ステップS402)、該ICカード10に対する、該コマンドデータの、順番を表すコマンドデータ順序情報を取得する(ステップS403)。該コマンドデータ順序情報は、バックアップセンタ装置50が自ら保持するデータベースから取得しても良いし、コマンドデータ送信先のICカード10から該コマンドデータ順序情報に該当する情報を取得しても良い。
【0034】
次に、バックアップセンタ装置50において、蓄積部503は、上記ステップS402で取得したサービス提供者装置IDと、ICカードIDと、上記コマンドデータA401とを、関連付けて、バックアップDB504へ保存し(ステップS404)、通信部501は、コマンドデータA401を端末20に対して送信する。
【0035】
端末20のデータ送受信部202は、コマンドデータA401を受信し、ICカードアクセス部201は、ICカード10に対して該コマンドデータを書き込む(ステップS420)。
【0036】
ICカード10のデータ送受信部101は、コマンドデータA401を受信し、コマンド解析部102がコマンドデータA401を解析し(ステップS405)、解析したコマンドデータに従い指定された適切なアプリケーション103が、該コマンドデータA401を実行し(ステップS406)、実行結果に従って内部状態を更新する(ステップS407)。その後、データ送受信部101は、レスポンスデータ(A402)を返信する。
【0037】
端末20のICカードアクセス部201は、ICカード10からレスポンスデータ(A402)を受け取り、データ送受信部202は、該レスポンスデータA402をバックアップセンタ装置50に転送する。
【0038】
バックアップセンタ装置50の通信部501は、受け取ったレスポンスデータ(A402)を、ICカードIDに基づいて、上記ステップS404で保存したデータと関連付けて,バックアップDB504に保存(ステップS408)する。
【0039】
バックアップセンタ装置50の通信部501が、セッション管理などを行うことにより、前記コマンドデータA401と、前記レスポンスデータA402との対応関係を認識することができる。その後、通信部501は、サービス提供者装置40にレスポンスデータ(A402)を転送する。
【0040】
サービス提供者装置40の通信部401は、レスポンスデータ(A402)を受信し、サービス提供部404は、該レスポンスデータを確認し(S409)、端末20に依頼完了通知(A410)を送信する。
【0041】
なお、サービス提供者装置40から、バックアップセンタ装置50を経由して、端末20にコマンドデータが送信されているが、サービス提供者装置40が、バックアップセンタ装置50と、端末20の双方にコマンドデータを送信するように構成しても良い。
【0042】
また、レスポンスデータ(A402)は、端末20からバックアップセンタ装置50を経由して、サービス提供者装置40に返信されているが、端末20が、バックアップセンタ装置50とサービス提供者装置40にの双方に返信するように構成しても良い。
【0043】
また、バックアップセンタ装置は、サービス提供者装置40のIDを取得することにより、バックアップする必要のないコマンドデータ(契約外のサービス提供者装置のコマンドデータなど)を識別し、バックアップしないように構成しても良い。
【0044】
また,ステップS403においてコマンドデータ順序情報を取得するのではなく,不可逆なデータ,例えば,バックアップセンタ装置で管理する時刻情報などのデータで代用しても良い。
【0045】
図5は、図4のサービス提供者装置40におけるコマンドデータ生成処理(ステップS401)の詳細を説明する図である。ICカード10へのコマンドデータA401はコマンドデータの種類等を表すコマンドヘッダ部A4011と、実際のデータ部A4012から成る。まず、データ部A4012を、サービス提供者装置40の鍵保管部403に保管されているデータ暗号化用の鍵で暗号化する。次にコマンドヘッダA4011と、上記暗号化されたデータA4013から、サービス提供者装置40の鍵保管部403に保管されている署名生成用の鍵で署名A4014を生成する。次に、コマンドヘッダA4011と、暗号化されたデータA4013と、署名A4014と、を連結し,コマンドデータA401を生成する。
【0046】
なお、データ部A4012だけでなく、コマンドヘッダA4011を含めて暗号化しても良い。
【0047】
図6は、図4のICカード10におけるコマンドデータ解析処理(ステップS405)の詳細を説明する図である。コマンド解析部102は、受信したコマンドデータA401に含まれるコマンドヘッダA4011および暗号化されたデータA4013から、ICカード10の鍵保管部104に保管されている署名検証用の鍵で署名A4014'を生成する。上記受信したコマンドデータA401に含まれる署名A4014と、上記生成した署名A4014'を比較し、署名が正しいか否かを検証する。署名が正しければ、暗号化されたデータA4013を、ICカード10の鍵保管部104に保管されているデータ復号用の鍵で復号し、データA4012を得る。
【0048】
また、ネットワーク30、端末20、および、バックアップセンタ装置50の安全性が保証され、コマンドデータA4012を暗号化する必要が無い場合は、サービス提供者装置40におけるデータA4012の暗号化処理と、ICカード10におけるデータA4013の復号処理を行わないようにしても良い。
【0049】
図7は、バックアップセンタ装置50のバックアップDB504における、バックアップデータの保存形式を表している。図4のステップS402で取得したカードIDA4041と、サービス提供者装置IDA4042と、ステップA403で取得したコマンドデータ順序情報A4043と、サービス提供者装置40より受信した、コマンドヘッダA4011と暗号化されたデータA4013と、図4のステップS408で受信したレスポンスデータA402と、を関連付けたレコードを保存する。該データの組(レコード)が,バックアップDB504に複数保存される。
【0050】
なお、サービス提供者装置40においてコマンドデータA4012の暗号化処理が行われない場合は、暗号化されたデータA4013の代わりにデータA4012を関連付けて保存するようにしても良い。
【0051】
次に,図10のフロー図を用いて、ICカード10のデータを一括してバックアップを取る場合の処理を説明する。
【0052】
まず、端末20のデータ送受信部202が、バックアップセンタ装置50に対して、一括バックアップ依頼を行う(ステップS1000)。バックアップセンタ装置50の通信部501は、依頼情報を受信し、解析部502は、当該依頼情報に含まれる情報より、一括バックアップ依頼元のICカードのIDを取得する(ステップS1002)。次にバックアップセンタ装置50は、ICカード10に対する一括バックアップコマンドA1001生成し、送信する(ステップS1002)。
【0053】
ICカード10のデータ送受信部101は、該一括バックアップコマンドA1001を受信し、コマンド解析部102は、該コマンドを解析し(ステップS1003)、アプリケーション103と、鍵保管部104と、に保管されているデータを、一括バックアップデータA1002として、バックアップセンタ装置50へ送信する(ステップS1005)。
【0054】
バックアップセンタ装置50は、一括バックアップデータA1002を受信し、前記ステップS1001で取得したICカードIDと関連付けて、バックアップDB504へ保存する。その後完了通知A1003を、端末20に対して送信する。
【0055】
この一括バックアップにより,過去全てのバックアップデータがなくても,ある特定の時点の一括バックアップデータとその時点以降のコマンドデータとレスポンスデータのバックアップデータがあれば、ICカード10のデータを適正に復元できることになる。
【0056】
なお、一括バックアップ依頼を端末20より送信することとしているが、バックアップセンタ装置50から、一定期間ごとや、その他のタイミングで、強制的に一括バックアップコマンドを送信するようにしても良い。またコマンド解析処理S1003では、事前に登録されたバックアップセンタ装置からの一括バックアップコマンドA1001だけを受理するようにしても良い。さらに、一括バックアップデータA1002は、バックアップセンタ装置50のみが復号できるように暗号化しても良い。
【0057】
図8は、ICカード10のデータを復元するフロー図である。
【0058】
まず、端末20のデータ送受信部202が、バックアップセンタ装置50に対して、復元依頼を行う(ステップS801)。
【0059】
バックアップセンタ装置50の通信部501は、復元依頼を受信し、解析部502は、当該復元依頼に含まれる情報より、復元依頼元のICカードのIDを取得する(ステップS802)。
【0060】
蓄積部503は、上記ステップS802で取得したカードIDに関連した一括バックアップデータを、バックアップDB504に保持する場合、ICカード10に対して、一括復元データA815を送信する(ステップS815)。ICカード10は、該一括復元データA8021を受信し、内部状態を更新する(ステップS816)。
【0061】
次に、蓄積部503は、上記ステップS802で取得したカードIDに関連した情報を、自らが保持するバックアップDB504から取得する。(ステップS803)。解析部502は、取得した情報のコマンドデータ順序情報のうち、一括バックアップデータより若いデータに関して、より若い順に以降の復元処理を行う。
【0062】
通信部501は、上記ステップS803で取得した情報に含まれるサービス提供者装置ID4042が示すサービス提供者装置40(401〜40n)に対して、暗号化されたデータA4013(40131〜4013n)を送信する。(ステップS804)。サービス提供者装置40のサービス提供部404は、復元を許可するか否かを判断し、許可する場合は、コマンド生成部402が、上記暗号化されたデータA4013に対して署名を付与し(ステップS805)、通信部401は、該署名A4014(40141〜4014n)をバックアップセンタ装置50に送信する。バックアップセンタ装置50は、コマンドヘッダA4011と、暗号化されたデータA4013と、署名A4014を連結したコマンドデータA802を、端末20に送信する。
【0063】
端末20のデータ送受信部202は、コマンドデータA802を受信し、ICカードアクセス部201は、ICカード10に対して書き込み処理を行う。(ステップS810)。
【0064】
ICカード10のデータ送受信部101は、コマンドデータを受信し、コマンド解析部102は、該受信したコマンドデータを解析し(ステップS810)、解析したコマンドデータに従い、適切なアプリケーションが処理を実行し(ステップS811)、実行結果に従って内部状態を更新する(ステップS812)。その後、データ送受信部101は、レスポンスデータA803を返信する。
【0065】
端末20のICカードアクセス部201は、ICカード10からレスポンスデータを受信し、データ送受信部202は、バックアップセンタ装置50に転送する。バックアップセンタ装置50の通信部501は、レスポンスデータを受信し、サービス提供者装置40に転送するとともに、解析部502は、自らがバックアップDB504に保持するレスポンスデータと比較し(ステップS813)、一致しない場合、復元失敗とし、端末20に通知する(ステップS817)。
一致する場合は、引き続き終了判定を行う(ステップS814)。上記ステップS803で取得したデータすべての処理が完了していたら復元成功とし、端末20に通知する(ステップS817)。そうでなければ、ステップS804から繰り返す(ステップS814)。
【0066】
なお、復元依頼(S801)は端末20以外から行われても良い。
【0067】
また、バックアップセンタ装置50からサービス提供者装置40に対して、暗号化されたデータA4013を送信しているが、コマンドヘッダA4011とともに送信しても良い。
【0068】
また、同一のサービス提供者装置40の署名が必要な、複数のコマンドデータが存在する場合は、まとめてサービス提供者装置40へ、署名対象データを送信しても良い。
【0069】
また、サービス提供者装置40は,生成した署名A4014を、バックアップセンタ装置50経由で端末20に送信しているが、コマンドヘッダA4011と、暗号化されたデータA4013と、署名A4014と、をサービス提供者装置40から、端末20に送信しても良い。
【0070】
また、前記ステップS813では、レスポンスデータを比較し、一致しない場合は、即時に復元失敗としているが、複数回のリトライを繰り返すようにして良い。これにより,リトライにより復元できるようなエラーにより復元失敗となった場合でも,復元できる可能性が高くなる。
【0071】
図9は、ICカード10のデータを復元する第2のフロー図である。
【0072】
図8と同様の処理を行うステップの説明は書略する。
【0073】
ステップS803で取得した、複数のバックアップデータに関する署名生成依頼を、ICカード10へコマンドデータを送信する前に行うことが図8とは異なる。
【0074】
バックアップセンタ装置50の通信部501が、サービス提供者装置40から署名を受け取った後、解析部502が、ステップS803で取得したバックアップデータに対するすべての署名が取得できたが否かを判定する(ステップS806)。すべてのコマンドデータに対する署名が取得できている場合、以降の処理へ進む。そうでなければ、署名生成依頼(ステップS804)から繰り返す。
【0075】
バックアップセンタ装置50の通信部501は、コマンドデータ順序情報A4043順に、コマンドヘッダA4011と、暗号化されたデータA4013と、署名A4014を連結したコマンドデータA802を、端末20に送信し(ステップS807)、レスポンスデータを受信する。解析部502は、該レスポンスデータを検証する(ステップS813)。一致しない場合、復元失敗とし、端末20に通知する(ステップS817)。一致する場合、引き続き終了判定を行う(ステップS814)。上記ステップS803で取得したデータのすべて処理がすべて完了していたら復元成功とし、端末20に通知する(ステップS817)。そうでなければ、ステップS807から繰り返す(ステップS814)。
【0076】
上述のように、本実施例では、複数のサービス提供者装置40が、ひとつのICカード10に対してコマンドデータを送信し、それぞれが互いに影響しながらICカード10の内部状態を変更した場合であっても、復元依頼がなされるまでのICカード10へのコマンドデータおよびレスポンスデータは、バックアップセンタ装置に、コマンドデータ順序情報とともに保管されているので、該コマンドデータ順序情報の順に、復元処理を行うことで、ICカード10の内部状態を復元することができる。
【0077】
また、ICカード10の内部でコマンドデータ解析処理(ステップS810)を行い、署名の検証を行っているので、署名生成が行えない、バックアップセンタ装置50を含む第三者装置は、サービス提供者装置の署名付与処理を行うことなく、復元処理を完遂させることはできないので,安全性が確保される。
【0078】
さらに、バックアップデータはサービス提供者装置しか知り得ない、データ暗号化の鍵で暗号化されているので、その秘匿性は守られる。
【0079】
なお、本発明は、上記の本実施形態に限定されるものではなく、その要旨の範囲内で様々な変形が可能である。
【0080】
たとえば、端末20が入場ゲートのような様態の場合、バックアップセンタ装置50の機能を端末20に持たせても良い。この場合、バックアップデータは端末20内に一時的に保持されることになるが、定期的にバックアップセンタ装置50にバックアップデータを収集することで,復元処理は実現される。
【0081】
また、バックアップデータをサービス提供者装置40内で管理したい場合も考えられる。この場合、コマンドデータ順序情報A4043の管理をバックアップセンタ装置40が行うことで、適切な復元が実現できる。
【0082】
また、バックアップセンタ装置50が複数存在する場合も考えられる。その場合は、ある特定のICカード10に対するバックアップデータが、複数のバックアップセンタ装置50に散在することになる。しかしながら、コマンドデータ順序情報A4043により、特定のICカード10に対するコマンドの順序は一意に決定することができるので、複数のバックアップセンタ装置50に保温されているバックアップデータを収集することで、適切な復元が実現できる。
【0083】
本実施例では、ICカード10を用いたICカードバックアップシステムの例であるが、ICカード10の代わりに、外部記憶装置付ICカード60を用いて構成してもよい。
【0084】
また、ICカード10の内部にバックアップデータを保持するようにしても良い。とくに、ICカード10の代わりに、外部記憶装置付ICカード60を用いると、大量のバックアップデータを保存できるので、より復元に適している。
【0085】
ICカード10の内部にバックアップデータを保存する場合,ICカード10のコマンド解析部102は,受信したコマンドA401を,耐タンパ補助記憶装置13に保存するとともに,アプリケーション103に送る。また,レスポンスデータも同様に耐タンパ補助記憶装置13に上記コマンドA401と対応付けて保存するとともに端末20へ送信する。
【0086】
外部記憶装置付きICカード60の内部にバックアップデータを保存する場合,コントローラ16は,受信したコマンドA401を,記憶装置17に保存するとともに,ICカード10に送る。また,レスポンスデータも同様に記憶装置17に上記コマンドA401と対応付けて保存するとともに端末20へ送信する。
【0087】
さらに、ICカード10、あるいは、外部記憶装置付ICカード60の内部にバックアップデータを保持する場合に、暗号化することにより、端末20を操作する復元実行者に対して、コマンドデータを秘匿できるので、より安全である。
【図面の簡単な説明】
【0088】
【図1】本発明の一実施形態が適用されたICカードバックアップシステムの構成を例示する図である。
【図2】図1に示す端末のハードウェア構成を例示する図である。
【図3】図1に示すICカードのハードウェア構成を例示する図である。
【図4】本発明の一実施形態が適用されたICカードバックアップシステムのコマンドデータ送信フローを例示する図である。
【図5】図4のコマンドデータ生成ステップを詳しく説明する図である。
【図6】図5のコマンドデータ解析ステップを詳しく説明する図である。
【図7】バックアップセンタ装置50におけるバックアップデータの保存形式を例示する図である。
【図8】本発明の一実施形態が適用されたICカードバックアップシステムの復元処理フローを例示する図である。
【図9】本発明の一実施形態が適用されたICカードバックアップシステムの第2の復元処理フローを例示する図である。
【図10】本発明の一実施形態が適用されたICカードバックアップシステムの一括バックアップ処理フローを例示する図である。
【符号の説明】
【0089】
10:ICカード、11::入出力装置、12::CPU、13::耐タンパ補助記憶装置、14:耐タンパ主記憶装置、15:内部通信線、20:端末、21:通信装置、22:入出力装置、23:ICカード入出力装置、24:補助記憶装置、25:CPU、26:主記憶装置、27:読取装置、28:記憶媒体、29:内部通信線、30:ネットワーク、401〜40n:サービス提供者装置、50:バックアップセンタ装置、101:データ送受信部、102:コマンドデータ解析部、1031〜103n:アプリケーション、1041〜104n:鍵保管部、201:ICカードアクセス部、202:データ送受信部、401:通信部、402:コマンドデータ生成部、403:鍵保管部、404:サービス提供部、501:通信部、502:解析部、503:蓄積部、504:バックアップDB、A401:コマンドデータ、A102:レスポンスデータ、A4011:コマンドヘッダ、A4012:データ、A4013:暗号化されたデータ、A4014:署名、A4014':署名、A4041:カードID、A4042:サービス提供者装置ID、A4043:コマンドデータ順序情報、A802:署名付暗号化されたコマンドデータ、A803:レスポンスデータ、A1001:一括バックアップコマンド、A1002:一括バックアップデータ。
【特許請求の範囲】
【請求項1】
ICカードバックアップシステムであって、
サービスの提供を行うサービス提供者装置と、コマンドデータを受信し処理を行うICカードと、前記ICカードにコマンドデータを送信する端末と、前記ICカードへ送信されるコマンドデータのバックアップを行うバックアップセンタ装置と、前記端末と、前記サービス提供者装置と、前記バックアップセンタ装置と、が接続するネットワークと、からなり、
前記ICカードは、
コマンドデータを受信し、レスポンスデータを送信するデータ送受信部と、コマンドデータを解析するコマンドデータ解析部と、コマンドデータに従い処理を実行するアプリケーションと、を備え、
前記サービス提供者装置は、
前記ICカードに対して送信する前記コマンドデータを生成するためのコマンドデータ生成部と、前記コマンドデータを送信し,前記レスポンスデータを受信するための通信部と、を備え、
前記端末は、
前記ネットワークに接続されデータの送受信を行うデータ送受信部と、前記ICカードへの前記コマンドデータを送信し、前記レスポンスデータを受信するICカードアクセス部と、を備え、
前記バックアップセンタ装置は、
前記ネットワークに接続され,前記コマンドデータと前記レスポンスデータとの送受信を行う通信部と、前記ICカードに送信される前記コマンドデータを解析する解析部と、前記コマンドデータと前記レスポンスデータとを対応付けた蓄積処理を行う蓄積部と、前記コマンドデータと前記レスポンスデータとを蓄積するバックアップDBと、を備える
ことを特徴とするICカードバックアップシステム。
【請求項2】
請求項1記載のICカードバックアップシステムであって、
前記ICカードは、複数の前記アプリケーションを備える
ことを特徴とするICカードバックアップシステム。
【請求項3】
請求項1記載のICカードバックアップシステムであって、
前記ICカードは、さらに外部記憶装置と、前記端末からの前記コマンドデータを受信し、前記記憶装置に前記コマンドデータを蓄積するコントローラと,を備える
ことを特徴とするICカードバックアップシステム。
【請求項4】
請求項1ないし3記載のいずれか一に記載のICカードバックアップシステムであって、
前記サービス提供者装置の前記送信部は,
前記コマンドデータを前記バックアップセンタ装置へ送信し,
前記バックアップセンタ装置の前記蓄積部は、
前記コマンドデータ送信元であるサービス提供者装置のIDおよび、コマンドデータ送信先であるICカードのIDを取得し,
前記ICカードに対する何番目のコマンドデータであるかを示すコマンドデータ順序情報とともに,前記サービス提供者装置IDと、前記ICカードIDと、前記コマンドデータとを、関連付けて保存する
ことを特徴とするICカードバックアップシステム。
【請求項5】
請求項4記載のICカードバックアップシステムであって、
前記コマンドデータ順序情報は、前記ICカードから取得するコマンドデータシーケンス番号である
ことを特徴とするICカードバックアップシステム。
【請求項6】
請求項4記載のICカードバックアップシステムであって、
前記コマンドデータ順序情報は、前記バックアップDBから取得する順序情報である
ことを特徴とするICカードバックアップシステム。
【請求項7】
請求項4記載のICカードバックアップシステムであって、
前記コマンドデータ順序情報は、前記バックアップセンタ装置が管理する時刻情報である
ことを特徴とするICカードバックアップシステム。
【請求項8】
請求項1ないし7いずれか一に記載のICカードバックアップシステムであって、
前記バックアップセンタ装置の送受信部は,
前記ICカードに前記コマンドデータを送信した後に,前記ICカードから返信される前記レスポンスデータを受信し,
前記蓄積部は,受信した前記レスポンスデータを,前記コマンドデータを送信する前に保存した,前記サービス提供者装置IDと、前記ICカードIDと、前記コマンドデータ順序情報と,前記コマンドデータと、に関連付けて保存する
ことを特徴とするICカードバックアップシステム。
【請求項9】
請求項1ないし8いずれか一に記載のICカードバックアップシステムであって、
前記バックアップセンタ装置が,前記ICカードのバックアップデータを復元する時に,
前記バックアップセンタ装置の前記蓄積部は、
復元依頼元の前記ICカードのカードIDを取得し,該カードIDに関連した,サービス提供者装置IDと、コマンドデータ順序情報と,前記コマンドデータを、前記バックアップDBより取得し,該コマンドデータ順序情報に従い復元処理を行う
ことを特徴とするICカードバックアップシステム。
【請求項10】
請求項9記載のICカードバックアップシステムであって、
前記復元処理を行う時に,前記送信部は,
復元対象のコマンドデータを前記サービス提供者装置に送信し,前記サービス提供者装置は該コマンドデータに対して,署名を付与し,前記コマンドデータと,前記署名を前記ICカードに送信し,
前記ICカードは,前記署名を正しく検証できたときに,前記ICカードの内部状態を更新する
ことを特徴とするICカードバックアップシステム。
【請求項11】
請求項10記載のICカードバックアップシステムであって、
前記バックアップセンタ装置が前記復元処理を行う時に,
前記送受信部は,前記ICカードに対して送信した前記コマンドデータに応じて返信された前記レスポンスデータを受信し,
前記蓄積部は,前記コマンドデータと関連付けて保存している前記レスポンスデータと,を比較し,同一のレスポンスデータであるときに前記復元処理を継続する
ことを特徴とするICカードバックアップシステム。
【請求項1】
ICカードバックアップシステムであって、
サービスの提供を行うサービス提供者装置と、コマンドデータを受信し処理を行うICカードと、前記ICカードにコマンドデータを送信する端末と、前記ICカードへ送信されるコマンドデータのバックアップを行うバックアップセンタ装置と、前記端末と、前記サービス提供者装置と、前記バックアップセンタ装置と、が接続するネットワークと、からなり、
前記ICカードは、
コマンドデータを受信し、レスポンスデータを送信するデータ送受信部と、コマンドデータを解析するコマンドデータ解析部と、コマンドデータに従い処理を実行するアプリケーションと、を備え、
前記サービス提供者装置は、
前記ICカードに対して送信する前記コマンドデータを生成するためのコマンドデータ生成部と、前記コマンドデータを送信し,前記レスポンスデータを受信するための通信部と、を備え、
前記端末は、
前記ネットワークに接続されデータの送受信を行うデータ送受信部と、前記ICカードへの前記コマンドデータを送信し、前記レスポンスデータを受信するICカードアクセス部と、を備え、
前記バックアップセンタ装置は、
前記ネットワークに接続され,前記コマンドデータと前記レスポンスデータとの送受信を行う通信部と、前記ICカードに送信される前記コマンドデータを解析する解析部と、前記コマンドデータと前記レスポンスデータとを対応付けた蓄積処理を行う蓄積部と、前記コマンドデータと前記レスポンスデータとを蓄積するバックアップDBと、を備える
ことを特徴とするICカードバックアップシステム。
【請求項2】
請求項1記載のICカードバックアップシステムであって、
前記ICカードは、複数の前記アプリケーションを備える
ことを特徴とするICカードバックアップシステム。
【請求項3】
請求項1記載のICカードバックアップシステムであって、
前記ICカードは、さらに外部記憶装置と、前記端末からの前記コマンドデータを受信し、前記記憶装置に前記コマンドデータを蓄積するコントローラと,を備える
ことを特徴とするICカードバックアップシステム。
【請求項4】
請求項1ないし3記載のいずれか一に記載のICカードバックアップシステムであって、
前記サービス提供者装置の前記送信部は,
前記コマンドデータを前記バックアップセンタ装置へ送信し,
前記バックアップセンタ装置の前記蓄積部は、
前記コマンドデータ送信元であるサービス提供者装置のIDおよび、コマンドデータ送信先であるICカードのIDを取得し,
前記ICカードに対する何番目のコマンドデータであるかを示すコマンドデータ順序情報とともに,前記サービス提供者装置IDと、前記ICカードIDと、前記コマンドデータとを、関連付けて保存する
ことを特徴とするICカードバックアップシステム。
【請求項5】
請求項4記載のICカードバックアップシステムであって、
前記コマンドデータ順序情報は、前記ICカードから取得するコマンドデータシーケンス番号である
ことを特徴とするICカードバックアップシステム。
【請求項6】
請求項4記載のICカードバックアップシステムであって、
前記コマンドデータ順序情報は、前記バックアップDBから取得する順序情報である
ことを特徴とするICカードバックアップシステム。
【請求項7】
請求項4記載のICカードバックアップシステムであって、
前記コマンドデータ順序情報は、前記バックアップセンタ装置が管理する時刻情報である
ことを特徴とするICカードバックアップシステム。
【請求項8】
請求項1ないし7いずれか一に記載のICカードバックアップシステムであって、
前記バックアップセンタ装置の送受信部は,
前記ICカードに前記コマンドデータを送信した後に,前記ICカードから返信される前記レスポンスデータを受信し,
前記蓄積部は,受信した前記レスポンスデータを,前記コマンドデータを送信する前に保存した,前記サービス提供者装置IDと、前記ICカードIDと、前記コマンドデータ順序情報と,前記コマンドデータと、に関連付けて保存する
ことを特徴とするICカードバックアップシステム。
【請求項9】
請求項1ないし8いずれか一に記載のICカードバックアップシステムであって、
前記バックアップセンタ装置が,前記ICカードのバックアップデータを復元する時に,
前記バックアップセンタ装置の前記蓄積部は、
復元依頼元の前記ICカードのカードIDを取得し,該カードIDに関連した,サービス提供者装置IDと、コマンドデータ順序情報と,前記コマンドデータを、前記バックアップDBより取得し,該コマンドデータ順序情報に従い復元処理を行う
ことを特徴とするICカードバックアップシステム。
【請求項10】
請求項9記載のICカードバックアップシステムであって、
前記復元処理を行う時に,前記送信部は,
復元対象のコマンドデータを前記サービス提供者装置に送信し,前記サービス提供者装置は該コマンドデータに対して,署名を付与し,前記コマンドデータと,前記署名を前記ICカードに送信し,
前記ICカードは,前記署名を正しく検証できたときに,前記ICカードの内部状態を更新する
ことを特徴とするICカードバックアップシステム。
【請求項11】
請求項10記載のICカードバックアップシステムであって、
前記バックアップセンタ装置が前記復元処理を行う時に,
前記送受信部は,前記ICカードに対して送信した前記コマンドデータに応じて返信された前記レスポンスデータを受信し,
前記蓄積部は,前記コマンドデータと関連付けて保存している前記レスポンスデータと,を比較し,同一のレスポンスデータであるときに前記復元処理を継続する
ことを特徴とするICカードバックアップシステム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【公開番号】特開2006−259952(P2006−259952A)
【公開日】平成18年9月28日(2006.9.28)
【国際特許分類】
【出願番号】特願2005−74248(P2005−74248)
【出願日】平成17年3月16日(2005.3.16)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成18年9月28日(2006.9.28)
【国際特許分類】
【出願日】平成17年3月16日(2005.3.16)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]