(57)【要約】【課題】ネットワークを介して接続可能な２つの端末間の通信セッションにおいて、安全性が高く、端末にとって低負荷で効率の良い認証処理を行うこと。【解決手段】イニシエータ３は、送信文２０００を作成し、レスポンダ５に送信する。レスポンダ５は、送信されたＤ−ＩＤによる認証を行う。レスポンダ５は、共有シードを作成し、送信データ３０００を作成し、イニシエータ３に送信するとともに、次の（ｉ＋１）番目のセッション用のデータを作成する。イニシエータ３は、受信した送信データからＤｏＳ攻撃かどうかをチェックし、受信したＤ−ＩＤによる認証を行う。また、共有シードを作成し、次の（ｉ＋１）番目のセッション用のデータを作成する。【選択図】図６
2007336127.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続された第１の端末装置と第２の端末装置間の認証処理を行う認証システムであって、
前記第１の端末は、
第１の送信用ダイナミックＩＤと、前記第１の送信用ダイナミックＩＤに関連付けられた少なくとも２つ以上の第１の認証鍵を保持する第１のデータ保持手段と、
第１の乱数を生成する第１の乱数生成手段と、
前記第１のデータ保持手段から第１の送信用ダイナミックＩＤを選択し、当該第１の送信用ダイナミックＩＤに対応する前記第１の認証鍵と、前記第１の認証鍵と前記第１の乱数を用いて演算を行い、第１の暗号化乱数を生成する第１の暗号化乱数生成手段と、
前記第１の暗号化乱数生成手段によって生成された前記第１の暗号化乱数と、前記第１の認証鍵を用いて、第１の認証コードを生成する第１の認証コード生成手段と、
前記第１の送信用ダイナミックＩＤと、前記第１の暗号化乱数と、前記第１の認証コードとを、前記第２の端末装置に送信する手段と、
を具備し、
前記第２の端末装置は、
第１の受信用ダイナミックＩＤと、前記第１の受信用ダイナミックＩＤに関連付けられた、第１のＩＤと少なくとも２つ以上の第２の認証鍵を保持する第２のデータ保持手段と、
前記第２のデータ保持手段から、前記第１の送信用ダイナミックＩＤと一致する第１の受信用ダイナミックＩＤを検出する第１の検出手段と、
前記第１の検出手段によって検出された第１の受信用ダイナミックＩＤに関連付けられる少なくとも２つ以上の第２の認証鍵を、前記第２のデータ保持手段から取得し、前記第１の送信用ダイナミックＩＤと前記第２のデータ保持手段から取得した第２の認証鍵とを利用して演算を行い、ＩＤを算出し、前記算出されたＩＤと、前記第２のデータ保持手段において当該第１の受信用ダイナミックＩＤに関連付けられて保持された第１のＩＤと、を照合して認証を行う第１の認証手段と、
を具備することを特徴とする認証システム。
【請求項２】
前記第１の認証手段は、
（Ｘ◎Ｙ）◎Ｙ＝Ｘ
を満たす演算子◎を使用し、
前記第１の送信用ダイナミックＩＤをＤ−ＩＤ、第２の認証鍵をＡＫ’ｉ、ＡＫｉとしたときに、
（Ｄ−ＩＤ◎ＡＫ’ｉ）◎ＡＫｉ＝ＩＤ
となるＩＤを算出することを特徴とする請求項１記載の認証システム。
【請求項３】
更に、前記第２の端末装置は、
前記第２の認証鍵と、前記第１の端末装置から送信された第１の暗号化乱数を用いて、第２の認証コードを生成する第２の認証コード生成手段と、
前記第１の認証コードと前記第２の認証コードを照合する手段と、
を具備することを特徴とする請求項１或いは請求項２記載の認証システム。
【請求項４】
更に、前記第２の端末装置は、
第２の乱数を生成する第２の乱数生成手段と、
前記第１の端末装置から送信された前記第１の暗号化乱数と前記第２のデータ保持手段に保持された第２の認証鍵を用いて、第１の乱数を取得し、前記第１の乱数と、前記第２の乱数と、前記第２の認証鍵とから第１の共有シードを生成する第１の共有シード生成手段と、
を具備することを特徴とする請求項１から請求項３のいずれかに記載の認証システム。
【請求項５】
前記第２のデータ保持手段は、前記第１の受信用ダイナミックＩＤに関連付けて第２の送信用ダイナミックＩＤを更に保持し、
更に、前記第２の端末装置は、
前記第２の乱数と、前記第２の認証鍵と、を用いて、前記演算子による演算を行い、第２の暗号化乱数を生成する第２の暗号化乱数生成手段と、
前記第２の暗号化乱数生成手段によって生成された第２の暗号化乱数と、前記第２の認証鍵を用いて、第２の認証コードを生成する第２の認証コード生成手段と、
前記第２の送信用ダイナミックＩＤと、前記第２の暗号化乱数と、前記第２の認証コードとを、前記第１の端末装置に送信する手段と、
を具備することを特徴とする請求項４記載の認証システム。
【請求項６】
更に、前記第２の端末装置は、
前記第１の共有シードと所定の関数とを用いて、前記第２の認証鍵を更新し、
前記更新された認証鍵を用いて、前記第２の送信用ダイナミックＩＤ及び前記第１の受信用ダイナミックＩＤを更新し、前記第２のデータ保持手段に保持することを特徴とする請求項４記載の認証システム。
【請求項７】
前記第１のデータ保持手段は、第２の受信用ダイナミックＩＤと、前記第２の受信用ダイナミックＩＤに関連付けられた、第２のＩＤと少なくとも２つ以上の第１の認証鍵を保持し、
前記第１の端末装置は、
前記第１のデータ保持手段から、前記第２の送信用ダイナミックＩＤと一致する第２の受信用ダイナミックＩＤを検出する第２の検出手段と、
前記第２の検出手段によって検出された第２の受信用ダイナミックＩＤに関連付けられる少なくとも２つ以上の第１の認証鍵を、前記第１のデータ保持手段から取得し、前記第２の送信用ダイナミックＩＤと前記第２のデータ保持手段から取得した第２の認証鍵とを利用して演算を行い、ＩＤを算出し、前記算出されたＩＤと、前記第１のデータ保持手段において当該第２の受信用ダイナミックＩＤに関連付けられて保持された第２のＩＤと、を照合して認証を行う第２の認証手段と、
を具備することを特徴とする請求項１から請求項７のうちのいずれかに記載された認証システム。
【請求項８】
前記第２の認証手段は、
（Ｘ◎Ｙ）◎Ｙ＝Ｘ
を満たす演算子◎を使用し、
前記第２の送信用ダイナミックＩＤをＤ−ＩＤ、前記第１の認証鍵をＡＫ’ｉ、ＡＫｉとしたときに、
（Ｄ−ＩＤ◎ＡＫ’ｉ）◎ＡＫｉ＝ＩＤ
となるＩＤを算出することを特徴とする請求項７記載の認証システム。
【請求項９】
更に、前記第１の端末装置は、
前記第２の端末装置から送信された前記第２の暗号化乱数と前記第１のデータ保持手段に保持された第１の認証鍵を用いて、第２の乱数を取得し、前記第１の乱数と、前記第２の乱数と、前記第１の認証鍵から第２の共有シードを生成する第２の共有シード生成手段を具備することを特徴とする請求項７或いは請求項８記載の認証システム。
【請求項１０】
更に、前記第１の端末装置は、
前記第２の共有シードと所定の関数とを用いて、前記第１の認証鍵を更新し、
前記更新された認証鍵を用いて、前記第１の送信用ダイナミックＩＤ及び第２の受信用ダイナミックＩＤを更新し、前記第１のデータ保持手段に保持することを特徴とする請求項９記載の認証システム。
【請求項１１】
更に、前記第２の端末装置は、
前記第１の端末装置から送信された前記第１の暗号化乱数と前記第２のデータ保持手段に保持された第２の認証鍵を用いて、第１の乱数を取得し、前記第１の乱数と、前記第２の認証鍵とから第１の共有シードを生成する第１の共有シード生成手段と、
を具備することを特徴とする請求項１から請求項３のいずれかに記載の認証システム。
【請求項１２】
更に、前記第２の端末装置は、
前記第１の共有シードと所定の関数とを用いて、前記第２の認証鍵を更新し、
前記更新された認証鍵を用いて、前記第２の送信用ダイナミックＩＤ及び前記第１の受信用ダイナミックＩＤを更新し、前記第２のデータ保持手段に保持することを特徴とする請求項１１記載の認証システム。
【請求項１３】
更に、前記第１の端末装置は、
前記第１の乱数と前記第１の認証鍵とから第２の共有シードを生成する第２の共有シード生成手段を具備することを特徴とする請求項１１或いは請求項１２記載の認証システム。
【請求項１４】
更に、前記第１の端末装置は、
前記第２の共有シードと所定の関数とを用いて、前記第１の認証鍵を更新し、
前記更新された認証鍵を用いて、前記第１の送信用ダイナミックＩＤ及び第２の受信用ダイナミックＩＤを更新し、前記第１のデータ保持手段に保持することを特徴とする請求項１３記載の認証システム。
【請求項１５】
サーバコンピュータが、前記サーバコンピュータとネットワークを介して接続されたクライアントを認証する認証システムであって、
前記クライアントは、
第１のダイナミックＩＤと、前記第１のダイナミックＩＤに関連付けられた少なくとも２つ以上の第１の認証鍵を保持する第１のデータ保持手段と、
前記第１のダイナミックＩＤを、前記サーバコンピュータに送信する手段と、
を具備し、
前記サーバコンピュータは、
第２のダイナミックＩＤと、前記第２のダイナミックＩＤに関連付けられた、ＩＤと少なくとも２つ以上の第２の認証鍵を保持する第２のデータ保持手段と、
前記第２のデータ保持手段から、前記第１のダイナミックＩＤと一致する第２のダイナミックＩＤを検出する検出手段と、
前記検出手段によって検出された第２のダイナミックＩＤに関連付けられる少なくとも２つ以上の第２の認証鍵を、前記第２のデータ保持手段から取得し、前記第１のダイナミックＩＤと前記データ保持手段から取得した第２の認証鍵とを利用して演算を行い、ＩＤを算出し、前記算出されたＩＤと、前記第２のデータ保持手段において当該第２のダイナミックＩＤに関連付けられて保持されたＩＤと、を照合して認証を行う認証手段と、
を具備することを特徴とする認証システム。
【請求項１６】
前記認証手段は、
（Ｘ◎Ｙ）◎Ｙ＝Ｘ
を満たす演算子◎を使用し、
前記第１のダイナミックＩＤをＤ−ＩＤ、前記認証鍵をＡＫ’ｉ、ＡＫｉとしたときに、
（Ｄ−ＩＤ◎ＡＫ’ｉ）◎ＡＫｉ＝ＩＤ
となるＩＤを取り出すことを特徴とする請求項１５記載の認証システム。
【請求項１７】
更に、前記サーバコンピュータは、
乱数を生成する乱数生成手段と、
前記乱数と、前記第２の認証鍵とから第１の共有シードを生成する第１の共有シード生成手段と、
を具備することを特徴とする請求項１５又は請求項１６に記載の認証システム。
【請求項１８】
更に、前記サーバコンピュータは、
前記乱数と、前記第２の認証鍵と、を用いて、前記演算子による演算を行い、暗号化乱数を生成する暗号化乱数生成手段と、
前記暗号化乱数生成手段によって生成された暗号化乱数と、前記第２の認証鍵を用いて、認証コードを生成する認証コード生成手段と、
前記暗号化乱数と、前記認証コードとを、前記クライアントに送信する手段と、
具備することを特徴とする請求項１７記載の認証システム。
【請求項１９】
更に、前記サーバコンピュータは、
前記第１の共有シードと所定の関数とを用いて、前記第２の認証鍵を更新し、
前記更新された認証鍵を用いて、前記第１のダイナミックＩＤを更新し、前記第２のデータ保持手段に保持することを特徴とする請求項１７記載の認証システム。
【請求項２０】
更に、前記クライアントは、前記サーバコンピュータから送信された暗号化乱数を前記第１の認証鍵を用いて認証コードを作成し、前記作成した認証コードと、前記サーバコンピュータから送信された認証コードとを照合して認証を行うことを特徴とする請求項１８に記載された認証システム。
【請求項２１】
更に、前記クライアントは、
前記サーバコンピュータから送信された前記暗号化乱数と前記第１のデータ保持手段に保持された第１の認証鍵を用いて、第２の乱数を取得し、前記第２の乱数と、前記第１の認証鍵とから第２の共有シードを生成する第２の共有シード生成手段を具備することを特徴とする請求項２０に記載された認証システム。
【請求項２２】
更に、前記クライアントは、
前記第２の共有シードと所定の関数とを用いて、前記第１の認証鍵を更新し、
前記更新された認証鍵を用いて、前記第１の送信用ダイナミックＩＤを更新し、前記第１のデータ保持手段に保持することを特徴とする請求項２１記載の認証システム。
【請求項２３】
ネットワークを介してクライアントに接続され、前記クライアントを認証するサーバコンピュータであって、
前記クライアントから、第１の送信用ダイナミックＩＤと、第１の暗号化乱数と、第１の認証コードを取得する手段と、
受信用ダイナミックＩＤと、前記受信用ダイナミックＩＤに関連付けられた、ＩＤと少なくとも２つ以上の認証鍵を保持するデータ保持手段と、
前記データ保持手段から、前記第１の送信用ダイナミックＩＤと一致する受信用ダイナミックＩＤを検出する検出手段と、
前記検出手段によって検出された受信用ダイナミックＩＤに関連付けられる少なくとも２つ以上の認証鍵を、前記データ保持手段から取得し、前記第１の送信用ダイナミックＩＤと前記データ保持手段から取得した認証鍵とを利用して演算を行い、ＩＤを算出し、前記算出されたＩＤと、前記データ保持手段において当該受信用ダイナミックＩＤに関連付けられて保持されたＩＤと、を照合して認証を行う認証手段と、
を具備することを特徴とするサーバコンピュータ。
【請求項２４】
前記認証手段は、
（Ｘ◎Ｙ）◎Ｙ＝Ｘ
を満たす演算子◎を使用し、
前記第１の送信用ダイナミックＩＤをＤ−ＩＤ、前記認証鍵をＡＫ’ｉ、ＡＫｉとしたときに、
（Ｄ−ＩＤ◎ＡＫ’ｉ）◎ＡＫｉ＝ＩＤ
となるＩＤを算出することを特徴とする請求項２３記載のサーバコンピュータ。
【請求項２５】
前記認証鍵と、前記クライアントから送信された第１の暗号化乱数を用いて、第２の認証コードを生成する認証コード生成手段と、
前記第１の認証コードと前記第２の認証コードを照合する手段を、
更に具備することを特徴とする請求項２３或いは請求項２４記載のサーバコンピュータ。
【請求項２６】
第２の乱数を生成する乱数生成手段と、
前記クライアントから送信された前記第１の暗号化乱数と前記データ保持手段に保持された認証鍵を用いて、第１の乱数を取得し、前記第１の乱数と、前記第２の乱数と、前記認証鍵とから共有シードを生成する共有シード生成手段を、
更に具備することを特徴とする請求項２３から請求項２５のいずれかに記載のサーバコンピュータ。
【請求項２７】
前記データ保持手段は、前記受信用ダイナミックＩＤに関連付けて第２の送信用ダイナミックＩＤを更に保持し、
前記第２の乱数と、前記認証鍵と、を用いて、前記演算子による演算を行い、第２の暗号化乱数を生成する暗号化乱数生成手段と、
前記暗号化乱数生成手段によって生成された第２の暗号化乱数と、前記認証鍵を用いて、第２の認証コードを生成する認証コード生成手段と、
前記第２の送信用ダイナミックＩＤと、前記第２の暗号化乱数と、前記第２の認証コードとを、前記クライアントに送信する手段と、
具備することを特徴とする請求項２６記載のサーバコンピュータ。
【請求項２８】
前記共有シードと所定の関数とを用いて、前記認証鍵を更新し、
前記更新された認証鍵を用いて、前記受信用ダイナミックＩＤおよび前記第２の送信用ダイナミックＩＤを更新し、前記データ保持手段に保持することを特徴とする請求項２６或いは請求項２７記載のサーバコンピュータ。
【請求項２９】
前記クライアントから送信された前記第１の暗号化乱数と前記データ保持手段に保持された認証鍵を用いて、第１の乱数を取得し、前記第１の乱数と、前記認証鍵とから共有シードを生成する共有シード生成手段を、
更に具備することを特徴とする請求項２３から請求項２５のいずれかに記載のサーバコンピュータ。
【請求項３０】
前記共有シードと所定の関数とを用いて、前記認証鍵を更新し、前記更新された認証鍵を用いて、前記受信用ダイナミックＩＤを更新し、前記データ保持手段に保持することを特徴とする請求項２９記載のサーバコンピュータ。
【請求項３１】
ネットワークを介してクライアントに接続し、前記クライアントを認証する認証システムのサーバコンピュータであって、
前記クライアントから、第１のダイナミックＩＤを取得する手段と、
第２のダイナミックＩＤと、前記第２のダイナミックＩＤに関連付けられた、ＩＤと少なくとも２つ以上の認証鍵を保持するデータ保持手段と、
前記データ保持手段から、前記第１のダイナミックＩＤと一致する第２のダイナミックＩＤを検出する検出手段と、
前記検出手段によって検出された第２のダイナミックＩＤに関連付けられる少なくとも２つ以上の認証鍵を、前記データ保持手段から取得し、前記第１のダイナミックＩＤと前記データ保持手段から取得した認証鍵とを利用して演算を行い、ＩＤを算出し、前記算出されたＩＤと、前記データ保持手段において当該第２のダイナミックＩＤに関連付けられて保持されたＩＤと、を照合して認証を行う認証手段と、
を具備することを特徴とするサーバコンピュータ。
【請求項３２】
前記認証手段は、
（Ｘ◎Ｙ）◎Ｙ＝Ｘ
を満たす演算子◎を使用し、
前記第１のＩＤをＤ−ＩＤ、前記認証鍵をＡＫ’ｉ、ＡＫｉとしたときに、
（Ｄ−ＩＤ◎ＡＫ’ｉ）◎ＡＫｉ＝ＩＤ
となるＩＤを取り出すことを特徴とする請求項３１記載のサーバコンピュータ。
【請求項３３】
乱数を生成する乱数生成手段と、
前記乱数と、前記認証鍵とから共有シードを生成する共有シード生成手段と、
を具備することを特徴とする請求項３１又は請求項３２に記載のサーバコンピュータ。
【請求項３４】
前記乱数と、前記認証鍵と、を用いて、前記演算子による演算を行い、暗号化乱数を生成する暗号化乱数生成手段と、
前記暗号化乱数生成手段によって生成された暗号化乱数と、前記認証鍵を用いて、認証コードを生成する認証コード生成手段と、
前記暗号化乱数と、前記認証コードとを、前記クライアントに送信する手段と、
を更に具備することを特徴とする請求項３３記載のサーバコンピュータ。
【請求項３５】
前記共有シードと所定の関数とを用いて、前記認証鍵を更新し、
前記更新された認証鍵を用いて、前記第１のダイナミックＩＤを更新し、前記データ保持手段に保持することを特徴とする請求項３３記載のサーバコンピュータ。
【請求項３６】
コンピュータを請求項２３から請求項３５のいずれかに記載されたサーバコンピュータとして機能させるプログラム。
【請求項３７】
コンピュータを請求項２３から請求項３５のいずれかに記載されたサーバコンピュータとして機能させるプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、使い捨てＩＤを利用したＤｏＳ（Denial  of  Service）攻撃に強い、高速かつ低負荷な効率のよい二者間通信における認証機能に関する。
【背景技術】
【０００２】
近年のコンピュータネットワーク技術の発達は、ネットワークを介して提供されるサービスの増加をもたらしたが，ネットワーク技術の進展に伴い、不正アクセスなどの問題が深刻となっている。これら排除のために、サービス提供に先立ち行われる端末間の認証処理は重要なものとなっている。
例えば、ネットワークに接続された２つの端末装置を例に考える。２つの端末のうち一つをイニシエータ、もう一方をレスポンダとすると、両者間の認証処理とは、あるサービスの利用を希望するイニシエータがトリガーを引き、サービス提供者であるレスポンダがサービスを提供する一連の流れ（以後セッションとする）において、レスポンダがイニシエータの正当性を検証する作業のことである。このために，レスポンダはイニシエータの固定の識別子（以後ＩＤとする）をキーとし、パスワードなど秘密の認証情報をテーブルにて関連付けて管理しておき、レスポンダはイニシエータからの問い合わせの際，受信したＩＤ及び認証情報と、自身が保持するＩＤ及び認証情報の突合せ処理を行うことで，イニシエータの正当性を判断する方法が広く利用されている。
【０００３】
しかしながら、このような場合では、パスワードが固定であることから、パスワード漏洩により不正利用の危険性が高くなる。
この危険性に対する防止のために、使い捨てＩＤを用いる方法がある。（例えば、特許文献１）
使い捨てＩＤとは「ＩＤは一度のみ有効である」、「第三者は次のＩＤを予測することが不可能である」、「第三者はＩＤから利用者が特定できない」という性質を持つＩＤである。使い捨てＩＤは通信のセッションごとに変更されるため、たとえ攻撃者が使い捨てＩＤを入手し利用したとしても，レスポンダが管理するテーブルには既に更新されたＩＤが記録されており，攻撃者の入手したＩＤは存在しない。
【０００４】
以下、従来の使い捨てＩＤによる認証処理について説明する。
使い捨てＩＤを利用した認証方式としてＳＩＧＮＡＬ方式がある。（例えば、非特許文献１）図１９は、イニシエータ７１００とレスポンダ７２００間の認証処理の概要を示すフローチャートである。図２０は、認証処理において使用される演算処理を示す演算処理テーブルを示す図である。図２１は、イニシエータ７１００が保持するイニシエータ情報管理テーブル９３００を示す図であり、図２２はレスポンダ７２００が保持するレスポンダ情報管理テーブル９４００を示す図である。
【０００５】
図２０に示す演算処理テーブルは、図１９に示す認証処理において必要となる演算９２０１〜９２０４を示す。
図２１は、イニシエータ７１００が保持する情報であり、レスポンダの固定ＩＤ９３０１に対応する受信用ＳＩＧＮＡＬｉ９３０２、認証鍵９３０３、送信用ＳＩＧＮＡＬｉ９３０４である。
図２２は、レスポンダ７２００が保持する情報であり、イニシエータの固定ＩＤ９４０１に対応する受信用ＳＩＧＮＡＬｉ９４０２、認証鍵９３０３、送信用ＳＩＧＮＡＬｉ９４０４、である。
【０００６】
図１９に示すように、イニシエータ７１００は、レスポンダ７２００に対して送信する送信データ９０００を作成し（ステップ８０００）、送信する（ステップ８１００）。
【０００７】
ｉセッションにおいて、イニシエータ７２００から送信されるデータ９０００は、ＳＩＧＮＡＬＩｉ、ＡＫｉを用いてｒＩｉ、ＩＤＩ、ＩＤＲ、ＳＩＧＮＡＬＩｉを暗号化したものを示すＥＡＫｉ｛ｒＩｉ，ＩＤＩ，ＩＤＲ，ＳＩＧＮＡＬＩｉ｝である。
【０００８】
ＳＩＧＮＡＬＩｉは、図２０に示す演算処理テーブルにおける演算９２０１に示されるように、一方向関数であるハッシュ関数ｈと（ｉ−１）セッション目で作成された共有シードＫｉ−１によって求められる。ここで、共有シードＫｉ−１は、ｉセッションの通信時にDiffie-Hellman（DH）鍵交換により交換される乱数要素ｒＩｉ，ＲＩｉを利用した演算９２０４によって更新される。
そのため、仮にＫｉ−１が漏洩したとしてもＫｉ−１からＫｉを求めることは不可能である。ＩＤＩ，ＩＤＲは、イニシエータ７１００及びレスポンダ７２００の固定ＩＤである。
【０００９】
レスポンダ７２００は、イニシエータから送信されたデータ９０００を受信し、そのデータからＳＩＧＮＡＬＩｉを取り出して、自身の保持するレスポンダ情報管理テーブル９４００を検索する（ステップ８２００）。レスポンダ情報管理テーブル９４００や演算処理テーブルに示されるデータや演算を用いて、認証処理を行い（ステップ８３００）、次セッション（ｉ＋１セッション）のためのデータを更新する（ステップ８４００）。イニシエータ７１００に、データを送信する（ステップ８５００）ことによって、認証処理が完了する。
【００１０】
レスポンダ７２００は、イニシエータ７１００から送信されたＳＩＧＮＡＬＩｉを受信用ＳＩＧＮＡＬとして、レスポンダ情報管理テーブル９４００から「受信用ＳＩＧＮＡＬｉ（データ９４０２）＝ＳＩＧＮＡＬＩｉ」となる認証鍵欄９４０３に保持された認証鍵ＡＫｉを特定する。次に，この認証鍵を用いて受信した暗号情報９０００を復号し，認証情報としてイニシエータ７１００の固定ＩＤであるＩＤＩを得る。レスポンダ７２００は、得られたＩＤＩと、レスポンダ情報管理テーブル９４００から「受信用ＳＩＧＮＡＬｉ（データ９４０２）＝ＳＩＧＮＡＬＩｉ」となるＩＤ欄９４０１に示されたＩＤＩとを照合し、一致する場合はイニシエータ７１００が正当な利用者であることを認証する。
【００１１】
【特許文献１】特開２００４−２８２２９５号公報
【非特許文献１】K．Imamoto and，K．Sakurai:“A Design of Diffie Hellman Based KeyExchange Using One-Time ID in Preshared Key Model”，AINA 2004，Mar．2004
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、認証情報を入手する過程において、認証鍵ＡＫｉによる暗号情報の復号処理やハッシュ関数を用いた暗号化処理は、非常に大きな処理能力を必要とする。また、共有シードＫｉ（図２０のデータ９２０４）は、乱数のべき乗計算を含んでおり、これも非常に大きな処理能力を要する。
また、端末間を送受信されるデータ９０００、９１００は非常に冗長な情報を含むため、通信時のデータ量が大きくなるといった問題がある。
【００１３】
本発明は、以上の点に鑑みてなされたものであり、端末間の通信において安全性の高く、端末にとって低負荷で効率の良い認証システムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
前述した目的を達成するために第１の発明は、ネットワークを介して接続された第１の端末装置と第２の端末装置間の認証処理を行う認証システムであって、前記第１の端末は、第１の送信用ダイナミックＩＤと、前記第１の送信用ダイナミックＩＤに関連付けられた少なくとも２つ以上の第１の認証鍵を保持する第１のデータ保持手段と、第１の乱数を生成する第１の乱数生成手段と、前記第１のデータ保持手段から第１の送信用ダイナミックＩＤを選択し、当該第１の送信用ダイナミックＩＤに対応する前記第１の認証鍵と、前記第１の認証鍵と前記第１の乱数を用いて演算を行い、第１の暗号化乱数を生成する第１の暗号化乱数生成手段と、前記第１の暗号化乱数生成手段によって生成された前記第１の暗号化乱数と、前記第１の認証鍵を用いて、第１の認証コードを生成する第１の認証コード生成手段と、前記第１の送信用ダイナミックＩＤと、前記第１の暗号化乱数と、前記第１の認証コードとを、前記第２の端末装置に送信する手段と、を具備し、前記第２の端末装置は、第１の受信用ダイナミックＩＤと、前記第１の受信用ダイナミックＩＤに関連付けられた、第１のＩＤと少なくとも２つ以上の第２の認証鍵を保持する第２のデータ保持手段と、前記第２のデータ保持手段から、前記第１の送信用ダイナミックＩＤと一致する第１の受信用ダイナミックＩＤを検出する第１の検出手段と、前記第１の検出手段によって検出された第１の受信用ダイナミックＩＤに関連付けられる少なくとも２つ以上の第２の認証鍵を、前記第２のデータ保持手段から取得し、前記第１の送信用ダイナミックＩＤと前記第２のデータ保持手段から取得した第２の認証鍵とを利用して演算を行い、ＩＤを算出し、前記算出されたＩＤと、前記第２のデータ保持手段において当該第１の受信用ダイナミックＩＤに関連付けられて保持された第１のＩＤと、を照合して認証を行う第１の認証手段と、を具備することを特徴とする認証システムである。
【００１５】
第１の発明において、第１の端末と第２の端末は、例えば、イニシエータとレスポンダに相当し、レスポンダはサーバ或いはサーバへの接続を認証する端末であり、イニシエータ（クライアント）を認証するものである。
【００１６】
ここで、ダイナミックＩＤとは１回限り有効な使い捨てＩＤのことである。
また、第１の認証手段は、
（Ｘ◎Ｙ）◎Ｙ＝Ｘ
を満たす演算子◎を使用し、第１の送信用ダイナミックＩＤをＤ−ＩＤ、第２の認証鍵をＡＫ’ｉ、ＡＫｉとしたときに、
（Ｄ−ＩＤ◎ＡＫ’ｉ）◎ＡＫｉ＝ＩＤ
としてＩＤを算出する。この演算子◎は、例えば「ＸＯＲ（排他的論理演算子）である。
このような演算子を用いることによって、認証鍵を使った認証処理は従来技術のＳＩＧＮＡＬ方式に比べて負荷が非常に小さくなる。
【００１７】
更に、第２の端末装置は、前記第２の認証鍵と、前記第１の端末装置から送信された第１の暗号化乱数を用いて、第２の認証コードを生成する第２の認証コード生成手段と、前記第１の認証コードと前記第２の認証コードを照合する手段と、を具備する。
また、第２の端末装置は、第２の乱数を生成する第２の乱数生成手段と、前記第１の端末装置から送信された前記第１の暗号化乱数と前記第２のデータ保持手段に保持された第２の認証鍵を用いて、第１の乱数を取得し、前記第１の乱数と、前記第２の乱数と、前記第２の認証鍵とから第１の共有シードを生成する第１の共有シード生成手段と、を具備する。
ここで、共有シードは、第２の端末装置が生成する乱数と履歴情報を用いて算出される。例えば、履歴情報としてｉセッションの認証鍵と、第２の乱数とを用いて簡単な演算により共有シードを計算することができる。従って、べき乗計算により共有シードを算出していた従来の方式より、かなり計算量が減ることになる。
【００１８】
また、さらに、第２のデータ保持手段は、前記第１の受信用ダイナミックＩＤに関連付けて第２の送信用ダイナミックＩＤを更に保持し、更に、前記第２の端末装置は、前記第２の乱数と、前記第２の認証鍵と、を用いて、前記演算子による演算を行い、第２の暗号化乱数を生成する第２の暗号化乱数生成手段と、前記第２の暗号化乱数生成手段によって生成された第２の暗号化乱数と、前記第２の認証鍵を用いて、第２の認証コードを生成する第２の認証コード生成手段と、前記第２の送信用ダイナミックＩＤと、前記第２の暗号化乱数と、前記第２の認証コードとを、前記第１の端末装置に送信する。
また、更に、第２の端末装置は、前記第１の共有シードと所定の関数とを用いて、前記第２の認証鍵を更新し、前記更新された認証鍵を用いて、前記第２の送信用ダイナミックＩＤ及び前記第１の受信用ダイナミックＩＤを更新し、前記第２のデータ保持手段に保持する。
【００１９】
また、第１のデータ保持手段は、第２の受信用ダイナミックＩＤと、前記第２の受信用ダイナミックＩＤに関連付けられた、第２のＩＤと少なくとも２つ以上の第１の認証鍵を保持し、前記第１の端末装置は、前記第１のデータ保持手段から、前記第２の送信用ダイナミックＩＤと一致する第２の受信用ダイナミックＩＤを検出する第２の検出手段と、前記第２の検出手段によって検出された第２の受信用ダイナミックＩＤに関連付けられる少なくとも２つ以上の第１の認証鍵を、前記第１のデータ保持手段から取得し、前記第２の送信用ダイナミックＩＤと前記第２のデータ保持手段から取得した第２の認証鍵とを利用して演算を行い、ＩＤを算出し、前記算出されたＩＤと、前記第１のデータ保持手段において当該第２の受信用ダイナミックＩＤに関連付けられて保持された第２のＩＤと、を照合して認証を行う第２の認証手段と、を具備する。
ここで、第２の認証手段も、
（Ｘ◎Ｙ）◎Ｙ＝Ｘ
を満たす演算子◎を使用し、前記第２のダイナミックＩＤをＤ−ＩＤ、前記第１の認証鍵をＡＫ’ｉ、ＡＫｉとしたときに、
（Ｄ−ＩＤ◎ＡＫ’ｉ）◎ＡＫｉ＝ＩＤ
となるＩＤを取り出す。
【００２０】
更に、第１の端末装置は、前記第２の端末装置から送信された前記第２の暗号化乱数と前記第１のデータ保持手段に保持された第１の認証鍵を用いて、第２の乱数を取得し、前記第１の乱数と、前記第２の乱数と、前記第１の認証鍵から第２の共有シードを生成する第２の共有シード生成手段を具備する。
更に、第１の端末装置は、前記第２の共有シードと所定の関数とを用いて、前記第１の認証鍵を更新し、前記更新された認証鍵を用いて、前記第１の送信用ダイナミックＩＤ及び第２の受信用ダイナミックＩＤを更新し、前記第１のデータ保持手段に保持する
第１の発明は、第１の端末装置と第２の端末装置との相互認証を行う認証システムである。第１の発明の認証システムにおいて、第１の端末装置をクライアントとし、第２の端末装置をサーバコンピュータとし、サーバコンピュータがクライアントを認証する認証システムに拡張することも可能である。
【００２１】
次に、第２の発明は、ネットワークを介してクライアントに接続され、前記クライアントを認証するサーバコンピュータであって、前記クライアントから、第１の送信用ダイナミックＩＤと、第１の暗号化乱数と、第１の認証コードを取得する手段と、受信用ダイナミックＩＤと、前記受信用ダイナミックＩＤに関連付けられた、ＩＤと少なくとも２つ以上の認証鍵を保持するデータ保持手段と、前記データ保持手段から、前記第１の送信用ダイナミックＩＤと一致する受信用ダイナミックＩＤを検出する検出手段と、前記検出手段によって検出された受信用ダイナミックＩＤに関連付けられる少なくとも２つ以上の認証鍵を、前記データ保持手段から取得し、前記第１の送信用ダイナミックＩＤと前記データ保持手段から取得した認証鍵とを利用して演算を行い、ＩＤを算出し、前記算出されたＩＤと、前記データ保持手段において当該受信用ダイナミックＩＤに関連付けられて保持されたＩＤと、を照合して認証を行う認証手段と、を具備することを特徴とするサーバコンピュータである。
【００２２】
第２の発明は、ネットワークを介して接続可能な、クライアントである端末装置からのアクセスを認証するサーバコンピュータであり、その認証にはダイナミックＩＤを用いる。
ここで、認証手段は、
（Ｘ◎Ｙ）◎Ｙ＝Ｘ
を満たす演算子◎を使用し、
前記第１の送信用ダイナミックＩＤをＤ−ＩＤ、前記認証鍵をＡＫ’ｉ、ＡＫｉとしたときに、
（Ｄ−ＩＤ◎ＡＫ’ｉ）◎ＡＫｉ＝ＩＤ
となるＩＤを取り出す。
更に、サーバコンピュータは、認証鍵と、クライアントから送信された第１の暗号化乱数を用いて、第２の認証コードを生成する認証コード生成手段と、前記第１の認証コードと前記第２の認証コードを照合する手段を具備する。
【００２３】
第２の発明におけるサーバコンピュータは、第２の乱数を生成する乱数生成手段と、クライアントから送信された前記第１の暗号化乱数と前記データ保持手段に保持された認証鍵を用いて、第１の乱数を取得し、前記第１の乱数と、前記第２の乱数とから共有シードを生成する共有シード生成手段を、更に具備する。
【００２４】
また、サーバコンピュータは、第２の乱数を生成する乱数生成手段と、前記クライアントから送信された前記第１の暗号化乱数と前記データ保持手段に保持された認証鍵を用いて、第１の乱数を取得し、前記第１の乱数と、前記第２の乱数と、前記認証鍵とから共有シードを生成する共有シード生成手段を、更に具備する。
ここで、第２の発明におけるサーバコンピュータの機能やその効果は、第１の発明における第２の端末と同様である。
【００２５】
第３の発明は、ネットワークを介してクライアントに接続し、前記クライアントを認証する認証システムのサーバコンピュータであって、前記クライアントから、第１のダイナミックＩＤを取得する手段と、第２のダイナミックＩＤと、前記第２のダイナミックＩＤに関連付けられた、ＩＤと少なくとも２つ以上の認証鍵を保持するデータ保持手段と、前記データ保持手段から、前記第１のダイナミックＩＤと一致する第２のダイナミックＩＤを検出する検出手段と、前記検出手段によって検出された第２のダイナミックＩＤに関連付けられる少なくとも２つ以上の認証鍵を、前記データ保持手段から取得し、前記第１のダイナミックＩＤと前記データ保持手段から取得した認証鍵とを利用して演算を行い、ＩＤを算出し、前記算出されたＩＤと、前記データ保持手段において当該第２のダイナミックＩＤに関連付けられて保持されたＩＤと、を照合して認証を行う認証手段と、を具備することを特徴とするサーバコンピュータである。
【００２６】
第３の発明であるサーバーコンピュータは、クライアントから送信されるダイナミックＩＤを認証するものである。
ここで、認証手段は、
（Ｘ◎Ｙ）◎Ｙ＝Ｘ
を満たす演算子◎を使用し、
前記第１のダイナミックＩＤをＤ−ＩＤ、前記認証鍵をＡＫ’ｉ、ＡＫｉとしたときに、
（Ｄ−ＩＤ◎ＡＫ’ｉ）◎ＡＫｉ＝ＩＤ
となるＩＤを取り出す。この演算子◎は例えば「ＸＯＲ」などである。
【００２７】
第４の発明は、コンピュータを第２の発明又は第３の発明のサーバコンピュータとして機能させるプログラムである。
第５の発明は、コンピュータを第２の発明又は第３の発明のサーバコンピュータとして機能させるプログラムを記録した記録媒体である。
【００２８】
上述のプログラムをＣＤ−ＲＯＭ等の記録媒体に保持させて流通させてもよいし、このプログラムを通信回線を介して送受することもできる。
【発明の効果】
【００２９】
本発明によれば、ネットワークを介して接続可能な２つの端末間の通信セッションにおいて、安全性が高く、端末にとって低負荷で効率の良い認証処理を行うことができる。
【発明を実施するための最良の形態】
【００３０】
以下に、添付図面を参照しながら、本発明に係る認証システム等の好適な実施形態について詳細に説明する。なお、以下の説明および添付図面において、略同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略することにする。
【００３１】
図１は、本発明の本実施の形態に係る認証システム１の概略構成を示す図である。
図１は、認証システム１の１例であり、図１に示すように、情報管理システム１は、ネットワーク２を介して相互に接続されるイニシエータ３、レスポンダ５等から構成される。
ネットワーク２は、公衆回線、インターネット、ローカルエリアネットワーク（ＬＡＮ）等のネットワークであり、有線、無線を問わない。
レスポンダ５は、レスポンダ５に接続する各種サーバ７の認証サーバとして機能する。レスポンダ５自身がサーバ７のサービス提供機能等を備えていても構わない。イニシエータ３、レスポンダ５は、ＣＰＵ、記憶装置、通信装置などを備えたＶＰＮ（Virtual Private Network）装置であるが、パーソナルコンピュータ、ＰＤＡ端末、サーバ装置でもかまわない端末装置等である。
【００３２】
図２はイニシエータ３の内部構成ブロック図である。
イニシエータ３は、ＸＯＲ演算器３１、乱数発生器３３、ハッシュ演算器３５、認証情報テーブル３９等から構成される。
【００３３】
ＸＯＲ演算器３１は、排他的論理和演算回路「ＸＯＲ」を行う。乱数発生器３３は乱数を発生する。ハッシュ演算器３５はハッシュ関数を用いてデータの暗号化処理を行う。共有シード生成器３７は共有シードを作成する。
【００３４】
イニシエータ３は、Ｄ−ＩＤ処理モジュール１１０、暗号化乱数処理モジュール１１２、認証鍵処理モジュール１１４を備える。ここで、Ｄ−ＩＤはセッションごとに利用するダイナミックＩＤ、使い捨てＩＤを示す。Ｄ−ＩＤ処理モジュール１１０はＸＯＲ演算器３１を利用し，Ｄ−ＩＤの生成、認証等の処理を行う。暗号化乱数処理モジュール１１２は乱数生成器３３，ＸＯＲ演算器３１、及びハッシュ演算器３５を利用し，暗号化乱数やメッセージ認証コードなど乱数の交換に関する処理を行う。認証鍵処理モジュール１１４は乱数発生器３３、ハッシュ演算器３５、共有シード生成器３７を利用し、認証鍵の生成、更新等の処理を行う。これらの処理については、後に詳細に説明する。
【００３５】
これらの処理はアプリケーションプログラムとしてイニシエータ３の記憶装置或いは記録媒体等に格納され、イニシエータ３のＣＰＵはプログラムをＲＡＭ上のワークメモリ領域に呼び出して実行する。
【００３６】
図３はレスポンダ５の内部構成ブロック図である。
レスポンダ５は、ＸＯＲ演算器５１、乱数発生器５３、ハッシュ演算器５５、認証情報テーブル５９等から構成される。
【００３７】
ＸＯＲ演算器５１は、排他的論理和演算回路「ＸＯＲ」を行う。乱数発生器５３は乱数を発生する。ハッシュ演算器５５はハッシュ関数を用いてデータの暗号化処理を行う。共有シード生成器５７は共有シードを作成する。
【００３８】
レスポンダ５は、Ｄ−ＩＤ処理モジュール１２０、暗号化乱数処理モジュール１２２、認証鍵処理モジュール１２４を備える。Ｄ−ＩＤ処理モジュール１２０はＸＯＲ演算器５１を利用し、Ｄ−ＩＤの生成、認証等の処理を行う。暗号化乱数処理モジュール１２２は乱数生成器５３、ＸＯＲ演算器５１、及びハッシュ演算器５５を利用し，暗号化乱数やメッセージ認証コードなど乱数の交換に関する処理を行う。認証鍵処理モジュール１２４は乱数発生器５３、ハッシュ演算器５５、共有シード生成器５７を利用し、認証鍵の生成、更新等の処理を行う。これらの処理については、後に詳細に説明する。
【００３９】
これらの処理はアプリケーションプログラムとしてレスポンダ５の記憶装置や記録媒体等に格納され、レスポンダ５のＣＰＵはプログラムをＲＡＭ上のワークメモリ領域に呼び出して実行する。
【００４０】
図４はイニシエータ３が保持する認証情報管理テーブル３９を示す図である。認証情報管理テーブル３９は、イニシエータ３の記憶装置や記録媒体等に保持される。
【００４１】
認証情報管理テーブル３９は、ＩＤ６１、受信用使い捨てＩＤ６３、認証鍵６５、６７、送信用使い捨てＩＤ６９を保持する。ＩＤ６１は、レスポンダ５の固定ＩＤであり、ＩＤＲとする。受信用使い捨てＩＤ６３は、例えばｉセッションでイニシエータ３がレスポンダ５から受信するダイナミックＩＤであり、Ｄ−ＩＤＲｉとする。
【００４２】
認証鍵６５、６７に関して、例えば、ｉセッションにおける認証鍵はＡＫｉとＡＫ’ｉである。送信用使い捨てＩＤ６９は、例えばｉセッションでイニシエータ３がレスポンダ５に送信するダイナミックＩＤであり、Ｄ−ＩＤＩｉとする。
【００４３】
図５はレスポンダ５が保持する認証情報管理テーブル５９を示す図である。認証情報管理テーブル５９は、レスポンダ５の記憶装置や記録媒体等に保持される。
【００４４】
認証情報管理テーブル５９は、ＩＤ７１、受信用使い捨てＩＤ７３、認証鍵７５、７７、送信用使い捨てＩＤ７９を保持する。ＩＤ７１は、イニシエータ３の固定ＩＤであり、ＩＤＩとする。受信用使い捨てＩＤ７３は、例えばｉセッションでレスポンダ５がイニシエータ３から受信するダイナミックＩＤであり、Ｄ−ＩＤＩｉとする。
【００４５】
認証鍵７５、７７に関して、例えば、ｉセッションにおける認証鍵はＡＫｉとＡＫ’ｉである。送信用使い捨てＩＤ７９は、例えばｉセッションでレスポンダ５がイニシエータ３に送信するダイナミックＩＤであり、Ｄ−ＩＤＲｉとする。
【００４６】
以下、認証システム１の認証処理について説明する。
図６は、イニシエータ３とレスポンダ５間における認証処理の流れを示す概略フローチャートである。ここでは、イニシエータ３とレスポンダ５のｉセッションの相互認証処理を考える。
【００４７】
イニシエータ３は、送信データを作成し（ステップ２０１）、送信文２０００をレスポンダ５に送信する。送信文２０００は、使い捨てＩＤ（ダイナミックＩＤ）Ｄ−ＩＤＩｉ、暗号化乱数ＲIｉ、認証コードＨＭＡＣＡＫ’ｉ（ＲIｉ）等である。レスポンダ５は、認証情報管理テーブル５９から受信したＤ−ＩＤＩｉをキーに検索し（ステップ２０２）、受信したＤ−ＩＤＩｉに対応する認証鍵ＡＫｉ及びＡＫ’ｉを特定し（ステップ２０３）、ＩＤＩｉを取得し（ステップ２０４）、ＩＤＩｉの正当性を判断する（ステップ２０５）。
【００４８】
次に、レスポンダ５は乱数ｒＲｉを生成し、共有シードＫｉを生成する（ステップ２０６）。レスポンダ５は、暗号化乱数ＲＲｉを作成して、イニシエータ３に送信する送信文を作成し（ステップ２０７）、ｉ＋１セッション用のデータを作成する（ステップ２０８）。レスポンダ５はステップ２０７で作成した送信文３０００をイニシエータ３に送信する。送信文３０００は、使い捨てＩＤ（ダイナミックＩＤ）Ｄ−ＩＤＲｉ、暗号化乱数ＲＲｉ、認証コードＨＭＡＣＡＫ’ｉ（ＲＲｉ）等である。
【００４９】
イニシエータ３は、受信した送信文３０００を用いて、ＩＤＲｉの正当性を確認し（ステップ２０９）、共有シードＫｉを作成し（ステップ２１０）、次の（ｉ＋１）番目のセッション用のデータを作成する（ステップ２１１）。
【００５０】
以下、各ステップについて詳細に説明する。
（ステップ２０１）
ステップ２０１は、イニシエータ３において、レスポンダ５に送信する送信データを作成する処理である。図７は送信データ作成処理のフローチャートを示す。
【００５１】
イニシエータ３は、通信を行うため、認証情報管理テーブル３９からレスポンダ５との通信に利用する送信用ダイナミックＩＤ(使い捨てＩＤ)であるＤ−ＩＤＩｉを選択する（ステップ２２１）。イニシエータ３は、乱数生成器３３により乱数ｒＩｉを生成し（ステップ２２２）、認証情報管理テーブル３９においてＤ−ＩＤＩｉと関連付けられている認証鍵６５であるＡＫｉと乱数ｒＩｉを使用し、ＸＯＲ演算器３１により
ＲＩｉ＝  ＡＫｉＸＯＲ
ｒＩｉ
として送信用の暗号化乱数ＲＩｉを生成する（ステップ２２３）。
【００５２】
こうして生成したＲＩｉの正当性を保証するため、イニシエータ３はハッシュ演算器３５を用いて、送信用のダイナミックＩＤであるＤ−ＩＤＩｉと関連付けられているＡＫ’ｉを認証鍵としてメッセージ認証コード（以後「ＨＭＡＣ」と記載）を生成する（ステップ２２４）。例えば、ハッシュ関数をＨ（ｘ）とすると、ＨＭＡＣはＨ（ＡＫ’ｉ，ＲＩｉ）という、認証鍵ＡＫ’ｉと暗号化乱数ＲＩｉの関数となる。こうして、Ｄ−ＩＤＩｉとＲＩｉ及びＨＭＡＣを用いて送信メッセージ２０００を作成し（ステップ２２５）、メモリにセットする。
ステップ２０１の送信文作成の準備処理終了後、メモリにセットされている送信メッセージ２０００をレスポンダ５に送信する。
【００５３】
（ステップ２０２〜ステップ２０５）
次に、レスポンダ５による認証処理について説明する。
ステップ２０２からステップ２０５の認証処理は、送信メッセージ２０００を受信したレスポンダ５により実行される処理であり、ＤｏＳ攻撃チェックとＤ−ＩＤＩｉによる認証で構成される。
【００５４】
図８は、ＤｏＳ攻撃チェック処理手順を示すフローチャートである。
レスポンダ５は、イニシエータ３から受信したメッセージ２０００のうち、Ｄ−ＩＤＩｉをキーとして、認証情報管理テーブル５９を検索し（ステップ３０１）、Ｄ−ＩＤＩｉが存在するかどうかをチェックする（ステップ３０２）。
Ｄ−ＩＤＩｉが存在する場合は合格出力をし，次の認証処理に移行する（ステップ３０３）が、Ｄ−ＩＤＩｉが存在しない場合、ＤｏＳ攻撃とみなして通信を強制終了する（ステップ３０４）。
【００５５】
図９は、Ｄ−ＩＤＩｉによる認証処理手順を示すフローチャートである。
レスポンダ５は、認証情報管理テーブル５９を参照して、受信したダイナミックＩＤ７３であるＤ−ＩＤＩｉに対応する認証鍵７５，７７のＡＫｉ，ＡＫ’ｉを選択する（ステップ４０１）。
次に、レスポンダ５のＸＯＲ演算器５１は、受信したＤ−ＩＤＩｉと認証鍵ＡＫｉ，ＡＫ’ｉとから
ＩＤＩ=  Ｄ−ＩＤＩｉ  ＸＯＲ  ＡＫｉ  ＸＯＲ  ＡＫ’ｉ
を実行し、ＩＤＩを取り出す（ステップ４０２）。
ここでは、排他的論理和演算「ＸＯＲ」を用いたが、
（Ｘ◎Ｙ）◎Ｙ  ＝  Ｘ
となるような演算子◎を用いた演算を使用すればよい。
【００５６】
こうして、ＸＯＲ演算により取り出されたＩＤＩと、認証情報管理テーブル５９にてＤ−ＩＤＩｉと関連付けられて保持されているＩＤ７１であるＩＤＩとを突合せ処理を行い（ステップ４０３）、両者のＩＤが一致するかどうかを判定する（ステップ４０４）。
【００５７】
両者のＩＤが一致した場合は，イニシエータ３が正規の通信相手であると認証する（ステップ４０５）。ステップ４０４にて両者のＩＤが一致せず、Ｄ−ＩＤＩｉが他にも存在する、つまりＤ−ＩＤが重複している場合はステップ４０１に戻って（ステップ４０６）処理を繰り返す。
【００５８】
（ステップ２０６〜ステップ２０８）
次に、更新処理について説明する。
更新処理は、レスポンダ５により認証処理終了後に行う処理であり、共有シード作成（ステップ２０６）、送信データ作成（ステップ２０７）、ｉ＋１セッション用データ作成（ステップ２０８）のステップから構成される。
はじめに、図１０のフローチャートを使用して、共有シード作成手順について説明する。
【００５９】
認証情報管理テーブル５９において、受信したＤ−ＩＤＩｉに対応した認証鍵７７であるＡＫ’ｉと、イニシエータから受信した送信文２０００の第２要素の暗号化乱数ＲＩｉを使用し，ハッシュ演算器５５により認証コードＨＭＡＣを作成して（Ｈ（ＡＫ’ｉ，ＲＩｉ）を計算）、送信文２０００の第３要素であるＨＭＡＣの正当性、即ちレスポンダ５が作成したＨＭＡＣと送信文２０００として受信したＨＭＡＣとが一致するかどうかを判定する（ステップ５０１）。
【００６０】
ステップ５０１において、ＨＭＡＣが一致した場合は、イニシエータ３によって正しい暗号化乱数が送信されたとみなして処理を続行するが、一致しない場合は、悪意のある者により暗号化乱数はすりかえられた等と判断して通信を強制終了する（ステップ５０２）。
【００６１】
レスポンダ５のＸＯＲ演算器５１は、イニシエータ３から受信したメッセージ２０００の第２要素である暗号化乱数ＲＩｉを獲得し（ステップ５０２）、認証情報管理テーブル５９の認証鍵ＡＫｉを用いて、
ｒＩｉ = ＲＩｉ  ＸＯＲ  ＡＫｉ
によって乱数ｒＩｉを生成する（ステップ５０３）。
【００６２】
次に、乱数発生器５３により新たに乱数ｒＲｉを生成して
Ｋｉ = ｙ(ｒＩｉ, ｒＲｉ , ＡＫ’ｉ)
より共有シードＫｉを生成する（ステップ５０４）。
関数ｙは乱数ｒＩｉ、ｒＲｉと履歴情報ＡＫ’ｉを含む関数であり、ここでは、例えば、
Ｋｉ= ｙ(ｒＩｉ, ｒＲｉ , ＡＫ’ｉ)
=ｒＩｉ＋ｒＲｉ＋ＡＫ’ｉ
とする。
【００６３】
次に、図１１のフローチャートを参照して、送信データ作成処理について説明する。
レスポンダ５の乱数生成器５３で生成したｒＲｉと、認証情報管理テーブル５９でＩ−ＤＩｉに対応した認証鍵７５のＡＫｉを使用し、
ＲＲｉ =ｒＲｉ  ＸＯＲ ＡＫｉ
により送信用の暗号化乱数ＲＲｉを生成する（ステップ６０１）。
【００６４】
こうして生成したＲＲｉの正当性を保証するため、レスポンダ５はハッシュ演算器５５を用いて、送信用のダイナミックＩＤ７９であるＤ−ＩＤＲｉと関連付けられている認証鍵７７のＡＫ’ｉを認証鍵としてメッセージ認証コードＨＭＡＣを生成する（ステップ６０２）。ここで、ハッシュ関数をＨ（ｘ）とすると、ＨＭＡＣはＨ（ＡＫ’ｉ，ＲＲｉ）という、認証鍵ＡＫ’ｉと暗号化乱数ＲＲｉの関数となる。こうして、Ｄ−ＩＤＲｉとＲＲｉ及びＨＭＡＣを用いて送信メッセージ３０００を作成し（ステップ６０３）、メモリにセットする。
【００６５】
次に、図１２のフローチャートを参照して、次セッション（ｉ＋１）セッションのデータ作成処理について説明する。
共有シードＫｉと一方向性関数を使用し，ｉ＋１セッションで使用する認証鍵ＡＫｉ＋１，ＡＫ’ｉ＋１を生成する（ステップ７０１）。なお，一方向性関数としては、例えば、ハッシュ関数ｈ（ｘ）を使用して以下の演算により認証鍵を生成する。
ＡＫｉ＋１ = ｈ（Ｋｉ）
ＡＫ’ｉ＋１ = ｈ’（Ｋｉ）
共有シードＫｉは，ＡＫｉ＋１及びＡＫ’ｉ＋１生成後は不要であるため，削除する。
【００６６】
次に、イニシエータ３のＩＤであるＩＤＩとＡＫｉ＋１，ＡＫ’ｉ＋１を使用し、ｉ＋１セッションで使用する受信用Ｄ−ＩＤであるＤ−ＩＤＩｉ＋１を生成し、同様にレスポンダ５のＩＤであるＩＤＲとＡＫｉ＋１，ＡＫ’ｉ＋１を使用し、ｉ＋１セッションで使用する送信用Ｄ−ＩＤであるＤ−ＩＤＲｉ＋１を生成する（ステップ７０２）。
上記のＤ−ＩＤＩｉ＋１とＤ−ＩＤＲｉ＋１は、ＸＯＲ演算器５１によるＸＯＲ演算を使用した以下の演算により生成する。
Ｄ−ＩＤＩｉ＋１
＝ ＩＤＩ ＸＯＲ ＡＫｉ ＸＯＲ ＡＫ’ｉ
Ｄ−ＩＤＲｉ＋１
＝ ＩＤＲ ＸＯＲ ＡＫｉ ＸＯＲ ＡＫ’ｉ
【００６７】
こうして作成したｉ＋１セッションにおける認証鍵７５，７７であるＡＫｉ＋１及びＡＫ’ｉ＋１、受信用ダイナミックＩＤ７３であるＤ−ＩＤＩｉ＋１、送信用ダイナミックＩＤ７９となるＤ−ＩＤＲｉ＋１をｉ＋１セッション用の認証情報として、イニシエータ３の固定ＩＤであるＩＤＩと関連付け、認証情報管理テーブ
ル５９に保持する（ステップ７０３）。
【００６８】
こうして更新処理終了した後、ステップ２０６にてメモリにセットされている送信メッセージ３０００をイニシエータ３に送信する（ステップ２０８）。
【００６９】
（ステップ２０９）
次に、イニシエータ３による認証処理について説明する。
ステップ２０９の認証処理は、レスポンダ５からの送信メッセージ３０００を受信したイニシエータ３により実行される処理であり、ＤｏＳ攻撃チェックとＤ−ＩＤＲｉによる認証処理で構成される。
【００７０】
図１３は、ＤｏＳ攻撃チェック処理手順を示すフローチャートである。
イニシエータ３は、レスポンダ５から受信したメッセージ３０００のうち、Ｄ−ＩＤＲｉをキーとして、認証情報管理テーブル３９を検索し（ステップ９０１）、Ｄ−ＩＤＲｉが存在するかどうかをチェックする（ステップ９０２）。
Ｄ−ＩＤＲｉが存在する場合は合格出力をし，次の認証処理に移行する（ステップ９０３）が、Ｄ−ＩＤＲｉが存在しない場合、ＤｏＳ攻撃とみなして通信を強制終了する（ステップ９０４）。
【００７１】
図１４は、Ｄ−ＩＤによる認証処理手順を示すフローチャートである。
イニシエータ３は、認証情報管理テーブル３９から受信したダイナミックＩＤ６３であるＤ−ＩＤＲｉに対応する認証鍵６５，６７のＡＫｉ，ＡＫ’ｉを選択する（ステップ１００１）。
次に、イニシエータ３のＸＯＲ演算器３１は、受信したＤ−ＩＤＲｉと認証鍵ＡＫｉ，ＡＫ’ｉとから
ＩＤＲ=  Ｄ−ＩＤＲｉ  ＸＯＲ  ＡＫｉ，ＸＯＲ  ＡＫ’ｉ
を実行し、ＩＤＲを取り出す（ステップ１００２）。
【００７２】
こうして、ＸＯＲ演算により取り出されたＩＤＲと、認証情報管理テーブル３９にてＤ−ＩＤＲｉと関連付けられて保持されているＩＤ６１であるＩＤＲとを突合せ処理を行い（ステップ１００３）、両者のＩＤが一致するかどうかを判定する（ステップ１００４）。
【００７３】
両者のＩＤが一致した場合は，イニシエータ３が正規の通信相手であると認証する（ステップ１００５）。ステップ１００４にて両者のＩＤが一致せず、Ｄ−ＩＤＲｉが他にも存在する、つまりＤ−ＩＤが重複している場合はステップ１００１に戻って（ステップ１００６）処理を繰り返す。
【００７４】
（ステップ２１０、ステップ２１１）
次に、イニシエータ３における更新処理について説明する。
更新処理は、イニシエータ３により認証処理終了後に行う処理であり、共有シード作成（ステップ２１１）、ｉ＋１セッション用データ作成（ステップ２１２）のステップから構成される。
はじめに、図１５のフローチャートを使用して、共有シード作成手順について説明する。
【００７５】
認証情報管理テーブル３９で受信したＤ−ＩＤＲに対応した認証鍵６７であるＡＫ’ｉと、レスポンダから受信したメッセージ３０００の第２要素の暗号化乱数ＲＲｉを使用し、ハッシュ演算器３５によりＨＭＡＣを作成して（Ｈ（ＡＫ’ｉ，ＲＲｉ）を計算）、第３要素であるＨＭＡＣの正当性、即ちイニシエータ３が作成したＨＭＡＣと送信文３０００として受信したＨＭＡＣが一致するかどうかを判定する（ステップ１１０１）。
【００７６】
ステップ１１０１において、ＨＭＡＣが一致した場合は、レスポンダ５によって正しい暗号化乱数が送信されたとみなして処理を続行するが、一致しない場合は、悪意のある者により暗号化乱数はすりかえられた等と判断して通信を強制終了する（ステップ１１０５）。
【００７７】
イニシエータ３のＸＯＲ演算器３１は、受信したメッセージ３０００の第２要素である暗号化乱数ＲＲｉを獲得し（ステップ１１０２）、認証情報管理テーブル３９の認証鍵ＡＫｉを用いて、
ｒＲｉ = ＲＲｉ  ＸＯＲ  ＡＫｉ
によって乱数ｒＲｉを生成する（ステップ１１０３）。
【００７８】
次に、乱数発生器３３により新たに乱数ｒＩｉを生成して
Ｋｉ = ｙ(ｒＩｉ, ｒＲｉ , ＡＫ’ｉ)
より共有シードＫｉを生成する（ステップ１１０４）。
関数ｙはステップ５０４の処理と同様に
Ｋｉ= ｙ(ｒＩｉ, ｒＲｉ , ＡＫ’ｉ)
=ｒＩｉ＋ｒＲｉ＋ＡＫ’ｉ
とする。
【００７９】
次に、図１６のフローチャートを参照して、次セッション（ｉ＋１）セッションのデータ作成処理について説明する。
共有シードＫｉと一方向性関数を使用し，ｉ＋１セッションで使用する認証鍵ＡＫｉ＋１，ＡＫ’ｉ＋１を生成する（ステップ１２０１）。なお，一方向性関数としては、ステップ７０１の処理と同様の、ハッシュ関数ｈ（ｘ）を使用して以下の演算により認証鍵を生成する。
ＡＫｉ＋１
＝ ｈ（Ｋｉ）
ＡＫ’ｉ＋１
＝ ｈ’（Ｋｉ）
共有シードＫｉは，ＡＫｉ＋１及びＡＫ’ｉ＋１生成後は不要であるため，削除する。
【００８０】
次に、レスポンダのＩＤであるＩＤＲとＡＫｉ＋１，ＡＫ’ｉ＋１を使用し、ｉ＋１セッションで使用する受信用Ｄ−ＩＤであるＤ−ＩＤＲｉ＋１を生成し、同様にイニシエータ３のＩＤであるＩＤＩとＡＫｉ＋１，ＡＫ’ｉ＋１を使用し、ｉ＋１セッションで使用する送信用Ｄ−ＩＤであるＤ−ＩＤＩｉ＋１を生成する（ステップ１２０２）。
上記のＤ−ＩＤＲｉ＋１とＤ−ＩＤＩｉ＋１は、ＸＯＲ演算器３１によるＸＯＲ演算を使用した以下の演算により生成する。
Ｄ−ＩＤＲｉ＋１
＝ ＩＤＲ ＸＯＲ ＡＫｉ ＸＯＲ ＡＫ’ｉ
Ｄ−ＩＤＩｉ＋１
＝ ＩＤＩ ＸＯＲ ＡＫｉ ＸＯＲ ＡＫ’ｉ
【００８１】
こうして作成したｉ＋１セッションにおける認証鍵６５，６７であるＡＫｉ＋１及びＡＫ’ｉ＋１、受信用ダイナミックＩＤ６３であるＤ−ＩＤＲｉ＋１、送信用ダイナミックＩＤ６９となるＤ−ＩＤＩｉ＋１をｉ＋１セッション用の認証情報として、レスポンダ５の固定ＩＤであるＩＤＲと関連付け、認証情報管理テーブ
ル３９に保持される（ステップ１２０３）。
【００８２】
以上説明した認証処理によって、イニシエータ３とレスポンダ５の通信における認証処理が完了する。
本実施の形態によれば、以下のような効果がある。
ダイナミックＩＤの生成には通信相手のＩＤであるＩＤＲ、ＩＤＩや認証鍵ＡＫｉ及びＡＫ’ｉ、が利用されるが、ＡＫｉ及びＡＫ’ｉ、はセッション毎に更新される共有シードＫｉを元に生成されるため、安全性が高い。
【００８３】
また、本実施例では、共有シードＫｉの生成に必要な乱数は認証鍵ＡＫｉを使用した演算子◎（本実施例では「ＸＯＲ」）によって保護された暗号化乱数として交換されるため、従来の技術であるＳＩＧＮＡＬ方式のように共有シードＫｉを求めるために、べき乗計算といった負荷の高い演算処理を必要としない。
また、従来のＳＩＧＮＡＬ方式では、認証処理の過程で暗号化された認証情報の復号処理が必要であるが、一般的な暗号化処理を用いた場合、その複合処理には負荷の高い計算が必要となる。しかし、本実施例では、◎演算子としてＸＯＲを使用した場合，必要とされる複合処理は２回のＸＯＲ演算のみであり、非常に高速かつ効率的な処理である。
【００８４】
また、本実施例の認証処理は従来に比べて非常に効率的である。例えば、従来のＳＩＧＮＡＬ方式ではＫｉの生成，使い捨てＩＤ（ＳＩＧＮＡＬｉ）、認証情報などの処理において１回のべき乗計算、２回の認証鍵演算、そして４回のハッシュ関数演算が必要となる。一方、本認証システム１では、３回のハッシュ関
数演算の他に、◎演算（ＸＯＲ演算）を８回用いるだけでよい。
また本実施例において、イニシエータ３とレスポンダ５間で通信されるデータの通信量は従来よりも小さい。
【００８５】
以上述べたように、本認証システム１によれば、安全性が高く、端末にとって低負荷で効率の良い認証処理を行うことができる。
【００８６】
以上説明した認証処理は、イニシエータ３とレスポンダ５のそれぞれが相互に認証を行う場合であるが、第２の実施例として、イニシエータ３はレスポンダ５のクライアント端末であり、レスポンダ５だけが認証処理を行い、イニシエータ３を正しいクライアント端末として認証するシステムも考えられる。
【００８７】
図１７は、第２の実施の形態に係る認証システムの認証処理の概略フローチャートである。
イニシエータ３は図４に示す認証情報管理テーブル３９を、レスポンダ５は図５に示す認証情報管理テーブル５９を、それぞれ保持する。
イニシエータ３は、送信データ(送信文)を作成し（ステップ２００１）、送信文をレスポンダ５に送信する。送信文は、使い捨てＩＤであるＤ−ＩＤＩｉ、暗号化乱数ＲIｉ、認証コードＨＭＡＣＡＫ’ｉ（ＲIｉ）である。レスポンダ５は、認証情報管理テーブル５９から受信したＤ−ＩＤＩｉをキーに検索し（ステップ２００２）、受信したＤ−ＩＤＩｉに対応する認証鍵ＡＫｉ及びＡＫ’ｉを特定し（ステップ２００３）、ＩＤＩｉを取得し（ステップ２００４）、ＩＤＩｉの正当性を判断する（ステップ２００５）。
【００８８】
次に、レスポンダ５は乱数ＲＩｉの正当性を確認し（ステップ２００６）、共有シードＫｉを生成し、イニシエータ３に送信する送信文を作成し（ステップ２００７）、ｉ＋１セッション用のデータを作成する（ステップ２００８）。レスポンダ５はステップ２００７で作成した送信文をイニシエータ３に送信する。この場合、送信文は、認証ＯＫであるか、そうでないかの判定結果となる。
【００８９】
イニシエータ３は、共有シードＫｉを作成し（ステップ２００９）、次の（ｉ＋１）番目のセッション用のデータを作成する（ステップ２０１０）。
図１７に示すフローチャートにおいて、ステップ２００１からステップ２００５までは、図６に示すフローチャートにおけるステップ２０１からステップ２０５の処理と同じである。
【００９０】
ステップ２００５において、図６のステップ２０５と同様にして、レスポンダ５のＸＯＲ演算器５１は、イニシエータ３から受信した暗号化乱数ＲＩｉと、認証情報管理テーブル５９の認証鍵ＡＫｉ、ＡＫ’ｉを用いて、
ｒＩｉ = ＲＩｉ  ＸＯＲ  ＡＫｉ
によって乱数ｒＩｉを生成する。
第２の実施の形態では、ステップ２００６、ステップ２００７における共有シードＫｉを、乱数ｒＩｉと履歴情報ＡＫｉ、ＡＫ’ｉで定義される関数ｙによって求める。
Ｋｉ= ｙ(ｒＩｉ , ＡＫｉ， ＡＫ’ｉ) =ｒＩｉ＋ＡＫｉ＋ＡＫ’ｉ
こうして生成された共有シードＫｉを用いて、レスポンダ５は、ステップ２０８と同様にして次セッションである（ｉ＋１）セッションのデータを生成する（ステップ２００８）。
【００９１】
レスポンダ５がイニシエータ３を認証した場合、レスポンダ５はイニシエータ３に対して「認証ＯＫ」の旨を伝える。
イニシエータ３は、関数ｙを用いてＫｉを生成し（ステップ２００９）、次セッションである（ｉ＋１）セッションのデータを生成する（ステップ２０１０）。
【００９２】
また、第３の実施の形態として、イニシエータ３には乱数生成能力が無く、レスポンダ５だけが認証処理を行い、イニシエータ３を正しいクライアント端末として認証するシステムも考えられる。
図１８は、第３の実施の形態である認証システムの認証処理の概略フローチャートである。
イニシエータ３は図４に示す認証情報管理テーブル３９を、レスポンダ５は図５に示す認証情報管理テーブル５９を、それぞれ保持する。
【００９３】
イニシエータ３は、使い捨てＩＤ（ダイナミックＩＤ）Ｄ−ＩＤＩｉをレスポンダ５に送信する（ステップ２５０１）。レスポンダ５は、認証情報管理テーブル５９から受信したＤ−ＩＤＩｉをキーに検索し（ステップ２５０２）、認証鍵ＡＫｉ及びＡＫ’ｉ、を特定し（ステップ２５０３）、ＩＤＩｉを取得し（ステップ２５０４）、ＩＤＩｉの正当性を判断する（ステップ２５０５）。
【００９４】
次に、レスポンダ５は乱数ｒＲｉを生成し、共有シードＫｉを生成する（ステップ２５０６）。レスポンダ５は、暗号化乱数ＲＲｉを作成して、イニシエータ３に送信する送信文を作成し（ステップ２５０７）、ｉ＋１セッション用のデータを作成する（ステップ２５０８）。
【００９５】
イニシエータ３はレスポンダ５にＤ−ＩＤＩｉを送信し、レスポンダ５はＤ−ＩＤＩｉを認証する。
ステップ２５０２からステップ２５０８における認証処理の詳細は、下記の点を除いて、図１７に示す第２の実施例である認証システムのステップ２００２からステップ２００８の処理と同じである。
【００９６】
第２の実施例である認証システムと第３の実施例である認証システムの処理のとの相違点は、関数ｙの設定であり、第３の実施例ではイニシエータ３に乱数生成機能が無いため、ｙは乱数ｒＲｉと履歴情報ＡＫｉ、ＡＫ’ｉを含む関数として、例えば、
Ｋｉ= ｙ(ｒＲｉ , ＡＫｉ， ＡＫ’ｉ) =ｒＲｉ＋ＡＫｉ＋ＡＫ’ｉ
とすることである。
【００９７】
レスポンダ５は、イニシエータ３が正しいクライアント端末として認証されると、イニシエータ３に対して、ＲＲｉとＭＡＣＡＫ’ｉ（ＲＲｉ）を送信する。イニシエータ３は、暗号化乱数ＲＲｉの正当性を確認し（ステップ２５０９）、共有シードＫｉを生成し（ステップ２５１０）、ｉ＋１セッション用のデータを作成する（ステップ２５１１）。
【００９８】
ステップ２５０９において、イニシエータ３は、レスポンダ５から送信された暗号化乱数ＲＲｉと自身が保持する認証鍵ＡＫｉ、ＡＫ’ｉとを用いて、認証コードＭＡＣＡＫ’ｉ（ＲＲｉ）を作成し、作成した認証コードＭＡＣＡＫ’ｉ（ＲＲｉ）と、レスポンダ５から送信されたＭＡＣＡＫ’ｉ（ＲＲｉ）とを照合し、両者が等しい場合に、暗号化乱数ＲＲｉの正当性を確認する。
【００９９】
第２の実施例、第３の実施例に係る認証システムの効果も、第１の実施例の認証システム１と同様、安全性が高く、端末にとって低負荷で効率の良い認証処理を行うことができる。
【０１００】
第２の実施例、第３の実施例に係る認証システムは、イニシエータ３とレスポンダ５間の相互認証の必要がない場合に有効である。例えば、レスポンダ３がショッピングサイトのサーバ(或いはサイトに入るための認証サーバ)であり、イニシエータ３はサイト利用者の端末である場合などが考えられる。
【０１０１】
以上、添付図面を参照しながら、本発明に係る認証システム等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【図面の簡単な説明】
【０１０２】
【図１】本実施の形態に係る認証システム１の概略構成を示す図
【図２】イニシエータ３の内部構成ブロック図
【図３】レスポンダ５の内部構成ブロック図
【図４】イニシエータ３が保持する認証情報管理テーブル３９を示す図
【図５】レスポンダ５が保持する認証情報管理テーブル５９を示す図
【図６】本認証システム１における認証処理の概略フローチャート
【図７】イニシエータ３における送信データ作成処理手順を示すフローチャート
【図８】レスポンダ５におけるＤｏＳ攻撃チェック処理手順を示すフローチャート
【図９】レスポンダ５におけるＤ−ＩＤによる認証処理手順を示すフローチャート
【図１０】レスポンダ５による共有シード作成処理手順を示すフローチャート
【図１１】レスポンダ５による送信データ作成処理手順を示すフローチャート
【図１２】レスポンダ５によるｉ＋１セッション用データ作成処理手順を示すフローチャート
【図１３】イニシエータ３によるＤｏＳ攻撃チェック処理手順を示すフローチャート
【図１４】イニシエータ３によるＤ−ＩＤによる認証処理手順を示すフローチャート
【図１５】イニシエータ３による共有シード作成処理手順を示すフローチャート
【図１６】イニシエータ３によるｉ＋１セッション用データ作成処理手順を示すフローチャート
【図１７】レスポンダ５がクライアントであるイニシエータ３を認証する認証システムにおける認証処理の概略フローチャート
【図１８】イニシエータ３が乱数生成機能を有しない場合の認証システムにおける認証処理の概略フローチャート
【図１９】従来技術であるＳＩＧＮＡＬ方式による認証システムにおける認証処理の概略フローチャート
【図２０】従来技術であるＳＩＧＮＡＬ方式による認証システムの演算処理テーブルを示す図
【図２１】従来技術におけるイニシエータ７１００が保持する認証情報管理テーブルを示す図
【図２２】従来技術におけるレスポンダ７２００が保持する認証情報管理テーブルを示す図
【符号の説明】
【０１０３】
１………認証システム
２………ネットワーク
３………イニシエータ
５………レスポンダ
７………サーバ
３１、５１………ＸＯＲ演算器
３３、５３………乱数生成器
３５、５５………ハッシュ演算器
３７、５７………共有シード生成器
３９、５９………認証情報管理テーブル
【図１】
2007336127.tif 000003
【図２】
2007336127.tif 000004
【図３】
2007336127.tif 000005
【図４】
2007336127.tif 000006
【図５】
2007336127.tif 000007
【図６】
2007336127.tif 000008
【図７】
2007336127.tif 000009
【図８】
2007336127.tif 000010
【図９】
2007336127.tif 000011
【図１０】
2007336127.tif 000012
【図１１】
2007336127.tif 000013
【図１２】
2007336127.tif 000014
【図１３】
2007336127.tif 000015
【図１４】
2007336127.tif 000016
【図１５】
2007336127.tif 000017
【図１６】
2007336127.tif 000018
【図１７】
2007336127.tif 000019
【図１８】
2007336127.tif 000020
【図１９】
2007336127.tif 000021
【図２０】
2007336127.tif 000022
【図２１】
2007336127.tif 000023
【図２２】
2007336127.tif 000024