(57)【要約】【課題】  クライアント端末とサーバ間で相互認証を行う場合，ネットワークを経由した相互認証が行われるので処理時間がかかる。クライアント側の秘密情報の保持デバイスとして非接触ＩＣカードを採用する場合，非接触ＩＣカードを近づけている短時間の間に処理が完了しないという問題が生じる。【解決手段】  非接触ＩＣカードを端末装置に近づけることにより，ネットワークの通信時間を待つことなく，ネットワークに接続された端末装置と複数のサーバとの間で相互認証を行い，適切なユーザにサービスを提供するシステムを提供する。具体的には，クライアント認証時には，非接触ＩＣカード内の秘密鍵を用いて認証情報を生成し，サーバ認証時には，非接触ＩＣカードと連携して動く端末装置がサーバを認証する。【選択図】  図１
2009140275.tif 000002
【特許請求の範囲】
【請求項１】
非接触ＩＣカード認証システムであって，
サービスの提供を行うサービス提供者装置と，サービスを受ける端末装置と，前記端末装置と近接通信することによりコマンドデータを送受信し処理を行う非接触ＩＣカードと，前記端末装置と，前記サービス提供者装置と，が接続するネットワークと，からなり，
前記非接触ＩＣカードは，
コマンドデータを送受信する端末アクセス部と，秘密鍵と該秘密鍵と対をなす公開鍵証明書とを保管する鍵保管部と，前記鍵保管部に保管された秘密鍵を用いて，前記端末アクセス部から渡された署名対象データに対する署名値を生成する署名値演算部と，を備え，
前記サービス提供者装置は，
前記ネットワークに接続されデータの送受信を行う通信部と，前記端末装置に対してサービスを提供するサービス提供部と，前記非接触ＩＣカードの署名値演算部で生成された署名値と該署名値を生成するときに用いた秘密鍵と対をなす公開鍵証明書を検証する署名値・証明書検証部と，秘密鍵と該秘密鍵と対をなす公開鍵証明書と前記非接触ＩＣカードの公開鍵証明書の正当性を検証するための上位認証局証明書を保管する鍵保管部と，前記鍵保管部に保管された秘密鍵を用いて，前記通信部から渡された署名対象データに対する署名値を計算する署名値演算部と，を備え，
前記端末装置は，
前記ネットワークに接続されデータの送受信を行う通信部と，前記非接触ＩＣカードへ前記コマンドデータを送受信するＩＣカードアクセス部と，前記サービス提供者装置の署名値演算部で生成された署名値と該署名値を生成するときに用いた秘密鍵と対をなす公開鍵証明書を検証する署名値・証明書検証部と，前記サービス提供者装置の公開鍵証明書の正当性を検証するための上位認証局証明書を保管する鍵保管部と，前記サービス提供者装置から提供されたサービスを利用するサービス利用部と，を備える
ことを特徴とする非接触ＩＣカード認証システム。
【請求項２】
非接触ＩＣカード認証システムであって，
サービスの提供を行うサービス提供者装置と，サービスを受ける端末装置と，前記端末装置近接通信することによりコマンドデータを送受信し処理を行う非接触ＩＣカードと，前記端末装置と，前記サービス提供者装置と，が接続するネットワークと，からなり，
前記非接触ＩＣカードは，
コマンドデータを送受信する端末アクセス部と，秘密鍵と，該秘密鍵と対をなす公開鍵証明書と，前記サービス提供者装置の署名値演算部で生成された署名値と該署名値を生成するときに用いた秘密鍵と対をなす公開鍵証明書を検証する署名値・証明書検証部と，秘密鍵と，該秘密鍵と対をなす公開鍵証明書と，前記サービス提供者装置の公開鍵証明書の正当性を検証するための上位認証局証明書を保管する鍵保管部と，前記鍵保管部に保管された秘密鍵を用いて，前記端末アクセス部から渡された署名対象データに対する署名値を生成する署名値演算部と，を備え，
前記サービス提供者装置は，
前記ネットワークに接続されデータの送受信を行う通信部と，前記端末装置に対してサービスを提供するサービス提供部と，前記非接触ＩＣカードの署名値演算部で生成された署名値と該署名値を生成するときに用いた秘密鍵と対をなす公開鍵証明書を検証する署名値・証明書検証部と，秘密鍵と該秘密鍵と対をなす公開鍵証明書と前記非接触ＩＣカードの公開鍵証明書の正当性を検証するための上位認証局証明書を保管する鍵保管部と，前記鍵保管部に保管された秘密鍵を用いて，前記通信部から渡された署名対象データに対する署名値を計算する署名値演算部と，を備え，
前記端末装置は，
前記ネットワークに接続されデータの送受信を行う通信部と，前記非接触ＩＣカードへ前記コマンドデータを送受信するＩＣカードアクセス部と，前記サービス提供者装置から提供されたサービスを利用するサービス利用部と，を備える
ことを特徴とする非接触ＩＣカード認証システム。
【請求項３】
請求項１または請求項２に記載の非接触ＩＣカード認証システムであって，
前記サービス提供者装置は，サービスの提供状況を保持するサービス提供状況保持部を備える
ことを特徴とする非接触ＩＣカード認証システム。
【請求項４】
請求項１に記載の非接触ＩＣカード認証システムであって，
前記端末装置は，
起動し，サービスを受けるサービス提供者装置を選択し，通信部を経由して，自身が生成した乱数１を，サービス提供者装置へ送信し，
サービス提供者装置は，
通信部を経由して，前記乱数１を受信し，前記署名値演算部は，前記鍵保管部に保存されている自身の秘密鍵で，前記乱数１に対する署名値を生成し，該署名値と，該署名値を生成するときに用いた秘密鍵と対を成すサーバ証明書と，自身が生成した乱数２と，を通信部を経由して，前記端末装置に送信し，
前記端末装置の署名値・証明書検証部は，
前記自らが生成した乱数１と，前記サービス提供者装置から受信した署名値とサーバ証明書と，から前記署名値の正当性を確認し，前記サーバ証明書と，前記鍵保管部に保管されている前記サービス提供者装置の公開鍵証明書の正当性を検証するための上位認証局証明書と，から前記サーバ証明書の正当性を確認し，
前記確認が失敗であればサービス享受を終了し，
成功であれば，前記非接触ＩＣカードとの近接通信の開始を待ち，前記非接触ＩＣカードとの近接通信の開始を検知した場合には，前記サービス提供者装置から受信した前記乱数２を，前記ＩＣカードアクセス部を経由して，前記非接触ＩＣカードへ送信し，
非接触ＩＣカードは，
端末アクセス部を経由して，前記乱数２を受信し，前記署名値演算部は，前記鍵保管部に保存されている自身の秘密鍵で，前記乱数２に対する署名値を生成し，
該署名値と，該署名値を生成するときに用いた秘密鍵と対を成す証明書と，を前記端末アクセス部を経由して，前記端末装置に送信し，
前記端末装置は，ＩＣカードアクセス部を経由して受信した，前記署名値と証明書を，通信部を経由して，サービス提供者装置に送信し，
前記サービス提供者装置は，
前記自らが生成した乱数２と，前記端末装置から受信した署名値と証明書と，から前記署名値の正当性を確認し，
前記証明書と，前記鍵保管部に保管されている前記非接触ＩＣカードの公開鍵証明書の正当性を検証するための上位認証局証明書と，から前記証明書の正当性を確認し，
前記確認が失敗であればサービス提供を終了し，
成功であれば，前記端末装置に対するサービスを提供し，
前記端末装置は，前記サービス提供者装置が提供するサービスを利用する
ことを特徴とする非接触ＩＣカード認証システム。
【請求項５】
請求項１に記載の非接触ＩＣカード認証システムであって，
前記端末装置は，
起動し，前記非接触ＩＣカードとの近接通信の開始を待ち，前記非接触ＩＣカードとの近接通信の開始を検知した場合には，自らが生成した使用する毎に増加するカウンタ値を，前記ＩＣカードアクセス部を経由して，前記非接触ＩＣカードへ送信し，
前記非接触ＩＣカードは，
端末アクセス部を経由して，前記カウンタ値を受信し，前記署名値演算部は，前記鍵保管部に保存されている自身の秘密鍵で，前記カウンタ値に対する署名値を生成し，
該署名値と，該署名値を生成するときに用いた秘密鍵と対を成す証明書と，を前記端末アクセス部を経由して，前記端末装置に送信し，
前記端末装置は，
サービスを受けるサービス提供者装置を選択し，通信部を経由して，自身が生成した乱数１と，前記非接触ＩＣカードから受信した署名値と，証明書と，前記カウンタ値と，をサービス提供者装置へ送信し，
サービス提供者装置は，
前記端末装置から受信したカウンタ値と，署名値と証明書と，から前記署名値の正当性を確認し，前記証明書と，前記鍵保管部に保管されている前記非接触ＩＣカードの公開鍵証明書の正当性を検証するための上位認証局証明書と，から前記証明書の正当性を確認し，
前記確認が失敗であればサービス提供を終了し，
成功であれば，前記署名値演算部は，前記鍵保管部に保存されている自身の秘密鍵で，前記乱数１に対する署名値を生成し，
該署名値と，該署名値を生成するときに用いた秘密鍵と対を成すサーバ証明書と，を通信部を経由して，前記端末装置に送信し，
前記端末装置の署名値・証明書検証部は，
前記自身が生成した乱数１と，前記サービス提供者装置から受信した署名値とサーバ証明書と，から前記署名値の正当性を確認し，
前記サーバ証明書と，前記鍵保管部に保管されている前記サービス提供者装置の公開鍵証明書の正当性を検証するための上位認証局証明書と，から前記サーバ証明書の正当性を確認し，
前記確認が失敗であればサービス享受を終了し，
成功であれば，前記サービス提供者装置へ，成功を知らせる応答を返信し，
前記サービス提供者装置は，
前記端末装置に対するサービスを提供し，
前記端末装置は，前記サービス提供者装置が提供するサービスを利用する
ことを特徴とする非接触ＩＣカード認証システム。
【請求項６】
請求項２に記載の非接触ＩＣカード認証システムであって，
前記端末装置は，
起動し，サービスを受けるサービス提供者装置を選択し，通信部を経由して，自身が生成した乱数１を，サービス提供者装置へ送信し，
サービス提供者装置は，
通信部を経由して，前記乱数１を受信し，前記署名値演算部は，前記鍵保管部に保存されている自身の秘密鍵で，前記乱数１に対する署名値を生成し，該署名値と，該署名値を生成するときに用いた秘密鍵と対を成すサーバ証明書と，自身が生成した乱数２と，を通信部を経由して，前記端末装置に送信し，
前記端末装置は，
前記非接触ＩＣカードとの近接通信の開始を待ち，前記非接触ＩＣカードとの近接通信の開始を検知した場合には，前記サービス提供者装置から受信した前記署名値と，前記サーバ証明書と，前記乱数２と，前記自身が生成した乱数１と，を，前記ＩＣカードアクセス部を経由して，前記非接触ＩＣカードへ送信し，
前記非接触ＩＣカードの署名値・証明書検証部は，
前記端末装置から受信した乱数１と，前記署名値と前記サーバ証明書と，から前記署名値の正当性を確認し，前記サーバ証明書と，前記鍵保管部に保管されている前記サービス提供者装置の公開鍵証明書の正当性を検証するための上位認証局証明書と，から前記サーバ証明書の正当性を確認し，
前記確認が失敗であれば，前記端末装置に，失敗を通知しサービス享受を終了し，成功であれば，
前記非接触ＩＣカードの前記署名値演算部は，
前記鍵保管部に保存されている自身の秘密鍵で，前記乱数２に対する署名値を生成し，
該署名値と，該署名値を生成するときに用いた秘密鍵と対を成す証明書と，を前記端末アクセス部を経由して，前記端末装置に送信し，
前記端末装置は，ＩＣカードアクセス部を経由して受信した，前記署名値と証明書を，通信部を経由して，サービス提供者装置に送信し，
前記サービス提供者装置は，
前記自らが生成した乱数２と，前記端末装置から受信した署名値と証明書と，から前記署名値の正当性を確認し，
前記証明書と，前記鍵保管部に保管されている前記非接触ＩＣカードの公開鍵証明書の正当性を検証するための上位認証局証明書と，から前記証明書の正当性を確認し，
前記確認が失敗であればサービス提供を終了し，成功であれば，
前記端末装置に対するサービスを提供し，
前記端末装置は，前記サービス提供者装置が提供するサービスを利用する
ことを特徴とする非接触ＩＣカード認証システム。
【請求項７】
請求項２に記載の非接触ＩＣカード認証システムであって，
前記端末装置は，
起動し，前記非接触ＩＣカードとの近接通信の開始を待ち，前記非接触ＩＣカードとの近接通信の開始を検知した場合には，自らが生成した使用する毎に増加するカウンタ値を，前記ＩＣカードアクセス部を経由して，前記非接触ＩＣカードへ送信し，
前記非接触ＩＣカードは，
端末アクセス部を経由して，前記カウンタ値を受信し，前記署名値演算部は，前記鍵保管部に保存されている自身の秘密鍵で，前記カウンタ値に対する署名値を生成し，該署名値と，該署名値を生成するときに用いた秘密鍵と対を成す証明書と，を前記端末アクセス部を経由して，前記端末装置に送信し，
前記端末装置は，
サービスを受けるサービス提供者装置を選択し，通信部を経由して，自身が生成した乱数１と，前記非接触ＩＣカードから受信した署名値と，証明書と，前記カウンタ値と，をサービス提供者装置へ送信し，
サービス提供者装置は，
前記端末装置から受信したカウンタ値と，署名値と証明書と，から前記署名値の正当性を確認し，
前記証明書と，前記鍵保管部に保管されている前記非接触ＩＣカードの公開鍵証明書の正当性を検証するための上位認証局証明書と，から前記証明書の正当性を確認し，
前記確認が失敗であればサービス提供を終了し，成功であれば，
前記署名値演算部は，前記鍵保管部に保存されている自身の秘密鍵で，前記乱数１に対する署名値を生成し，
該署名値と，該署名値を生成するときに用いた秘密鍵と対を成すサーバ証明書と，を通信部を経由して，前記端末装置に送信し，
前記端末装置は，
前記非接触ＩＣカードとの近接通信の開始を待ち，前記非接触ＩＣカードとの近接通信の開始を検知した場合には，前記サービス提供者装置から受信した前記署名値と，前記サーバ証明書と，前記自身が生成した乱数１と，を前記ＩＣカードアクセス部を経由して，前記非接触ＩＣカードへ送信し，
前記非接触ＩＣカードの署名値・証明書検証部は，
前記端末装置から受信した乱数１と，前記署名値と前記サーバ証明書と，から前記署名値の正当性を確認し，
前記サーバ証明書と，前記鍵保管部に保管されている前記サービス提供者装置の公開鍵証明書の正当性を検証するための上位認証局証明書と，から前記サーバ証明書の正当性を確認し，
前記確認の結果を前記端末装置へ通知し，
前記端末装置は，
前記非接触ＩＣカードから送信された前記確認が失敗であれば，サービス享受を終了し，成功であれば，
前記サービス提供者装置へ，成功を知らせる応答を返信し，
前記サービス提供者装置は，
前記端末装置に対するサービスを提供し，
前記端末装置は，前記サービス提供者装置が提供するサービスを利用する
ことを特徴とする非接触ＩＣカード認証システム。
【請求項８】
請求項３に記載の非接触ＩＣカード認証システムであって，
前記サービス提供者装置の，サービス提供状況保持部は，前記端末装置に対してサービスを提供開始した後，サービスの提供情報を保持し，
同一ユーザの再接続の際には，前記サービス提供状況保持部で保持している情報に引き続くサービスを提供する
ことを特徴とする非接触ＩＣカード認証システム。
【請求項９】
請求項８に記載の非接触ＩＣカード認証システムであって，
前記端末装置から，前記サービス提供者装置へ，サービス終了要求を送信し，
前記サービス提供者装置のサービス提供状況保持部は，サービス提供状況をクリアする
ことを特徴とする非接触ＩＣカード認証システム。
【請求項１０】
請求項１に記載の非接触ＩＣカード認証システムであって，
前記サービス提供者装置で認証される非接触ＩＣカードごとに，該非接触ＩＣカードのユーザに適したサービスを提供する
ことを特徴とする非接触ＩＣカード認証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，非接触ＩＣカード認証システムに関し，さらに詳しくは，非接触ＩＣカードを用いて公開鍵暗号に基づく認証を行う非接触ＩＣカード認証システムおよびその方法に関する。
【背景技術】
【０００２】
クライアントが複数のサーバに接続しサービスを受ける場合，クライアントとサーバで適切に相互に認証を行わなければならない。クライアントとサーバの間で相互認証を行う技術が知られている。（例えば，非特許文献１参照）。
【０００３】
また，そのためには，相互認証に必要な秘密情報を適切に保護しなければならない。秘密情報の保護方法としてＩＣカードを用いて，端末装置と連携しサーバからサービスを受ける技術として，ＩＣカードの認証情報を他の携帯デバイスに委譲し，以降はＩＣカードの権限でサーバと認証を行う技術が示されている（例えば特許文献１参照）。また，非接触ＩＣカードと端末装置を用いてネットワークを経由してサーバからサービスを受ける技術が知られている（例えば特許文献２参照）。
【０００４】
【特許文献１】特開2005-123996号公報
【特許文献２】WO2005/027035A1号公報
【非特許文献１】T. Dierks and C. Allen, “RFC 2246 - The TLS Protocol”, The Internet Engineering Task Force, 2002/4, [2007年11月1日検索], インターネット＜URL: http://www.ietf.org/rfc/rfc2246.txt＞
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記非特許文献１の技術では，クライアント端末とサーバ間で相互認証を行う場合，ネットワークを経由した相互認証が行われるので処理時間がかかる。クライアント側の秘密情報の保持デバイスとして非接触ＩＣカードを採用する場合，端末装置を経由してサーバと相互認証を行うことになるので，非接触ＩＣカードを近づけている短時間の間に処理が完了しないという問題が生じる。
【０００６】
上記特許文献２の技術では，非接触ＩＣカードと端末装置とサーバを用いたサービス提供システムが開示されているが，非接触ＩＣカード内の情報をサーバが確認する単方向の認証しか開示していない。
【０００７】
また，特許文献１の技術では，端末装置（携帯電話やカーナビゲーション機器）に権限を委譲してしまうので，毎回認証が必要な場合などには委譲のためのオーバーヘッドが大きくなり，また端末装置側にもＩＣカードと同等のセキュリティが要求されことになる。
【課題を解決するための手段】
【０００８】
本発明は，上記事情に鑑みてなされたものであり，より改善された非接触ＩＣカード認証システムおよびその方法を提供する。
【０００９】
本発明では，ユーザの使い勝手を良くするために，非接触ＩＣカードを端末装置にかざすなど，近づけることにより，近接通信を行い，ネットワークの通信時間を待つことなく，ネットワークに接続された端末装置と複数のサーバとの間で相互認証を行い，適切なユーザにサービスを提供するシステムを提供する。
【００１０】
本発明が提供するＩＣカードシステムは，より具体的には，
サービスの提供を行うサービス提供者装置と，サービスを受ける端末装置と，端末装置と近接通信することによりコマンドデータを送受信し処理を行う非接触ＩＣカードと，端末装置と，サービス提供者装置と，が接続するネットワークと，からなり，非接触ＩＣカードは，コマンドデータを送受信する端末アクセス部と，秘密鍵と該秘密鍵と対をなす公開鍵証明書とを保管する鍵保管部と，鍵保管部に保管された秘密鍵を用いて，端末アクセス部から渡された署名対象データに対する署名値を生成する署名値演算部と，を備え，サービス提供者装置は，ネットワークに接続されデータの送受信を行う通信部と，端末装置に対してサービスを提供するサービス提供部と，非接触ＩＣカードの署名値演算部で生成された署名値と該署名値を生成するときに用いた秘密鍵と対をなす公開鍵証明書を検証する署名値・証明書検証部と，秘密鍵と該秘密鍵と対をなす公開鍵証明書と非接触ＩＣカードの公開鍵証明書の正当性を検証するための上位認証局証明書を保管する鍵保管部と，鍵保管部に保管された秘密鍵を用いて，通信部から渡された署名対象データに対する署名値を計算する署名値演算部と，を備え，端末装置は，ネットワークに接続されデータの送受信を行う通信部と，非接触ＩＣカードへコマンドデータを送受信するＩＣカードアクセス部と，サービス提供者装置の署名値演算部で生成された署名値と該署名値を生成するときに用いた秘密鍵と対をなす公開鍵証明書を検証する署名値・証明書検証部と，サービス提供者装置の公開鍵証明書の正当性を検証するための上位認証局証明書を保管する鍵保管部と，サービス提供者装置から提供されたサービスを利用するサービス利用部と，を備えることを特徴とする。
【００１１】
あるいは，本発明が提供するＩＣカードシステムは，より具体的には，
サービスの提供を行うサービス提供者装置と，サービスを受ける端末装置と，端末装置と近接通信することによりコマンドデータを送受信し処理を行う非接触ＩＣカードと，端末装置と，サービス提供者装置と，が接続するネットワークと，からなり，非接触ＩＣカードは，
コマンドデータを送受信する端末アクセス部と，秘密鍵と，該秘密鍵と対をなす公開鍵証明書と，サービス提供者装置の署名値演算部で生成された署名値と該署名値を生成するときに用いた秘密鍵と対をなす公開鍵証明書を検証する署名値・証明書検証部と，秘密鍵と，該秘密鍵と対をなす公開鍵証明書と，サービス提供者装置の公開鍵証明書の正当性を検証するための上位認証局証明書を保管する鍵保管部と，鍵保管部に保管された秘密鍵を用いて，端末アクセス部から渡された署名対象データに対する署名値を生成する署名値演算部と，を備え，サービス提供者装置は，ネットワークに接続されデータの送受信を行う通信部と，端末装置に対してサービスを提供するサービス提供部と，非接触ＩＣカードの署名値演算部で生成された署名値と該署名値を生成するときに用いた秘密鍵と対をなす公開鍵証明書を検証する署名値・証明書検証部と，秘密鍵と該秘密鍵と対をなす公開鍵証明書と非接触ＩＣカードの公開鍵証明書の正当性を検証するための上位認証局証明書を保管する鍵保管部と，鍵保管部に保管された秘密鍵を用いて，通信部から渡された署名対象データに対する署名値を計算する署名値演算部と，を備え，端末装置は，ネットワークに接続されデータの送受信を行う通信部と，非接触ＩＣカードへコマンドデータを送受信するＩＣカードアクセス部と，サービス提供者装置から提供されたサービスを利用するサービス利用部と，を備えることを特徴とする。
【００１２】
さらに，サービス提供者装置は，サービスの提供状況を保持するサービス提供状況保持部を備えてもよい。
【００１３】
さらに，本発明が提供するＩＣカードシステムにおいて，
端末装置は，起動し，サービスを受けるサービス提供者装置を選択し，通信部を経由して，自身が生成した乱数１を，サービス提供者装置へ送信し，
サービス提供者装置は，通信部を経由して，乱数１を受信し，署名値演算部は，鍵保管部に保存されている自身の秘密鍵で，乱数１に対する署名値を生成し，該署名値と，該署名値を生成するときに用いた秘密鍵と対を成すサーバ証明書と，自身が生成した乱数２と，を通信部を経由して，端末装置に送信し，
端末装置の署名値・証明書検証部は，自らが生成した乱数１と，サービス提供者装置から受信した署名値とサーバ証明書と，から署名値の正当性を確認し，サーバ証明書と，鍵保管部に保管されているサービス提供者装置の公開鍵証明書の正当性を検証するための上位認証局証明書と，からサーバ証明書の正当性を確認し，確認が失敗であればサービス享受を終了し，成功であれば，非接触ＩＣカードとの近接通信の開始を待ち，非接触ＩＣカードとの近接通信の開始を検知した場合には，サービス提供者装置から受信した乱数２を，ＩＣカードアクセス部を経由して，非接触ＩＣカードへ送信し，
非接触ＩＣカードは，端末アクセス部を経由して，乱数２を受信し，署名値演算部は，鍵保管部に保存されている自身の秘密鍵で，乱数２に対する署名値を生成し，該署名値と，該署名値を生成するときに用いた秘密鍵と対を成す証明書と，を端末アクセス部を経由して，端末装置に送信し，
端末装置は，ＩＣカードアクセス部を経由して受信した，署名値と証明書を，通信部を経由して，サービス提供者装置に送信し，
サービス提供者装置は，
自らが生成した乱数２と，端末装置から受信した署名値と証明書と，から署名値の正当性を確認し，
証明書と，鍵保管部に保管されている非接触ＩＣカードの公開鍵証明書の正当性を検証するための上位認証局証明書と，から証明書の正当性を確認し，
確認が失敗であればサービス提供を終了し，
成功であれば，端末装置に対するサービスを提供し，
端末装置は，サービス提供者装置が提供するサービスを利用してもよい。
【００１４】
さらに，本発明が提供するＩＣカードシステムにおいて，
端末装置は，起動し，非接触ＩＣカードとの近接通信の開始を待ち，非接触ＩＣカードとの近接通信の開始を検知した場合には，自らが生成した使用する毎に増加するカウンタ値を，ＩＣカードアクセス部を経由して，非接触ＩＣカードへ送信し，
非接触ＩＣカードは，
端末アクセス部を経由して，カウンタ値を受信し，署名値演算部は，鍵保管部に保存されている自身の秘密鍵で，カウンタ値に対する署名値を生成し，
該署名値と，該署名値を生成するときに用いた秘密鍵と対を成す証明書と，を端末アクセス部を経由して，端末装置に送信し，
端末装置は，
サービスを受けるサービス提供者装置を選択し，通信部を経由して，自身が生成した乱数１と，非接触ＩＣカードから受信した署名値と，証明書と，カウンタ値と，をサービス提供者装置へ送信し，
サービス提供者装置は，
端末装置から受信したカウンタ値と，署名値と証明書と，から署名値の正当性を確認し，証明書と，鍵保管部に保管されている非接触ＩＣカードの公開鍵証明書の正当性を検証するための上位認証局証明書と，から証明書の正当性を確認し，
確認が失敗であればサービス提供を終了し，
成功であれば，署名値演算部は，鍵保管部に保存されている自身の秘密鍵で，乱数１に対する署名値を生成し，
該署名値と，該署名値を生成するときに用いた秘密鍵と対を成すサーバ証明書と，を通信部を経由して，端末装置に送信し，
端末装置の署名値・証明書検証部は，
自身が生成した乱数１と，サービス提供者装置から受信した署名値とサーバ証明書と，から署名値の正当性を確認し，
サーバ証明書と，鍵保管部に保管されているサービス提供者装置の公開鍵証明書の正当性を検証するための上位認証局証明書と，からサーバ証明書の正当性を確認し，
確認が失敗であればサービス享受を終了し，
成功であれば，サービス提供者装置へ，成功を知らせる応答を返信し，
サービス提供者装置は，
端末装置に対するサービスを提供し，
端末装置は，サービス提供者装置が提供するサービスを利用してもよい。
【００１５】
さらに，本発明が提供するＩＣカードシステムにおいて，
端末装置は，
起動し，サービスを受けるサービス提供者装置を選択し，通信部を経由して，自身が生成した乱数１を，サービス提供者装置へ送信し，
サービス提供者装置は，
通信部を経由して，乱数１を受信し，署名値演算部は，鍵保管部に保存されている自身の秘密鍵で，乱数１に対する署名値を生成し，該署名値と，該署名値を生成するときに用いた秘密鍵と対を成すサーバ証明書と，自身が生成した乱数２と，を通信部を経由して，端末装置に送信し，
端末装置は，
非接触ＩＣカードとの近接通信の開始を待ち，非接触ＩＣカードとの近接通信の開始を検知した場合には，サービス提供者装置から受信した署名値と，サーバ証明書と，乱数２と，自身が生成した乱数１と，を，ＩＣカードアクセス部を経由して，非接触ＩＣカードへ送信し，
非接触ＩＣカードの署名値・証明書検証部は，
端末装置から受信した乱数１と，署名値とサーバ証明書と，から署名値の正当性を確認し，サーバ証明書と，鍵保管部に保管されているサービス提供者装置の公開鍵証明書の正当性を検証するための上位認証局証明書と，からサーバ証明書の正当性を確認し，
確認が失敗であれば，端末装置に，失敗を通知しサービス享受を終了し，成功であれば，
非接触ＩＣカードの署名値演算部は，
鍵保管部に保存されている自身の秘密鍵で，乱数２に対する署名値を生成し，
該署名値と，該署名値を生成するときに用いた秘密鍵と対を成す証明書と，を端末アクセス部を経由して，端末装置に送信し，
端末装置は，ＩＣカードアクセス部を経由して受信した，署名値と証明書を，通信部を経由して，サービス提供者装置に送信し，
サービス提供者装置は，
自らが生成した乱数２と，端末装置から受信した署名値と証明書と，から署名値の正当性を確認し，
証明書と，鍵保管部に保管されている非接触ＩＣカードの公開鍵証明書の正当性を検証するための上位認証局証明書と，から証明書の正当性を確認し，
確認が失敗であればサービス提供を終了し，成功であれば，
端末装置に対するサービスを提供し，
端末装置は，サービス提供者装置が提供するサービスを利用してもよい。
【００１６】
さらに，本発明が提供するＩＣカードシステムにおいて，
端末装置は，
起動し，非接触ＩＣカードとの近接通信の開始を待ち，非接触ＩＣカードとの近接通信の開始を検知した場合には，自らが生成した使用する毎に増加するカウンタ値を，ＩＣカードアクセス部を経由して，非接触ＩＣカードへ送信し，
非接触ＩＣカードは，
端末アクセス部を経由して，カウンタ値を受信し，署名値演算部は，鍵保管部に保存されている自身の秘密鍵で，カウンタ値に対する署名値を生成し，該署名値と，該署名値を生成するときに用いた秘密鍵と対を成す証明書と，を端末アクセス部を経由して，端末装置に送信し，
端末装置は，
サービスを受けるサービス提供者装置を選択し，通信部を経由して，自身が生成した乱数１と，非接触ＩＣカードから受信した署名値と，証明書と，カウンタ値と，をサービス提供者装置へ送信し，
サービス提供者装置は，
端末装置から受信したカウンタ値と，署名値と証明書と，から署名値の正当性を確認し，
証明書と，鍵保管部に保管されている非接触ＩＣカードの公開鍵証明書の正当性を検証するための上位認証局証明書と，から証明書の正当性を確認し，
確認が失敗であればサービス提供を終了し，成功であれば，
署名値演算部は，鍵保管部に保存されている自身の秘密鍵で，乱数１に対する署名値を生成し，
該署名値と，該署名値を生成するときに用いた秘密鍵と対を成すサーバ証明書と，を通信部を経由して，端末装置に送信し，
端末装置は，
非接触ＩＣカードとの近接通信の開始を待ち，非接触ＩＣカードとの近接通信の開始を検知した場合には，サービス提供者装置から受信した署名値と，サーバ証明書と，自身が生成した乱数１と，をＩＣカードアクセス部を経由して，非接触ＩＣカードへ送信し，
非接触ＩＣカードの署名値・証明書検証部は，
端末装置から受信した乱数１と，署名値とサーバ証明書と，から署名値の正当性を確認し，
サーバ証明書と，鍵保管部に保管されているサービス提供者装置の公開鍵証明書の正当性を検証するための上位認証局証明書と，からサーバ証明書の正当性を確認し，
確認の結果を端末装置へ通知し，
端末装置は，
非接触ＩＣカードから送信された確認が失敗であれば，サービス享受を終了し，成功であれば，
サービス提供者装置へ，成功を知らせる応答を返信し，
サービス提供者装置は，
端末装置に対するサービスを提供し，
端末装置は，サービス提供者装置が提供するサービスを利用してもよい。
【００１７】
さらに，本発明が提供するＩＣカードシステムにおいて，
サービス提供者装置の，サービス提供状況保持部は，端末装置に対してサービスを提供開始した後，サービスの提供情報を保持し，
同一ユーザの再接続の際には，サービス提供状況保持部で保持している情報に引き続くサービスを提供してもよい。
【００１８】
さらに，本発明が提供するＩＣカードシステムにおいて，
端末装置から，サービス提供者装置へ，サービス終了要求を送信し，
サービス提供者装置のサービス提供状況保持部は，サービス提供状況をクリアしてもよい。
【００１９】
さらに，本発明が提供するＩＣカードシステムにおいて，
サービス提供者装置で認証される非接触ＩＣカードごとに，該非接触ＩＣカードのユーザに適したサービスを提供してもよい。
【発明の効果】
【００２０】
本発明によれば，非接触ＩＣカードを用いて，複数のサービス提供者装置と，オープンなネットワークを経由して，公開鍵暗号に基づく認証を行い，サービスを提供するシステムを実現することが可能になる。
【発明を実施するための最良の形態】
【００２１】
本発明の一実施形態について説明する。なお，これにより本発明が限定されるものではない。
【００２２】
図１は，本発明の一実施形態が適用された非接触ＩＣカード認証システムの構成図である。
【００２３】
本実施形態の非接触ＩＣカード認証システムは，図１に示すように，複数のサービス提供者装置４０１〜４０ｎ（以下，単にサービス提供者装置４０とも称する）と，端末装置２０と，がインターネットなどのネットワーク３０を介して，互いに接続されて構成されている。また端末装置２０は，非接触ＩＣカード１０が非接触（近接通信）で接続される。
【００２４】
サービス提供者装置４０は，自身を認証してもらうための署名生成を行い，また，非接触ＩＣカードを認証するための署名値の検証および証明書の検証を行う。その後，端末装置２０に対してサービスを提供する。
【００２５】
サービス提供者装置４０は，ネットワーク３０に接続されデータの送受信を行う通信部４０４と，端末装置に対してサービスを提供するサービス提供部４０５と，非接触ＩＣカードの署名値演算部で生成された署名値と該署名値を生成するときに用いた秘密鍵と対をなす公開鍵証明書を検証する署名値・証明書検証部４０２と，秘密鍵と該秘密鍵と対をなす公開鍵証明書と非接触ＩＣカードの公開鍵証明書の正当性を検証するための上位認証局証明書を保管する鍵保管部４０１と，鍵保管部に保管された秘密鍵を用いて，通信部から渡された署名対象データに対する署名値を計算する署名値演算部４０３と，を含む。
【００２６】
非接触ＩＣカード１０は，署名対象データを受信し，自身で保持している秘密鍵を使って署名対象データに対する署名を生成し，端末装置に返信する。
【００２７】
非接触ＩＣカードは，
コマンドデータを送受信する端末アクセス部１０３と，秘密鍵と該秘密鍵と対をなす公開鍵証明書とを保管する鍵保管部１０１と，鍵保管部に保管された秘密鍵を用いて，端末アクセス部から渡された署名対象データに対する署名値を生成する署名値演算部１０２と，を含む。
【００２８】
端末装置２０は，サービス提供装置４０を認証するための署名値の検証および証明書の検証を行う。
【００２９】
端末装置２０は，ネットワーク３０に接続されデータの送受信を行う通信部２０４と，非接触ＩＣカードへコマンドデータを送受信するＩＣカードアクセス部２０３と，サービス提供者装置の署名値演算部で生成された署名値と該署名値を生成するときに用いた秘密鍵と対をなす公開鍵証明書を検証する署名値・証明書検証部２０２と，サービス提供者装置の公開鍵証明書の正当性を検証するための上位認証局証明書を保管する鍵保管部２０１と，サービス提供者装置から提供されたサービスを利用するサービス利用部２０５と，を含む。
【００３０】
図２は，本発明の第二の実施形態が適用された非接触ＩＣカード認証システムの構成図である。
【００３１】
本実施形態の非接触ＩＣカード認証システムは，図１で示した第一の実施形態と同様に，図２に示すように，複数のサービス提供者装置４０１〜４０ｎ（以下，単にサービス提供者装置４０とも称する）と，端末装置２０と，がインターネットなどのネットワーク３０を介して，互いに接続されて構成されている。また端末装置２０は，非接触ＩＣカード１０が非接触（近接通信）で接続される。
【００３２】
サービス提供者装置４０の構成は，第一の実施形態のサービス提供者装置と同様である。
【００３３】
非接触ＩＣカード１０は，署名対象データを受信し，自身で保持している秘密鍵を使って署名対象データに対する署名を生成し，端末装置に返信する。また，サービス提供装置４０を認証するための署名値の検証および証明書の検証を行う。
【００３４】
非接触ＩＣカード１０は，コマンドデータを送受信する端末アクセス部１０３と，秘密鍵と，該秘密鍵と対をなす公開鍵証明書と，サービス提供者装置の署名値演算部で生成された署名値と該署名値を生成するときに用いた秘密鍵と対をなす公開鍵証明書を検証する署名値・証明書検証部１０４と，秘密鍵と，該秘密鍵と対をなす公開鍵証明書と，サービス提供者装置の公開鍵証明書の正当性を検証するための上位認証局証明書を保管する鍵保管部１０１と，鍵保管部に保管された秘密鍵を用いて，端末アクセス部から渡された署名対象データに対する署名値を生成する署名値演算部１０２と，を含む。
【００３５】
端末装置２０は，非接触ＩＣカード１０とサービス提供者装置４０とを仲介し，相互認証が完了後，サービス提供装置４０からサービスを受ける。
【００３６】
端末装置２０は，ネットワーク３０に接続されデータの送受信を行う通信部２０４と，非接触ＩＣカードへコマンドデータを送受信するＩＣカードアクセス部２０３と，サービス提供者装置から提供されたサービスを利用するサービス利用部２０５と，を含む。
【００３７】
図３は端末装置２０のハードウェア構成図である。端末装置２０は，通信装置２１と，入出力装置２２と，ＩＣカード入出力装置２３と，補助記憶装置２４と，ＣＰＵ２５と主記憶装置２６と，読取装置２７とがバスなどの内部通信線２９で連結され，記憶媒体２８を含めて構成されている。また，端末装置２０はＩＣカード入出力装置２３を経由して，ＩＣカード１０とつながる。
【００３８】
サービス提供者装置４０のハードウェア構成は端末装置２０のハードウェア構成と同様である。ただし，サービス提供者装置４０が，直接ＩＣカード１０へのアクセスを行わない場合は，ＩＣカード入出力装置２３は備えなくても良い。
【００３９】
図４は非接触ＩＣカード１０のハードウェア構成図である。非接触ＩＣカード１０は，入出力部１１と，ＣＰＵ１２と，耐タンパ補助記憶装置１３と，耐タンパ主記憶装置１４と，がバスなどの内部通信線１５で連結されて構成されている。
【００４０】
本実施形態の非接触ＩＣカード認証システムにおける処理フローについて説明する。各装置の補助記憶装置１３または２４に格納されたプログラムが主記憶装置１４または２６にロードされ，ＣＰＵにより実行されることにより，非接触ＩＣカード認証システムを構成する各装置，非接触ＩＣカード上に以下説明する各処理部が具現化され，それら各処理部により，以下に述べる処理フローが実行される。また，各プログラムは予め補助記憶装置１３または２４に格納されても良いし，他の記憶媒体または通信媒体（ネットワーク，またはネットワークを伝搬する搬送波またはディジタル信号）を介して，必要なときに導入されても良い。また，非接触ＩＣカード認証システムのプログラムはあらかじめ耐タンパメモリ１４に格納されていても良い。
【００４１】
図５は，第一の実施形態である図１のシステム構成において，端末装置２０がサービス提供者装置４０の認証を行った後，非接触ＩＣカードの接続を待ち，その後，非接触ＩＣカード内で署名値を生成し，その後，サービス提供者装置で，非接触ＩＣカードの認証を行い，サービスを提供するフロー図である。
【００４２】
まず，端末装置２０が起動し（ステップＳ２０１），その後，サービス利用部２０５が，サービスを受けたいサービス提供者装置を選択する（ステップＳ２０２）。端末装置２０の署名値・証明書検証部２０２は，乱数１（Ａ２０１）を生成し，該乱数１（Ａ２０１）を，サービス提供者装置４０へ送信する。
【００４３】
サービス提供者装置４０は，通信部４０４を経由して，乱数１（Ａ２０１）を受信し，署名値演算部４０３は，鍵保管部４０１に保存されている自身の秘密鍵で，乱数１（Ａ２０１）に対する署名値（Ａ４０２）を生成し（ステップＳ４０１），該署名値（Ａ４０２）と，該署名値を生成するときに用いた秘密鍵と対を成すサーバ証明書（Ａ４０３）と，自身が生成した乱数２（Ａ４０１）と，を通信部４０４を経由して，端末装置２０に送信する。
【００４４】
端末装置２０の署名値・証明書検証部２０２は，自らが生成した乱数１（Ａ２０１）と，サービス提供者装置４０から受信した署名値（Ａ４０２）とサーバ証明書（Ａ４０３）と，から署名値（Ａ４０２）の正当性を確認し（ステップＳ２０３），サーバ証明書（Ａ４０３）と，鍵保管部２０１に保管されているサービス提供者装置４０の公開鍵証明書の正当性を検証するための上位認証局証明書と，からサーバ証明書（Ａ４０３）の正当性を確認する（ステップＳ２０３）。
【００４５】
確認（ステップＳ２０４）が失敗であればサービス享受せずに，処理を終了する（ステップＳ２０５）。成功であれば，ＩＣカードアクセス部２０３は，非接触ＩＣカード１０との近接通信の開始を待ち（ステップＳ２０６），非接触ＩＣカードとの近接通信の開始を検知した場合には，サービス提供者装置４０から受信した乱数２（Ａ４０１）を，ＩＣカードアクセス部２０３を経由して，非接触ＩＣカード１０へ送信する。
【００４６】
非接触ＩＣカード１０は，端末アクセス部１０３を経由して，乱数２（Ａ４０１）を受信し，署名値演算部１０２は，鍵保管部１０１に保存されている自身の秘密鍵で，乱数２（Ａ４０１）に対する署名値（Ａ１０１）を生成し（ステップＳ１０１），該署名値（Ａ１０１）と，該署名値を生成するときに用いた秘密鍵と対を成す証明書（Ａ１０２）と，を端末アクセス部１０３を経由して，端末装置２０に送信する。
【００４７】
端末装置２０の署名値・証明書検証部２０２は，ＩＣカードアクセス部２０３を経由して受信した，署名値（Ａ１０１）と証明書（Ａ１０２）を，通信部２０４を経由して，サービス提供者装置４０に送信する。
【００４８】
サービス提供者装置４０において，署名値・証明書検証部２０２は，自らが生成した乱数２（Ａ４０１）と，端末装置２０から受信した署名値（Ａ１０１）と証明書（Ａ１０２）と，から署名値（Ａ１０１）の正当性を確認し（ステップＳ４０２），証明書（Ａ１０２）と，鍵保管部４０１に保管されている非接触ＩＣカードの公開鍵証明書の正当性を検証するための上位認証局証明書と，から証明書（Ａ１０２）の正当性を確認する（ステップＳ４０２）。
【００４９】
確認（ステップＳ４０３）が失敗であればサービス提供を終了する（ステップＳ４０４）。成功であれば，サービス提供部４０５は，端末装置２０に対するサービスを提供する（ステップＳ４２０）。
【００５０】
端末装置２０のサービス利用部２０５は，サービス提供者装置４０が提供するサービス（Ａ４２０）を利用する（ステップＳ２２０）。
【００５１】
図６は，第一の実施形態である図１のシステム構成において，まず非接触ＩＣカード１０内で署名値を生成し，その後，端末装置２０がサービス提供者装置４０に接続し，サービス提供者装置４０で非接触ＩＣカードの認証を行い，その後に，端末装置２０がサービス提供者装置４０の認証を行った後，サービスを提供するフロー図である。
【００５２】
端末装置２０は，起動し（ステップＳ２０１），ＩＣカードアクセス部２０３が，非接触ＩＣカード１０との近接通信の開始を待つ（ステップＳ２０６）。非接触ＩＣカード１０との近接通信の開始を検知した場合には，サービス利用部２０５は，自らが生成した使用する毎に増加するカウンタ値（Ａ２０２）を，ＩＣカードアクセス部２０３を経由して，非接触ＩＣカード１０へ送信する。
【００５３】
非接触ＩＣカード１０は，端末アクセス部１０３を経由して，カウンタ値（Ａ２０２）を受信し，署名値演算部１０２は，鍵保管部に保存されている自身の秘密鍵で，カウンタ値（Ａ２０２）に対する署名値（Ａ１０１）を生成し（ステップＳ１０１），該署名値（Ａ１０１）と，該署名値を生成するときに用いた秘密鍵と対を成す証明書（Ａ１０２）と，を端末アクセス部１０３を経由して，端末装置２０に送信する。
【００５４】
端末装置２０は，サービスを受けるサービス提供者装置４０を選択し（ステップＳ２０２），通信部２０４を経由して，自身が生成した乱数１（Ａ２０３）と，非接触ＩＣカードから受信した署名値（Ａ１０１）と，証明書（Ａ１０２）と，カウンタ値（Ａ２０２）と，をサービス提供者装置４０へ送信する。
【００５５】
サービス提供者装置４０において，署名値・証明書検証部４０２は，端末装置２０から受信したカウンタ値（Ａ２０２）と，署名値（Ａ１０１）と証明書（Ａ１０２）と，から署名値の正当性を確認し（ステップＳ４０２），証明書（Ａ１０２）と，鍵保管部４０１に保管されている非接触ＩＣカードの公開鍵証明書の正当性を検証するための上位認証局証明書と，から証明書（Ａ１０２）の正当性を確認する（ステップＳ４０２）。
【００５６】
確認（ステップＳ４０３）が失敗であればサービス提供を終了し（ステップＳ４０４），成功であれば，署名値演算部４０３は，鍵保管部４０１に保存されている自身の秘密鍵で，乱数１（Ａ２０３）に対する署名値（Ａ４０２）を生成し，該署名値（Ａ４０２）と，該署名値を生成するときに用いた秘密鍵と対を成すサーバ証明書（Ａ４０３）と，を通信部４０４を経由して，端末装置２０に送信する。
【００５７】
端末装置２０の署名値・証明書検証部２０２は，自身が生成した乱数１（Ａ２０３）と，サービス提供者装置４０から受信した署名値（Ａ４０２）とサーバ証明書（Ａ４０３）と，から署名値（Ａ４０２）の正当性を確認し（ステップＳ２０３），サーバ証明書（Ａ４０３）と，鍵保管部２０１に保管されているサービス提供者装置４０の公開鍵証明書の正当性を検証するための上位認証局証明書と，からサーバ証明書の正当性を確認する（ステップＳ２０３）。
【００５８】
確認（ステップＳ２０４）が失敗であればサービス享受を終了し（ステップＳ２０５），成功であれば，サービス提供者装置４０へ，成功を知らせる応答（Ａ２０４）を返信する。
【００５９】
サービス提供者装置４０のサービス提供部４０５は，端末装置２０に対するサービスを提供し（ステップＳ４２０），
端末装置２０のサービス利用部２０５は，サービス提供者装置４０が提供するサービス（Ａ４２０）を利用する（ステップＳ２２０）。
【００６０】
図７は，第二の実施形態である図２のシステム構成において，端末装置２０がサービス提供者装置４０へ接続を行った後，非接触ＩＣカードの接続を待ち，その後，非接触ＩＣカード内でサーバの認証を行い，かつ，署名値を生成し，その後，サービス提供者装置で，非接触ＩＣカードの認証を行い，サービスを提供するフロー図である。
【００６１】
端末装置２０は，起動し（ステップＳ２０１），サービス利用部２０５が，サービスを受けるサービス提供者装置４０を選択し（ステップＳ２０２），通信部２０４を経由して，サービス利用部２０５が生成した乱数１（Ａ２０１）を，サービス提供者装置４０へ送信する。
【００６２】
サービス提供者装置４０は，通信部４０４を経由して，乱数１（Ａ２０１）を受信し，署名値演算部４０３は，鍵保管部４０１に保存されている自身の秘密鍵で，乱数１（Ａ２０１）に対する署名値を生成し（ステップＳ４０１），該署名値（Ａ４０２）と，該署名値を生成するときに用いた秘密鍵と対を成すサーバ証明書（Ａ４０３）と，自身が生成した乱数２（Ａ４０１）と，を通信部４０４を経由して，端末装置２０に送信する。
【００６３】
端末装置２０のＩＣカードアクセス部２０３は，非接触ＩＣカード１０との近接通信の開始を待ち（ステップＳ２０６），非接触ＩＣカード１０との近接通信の開始を検知した場合には，サービス提供者装置４０から受信した署名値（Ａ４０２）と，サーバ証明書（Ａ４０３）と，乱数２（Ａ４０１）と，サービス利用部２０５が生成した乱数１（Ａ２０１）と，を，ＩＣカードアクセス部２０３を経由して，非接触ＩＣカード１０へ送信する。
【００６４】
非接触ＩＣカード１０の署名値・証明書検証部１０４は，端末装置２０から受信した乱数１（Ａ２０１）と，署名値（Ａ４０２）とサーバ証明書（４０３）と，から署名値（Ａ４０２）の正当性を確認し（ステップＳ１０２），サーバ証明書（Ａ４０３）と，鍵保管部１０１に保管されているサービス提供者装置４０の公開鍵証明書の正当性を検証するための上位認証局証明書と，からサーバ証明書（Ａ４０３）の正当性を確認する（ステップＳ１０２）。
【００６５】
確認（Ｓ１０３）が失敗であれば，署名値・証明書検証部１０４は，端末アクセス部１０３を介して，端末装置２０に，失敗通知（Ａ１０３）を送信し，サービス享受を終了する（ステップＳ２０５）。成功であれば，非接触ＩＣカード１０の署名値演算部１０２は，鍵保管部１０１に保存されている自身の秘密鍵で，乱数２（Ａ４０１）に対する署名値（Ａ１０１）を生成し（ステップＳ１０１），該署名値（Ａ１０１）と，該署名値を生成するときに用いた秘密鍵と対を成す証明書（Ａ１０２）と，を端末アクセス部１０３を経由して，端末装置２０に送信する。
【００６６】
端末装置２０は，ＩＣカードアクセス部２０３を経由して受信した，署名値（Ａ１０１）と証明書（Ａ１０２）を，通信部２０４を経由して，サービス提供者装置４０に送信する。
【００６７】
サービス提供者装置４０は，署名値・証明書検証部４０２が生成した乱数２（Ａ４０１）と，端末装置２０から受信した署名値（Ａ１０１）と証明書（Ａ１０２）と，から署名値（Ａ１０１）の正当性を確認し（ステップＳ４０２），証明書（Ａ１０２）と，鍵保管部４０１に保管されている非接触ＩＣカード１０の公開鍵証明書の正当性を検証するための上位認証局証明書と，から証明書の正当性を確認する（ステップＳ４０２）。
【００６８】
確認（ステップＳ４０３）が失敗であればサービス提供を終了し（ステップＳ４０４），成功であれば，サービス提供部４０５が，  端末装置２０に対するサービスを提供し（ステップＳ４２０），端末装置２０のサービス利用部２０５は，サービス提供者装置４０が提供するサービス（Ａ４２０）を利用する（ステップＳ２２０）。
【００６９】
図８は，第二の実施形態である図２のシステム構成において，まず非接触ＩＣカード１０内で署名値を生成し，その後，端末装置２０がサービス提供者装置４０に接続し，サービス提供者装置４０で非接触ＩＣカードの認証を行い，その後に，再び非接触ＩＣカード１０において，サービス提供者装置４０の認証を行った後，サービスを提供するフロー図である。
【００７０】
端末装置２０は，起動し（ステップＳ２０１），ＩＣカードアクセス部２０３は，非接触ＩＣカード１０との近接通信の開始を待ち（ステップＳ２０６），非接触ＩＣカード１０との近接通信の開始を検知した場合には，サービス利用部２０５が生成した使用する毎に増加するカウンタ値（Ａ２０２）を，ＩＣカードアクセス部２０３を経由して，非接触ＩＣカード１０へ送信する。
【００７１】
非接触ＩＣカード１０は，端末アクセス部１０３を経由して，カウンタ値（Ａ２０２）を受信し，署名値演算部１０２は，鍵保管部に保存されている自身の秘密鍵で，カウンタ値に対する署名値（Ａ１０１）を生成し（ステップＳ１０１），該署名値（Ａ１０１）と，該署名値を生成するときに用いた秘密鍵と対を成す証明書（Ａ１０２）と，を端末アクセス部１０３を経由して，端末装置２０に送信する。
【００７２】
端末装置２０のサービス利用部２０５は，サービスを受けるサービス提供者装置４０を選択し（ステップＳ２０２），通信部２０４を経由して，サービス利用部２０５が生成した乱数１（Ａ２０３）と，非接触ＩＣカードから受信した署名値（Ａ１０１）と，証明書（Ａ１０２）と，カウンタ値（Ａ２０２）と，をサービス提供者装置４０へ送信する。
【００７３】
サービス提供者装置４０の署名値・証明書検証部４０４は，端末装置２０から受信したカウンタ値（Ａ２０２）と，署名値（Ａ１０１）と証明書（Ａ１０２）と，から署名値（Ａ１０１）の正当性を確認し（ステップＳ４０２），証明書（Ａ１０２）と，鍵保管部４０１に保管されている非接触ＩＣカード１０の公開鍵証明書の正当性を検証するための上位認証局証明書と，から証明書（Ａ１０２）の正当性を確認する（ステップＳ４０２）。
【００７４】
確認（ステップＳ４０３）が失敗であればサービス提供を終了し（ステップＳ４０４），成功であれば，署名値演算部４０３は，鍵保管部４０１に保存されている自身の秘密鍵で，乱数１（Ａ２０３）に対する署名値（Ａ４０２）を生成し（ステップＳ４０１），該署名値（Ａ４０２）と，該署名値を生成するときに用いた秘密鍵と対を成すサーバ証明書（Ａ４０３）と，を通信部４０４を経由して，端末装置２０に送信する。
【００７５】
端末装置２０のＩＣカードアクセス部２０３は，非接触ＩＣカード１０との近接通信の開始を待ち（ステップＳ２０６），非接触ＩＣカード１０との近接通信の開始を検知した場合には，サービス提供者装置４０から受信した署名値（Ａ４０２）と，サーバ証明書（Ａ４０３）と，サービス利用部２０５が生成した乱数１（Ａ２０３）と，をＩＣカードアクセス部２０３を経由して，非接触ＩＣカード１０へ送信する。
【００７６】
非接触ＩＣカード１０の署名値・証明書検証部１０４は，端末装置２０から受信した乱数１（Ａ２０３）と，署名値（Ａ４０２）と，サーバ証明書（Ａ４０３）と，から署名値（Ａ４０２）の正当性を確認し（ステップＳ１０２），サーバ証明書（Ａ４０３）と，鍵保管部１０１に保管されているサービス提供者装置４０の公開鍵証明書の正当性を検証するための上位認証局証明書と，からサーバ証明書（Ａ４０３）の正当性を確認し（ステップＳ１０２），確認の結果（Ａ１０４）を端末装置２０へ通知する。
【００７７】
端末装置２０のサービス利用部２０５は，非接触ＩＣカード１０から送信された確認が失敗であれば（ステップＳ２１０），サービス享受を終了し（ステップＳ２１１），成功であれば，サービス提供者装置４０へ，成功を知らせる応答（Ａ２０４）を返信する。
【００７８】
サービス提供者装置４０のサービス提供部４０５は，端末装置２０に対するサービスを提供し（Ｓ４２０），端末装置２０のサービス利用部２０５は，サービス提供者４０が提供するサービス（Ａ４２０）を利用する（ステップＳ２２０）。
【００７９】
図９は，端末装置２０がカーナビゲーションシステムを想定した場合に，端末装置２０が，非接触ＩＣカード１０の接続を待つ（ステップＳ２０６，Ｓ２１０）ときのイメージ図である。
【００８０】
図１０は，端末装置２０がカーナビゲーションシステムを想定した場合に，端末装置２０に，非接触ＩＣカード１０を近づけた後に，相互認証が完了したときのイメージ図である。
【００８１】
なお，本発明は，上記の各実施形態に限定されるものではなく，その要旨の範囲内で様々な変形が可能である。
【００８２】
たとえば，図５〜図８の処理において，サービス提供者装置の選択（ステップＳ２０２）を行っているが，事前に端末装置１０に登録されていれば，必ずしも，サービス提供者装置の選択（ステップＳ２０２）を行う必要はない。
【００８３】
また，図６と図８のように非接触ＩＣカードを近づけた後で，サービス提供者装置４０に接続する場合は，近づける非接触ＩＣカードの利用者ごとに接続先を切り替えても良い。
【００８４】
また，図５〜図８の処理において，サーバ証明書（Ａ４０３）や証明書（Ａ１０２）を送受信しているが，一度以上使用された場合には，受信側でキャッシュして二度目からは送受信しないようにしても良い。
【００８５】
また，図５〜図８の処理において，証明書を検証する場合（ステップＳ４０２，Ｓ２０３，Ｓ１０２）に，外部の証明書検証機関（証明書検証サーバ）を利用しても良い。
【００８６】
また，図５〜図８の処理において，サービスを提供する際には，端末装置２０とサービス提供者装置４０との間でセッション鍵を共有して暗号通信を行っても良い。
【００８７】
また，図１，図２の構成において，サービス提供者装置は，サービス提供状況保持部を備えて良く，サービスを提供開始した後，サービスの提供情報を保持し，同一ユーザの再接続の際には，サービス提供状況保持部で保持している情報に引き続くサービスを提供するようにしても良い。
【００８８】
さらに，端末装置２０からサービス終了要求を受信した際には，サービス提供者装置４０のサービス提供状況保持部は，サービス提供状況をクリアするようにしても良い。運用によっては，端末装置２０との接続が切れた際に，サービス提供状況をクリアするようにしても良い。
【００８９】
端末装置が携帯電話端末であっても良いし，カーナビゲーションシステムであっても良い。その他の携帯デバイスでも良いし，据え置き型の端末装置でも良い。
【００９０】
また，非接触ＩＣカードは，非接触ＩＣチップを搭載したデバイスであれば良く，カード型でなくても，携帯電話端末に非接触ＩＣチップが内蔵されたデバイスでも良いし，キーホルダ型のデバイスでも良い。その他の形のデバイスでも良い。
【００９１】
また，サービス提供者装置は，該サービス提供者装置で認証される非接触ＩＣカードごとに，該非接触ＩＣカードのユーザに適したサービスを提供しても良い。
【図面の簡単な説明】
【００９２】
【図１】第一の実施形態が適用された非接触ＩＣカード認証システムの構成を例示する図である。
【図２】第二の実施形態が適用された非接触ＩＣカード認証システムの構成を例示する図である。
【図３】図１，図２に示す端末装置のハードウェア構成を例示する図である。
【図４】図１，図２に示すＩＣカードのハードウェア構成を例示する図である。
【図５】第一の実施形態が適用された非接触ＩＣカード認証システムの第一の処理フローを例示する図である。
【図６】第一の実施形態が適用された非接触ＩＣカード認証システムの第二の処理フローを例示する図である。
【図７】第二の実施形態が適用された非接触ＩＣカード認証システムの第一の処理フローを例示する図である。
【図８】の第二の実施形態が適用された非接触ＩＣカード認証システムの第二の処理フローを例示する図である。
【図９】非接触ＩＣカードの接続を待つときのイメージ図である。
【図１０】非接触ＩＣカード１０を近づけた後に，相互認証が完了したときのイメージ図である。
【符号の説明】
【００９３】
１０：非接触ＩＣカード，１１：入出力装置，１２：ＣＰＵ，１３：耐タンパ補助記憶装置，１４：耐タンパ主記憶装置，１５：内部通信線，２０：端末装置，２１：通信装置，２２：入出力装置，２３：ＩＣカード入出力装置，２４：補助記憶装置，２５：ＣＰＵ，２６：主記憶装置，２７：読取装置，２８：記憶媒体，２９：内部通信線，３０：ネットワーク，４０１〜４０ｎ：サービス提供者装置，１０１：鍵保管部，１０２：署名値演算部，１０３：端末アクセス部，２０１：鍵保管部，２０２：署名値・証明書検証部，２０３：ＩＣカードアクセス部，２０４：通信部，２０５：サービス利用部，４０１：鍵保管部，４０２：署名値・証明書検証部，４０３：署名値演算部，４０４：通信部，４０５サービス提供部，Ａ１０１：署名値，Ａ１０２：証明書，Ａ１０３：失敗通知，Ａ１０４：結果通知，Ａ２０１：乱数１，Ａ２０２：カウンタ値，Ａ２０３：乱数１，Ａ２０４：応答，Ａ４０１：乱数２，Ａ４０２：署名値，Ａ４０３：サーバ証明書，Ａ４２０：サービス
【図１】
2009140275.tif 000003
【図２】
2009140275.tif 000004
【図３】
2009140275.tif 000005
【図４】
2009140275.tif 000006
【図５】
2009140275.tif 000007
【図６】
2009140275.tif 000008
【図７】
2009140275.tif 000009
【図８】
2009140275.tif 000010
【図９】
2009140275.tif 000011
【図１０】
2009140275.tif 000012