説明

認証管理方法及び認証管理システム

【課題】 不正アクセスを防止しながら、複数の処理装置を用いて、セキュリティの高い協働処理を実行するための認証管理方法及び認証管理システムを提供する。
【解決手段】 利用者トークン10を保持する利用者が、ユーザ装置20、サーバ装置30を利用する場合、利用者トークン10は、システム時刻を暗号化した利用者署名、サーバ装置公開鍵及びサーバ装置公開鍵の利用者署名をユーザ装置20に提供する。ユーザ装置20のセキュアチップ21は、サーバ装置公開鍵の利用者署名を検証し、サーバ装置公開鍵を取得する。次に、セキュアチップ21は、利用者ID、システム時刻及びシステム時刻の利用者署名、ユーザ装置公開鍵、ユーザ装置公開鍵の利用者署名をサーバ装置30に提供する。サーバ装置30のセキュアチップ31は、ユーザ装置の利用者署名を検証し、ユーザ装置公開鍵を取得し、ユーザ装置20とサーバ装置30との通信を確立する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、不正アクセスを防止しながら、複数の処理装置を用いて、セキュリティの高い協働処理を実行するための認証管理方法及び認証管理システムに関する。
【背景技術】
【0002】
コンピュータの利用環境において、不正アクセスはコンピュータシステムにとって脅威である。特に、認証に対する不正アクセスとしては、いわゆる「なりすまし」に集約され、これについての対処としては利用者認証機能が重要な意味を持つ。
【0003】
コンピュータを用いて個人を認証する方法は多数存在し、多く用いられている方法はIDとパスワードを入力する方法である。この場合、IDやパスワードが漏洩し、他人がなりすました場合には、それを防ぐことはできない。そのため、定期的にあるいは不定期にIDやパスワードを変更することが推奨されているが、手間がかかる場合がある。
【0004】
このため、ICカードやバイオメトリクス認証を用いた個人認証装置も提案されている(例えば、特許文献1参照。)。この個人認証装置では、個人情報とバイオメトリクス情報の格納場所と利用を使い分ける。両情報を格納したICカードから、バイオメトリクス情報を読み出し、個人が直接入力したバイオメトリクス情報を照合して、入力者がICカードの所有者であることを認証する。同時にICカードから個人情報を読み出し、データベースに格納された個人情報と照合してICカードの正当性を認証することで、精度の高い個人認証を実現する。
【0005】
また、電子署名法や電子政府の基盤として、より高度で安全性の高い本人認証手段として、PKI(Public Key Infrastructure )が持つ機能(守秘性、完全性、認証、否認防止)に着目され、各種サービスへの展開が検討されている。PKIにおいては、認証局と呼ばれる機関が利用者に証明書(公開鍵証明書)を発行し、この証明書をベースにして、本人確認可能なセキュリティの基盤を構築するものである。
【0006】
このPKIを用いた電子認証方法も提案されている(例えば、特許文献2参照。)。この電子認証方法では、通信ネットワークに接続することができる端末と、端末に着脱可能な記録媒体とを用いる。第三者認証機関によって付与された認証キーを記録媒体に記録し、この記録媒体を端末に装着し通信ネットワークを介して任意のサイトのサーバと交信する。そして、認証キーを使って本人認証を行なう。本人認証が行なわれたことを条件として端末と任意のサイトとの間で所望のデータ通信を行なう。この本人認証のステップでは、本人が持っている秘密鍵により暗号化した認証キーを、公開鍵を用いて検証する。第三者認証機関によって付与された認証キーを記録して記録媒体を本人確認手段として利用することができる。
【特許文献1】特開2003−228705号公報(第1頁、図1)
【特許文献2】特開2003−115841号公報(第1頁、図2)
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかし、利用者は、複数の装置やハードウエアを用いて作業を行なうことがある。例えば、複数のコンピュータを並行して利用する分散処理を実行する場合がある。このような環境下においては、セキュリティの高い認証方法が望まれる。例えば、認証用のICカードを保持する利用者がサーバ装置を利用する場合、ICカードにより本人認証が行なった後で、クライアントコンピュータ端末は、利用者からのコマンドの入力及び利用者への情
報の表示を行なう。一方、サーバ装置については、直接的な利用者との対面を想定していないため、サーバ装置は、クライアントコンピュータ端末を通じて利用者に利用される。従って、このようなシステムの運用時の利用者認証を考える場合には、利用者(ICカード)/クライアントコンピュータ端末/サーバ装置の3個のエンティティからなる系を対象とする必要がある。すなわち、三者間で、システムの利用者認証として必要十分な機能となるべく、エンティティ間で必要な許可を授受し、運用時において認証を実行するという枠組みを形成する必要がある。
【0008】
さらに、利用者とシステムとの関係において利用者認証とされるものは多くの場合、「システムから見て、利用者は正当であるかどうか」が問題になるが、「正当な利用者が、正当でないシステムを使わされてしまう」ともいうべき内容の事例も少なくない。したがって、利用者からシステムを認証するという視点も重視すべきである。従って、利用者のみならず、装置やハードウエアの「なりすまし」を想定して、複数の装置やハードウエアにおける相互認証技術が必要である。
【0009】
本発明は、上記課題を解決するためになされたものであり、その目的は、不正アクセスを防止しながら、複数の処理装置を用いて、セキュリティの高い協働処理を実行するための認証管理方法及び認証管理システムを提供することにある。
【課題を解決するための手段】
【0010】
上記問題点を解決するために、請求項1に記載の発明は、第1の処理装置の第1公開鍵と第2の処理装置の第2公開鍵とを保持する利用者トークンと、前記利用者トークンの利用者公開鍵を保持する第1の処理装置と、前記利用者トークンの利用者公開鍵を保持する第2の処理装置とを用いて、第1の処理装置と第2の処理装置との協働処理のための認証管理方法であって、前記利用者トークンが、前記第1の処理装置から受信した暗号化データを、前記第1公開鍵を用いて復号化して、前記第1の処理装置を認証する第1の段階と、前記利用者トークンが、保持する前記第2公開鍵を、前記利用者トークンの秘密鍵で生成した電子署名を前記第1の処理装置に提供する第2の段階と、前記第1の処理装置が、前記電子署名を前記利用者公開鍵を用いて復号化して、前記利用者トークンを認証する第3の段階と、前記第1の処理装置が、前記第1公開鍵を前記利用者トークンの秘密鍵で生成した電子署名を取得し、前記第2の処理装置に提供する第4の段階と、前記第2の処理装置が、前記電子署名を前記利用者公開鍵を用いて復号化して、前記第1の処理装置を認証する第5の段階とを含むことを要旨とする。
【0011】
請求項2に記載の発明は、請求項1に記載の認証管理方法において、前記利用者トークンが前記第1の処理装置から受信した暗号化データには、前記第1の処理装置の送信時刻に関するデータを含み、前記第1の段階は、前記利用者トークンが保持する時刻と、前記送信時刻を用いて照合する段階を更に含むことを要旨とする。
【0012】
請求項3に記載の発明は、請求項1又は2に記載の認証管理方法において、前記第2の段階は、前記利用者トークンが取得した時刻を、前記利用者トークンの秘密鍵で暗号化して生成した時刻の利用者署名を生成する段階を更に含み、この時刻の利用者署名を含むデータを前記第1の処理装置に提供することを要旨とする。
【0013】
請求項4に記載の発明は、請求項1〜3のいずれか一つに記載の認証管理方法において、前記第4の段階は、前記時刻の利用者署名を含むデータを前記第2の処理装置に提供することを要旨とする。
【0014】
請求項5に記載の発明は、第1の処理装置の第1公開鍵と第2の処理装置の第2公開鍵とを保持する利用者トークンと、前記利用者トークンの利用者公開鍵を保持する第1の処
理装置と、前記利用者トークンの利用者公開鍵を保持する第2の処理装置とを用いて、第1の処理装置と第2の処理装置との協働処理のための認証管理システムであって、前記利用者トークンが、前記第1の処理装置から受信した暗号化データを、前記第1公開鍵を用いて復号化して、前記第1の処理装置を認証する第1の手段と、前記利用者トークンが、保持する前記第2公開鍵を、前記利用者トークンの秘密鍵で生成した電子署名を前記第1の処理装置に提供する第2の手段と、前記第1の処理装置が、前記電子署名を前記利用者公開鍵を用いて復号化して、前記利用者トークンを認証する第3の手段と、前記第1の処理装置が、前記第1公開鍵を前記利用者トークンの秘密鍵で生成した電子署名を取得し、前記第2の処理装置に提供する第4の手段と、前記第2の処理装置が、前記電子署名を前記利用者公開鍵を用いて復号化して、前記第1の処理装置を認証する第5の手段とを含むことを要旨とする。
【0015】
請求項6に記載の発明は、請求項5に記載の認証管理システムにおいて、前記利用者トークンが前記第1の処理装置から受信した暗号化データには、前記第1の処理装置の送信時刻に関するデータを含み、前記第1の手段は、前記利用者トークンが保持する時刻と、前記送信時刻を用いて照合する段階を更に含むことを要旨とする。
【0016】
請求項7に記載の発明は、請求項5又は6に記載の認証管理システムにおいて、前記第2の手段は、前記利用者トークンが取得した時刻を、前記利用者トークンの秘密鍵で暗号化して生成した時刻の利用者署名を生成する段階を更に含み、この時刻の利用者署名を含むデータを前記第1の処理装置に提供することを要旨とする。
【0017】
請求項8に記載の発明は、請求項5〜7のいずれか一つに記載の認証管理システムにおいて、前記第4の手段は、前記時刻の利用者署名を含むデータを前記第2の処理装置に提供することを要旨とする。
【0018】
(作用)
請求項1又は5に記載の発明によれば、利用者トークンが第1の処理装置を認証し、第1の処理装置が利用者トークンを認証し、そして、利用者トークンから取得した情報に基づいて第1の処理装置が第2の処理装置を特定する、そして、第2の処理装置が第1の処理装置が認証する。これにより、複数の装置での協働処理環境において、利用者トークンを通じて効率的にセキュリティを向上させることができる。すなわち、認証サーバを設けたり、認証機関を利用したりする等のように当事者以外の第三者を介することなく、利用者トークンと各処理装置とを利用して相互認証を行なうため、簡易かつ効率的に運用することができる。
【0019】
請求項2又は6に記載の発明によれば、送信時刻が同じデータを排除することができる。すなわち、暗号化された照合用データをそのまま複製して利用するリプレイ攻撃が行なわれる場合がある。送信時刻が同じデータを排除することにより、利用者トークンに対するリプレイ攻撃を排除することができる。
【0020】
請求項3又は7に記載の発明によれば、時刻が同じデータを排除することができる。これにより、第1の処理装置に対するリプレイ攻撃を排除することができる。
請求項4又は8に記載の発明によれば、時刻が同じデータを排除することができる。これにより、第2の処理装置に対するリプレイ攻撃を排除することができる。
【発明の効果】
【0021】
本発明によれば、不正アクセスを防止しながら、複数の処理装置を用いて、セキュリティの高い協働処理を効率的に実行することができる。
【発明を実施するための最良の形態】
【0022】
以下、本発明を具体化した一実施形態を、図1〜図7に従って説明する。本実施形態では、利用者はデータ保護システムを利用するにあたり、システムを構成する安全な装置として、ユーザ装置とサーバ装置とを任意に選択して、装置管理者に対して利用申請を行なう。装置管理者が許可する場合には、後述するように利用者に渡された利用者トークン及び各装置に装着されるセキュアチップに対して利用者登録のための手続を行う。
【0023】
図1に示すように、本実施形態では、このデータ保護システムは、第1の処理装置としてのユーザ装置20と、第2の処理装置としてのサーバ装置30とから構成されている。そして、利用者は、ユーザ装置20からサーバ装置30にアクセスする場合を想定する。
【0024】
ユーザ装置20は直接に利用者と対面するローカルな環境にあり、物理的な入出力の装備を以って、利用者からのコマンドの入力および利用者への情報の表示を行なう。一方、サーバ装置30については、ローカル環境・ネットワーク環境を問わず、直接的な利用者との対面は想定していない。以下の実施形態では、サーバ装置30は、ユーザ装置20を通じて、ネットワーク環境によって利用者に利用されるものとする。
【0025】
サーバ装置30はユーザデータの安全な保存を目的とし、またユーザ装置20は利用者の傍らにあって、安全なサーバ装置からのメッセージを利用者に提供すると共に、利用者の意思をサーバ装置30に伝える。
【0026】
この場合、図1に示すように、利用者は、利用者トークン10を用いる。本実施形態では、この利用者トークン10として、CPUやメモリ(データ記憶部)を備えたICカードを用いる。
【0027】
利用者トークン10は、後述する処理(第1の段階、第2の段階等を含む処理)を行なう。このための認証管理プログラムを実行することにより、利用者トークン10は、第1の手段、第2の手段等として機能する。
【0028】
この利用者トークン10はICチップを備え、このICチップは、CPUとメモリとから構成される。このメモリには、利用者トークンデータ記憶部12を備える。
図2に示すように、利用者トークンデータ記憶部12には、利用者に関する基本データ120、ユーザ装置対応データ121、サーバ装置対応データ122及び接続時刻データ123が記録される。この基本データ120は、利用者に利用者トークン10を提供する場合に記録される。ユーザ装置対応データ121、サーバ装置対応データ122は、ユーザ装置、サーバ装置の利用申請を行ない、許可された場合に記録される。なお、ユーザ装置対応データ121やサーバ装置対応データ122は、利用者の登録申請に応じて、複数の記録が可能である。
【0029】
基本データ120は、利用者装置ID、利用者装置秘密鍵、利用者装置公開鍵に関するデータを含んで構成される。利用者IDデータ領域には、利用者を特定するための識別子に関するデータが記録される。利用者秘密鍵データ領域、利用者公開鍵データ領域には、それぞれ利用者の秘密鍵、公開鍵に関するデータが記録される。
【0030】
一方、ユーザ装置対応データ121は、ユーザ装置ID、第1公開鍵としてのユーザ装置公開鍵に関するデータを含んで構成される。ユーザ装置IDデータ領域には、ユーザ装置を特定するための識別子に関するデータが記録される。ユーザ装置公開鍵データ領域には、ユーザ装置の公開鍵に関するデータが記録される。
【0031】
更に、サーバ装置対応データ122は、サーバ装置ID、第2公開鍵としてのサーバ装
置公開鍵に関するデータを含んで構成される。サーバ装置IDデータ領域には、サーバ装置を特定するための識別子に関するデータが記録される。サーバ装置公開鍵データ領域には、サーバ装置の公開鍵に関するデータが記録される。
【0032】
更に、接続時刻データ123は、認証プロトコルの開始時に受信したシステム時刻に関するデータが記録される。
利用者トークン10を利用する場合には、利用者トークン10をユーザ装置20のカードリーダライタ装置15に挿入する。このユーザ装置20は、CPUを備え、ユーザが利用な可能なクライアントコンピュータ端末である。
【0033】
このユーザ装置20にはセキュアチップ21が装着される。このセキュアチップ21は、演算処理部とメモリとから構成され、後述する処理(第3の段階、第4の段階等を含む処理)を行なう。このための認証管理プログラムを実行することにより、セキュアチップ21は、第3の手段、第4の手段等として機能する。セキュアチップ21は、図1に示すように、ユーザ装置データ記憶部22を備える。
【0034】
図3に示すように、ユーザ装置データ記憶部22には、ユーザ装置20に関する基本データ220と利用者対応データ221とが記録される。この基本データ220は、予めセキュアチップ21に記録しておく。利用者対応データ221は、利用者が、このユーザ装置20の利用申請を行ない、許可された場合に記録される。なお、利用者対応データ221は、利用者の登録申請に応じて、複数の記録が可能である。
【0035】
基本データ220は、ユーザ装置ID、ユーザ装置秘密鍵、ユーザ装置公開鍵に関するデータを含んで構成されている。ユーザ装置IDデータ領域には、ユーザ装置を特定するための識別子に関するデータが記録される。ユーザ装置秘密鍵データ領域、ユーザ装置公開鍵データ領域には、それぞれユーザ装置の秘密鍵、公開鍵に関するデータが記録される。
【0036】
一方、利用者対応データ221は、利用者ID、利用者公開鍵、ユーザ装置公開鍵の利用者署名に関するデータを含んで構成される。利用者装置IDデータ領域には、利用者を特定するための識別子に関するデータが記録される。利用者公開鍵データ領域には、利用者の公開鍵に関するデータが記録される。ユーザ装置公開鍵の利用者署名データ領域には、ユーザ装置公開鍵の利用者署名に関するデータが記録される。
【0037】
サーバ装置30はCPUを備えるコンピュータサーバである。そして、サーバ装置30にはセキュアチップ31が装着される。このセキュアチップ31は、演算処理部とメモリとから構成され、後述する処理(第5の段階を含む処理)を行なう。このための認証管理プログラムを実行することにより、セキュアチップ31は、第5の手段として機能する。
【0038】
セキュアチップ31はサーバ装置データ記憶部32を備える。このサーバ装置データ記憶部32には、図4に示すように、サーバ装置30に関する基本データ320と利用者対応データ321とが記録される。この基本データ320は、予めセキュアチップ31に記録しておく。利用者対応データ321は、利用者が、このサーバ装置30の利用申請を行ない、許可された場合に記録される。なお、利用者対応データ321は、利用者の登録申請に応じて、複数の記録が可能である。
【0039】
基本データ320は、サーバ装置ID、サーバ装置秘密鍵、サーバ装置公開鍵に関するデータを含んで構成されている。サーバ装置IDデータ領域には、サーバ装置を特定するための識別子に関するデータが記録される。サーバ装置秘密鍵データ領域、サーバ装置公開鍵データ領域には、それぞれユーザ装置の秘密鍵、公開鍵に関するデータが記録される

