(57)【要約】【課題】  不正アクセスを防止しながら、複数の処理装置を用いて、セキュリティの高い協働処理を実行するための認証管理方法及び認証管理システムを提供する。【解決手段】  利用者トークン１０を保持する利用者が、ユーザ装置２０、サーバ装置３０を利用する場合、利用者トークン１０は、システム時刻を暗号化した利用者署名、サーバ装置公開鍵及びサーバ装置公開鍵の利用者署名をユーザ装置２０に提供する。ユーザ装置２０のセキュアチップ２１は、サーバ装置公開鍵の利用者署名を検証し、サーバ装置公開鍵を取得する。次に、セキュアチップ２１は、利用者ＩＤ、システム時刻及びシステム時刻の利用者署名、ユーザ装置公開鍵、ユーザ装置公開鍵の利用者署名をサーバ装置３０に提供する。サーバ装置３０のセキュアチップ３１は、ユーザ装置の利用者署名を検証し、ユーザ装置公開鍵を取得し、ユーザ装置２０とサーバ装置３０との通信を確立する。【選択図】      図１
2006074487.tif 000002
【特許請求の範囲】
【請求項１】
第１の処理装置の第１公開鍵と第２の処理装置の第２公開鍵とを保持する利用者トークンと、前記利用者トークンの利用者公開鍵を保持する第１の処理装置と、前記利用者トークンの利用者公開鍵を保持する第２の処理装置とを用いて、第１の処理装置と第２の処理装置との協働処理のための認証管理方法であって、
前記利用者トークンが、前記第１の処理装置から受信した暗号化データを、前記第１公開鍵を用いて復号化して、前記第１の処理装置を認証する第１の段階と、
前記利用者トークンが、保持する前記第２公開鍵を、前記利用者トークンの秘密鍵で生成した電子署名を前記第１の処理装置に提供する第２の段階と、
前記第１の処理装置が、前記電子署名を前記利用者公開鍵を用いて復号化して、前記利用者トークンを認証する第３の段階と、
前記第１の処理装置が、前記第１公開鍵を前記利用者トークンの秘密鍵で生成した電子署名を取得し、前記第２の処理装置に提供する第４の段階と、
前記第２の処理装置が、前記電子署名を前記利用者公開鍵を用いて復号化して、前記第１の処理装置を認証する第５の段階と
を含むことを特徴とする認証管理方法。
【請求項２】
前記利用者トークンが前記第１の処理装置から受信した暗号化データには、前記第１の処理装置の送信時刻に関するデータを含み、
前記第１の段階は、前記利用者トークンが保持する時刻と、前記送信時刻を用いて照合する段階を更に含むことを特徴とする請求項１に記載の認証管理方法。
【請求項３】
前記第２の段階は、前記利用者トークンが取得した時刻を、前記利用者トークンの秘密鍵で暗号化して生成した時刻の利用者署名を生成する段階を更に含み、
この時刻の利用者署名を含むデータを前記第１の処理装置に提供することを特徴とする請求項１又は２に記載の認証管理方法。
【請求項４】
前記第４の段階は、前記時刻の利用者署名を含むデータを前記第２の処理装置に提供することを特徴とする請求項１〜３のいずれか一つに記載の認証管理方法。
【請求項５】
第１の処理装置の第１公開鍵と第２の処理装置の第２公開鍵とを保持する利用者トークンと、前記利用者トークンの利用者公開鍵を保持する第１の処理装置と、前記利用者トークンの利用者公開鍵を保持する第２の処理装置とを用いて、第１の処理装置と第２の処理装置との協働処理のための認証管理システムであって、
前記利用者トークンが、前記第１の処理装置から受信した暗号化データを、前記第１公開鍵を用いて復号化して、前記第１の処理装置を認証する第１の手段と、
前記利用者トークンが、保持する前記第２公開鍵を、前記利用者トークンの秘密鍵で生成した電子署名を前記第１の処理装置に提供する第２の手段と、
前記第１の処理装置が、前記電子署名を前記利用者公開鍵を用いて復号化して、前記利用者トークンを認証する第３の手段と、
前記第１の処理装置が、前記第１公開鍵を前記利用者トークンの秘密鍵で生成した電子署名を取得し、前記第２の処理装置に提供する第４の手段と、
前記第２の処理装置が、前記電子署名を前記利用者公開鍵を用いて復号化して、前記第１の処理装置を認証する第５の手段と
を含むことを特徴とする認証管理システム。
【請求項６】
前記利用者トークンが前記第１の処理装置から受信した暗号化データには、前記第１の処理装置の送信時刻に関するデータを含み、
前記第１の手段は、前記利用者トークンが保持する時刻と、前記送信時刻を用いて照合
する段階を更に含むことを特徴とする請求項５に記載の認証管理システム。
【請求項７】
前記第２の手段は、前記利用者トークンが取得した時刻を、前記利用者トークンの秘密鍵で暗号化して生成した時刻の利用者署名を生成する段階を更に含み、
この時刻の利用者署名を含むデータを前記第１の処理装置に提供することを特徴とする請求項５又は６に記載の認証管理システム。
【請求項８】
前記第４の手段は、前記時刻の利用者署名を含むデータを前記第２の処理装置に提供することを特徴とする請求項５〜７のいずれか一つに記載の認証管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不正アクセスを防止しながら、複数の処理装置を用いて、セキュリティの高い協働処理を実行するための認証管理方法及び認証管理システムに関する。
【背景技術】
【０００２】
コンピュータの利用環境において、不正アクセスはコンピュータシステムにとって脅威である。特に、認証に対する不正アクセスとしては、いわゆる「なりすまし」に集約され、これについての対処としては利用者認証機能が重要な意味を持つ。
【０００３】
コンピュータを用いて個人を認証する方法は多数存在し、多く用いられている方法はＩＤとパスワードを入力する方法である。この場合、ＩＤやパスワードが漏洩し、他人がなりすました場合には、それを防ぐことはできない。そのため、定期的にあるいは不定期にＩＤやパスワードを変更することが推奨されているが、手間がかかる場合がある。
【０００４】
このため、ＩＣカードやバイオメトリクス認証を用いた個人認証装置も提案されている（例えば、特許文献１参照。）。この個人認証装置では、個人情報とバイオメトリクス情報の格納場所と利用を使い分ける。両情報を格納したＩＣカードから、バイオメトリクス情報を読み出し、個人が直接入力したバイオメトリクス情報を照合して、入力者がＩＣカードの所有者であることを認証する。同時にＩＣカードから個人情報を読み出し、データベースに格納された個人情報と照合してＩＣカードの正当性を認証することで、精度の高い個人認証を実現する。
【０００５】
また、電子署名法や電子政府の基盤として、より高度で安全性の高い本人認証手段として、ＰＫＩ（Public Key Infrastructure ）が持つ機能（守秘性、完全性、認証、否認防止）に着目され、各種サービスへの展開が検討されている。ＰＫＩにおいては、認証局と呼ばれる機関が利用者に証明書（公開鍵証明書）を発行し、この証明書をベースにして、本人確認可能なセキュリティの基盤を構築するものである。
【０００６】
このＰＫＩを用いた電子認証方法も提案されている（例えば、特許文献２参照。）。この電子認証方法では、通信ネットワークに接続することができる端末と、端末に着脱可能な記録媒体とを用いる。第三者認証機関によって付与された認証キーを記録媒体に記録し、この記録媒体を端末に装着し通信ネットワークを介して任意のサイトのサーバと交信する。そして、認証キーを使って本人認証を行なう。本人認証が行なわれたことを条件として端末と任意のサイトとの間で所望のデータ通信を行なう。この本人認証のステップでは、本人が持っている秘密鍵により暗号化した認証キーを、公開鍵を用いて検証する。第三者認証機関によって付与された認証キーを記録して記録媒体を本人確認手段として利用することができる。
【特許文献１】特開２００３−２２８７０５号公報（第１頁、図１）
【特許文献２】特開２００３−１１５８４１号公報（第１頁、図２）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、利用者は、複数の装置やハードウエアを用いて作業を行なうことがある。例えば、複数のコンピュータを並行して利用する分散処理を実行する場合がある。このような環境下においては、セキュリティの高い認証方法が望まれる。例えば、認証用のＩＣカードを保持する利用者がサーバ装置を利用する場合、ＩＣカードにより本人認証が行なった後で、クライアントコンピュータ端末は、利用者からのコマンドの入力及び利用者への情
報の表示を行なう。一方、サーバ装置については、直接的な利用者との対面を想定していないため、サーバ装置は、クライアントコンピュータ端末を通じて利用者に利用される。従って、このようなシステムの運用時の利用者認証を考える場合には、利用者（ＩＣカード）／クライアントコンピュータ端末／サーバ装置の３個のエンティティからなる系を対象とする必要がある。すなわち、三者間で、システムの利用者認証として必要十分な機能となるべく、エンティティ間で必要な許可を授受し、運用時において認証を実行するという枠組みを形成する必要がある。
【０００８】
さらに、利用者とシステムとの関係において利用者認証とされるものは多くの場合、「システムから見て、利用者は正当であるかどうか」が問題になるが、「正当な利用者が、正当でないシステムを使わされてしまう」ともいうべき内容の事例も少なくない。したがって、利用者からシステムを認証するという視点も重視すべきである。従って、利用者のみならず、装置やハードウエアの「なりすまし」を想定して、複数の装置やハードウエアにおける相互認証技術が必要である。
【０００９】
本発明は、上記課題を解決するためになされたものであり、その目的は、不正アクセスを防止しながら、複数の処理装置を用いて、セキュリティの高い協働処理を実行するための認証管理方法及び認証管理システムを提供することにある。
【課題を解決するための手段】
【００１０】
上記問題点を解決するために、請求項１に記載の発明は、第１の処理装置の第１公開鍵と第２の処理装置の第２公開鍵とを保持する利用者トークンと、前記利用者トークンの利用者公開鍵を保持する第１の処理装置と、前記利用者トークンの利用者公開鍵を保持する第２の処理装置とを用いて、第１の処理装置と第２の処理装置との協働処理のための認証管理方法であって、前記利用者トークンが、前記第１の処理装置から受信した暗号化データを、前記第１公開鍵を用いて復号化して、前記第１の処理装置を認証する第１の段階と、前記利用者トークンが、保持する前記第２公開鍵を、前記利用者トークンの秘密鍵で生成した電子署名を前記第１の処理装置に提供する第２の段階と、前記第１の処理装置が、前記電子署名を前記利用者公開鍵を用いて復号化して、前記利用者トークンを認証する第３の段階と、前記第１の処理装置が、前記第１公開鍵を前記利用者トークンの秘密鍵で生成した電子署名を取得し、前記第２の処理装置に提供する第４の段階と、前記第２の処理装置が、前記電子署名を前記利用者公開鍵を用いて復号化して、前記第１の処理装置を認証する第５の段階とを含むことを要旨とする。
【００１１】
請求項２に記載の発明は、請求項１に記載の認証管理方法において、前記利用者トークンが前記第１の処理装置から受信した暗号化データには、前記第１の処理装置の送信時刻に関するデータを含み、前記第１の段階は、前記利用者トークンが保持する時刻と、前記送信時刻を用いて照合する段階を更に含むことを要旨とする。
【００１２】
請求項３に記載の発明は、請求項１又は２に記載の認証管理方法において、前記第２の段階は、前記利用者トークンが取得した時刻を、前記利用者トークンの秘密鍵で暗号化して生成した時刻の利用者署名を生成する段階を更に含み、この時刻の利用者署名を含むデータを前記第１の処理装置に提供することを要旨とする。
【００１３】
請求項４に記載の発明は、請求項１〜３のいずれか一つに記載の認証管理方法において、前記第４の段階は、前記時刻の利用者署名を含むデータを前記第２の処理装置に提供することを要旨とする。
【００１４】
請求項５に記載の発明は、第１の処理装置の第１公開鍵と第２の処理装置の第２公開鍵とを保持する利用者トークンと、前記利用者トークンの利用者公開鍵を保持する第１の処
理装置と、前記利用者トークンの利用者公開鍵を保持する第２の処理装置とを用いて、第１の処理装置と第２の処理装置との協働処理のための認証管理システムであって、前記利用者トークンが、前記第１の処理装置から受信した暗号化データを、前記第１公開鍵を用いて復号化して、前記第１の処理装置を認証する第１の手段と、前記利用者トークンが、保持する前記第２公開鍵を、前記利用者トークンの秘密鍵で生成した電子署名を前記第１の処理装置に提供する第２の手段と、前記第１の処理装置が、前記電子署名を前記利用者公開鍵を用いて復号化して、前記利用者トークンを認証する第３の手段と、前記第１の処理装置が、前記第１公開鍵を前記利用者トークンの秘密鍵で生成した電子署名を取得し、前記第２の処理装置に提供する第４の手段と、前記第２の処理装置が、前記電子署名を前記利用者公開鍵を用いて復号化して、前記第１の処理装置を認証する第５の手段とを含むことを要旨とする。
【００１５】
請求項６に記載の発明は、請求項５に記載の認証管理システムにおいて、前記利用者トークンが前記第１の処理装置から受信した暗号化データには、前記第１の処理装置の送信時刻に関するデータを含み、前記第１の手段は、前記利用者トークンが保持する時刻と、前記送信時刻を用いて照合する段階を更に含むことを要旨とする。
【００１６】
請求項７に記載の発明は、請求項５又は６に記載の認証管理システムにおいて、前記第２の手段は、前記利用者トークンが取得した時刻を、前記利用者トークンの秘密鍵で暗号化して生成した時刻の利用者署名を生成する段階を更に含み、この時刻の利用者署名を含むデータを前記第１の処理装置に提供することを要旨とする。
【００１７】
請求項８に記載の発明は、請求項５〜７のいずれか一つに記載の認証管理システムにおいて、前記第４の手段は、前記時刻の利用者署名を含むデータを前記第２の処理装置に提供することを要旨とする。
【００１８】
（作用）
請求項１又は５に記載の発明によれば、利用者トークンが第１の処理装置を認証し、第１の処理装置が利用者トークンを認証し、そして、利用者トークンから取得した情報に基づいて第１の処理装置が第２の処理装置を特定する、そして、第２の処理装置が第１の処理装置が認証する。これにより、複数の装置での協働処理環境において、利用者トークンを通じて効率的にセキュリティを向上させることができる。すなわち、認証サーバを設けたり、認証機関を利用したりする等のように当事者以外の第三者を介することなく、利用者トークンと各処理装置とを利用して相互認証を行なうため、簡易かつ効率的に運用することができる。
【００１９】
請求項２又は６に記載の発明によれば、送信時刻が同じデータを排除することができる。すなわち、暗号化された照合用データをそのまま複製して利用するリプレイ攻撃が行なわれる場合がある。送信時刻が同じデータを排除することにより、利用者トークンに対するリプレイ攻撃を排除することができる。
【００２０】
請求項３又は７に記載の発明によれば、時刻が同じデータを排除することができる。これにより、第１の処理装置に対するリプレイ攻撃を排除することができる。
請求項４又は８に記載の発明によれば、時刻が同じデータを排除することができる。これにより、第２の処理装置に対するリプレイ攻撃を排除することができる。
【発明の効果】
【００２１】
本発明によれば、不正アクセスを防止しながら、複数の処理装置を用いて、セキュリティの高い協働処理を効率的に実行することができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明を具体化した一実施形態を、図１〜図７に従って説明する。本実施形態では、利用者はデータ保護システムを利用するにあたり、システムを構成する安全な装置として、ユーザ装置とサーバ装置とを任意に選択して、装置管理者に対して利用申請を行なう。装置管理者が許可する場合には、後述するように利用者に渡された利用者トークン及び各装置に装着されるセキュアチップに対して利用者登録のための手続を行う。
【００２３】
図１に示すように、本実施形態では、このデータ保護システムは、第１の処理装置としてのユーザ装置２０と、第２の処理装置としてのサーバ装置３０とから構成されている。そして、利用者は、ユーザ装置２０からサーバ装置３０にアクセスする場合を想定する。
【００２４】
ユーザ装置２０は直接に利用者と対面するローカルな環境にあり、物理的な入出力の装備を以って、利用者からのコマンドの入力および利用者への情報の表示を行なう。一方、サーバ装置３０については、ローカル環境・ネットワーク環境を問わず、直接的な利用者との対面は想定していない。以下の実施形態では、サーバ装置３０は、ユーザ装置２０を通じて、ネットワーク環境によって利用者に利用されるものとする。
【００２５】
サーバ装置３０はユーザデータの安全な保存を目的とし、またユーザ装置２０は利用者の傍らにあって、安全なサーバ装置からのメッセージを利用者に提供すると共に、利用者の意思をサーバ装置３０に伝える。
【００２６】
この場合、図１に示すように、利用者は、利用者トークン１０を用いる。本実施形態では、この利用者トークン１０として、ＣＰＵやメモリ（データ記憶部）を備えたＩＣカードを用いる。
【００２７】
利用者トークン１０は、後述する処理（第１の段階、第２の段階等を含む処理）を行なう。このための認証管理プログラムを実行することにより、利用者トークン１０は、第１の手段、第２の手段等として機能する。
【００２８】
この利用者トークン１０はＩＣチップを備え、このＩＣチップは、ＣＰＵとメモリとから構成される。このメモリには、利用者トークンデータ記憶部１２を備える。
図２に示すように、利用者トークンデータ記憶部１２には、利用者に関する基本データ１２０、ユーザ装置対応データ１２１、サーバ装置対応データ１２２及び接続時刻データ１２３が記録される。この基本データ１２０は、利用者に利用者トークン１０を提供する場合に記録される。ユーザ装置対応データ１２１、サーバ装置対応データ１２２は、ユーザ装置、サーバ装置の利用申請を行ない、許可された場合に記録される。なお、ユーザ装置対応データ１２１やサーバ装置対応データ１２２は、利用者の登録申請に応じて、複数の記録が可能である。
【００２９】
基本データ１２０は、利用者装置ＩＤ、利用者装置秘密鍵、利用者装置公開鍵に関するデータを含んで構成される。利用者ＩＤデータ領域には、利用者を特定するための識別子に関するデータが記録される。利用者秘密鍵データ領域、利用者公開鍵データ領域には、それぞれ利用者の秘密鍵、公開鍵に関するデータが記録される。
【００３０】
一方、ユーザ装置対応データ１２１は、ユーザ装置ＩＤ、第１公開鍵としてのユーザ装置公開鍵に関するデータを含んで構成される。ユーザ装置ＩＤデータ領域には、ユーザ装置を特定するための識別子に関するデータが記録される。ユーザ装置公開鍵データ領域には、ユーザ装置の公開鍵に関するデータが記録される。
【００３１】
更に、サーバ装置対応データ１２２は、サーバ装置ＩＤ、第２公開鍵としてのサーバ装
置公開鍵に関するデータを含んで構成される。サーバ装置ＩＤデータ領域には、サーバ装置を特定するための識別子に関するデータが記録される。サーバ装置公開鍵データ領域には、サーバ装置の公開鍵に関するデータが記録される。
【００３２】
更に、接続時刻データ１２３は、認証プロトコルの開始時に受信したシステム時刻に関するデータが記録される。
利用者トークン１０を利用する場合には、利用者トークン１０をユーザ装置２０のカードリーダライタ装置１５に挿入する。このユーザ装置２０は、ＣＰＵを備え、ユーザが利用な可能なクライアントコンピュータ端末である。
【００３３】
このユーザ装置２０にはセキュアチップ２１が装着される。このセキュアチップ２１は、演算処理部とメモリとから構成され、後述する処理（第３の段階、第４の段階等を含む処理）を行なう。このための認証管理プログラムを実行することにより、セキュアチップ２１は、第３の手段、第４の手段等として機能する。セキュアチップ２１は、図１に示すように、ユーザ装置データ記憶部２２を備える。
【００３４】
図３に示すように、ユーザ装置データ記憶部２２には、ユーザ装置２０に関する基本データ２２０と利用者対応データ２２１とが記録される。この基本データ２２０は、予めセキュアチップ２１に記録しておく。利用者対応データ２２１は、利用者が、このユーザ装置２０の利用申請を行ない、許可された場合に記録される。なお、利用者対応データ２２１は、利用者の登録申請に応じて、複数の記録が可能である。
【００３５】
基本データ２２０は、ユーザ装置ＩＤ、ユーザ装置秘密鍵、ユーザ装置公開鍵に関するデータを含んで構成されている。ユーザ装置ＩＤデータ領域には、ユーザ装置を特定するための識別子に関するデータが記録される。ユーザ装置秘密鍵データ領域、ユーザ装置公開鍵データ領域には、それぞれユーザ装置の秘密鍵、公開鍵に関するデータが記録される。
【００３６】
一方、利用者対応データ２２１は、利用者ＩＤ、利用者公開鍵、ユーザ装置公開鍵の利用者署名に関するデータを含んで構成される。利用者装置ＩＤデータ領域には、利用者を特定するための識別子に関するデータが記録される。利用者公開鍵データ領域には、利用者の公開鍵に関するデータが記録される。ユーザ装置公開鍵の利用者署名データ領域には、ユーザ装置公開鍵の利用者署名に関するデータが記録される。
【００３７】
サーバ装置３０はＣＰＵを備えるコンピュータサーバである。そして、サーバ装置３０にはセキュアチップ３１が装着される。このセキュアチップ３１は、演算処理部とメモリとから構成され、後述する処理（第５の段階を含む処理）を行なう。このための認証管理プログラムを実行することにより、セキュアチップ３１は、第５の手段として機能する。
【００３８】
セキュアチップ３１はサーバ装置データ記憶部３２を備える。このサーバ装置データ記憶部３２には、図４に示すように、サーバ装置３０に関する基本データ３２０と利用者対応データ３２１とが記録される。この基本データ３２０は、予めセキュアチップ３１に記録しておく。利用者対応データ３２１は、利用者が、このサーバ装置３０の利用申請を行ない、許可された場合に記録される。なお、利用者対応データ３２１は、利用者の登録申請に応じて、複数の記録が可能である。
【００３９】
基本データ３２０は、サーバ装置ＩＤ、サーバ装置秘密鍵、サーバ装置公開鍵に関するデータを含んで構成されている。サーバ装置ＩＤデータ領域には、サーバ装置を特定するための識別子に関するデータが記録される。サーバ装置秘密鍵データ領域、サーバ装置公開鍵データ領域には、それぞれユーザ装置の秘密鍵、公開鍵に関するデータが記録される
。
【００４０】
一方、利用者対応データ３２１は、利用者ＩＤ、利用者公開鍵に関するデータを含んで構成されている。利用者装置ＩＤデータ領域には、利用者を特定するための識別子に関するデータが記録される。利用者公開鍵データ領域には、利用者の公開鍵に関するデータが記録される。
【００４１】
上記のように構成されたシステムにおいて、利用者トークン１０を保有する利用者が、ユーザ装置２０、サーバ装置３０を利用する場合の処理手順を説明する。この処理を、図５〜図７に従って説明する。
【００４２】
まず、図５に示すように、利用者トークン１０は、ユーザ装置２０の利用要求を行なう（ステップＳ１−１）。この利用要求では、利用者が利用を希望するユーザ装置、サーバ装置を指定する。この場合、まず、利用者は、利用を希望するユーザ装置２０のカードリーダライタ装置１５に利用者トークン１０を挿入する。この場合、利用者トークン１０は、ユーザ装置２０に利用者ＩＤを提供し、ユーザ装置２０は、この利用者トークン１０を保持する利用者の利用要求を認識する。更に、利用者は、ユーザ装置２０に対して利用を希望するサーバ装置３０のサーバ装置ＩＤを入力する。
【００４３】
この利用要求を受けたユーザ装置２０のセキュアチップ２１は、利用者トークン１０に対して認証プロトコルの開始要求を行なう（ステップＳ１−２）。ここでは、セキュアチップ２１は、利用者ＩＤに基づいてユーザ装置データ記憶部２２から利用者公開鍵を抽出する。そして、セキュアチップ２１は、送信時刻として現在のシステム時刻を取得し、このシステム時刻、ユーザ装置ＩＤ及びサーバ装置ＩＤを、利用者公開鍵で暗号化した暗号化メッセージを生成し、この暗号化メッセージデータを利用者トークン１０に通知する。この暗号化は、正当な利用者トークン１０以外を排除することを意図している。
【００４４】
利用者トークン１０は、前回の処理時刻からの進行を確認する（ステップＳ１−３）。具体的には、利用者トークン１０はユーザ装置２０からのメッセージを復号化し、ユーザ装置２０のシステム時刻を抽出する。ここでは、利用者トークンデータ記憶部１２に記録されている接続時刻データ１２３と、メッセージから復号化したシステム時刻とを比較して前回の接続時から進んでいるかどうかの判定し、妥当性を判定する。これは第三者によるリプレイ攻撃を排除することを意図している。
【００４５】
処理時刻からの進行を確認できない場合（ステップＳ１−３の「ＮＯ」の場合）、利用者トークン１０は、認証プロトコルを拒否し、処理を終了する（ステップＳ１−４）。
一方、処理時刻からの進行を確認できた場合（ステップＳ１−３の「ＹＥＳ」の場合）、利用者トークン１０は、利用者トークンデータ記憶部１２に記録されている接続時刻データ１２３を受信したシステム時刻に更新し、ユーザ装置２０及びサーバ装置３０の公開鍵を抽出する（ステップＳ１−５）。ここでは、利用者トークン１０は、ユーザ装置２０から受信したメッセージから抽出したユーザ装置ＩＤ、サーバ装置ＩＤに対応する公開鍵を利用者トークンデータ記憶部１２から抽出する。
【００４６】
利用者トークン１０は、認証データを返信する（ステップＳ１−６）。具体的には、利用者トークン１０は、基本データ１２０に含まれる利用者装置秘密鍵を用いて、ユーザ装置２０から受信したシステム時刻を暗号化した利用者署名を生成する。更に、利用者トークン１０は、サーバ装置対応データ１２２からサーバ装置公開鍵を抽出して、利用者秘密鍵で利用者署名を生成する。そして、システム時刻を暗号化した利用者署名、サーバ装置公開鍵及びサーバ装置公開鍵の利用者署名を含めた認証データを生成する。そして、利用者トークン１０は、この認証データをユーザ装置公開鍵により暗号化したメッセージを生
成する。この暗号化は正当なユーザ装置以外を排除することを意図している。そして、利用者トークン１０は、このメッセージをユーザ装置２０に送信する。
【００４７】
ユーザ装置２０のセキュアチップ２１は、利用者公開鍵を抽出する（ステップＳ１−７）。具体的には、セキュアチップ２１は、利用者ＩＤに基づいてユーザ装置データ記憶部２２の利用者対応データ２２１から利用者公開鍵を抽出する。
【００４８】
次に、ユーザ装置２０のセキュアチップ２１は、時刻の利用者署名を検証する（ステップＳ１−８）。ここでは、セキュアチップ２１は、受信したメッセージを、ユーザ装置秘密鍵で復号化し、システム時刻の利用者署名、サーバ装置公開鍵及びサーバ装置公開鍵の利用者署名を抽出する。そして、このシステム時刻の利用者署名を利用者公開鍵で復号化し、ステップＳ１−１で送信したシステム時刻との比較を行なう。
【００４９】
時刻の利用者署名を検証できた場合（ステップＳ１−８の「ＹＥＳ」の場合）、ユーザ装置２０のセキュアチップ２１は、サーバ装置公開鍵の利用者署名を検証する（ステップＳ１−９）。具体的には、このサーバ装置公開鍵の利用者署名を利用者公開鍵で復号化し、受信したメッセージから抽出したサーバ装置公開鍵と比較する。これにより、サーバ装置公開鍵の正当性を確認することができる。
【００５０】
サーバ装置の利用者署名を検証できた場合（ステップＳ１−９の「ＹＥＳ」の場合）、ユーザ装置２０のセキュアチップ２１は、サーバ装置公開鍵を取得する（ステップＳ１−１０）。
【００５１】
なお、時刻の利用者署名を検証できない場合（ステップＳ１−８の「ＮＯ」の場合）や、サーバ装置の利用者署名を検証できない場合（ステップＳ１−９の「ＮＯ」の場合）、ユーザ装置２０のセキュアチップ２１は、認証プロトコルを拒否し、処理を終了する（ステップＳ１−１１）。
【００５２】
次に、図６に示すように、ユーザ装置２０のセキュアチップ２１は、ユーザ装置乱数Ｒｕを生成する（ステップＳ２−１）。
そして、ユーザ装置２０のセキュアチップ２１は、サーバ装置３０に認証データを提供する（ステップＳ２−２）。具体的には、セキュアチップ２１は、ユーザ装置公開鍵、ユーザ装置公開鍵の利用者署名を、それぞれ基本データ２２０と利用者対応データ２２１とから抽出する。そして、セキュアチップ２１は、利用者ＩＤ、システム時刻及びシステム時刻の利用者署名、ユーザ装置公開鍵、ユーザ装置公開鍵の利用者署名、ユーザ装置乱数Ｒｕを含む認証データを生成する。ここで、システム時刻及びシステム時刻の利用者署名は、利用者トークン１０から受信したデータを用いる。また、ユーザ装置乱数Ｒｕは、ステップＳ２−１で生成したデータを用いる。
【００５３】
そして、セキュアチップ２１は、利用者トークン１０は、この認証データを、ステップＳ１−１０で取得したサーバ装置公開鍵を用いて暗号化したメッセージを生成する。この暗号化は正当なサーバ装置以外を排除することを意図している。そして、セキュアチップ２１は、このメッセージをサーバ装置３０に送信する。
【００５４】
サーバ装置３０のセキュアチップ３１は、利用者ＩＤに基づいて、利用者公開鍵を抽出する（ステップＳ２−３）。具体的には、セキュアチップ３１は、利用者ＩＤに基づいてサーバ装置データ記憶部３２の利用者対応データ３２１から利用者公開鍵を抽出する。
【００５５】
サーバ装置３０のセキュアチップ３１は、時刻の検証を行なう（ステップＳ２−４）。ここでは、セキュアチップ３１は、受信したメッセージを、サーバ装置秘密鍵で復号化し
、利用者ＩＤ、システム時刻及びシステム時刻の利用者署名、ユーザ装置公開鍵、ユーザ装置公開鍵の利用者署名、ユーザ装置乱数Ｒｕを抽出する。セキュアチップ３１は、サーバ装置３０のシステム時刻と、ユーザ装置２０から受信したシステム時刻とが、予め設定された所定の誤差範囲内で一致するかどうか確認する。この時刻が大きくずれている場合には、リプレイ攻撃の可能性がある。
【００５６】
時刻の検証ができた場合（ステップＳ２−４において「ＹＥＳ」の場合）、サーバ装置３０のセキュアチップ３１は、時刻の利用者署名を検証する（ステップＳ２−５）。この場合、セキュアチップ３１は、サーバ装置データ記憶部３２の利用者対応データ３２１から利用者公開鍵を抽出し、このシステム時刻の利用者署名を利用者公開鍵で復号化を行なう。そして、システム時刻の正当性を検証する。
【００５７】
時刻の利用者署名を検証ができた場合（ステップＳ２−５において「ＹＥＳ」の場合）、サーバ装置３０のセキュアチップ３１は、ユーザ装置公開鍵の利用者署名を検証する（ステップＳ２−６）。具体的には、利用者対応データ３２１から抽出した利用者公開鍵を用いて、受信したユーザ装置公開鍵の利用者署名の復号化を行なう。そして、受信したユーザ装置公開鍵と一致するかどうかを検証する。
【００５８】
ユーザ装置の利用者署名を検証できた場合（ステップＳ２−６において「ＹＥＳ」の場合）、サーバ装置３０のセキュアチップ３１は、ユーザ装置公開鍵を取得する（ステップＳ２−７）。
【００５９】
なお、時刻の検証ができない場合（ステップＳ２−４において「ＮＯ」の場合）、サーバ装置３０のセキュアチップ３１は、認証プロトコルを拒否し、処理を終了する（ステップＳ２−８）。また、時刻の利用者署名を検証ができない場合（ステップＳ２−５において「ＮＯ」の場合）、ユーザ装置の利用者署名を検証できない場合（ステップＳ２−６において「ＮＯ」の場合）も同様である。
【００６０】
そして、検証を完了した場合、図７に示すように、サーバ装置３０のセキュアチップ３１は、認証データからユーザ装置乱数Ｒｕを取得する（ステップＳ３−１）。
次に、サーバ装置３０のセキュアチップ３１は、サーバ装置乱数Ｒｓを生成する（ステップＳ３−２）。
【００６１】
次に、サーバ装置３０のセキュアチップ３１は、ユーザ装置公開鍵による暗号化を行なう（ステップＳ３−３）。ここでは、ユーザ装置乱数Ｒｕ及びサーバ装置乱数Ｒｓを、ステップＳ２−７で取得したユーザ装置公開鍵を用いて暗号化を行なう。そして、サーバ装置３０のセキュアチップ３１は、暗号化データをユーザ装置２０に送信する。
【００６２】
ユーザ装置２０のセキュアチップ２１は、受信したユーザ装置乱数を検証する（ステップＳ３−４）。具体的には、セキュアチップ２１は、ユーザ装置データ記憶部２２に格納された基本データ２２０のユーザ装置秘密鍵で、受信したデータを復号化して、ユーザ装置乱数を取り出す。そして、セキュアチップ２１は、受信したユーザ装置乱数と、ステップＳ２−３で送信したユーザ装置乱数Ｒｕと比較することに、乱数の検証を行なう。
【００６３】
両者が一致せず、ユーザ装置乱数Ｒｕを検証できない場合（ステップＳ３−４において「ＮＯ」の場合）、ユーザ装置２０のセキュアチップ２１は、アクセスを拒否し、処理を終了する（ステップＳ３−５）。
【００６４】
一方、両者が一致し、ユーザ装置乱数Ｒｕを検証できた場合（ステップＳ３−４において「ＹＥＳ」の場合）、ユーザ装置２０のセキュアチップ２１は、サーバ装置乱数Ｒｓを
取得する（ステップＳ３−６）。
【００６５】
そして、ユーザ装置２０とサーバ装置３０とは、共通鍵を共有する（ステップＳ３−７）。ここで、ユーザ装置２０のセキュアチップ２１と、サーバ装置３０のセキュアチップ３１とは、ユーザ装置乱数Ｒｕとサーバ装置乱数Ｒｓとの論理積（Ｒｕ∧Ｒｓ）を共通鍵として用いることをそれぞれのＣＰＵに指示する。これにより、ユーザ装置２０とサーバ装置３０とは、共通鍵を用いた暗号化通信を行なう。この共通鍵は、このセッションが終了するまで維持される。
【００６６】
本実施形態によれば、以下のような効果を得ることができる。
・  本実施形態においては、利用者トークンデータ記憶部１２には、接続時刻データ１２３が記録されている。そして、利用者トークン１０は、前回の処理時刻からの進行を確認する（ステップＳ１−３）。悪意を持った第三者が通信内容を傍受して得たパケットを、当事者になりすます「リプレイ攻撃」が行われる場合がある。送信側はパケットを送信するたびに、このシーケンス番号をカウントアップする代わりに、ここでは、接続時刻を用いて妥当性を判定する。すなわち、前回の接続時刻から進んでいなければ、第三者によるリプレイ攻撃の可能性があり、利用者トークン１０に対する攻撃を排除することができる。特に、この検証に用いるシステム時刻は、ユーザ装置２０から提供されるため、利用者トークン１０が時計を持たない実装にも適用できる。
【００６７】
・  本実施形態においては、ユーザ装置２０のセキュアチップ２１は、時刻の利用者署名を検証する（ステップＳ１−８）。ここでは、このシステム時刻の利用者署名を利用者公開鍵で復号化し、ステップＳ１−１で送信したシステム時刻との比較を行なう。これにより、第三者によるユーザ装置２０に対するリプレイ攻撃を排除することができる。
【００６８】
・  本実施形態においては、ユーザ装置２０のセキュアチップ２１は、サーバ装置公開鍵の利用者署名を検証する（ステップＳ１−９）。具体的には、このサーバ装置公開鍵の利用者署名を利用者公開鍵で復号化し、受信したメッセージから抽出したサーバ装置公開鍵と比較する。これにより、サーバ装置公開鍵の正当性を確認し、ユーザ装置２０のセキュアチップ２１は、サーバ装置公開鍵を取得することができる。すなわち、ユーザ装置２０とサーバ装置３０との間でセキュアな関係がない場合であっても、利用者の利用者トークン１０を介して、その関係を構築することができる。すなわち、認証サーバを設けたり、認証機関を利用したりする等のように当事者以外の第三者を介することなく、利用者トークン１０、セキュアチップ（２１、３１）を利用して相互認証を行なうため、簡易かつ効率的に運用することができる。
【００６９】
・  本実施形態においては、ユーザ装置２０のセキュアチップ２１は、サーバ装置３０に認証データを提供する（ステップＳ２−２）。この認証データは、利用者ＩＤ、システム時刻及びシステム時刻の利用者署名、ユーザ装置公開鍵、ユーザ装置公開鍵の利用者署名、ユーザ装置乱数Ｒｕを含む。そして、セキュアチップ３１は、サーバ装置３０のシステム時刻と、ユーザ装置２０から受信したシステム時刻とが、所定の誤差範囲内で一致するかどうかを確認する。所定の誤差範囲を超えた過去の時刻の場合には、以前のデータを偽造している可能性があるため、第三者のリプレイ攻撃を排除することができる。また、本来、ユーザ装置２０やサーバ装置３０のシステム時刻は一致するが、通信時間、利用者トークン１０での処理時間を要することがある。この時間のずれを、誤差範囲により吸収することができる。
【００７０】
・  本実施形態においては、時刻の利用者署名を検証ができた場合、サーバ装置３０のセキュアチップ３１は、ユーザ装置の利用者署名を検証する（ステップＳ２−６）。具体的には、利用者対応データ３２１から抽出した利用者公開鍵を用いて、受信したユーザ装
置公開鍵の利用者署名の復号化を行なう。そして、受信したユーザ装置公開鍵と一致するかどうかを検証する。その結果、サーバ装置３０のセキュアチップ３１は、ユーザ装置公開鍵を取得する（ステップＳ２−７）。サーバ装置３０のセキュアチップ３１は、利用者トークン１０に関する情報を保持しているので、この情報を用いて、ユーザ装置２０に関して信頼できる情報を取得できる。
【００７１】
また、利用者トークン１０、ユーザ装置２０及びサーバ装置３０の三者で相互認証を行なう場合には、それぞれの組み合わせで双方向認証を行なう必要がある。ここでは、利用者トークン１０を介して認証を行なうため、通信パスを減らし、計算機の負荷を軽減することができる。
【００７２】
・  本実施形態においては、ユーザ装置２０のセキュアチップ２１は、ユーザ装置乱数Ｒｕを生成する（ステップＳ２−１）。次に、このユーザ装置乱数Ｒｕを含めたサーバ装置３０に提供する（ステップＳ２−３）。一方、検証を完了した場合、サーバ装置３０のセキュアチップ３１は、認証データからユーザ装置乱数Ｒｕを取得する（ステップＳ３−１）。サーバ装置３０のセキュアチップ３１は、サーバ装置乱数Ｒｓを生成する（ステップＳ３−２）。次に、サーバ装置３０のセキュアチップ３１は、ユーザ装置乱数Ｒｕ及びサーバ装置乱数Ｒｓを、ユーザ装置公開鍵を用いて暗号化し、ユーザ装置２０に送信する。これにより、ユーザ装置２０とサーバ装置３０とは、乱数を共有することができ、この乱数を用いて生成した共通鍵を相互の通信に利用することができる。そして、公開鍵暗号方式より共通鍵暗号方式の方が計算負荷が軽いため、効率的にセキュアな通信を行なうことができる。
【００７３】
なお、上記各実施形態は以下のように変更してもよい。
○  上記実施形態では、セキュアチップ２１は、現在のシステム時刻、ユーザ装置ＩＤ及びサーバ装置ＩＤを、利用者公開鍵で暗号化した暗号化メッセージを生成し、この暗号化メッセージデータを利用者トークン１０に通知する。そして、利用者トークン１０は、前回の処理時刻からの進行を確認する（ステップＳ１−３）。この認証に用いる送信時刻としては、ユーザ装置２０のシステム時刻に限られるものではない。例えば、標準電波に含まれる時刻情報やインターネットを介して配信される時刻情報を用いてもよい。この場合には、送信時にセキュアチップ２１がこれらの時刻情報を取得する。これにより、装置毎の時間のずれを軽減して、より的確にリプレイ攻撃を排除できる。
【００７４】
○  上記実施形態では、利用者トークン１０を介して、ユーザ装置２０とサーバ装置３０との認証を行なったが、認証の対象は、これらに限られるものではない。利用者トークン１０と複数のハードウエアとの間で認証可能な関係にある場合、その関係を用いて、複数のハードウエア間で新たに認証可能な関係を構築することができる。例えば、利用者トークン１０を用いて、キーボードとハードディスクとの認証を行なってもよい。また、利用者トークン１０を用いて、２以上のサーバ間の認証を行なってもよい。
【００７５】
○  上記実施形態では、利用者トークン１０としてＩＣカードを用いたが、これに限られるものではなく、ＵＳＢタイプのトークンなどを用いてもよい。
○  上記実施形態では、利用者トークン１０の利用者トークンデータ記憶部１２には、利用者に関する基本データ１２０、ユーザ装置対応データ１２１、サーバ装置対応データ１２２及び接続時刻データ１２３を記録する。そして、ユーザ装置２０のセキュアチップ２１から認証プロトコルの開始要求があった場合（ステップＳ１−２）、利用者トークン１０は、前回の処理時刻からの進行を確認する（ステップＳ１−３）。これに代えて、利用者トークン１０に内部時計を持たせ、この時刻とユーザ装置２０のシステム時刻とを比較することにより時刻の認証を行なってもよい。これにより、第三者によるリプレイ攻撃を排除することができる。
【００７６】
○  上記実施形態では、サーバ装置３０のセキュアチップ３１は、時刻の検証を行なう（ステップＳ２−４）。具体的には、セキュアチップ３１は、サーバ装置３０のシステム時刻と、ユーザ装置２０から受信したシステム時刻とが、所定の誤差範囲内で一致するかどうか確認する。ここで、誤差範囲は予め設定したが、状況に応じて変更してもよい。例えば、ネットワークの混雑状況や利用者トークン１０毎に応じて、誤差範囲を変更してもよい。例えば、ネットワークの混雑状況に応じて、通信遅延時間に関する情報を取得し、この時間を誤差範囲とする。また、利用者トークン１０の処理速度に応じて、サーバ装置データ記憶部３２に記録された利用者対応データ３２１に、利用者ＩＤに対応させて処理所要時間を記録する。これにより、より的確に時間の検証を行うことができる。
【００７７】
○  上記実施形態では、ユーザ装置データ記憶部２２には、ユーザ装置２０に関する基本データ２２０と利用者対応データ２２１とが記録されている。利用者対応データ２２１は、ユーザ装置公開鍵の利用者署名に関するデータを含んで構成されている。そして、ユーザ装置２０のセキュアチップ２１は、ユーザ装置公開鍵の利用者署名を含む認証データをサーバ装置３０に提供する（ステップＳ２−２）。これに代えて、ステップＳ１−６において、利用者トークン１０が返送する認証データに、ユーザ装置公開鍵の利用者署名を含めてもよい。これにより、ユーザ装置データ記憶部２２の記憶容量を軽減することができる。
【図面の簡単な説明】
【００７８】
【図１】本発明の実施形態のシステム概略図。
【図２】利用者トークンデータ記憶部に記録されたデータの説明図。
【図３】ユーザ装置データ記憶部に記録されたデータの説明図。
【図４】サーバ装置データ記憶部に記録されたデータの説明図。
【図５】本実施形態の処理手順の説明図。
【図６】本実施形態の処理手順の説明図。
【図７】本実施形態の処理手順の説明図。
【符号の説明】
【００７９】
１０…利用者トークン、２０…ユーザ装置、２１…セキュアチップ、２２…ユーザ装置データ記憶部、３０…サーバ装置、３１…セキュアチップ、３２…サーバ装置データ記憶部。
【図１】
2006074487.tif 000003
【図２】
2006074487.tif 000004
【図３】
2006074487.tif 000005
【図４】
2006074487.tif 000006
【図５】
2006074487.tif 000007
【図６】
2006074487.tif 000008
【図７】
2006074487.tif 000009