(57)【特許請求の範囲】
【請求項１】
ＩＣカードを用いたセキュア端末システムであって、
ＩＣカードと、該ＩＣカードを挿入して利用する端末と、前記ＩＣカードと該端末が認定機関装置より認定を取得する際に利用する認定端末と、前記認定端末が接続するネットワークと、前記ネットワークと接続し、前記ＩＣカードと前記端末を認定する前記認定機関装置と、からなり、
前記ＩＣカードは、
コマンドを送受信するデータ送受信部と、
コマンドを解析するコマンド解析部と、
コマンドに従い処理を実行するサービスアプリケーション部と、
該サービスアプリケーション部で利用するデータを保管するデータ保管部と、
前記端末に挿入された際に、前記端末の認証処理を行い、前記認証処理に成功した場合には、前記端末との間で署名暗号化通信処理を行い、前記認証処理に失敗した場合には、前記認定機関装置より取得した認定の有無を確認し、互いに鍵を共有するセットアップ処理を行い、前記セットアップ処理が終了した際に前記認証処理を再度実施する認証アプリケーション部と、
該認証アプリケーション部で利用する鍵を保管する鍵保管部と、前記認証アプリケーション部で利用する認証データを保管する認証データ保持部と、を備え、
前記端末は、
前記ＩＣカードとアクセスするＩＣカードアクセス部と、
前記ＩＣカードに送信するコマンドを生成するコマンド生成部と、
前記認定端末に対しデータを送受信するデータ送受信部と、
前記サービスアプリケーションに対しサービスを提供するサービス提供部と、
該サービス提供部で利用するデータを保管するデータ保管部と、
前記ＩＣカードを認証する認証データ生成部と、
該認証データ生成部で利用する鍵を保管する鍵保管部と、前記認証データ生成部で利用する認証データを保管する認証データ保持部と、を備え、
前記認定端末は、
前記端末に対してデータを送受信するデータ送受信部と、
前記ＩＣカードとアクセスするＩＣカードアクセス部と、ネットワークに対しデータを送受信する通信部と、を備え、
前記認定機関装置は、
ネットワークに対しデータを送受信する通信部と、
前記ＩＣカードや前記端末を認定する際に必要となるデータを生成する認定データ生成部と、
該認定データ生成部で利用する鍵を保管する鍵保管部と、を備える
ことを特徴とするＩＣカードを用いたセキュア端末システム。
【請求項２】
請求項１記載のＩＣカードを用いたセキュア端末システムであって、
前記ＩＣカードは、
複数のサービスアプリケーション部と、該複数のサービスアプリケーションで利用するデータを保管するデータ保管部と、を備える
ことを特徴とするＩＣカードを用いたセキュア端末システム。
【請求項３】
請求項１または２に記載のＩＣカードを用いたセキュア端末システムであって、
前記端末は、
複数のサービス提供部と、該複数のサービス提供部で利用するデータを保管するデータ保管部と、を備える
ことを特徴とするＩＣカードを用いたセキュア端末システム。
【請求項４】
請求項１ないし３のいずれか一に記載のＩＣカードを用いたセキュア端末システムであって、
前記ＩＣカードが備える前記サービスアプリケーション部と、前記端末が備える前記サービス提供部間で通信を行う際には、前記通信の送信側となる前記認証アプリケーション部、もしくは、前記認証データ生成部が通信するデータに対して署名と暗号化を行い、前記通信の受信側となる前記認証アプリケーション部、もしくは、前記認証データ生成部が署名検証と復号を行う
ことを特徴とするＩＣカード用いたセキュア端末システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＣカードを用いて端末をセキュアにする方法に関し、さらに詳しくは、端末の安全性を向上させ、端末への不正アクセス、データ改竄、盗聴等を防ぐことが可能なシステムおよびその方法に関する。
【背景技術】
【０００２】
携帯電話やＰＤＡやＰＣなどの端末を用いて、クレジット決済や、モバイルバンキング等の各種電子サービスを安全に行いたいという要求は大きい。
【０００３】
しかし、これらの端末の場合、耐タンパ領域が存在しないため、端末に対する不正アクセスにより、ユーザが入力したクレジットカード番号や暗証番号等が第三者に漏洩したり、データが改竄されたりする危険性があった。
【０００４】
そこで上記要求を満たすために、端末に挿入したセキュアデバイス内の秘密情報を利用して、端末を認証する技術が知られている（例えば、特許文献１参照）。
【０００５】
また、サーバとクライアント間の通信を安全に行うために、公開鍵証明書を用いてお互いに認証し、サーバとクライアント間で送受信するデータに対し、署名と暗号化を行う技術が知られている（例えば、非特許文献１参照）。
【０００６】
【特許文献１】特開２００４−２６５０２６号公報
【非特許文献１】Alan O. Freier, Philip Karlton, Paul C. Kocher, "The SSL Protocol Version 3.0", [online], １９９６年１１月, Netscape Communications Inc., [２００５年１０月２１日検索], インターネット＜URL: http://www.netscape.com/eng/ssl3/draft302.txt＞
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来技術では、端末とＩＣカードの組み合わせは一通りであることが前提となっており、端末やＩＣカードを更新する際には対応することができなかった。また、端末（特に携帯電話やＰＤＡなどのモバイル端末）やＩＣカードはＰＣなどに比べ非力であり、従来技術にある公開鍵証明書を用いた方式の場合、認証に多大な処理時間が必要となるという問題があった。
【課題を解決するための手段】
【０００８】
本発明は、上記事情に鑑みてなされたものであり、端末やＩＣカードの更新時にも対応可能であり、また、端末（特にモバイル端末）やＩＣカードなどの非力なＣＰＵであっても処理時間の増加を防ぎ、端末とＩＣカード間の通信の安全性を保証するシステムを提供する。
【０００９】
具体的には,ＩＣカードと端末間で認証を行うフローを大きく３つに分割し、各々のフローを実施するタイミングと回数を変更する。多くの処理時間が必要な公開鍵を用いた署名検証と共通鍵の生成を行うセットアップ処理はＩＣカードと端末の組み合わせが決定した段階で一度だけ実行し、通常はあまり処理時間のかからない共通鍵を用いた認証処理のみを実行する。その後、認証処理で生成したセッション鍵を用いてセキュア通信処理を行い、ＩＣカードと端末間の通信の安全性を保証する。このように処理を分割することにより、処理時間の大幅な軽減が可能となる。また、各々の処理の実行順序を工夫することにより、ＩＣカードや端末の更新時にもユーザが特に意識せずにＩＣカードと端末の組み合わせを変更させることが可能である。
【００１０】
より具体的には、端末にＩＣカードを挿入した際に、まず、両者間で認証処理を実施する。両者間で予め鍵の共有ができていれば、認証処理時に生成するセッション鍵を用いて両者間でセキュア通信を行う。両者間で予め鍵の共有ができていないと判断されれば、次にセットアップ処理を行い、両者が予め認定機関装置より認定を取得しているか確認する。認定を取得していると判断された場合には、両者間で共通鍵を生成し、共有する。そして再度認証処理を実施し、認証処理時に生成したセッション鍵を用いてセキュア通信処理を行う。このような処理フローを用いることにより、ＩＣカードや端末の更新時にも容易に対応が可能となる。また、セキュア通信処理では、端末からＩＣカードに送信するコマンド及びＩＣカードから端末に送信するレスポンスに対して署名を付加し、各々のデータを暗号化する。このセキュア通信処理により、モバイル端末とセキュアデバイス間の通信の安全性が向上する。
【００１１】
すなわち、本発明によるＩＣカードを用いたセキュア端末システムは、ＩＣカードと、該ＩＣカードを挿入して利用する端末と、ＩＣカードと該端末が認定機関装置より認定を取得する際に利用する認定端末と、認定端末が接続するネットワークと、ネットワークと接続し、ＩＣカードと端末を認定する認定機関装置からなり、ＩＣカードは、コマンドを送受信するデータ送受信部と、コマンドを解析するコマンド解析部と、コマンドに従い処理を実行するサービスアプリケーション部と、該サービスアプリケーション部で利用するデータを保管するデータ保管部と、端末を認証する認証アプリケーション部と、該認証アプリケーション部で利用する鍵を保管する鍵保管部と、認証アプリケーション部で利用する認証データを保管する認証データ保持部と、を備え、端末は、ＩＣカードとアクセスするＩＣカードアクセス部と、ＩＣカードに送信するコマンドを生成するコマンド生成部と、認定端末に対しデータを送受信するデータ送受信部と、サービスアプリケーションに対しサービスを提供するサービス提供部と、該サービス提供部で利用するデータを保管するデータ保管部と、ＩＣカードを認証する認証データ生成部と、該認証データ生成部で利用する鍵を保管する鍵保管部と、認証データ生成部で利用する認証データを保管する認証データ保持部と、を備え、認定端末は、端末に対してデータを送受信するデータ送受信部と、ＩＣカードとアクセスするＩＣカードアクセス部と、ネットワークに対しデータを送受信する通信部と、を備え、認定機関装置は、ネットワークに対しデータを送受信する通信部と、ＩＣカードや端末を認定する際に必要となるデータを生成する認定データ生成部と、該認定データ生成部で利用する鍵を保管する鍵保管部と、を備えることを、特徴とするものである。
【００１２】
また、ＩＣカードは、複数のサービスアプリケーション部と、該複数のサービスアプリケーションで利用するデータを保管するデータ保管部と、を備えても良い。
【００１３】
また、端末は、複数のサービス提供部と、該複数のサービス提供部で利用するデータを保管するデータ保管部と、を備えてもよい。
【００１４】
また、ＩＣカードと端末間で行う処理を、認証アプリケーション部及び認証データ生成部が、認定機関装置より取得した認定の有無を確認し、互いに鍵を共有するセットアップ処理と、該セットアップ処理で共有した鍵を用いて相互認証を行い、セッション鍵を共有する認証処理と、該認証処理で共有したセッション鍵を用いて送受信するコマンドやレスポンスに対し、署名や暗号化を行うセキュア通信処理の３つの処理と、に分割し、各々の処理を実行するタイミングと回数を変えることによって、システム全体として必要となる処理時間を短縮する構成を備えてもよい。
【００１５】
また、認証アプリケーション部は、ＩＣカードが端末に挿入されたら認証処理を実行し、認証処理に成功した場合にはセキュア通信処理に移行し、認証処理に失敗した場合にはセットアップ処理に移行し、セットアップ処理が終了した段階で再び認証処理を行い、セキュア通信処理に移行する構成を備えても良い。
【００１６】
また、ＩＣカードが備えるサービスアプリケーション部と、端末が備えるサービス提供部間で通信を行う際には、通信の送信側となる認証アプリケーション部、もしくは、認証データ生成部が通信するデータに対して署名と暗号化を行い、通信の受信側となる認証アプリケーション部、もしくは、認証データ生成部が署名検証と復号を行ってもよい。
【発明の効果】
【００１７】
本システムによれば、ＩＣカードと端末間の通信が安全になり、ＩＣカードや端末の更新時にも、ユーザの手を煩わせることなく、組み合わせの変更が可能となる。また、処理手順を工夫することにより、ユーザの待ち時間を減少させることが可能となる。
【発明を実施するための最良の形態】
【００１８】
本発明の一実施形態について説明する。なお、これにより本発明が限定されるものではない。
【００１９】
図１は、本発明の一実施形態が適用されたＩＣカードを用いたセキュア端末システムの構成図である。
【００２０】
本実施形態のＩＣカードを用いたセキュア端末システムは、図１に例示するように、ＩＣカード１０と、ＩＣカード１０にアクセスする端末２０と、ＩＣカード１０と端末２０を認定する際に利用する認定端末３０と、ネットワーク４０と、ＩＣカード１０と端末２０を認定する認定機関装置５０とが互いに接続されて構成されている。
【００２１】
ＩＣカード１０は、外部からコマンドを受信し、受信したコマンドの内容により処理を行い、処理結果を返信する。該ＩＣカード１０は、コマンドを受信し、処理結果を送信するデータ送受信部１０１と、コマンドを解析するコマンド解析部１０２と、コマンドに従い処理を実行するサービスアプリケーション部１０３１〜１０３ｎ（以降、１０３と示すこともある）と、該サービスアプリケーション部１０３１〜１０３ｎで利用するデータを保管しておくデータ保管部１０４１〜１０４ｎ（以降、１０４と示すこともある）と、前記端末２０の認証を行う認証アプリケーション部１０５と、該認証アプリケーション部１０５が署名や暗号化を行うための鍵を保管しておく鍵保管部１０６と、前記認証アプリケーション１０５が認証を行う際に必要となるデータを保持する認証データ保持部１０７と、を含む。
【００２２】
端末２０は、前記ＩＣカード１０とコマンドの送受信を行うＩＣカードアクセス部２０１と、前記ＩＣカード１０に対して送信するコマンドを生成するコマンド生成部２０２と、前記端末２０を認定する際に利用するデータ送受信部２０３と、前記サービスアプリケーション１０３に対してサービスを提供するサービス提供部２０４１〜２０４ｎ（以降、２０４と示すこともある）と、該サービス提供部２０４１〜２０４ｎで利用するデータを保管しておくデータ保管部２０５１〜２０５ｎ（以降、２０５と示すこともある）と、前記ＩＣカード１０を認証するためのデータを生成する認証データ生成部２０６と、該認証データ生成部２０６が署名や暗号化を行うための鍵を保管しておく鍵保管部２０７と、前記認証データ生成部２０６が認証を行う際に必要となるデータを保持する認証データ保持部２０８と、を含む。
【００２３】
認定端末３０は、前記端末２０とデータを送受信するデータ送受信部３０１と、前記ＩＣカード１０とコマンド送受信を行うＩＣカードアクセス部３０２と、ネットワークに対しデータを送受信する通信部３０３と、を含む。
【００２４】
認定機関装置５０は、ネットワークに対しデータを送受信する通信部５０１と、前記ＩＣカード１０や前記端末２０を認定する際に必要となるデータを生成する認定データ生成部５０２と、該認定データ生成部が署名を行うための鍵を保管しておく鍵保管部５０３と、を含む。
【００２５】
図２はＩＣカード１０のハードウェア構成を例示する図である。ＩＣカード１０は、入出力装置１１と、ＣＰＵ１２と、耐タンパ記憶装置１３と、耐タンパメモリ１４と、がバスなどの内部通信線１５で接続されて構成されている。ここで、ＩＣカードの形状はテレホンカードのようなカード形状に限定するものではなく、前記の構成要素を含むハードウェアであれば、たとえば、ＭＭＣやＳＤカードのようなメモリーカードの形状であってもよい。
【００２６】
図３は端末２０のハードウェア構成を例示する図である。端末２０は、記憶装置２１と、入出力装置２２と、ＩＣカード入出力装置２３と、ＣＰＵ２４と、メモリ２５と、読取装置２６とがバスなどの内部通信線２８で連結され、記憶媒体２７を含めて構成されている。
【００２７】
図４は認定端末３０のハードウェア構成を例示する図である。認定端末３０は、通信装置３１と、入出力装置３２と、ＩＣカード入出力装置３３と、記憶装置３４と、ＣＰＵ３５と、メモリ３６と、読取装置３７とがバスなどの内部通信線３９で連結され、記憶媒体３８を含めて構成されている。図４に示す構成は、認定機関装置５０においても同様である。
【００２８】
本実施形態のＩＣカードを用いたセキュア端末システムにおける処理フローについて説明する。以下に述べる処理フローは、各装置の記憶装置に格納されたプログラムがメモリにロードされ、ＣＰＵにより実行されることにより、ＩＣカードを用いたセキュア端末システムを構成する各装置、ＩＣカード上に具現化される各処理部により実行されるものである。また、各プログラムは予め記憶装置に格納されても良いし、他の記憶媒体または通信媒体（ネットワークまたはネットワークを伝搬する搬送波）を介して、必要なときに導入されても良い。
【００２９】
図５は、ＩＣカード１０と端末２０間で行う処理の全体を示したフロー図である。
【００３０】
まず、端末２０にＩＣカード１０を挿入する（Ｓ５０１（Ｓ５０１と表現する。以下同様））。次に、挿入されたＩＣカード１０と端末２０間で鍵を共有できているか確かめるために、認証処理を実施する（Ｓ５０２）。その結果、認証に成功した場合には、セキュア通信処理を行う（Ｓ５０３）。認証に失敗した場合（１回目）は、まだＩＣカード１０と端末２０の組み合わせが決定されていないとみなし、セットアップ処理を行う（Ｓ５０４）。認証に失敗した場合（２回目）は、処理を中止する（Ｓ５０５）。次に、セットアップ処理において、ＩＣカード１０と端末２０が認定機関装置５０より認定を取得しているか確認し、共通鍵を生成し、共有する。セットアップ処理に成功した場合には、再度認証処理を行う。セットアップ処理に失敗した場合には、認定を取得していないとみなし、処理を中止する（Ｓ５０６）。
【００３１】
これらの手順を踏むことにより、ユーザが認証処理やセットアップ処理やセキュア通信処理を意識することがないため、端末やＩＣカードの更新時柔軟に対応可能な方式が実現可能となる。
【００３２】
図６は、端末２０内の認証データ生成部２０６とＩＣカード１０内の認証アプリケーション１０５との間で行う認証処理を示したフローである。
【００３３】
まず、認証データ生成部２０６は、認証処理を開始し（Ｓ６０１）、乱数を生成する（Ｓ６０２）。その後、生成した乱数（Ａ６０１）を認証アプリケーション１０５に送信する。
【００３４】
次に、認証アプリケーション１０５は、乱数を生成する（Ｓ６０３）。次に、生成した乱数と受信した乱数（Ａ６０１）と鍵保管部１０６に格納されているセットアップ処理で生成した鍵を用いて、セッション鍵を生成する（Ｓ６０４）。次に、生成したセッション鍵を用いて、受信した乱数（Ａ６０１）とＳ６０３で生成した乱数を組み合わせたデータを暗号化し、認証データ１を生成する（Ｓ６０５）。その後、Ｓ６０３で生成した乱数と認証データ１（Ａ６０２）を、認証データ生成部２０６に送信する。
【００３５】
次に、認証データ生成部２０６は、Ｓ６０２で生成した乱数と受信した乱数と鍵保管部２０７に格納されているセットアップ処理で生成した鍵を用いて、セッション鍵を生成する（Ｓ６０６）。次に、生成したセッション鍵を用いて、認証アプリケーション１０５から受信した認証データ１が正当であるか検証する（Ｓ６０７）。その結果、不正な認証データであると判断された場合には処理を中止する（Ｓ６０８）。正当な認証データであると判断された場合には、次に、Ｓ６０６で生成したセッション鍵を用いて、受信した乱数とＳ６０２で生成した乱数を組み合わせたデータを暗号化し、認証データ２を生成する（Ｓ６０９）。その後、認証データ２（Ａ６０３）を認証アプリケーション１０５に送信する。
【００３６】
次に、認証アプリケーション１０５は、受信した認証データ２（Ａ６０３）を検証する（Ｓ６１０）。その後、検証結果をレスポンス（Ａ６０４）として認証データ生成部２０６に送信する。
【００３７】
次に、認証データ生成部２０６は、受信したレスポンス（Ａ６０４）を検証し（Ｓ６１１）、認証に成功したか失敗したか判断する。
【００３８】
なお、図６で示した認証処理フローは共通鍵暗号を用いた相互認証フローの一例である。本実施形態で利用する認証処理フローは、本方法に限定するものではなく、例えば、ワンタイムパスワードやゼロ知識証明などの認証方法を用いてもよい。
【００３９】
図７は、端末２０内の認証データ生成部２０６と、ＩＣカード１０内の認証アプリケーション１０５との間で行うセットアップ処理を示したフローである。
【００４０】
まず、認証データ生成部２０６は、セットアップ処理を開始する（Ｓ７０１）。次に、鍵保持部２０７に格納されている端末２０の公開鍵と、認証データ保持部２０８に格納されている公開鍵署名（Ａ７０１）を認証アプリケーション部１０５に送信する。
【００４１】
次に、認証アプリケーション部１０５は、認証アプリケーション部１０５内部で保持しているＰＩＮの状態を検証する（Ｓ７０２）。その結果、ＰＩＮが未検証であると判断された場合には、ＰＩＮ要求（Ａ７０２）を認証データ生成部２０６に送信する。ＰＩＮが検証済であると判断された場合には、受信した公開鍵署名を受信した公開鍵と鍵保管部１０６に格納されている認定機関装置５０の公開鍵を用いて検証する（Ｓ７０３）。その結果、署名の検証に失敗した場合にはレスポンス（Ａ７０３）を認証データ生成部２０６に返し、処理を中止する（Ｓ７０４）。署名の検証に成功した場合には、受信した公開鍵を鍵保管部１０６に書き込む（Ｓ７０５）。次に、鍵保管部１０６に格納されているＩＣカード１０の公開鍵と、認証データ保持部１０７に格納されている公開鍵署名（Ａ７０４）を認証データ生成部２０６に送信する。
【００４２】
次に、認証データ生成部２０６は、受信した公開鍵署名を受信した公開鍵と鍵保管部２０７に格納されている認定機関装置５０の公開鍵を用いて検証する（Ｓ７０６）。その結果、署名の検証に失敗した場合には、処理を中止する（Ｓ７０７）。署名の検証に成功した場合には、受信した公開鍵を鍵保管部２０７に書き込む（Ｓ７０８）。次に、乱数を生成し（Ｓ７０９）、鍵保管部２０７に格納されているＩＣカード１０の公開鍵で暗号化する（Ｓ７１０）。次に、暗号化済乱数（Ａ７０５）を認証アプリケーション部１０５に送信する。
【００４３】
次に、認証アプリケーション部１０５は、受信した暗号化済乱数（Ａ７０５）を鍵保管部１０６に格納されているＩＣカード１０の秘密鍵で復号する（Ｓ７１１）。次に、乱数を生成し（Ｓ７１２）、復号した乱数と組み合わせて共通鍵を生成する（Ｓ７１３）。次に、Ｓ７１２で生成した乱数を鍵保管部１０６に格納されている端末２０の公開鍵で暗号化する（Ｓ７１４）。次に、暗号化済乱数（Ａ７０６）を認証データ生成部２０６に送信する。
【００４４】
次に、認証データ生成部２０６は、受信した暗号化済乱数（Ａ７０６）を鍵保管部２０７に格納されている端末２０の秘密鍵で復号する（Ｓ７１５）。次に、復号した乱数とＳ７０９で生成した乱数を組み合わせて共通鍵を生成する（Ｓ７１６）。
【００４５】
このような手順を踏むことにより、ＩＣカード１０と端末２０間で共通の鍵を保持することが可能となる。
【００４６】
図８は、ＩＣカード１０内のサービスアプリケーション１０３と端末２０内のサービス提供部２０４間で行うセキュア通信処理を示したフローである。
【００４７】
まず、サービス提供部２０４は、サービスアプリケーション１０３に対して送信したいコマンドを生成する（Ｓ８０１）。次に、認証データ生成部２０６に対して、コマンドに対する署名と暗号化を依頼し（Ｓ８０２）、送信したいコマンド（Ａ８０１）を送信する。
【００４８】
次に、認証データ生成部２０６は、受信したコマンドの署名を鍵保管部２０７に格納されているセッション鍵を用いて生成する（Ｓ８０３）。次に、受信したコマンドのデータ部を鍵保管部２０７に格納されているセッション鍵を用いて暗号化する（Ｓ８０４）。次に、Ｓ８０３で生成した署名を付加し、データ部を暗号化したコマンド（Ａ８０２）をサービス提供部２０４に送信する。
【００４９】
次に、サービス提供部２０４は、受信した署名・暗号化済コマンド（Ａ８０２）をサービスアプリケーション１０３に送信する。
【００５０】
次に、サービスアプリケーション１０３は、認証アプリケーション部１０５に対して、署名・暗号化済コマンド（Ａ８０２）の署名検証と復号を依頼し（Ｓ８０５）、受信した署名・暗号化済コマンド（Ａ８０２）を送信する。
【００５１】
次に、認証アプリケーション部１０５は、受信した署名・暗号化済コマンド（Ａ８０２）の署名を鍵保管部１０６に格納されているセッション鍵を用いて検証する（Ｓ８０６）。その結果、署名の検証に失敗した場合には、その旨をサービスアプリケーション１０３に送信し、サービスアプリケーション１０３はサービス提供部２０４に対してレスポンス（Ａ８０３）を送信し、サービス提供部２０４は処理を中止する（Ｓ８０７）。署名の検証に成功した場合には、受信した署名・暗号化済コマンド（Ａ８０２）のデータ部を鍵保管部１０６に格納されているセッション鍵を用いて復号する（Ｓ８０８）。次に、平文のコマンド（Ａ８０４）をサービスアプリケーション１０３に送信する。
【００５２】
次に、サービスアプリケーション１０３は、受信した平文のコマンド（Ａ８０４）を実行し、サービス提供部２０４に対して送信したいレスポンスデータを生成する（Ｓ８０９）。次に、認証アプリケーション部１０５に対して、レスポンスに対する署名と暗号化を依頼し（Ｓ８１０）、送信したいレスポンス（Ａ８０５）を送信する。
【００５３】
次に、認証アプリケーション部１０５は、受信したレスポンス（Ａ８０５）の署名を鍵保管部１０６に格納されているセッション鍵を用いて生成する（Ｓ８１１）。次に、受信したレスポンス（Ａ８０５）のデータ部を鍵保管部１０６に格納されているセッション鍵を用いて暗号化する（Ｓ８１２）。次に、Ｓ８１１で生成した署名を付加し、データ部を暗号化したレスポンス（Ａ８０６）をサービスアプリケーション１０３に送信する。
【００５４】
次に、サービスアプリケーション１０３は、受信した署名・暗号化済レスポンス（Ａ８０６）をサービス提供部２０４に送信する。
【００５５】
次に、サービス提供部２０４は、認証データ生成部２０６に対して、署名・暗号化済レスポンス（Ａ８０６）の署名検証と復号を依頼し（Ｓ８１３）、受信した署名・暗号化済レスポンス（Ａ８０６）を送信する。
【００５６】
次に、認証データ生成部２０６は、受信した署名・暗号化済レスポンス（Ａ８０６）の署名を鍵保管部２０７に格納されているセッション鍵を用いて検証する（Ｓ８１４）。その結果、署名の検証に失敗した場合には、その旨をサービス提供部２０４に送信し、サービス提供部２０４は、処理を中止する（Ｓ８１５）。署名の検証に成功した場合には、受信した署名・暗号化済レスポンス（Ａ８０６）のデータ部を鍵保管部２０７に格納されているセッション鍵を用いて復号する（Ｓ８１６）。次に、平文のレスポンス（Ａ８０７）をサービス提供部２０４に送信し、セキュア通信処理を終了する。
【００５７】
端末２０とＩＣカード１０間で複数回のデータ送受信を行いたい場合には、図８で示したフローを繰り返し実施することにより、対応が可能である。
【００５８】
図９は、ＩＣカード１０が認定機関装置５０より認定を取得する際に実施するフローである。
【００５９】
まず、認定端末３０は認定処理を開始し（Ｓ９０１）、認定開始コマンド（Ａ９０１）を認証アプリケーション部１０５に送信する。次に、認証アプリケーション部１０５は、鍵保管部１０６に格納されているＩＣカード１０の公開鍵（Ａ９０２）を認定端末３０に送信する。次に、認定端末３０は、受信した公開鍵（Ａ９０２）を認定機関装置５０の認定データ生成部５０２に送信する。次に、認定データ生成部５０２は、受信した公開鍵（Ａ９０２）の署名を鍵保管部５０３に格納されている認定機関装置５０の秘密鍵で生成する（Ｓ９０２）。次に、鍵保管部５０３に格納されている認定機関装置５０の公開鍵とＳ９０２で生成したＩＣカード１０の公開鍵の署名（Ａ９０３）を認定端末３０に送信する。次に、認定端末３０は、受信した認定機関装置５０の公開鍵とＩＣカード１０の公開鍵の署名（Ａ９０３）を認証アプリケーション部１０５に送信する。次に、認証アプリケーション１０５は、受信した認定機関装置５０の公開鍵を鍵保管部１０６に書き込み（Ｓ９０３）、ＩＣカード１０の公開鍵の署名を認証データ保持部１０７に書き込む（Ｓ９０４）。
【００６０】
以上のフローにより、ＩＣカード１０は認定機関装置５０より認定を取得したということができる。本フローはＩＣカード１０の発行時に一度だけ行えばよく、複数回行う必要はない。なお、端末２０が認定を取得するフローについては図９で示すフローと同様である。
【００６１】
なお、本発明は、上記の実施形態に限定されるものではなく、その要旨の範囲内で様々な変形が可能である。
【００６２】
たとえば、認定端末３０と認定機関装置５０が同一であるような場合であり、該実施形態の場合においてもＩＣカード１０や端末２０において行う処理に変化はない。
【図面の簡単な説明】
【００６３】
【図１】本発明の一実施形態が適用されたＩＣカードを用いたセキュア端末システムの構成を説明するための図である。
【図２】図１に示すＩＣカードのハードウェア構成を示す図である。
【図３】図１に示す端末のハードウェア構成を示す図である。
【図４】図１に示す認定端末のハードウェア構成を示す図である。
【図５】本発明の一実施形態が適用されたセＩＣカードを用いたキュア端末システムにおいて実施するフローを例示する図である。
【図６】ＩＣカードと端末間で実施する認証処理のフローを例示する図である。
【図７】ＩＣカードと端末間で実施するセットアップ処理のフローを例示する図である。
【図８】ＩＣカードと端末間で実施するセキュア通信処理のフローを例示する図である。
【図９】ＩＣカードが認定機関より認定を取得する際のフローを例示する図である。
【符号の説明】
【００６４】
１０：ＩＣカード、１１：入出力装置、１２：ＣＰＵ、１３：耐タンパ記憶装置、１４：耐タンパメモリ、１５：内部通信線、２０：端末、２１：記憶装置、２２：入出力装置、２３：ＩＣカード入出力装置、２４：ＣＰＵ、２５：メモリ、２６：読取装置、２７：記憶媒体、２８：内部信号線、３０：認定端末、３１：通信装置、３２：入出力装置、３３：ＩＣカード入出力装置、３４：記憶装置、３５：ＣＰＵ、３６：メモリ、３７：読取装置、３８：記憶媒体、３９：内部信号線、４０：ネットワーク、５０：認定機関装置、１０１：データ送受信部、１０２：コマンド解析部、１０３１〜１０３ｎ：サービスアプリケーション、１０４１〜１０４ｎ：データ保管部、１０５：認証アプリケーション部、１０６：鍵保管部、１０７：認証データ保持部、２０１：ＩＣカードアクセス部、２０２：コマンド生成部、２０３、データ送受信部、２０４１〜２０４ｎ：サービス提供部、２０５１〜２０５ｎ：データ保管部、２０６：認証データ生成部、２０７：鍵保管部、２０８：認証データ保持部、３０１：データ送受信部、３０２：ＩＣカードアクセス部、３０３：通信部、４０：ネットワーク、５０１：通信部、５０２：認定データ生成部、５０３：鍵保管部、Ａ６０１：乱数、Ａ６０２：乱数、認証データ１、Ａ６０３：認証データ２、Ａ６０４：レスポンス、Ａ７０１：公開鍵、公開鍵署名、Ａ７０２：ＰＩＮ要求、Ａ７０３：レスポンス、Ａ７０４：公開鍵、公開鍵署名、Ａ７０５：暗号化済乱数、Ａ７０６：暗号化済乱数、Ａ８０１：コマンド、Ａ８０２：署名・暗号化済コマンド、Ａ８０３：レスポンス、Ａ８０４：平文コマンド、Ａ８０５：レスポンス、Ａ８０６：署名・暗号化済レスポンス、Ａ８０７：平文レスポンス、Ａ９０１：認定開始コマンド、Ａ９０２：公開鍵、Ａ９０３：認定機関公開鍵、公開鍵署名。
【図１】
0004736729.tif 000002
【図２】
0004736729.tif 000003
【図３】
0004736729.tif 000004
【図４】
0004736729.tif 000005
【図５】
0004736729.tif 000006
【図６】
0004736729.tif 000007
【図７】
0004736729.tif 000008
【図８】
0004736729.tif 000009
【図９】
0004736729.tif 000010