(57)【要約】【課題】  ＩＣカードとサービス提供者装置間で送受信されるデータをバックアップサーバで記録する。また、バックアップサーバに対してデータの内容は秘匿される。さらにデータを復元する場合、正規のサービス提供者装置許可に基づきその処理が実行できるＩＣカードバックアップ方法およびその方法が適用されるシステムを提供する。【解決手段】  バックアップセンタ装置は、ＩＣカードに送信されるコマンドデータと、ＩＣカードから返信されるレスポンスデータと、を、該ＩＣカードＩＤと、該コマンドデータを送信するサービス提供者装置ＩＤと、該コマンドデータの順序情報と、を関連付けて管理する。復元時には、上記コマンドデータ順序情報に従いデータを復元する。【選択図】  図１
2006259952.tif 000002
【特許請求の範囲】
【請求項１】
ＩＣカードバックアップシステムであって、
サービスの提供を行うサービス提供者装置と、コマンドデータを受信し処理を行うＩＣカードと、前記ＩＣカードにコマンドデータを送信する端末と、前記ＩＣカードへ送信されるコマンドデータのバックアップを行うバックアップセンタ装置と、前記端末と、前記サービス提供者装置と、前記バックアップセンタ装置と、が接続するネットワークと、からなり、
前記ＩＣカードは、
コマンドデータを受信し、レスポンスデータを送信するデータ送受信部と、コマンドデータを解析するコマンドデータ解析部と、コマンドデータに従い処理を実行するアプリケーションと、を備え、
前記サービス提供者装置は、
前記ＩＣカードに対して送信する前記コマンドデータを生成するためのコマンドデータ生成部と、前記コマンドデータを送信し，前記レスポンスデータを受信するための通信部と、を備え、
前記端末は、
前記ネットワークに接続されデータの送受信を行うデータ送受信部と、前記ＩＣカードへの前記コマンドデータを送信し、前記レスポンスデータを受信するＩＣカードアクセス部と、を備え、
前記バックアップセンタ装置は、
前記ネットワークに接続され，前記コマンドデータと前記レスポンスデータとの送受信を行う通信部と、前記ＩＣカードに送信される前記コマンドデータを解析する解析部と、前記コマンドデータと前記レスポンスデータとを対応付けた蓄積処理を行う蓄積部と、前記コマンドデータと前記レスポンスデータとを蓄積するバックアップＤＢと、を備える
ことを特徴とするＩＣカードバックアップシステム。
【請求項２】
請求項１記載のＩＣカードバックアップシステムであって、
前記ＩＣカードは、複数の前記アプリケーションを備える
ことを特徴とするＩＣカードバックアップシステム。
【請求項３】
請求項１記載のＩＣカードバックアップシステムであって、
前記ＩＣカードは、さらに外部記憶装置と、前記端末からの前記コマンドデータを受信し、前記記憶装置に前記コマンドデータを蓄積するコントローラと，を備える
ことを特徴とするＩＣカードバックアップシステム。
【請求項４】
請求項１ないし３記載のいずれか一に記載のＩＣカードバックアップシステムであって、
前記サービス提供者装置の前記送信部は，
前記コマンドデータを前記バックアップセンタ装置へ送信し，
前記バックアップセンタ装置の前記蓄積部は、
前記コマンドデータ送信元であるサービス提供者装置のＩＤおよび、コマンドデータ送信先であるＩＣカードのＩＤを取得し，
前記ＩＣカードに対する何番目のコマンドデータであるかを示すコマンドデータ順序情報とともに，前記サービス提供者装置ＩＤと、前記ＩＣカードＩＤと、前記コマンドデータとを、関連付けて保存する
ことを特徴とするＩＣカードバックアップシステム。
【請求項５】
請求項４記載のＩＣカードバックアップシステムであって、
前記コマンドデータ順序情報は、前記ＩＣカードから取得するコマンドデータシーケンス番号である
ことを特徴とするＩＣカードバックアップシステム。
【請求項６】
請求項４記載のＩＣカードバックアップシステムであって、
前記コマンドデータ順序情報は、前記バックアップＤＢから取得する順序情報である
ことを特徴とするＩＣカードバックアップシステム。
【請求項７】
請求項４記載のＩＣカードバックアップシステムであって、
前記コマンドデータ順序情報は、前記バックアップセンタ装置が管理する時刻情報である
ことを特徴とするＩＣカードバックアップシステム。
【請求項８】
請求項１ないし７いずれか一に記載のＩＣカードバックアップシステムであって、
前記バックアップセンタ装置の送受信部は，
前記ＩＣカードに前記コマンドデータを送信した後に，前記ＩＣカードから返信される前記レスポンスデータを受信し，
前記蓄積部は，受信した前記レスポンスデータを，前記コマンドデータを送信する前に保存した，前記サービス提供者装置ＩＤと、前記ＩＣカードＩＤと、前記コマンドデータ順序情報と，前記コマンドデータと、に関連付けて保存する
ことを特徴とするＩＣカードバックアップシステム。
【請求項９】
請求項１ないし８いずれか一に記載のＩＣカードバックアップシステムであって、
前記バックアップセンタ装置が，前記ＩＣカードのバックアップデータを復元する時に，
前記バックアップセンタ装置の前記蓄積部は、
復元依頼元の前記ＩＣカードのカードＩＤを取得し，該カードＩＤに関連した，サービス提供者装置ＩＤと、コマンドデータ順序情報と，前記コマンドデータを、前記バックアップＤＢより取得し，該コマンドデータ順序情報に従い復元処理を行う
ことを特徴とするＩＣカードバックアップシステム。
【請求項１０】
請求項９記載のＩＣカードバックアップシステムであって、
前記復元処理を行う時に，前記送信部は，
復元対象のコマンドデータを前記サービス提供者装置に送信し，前記サービス提供者装置は該コマンドデータに対して，署名を付与し，前記コマンドデータと，前記署名を前記ＩＣカードに送信し，
前記ＩＣカードは，前記署名を正しく検証できたときに，前記ＩＣカードの内部状態を更新する
ことを特徴とするＩＣカードバックアップシステム。
【請求項１１】
請求項１０記載のＩＣカードバックアップシステムであって、
前記バックアップセンタ装置が前記復元処理を行う時に，
前記送受信部は，前記ＩＣカードに対して送信した前記コマンドデータに応じて返信された前記レスポンスデータを受信し，
前記蓄積部は，前記コマンドデータと関連付けて保存している前記レスポンスデータと，を比較し，同一のレスポンスデータであるときに前記復元処理を継続する
ことを特徴とするＩＣカードバックアップシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣカード等のバックアップ方法に関し、さらに詳しくは、ＩＣカード等の状態を適切に復元するためのシステムおよびその方法に関する。
【背景技術】
【０００２】
ＩＣカードやスマートカード（以下、ＩＣカードという）に導入したアプリケーションプログラムを実行することにより、種々のサービスを提供することが行われている。
【０００３】
その場合に、ＩＣカードを複数の提供者装置領域に分けて、それぞれにアプリケーションおよびデータを搭載する技術が知られている（例えば、非特許文献１参照）。
【０００４】
一方、ＩＣカードを紛失した場合などに備えて、ＩＣカード内のアプリケーションプログラムだけでなく、アプリケーションが用いるデータも含めてバックアップしておき、必要に応じて、ＩＣカードの内容を復元したいという要求は強い（例えば，特許文献１参照）。
【０００５】
上記要求は、単一のサービス提供者装置がＩＣカードに対して、残高を減算するためのコマンドデータや、チケットなどを使用済みにするコマンドデータなどを送信する場合、サービス提供者装置で該コマンドデータをバックアップし、ＩＣカードに対してどのような処理が行われたかを管理することにより満たすことができる。
【０００６】
また複数のアプリケーションを搭載可能なマルチアプリケーションＩＣカードの場合であっても、個々のアプリケーションに対するコマンドデータが他のアプリケーションへのコマンドデータに干渉しない場合、個々のサービス提供者装置でコマンドデータをバックアップすることで上記要求を満たすことができる。
【０００７】
【特許文献１】特開２００２−１７５５０９号公報
【非特許文献１】「グローバルプラットフォームカードスペシフィケーションバージョン２．１（GlobalPlatform Card Specification Version2.1）」、（米国）、グローバルプラットフォーム社（GlobalPlatform Inc.）、２００１年６月、ｐ．２７
【特許文献２】米国特許出願公開第２００１／６３１７７５５Ｂ１号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００８】
複数のサービス提供者装置がＩＣカードへ送信するコマンドデータが、他のサービス提供者装置からのコマンドデータへ影響を与える場合、それぞれのサービス提供者装置がバックアップするだけでは上記要求は満足できない。
【０００９】
たとえば、単一アプリケーションのＩＣカードでも複数のサービス提供者装置が利用できる共通ポイントサービス等の共通利用アプリケーションの場合は、それぞれのサービス提供者装置がバックアップするだけでは上記要求は満足できない。また、マルチアプリケーションのＩＣカードの場合には、個々のアプリケーションへ送信されるコマンドデータにより、ＩＣカード内部のメモリ利用状況などのＩＣカード内部状態が変更されるので、あるアプリケーションへのコマンドデータが他のアプリケーションへ与える影響は大きい。このような場合にも、従来技術を用いて個々のサービス提供者装置が個別にバックアップしただけでは、ＩＣカードの復元ができない。
【００１０】
また、バックアップされたコマンドデータには、秘密情報を含むことがありえるので、該コマンドデータを生成したサービス提供者装置以外の、バックアップセンタ装置を含む第三者装置に対して秘匿されなければならない。
【００１１】
さらに、ＩＣカードの偽造を防止するためには、該コマンドデータを生成したサービス提供者装置以外の、バックアップセンタ装置を含む第三者装置が、バックアップされたコマンドデータを用いてＩＣカードを勝手に復元すること、ができてはならない。
【課題を解決するための手段】
【００１２】
本発明は、上記事情に鑑みてなされたものであり、より改善されたＩＣカードバックアップシステムおよびその方法を提供する。
【００１３】
複数のサービス提供者装置からＩＣカードに対して送信されるコマンドデータを、バックアップセンタ装置で保管し、該バックアップされたデータを用いて、適切に復元できるＩＣカードバックアップ方法およびその方法が適用されるシステムを提供する。
【００１４】
具体的には，バックアップセンタ装置は、ＩＣカードに送信されるコマンドデータと、ＩＣカードから返信されるレスポンスデータと、を、該ＩＣカードのＩＣカードＩＤと、該コマンドデータを送信するサービス提供者装置ＩＤと、該コマンドデータ順序情報と、を関連付けて管理する。
【００１５】
復元時には、上記管理している復元対象のＩＣカードＩＤに関連付けられた、コマンドデータと、サービス提供者装置ＩＤと、コマンドデータ順序情報と、を取得し、該コマンドデータ順序情報に従い、復元対象のＩＣカードに対して、該コマンドデータを送信し、データを復元する。
【００１６】
このとき，ＩＣカードに送信されるコマンドデータは，サービス提供者装置，あるいは，ＩＣカードによってのみ復号できるような暗号化を行うので，サービス提供者装置以外の第三者装置には秘匿することができる。
【００１７】
さらに，ＩＣカードに送信されるコマンドデータには，サービス提供者装置以外には生成が困難な署名を付加し，コマンドデータを受け入れるＩＣカードによって，該署名を検証し，検証に成功したときにコマンドデータが実行されるようにすれば，サービス提供者装置による署名が付与されないデータをＩＣカードで拒絶することができる。
【発明の効果】
【００１８】
本発明によれば、従来個々のサービス提供者装置がバックアップしていただけでは復元できなかったＩＣカードについても、その内容を適切に復元することが可能になる。
【発明を実施するための最良の形態】
【００１９】
本発明の一実施形態について説明する。なお、これにより本発明が限定されるものではない。
【００２０】
図１は、本発明の一実施形態が適用されたＩＣカードバックアップシステムの構成図である。
【００２１】
本実施形態のＩＣカードバックアップシステムは、図１に示すように、複数のサービス提供者装置４０１〜４０ｎ（以下、単にサービス提供者装置４０とも称する）と、複数の端末２０１〜２０ｎ（以下、単に端末２０とも称する）と、バックアップセンタ装置５０がインターネットなどのネットワーク３０を介して、互いに接続されて構成されている。また端末２０は、ＩＣカード１０１〜１０ｎ（以下、単にＩＣカード１０とも称する）や、外部記憶装置付ＩＣカード６０１〜６０ｎ（以下、単に外部記憶装置付ＩＣカード６０とも称する）と接続されている。
【００２２】
サービス提供者装置４０は、ＩＣカード１０へコマンドデータ（以下、単にコマンドともいう）を送信し、ＩＣカード１０は、該コマンドデータに従い処理を実行し、実行結果としてのレスポンスデータ（以下、単にレスポンスともいう）をサービス提供者装置４０へ送信する。これにより、サービスが提供される。
【００２３】
サービス提供者装置４０は、コマンドデータを送信し、レスポンスデータを受信するための通信部４０１と、ＩＣカードに対して送信するコマンドデータを生成するためのコマンドデータ生成部４０２と、該コマンドデータを生成するために使う鍵を保管する鍵保管部４０３と、を含む。
【００２４】
ＩＣカード１０と外部記憶装置付ＩＣカード６０は、コマンドデータを受信し、受信したコマンドデータに従い処理を実行し行い、実行結果としてのレスポンスデータを返信する。ＩＣカード１０とＩＣカード６０は、コマンドデータを受信し、レスポンスデータを送信するデータ送受信部１０１と、コマンドデータを解析するコマンドデータ解析部１０２と、コマンドデータを解析するために使う鍵を保管する鍵保管部１０４と、コマンドデータに従い処理を実行するアプリケーション１０３と、を含む。
【００２５】
外部記憶装置付ＩＣカード６０は、上記さらに、記憶装置１７を有し、大容量のデータを蓄積する。外部記憶装置付ＩＣカード６０は、上記コマンドデータを受信し、内容によって送信先を変えるコントローラ１６と、コントローラより転送されたコマンドデータを蓄積する記憶装置１７と、上記ＩＣカード１０と、を含む。
【００２６】
端末２０は、上記ＩＣカード１０に対して、コマンドデータを送信し、また、上記ＩＣカード１０からレスポンスデータを受信する。端末２０は、上記ネットワーク３０に接続されデータの送受信を行うデータ送受信部２０２と、上記ＩＣカード１０へのコマンドデータの送信を行うＩＣカードアクセス部２０１と、を含む。 
バックアップセンタ装置５０は、上記ネットワーク３０に接続され、サービス提供者装置４０から、ＩＣカード１０や外部記憶装置付ＩＣカード６０へ送信されるコマンドデータを取得し、取得したコマンドデータを、その送信元であるサービス提供者装置４０の識別子と、その受信先であるＩＣカード１０の識別子と、ともに蓄積する。バックアップセンタ装置５０は、上記ネットワーク３０に接続されデータの送受信を行う通信部５０１と、上記ＩＣカード１０に送信されるデータを解析する解析部５０２と、該データの蓄積処理を行う蓄積部５０３と、該データを蓄積するバックアップＤＢ５０４と、を含む。
【００２７】
図２は端末２０のハードウェア構成図である。端末２０は、通信装置２１と、入出力装置２２と、ＩＣカード入出力装置２３と、補助記憶装置２４と、ＣＰＵ２５と主記憶装置２６と、読取装置２７とがバスなどの内部通信線２９で連結され、記憶媒体２８を含めて構成されている。また、端末２０はＩＣカード入出力装置２３を経由して、ＩＣカード１０とつながる。
【００２８】
サービス提供者装置４０およびバックアップセンタ装置５０のハードウェア構成は端末２０のハードウェア構成と同様である。ただし、サービス提供者装置４０およびバックアップセンタ装置５０が、直接ＩＣカード１０へのアクセスを行わない場合は、ＩＣカード入出力装置２３は備えなくても良い。
【００２９】
図３はＩＣカード１０のハードウェア構成図である。ＩＣカード１０は、入出力部１１と、ＣＰＵ１２と、耐タンパ補助記憶装置１３と、耐タンパ主記憶装置１４と、がバスなどの内部通信線１５で連結されて構成されている。
【００３０】
本実施形態のＩＣカードバックアップシステムにおける処理フローについて説明する。各装置の補助記憶装置１３，２４に格納されたプログラムが主記憶装置１４，２６にロードされ、ＣＰＵにより実行されることにより、ＩＣカードバックアップシステムを構成する各装置、ＩＣカード上に以下説明する各処理部が具現化され、それら各処理部により、以下に述べる処理フローが実行される。また、各プログラムは予め補助記憶装置１３，２４に格納されても良いし、他の記憶媒体または通信媒体（ネットワーク、またはネットワークを伝搬する搬送波またはディジタル信号）を介して、必要なときに導入されても良い。
【００３１】
図４は、サービス提供者装置４０がＩＣカード１０に対してコマンドデータを発行するフロー図である。サービス提供者装置４０は、このフローを繰り返すことによりＩＣカード１０に対して様々な処理を行うことができる。
【００３２】
まず、端末２０のデータ送受信部２０２からサービス提供依頼を行う。（ステップＳ４００）。サービス提供者装置４０において、コマンド生成部４０２は、依頼情報（Ａ４００）に基づき、コマンドデータを生成し（ステップＳ４０１）、通信部４０１は、生成したコマンドデータＡ４０１をバックアップセンタ装置５０へ送信する。
【００３３】
バックアップセンタ装置５０において、通信部５０１は、コマンドデータＡ４０１を受信する。解析部５０２は、送信元であるサービス提供者装置４０のＩＤおよび、コマンドデータ送信先であるＩＣカード１０のＩＤを取得し（ステップＳ４０２）、該ＩＣカード１０に対する、該コマンドデータの、順番を表すコマンドデータ順序情報を取得する（ステップＳ４０３）。該コマンドデータ順序情報は、バックアップセンタ装置５０が自ら保持するデータベースから取得しても良いし、コマンドデータ送信先のＩＣカード１０から該コマンドデータ順序情報に該当する情報を取得しても良い。
【００３４】
次に、バックアップセンタ装置５０において、蓄積部５０３は、上記ステップＳ４０２で取得したサービス提供者装置ＩＤと、ＩＣカードＩＤと、上記コマンドデータＡ４０１とを、関連付けて、バックアップＤＢ５０４へ保存し（ステップＳ４０４）、通信部５０１は、コマンドデータＡ４０１を端末２０に対して送信する。
【００３５】
端末２０のデータ送受信部２０２は、コマンドデータＡ４０１を受信し、ＩＣカードアクセス部２０１は、ＩＣカード１０に対して該コマンドデータを書き込む（ステップＳ４２０）。
【００３６】
ＩＣカード１０のデータ送受信部１０１は、コマンドデータＡ４０１を受信し、コマンド解析部１０２がコマンドデータＡ４０１を解析し（ステップＳ４０５）、解析したコマンドデータに従い指定された適切なアプリケーション１０３が、該コマンドデータＡ４０１を実行し（ステップＳ４０６）、実行結果に従って内部状態を更新する（ステップＳ４０７）。その後、データ送受信部１０１は、レスポンスデータ（Ａ４０２）を返信する。
【００３７】
端末２０のＩＣカードアクセス部２０１は、ＩＣカード１０からレスポンスデータ（Ａ４０２）を受け取り、データ送受信部２０２は、該レスポンスデータＡ４０２をバックアップセンタ装置５０に転送する。
【００３８】
バックアップセンタ装置５０の通信部５０１は、受け取ったレスポンスデータ（Ａ４０２）を、ＩＣカードＩＤに基づいて、上記ステップＳ４０４で保存したデータと関連付けて，バックアップＤＢ５０４に保存（ステップＳ４０８）する。
【００３９】
バックアップセンタ装置５０の通信部５０１が、セッション管理などを行うことにより、前記コマンドデータＡ４０１と、前記レスポンスデータＡ４０２との対応関係を認識することができる。その後、通信部５０１は、サービス提供者装置４０にレスポンスデータ（Ａ４０２）を転送する。
【００４０】
サービス提供者装置４０の通信部４０１は、レスポンスデータ（Ａ４０２）を受信し、サービス提供部４０４は、該レスポンスデータを確認し（Ｓ４０９）、端末２０に依頼完了通知（Ａ４１０）を送信する。
【００４１】
なお、サービス提供者装置４０から、バックアップセンタ装置５０を経由して、端末２０にコマンドデータが送信されているが、サービス提供者装置４０が、バックアップセンタ装置５０と、端末２０の双方にコマンドデータを送信するように構成しても良い。
【００４２】
また、レスポンスデータ（Ａ４０２）は、端末２０からバックアップセンタ装置５０を経由して、サービス提供者装置４０に返信されているが、端末２０が、バックアップセンタ装置５０とサービス提供者装置４０にの双方に返信するように構成しても良い。
【００４３】
また、バックアップセンタ装置は、サービス提供者装置４０のＩＤを取得することにより、バックアップする必要のないコマンドデータ（契約外のサービス提供者装置のコマンドデータなど）を識別し、バックアップしないように構成しても良い。
【００４４】
また，ステップＳ４０３においてコマンドデータ順序情報を取得するのではなく，不可逆なデータ，例えば，バックアップセンタ装置で管理する時刻情報などのデータで代用しても良い。
【００４５】
図５は、図４のサービス提供者装置４０におけるコマンドデータ生成処理（ステップＳ４０１）の詳細を説明する図である。ＩＣカード１０へのコマンドデータＡ４０１はコマンドデータの種類等を表すコマンドヘッダ部Ａ４０１１と、実際のデータ部Ａ４０１２から成る。まず、データ部Ａ４０１２を、サービス提供者装置４０の鍵保管部４０３に保管されているデータ暗号化用の鍵で暗号化する。次にコマンドヘッダＡ４０１１と、上記暗号化されたデータＡ４０１３から、サービス提供者装置４０の鍵保管部４０３に保管されている署名生成用の鍵で署名Ａ４０１４を生成する。次に、コマンドヘッダＡ４０１１と、暗号化されたデータＡ４０１３と、署名Ａ４０１４と、を連結し，コマンドデータＡ４０１を生成する。
【００４６】
なお、データ部Ａ４０１２だけでなく、コマンドヘッダＡ４０１１を含めて暗号化しても良い。
【００４７】
図６は、図４のＩＣカード１０におけるコマンドデータ解析処理（ステップＳ４０５）の詳細を説明する図である。コマンド解析部１０２は、受信したコマンドデータＡ４０１に含まれるコマンドヘッダＡ４０１１および暗号化されたデータＡ４０１３から、ＩＣカード１０の鍵保管部１０４に保管されている署名検証用の鍵で署名Ａ４０１４'を生成する。上記受信したコマンドデータＡ４０１に含まれる署名Ａ４０１４と、上記生成した署名Ａ４０１４'を比較し、署名が正しいか否かを検証する。署名が正しければ、暗号化されたデータＡ４０１３を、ＩＣカード１０の鍵保管部１０４に保管されているデータ復号用の鍵で復号し、データＡ４０１２を得る。
【００４８】
また、ネットワーク３０、端末２０、および、バックアップセンタ装置５０の安全性が保証され、コマンドデータＡ４０１２を暗号化する必要が無い場合は、サービス提供者装置４０におけるデータＡ４０１２の暗号化処理と、ＩＣカード１０におけるデータＡ４０１３の復号処理を行わないようにしても良い。
【００４９】
図７は、バックアップセンタ装置５０のバックアップＤＢ５０４における、バックアップデータの保存形式を表している。図４のステップＳ４０２で取得したカードＩＤＡ４０４１と、サービス提供者装置ＩＤＡ４０４２と、ステップＡ４０３で取得したコマンドデータ順序情報Ａ４０４３と、サービス提供者装置４０より受信した、コマンドヘッダＡ４０１１と暗号化されたデータＡ４０１３と、図４のステップＳ４０８で受信したレスポンスデータＡ４０２と、を関連付けたレコードを保存する。該データの組（レコード）が，バックアップＤＢ５０４に複数保存される。
【００５０】
なお、サービス提供者装置４０においてコマンドデータＡ４０１２の暗号化処理が行われない場合は、暗号化されたデータＡ４０１３の代わりにデータＡ４０１２を関連付けて保存するようにしても良い。
【００５１】
次に，図１０のフロー図を用いて、ＩＣカード１０のデータを一括してバックアップを取る場合の処理を説明する。
【００５２】
まず、端末２０のデータ送受信部２０２が、バックアップセンタ装置５０に対して、一括バックアップ依頼を行う（ステップＳ１０００）。バックアップセンタ装置５０の通信部５０１は、依頼情報を受信し、解析部５０２は、当該依頼情報に含まれる情報より、一括バックアップ依頼元のＩＣカードのＩＤを取得する（ステップＳ１００２）。次にバックアップセンタ装置５０は、ＩＣカード１０に対する一括バックアップコマンドＡ１００１生成し、送信する（ステップＳ１００２）。
【００５３】
ＩＣカード１０のデータ送受信部１０１は、該一括バックアップコマンドＡ１００１を受信し、コマンド解析部１０２は、該コマンドを解析し（ステップＳ１００３）、アプリケーション１０３と、鍵保管部１０４と、に保管されているデータを、一括バックアップデータＡ１００２として、バックアップセンタ装置５０へ送信する（ステップＳ１００５）。
【００５４】
バックアップセンタ装置５０は、一括バックアップデータＡ１００２を受信し、前記ステップＳ１００１で取得したＩＣカードＩＤと関連付けて、バックアップＤＢ５０４へ保存する。その後完了通知Ａ１００３を、端末２０に対して送信する。
【００５５】
この一括バックアップにより，過去全てのバックアップデータがなくても，ある特定の時点の一括バックアップデータとその時点以降のコマンドデータとレスポンスデータのバックアップデータがあれば、ＩＣカード１０のデータを適正に復元できることになる。
【００５６】
なお、一括バックアップ依頼を端末２０より送信することとしているが、バックアップセンタ装置５０から、一定期間ごとや、その他のタイミングで、強制的に一括バックアップコマンドを送信するようにしても良い。またコマンド解析処理Ｓ１００３では、事前に登録されたバックアップセンタ装置からの一括バックアップコマンドＡ１００１だけを受理するようにしても良い。さらに、一括バックアップデータＡ１００２は、バックアップセンタ装置５０のみが復号できるように暗号化しても良い。
【００５７】
図８は、ＩＣカード１０のデータを復元するフロー図である。
【００５８】
まず、端末２０のデータ送受信部２０２が、バックアップセンタ装置５０に対して、復元依頼を行う（ステップＳ８０１）。
【００５９】
バックアップセンタ装置５０の通信部５０１は、復元依頼を受信し、解析部５０２は、当該復元依頼に含まれる情報より、復元依頼元のＩＣカードのＩＤを取得する（ステップＳ８０２）。
【００６０】
蓄積部５０３は、上記ステップＳ８０２で取得したカードＩＤに関連した一括バックアップデータを、バックアップＤＢ５０４に保持する場合、ＩＣカード１０に対して、一括復元データＡ８１５を送信する（ステップＳ８１５）。ＩＣカード１０は、該一括復元データＡ８０２１を受信し、内部状態を更新する（ステップＳ８１６）。
【００６１】
次に、蓄積部５０３は、上記ステップＳ８０２で取得したカードＩＤに関連した情報を、自らが保持するバックアップＤＢ５０４から取得する。（ステップＳ８０３）。解析部５０２は、取得した情報のコマンドデータ順序情報のうち、一括バックアップデータより若いデータに関して、より若い順に以降の復元処理を行う。
【００６２】
通信部５０１は、上記ステップＳ８０３で取得した情報に含まれるサービス提供者装置ＩＤ４０４２が示すサービス提供者装置４０（４０１〜４０ｎ）に対して、暗号化されたデータＡ４０１３（４０１３１〜４０１３ｎ）を送信する。（ステップＳ８０４）。サービス提供者装置４０のサービス提供部４０４は、復元を許可するか否かを判断し、許可する場合は、コマンド生成部４０２が、上記暗号化されたデータＡ４０１３に対して署名を付与し（ステップＳ８０５）、通信部４０１は、該署名Ａ４０１４（４０１４１〜４０１４ｎ）をバックアップセンタ装置５０に送信する。バックアップセンタ装置５０は、コマンドヘッダＡ４０１１と、暗号化されたデータＡ４０１３と、署名Ａ４０１４を連結したコマンドデータＡ８０２を、端末２０に送信する。
【００６３】
端末２０のデータ送受信部２０２は、コマンドデータＡ８０２を受信し、ＩＣカードアクセス部２０１は、ＩＣカード１０に対して書き込み処理を行う。（ステップＳ８１０）。
【００６４】
ＩＣカード１０のデータ送受信部１０１は、コマンドデータを受信し、コマンド解析部１０２は、該受信したコマンドデータを解析し（ステップＳ８１０）、解析したコマンドデータに従い、適切なアプリケーションが処理を実行し（ステップＳ８１１）、実行結果に従って内部状態を更新する（ステップＳ８１２）。その後、データ送受信部１０１は、レスポンスデータＡ８０３を返信する。
【００６５】
端末２０のＩＣカードアクセス部２０１は、ＩＣカード１０からレスポンスデータを受信し、データ送受信部２０２は、バックアップセンタ装置５０に転送する。バックアップセンタ装置５０の通信部５０１は、レスポンスデータを受信し、サービス提供者装置４０に転送するとともに、解析部５０２は、自らがバックアップＤＢ５０４に保持するレスポンスデータと比較し（ステップＳ８１３）、一致しない場合、復元失敗とし、端末２０に通知する（ステップＳ８１７）。
一致する場合は、引き続き終了判定を行う（ステップＳ８１４）。上記ステップＳ８０３で取得したデータすべての処理が完了していたら復元成功とし、端末２０に通知する（ステップＳ８１７）。そうでなければ、ステップＳ８０４から繰り返す（ステップＳ８１４）。
【００６６】
なお、復元依頼（Ｓ８０１）は端末２０以外から行われても良い。
【００６７】
また、バックアップセンタ装置５０からサービス提供者装置４０に対して、暗号化されたデータＡ４０１３を送信しているが、コマンドヘッダＡ４０１１とともに送信しても良い。
【００６８】
また、同一のサービス提供者装置４０の署名が必要な、複数のコマンドデータが存在する場合は、まとめてサービス提供者装置４０へ、署名対象データを送信しても良い。
【００６９】
また、サービス提供者装置４０は，生成した署名Ａ４０１４を、バックアップセンタ装置５０経由で端末２０に送信しているが、コマンドヘッダＡ４０１１と、暗号化されたデータＡ４０１３と、署名Ａ４０１４と、をサービス提供者装置４０から、端末２０に送信しても良い。
【００７０】
また、前記ステップＳ８１３では、レスポンスデータを比較し、一致しない場合は、即時に復元失敗としているが、複数回のリトライを繰り返すようにして良い。これにより，リトライにより復元できるようなエラーにより復元失敗となった場合でも，復元できる可能性が高くなる。
【００７１】
図９は、ＩＣカード１０のデータを復元する第２のフロー図である。
【００７２】
図８と同様の処理を行うステップの説明は書略する。
【００７３】
ステップＳ８０３で取得した、複数のバックアップデータに関する署名生成依頼を、ＩＣカード１０へコマンドデータを送信する前に行うことが図８とは異なる。
【００７４】
バックアップセンタ装置５０の通信部５０１が、サービス提供者装置４０から署名を受け取った後、解析部５０２が、ステップＳ８０３で取得したバックアップデータに対するすべての署名が取得できたが否かを判定する（ステップＳ８０６）。すべてのコマンドデータに対する署名が取得できている場合、以降の処理へ進む。そうでなければ、署名生成依頼（ステップＳ８０４）から繰り返す。
【００７５】
バックアップセンタ装置５０の通信部５０１は、コマンドデータ順序情報Ａ４０４３順に、コマンドヘッダＡ４０１１と、暗号化されたデータＡ４０１３と、署名Ａ４０１４を連結したコマンドデータＡ８０２を、端末２０に送信し（ステップＳ８０７）、レスポンスデータを受信する。解析部５０２は、該レスポンスデータを検証する（ステップＳ８１３）。一致しない場合、復元失敗とし、端末２０に通知する（ステップＳ８１７）。一致する場合、引き続き終了判定を行う（ステップＳ８１４）。上記ステップＳ８０３で取得したデータのすべて処理がすべて完了していたら復元成功とし、端末２０に通知する（ステップＳ８１７）。そうでなければ、ステップＳ８０７から繰り返す（ステップＳ８１４）。
【００７６】
上述のように、本実施例では、複数のサービス提供者装置４０が、ひとつのＩＣカード１０に対してコマンドデータを送信し、それぞれが互いに影響しながらＩＣカード１０の内部状態を変更した場合であっても、復元依頼がなされるまでのＩＣカード１０へのコマンドデータおよびレスポンスデータは、バックアップセンタ装置に、コマンドデータ順序情報とともに保管されているので、該コマンドデータ順序情報の順に、復元処理を行うことで、ＩＣカード１０の内部状態を復元することができる。
【００７７】
また、ＩＣカード１０の内部でコマンドデータ解析処理（ステップＳ８１０）を行い、署名の検証を行っているので、署名生成が行えない、バックアップセンタ装置５０を含む第三者装置は、サービス提供者装置の署名付与処理を行うことなく、復元処理を完遂させることはできないので，安全性が確保される。
【００７８】
さらに、バックアップデータはサービス提供者装置しか知り得ない、データ暗号化の鍵で暗号化されているので、その秘匿性は守られる。
【００７９】
なお、本発明は、上記の本実施形態に限定されるものではなく、その要旨の範囲内で様々な変形が可能である。
【００８０】
たとえば、端末２０が入場ゲートのような様態の場合、バックアップセンタ装置５０の機能を端末２０に持たせても良い。この場合、バックアップデータは端末２０内に一時的に保持されることになるが、定期的にバックアップセンタ装置５０にバックアップデータを収集することで，復元処理は実現される。
【００８１】
また、バックアップデータをサービス提供者装置４０内で管理したい場合も考えられる。この場合、コマンドデータ順序情報Ａ４０４３の管理をバックアップセンタ装置４０が行うことで、適切な復元が実現できる。
【００８２】
また、バックアップセンタ装置５０が複数存在する場合も考えられる。その場合は、ある特定のＩＣカード１０に対するバックアップデータが、複数のバックアップセンタ装置５０に散在することになる。しかしながら、コマンドデータ順序情報Ａ４０４３により、特定のＩＣカード１０に対するコマンドの順序は一意に決定することができるので、複数のバックアップセンタ装置５０に保温されているバックアップデータを収集することで、適切な復元が実現できる。
【００８３】
本実施例では、ＩＣカード１０を用いたＩＣカードバックアップシステムの例であるが、ＩＣカード１０の代わりに、外部記憶装置付ＩＣカード６０を用いて構成してもよい。
【００８４】
また、ＩＣカード１０の内部にバックアップデータを保持するようにしても良い。とくに、ＩＣカード１０の代わりに、外部記憶装置付ＩＣカード６０を用いると、大量のバックアップデータを保存できるので、より復元に適している。
【００８５】
ＩＣカード１０の内部にバックアップデータを保存する場合，ＩＣカード１０のコマンド解析部１０２は，受信したコマンドＡ４０１を，耐タンパ補助記憶装置１３に保存するとともに，アプリケーション１０３に送る。また，レスポンスデータも同様に耐タンパ補助記憶装置１３に上記コマンドＡ４０１と対応付けて保存するとともに端末２０へ送信する。
【００８６】
外部記憶装置付きＩＣカード６０の内部にバックアップデータを保存する場合，コントローラ１６は，受信したコマンドＡ４０１を，記憶装置１７に保存するとともに，ＩＣカード１０に送る。また，レスポンスデータも同様に記憶装置１７に上記コマンドＡ４０１と対応付けて保存するとともに端末２０へ送信する。
【００８７】
さらに、ＩＣカード１０、あるいは、外部記憶装置付ＩＣカード６０の内部にバックアップデータを保持する場合に、暗号化することにより、端末２０を操作する復元実行者に対して、コマンドデータを秘匿できるので、より安全である。
【図面の簡単な説明】
【００８８】
【図１】本発明の一実施形態が適用されたＩＣカードバックアップシステムの構成を例示する図である。
【図２】図１に示す端末のハードウェア構成を例示する図である。
【図３】図１に示すＩＣカードのハードウェア構成を例示する図である。
【図４】本発明の一実施形態が適用されたＩＣカードバックアップシステムのコマンドデータ送信フローを例示する図である。
【図５】図４のコマンドデータ生成ステップを詳しく説明する図である。
【図６】図５のコマンドデータ解析ステップを詳しく説明する図である。
【図７】バックアップセンタ装置５０におけるバックアップデータの保存形式を例示する図である。
【図８】本発明の一実施形態が適用されたＩＣカードバックアップシステムの復元処理フローを例示する図である。
【図９】本発明の一実施形態が適用されたＩＣカードバックアップシステムの第２の復元処理フローを例示する図である。
【図１０】本発明の一実施形態が適用されたＩＣカードバックアップシステムの一括バックアップ処理フローを例示する図である。
【符号の説明】
【００８９】
１０：ＩＣカード、１１：：入出力装置、１２：：ＣＰＵ、１３：：耐タンパ補助記憶装置、１４：耐タンパ主記憶装置、１５：内部通信線、２０：端末、２１：通信装置、２２：入出力装置、２３：ＩＣカード入出力装置、２４：補助記憶装置、２５：ＣＰＵ、２６：主記憶装置、２７：読取装置、２８：記憶媒体、２９：内部通信線、３０：ネットワーク、４０１〜４０ｎ：サービス提供者装置、５０：バックアップセンタ装置、１０１：データ送受信部、１０２：コマンドデータ解析部、１０３１〜１０３ｎ：アプリケーション、１０４１〜１０４ｎ：鍵保管部、２０１：ＩＣカードアクセス部、２０２：データ送受信部、４０１：通信部、４０２：コマンドデータ生成部、４０３：鍵保管部、４０４：サービス提供部、５０１：通信部、５０２：解析部、５０３：蓄積部、５０４：バックアップＤＢ、Ａ４０１：コマンドデータ、Ａ１０２：レスポンスデータ、Ａ４０１１：コマンドヘッダ、Ａ４０１２：データ、Ａ４０１３：暗号化されたデータ、Ａ４０１４：署名、Ａ４０１４'：署名、Ａ４０４１：カードＩＤ、Ａ４０４２：サービス提供者装置ＩＤ、Ａ４０４３：コマンドデータ順序情報、Ａ８０２：署名付暗号化されたコマンドデータ、Ａ８０３：レスポンスデータ、Ａ１００１：一括バックアップコマンド、Ａ１００２：一括バックアップデータ。
【図１】
2006259952.tif 000003
【図２】
2006259952.tif 000004
【図３】
2006259952.tif 000005
【図４】
2006259952.tif 000006
【図５】
2006259952.tif 000007
【図６】
2006259952.tif 000008
【図７】
2006259952.tif 000009
【図８】
2006259952.tif 000010
【図９】
2006259952.tif 000011
【図１０】
2006259952.tif 000012