【0040】
一方、利用者対応データ321は、利用者ID、利用者公開鍵に関するデータを含んで構成されている。利用者装置IDデータ領域には、利用者を特定するための識別子に関するデータが記録される。利用者公開鍵データ領域には、利用者の公開鍵に関するデータが記録される。
【0041】
上記のように構成されたシステムにおいて、利用者トークン10を保有する利用者が、ユーザ装置20、サーバ装置30を利用する場合の処理手順を説明する。この処理を、図5〜図7に従って説明する。
【0042】
まず、図5に示すように、利用者トークン10は、ユーザ装置20の利用要求を行なう(ステップS1−1)。この利用要求では、利用者が利用を希望するユーザ装置、サーバ装置を指定する。この場合、まず、利用者は、利用を希望するユーザ装置20のカードリーダライタ装置15に利用者トークン10を挿入する。この場合、利用者トークン10は、ユーザ装置20に利用者IDを提供し、ユーザ装置20は、この利用者トークン10を保持する利用者の利用要求を認識する。更に、利用者は、ユーザ装置20に対して利用を希望するサーバ装置30のサーバ装置IDを入力する。
【0043】
この利用要求を受けたユーザ装置20のセキュアチップ21は、利用者トークン10に対して認証プロトコルの開始要求を行なう(ステップS1−2)。ここでは、セキュアチップ21は、利用者IDに基づいてユーザ装置データ記憶部22から利用者公開鍵を抽出する。そして、セキュアチップ21は、送信時刻として現在のシステム時刻を取得し、このシステム時刻、ユーザ装置ID及びサーバ装置IDを、利用者公開鍵で暗号化した暗号化メッセージを生成し、この暗号化メッセージデータを利用者トークン10に通知する。この暗号化は、正当な利用者トークン10以外を排除することを意図している。
【0044】
利用者トークン10は、前回の処理時刻からの進行を確認する(ステップS1−3)。具体的には、利用者トークン10はユーザ装置20からのメッセージを復号化し、ユーザ装置20のシステム時刻を抽出する。ここでは、利用者トークンデータ記憶部12に記録されている接続時刻データ123と、メッセージから復号化したシステム時刻とを比較して前回の接続時から進んでいるかどうかの判定し、妥当性を判定する。これは第三者によるリプレイ攻撃を排除することを意図している。
【0045】
処理時刻からの進行を確認できない場合(ステップS1−3の「NO」の場合)、利用者トークン10は、認証プロトコルを拒否し、処理を終了する(ステップS1−4)。
一方、処理時刻からの進行を確認できた場合(ステップS1−3の「YES」の場合)、利用者トークン10は、利用者トークンデータ記憶部12に記録されている接続時刻データ123を受信したシステム時刻に更新し、ユーザ装置20及びサーバ装置30の公開鍵を抽出する(ステップS1−5)。ここでは、利用者トークン10は、ユーザ装置20から受信したメッセージから抽出したユーザ装置ID、サーバ装置IDに対応する公開鍵を利用者トークンデータ記憶部12から抽出する。
【0046】
利用者トークン10は、認証データを返信する(ステップS1−6)。具体的には、利用者トークン10は、基本データ120に含まれる利用者装置秘密鍵を用いて、ユーザ装置20から受信したシステム時刻を暗号化した利用者署名を生成する。更に、利用者トークン10は、サーバ装置対応データ122からサーバ装置公開鍵を抽出して、利用者秘密鍵で利用者署名を生成する。そして、システム時刻を暗号化した利用者署名、サーバ装置公開鍵及びサーバ装置公開鍵の利用者署名を含めた認証データを生成する。そして、利用者トークン10は、この認証データをユーザ装置公開鍵により暗号化したメッセージを生
成する。この暗号化は正当なユーザ装置以外を排除することを意図している。そして、利用者トークン10は、このメッセージをユーザ装置20に送信する。
【0047】
ユーザ装置20のセキュアチップ21は、利用者公開鍵を抽出する(ステップS1−7)。具体的には、セキュアチップ21は、利用者IDに基づいてユーザ装置データ記憶部22の利用者対応データ221から利用者公開鍵を抽出する。
【0048】
次に、ユーザ装置20のセキュアチップ21は、時刻の利用者署名を検証する(ステップS1−8)。ここでは、セキュアチップ21は、受信したメッセージを、ユーザ装置秘密鍵で復号化し、システム時刻の利用者署名、サーバ装置公開鍵及びサーバ装置公開鍵の利用者署名を抽出する。そして、このシステム時刻の利用者署名を利用者公開鍵で復号化し、ステップS1−1で送信したシステム時刻との比較を行なう。
【0049】
時刻の利用者署名を検証できた場合(ステップS1−8の「YES」の場合)、ユーザ装置20のセキュアチップ21は、サーバ装置公開鍵の利用者署名を検証する(ステップS1−9)。具体的には、このサーバ装置公開鍵の利用者署名を利用者公開鍵で復号化し、受信したメッセージから抽出したサーバ装置公開鍵と比較する。これにより、サーバ装置公開鍵の正当性を確認することができる。
【0050】
サーバ装置の利用者署名を検証できた場合(ステップS1−9の「YES」の場合)、ユーザ装置20のセキュアチップ21は、サーバ装置公開鍵を取得する(ステップS1−10)。
【0051】
なお、時刻の利用者署名を検証できない場合(ステップS1−8の「NO」の場合)や、サーバ装置の利用者署名を検証できない場合(ステップS1−9の「NO」の場合)、ユーザ装置20のセキュアチップ21は、認証プロトコルを拒否し、処理を終了する(ステップS1−11)。
【0052】
次に、図6に示すように、ユーザ装置20のセキュアチップ21は、ユーザ装置乱数Ruを生成する(ステップS2−1)。
そして、ユーザ装置20のセキュアチップ21は、サーバ装置30に認証データを提供する(ステップS2−2)。具体的には、セキュアチップ21は、ユーザ装置公開鍵、ユーザ装置公開鍵の利用者署名を、それぞれ基本データ220と利用者対応データ221とから抽出する。そして、セキュアチップ21は、利用者ID、システム時刻及びシステム時刻の利用者署名、ユーザ装置公開鍵、ユーザ装置公開鍵の利用者署名、ユーザ装置乱数Ruを含む認証データを生成する。ここで、システム時刻及びシステム時刻の利用者署名は、利用者トークン10から受信したデータを用いる。また、ユーザ装置乱数Ruは、ステップS2−1で生成したデータを用いる。
【0053】
そして、セキュアチップ21は、利用者トークン10は、この認証データを、ステップS1−10で取得したサーバ装置公開鍵を用いて暗号化したメッセージを生成する。この暗号化は正当なサーバ装置以外を排除することを意図している。そして、セキュアチップ21は、このメッセージをサーバ装置30に送信する。
【0054】
サーバ装置30のセキュアチップ31は、利用者IDに基づいて、利用者公開鍵を抽出する(ステップS2−3)。具体的には、セキュアチップ31は、利用者IDに基づいてサーバ装置データ記憶部32の利用者対応データ321から利用者公開鍵を抽出する。
【0055】
サーバ装置30のセキュアチップ31は、時刻の検証を行なう(ステップS2−4)。ここでは、セキュアチップ31は、受信したメッセージを、サーバ装置秘密鍵で復号化し
、利用者ID、システム時刻及びシステム時刻の利用者署名、ユーザ装置公開鍵、ユーザ装置公開鍵の利用者署名、ユーザ装置乱数Ruを抽出する。セキュアチップ31は、サーバ装置30のシステム時刻と、ユーザ装置20から受信したシステム時刻とが、予め設定された所定の誤差範囲内で一致するかどうか確認する。この時刻が大きくずれている場合には、リプレイ攻撃の可能性がある。
【0056】
時刻の検証ができた場合(ステップS2−4において「YES」の場合)、サーバ装置30のセキュアチップ31は、時刻の利用者署名を検証する(ステップS2−5)。この場合、セキュアチップ31は、サーバ装置データ記憶部32の利用者対応データ321から利用者公開鍵を抽出し、このシステム時刻の利用者署名を利用者公開鍵で復号化を行なう。そして、システム時刻の正当性を検証する。
【0057】
時刻の利用者署名を検証ができた場合(ステップS2−5において「YES」の場合)、サーバ装置30のセキュアチップ31は、ユーザ装置公開鍵の利用者署名を検証する(ステップS2−6)。具体的には、利用者対応データ321から抽出した利用者公開鍵を用いて、受信したユーザ装置公開鍵の利用者署名の復号化を行なう。そして、受信したユーザ装置公開鍵と一致するかどうかを検証する。
【0058】
ユーザ装置の利用者署名を検証できた場合(ステップS2−6において「YES」の場合)、サーバ装置30のセキュアチップ31は、ユーザ装置公開鍵を取得する(ステップS2−7)。
【0059】
なお、時刻の検証ができない場合(ステップS2−4において「NO」の場合)、サーバ装置30のセキュアチップ31は、認証プロトコルを拒否し、処理を終了する(ステップS2−8)。また、時刻の利用者署名を検証ができない場合(ステップS2−5において「NO」の場合)、ユーザ装置の利用者署名を検証できない場合(ステップS2−6において「NO」の場合)も同様である。
【0060】
そして、検証を完了した場合、図7に示すように、サーバ装置30のセキュアチップ31は、認証データからユーザ装置乱数Ruを取得する(ステップS3−1)。
次に、サーバ装置30のセキュアチップ31は、サーバ装置乱数Rsを生成する(ステップS3−2)。
【0061】
次に、サーバ装置30のセキュアチップ31は、ユーザ装置公開鍵による暗号化を行なう(ステップS3−3)。ここでは、ユーザ装置乱数Ru及びサーバ装置乱数Rsを、ステップS2−7で取得したユーザ装置公開鍵を用いて暗号化を行なう。そして、サーバ装置30のセキュアチップ31は、暗号化データをユーザ装置20に送信する。
【0062】
ユーザ装置20のセキュアチップ21は、受信したユーザ装置乱数を検証する(ステップS3−4)。具体的には、セキュアチップ21は、ユーザ装置データ記憶部22に格納された基本データ220のユーザ装置秘密鍵で、受信したデータを復号化して、ユーザ装置乱数を取り出す。そして、セキュアチップ21は、受信したユーザ装置乱数と、ステップS2−3で送信したユーザ装置乱数Ruと比較することに、乱数の検証を行なう。
【0063】
両者が一致せず、ユーザ装置乱数Ruを検証できない場合(ステップS3−4において「NO」の場合)、ユーザ装置20のセキュアチップ21は、アクセスを拒否し、処理を終了する(ステップS3−5)。
【0064】
一方、両者が一致し、ユーザ装置乱数Ruを検証できた場合(ステップS3−4において「YES」の場合)、ユーザ装置20のセキュアチップ21は、サーバ装置乱数Rsを
取得する(ステップS3−6)。
【0065】
そして、ユーザ装置20とサーバ装置30とは、共通鍵を共有する(ステップS3−7)。ここで、ユーザ装置20のセキュアチップ21と、サーバ装置30のセキュアチップ31とは、ユーザ装置乱数Ruとサーバ装置乱数Rsとの論理積(Ru∧Rs)を共通鍵として用いることをそれぞれのCPUに指示する。これにより、ユーザ装置20とサーバ装置30とは、共通鍵を用いた暗号化通信を行なう。この共通鍵は、このセッションが終了するまで維持される。
【0066】
本実施形態によれば、以下のような効果を得ることができる。
・ 本実施形態においては、利用者トークンデータ記憶部12には、接続時刻データ123が記録されている。そして、利用者トークン10は、前回の処理時刻からの進行を確認する(ステップS1−3)。悪意を持った第三者が通信内容を傍受して得たパケットを、当事者になりすます「リプレイ攻撃」が行われる場合がある。送信側はパケットを送信するたびに、このシーケンス番号をカウントアップする代わりに、ここでは、接続時刻を用いて妥当性を判定する。すなわち、前回の接続時刻から進んでいなければ、第三者によるリプレイ攻撃の可能性があり、利用者トークン10に対する攻撃を排除することができる。特に、この検証に用いるシステム時刻は、ユーザ装置20から提供されるため、利用者トークン10が時計を持たない実装にも適用できる。
【0067】
・ 本実施形態においては、ユーザ装置20のセキュアチップ21は、時刻の利用者署名を検証する(ステップS1−8)。ここでは、このシステム時刻の利用者署名を利用者公開鍵で復号化し、ステップS1−1で送信したシステム時刻との比較を行なう。これにより、第三者によるユーザ装置20に対するリプレイ攻撃を排除することができる。
【0068】
・ 本実施形態においては、ユーザ装置20のセキュアチップ21は、サーバ装置公開鍵の利用者署名を検証する(ステップS1−9)。具体的には、このサーバ装置公開鍵の利用者署名を利用者公開鍵で復号化し、受信したメッセージから抽出したサーバ装置公開鍵と比較する。これにより、サーバ装置公開鍵の正当性を確認し、ユーザ装置20のセキュアチップ21は、サーバ装置公開鍵を取得することができる。すなわち、ユーザ装置20とサーバ装置30との間でセキュアな関係がない場合であっても、利用者の利用者トークン10を介して、その関係を構築することができる。すなわち、認証サーバを設けたり、認証機関を利用したりする等のように当事者以外の第三者を介することなく、利用者トークン10、セキュアチップ(21、31)を利用して相互認証を行なうため、簡易かつ効率的に運用することができる。
【0069】
・ 本実施形態においては、ユーザ装置20のセキュアチップ21は、サーバ装置30に認証データを提供する(ステップS2−2)。この認証データは、利用者ID、システム時刻及びシステム時刻の利用者署名、ユーザ装置公開鍵、ユーザ装置公開鍵の利用者署名、ユーザ装置乱数Ruを含む。そして、セキュアチップ31は、サーバ装置30のシステム時刻と、ユーザ装置20から受信したシステム時刻とが、所定の誤差範囲内で一致するかどうかを確認する。所定の誤差範囲を超えた過去の時刻の場合には、以前のデータを偽造している可能性があるため、第三者のリプレイ攻撃を排除することができる。また、本来、ユーザ装置20やサーバ装置30のシステム時刻は一致するが、通信時間、利用者トークン10での処理時間を要することがある。この時間のずれを、誤差範囲により吸収することができる。
【0070】
・ 本実施形態においては、時刻の利用者署名を検証ができた場合、サーバ装置30のセキュアチップ31は、ユーザ装置の利用者署名を検証する(ステップS2−6)。具体的には、利用者対応データ321から抽出した利用者公開鍵を用いて、受信したユーザ装
置公開鍵の利用者署名の復号化を行なう。そして、受信したユーザ装置公開鍵と一致するかどうかを検証する。その結果、サーバ装置30のセキュアチップ31は、ユーザ装置公開鍵を取得する(ステップS2−7)。サーバ装置30のセキュアチップ31は、利用者トークン10に関する情報を保持しているので、この情報を用いて、ユーザ装置20に関して信頼できる情報を取得できる。
【0071】
また、利用者トークン10、ユーザ装置20及びサーバ装置30の三者で相互認証を行なう場合には、それぞれの組み合わせで双方向認証を行なう必要がある。ここでは、利用者トークン10を介して認証を行なうため、通信パスを減らし、計算機の負荷を軽減することができる。
【0072】
・ 本実施形態においては、ユーザ装置20のセキュアチップ21は、ユーザ装置乱数Ruを生成する(ステップS2−1)。次に、このユーザ装置乱数Ruを含めたサーバ装置30に提供する(ステップS2−3)。一方、検証を完了した場合、サーバ装置30のセキュアチップ31は、認証データからユーザ装置乱数Ruを取得する(ステップS3−1)。サーバ装置30のセキュアチップ31は、サーバ装置乱数Rsを生成する(ステップS3−2)。次に、サーバ装置30のセキュアチップ31は、ユーザ装置乱数Ru及びサーバ装置乱数Rsを、ユーザ装置公開鍵を用いて暗号化し、ユーザ装置20に送信する。これにより、ユーザ装置20とサーバ装置30とは、乱数を共有することができ、この乱数を用いて生成した共通鍵を相互の通信に利用することができる。そして、公開鍵暗号方式より共通鍵暗号方式の方が計算負荷が軽いため、効率的にセキュアな通信を行なうことができる。
【0073】
なお、上記各実施形態は以下のように変更してもよい。
○ 上記実施形態では、セキュアチップ21は、現在のシステム時刻、ユーザ装置ID及びサーバ装置IDを、利用者公開鍵で暗号化した暗号化メッセージを生成し、この暗号化メッセージデータを利用者トークン10に通知する。そして、利用者トークン10は、前回の処理時刻からの進行を確認する(ステップS1−3)。この認証に用いる送信時刻としては、ユーザ装置20のシステム時刻に限られるものではない。例えば、標準電波に含まれる時刻情報やインターネットを介して配信される時刻情報を用いてもよい。この場合には、送信時にセキュアチップ21がこれらの時刻情報を取得する。これにより、装置毎の時間のずれを軽減して、より的確にリプレイ攻撃を排除できる。
【0074】
○ 上記実施形態では、利用者トークン10を介して、ユーザ装置20とサーバ装置30との認証を行なったが、認証の対象は、これらに限られるものではない。利用者トークン10と複数のハードウエアとの間で認証可能な関係にある場合、その関係を用いて、複数のハードウエア間で新たに認証可能な関係を構築することができる。例えば、利用者トークン10を用いて、キーボードとハードディスクとの認証を行なってもよい。また、利用者トークン10を用いて、2以上のサーバ間の認証を行なってもよい。
【0075】
○ 上記実施形態では、利用者トークン10としてICカードを用いたが、これに限られるものではなく、USBタイプのトークンなどを用いてもよい。
○ 上記実施形態では、利用者トークン10の利用者トークンデータ記憶部12には、利用者に関する基本データ120、ユーザ装置対応データ121、サーバ装置対応データ122及び接続時刻データ123を記録する。そして、ユーザ装置20のセキュアチップ21から認証プロトコルの開始要求があった場合(ステップS1−2)、利用者トークン10は、前回の処理時刻からの進行を確認する(ステップS1−3)。これに代えて、利用者トークン10に内部時計を持たせ、この時刻とユーザ装置20のシステム時刻とを比較することにより時刻の認証を行なってもよい。これにより、第三者によるリプレイ攻撃を排除することができる。
【0076】
○ 上記実施形態では、サーバ装置30のセキュアチップ31は、時刻の検証を行なう(ステップS2−4)。具体的には、セキュアチップ31は、サーバ装置30のシステム時刻と、ユーザ装置20から受信したシステム時刻とが、所定の誤差範囲内で一致するかどうか確認する。ここで、誤差範囲は予め設定したが、状況に応じて変更してもよい。例えば、ネットワークの混雑状況や利用者トークン10毎に応じて、誤差範囲を変更してもよい。例えば、ネットワークの混雑状況に応じて、通信遅延時間に関する情報を取得し、この時間を誤差範囲とする。また、利用者トークン10の処理速度に応じて、サーバ装置データ記憶部32に記録された利用者対応データ321に、利用者IDに対応させて処理所要時間を記録する。これにより、より的確に時間の検証を行うことができる。
【0077】
○ 上記実施形態では、ユーザ装置データ記憶部22には、ユーザ装置20に関する基本データ220と利用者対応データ221とが記録されている。利用者対応データ221は、ユーザ装置公開鍵の利用者署名に関するデータを含んで構成されている。そして、ユーザ装置20のセキュアチップ21は、ユーザ装置公開鍵の利用者署名を含む認証データをサーバ装置30に提供する(ステップS2−2)。これに代えて、ステップS1−6において、利用者トークン10が返送する認証データに、ユーザ装置公開鍵の利用者署名を含めてもよい。これにより、ユーザ装置データ記憶部22の記憶容量を軽減することができる。
【図面の簡単な説明】
【0078】
【図1】本発明の実施形態のシステム概略図。
【図2】利用者トークンデータ記憶部に記録されたデータの説明図。
【図3】ユーザ装置データ記憶部に記録されたデータの説明図。
【図4】サーバ装置データ記憶部に記録されたデータの説明図。
【図5】本実施形態の処理手順の説明図。
【図6】本実施形態の処理手順の説明図。
【図7】本実施形態の処理手順の説明図。
【符号の説明】
【0079】
10…利用者トークン、20…ユーザ装置、21…セキュアチップ、22…ユーザ装置データ記憶部、30…サーバ装置、31…セキュアチップ、32…サーバ装置データ記憶部。

