JP2000339270A - ユーザ相互認証システム、ユーザ相互認証方法、および記録媒体 - Google Patents

ユーザ相互認証システム、ユーザ相互認証方法、および記録媒体

Info

Publication number
JP2000339270A
JP2000339270A JP11146878A JP14687899A JP2000339270A JP 2000339270 A JP2000339270 A JP 2000339270A JP 11146878 A JP11146878 A JP 11146878A JP 14687899 A JP14687899 A JP 14687899A JP 2000339270 A JP2000339270 A JP 2000339270A
Authority
JP
Japan
Prior art keywords
authentication
random number
token
server
common key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP11146878A
Other languages
English (en)
Other versions
JP3498008B2 (ja
Inventor
Masatsugu Tashiro
賢嗣 田代
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Solution Innovators Ltd
Original Assignee
NEC Software Kyushu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Software Kyushu Ltd filed Critical NEC Software Kyushu Ltd
Priority to JP14687899A priority Critical patent/JP3498008B2/ja
Publication of JP2000339270A publication Critical patent/JP2000339270A/ja
Application granted granted Critical
Publication of JP3498008B2 publication Critical patent/JP3498008B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 ユーザ認証において、性能に影響を与えずに
信頼度を向上させる。 【解決手段】 クライアント1は、2回目以降認証開始
トークンをサーバ2へ送信する。サーバ2は、認証情報
キャッシュ生成・更新手段26で、認証情報キャッシュ
テーブル21内の情報を更新する。すなわち、乱数R1
を次回の認証確認で使用する共通鍵を生成するための種
となる乱数R4に、乱数R2を次回の認証確認で使用す
る乱数R3に、共通鍵を次回の認証確認で使用する新共
通鍵に、それぞれ更新する。クライアント1は、認証応
答トークン受信手段14で、サーバ2から認証応答トー
クンを受信し、乱数R3と乱数R4とに基づいて次回の
認証確認で使用する新共通鍵を生成し、認証情報キャッ
シュテーブル11内の情報を更新する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、暗号的手法を用い
たユーザ相互認証システム、ユーザ相互認証方法、記録
媒体に関し、特に、インターネットあるいはイントラネ
ットを介してクライアントとサーバとが接続されたクラ
イアント・サーバシステムにおけるユーザ相互認証シス
テム、ユーザ相互認証方法、および記録媒体に関する。
【0002】
【従来の技術】インターネットあるいはイントラネット
を介したクライアント・サーバシステムにおいて、クラ
イアントとサーバ間の暗号を用いたユーザ相互認証を高
速化する従来技術は、たとえば、以下のようである。
【0003】クライアントからサーバへの最初の接続
時、互いに相手の公開鍵を使って相互に認証用の乱数お
よび共通鍵情報を暗号化して交換することで相互認証を
行うとともに以後の通信でどのような認証用の乱数およ
び共通鍵を使用するかを両者で取り決める。また、前記
認証用の乱数および共通鍵をクライアントおよびサーバ
側の記憶手段で記憶する。2回目以降の同一クライアン
トとサーバ間の接続時、記憶してある認証用の乱数を共
通鍵で暗号化して交換することにより同一相手であるか
否かを相互に認証する。
【0004】
【発明が解決しようとする課題】上述した従来の技術の
問題点は、共通鍵が更新されないので、2回目以降の同
一クライアントとサーバ間の接続には同一の共通鍵が使
用され続け、同一の共通鍵が長期に使用され続けること
になり、共通鍵が盗聴(解読)される可能性が高くなる
ことである。
【0005】本発明の目的は、共通鍵を更新することに
より、上記欠点を解決し、信頼性の高いユーザ相互認証
を実現することである。
【0006】
【課題を解決するための手段】本発明の第1のユーザ相
互認証システムは、認証情報を格納する第1のキャッシ
ュテーブルを備え、前記クライアントが初めて認証を要
求する初期認証開始トークン、2回以降に認証を要求す
る2回目以降認証開始トークン、認証の完了を示す共通
鍵で暗号化された認証応答完了トークンを送信するクラ
イアントと、認証情報を格納する第2のキャッシュテー
ブルを備え、第1の認証応答トークン、または前記共通
鍵で暗号化された第2の認証応答トークンを送信し、前
記クライアントからの前記認証応答トークンを受信する
サーバとを有し、前記第1のキャッシュテーブルに前記
サーバの認証情報が存在するかどうか検索する前記クラ
イアント内の第1のキャッシュ検索手段と、前記第1の
キャッシュ検索手段による検索に失敗すると、前記初期
認証開始トークンを、検索に成功すると、前記2回目以
降認証開始トークンを前記サーバに送信する前記クライ
アント内の認証開始トークン生成・送信手段と、前記初
期認証開始トークン、または前記2回目以降認証開始ト
ークンを受信する前記サーバ内の認証開始トークン受信
手段と、前記2回目以降認証開始トークンを受信する
と、前記第2のキャッシュテーブルに、対応する前記初
期開始認証トークンの認証情報が存在するかどうか検索
する前記サーバ内の第2のキャッシュ検索手段と、前記
初期認証開始トークン、あるいは、前記2回目以降認証
開始トークンの前記第2のキャッシュ検索手段による検
索失敗に対して、第1の乱数を含めた前記第1の認証応
答トークンを前記クライアントに送信する前記サーバ内
の認証応答トークン生成・送信手段と、前記サーバから
の前記第1の認証応答トークンを受信する前記クライア
ント内の認証応答トークン受信手段と、前記認証応答ト
ークン受信手段で受信した前記第1の認証応答トークン
に対して、第2の乱数を含めた前記認証応答完了トーク
ンを前記サーバに送信する前記クライアント内の認証応
答完了トークン生成・送信手段と、前記クライアントか
らの認証応答トークンを受信する前記サーバ内の認証応
答完了トークン受信手段と、前記第1のキャッシュテー
ブルに前記第1の乱数、前記第2の乱数、前記共通鍵を
格納する前記クライアント内の第1の認証情報キャッシ
ュ生成・更新手段と、前記第2のキャッシュテーブルに
前記第1の乱数、前記第2の乱数、前記共通鍵を格納す
る前記サーバ内の第2の認証情報キャッシュ生成・更新
手段と、前記第1のキャッシュ検索手段による検索に検
索に成功すると、第3の乱数および前記第1のキャッシ
ュテーブル内の前記第2の乱数を含めた前記2回目以降
認証開始トークンを前記サーバに送信する前記認証開始
トークン生成・送信手段と、前記2回目以降認証開始ト
ークンの前記第2のキャッシュ検索手段による検索に成
功すると、第4の乱数および前記第2のキャッシュテー
ブル内の前記第1の乱数を含めた前記認証応答トークン
を前記クライアントに送信し、前記第3の乱数、および
前記第4の乱数から新共通鍵を作成する前記証応答トー
クン生成・送信手段と、前記サーバから前記第4の乱数
を含めた前記認証応答トークンを受信し、前記第3の乱
数、および前記第4の乱数から前記新共通鍵を作成する
前記認証応答トークン受信手段と、前記第1のキャッシ
ュテーブル内の前記第1の乱数、前記第2の乱数、前記
共通鍵を、それぞれ前記第4の乱数、前記第3の乱数、
新共通鍵に更新する前記第1の認証情報キャッシュ生成
・更新手段と、前記第2のキャッシュテーブル内の前記
第1の乱数、前記第2の乱数、前記共通鍵を、それぞれ
前記第4の乱数、前記第3の乱数、新共通鍵に更新する
前記認証情報キャッシュ生成・更新手段と、を有する。
【0007】本発明の第2のユーザ相互認証システム
は、前記第1のユーザ相互認証システムであって、前記
認証応答トークンに含まれる前記第1の乱数と、前記第
1のキャッシュテーブルに格納されている第1の乱数と
が不一致であると、認証が不成立であるとして、前記前
記第1のキャッシュテーブル内の対応する認証情報を削
除する前記クライアントを有する。
【0008】本発明の第1のユーザ相互認証方法は、認
証情報を格納する第1のキャッシュテーブルを備え、前
記クライアントが初めて認証を要求する初期認証開始ト
ークン、2回以降に認証を要求する2回目以降認証開始
トークン、認証の完了を示す共通鍵で暗号化された認証
応答完了トークンを送信するクライアントと、認証情報
を格納する第2のキャッシュテーブルを備え、第1の認
証応答トークン、または前記共通鍵で暗号化された第2
の認証応答トークンを送信し、前記クライアントからの
前記認証応答トークンを受信するサーバとを使用する、
(a)前記第1のキャッシュテーブルに前記サーバの認
証情報が存在するかどうか検索する第1のステップと、
(b)前記第1のステップにおける検索に失敗すると、
前記初期認証開始トークンを、検索に成功すると、前記
2回目以降認証開始トークンを前記サーバに送信する第
2のステップと、(c)前記初期認証開始トークン、ま
たは前記2回目以降認証開始トークンを受信する第3の
ステップと、(c)前記第3のステップにおいて、前記
2回目以降認証開始トークンを受信すると、前記第2の
キャッシュテーブルに、対応する前記初期開始認証トー
クンの認証情報が存在するかどうか検索する第4のステ
ップと、(d)前記初期認証開始トークン、あるいは、
前記2回目以降認証開始トークンの前記第4のステップ
における検索失敗に対して、第1の乱数を含めた前記第
1の認証応答トークンを前記クライアントに送信する第
5のステップと、(e)前記サーバからの前記第1の認
証応答トークンを受信する第6のステップと、(f)前
記第6のステップにおいて受信した前記第1の認証応答
トークンに対して、第2の乱数を含めた前記認証応答完
了トークンを前記サーバに送信する第7のステップと、
(g)前記クライアントからの認証応答トークンを受信
する第8のステップと、(h)前記第1のキャッシュテ
ーブルに前記第1の乱数、前記第2の乱数、前記共通鍵
を格納する第9のステップと、(i)前記第2のキャッ
シュテーブルに前記第1の乱数、前記第2の乱数、前記
共通鍵を格納する第10のステップと、(j)前記第1
のステップにおける検索に検索に成功すると、第3の乱
数および前記第1のキャッシュテーブル内の前記第2の
乱数を含めた前記2回目以降認証開始トークンを前記サ
ーバに送信する第11のステップと、(k)前記第4の
ステップにおいて、前記2回目以降認証開始トークンの
検索に成功すると、第4の乱数および前記第2のキャッ
シュテーブル内の前記第1の乱数を含めた前記認証応答
トークンを前記クライアントに送信する第12のステッ
プと、(l)前記サーバのために、前記第3の乱数、お
よび前記第4の乱数から新共通鍵を作成する第13のス
テップと、(m)前記サーバから前記第4の乱数を含め
た前記認証応答トークンを受信し、前記クライアントの
ために、前記第3の乱数、および前記第4の乱数から前
記新共通鍵を作成する第14のステップと、(n)前記
第1のキャッシュテーブル内の前記第1の乱数、前記第
2の乱数、前記共通鍵を、それぞれ前記第4の乱数、前
記第3の乱数、新共通鍵に更新する第15のステップ
と、(o)前記第2のキャッシュテーブル内の前記第1
の乱数、前記第2の乱数、前記共通鍵を、それぞれ前記
第4の乱数、前記第3の乱数、新共通鍵に更新する第1
6のステップと、を含む。
【0009】本発明の第2のユーザ相互認証方法は、前
記第1のユーザ相互認証方法であって、前記認証応答ト
ークンに含まれる前記第1の乱数と、前記第1のキャッ
シュテーブルに格納されている第1の乱数とが不一致で
あると、認証が不成立であるとして、前記前記第1のキ
ャッシュテーブル内の対応する認証情報を削除する第1
7のステップを含む。
【0010】本発明の第1の記録媒体は、認証情報を格
納する第1のキャッシュテーブルを備え、前記クライア
ントが初めて認証を要求する初期認証開始トークン、2
回以降に認証を要求する2回目以降認証開始トークン、
認証の完了を示す共通鍵で暗号化された認証応答完了ト
ークンを送信するクライアントと、認証情報を格納する
第2のキャッシュテーブルを備え、第1の認証応答トー
クン、または前記共通鍵で暗号化された第2の認証応答
トークンを送信し、前記クライアントからの前記認証応
答トークンを受信するサーバとを使用する、(a)前記
第1のキャッシュテーブルに前記サーバの認証情報が存
在するかどうか検索する第1のステップと、(b)前記
第1のステップにおける検索に失敗すると、前記初期認
証開始トークンを、検索に成功すると、前記2回目以降
認証開始トークンを前記サーバに送信する第2のステッ
プと、(c)前記初期認証開始トークン、または前記2
回目以降認証開始トークンを受信する第3のステップ
と、(c)前記第3のステップにおいて、前記2回目以
降認証開始トークンを受信すると、前記第2のキャッシ
ュテーブルに、対応する前記初期開始認証トークンの認
証情報が存在するかどうか検索する第4のステップと、
(d)前記初期認証開始トークン、あるいは、前記2回
目以降認証開始トークンの前記第4のステップにおける
検索失敗に対して、第1の乱数を含めた前記第1の認証
応答トークンを前記クライアントに送信する第5のステ
ップと、(e)前記サーバからの前記第1の認証応答ト
ークンを受信する第6のステップと、(f)前記第6の
ステップにおいて受信した前記第1の認証応答トークン
に対して、第2の乱数を含めた前記認証応答完了トーク
ンを前記サーバに送信する第7のステップと、(g)前
記クライアントからの認証応答トークンを受信する第8
のステップと、(h)前記第1のキャッシュテーブルに
前記第1の乱数、前記第2の乱数、前記共通鍵を格納す
る第9のステップと、(i)前記第2のキャッシュテー
ブルに前記第1の乱数、前記第2の乱数、前記共通鍵を
格納する第10のステップと、(j)前記第1のステッ
プにおける検索に検索に成功すると、第3の乱数および
前記第1のキャッシュテーブル内の前記第2の乱数を含
めた前記2回目以降認証開始トークンを前記サーバに送
信する第11のステップと、(k)前記第4のステップ
において、前記2回目以降認証開始トークンの検索に成
功すると、第4の乱数および前記第2のキャッシュテー
ブル内の前記第1の乱数を含めた前記認証応答トークン
を前記クライアントに送信する第12のステップと、
(l)前記サーバのために、前記第3の乱数、および前
記第4の乱数から新共通鍵を作成する第13のステップ
と、(m)前記サーバから前記第4の乱数を含めた前記
認証応答トークンを受信し、前記クライアントのため
に、前記第3の乱数、および前記第4の乱数から前記新
共通鍵を作成する第14のステップと、(n)前記第1
のキャッシュテーブル内の前記第1の乱数、前記第2の
乱数、前記共通鍵を、それぞれ前記第4の乱数、前記第
3の乱数、新共通鍵に更新する第15のステップと、
(o)前記第2のキャッシュテーブル内の前記第1の乱
数、前記第2の乱数、前記共通鍵を、それぞれ前記第4
の乱数、前記第3の乱数、新共通鍵に更新する第16の
ステップと、をコンピュータに実行させるプログラムを
記録する。
【0011】本発明の第2の記録媒体は、認証情報を格
納する第1のキャッシュテーブルを備え、前記クライア
ントが初めて認証を要求する初期認証開始トークン、2
回以降に認証を要求する2回目以降認証開始トークン、
認証の完了を示す共通鍵で暗号化された認証応答完了ト
ークンを送信するクライアントと、認証情報を格納する
第2のキャッシュテーブルを備え、第1の認証応答トー
クン、または前記共通鍵で暗号化された第2の認証応答
トークンを送信し、前記クライアントからの前記認証応
答トークンを受信するサーバとを使用する、(a)前記
第1のキャッシュテーブルに前記サーバの認証情報が存
在するかどうか検索する第1のステップと、(b)前記
第1のステップにおける検索に失敗すると、前記初期認
証開始トークンを、検索に成功すると、前記2回目以降
認証開始トークンを前記サーバに送信する第2のステッ
プと、(c)前記初期認証開始トークン、または前記2
回目以降認証開始トークンを受信する第3のステップ
と、(c)前記第3のステップにおいて、前記2回目以
降認証開始トークンを受信すると、前記第2のキャッシ
ュテーブルに、対応する前記初期開始認証トークンの認
証情報が存在するかどうか検索する第4のステップと、
(d)前記初期認証開始トークン、あるいは、前記2回
目以降認証開始トークンの前記第4のステップにおける
検索失敗に対して、第1の乱数を含めた前記第1の認証
応答トークンを前記クライアントに送信する第5のステ
ップと、(e)前記サーバからの前記第1の認証応答ト
ークンを受信する第6のステップと、(f)前記第6の
ステップにおいて受信した前記第1の認証応答トークン
に対して、第2の乱数を含めた前記認証応答完了トーク
ンを前記サーバに送信する第7のステップと、(g)前
記クライアントからの認証応答トークンを受信する第8
のステップと、(h)前記第1のキャッシュテーブルに
前記第1の乱数、前記第2の乱数、前記共通鍵を格納す
る第9のステップと、(i)前記第2のキャッシュテー
ブルに前記第1の乱数、前記第2の乱数、前記共通鍵を
格納する第10のステップと、(j)前記第1のステッ
プにおける検索に検索に成功すると、第3の乱数および
前記第1のキャッシュテーブル内の前記第2の乱数を含
めた前記2回目以降認証開始トークンを前記サーバに送
信する第11のステップと、(k)前記第4のステップ
において、前記2回目以降認証開始トークンの検索に成
功すると、第4の乱数および前記第2のキャッシュテー
ブル内の前記第1の乱数を含めた前記認証応答トークン
を前記クライアントに送信する第12のステップと、
(l)前記サーバのために、前記第3の乱数、および前
記第4の乱数から新共通鍵を作成する第13のステップ
と、(m)前記サーバから前記第4の乱数を含めた前記
認証応答トークンを受信し、前記クライアントのため
に、前記第3の乱数、および前記第4の乱数から前記新
共通鍵を作成する第14のステップと、(n)前記第1
のキャッシュテーブル内の前記第1の乱数、前記第2の
乱数、前記共通鍵を、それぞれ前記第4の乱数、前記第
3の乱数、新共通鍵に更新する第15のステップと、
(o)前記第2のキャッシュテーブル内の前記第1の乱
数、前記第2の乱数、前記共通鍵を、それぞれ前記第4
の乱数、前記第3の乱数、新共通鍵に更新する第16の
ステップと、(p)前記認証応答トークンに含まれる前
記第1の乱数と、前記第1のキャッシュテーブルに格納
されている第1の乱数とが不一致であると、認証が不成
立であるとして、前記前記第1のキャッシュテーブル内
の対応する認証情報を削除する第17のステップと、を
コンピュータに実行させるプログラムを記録する。
【0012】
【発明の実施の形態】まず、本発明が適用されるクライ
アント・サーバシステムについて図面を参照して説明す
る。図2(a)は、本発明が適用されるクライアント・
サーバシステムを示すブロック図であり、図2(b)
は、図1における通信シーケンスの説明図である。
【0013】図2(a)を参照すると、発明が適用され
るクライアント・サーバシステムは、複数のクライアン
ト1と複数のサーバ2とがインターネットあるいはイン
トラネット等のネットワーク3を介して接続されてい
る。このクライアント・サーバシステムにおいて、任意
のクライアント1と任意のサーバ2とが互いに相手の認
証を行い、その認証した相手との間でデータを送受信す
る場合、図2(b)のような手順を踏む。
【0014】先ず、コネクション接続フェーズを実施
し、クライアント1とサーバ2との間にネットワーク3
を介してコネクションを接続する。次に、相互認証フェ
ーズを実施し、接続相手のサーバ2が真に接続を望むサ
ーバであることをクライアント1側が確認し、また、接
続相手のクライアント1が真に接続を望むクライアント
であることをサーバ2側が確認する。そして、相互に認
証できた場合に限ってデータ転送フェーズを実施し、ク
ライアント1とサーバ2との間でデータを送受信し、一
連のデータ転送フェーズの終了後に、コネクション切断
フェーズを実施してコネクションを切断する。相互認証
フェーズで相互認証が得られなかった場合はデータ転送
フェーズには移行せず、直ちにコネクション切断フェー
ズが実施される。クライアント1が再びサーバ2と接続
する場合には、コネクション接続、相互認証、データ転
送、コネクション切断の各フェーズが繰り返される。
【0015】本発明のユーザ相互認証は、上述した通信
シーケンスにおける相互認証フェーズに適用される。
【0016】次に、本発明の第1の実施の形態について
図面を参照して詳細に説明する。図1は、本発明の第1
の実施の形態を示すブロック図である。図1を参照する
と、本発明の第1の実施の形態は、クライアント1と、
サーバ2と、これらを接続するネットワーク3とから構
成される。クライアント1およびサーバ2は、それぞれ
認証部10および認証部20を有しており、コネクショ
ン接続後の相互認証フェーズにおいて、認証部10およ
び認証部20にて相互認証処理が実施され、相互に認証
できた場合に限って後続のデータ転送フェーズを実施す
る。
【0017】クライアント1の認証部10は、認証情報
キャッシュテーブル11を記憶する記憶手段17と、認
証情報キャッシュ検索手段12と、認証開始トークン生
成・送信手段13と、認証応答トークン受信手段14
と、認証応答完了トークン生成・送信手段15と、認証
情報キャッシュ生成・更新手段16とを備えている。こ
のような認証部10は、プロセッサ(CPU)およびメ
モリを有するコンピュータとCD−ROM、磁気ディス
ク装置、半導体メモリ等の機械読み取り可能な記録媒体
とで実現することができる。この場合、記録媒体にはク
ライアント1側相互認証用のプログラムが記録されてお
り、そのプログラムがCPUに読み取られ、CPUの動
作を制御することにより、クライアント1上に認証部1
0を実現する。
【0018】他方、サーバ2の認証部20は、認証情報
キャッシュテーブル21を記憶する記憶手段27と、認
証開始トークン受信手段22と、認証情報キャッシュ検
索手段23と、認証応答トークン生成・送信手段24
と、認証応答完了トークン受信手段25と、認証情報キ
ャッシュ生成・更新手段26とを備えている。このよう
な認証部20は、プロセッサ(CPU)およびメモリを
有するコンピュータとCD−ROM、磁気ディスク装
置、半導体メモリ等の機械読み取り可能な記録媒体とで
実現することができる。この場合、記録媒体にはサーバ
2側相互認証用のプログラムが記録されており、そのプ
ログラムがCPUに読み取られ、CPUの動作を制御す
ることにより、サーバ2上に認証部20を実現する。
【0019】次に、クライアント1の認証部10の各構
成要素について説明する。図3は、認証情報キャッシュ
テーブル11の構成を示す説明図である。認証情報キャ
ッシュテーブル11は、接続相手のサーバ2の認証情報
を保持するテーブルであり、各サーバ2毎にその最初の
接続時に動的に生成される。図3を参照すると、認証情
報キャッシュテーブル11は、インデックス部とデータ
部とから成り、インデックス部に、サーバ2のユーザI
Dが登録され、データ部に、サーバ2の公開鍵で暗号化
された初期認証開始トークン、クライアント1のユーザ
ID、乱数R1(サーバ2で生成される)、乱数R2
(クライアント1で生成される)、認証情報一式(サー
バ2の公開鍵、サーバ2のユーザID、クライアント1
の秘密鍵、共通鍵等)が登録される。
【0020】認証情報キャッシュ検索手段12は、認証
フェーズの開始時にサーバ2のユーザIDをインデック
ス部に持つ認証情報キャッシュテーブル11を記憶手段
17中から検索する手段である。
【0021】認証開始トークン生成・送信手段13は、
認証情報キャッシュ検索手段12の検索結果に応じ、初
期認証開始トークンまたは2回目以降認証開始トークン
を生成し、サーバ2に送信する手段である。初期認証開
始トークンは検索が失敗した場合に、2回目以降認証開
始トークンは検索が成功した場合に、それぞれ生成され
て送信される。
【0022】次に、初期認証開始トークン、および2回
目以降認証開始トークンの内容について説明する。図4
(a)は、期認証開始トークンの内容を示す説明図、図
4(b)は、2回目以降認証開始トークンの内容を示す
説明図である。
【0023】図4(a)を参照すると、期認証開始トー
クンは、当該トークンが初期認証開始トークンである旨
を含むヘッダと、サーバ2の公開鍵で暗号化されたクラ
イアント1のユーザID、乱数Raおよび共通鍵の第1
の生成情報seed−Kaとを含んでいる。サーバ2の
公開鍵はクライアント1側で事前に取得し別途管理して
いるものを使用する。なお、公開鍵方式としては例えば
RSAを使用することができる。乱数Raおよび共通鍵
の第1の生成情報seed−Kaは、認証開始トークン
生成・送信手段13で乱数発生器によって独自に生成し
たものである。共通鍵の第1の生成情報seed−Ka
は、サーバ2側で生成される後述する共通鍵の第2の生
成情報seed−Kbと組み合わせることで、1つの共
通鍵を一意に生成することができる情報である。つま
り、情報Aと情報Bとが決まった場合、それらから特定
の共通鍵が生成され、それ以外の共通鍵が生成できない
とき、そのような情報A、Bがその共通鍵の第1の生成
情報seed−Ka、共通鍵の第2の生成情報seed
−Kbとなる。なお、共通鍵方式としては、例えばDE
Sを使用することができる。
【0024】図4(b)を参照すると、2回目以降認証
開始トークンは、当該トークンが2回目以降認証開始ト
ークンである旨を含むヘッダと、サーバ2の公開鍵で暗
号化されている初期認証開始トークンと、共通鍵で暗号
化された乱数R2および乱数R3とを含んでいる。初期
認証開始トークンは、検索された認証情報キャッシュテ
ーブル11から取得された初期認証開始トークンであ
る。乱数R2は、検索された認証情報キャッシュテーブ
ル11から取得されたものである。乱数R3は、認証開
始トークン生成・送信手段13が乱数発生器によって新
たに生成したものである。乱数R2および乱数R3を暗
号化する共通鍵は、検索された認証情報キャッシュテー
ブル11から取得された共通鍵である。
【0025】認証応答トークン受信手段14は、認証開
始トークン生成・送信手段13が送信した認証開始トー
クンに対してサーバ2が認証応答トークンを送信してき
たとき、それを受信して処理する手段である。受信する
認証応答トークンには、初期認証応答トークンと2回目
以降認証応答トークンとの2通りがある。
【0026】次に、初期認証応答トークンおよび2回目
以降認証応答トークンについて説明する。図5(a)
は、初期認証応答トークンの内容を示す説明図、図5
(b)は、2回目以降認証応答トークンの内容を示す説
明図である。
【0027】図5(a)を参照すると、初期認証応答ト
ークンは、当該トークンが初期認証応答トークンである
旨を含むヘッダと、クライアント1の公開鍵で暗号化さ
れた乱数Ra、乱数Rb、共通鍵の第2の生成情報se
ed−Kbおよび乱数R1(または乱数Rn)とを含ん
でいる。
【0028】図5(b)を参照すると、2回目以降認証
応答トークンは、当該トークンが2回目以降認証応答ト
ークンである旨を含むヘッダと、共通鍵で暗号化された
乱数R4および乱数R1とを含んでいる。2回目以降認
証応答トークンは、2回目以降認証開始トークンの応答
として返されるが、初期認証応答トークンは初期認証開
始トークンの応答以外に2回目以降認証開始トークンの
応答として返される場合がある。初期証応答トークンお
よび2回目以降認証応答トークンの生成方法について
は、サーバ2の認証応答トークン生成・送信手段24の
説明箇所で詳述する。
【0029】認証応答完了トークン生成・送信手段15
は、認証応答トークン受信手段14が初期認証応答トー
クンを受信した場合に、その応答である認証応答完了ト
ークンを生成しサーバ2に送信する手段である。認証応
答トークン受信手段14が2回目以降認証応答トークン
を受信した場合、認証応答完了トークン生成・送信手段
15は動作しない。
【0030】次に、認証応答完了トークンについて説明
する。図6は、認証応答完了トークンの内容を示す説明
図である。図6を参照すると、認証応答完了トークン
は、当該トークンが認証応答完了トークンである旨を含
むヘッダと、共通鍵で暗号化された乱数RbおよびR2
(または乱数Rn+1)を含んでいる。乱数Rbは、認
証応答トークン受信手段14が受信した初期認証応答ト
ークンから抽出したものであり、乱数R2(またはRn
+1)は、認証応答完了トークン生成・送信手段15が
乱数発生器により独自に生成したものである。これらを
暗号化する共通鍵は、認証開始トークン生成・送信手段
13が送出した初期認証開始トークン中に含めた共通鍵
の第1の生成情報seed−Kaと認証応答トークン受
信手段14が初期認証応答トークンから抽出した共通鍵
の第2の生成情報seed−Kbとから一意に生成され
る共通鍵である。
【0031】認証情報キャッシュ生成・更新手段16
は、記憶手段17中に図3に示したような認証情報キャ
ッシュテーブル11に情報を登録したり、既に登録され
ている認証情報キャッシュテーブル11の情報を更新し
たり、削除する手段である。
【0032】次に、サーバ2の認証部20の各構成要素
について説明する。図7は、認証情報キャッシュテーブ
ル21の構成を示す説明図である。認証情報キャッシュ
テーブル21は、接続相手のクライアント1の認証情報
を保持するテーブルであり、各クライアント1ごとにそ
の最初の接続時に動的に生成される。図7を参照する
と、認証情報キャッシュテーブル21は、インデックス
部とデータ部とから成り、インデックス部に、サーバ2
の公開鍵で暗号化された初期認証開始トークンが登録さ
れ、データ部に、サーバ2のユーザID、乱数R1(サ
ーバ2で生成される)、乱数R2(クライアント1で生
成される)、認証情報一式(クライアント1の公開鍵、
クライアント1のユーザID、サーバ2の秘密鍵、共通
鍵等)が登録される。
【0033】認証開始トークン受信手段22は、認証フ
ェーズの開始時、クライアント1から認証開始トークン
を受信する手段である。受信する認証開始トークンに
は、図4(a)に示した初期認証開始トークンと図4
(b)に示した2回目以降認証開始トークンとの2通り
がある。
【0034】認証情報キャッシュ検索手段23は、認証
開始トークン受信手段22で2回目以降認証開始トーク
ンが受信されたとき、2回目以降認証開始トークンに含
まれる初期認証開始トークンをインデックス部に持つ認
証情報キャッシュテーブル21を記憶手段27中から検
索する手段である。認証開始トークン受信手段22で初
期認証開始トークンが受信された場合、認証情報キャッ
シュ検索手段23は動作しない。
【0035】認証応答トークン生成・送信手段24は、
認証開始トークン受信手段22が受信した認証開始トー
クンに対する応答として、認証応答トークンを生成し、
クライアント1に送信する手段である。生成し送信する
認証応答トークンは、初期認証応答トークンと2回目以
降認証応答トークンとの2通りある。2回目以降認証応
答トークンは、認証開始トークン受信手段22で2回目
以降認証開始トークンが受信されかつ認証情報キャッシ
ュ検索手段23で認証情報キャッシュテーブル21の検
索に成功し、更にサーバ2側で認証成立した場合に生
成、送信される。初期認証応答トークンは、それ以外の
場合、つまり、認証開始トークン受信手段22で初期認
証開始トークンが受信された場合、2回目以降認証開始
トークンを受信したが認証情報キャッシュテーブル21
の検索に失敗した場合、検索に成功したが認証不成立の
場合に、生成、送信される。
【0036】次に、認証応答トークンについて説明す
る。図5(a)を参照すると、初期認証応答トークン
中、乱数Raは、認証開始トークン受信手段22で受信
された初期認証開始トークンから抽出した乱数Raまた
は検索された認証情報キャッシュテーブル21中から抽
出された初期認証開始トークン中の乱数Raである。ま
た、乱数Rb、共通鍵の第2の生成情報seed−Kb
および乱数R1は、認証応答トークン生成・送信手段2
4が乱数発生器によって独自に生成したものである。さ
らに、これらを暗号化するクライアント1の公開鍵はサ
ーバ2が事前に取得して別途管理してある公開鍵であ
る。
【0037】図5(b)を参照すると、2回目以降認証
応答トークン中の乱数R1は検索された認証情報キャッ
シュテーブル21中から抽出されたものであり、乱数R
4は、認証応答トークン生成・送信手段24が乱数発生
器によって独自に生成したものであり、それらを暗号化
する共通鍵は検索された認証情報キャッシュテーブル2
1から取得された共通鍵である。
【0038】認証応答完了トークン受信手段25は、認
証応答トークン生成・送信手段24が初期認証応答トー
クンを送信した場合に、それに対する応答である図6に
示したような認証応答完了トークンをクライアント1か
ら受信して処理する手段である。認証応答トークン生成
・送信手段24が2回目以降認証応答トークンを送信し
た場合、認証応答完了トークン受信手段25は動作しな
い。
【0039】認証情報キャッシュ生成・更新手段26
は、記憶手段27中に図7に示したような認証情報キャ
ッシュテーブル21に情報を新たに登録したり、既に登
録されている認証情報キャッシュテーブル21の情報を
更新したり、削除する手段である。
【0040】次に、本発明の第1の実施の形態の動作に
ついて図面を参照して説明する。図8は、本発明の第1
の実施の形態の動作を示すフローチャートである。図9
〜図12は、発明の第1の実施の形態の動作の認証フロ
ーを示す説明図である。
【0041】まず、クライアント1の認証情報キャッシ
ュテーブル11の検索において失敗した(すなわち、情
報が登録されていなかった)場合について説明する。
【0042】クライアント1は、認証情報キャッシュ検
索手段12において、認証情報キャッシュテーブル11
をサーバ2のユーザIDをキーにしてサーバ2の情報を
検索し(図8S1)、検索に失敗した場合(図8S1失
敗)、図9に示すような認証フローが実施される。
【0043】クライアント1は、認証開始トークン生成
・送信手段13で、乱数Raと共通鍵の第1の生成情報
seed−Kaとを生成し、自ユーザID、乱数Ra、
および共通鍵の第1の生成情報seed−Kaをサーバ
2の公開鍵で暗号化し、それを含む初期認証開始トーク
ン(図9f1)をサーバ2へ送信する(図8S2)。
【0044】サーバ2はクライアント1から初期認証開
始トークン(図9f1)を認証開始トークン受信手段2
2で受信すると、初期認証開始トークンを自秘密鍵で復
号し、乱数Raおよび共通鍵の第1の生成情報seed
−Kaを抽出する(図8S3)。
【0045】次に、サーバ2は、認証応答トークン生成
・送信手段24で、乱数Rb、乱数R1、および共通鍵
の第2の生成情報seed−Kbを生成し、乱数Ra、
乱数Rb、乱数R1、および共通鍵の第2の生成情報s
eed−Kbをクライアント1の公開鍵で暗号化し、そ
れを含む認証応答トークン(図9f2)をクライアント
1へ送信する(図8S4)。さらに、共通鍵の第1の生
成情報seed−Ka、共通鍵の第2の生成情報see
d−Kbより共通鍵を生成する(図8S5)。
【0046】クライアント1は、認証応答トークン受信
手段14で、サーバ2からの認証応答トークン(図9f
2)を受信し、受信した認証応答トークンを自秘密鍵で
復号し、乱数Ra、乱数Rb、乱数R1、および共通鍵
の第2の生成情報seed−Kbを抽出する(図8S
6)。さらに、共通鍵の第1の生成情報seed−K
a、共通鍵の第2の生成情報seed−Kbより共通鍵
を生成する(図8S7)。
【0047】次に、クライアント1は、認証応答完了ト
ークン生成・送信手段15で、乱数R2を生成し、乱数
Rb、および乱数R2を生成した共通鍵で暗号化し、そ
れを含む認証応答完了トークン(図9g1)をサーバ2
へ送信する(図8S8)。
【0048】次に、クライアント1は、認証情報キャッ
シュ生成・更新手段16で、認証情報キャッシュテーブ
ル11のインデックス部に、サーバ2のユーザIDを、
データ部に、サーバ2の公開鍵で暗号化された初期認証
開始トークン、クライアント1のユーザID、乱数R
1、乱数R2、認証情報一式(サーバ2の公開鍵、サー
バ2のユーザID、クライアント1の秘密鍵、共通鍵
等)を対にして登録する(図8S9)。
【0049】サーバ2は、認証応答完了トークン受信手
段25で、認証応答完了トークン(図9g1)を受信す
ると、これを先に生成した共通鍵で復号し、乱数Rbお
よび乱数R2を抽出する(図8S10)。
【0050】次に、サーバ2は、認証情報キャッシュ生
成・更新手段26で、クライアント1の情報が認証情報
キャッシュテーブル21に存在すれば、それを削除し、
インデックス部にサーバ2の公開鍵で暗号化された初期
認証開始トークンを、データ部に、サーバ2のユーザI
D、乱数R1、乱数R2、認証情報一式(クライアント
1の公開鍵、クライアント1のユーザID、サーバ2の
秘密鍵、共通鍵等)を対にして登録する(図8S1
1)。
【0051】次に、クライアント1の認証情報キャッシ
ュテーブル11、サーバ2の認証情報キャッシュテーブ
ル21の検索において成功した(すなわち、情報が登録
されていた)場合について説明する。
【0052】クライアント1は、認証情報キャッシュ検
索手段12において、認証情報キャッシュテーブル11
をサーバ2のユーザIDをキーにしてサーバ2の情報を
検索し(図8S1)、検索に成功した場合(図8S1成
功)、図10に示すような認証フローが実施される。
【0053】次に、クライアント1は、認証開始トーク
ン生成・送信手段13で、次回の認証確認で使用する乱
数R3を生成し、認証情報キャッシュテーブル11に登
録されている乱数R2および乱数R3を共通鍵で暗号化
したものと、認証情報キャッシュテーブル11に登録さ
れているサーバ2の公開鍵で暗号化された初期認証開始
トークンとを含む2回目以降認証開始トークン(図10
g2)をサーバ2へ送信する(図8S32)。
【0054】サーバ2は、認証開始トークン受信手段2
2で、2回目以降認証開始トークン(図10g2)を受
信し(図8S33)、認証情報キャッシュ生成・更新手
段26により受信した2回目以降認証開始トークン(図
10g2)内のサーバ2の公開鍵で暗号化された初期認
証開始トークン部分をキーにして認証情報キャッシュテ
ーブル21を検索する(図8S34)。検索に成功する
と(図S34成功)、認証情報キャッシュテーブル21
に登録されている乱数R2と、共通鍵で復号して抽出し
た2回目以降認証開始トークン(図10g2)中の乱数
R2とが一致することを確認する(図8S35)。
【0055】乱数R2が一致すると(図8S35一
致)、認証応答トークン生成・送信手段24で、次回の
認証確認で使用する共通鍵を生成するための種となる乱
数R4を生成し、乱数R4と認証情報キャッシュテーブ
ル21からの乱数R1とを共通鍵で暗号化し、それを含
む認証応答トークン(図10g3)をクライアント1へ
送信する(図8S36)。また、乱数R4と2回目以降
認証開始トークン(図10g2)から抽出した乱数R3
とに基づいて次回の認証確認で使用する新共通鍵を生成
する(図8S37)。
【0056】次に、サーバ2は、認証情報キャッシュ生
成・更新手段26で、認証情報キャッシュテーブル21
内の情報を更新する。すなわち、乱数R1を次回の認証
確認で使用する共通鍵を生成するための種となる乱数R
4に、乱数R2を次回の認証確認で使用する乱数R3
に、共通鍵を次回の認証確認で使用する新共通鍵に、そ
れぞれ更新する(図8S38)。
【0057】クライアント1は、認証応答トークン受信
手段14で、サーバ2から認証応答トークン(図10g
3)を受信し(図8S39)、受信した認証応答トーク
ン(図10g3)を共通鍵で復号し、認証情報キャッシ
ュテーブル11中の乱数R1と認証応答トークン(図1
0g3)から抽出された乱数R1とが一致することを確
認する(図8S40)。
【0058】一致することが確認されると(図8S40
一致)、乱数R3と乱数R4とに基づいて次回の認証確
認で使用する新共通鍵を生成する(図8S41)。
【0059】次に、クライアント1は、認証情報キャッ
シュ生成・更新手段16で、認証情報キャッシュテーブ
ル11内の情報を更新する。すなわち、乱数R1を次回
の認証確認で使用する共通鍵を生成するための種となる
乱数R4に、乱数R2を次回の認証確認で使用する乱数
R3に、共通鍵を次回の認証確認で使用する新共通鍵
に、それぞれ更新する(図8S42)。
【0060】次に、クライアント1の認証情報キャッシ
ュテーブル11の検索において成功(すなわち、情報が
登録されていた)し、サーバ2の認証情報キャッシュテ
ーブル21の検索において失敗した(すなわち、情報が
登録されていなかった)場合について説明する。この場
合には、図11に示す認証フローが実施される。
【0061】クライアント1は、認証情報キャッシュ検
索手段12において、認証情報キャッシュテーブル11
をサーバ2のユーザIDをキーにしてサーバ2の情報を
検索し(図8S1)、検索に成功すると(図8S1成
功)、認証開始トークン生成・送信手段13で、次回の
認証確認で使用する乱数R3を生成し、認証情報キャッ
シュテーブル11に登録されている乱数R2および乱数
R3を共通鍵で暗号化したものと、認証情報キャッシュ
テーブル11に登録されているサーバ2の公開鍵で暗号
化された初期認証開始トークンとを含む2回目以降認証
開始トークン(図11g2)をサーバ2へ送信する(図
8S32)。
【0062】サーバ2は、認証開始トークン受信手段2
2で、2回目以降認証開始トークン(図11g2)を受
信し(図8S33)、認証情報キャッシュ生成・更新手
段26により受信した2回目以降認証開始トークン(図
11g2)内のサーバ2の公開鍵で暗号化された初期認
証開始トークン部分をキーにして認証情報キャッシュテ
ーブル21を検索する(図8S34)。
【0063】検索に失敗すると(図S34失敗)、2回
目以降認証開始トークン(図11g2)のサーバ2の公
開鍵で暗号化された初期認証開始トークンを自秘密鍵で
復号し、乱数Raおよび共通鍵の第1の生成情報see
d−Kaを抽出し、認証応答トークン生成・送信手段2
4で、乱数Rb、乱数Rnおよび共通鍵の第2の生成情
報seed−Kbを生成し、乱数Ra、乱数Rb、乱数
Rnおよび共通鍵の第2の生成情報seed−Kbをク
ライアント1の公開鍵で暗号化し、それを含む認証応答
トークン(図11g4)をクライアント1へ送信する
(図8S51)。さらに、共通鍵の第1の生成情報se
ed−Ka、共通鍵の第2の生成情報seed−Kbに
基づいて新共通鍵を生成する(図8S52)。
【0064】次に、サーバ2は、認証情報キャッシュ生
成・更新手段26により、認証情報キャッシュテーブル
21のインデックス部にサーバ2の公開鍵で暗号化され
た初期認証開始トークンを、データ部に、サーバ2のユ
ーザID、乱数Rn、乱数R2、認証情報一式(クライ
アント1の公開鍵、クライアント1のユーザID、サー
バ2の秘密鍵、新共通鍵等)を対にして登録する(図8
S53)。
【0065】クライアント1は、認証応答トークン受信
手段14で、サーバ2からの認証応答トークン(図11
g4)を受信し、受信した認証応答トークン(図11g
4)を自秘密鍵で復号し、乱数Ra、乱数Rb、乱数R
n、および共通鍵の第2の生成情報seed−Kbを抽
出する(図8S54)。
【0066】さらに、共通鍵の第1の生成情報seed
−Ka、共通鍵の第2の生成情報seed−Kbに基づ
いて新共通鍵を生成する(図8S55)。
【0067】次に、クライアント1は、認証応答完了ト
ークン生成・送信手段15で、乱数Rn+1を生成し、
乱数Rbおよび乱数Rn+1を新共通鍵で暗号化し、そ
れを含む認証応答完了トークン(図11g5)をサーバ
2へ送信する(図8S56)。
【0068】次に、クライアント1は、認証情報キャッ
シュ生成・更新手段16で、認証情報キャッシュテーブ
ル11内の情報を更新する。すなわち、乱数R1を乱数
Rnに、乱数R2を乱数Rn+1に、共通鍵を次回の認
証確認で使用する新共通鍵に、それぞれ更新する(図8
S57)。
【0069】サーバ2は、認証応答完了トークン受信手
段25で、認証応答完了トークン(図11g5)を受信
すると、これを新共通鍵で復号し、乱数Rbおよび乱数
Rn+1を抽出する(図8S58)。
【0070】次に、サーバ2は、認証情報キャッシュ生
成・更新手段26で認証情報キャッシュテーブル21内
の情報を更新する。すなわち、乱数R2を乱数Rn+1
に更新する(図8S59)。
【0071】次に、クライアント1の認証情報キャッシ
ュテーブル11の検索において成功(すなわち、情報が
登録されていた)、サーバ2の認証情報キャッシュテー
ブル21の検索においても成功(すなわち、情報が登録
されていた)であるが、クライアント1で、データ部内
の情報に不一致を検出する場合について説明する。この
場合には、図12に示す認証フローが実施される。
【0072】クライアント1は、認証情報キャッシュ検
索手段12において、認証情報キャッシュテーブル11
をサーバ2のユーザIDをキーにしてサーバ2の情報を
検索し(図8S1)、検索に成功した場合(図8S1成
功)、クライアント1は、認証開始トークン生成・送信
手段13で、次回の認証確認で使用する乱数R3を生成
し、認証情報キャッシュテーブル11に登録されている
乱数R2および乱数R3を共通鍵で暗号化したものと、
認証情報キャッシュテーブル11に登録されているサー
バ2の公開鍵で暗号化された初期認証開始トークンとを
含む2回目以降認証開始トークン(図12g2)をサー
バ2へ送信する(図8S32)。
【0073】サーバ2は、認証開始トークン受信手段2
2で、2回目以降認証開始トークン(図12g2)を受
信し(図8S33)、認証情報キャッシュ生成・更新手
段8により受信した2回目以降認証開始トークン(図1
2g2)内のサーバ2の公開鍵で暗号化された初期認証
開始トークン部分をキーにして認証情報キャッシュテー
ブル21を検索する(図8S34)。検索に成功すると
(図S34成功)、認証情報キャッシュテーブル21に
登録されている乱数R2と、共通鍵で復号して抽出した
2回目以降認証開始トークン(図10g2)中の乱数R
2とが一致することを確認する(図8S35)。
【0074】乱数R2が一致すると(図8S35一
致)、認証応答トークン生成・送信手段24で、次回の
認証確認で使用する共通鍵を生成するための種となる乱
数R4を生成し、乱数R4と認証情報キャッシュテーブ
ル21からの乱数R1とを共通鍵で暗号化し、それを含
む認証応答トークン(図12g3)をクライアント1へ
送信する(図8S36)。また、乱数R4と2回目以降
認証開始トークン(図12g2)から抽出した乱数R3
とに基づいて次回の認証確認で使用する新共通鍵を生成
する(図8S37)。
【0075】次に、サーバ2は、証情報キャッシュ生成
・更新手段26で、認証情報キャッシュテーブル21内
の情報を更新する。すなわち、乱数R1を次回の認証確
認で使用する共通鍵を生成するための種となる乱数R4
に、乱数R2を次回の認証確認で使用する乱数R3に、
共通鍵を次回の認証確認で使用する新共通鍵に、それぞ
れ更新する(図8S38)。
【0076】クライアント1は、認証応答トークン受信
手段14で、サーバ2から認証応答トークン(図10g
3)を受信し(図8S39)、受信した認証応答トーク
ン(図10g3)を共通鍵で復号し、認証情報キャッシ
ュテーブル11中の乱数R1と認証応答トークン(図1
0g3)から抽出された乱数R1とが一致することを確
認する(図8S40)。
【0077】不一致であることが確認されると(図8S
40不一致)、相互認証不成立とみなされ、コネクショ
ン切断処理が実施される。すなわち、クライアント1の
認証情報キャッシュ生成・更新手段16で、認証情報キ
ャッシュテーブル11中のサーバ2の情報は削除される
(図8S71)。
【0078】次に、本発明の第2の実施の形態について
図面を参照して説明する。本発明の第2の実施の形態
は、クライアント1の認証情報キャッシュテーブル1
1、サーバ2の認証情報キャッシュテーブル21を利用
するユーザ相互認証方法であって、図8に示される各ス
テップS1〜S71を含むユーザ相互認証方法である。
【0079】次に、本発明の第3の実施の形態について
図面を参照して説明する。図13は、本発明の第3の実
施の形態を示すブロック図である。図13を参照する
と、本発明の第3の実施の形態は、本発明の第2の実施
の形態の各ステップ(図8のS1〜S71)をコンピュ
ータ100(たとえば、クライアント1、サーバ2)に
実行させるプログラムを記録する記録媒体120であ
る。
【0080】ここで、このプログラムは、ステップS
1、S2、S6〜89、S32、S39〜S42、S5
4〜S57、S71を、クライアント1で実行させ、S
3〜S5、S10〜S11、S33〜S38、S51〜
S53、S58〜S59を、サーバ2で実行させるよう
に構成される。
【0081】また、このプログラムは、クライアント
1、サーバ2の記憶装置にロードされ、さらに、主記憶
にロードされて実行される。
【0082】
【発明の効果】本発明の効果は、ユーザ認証において、
性能に影響を与えずに信頼度が向上することである。
【0083】その理由は、認証フローにおいて、認証ご
とに共通鍵を更新するので(たとえば、上述したよう
に、乱数R3および乱数R4から新共通鍵)、共通鍵が
盗聴(解読)される可能性が低くなるからである。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態を示すブロック図で
ある。
【図2】本発明が適用されるクライアント・サーバシス
テムを示すブロック図、および通信シーケンスの説明図
である。
【図3】クライアントの認証情報キャッシュテーブルの
構成を示す説明図である。
【図4】初期認証開始トークン、および2回目以降認証
開始トークンの内容を示す説明図である。
【図5】初期認証応答トークン、および2回目以降認証
応答トークンの内容を示す説明図である。
【図6】認証応答完了トークンの内容を示す説明図であ
る。
【図7】サーバの認証情報キャッシュテーブルの構成を
示す説明図である。
【図8】本発明の第1の実施の形態の動作を示すフロー
チャートである。
【図9】本発明の第1の実施の形態の動作の認証フロー
を示す説明図である。
【図10】本発明の第1の実施の形態の動作の認証フロ
ーを示す説明図である。
【図11】本発明の第1の実施の形態の動作の認証フロ
ーを示す説明図である。
【図12】本発明の第1の実施の形態の動作の認証フロ
ーを示す説明図である。
【図13】本発明の第3の実施の形態を示すブロック図
である。
【符号の説明】
1 クライアント 2 サーバ 3 ネットワーク 10 認証部 11 認証情報キャッシュテーブル 12 認証情報キャッシュ検索手段 13 認証開始トークン生成・送信手段 14 認証応答トークン受信手段 15 認証応答完了トークン生成・送信手段 16 認証情報キャッシュ生成・更新手段 17 記憶手段 20 認証部 21 認証情報キャッシュテーブル 22 認証開始トークン受信手段 23 認証情報キャッシュ検索手段 24 認証応答トークン生成・送信手段 25 認証応答完了トークン受信手段 26 認証情報キャッシュ生成・更新手段 27 記憶手段 100 コンピュータ 120 記録媒体

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 認証情報を格納する第1のキャッシュテ
    ーブルを備え、前記クライアントが初めて認証を要求す
    る初期認証開始トークン、2回以降に認証を要求する2
    回目以降認証開始トークン、認証の完了を示す共通鍵で
    暗号化された認証応答完了トークンを送信するクライア
    ントと、認証情報を格納する第2のキャッシュテーブル
    を備え、第1の認証応答トークン、または前記共通鍵で
    暗号化された第2の認証応答トークンを送信し、前記ク
    ライアントからの前記認証応答トークンを受信するサー
    バとを有し、前記第1のキャッシュテーブルに前記サー
    バの認証情報が存在するかどうか検索する前記クライア
    ント内の第1のキャッシュ検索手段と、前記第1のキャ
    ッシュ検索手段による検索に失敗すると、前記初期認証
    開始トークンを、検索に成功すると、前記2回目以降認
    証開始トークンを前記サーバに送信する前記クライアン
    ト内の認証開始トークン生成・送信手段と、前記初期認
    証開始トークン、または前記2回目以降認証開始トーク
    ンを受信する前記サーバ内の認証開始トークン受信手段
    と、前記2回目以降認証開始トークンを受信すると、前
    記第2のキャッシュテーブルに、対応する前記初期開始
    認証トークンの認証情報が存在するかどうか検索する前
    記サーバ内の第2のキャッシュ検索手段と、前記初期認
    証開始トークン、あるいは、前記2回目以降認証開始ト
    ークンの前記第2のキャッシュ検索手段による検索失敗
    に対して、第1の乱数を含めた前記第1の認証応答トー
    クンを前記クライアントに送信する前記サーバ内の認証
    応答トークン生成・送信手段と、前記サーバからの前記
    第1の認証応答トークンを受信する前記クライアント内
    の認証応答トークン受信手段と、前記認証応答トークン
    受信手段で受信した前記第1の認証応答トークンに対し
    て、第2の乱数を含めた前記認証応答完了トークンを前
    記サーバに送信する前記クライアント内の認証応答完了
    トークン生成・送信手段と、前記クライアントからの認
    証応答トークンを受信する前記サーバ内の認証応答完了
    トークン受信手段と、前記第1のキャッシュテーブルに
    前記第1の乱数、前記第2の乱数、前記共通鍵を格納す
    る前記クライアント内の第1の認証情報キャッシュ生成
    ・更新手段と、前記第2のキャッシュテーブルに前記第
    1の乱数、前記第2の乱数、前記共通鍵を格納する前記
    サーバ内の第2の認証情報キャッシュ生成・更新手段
    と、前記第1のキャッシュ検索手段による検索に検索に
    成功すると、第3の乱数および前記第1のキャッシュテ
    ーブル内の前記第2の乱数を含めた前記2回目以降認証
    開始トークンを前記サーバに送信する前記認証開始トー
    クン生成・送信手段と、前記2回目以降認証開始トーク
    ンの前記第2のキャッシュ検索手段による検索に成功す
    ると、第4の乱数および前記第2のキャッシュテーブル
    内の前記第1の乱数を含めた前記認証応答トークンを前
    記クライアントに送信し、前記第3の乱数、および前記
    第4の乱数から新共通鍵を作成する前記証応答トークン
    生成・送信手段と、前記サーバから前記第4の乱数を含
    めた前記認証応答トークンを受信し、前記第3の乱数、
    および前記第4の乱数から前記新共通鍵を作成する前記
    認証応答トークン受信手段と、前記第1のキャッシュテ
    ーブル内の前記第1の乱数、前記第2の乱数、前記共通
    鍵を、それぞれ前記第4の乱数、前記第3の乱数、新共
    通鍵に更新する前記第1の認証情報キャッシュ生成・更
    新手段と、前記第2のキャッシュテーブル内の前記第1
    の乱数、前記第2の乱数、前記共通鍵を、それぞれ前記
    第4の乱数、前記第3の乱数、新共通鍵に更新する前記
    認証情報キャッシュ生成・更新手段と、を有することを
    特徴とするユーザ相互認証システム。
  2. 【請求項2】 前記認証応答トークンに含まれる前記第
    1の乱数と、前記第1のキャッシュテーブルに格納され
    ている第1の乱数とが不一致であると、認証が不成立で
    あるとして、前記前記第1のキャッシュテーブル内の対
    応する認証情報を削除する前記クライアントを有するこ
    とを特徴とする請求項1記載のユーザ相互認証システ
    ム。
  3. 【請求項3】 認証情報を格納する第1のキャッシュテ
    ーブルを備え、前記クライアントが初めて認証を要求す
    る初期認証開始トークン、2回以降に認証を要求する2
    回目以降認証開始トークン、認証の完了を示す共通鍵で
    暗号化された認証応答完了トークンを送信するクライア
    ントと、認証情報を格納する第2のキャッシュテーブル
    を備え、第1の認証応答トークン、または前記共通鍵で
    暗号化された第2の認証応答トークンを送信し、前記ク
    ライアントからの前記認証応答トークンを受信するサー
    バとを使用する、(a)前記第1のキャッシュテーブル
    に前記サーバの認証情報が存在するかどうか検索する第
    1のステップと、(b)前記第1のステップにおける検
    索に失敗すると、前記初期認証開始トークンを、検索に
    成功すると、前記2回目以降認証開始トークンを前記サ
    ーバに送信する第2のステップと、(c)前記初期認証
    開始トークン、または前記2回目以降認証開始トークン
    を受信する第3のステップと、(c)前記第3のステッ
    プにおいて、前記2回目以降認証開始トークンを受信す
    ると、前記第2のキャッシュテーブルに、対応する前記
    初期開始認証トークンの認証情報が存在するかどうか検
    索する第4のステップと、(d)前記初期認証開始トー
    クン、あるいは、前記2回目以降認証開始トークンの前
    記第4のステップにおける検索失敗に対して、第1の乱
    数を含めた前記第1の認証応答トークンを前記クライア
    ントに送信する第5のステップと、(e)前記サーバか
    らの前記第1の認証応答トークンを受信する第6のステ
    ップと、(f)前記第6のステップにおいて受信した前
    記第1の認証応答トークンに対して、第2の乱数を含め
    た前記認証応答完了トークンを前記サーバに送信する第
    7のステップと、(g)前記クライアントからの認証応
    答トークンを受信する第8のステップと、(h)前記第
    1のキャッシュテーブルに前記第1の乱数、前記第2の
    乱数、前記共通鍵を格納する第9のステップと、(i)
    前記第2のキャッシュテーブルに前記第1の乱数、前記
    第2の乱数、前記共通鍵を格納する第10のステップ
    と、(j)前記第1のステップにおける検索に検索に成
    功すると、第3の乱数および前記第1のキャッシュテー
    ブル内の前記第2の乱数を含めた前記2回目以降認証開
    始トークンを前記サーバに送信する第11のステップ
    と、(k)前記第4のステップにおいて、前記2回目以
    降認証開始トークンの検索に成功すると、第4の乱数お
    よび前記第2のキャッシュテーブル内の前記第1の乱数
    を含めた前記認証応答トークンを前記クライアントに送
    信する第12のステップと、(l)前記サーバのため
    に、前記第3の乱数、および前記第4の乱数から新共通
    鍵を作成する第13のステップと、(m)前記サーバか
    ら前記第4の乱数を含めた前記認証応答トークンを受信
    し、前記クライアントのために、前記第3の乱数、およ
    び前記第4の乱数から前記新共通鍵を作成する第14の
    ステップと、(n)前記第1のキャッシュテーブル内の
    前記第1の乱数、前記第2の乱数、前記共通鍵を、それ
    ぞれ前記第4の乱数、前記第3の乱数、新共通鍵に更新
    する第15のステップと、(o)前記第2のキャッシュ
    テーブル内の前記第1の乱数、前記第2の乱数、前記共
    通鍵を、それぞれ前記第4の乱数、前記第3の乱数、新
    共通鍵に更新する第16のステップと、を含むことを特
    徴とするユーザ相互認証方法。
  4. 【請求項4】 前記認証応答トークンに含まれる前記第
    1の乱数と、前記第1のキャッシュテーブルに格納され
    ている第1の乱数とが不一致であると、認証が不成立で
    あるとして、前記前記第1のキャッシュテーブル内の対
    応する認証情報を削除する第17のステップを含むこと
    を特徴とする請求項2記載のユーザ相互認証方法。
  5. 【請求項5】 認証情報を格納する第1のキャッシュテ
    ーブルを備え、前記クライアントが初めて認証を要求す
    る初期認証開始トークン、2回以降に認証を要求する2
    回目以降認証開始トークン、認証の完了を示す共通鍵で
    暗号化された認証応答完了トークンを送信するクライア
    ントと、認証情報を格納する第2のキャッシュテーブル
    を備え、第1の認証応答トークン、または前記共通鍵で
    暗号化された第2の認証応答トークンを送信し、前記ク
    ライアントからの前記認証応答トークンを受信するサー
    バとを使用する、(a)前記第1のキャッシュテーブル
    に前記サーバの認証情報が存在するかどうか検索する第
    1のステップと、(b)前記第1のステップにおける検
    索に失敗すると、前記初期認証開始トークンを、検索に
    成功すると、前記2回目以降認証開始トークンを前記サ
    ーバに送信する第2のステップと、(c)前記初期認証
    開始トークン、または前記2回目以降認証開始トークン
    を受信する第3のステップと、(c)前記第3のステッ
    プにおいて、前記2回目以降認証開始トークンを受信す
    ると、前記第2のキャッシュテーブルに、対応する前記
    初期開始認証トークンの認証情報が存在するかどうか検
    索する第4のステップと、(d)前記初期認証開始トー
    クン、あるいは、前記2回目以降認証開始トークンの前
    記第4のステップにおける検索失敗に対して、第1の乱
    数を含めた前記第1の認証応答トークンを前記クライア
    ントに送信する第5のステップと、(e)前記サーバか
    らの前記第1の認証応答トークンを受信する第6のステ
    ップと、(f)前記第6のステップにおいて受信した前
    記第1の認証応答トークンに対して、第2の乱数を含め
    た前記認証応答完了トークンを前記サーバに送信する第
    7のステップと、(g)前記クライアントからの認証応
    答トークンを受信する第8のステップと、(h)前記第
    1のキャッシュテーブルに前記第1の乱数、前記第2の
    乱数、前記共通鍵を格納する第9のステップと、(i)
    前記第2のキャッシュテーブルに前記第1の乱数、前記
    第2の乱数、前記共通鍵を格納する第10のステップ
    と、(j)前記第1のステップにおける検索に検索に成
    功すると、第3の乱数および前記第1のキャッシュテー
    ブル内の前記第2の乱数を含めた前記2回目以降認証開
    始トークンを前記サーバに送信する第11のステップ
    と、(k)前記第4のステップにおいて、前記2回目以
    降認証開始トークンの検索に成功すると、第4の乱数お
    よび前記第2のキャッシュテーブル内の前記第1の乱数
    を含めた前記認証応答トークンを前記クライアントに送
    信する第12のステップと、(l)前記サーバのため
    に、前記第3の乱数、および前記第4の乱数から新共通
    鍵を作成する第13のステップと、(m)前記サーバか
    ら前記第4の乱数を含めた前記認証応答トークンを受信
    し、前記クライアントのために、前記第3の乱数、およ
    び前記第4の乱数から前記新共通鍵を作成する第14の
    ステップと、(n)前記第1のキャッシュテーブル内の
    前記第1の乱数、前記第2の乱数、前記共通鍵を、それ
    ぞれ前記第4の乱数、前記第3の乱数、新共通鍵に更新
    する第15のステップと、(o)前記第2のキャッシュ
    テーブル内の前記第1の乱数、前記第2の乱数、前記共
    通鍵を、それぞれ前記第4の乱数、前記第3の乱数、新
    共通鍵に更新する第16のステップと、をコンピュータ
    に実行させるプログラムを記録したことを特徴とする記
    録媒体。
  6. 【請求項6】 認証情報を格納する第1のキャッシュテ
    ーブルを備え、前記クライアントが初めて認証を要求す
    る初期認証開始トークン、2回以降に認証を要求する2
    回目以降認証開始トークン、認証の完了を示す共通鍵で
    暗号化された認証応答完了トークンを送信するクライア
    ントと、認証情報を格納する第2のキャッシュテーブル
    を備え、第1の認証応答トークン、または前記共通鍵で
    暗号化された第2の認証応答トークンを送信し、前記ク
    ライアントからの前記認証応答トークンを受信するサー
    バとを使用する、(a)前記第1のキャッシュテーブル
    に前記サーバの認証情報が存在するかどうか検索する第
    1のステップと、(b)前記第1のステップにおける検
    索に失敗すると、前記初期認証開始トークンを、検索に
    成功すると、前記2回目以降認証開始トークンを前記サ
    ーバに送信する第2のステップと、(c)前記初期認証
    開始トークン、または前記2回目以降認証開始トークン
    を受信する第3のステップと、(c)前記第3のステッ
    プにおいて、前記2回目以降認証開始トークンを受信す
    ると、前記第2のキャッシュテーブルに、対応する前記
    初期開始認証トークンの認証情報が存在するかどうか検
    索する第4のステップと、(d)前記初期認証開始トー
    クン、あるいは、前記2回目以降認証開始トークンの前
    記第4のステップにおける検索失敗に対して、第1の乱
    数を含めた前記第1の認証応答トークンを前記クライア
    ントに送信する第5のステップと、(e)前記サーバか
    らの前記第1の認証応答トークンを受信する第6のステ
    ップと、(f)前記第6のステップにおいて受信した前
    記第1の認証応答トークンに対して、第2の乱数を含め
    た前記認証応答完了トークンを前記サーバに送信する第
    7のステップと、(g)前記クライアントからの認証応
    答トークンを受信する第8のステップと、(h)前記第
    1のキャッシュテーブルに前記第1の乱数、前記第2の
    乱数、前記共通鍵を格納する第9のステップと、(i)
    前記第2のキャッシュテーブルに前記第1の乱数、前記
    第2の乱数、前記共通鍵を格納する第10のステップ
    と、(j)前記第1のステップにおける検索に検索に成
    功すると、第3の乱数および前記第1のキャッシュテー
    ブル内の前記第2の乱数を含めた前記2回目以降認証開
    始トークンを前記サーバに送信する第11のステップ
    と、(k)前記第4のステップにおいて、前記2回目以
    降認証開始トークンの検索に成功すると、第4の乱数お
    よび前記第2のキャッシュテーブル内の前記第1の乱数
    を含めた前記認証応答トークンを前記クライアントに送
    信する第12のステップと、(l)前記サーバのため
    に、前記第3の乱数、および前記第4の乱数から新共通
    鍵を作成する第13のステップと、(m)前記サーバか
    ら前記第4の乱数を含めた前記認証応答トークンを受信
    し、前記クライアントのために、前記第3の乱数、およ
    び前記第4の乱数から前記新共通鍵を作成する第14の
    ステップと、(n)前記第1のキャッシュテーブル内の
    前記第1の乱数、前記第2の乱数、前記共通鍵を、それ
    ぞれ前記第4の乱数、前記第3の乱数、新共通鍵に更新
    する第15のステップと、(o)前記第2のキャッシュ
    テーブル内の前記第1の乱数、前記第2の乱数、前記共
    通鍵を、それぞれ前記第4の乱数、前記第3の乱数、新
    共通鍵に更新する第16のステップと、(p)前記認証
    応答トークンに含まれる前記第1の乱数と、前記第1の
    キャッシュテーブルに格納されている第1の乱数とが不
    一致であると、認証が不成立であるとして、前記前記第
    1のキャッシュテーブル内の対応する認証情報を削除す
    る第17のステップと、をコンピュータに実行させるプ
    ログラムを記録したことを特徴とする記録媒体。
JP14687899A 1999-05-26 1999-05-26 ユーザ相互認証システム、ユーザ相互認証方法、および記録媒体 Expired - Fee Related JP3498008B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14687899A JP3498008B2 (ja) 1999-05-26 1999-05-26 ユーザ相互認証システム、ユーザ相互認証方法、および記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14687899A JP3498008B2 (ja) 1999-05-26 1999-05-26 ユーザ相互認証システム、ユーザ相互認証方法、および記録媒体

Publications (2)

Publication Number Publication Date
JP2000339270A true JP2000339270A (ja) 2000-12-08
JP3498008B2 JP3498008B2 (ja) 2004-02-16

Family

ID=15417620

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14687899A Expired - Fee Related JP3498008B2 (ja) 1999-05-26 1999-05-26 ユーザ相互認証システム、ユーザ相互認証方法、および記録媒体

Country Status (1)

Country Link
JP (1) JP3498008B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003037587A (ja) * 2001-07-26 2003-02-07 Matsushita Electric Ind Co Ltd セッション鍵生成方法
JP2006165984A (ja) * 2004-12-07 2006-06-22 Hitachi Ltd アドホックネットワークの認証方法、および、その無線通信端末
US7457848B2 (en) * 2001-08-27 2008-11-25 Sony Corporation Over-network resource distribution system and mutual authentication system
KR101137523B1 (ko) * 2011-09-26 2012-04-20 유승훈 인증매체, 인증단말, 인증서버 및 이들을 이용한 인증방법
WO2016194382A1 (ja) * 2015-06-04 2016-12-08 典平 露崎 放射性同位元素の自然崩壊を利用した唯一性を実現する装置
JP2019061663A (ja) * 2017-09-27 2019-04-18 株式会社デンソー 電子制御装置
US10708044B2 (en) 2015-06-04 2020-07-07 Quantaglion Co., Ltd. Pulse generation device using a radioisotope and authentication system

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003037587A (ja) * 2001-07-26 2003-02-07 Matsushita Electric Ind Co Ltd セッション鍵生成方法
JP4604418B2 (ja) * 2001-07-26 2011-01-05 パナソニック株式会社 通信装置および通信方法
US7457848B2 (en) * 2001-08-27 2008-11-25 Sony Corporation Over-network resource distribution system and mutual authentication system
JP2006165984A (ja) * 2004-12-07 2006-06-22 Hitachi Ltd アドホックネットワークの認証方法、および、その無線通信端末
JP4551202B2 (ja) * 2004-12-07 2010-09-22 株式会社日立製作所 アドホックネットワークの認証方法、および、その無線通信端末
KR101137523B1 (ko) * 2011-09-26 2012-04-20 유승훈 인증매체, 인증단말, 인증서버 및 이들을 이용한 인증방법
WO2013048055A1 (ko) * 2011-09-26 2013-04-04 Yoo Seung Hun 인증매체, 인증단말, 인증서버 및 이들을 이용한 인증방법
WO2016194382A1 (ja) * 2015-06-04 2016-12-08 典平 露崎 放射性同位元素の自然崩壊を利用した唯一性を実現する装置
US10708044B2 (en) 2015-06-04 2020-07-07 Quantaglion Co., Ltd. Pulse generation device using a radioisotope and authentication system
JP2019061663A (ja) * 2017-09-27 2019-04-18 株式会社デンソー 電子制御装置
JP7210943B2 (ja) 2017-09-27 2023-01-24 株式会社デンソー 電子制御装置

Also Published As

Publication number Publication date
JP3498008B2 (ja) 2004-02-16

Similar Documents

Publication Publication Date Title
US11196573B2 (en) Secure de-centralized domain name system
JP3761557B2 (ja) 暗号化通信のための鍵配付方法及びシステム
US9426140B2 (en) Federated authentication of client computers in networked data communications services callable by applications
US7690026B2 (en) Distributed single sign-on service
JP3278612B2 (ja) ユーザ相互認証装置、クライアント装置およびサーバ装置
US20070255951A1 (en) Token Based Multi-protocol Authentication System and Methods
JP4344957B2 (ja) 処理分散システム、認証サーバ、分散サーバ及び処理分散方法
CN111953490B (zh) 基于区块链技术的数字签名方法及系统
CN111192050B (zh) 一种数字资产私钥存储提取方法及装置
CN109146479A (zh) 基于区块链的数据加密方法
JP4013175B2 (ja) ユーザの簡易認証方法、認証サーバ、およびそのためのプログラムを格納した記録媒体
US9288049B1 (en) Cryptographically linking data and authentication identifiers without explicit storage of linkage
JP2000339270A (ja) ユーザ相互認証システム、ユーザ相互認証方法、および記録媒体
JPH08335208A (ja) 代理認証方法及びシステム
JPH11331145A (ja) 情報共有システム、情報保管装置およびそれらの情報処理方法、並びに記録媒体
JP4631869B2 (ja) 暗号化通信のための鍵配付方法及びシステム
JP2005304093A (ja) 暗号化通信のための鍵配付方法及びシステム
JP4727353B2 (ja) 識別情報生成管理装置およびシステムならびにプログラム
JP2833747B2 (ja) 鍵生成装置
JP2013114534A (ja) データ処理装置及びデータ処理方法及びプログラム
KR100659972B1 (ko) 홈네트워크 디바이스들의 상호인증 방법
JP2005327315A (ja) クライアントとサーバ間の簡易認証方法
JP3839814B2 (ja) サービス提供端末及びプログラム
JP4928416B2 (ja) 公開鍵簿登録方法、公開鍵簿管理装置、プログラム及び記録媒体
JP2009116454A (ja) ユーザ認証方法、アクセス用端末装置、プログラム及び記録媒体

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20031104

LAPS Cancellation because of no payment of annual fees