【特許請求の範囲】
【請求項1】
第1の処理装置の第1公開鍵と第2の処理装置の第2公開鍵とを保持する利用者トークンと、前記利用者トークンの利用者公開鍵を保持する第1の処理装置と、前記利用者トークンの利用者公開鍵を保持する第2の処理装置とを用いて、第1の処理装置と第2の処理装置との協働処理のための認証管理方法であって、
前記利用者トークンが、前記第1の処理装置から受信した暗号化データを、前記第1公開鍵を用いて復号化して、前記第1の処理装置を認証する第1の段階と、
前記利用者トークンが、保持する前記第2公開鍵を、前記利用者トークンの秘密鍵で生成した電子署名を前記第1の処理装置に提供する第2の段階と、
前記第1の処理装置が、前記電子署名を前記利用者公開鍵を用いて復号化して、前記利用者トークンを認証する第3の段階と、
前記第1の処理装置が、前記第1公開鍵を前記利用者トークンの秘密鍵で生成した電子署名を取得し、前記第2の処理装置に提供する第4の段階と、
前記第2の処理装置が、前記電子署名を前記利用者公開鍵を用いて復号化して、前記第1の処理装置を認証する第5の段階と
を含むことを特徴とする認証管理方法。
【請求項2】
前記利用者トークンが前記第1の処理装置から受信した暗号化データには、前記第1の処理装置の送信時刻に関するデータを含み、
前記第1の段階は、前記利用者トークンが保持する時刻と、前記送信時刻を用いて照合する段階を更に含むことを特徴とする請求項1に記載の認証管理方法。
【請求項3】
前記第2の段階は、前記利用者トークンが取得した時刻を、前記利用者トークンの秘密鍵で暗号化して生成した時刻の利用者署名を生成する段階を更に含み、
この時刻の利用者署名を含むデータを前記第1の処理装置に提供することを特徴とする請求項1又は2に記載の認証管理方法。
【請求項4】
前記第4の段階は、前記時刻の利用者署名を含むデータを前記第2の処理装置に提供することを特徴とする請求項1〜3のいずれか一つに記載の認証管理方法。
【請求項5】
第1の処理装置の第1公開鍵と第2の処理装置の第2公開鍵とを保持する利用者トークンと、前記利用者トークンの利用者公開鍵を保持する第1の処理装置と、前記利用者トークンの利用者公開鍵を保持する第2の処理装置とを用いて、第1の処理装置と第2の処理装置との協働処理のための認証管理システムであって、
前記利用者トークンが、前記第1の処理装置から受信した暗号化データを、前記第1公開鍵を用いて復号化して、前記第1の処理装置を認証する第1の手段と、
前記利用者トークンが、保持する前記第2公開鍵を、前記利用者トークンの秘密鍵で生成した電子署名を前記第1の処理装置に提供する第2の手段と、
前記第1の処理装置が、前記電子署名を前記利用者公開鍵を用いて復号化して、前記利用者トークンを認証する第3の手段と、
前記第1の処理装置が、前記第1公開鍵を前記利用者トークンの秘密鍵で生成した電子署名を取得し、前記第2の処理装置に提供する第4の手段と、
前記第2の処理装置が、前記電子署名を前記利用者公開鍵を用いて復号化して、前記第1の処理装置を認証する第5の手段と
を含むことを特徴とする認証管理システム。
【請求項6】
前記利用者トークンが前記第1の処理装置から受信した暗号化データには、前記第1の処理装置の送信時刻に関するデータを含み、
前記第1の手段は、前記利用者トークンが保持する時刻と、前記送信時刻を用いて照合
する段階を更に含むことを特徴とする請求項5に記載の認証管理システム。
【請求項7】
前記第2の手段は、前記利用者トークンが取得した時刻を、前記利用者トークンの秘密鍵で暗号化して生成した時刻の利用者署名を生成する段階を更に含み、
この時刻の利用者署名を含むデータを前記第1の処理装置に提供することを特徴とする請求項5又は6に記載の認証管理システム。
【請求項8】
前記第4の手段は、前記時刻の利用者署名を含むデータを前記第2の処理装置に提供することを特徴とする請求項5〜7のいずれか一つに記載の認証管理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2006−74487(P2006−74487A)
【公開日】平成18年3月16日(2006.3.16)
【国際特許分類】
【出願番号】特願2004−255990(P2004−255990)
【出願日】平成16年9月2日(2004.9.2)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成15年度、通信・放送機構、情報セキュリティ高度化のためのデータ保護技術に関する研究開発、産業再生法第30条の適用を受ける特許出願
【出願人】(592131906)みずほ情報総研株式会社 (187)
【Fターム(参考)】