(57)【特許請求の範囲】
【請求項１】
被認証側装置毎に固有のＩＤ情報ならびに該ＩＤ情報に基づいた認証情報に基づく第１および第２の認証子を認証側装置に送信してアクセスを要求した前記被認証側装置の資格を認証することとして、前記被認証側装置のアクセスを許可するか否かを前記認証側装置で判定する資格認証システムにおいて、
前記被認証側装置は、
前記被認証側装置が今回の認証に用いる認証情報（以下、「被認証側今回認証情報」という）を前記ＩＤ情報毎に予め記録しており、
前記被認証側装置が次回の認証に用いる認証情報（以下、「被認証側次回認証情報」という）を生成するための乱数を取得し、
前記ＩＤ情報および前記乱数に基づいて前記被認証側次回認証情報を生成し、
生成した前記被認証側次回認証情報と前記被認証側今回認証情報とに対して、演算後の値に対して再度同じ演算をおこなうと演算前の値を得られるマスク関数による演算をおこない前記第１の認証子を生成し、
前記被認証側今回認証情報および前記被認証側次回認証情報に基づいて前記第２の認証子を生成し、
前記第１および前記第２の認証子を前記ＩＤ情報と共に前記認証側装置に送信し、
生成した前記被認証側次回認証情報を前記ＩＤ情報に対応する、次回の認証に用いる前記被認証側今回認証情報として記録し、
前記認証側装置は、
前記認証側装置において今回の認証に用いる認証情報（以下、「認証側今回認証情報」という）を前記ＩＤ情報毎に予め記録しており、
受信した前記第１の認証子と前記認証側今回認証情報とに対して前記マスク関数による演算をおこなって、前記認証側装置が次回の認証に用いる認証情報（以下、認証側次回認証情報」という）を算出し、
前記認証側今回認証情報および前記認証側次回認証情報に基づいて、前記第２の認証子を検証するための検証値を生成し、
前記検証値と受信した前記第２の認証子とを比較して比較結果が一致の場合にのみ前記被認証側装置のアクセスを許可し、
算出した前記認証側次回認証情報を前記被認証側装置の前記ＩＤ情報に対応する、次回の認証に用いる前記認証側今回認証情報として記録することを特徴とする資格認証システム。
【請求項２】
被認証側装置毎に固有のＩＤ情報ならびに該ＩＤ情報に基づいた認証情報に基づく第１および第２の認証子を認証側装置に送信してアクセスを要求した前記被認証側装置の資格を認証することとして、前記被認証側装置のアクセスを許可するか否かを前記認証側装置で判定する資格認証システムにおいて、
前記被認証側装置は、
前記被認証側装置から着脱可能な記録手段を前記被認証側装置の構成として有し、
前記着脱可能な記録手段には、今回の認証に用いる認証情報（以下、「被認証側今回認証情報」という）を前記ＩＤ情報毎に予め記録しており、
前記被認証側装置が次回の認証に用いる認証情報（以下、「被認証側次回認証情報」という）を生成するための乱数を取得し、
前記ＩＤ情報および前記乱数に基づいて前記被認証側次回認証情報を生成し、
生成した前記被認証側次回認証情報と前記被認証側今回認証情報とに対して、演算後の値に対して再度同じ演算をおこなうと演算前の値を得られるマスク関数による演算をおこない前記第１の認証子を生成し、
前記被認証側今回認証情報および前記被認証側次回認証情報に基づいて前記第２の認証子を生成し、
前記第１および前記第２の認証子を前記ＩＤ情報と共に前記認証側装置に送信し、
生成した前記被認証側次回認証情報を前記ＩＤ情報に対応する、次回の認証に用いる前記被認証側今回認証情報として前記着脱可能な記録手段に記録し、
前記認証側装置は、
前記認証側装置において今回の認証に用いる認証情報（以下、「認証側今回認証情報」という）を前記ＩＤ情報毎に予め記録しており、
受信した前記第１の認証子と前記認証側今回認証情報とに対して前記マスク関数による演算をおこなって、前記認証側装置が次回の認証に用いる認証情報（以下、認証側次回認証情報」という）を算出し、
前記認証側今回認証情報および前記認証側次回認証情報に基づいて、前記第２の認証子を検証するための検証値を生成し、
前記検証値と受信した前記第２の認証子とを比較して比較結果が一致の場合にのみ前記被認証側装置のアクセスを許可し、
算出した前記認証側次回認証情報を前記被認証側装置の前記ＩＤ情報に対応する、次回の認証に用いる前記認証側今回認証情報として記録することを特徴とする資格認証システム。
【請求項３】
前記被認証側装置は、前記ＩＤ情報および前記乱数を含む情報群に一方向性関数を施して前記被認証側次回認証情報を生成する請求項１または２に記載の資格認証システム。
【請求項４】
前記被認証側装置は、前記ＩＤ情報、前記乱数、および被認証側のパスワードから成る情報群に前記一方向性関数を施して前記被認証側次回認証情報を生成する請求項３に記載の資格認証システム。
【請求項５】
前記被認証側装置は、前記被認証側今回認証情報および前記被認証側次回認証情報を含む情報群に前記一方向性関数を施して前記第２の認証子を生成し、
前記認証側装置は、前記認証側今回認証情報および前記認証側次回認証情報を含む情報群に前記一方向性関数を施して前記検証値を生成する請求項１乃至４のいずれか１つに記載の資格認証システム。
【請求項６】
前記被認証側装置は、前記被認証側今回認証情報、前記被認証側次回認証情報、ならびに前記被認証側装置および前記認証側装置間で共有している共有情報から成る情報群に前記一方向性関数を施して前記第２の認証子を生成し、
前記認証側装置は、前記認証側今回認証情報、前記認証側次回認証情報、および前記共有情報から成る情報群に一方向性関数を施して前記検証値を生成する請求項５に記載の資格認証システム。
【請求項７】
前記認証側装置は、
前回以前の認証処理に用いた前記認証側今回認証情報を認証側前回認証情報として前記ＩＤ情報毎に予め記録しており、
前記被認証側装置のアクセスを許可した後に、前記認証側前回認証情報および前記認証側次回認証情報に基づいて相互認証子を生成し、
前記相互認証子を前記被認証側装置に送信し、
前記被認証側装置は、
前回以前の認証処理に用いた前記被認証側今回認証情報を被認証側前回認証情報として記録し、
前記認証側前回認証情報および前記被認証側次回認証情報に基づいて、前記相互認証子と比較するための比較値を生成し、
前記比較値と受信した前記相互認証子とを比較して比較結果が一致の場合に、（ａ）前記認証側装置が認証に成功したことを確認するか、あるいは、（ｂ）前記認証側装置を認証する請求項１乃至６のいずれか１つに記載の資格認証システム。
【請求項８】
被認証側装置毎に固有のＩＤ情報ならびに該ＩＤ情報に基づいた認証情報に基づく第１および第２の認証子を認証側装置に送信してアクセスを要求した前記被認証側装置の資格を認証することとして、前記被認証側装置のアクセスを許可するか否かを前記認証側装置で判定する資格認証方法において、
前記被認証側装置における工程として、
今回の認証に先立って、前記被認証側装置で当該今回の認証に用いる認証情報（以下、「被認証側今回認証情報」という）が前記ＩＤ情報毎に前記被認証側装置の記録手段に記録され、
前記被認証側装置が次回の認証に用いる認証情報（以下、被認証側次回認証情報」という）を生成するための乱数を取得し、
前記ＩＤ情報および前記乱数に基づいて前記被認証側次回認証情報を生成し、
生成した前記被認証側次回認証情報と前記被認証側今回認証情報とに対して、演算後の値に対して再度同じ演算をおこなうと演算前の値を得られるマスク関数による演算をおこない前記第１の認証子を生成し、
前記被認証側今回認証情報および前記被認証側次回認証情報に基づいて前記第２の認証子を生成し、
前記第１および前記第２の認証子を前記ＩＤ情報と共に前記認証側装置に送信し、
生成した前記被認証側次回認証情報を前記ＩＤ情報に対応する、次回の認証に用いる前記被認証側今回認証情報として記録し、
前記認証側装置における工程として、
前記今回の認証に先立って、前記認証側装置で当該今回の認証に用いる認証情報（以下、認証側今回認証情報」という）が前記ＩＤ情報毎に前記認証側装置の記録手段に記録され、
受信した前記第１の認証子と前記認証側今回認証情報とに対して前記マスク関数による演算をおこなって、前記認証側装置が次回の認証に用いる認証情報（以下、「認証側次回認証情報」という）を算出し、
前記認証側今回認証情報および前記認証側次回認証情報に基づいて、前記第２の認証子を検証するための検証値を生成し、
前記検証値と受信した前記第２の認証子とを比較して比較結果が一致の場合にのみ前記被認証側装置のアクセスを許可し、
算出した前記認証側次回認証情報を前記被認証側装置の前記ＩＤ情報に対応する、次回の認証に用いる前記認証側今回認証情報として記録することを特徴とする資格認証方法。
【請求項９】
被認証側装置毎に固有のＩＤ情報ならびに該ＩＤ情報に基づいた認証情報に基づく第１および第２の認証子を認証側装置に送信してアクセスを要求した前記被認証側装置の資格を認証することとして、前記被認証側装置のアクセスを許可するか否かを前記認証側装置で判定する資格認証方法において、
前記被認証側装置における工程として、
前記被認証側装置から着脱可能な記録手段を前記被認証側装置の構成として有し、
今回の認証に先立って、前記被認証側装置で当該今回の認証に用いる認証情報（以下、「被認証側今回認証情報」という）が前記ＩＤ情報毎に前記着脱可能な記録手段に記録されており、
前記被認証側装置が次回の認証に用いる認証情報（以下、被認証側次回認証情報」という）を生成するための乱数を取得し、
前記ＩＤ情報および前記乱数に基づいて前記被認証側次回認証情報を生成し、
生成した前記被認証側次回認証情報と前記被認証側今回認証情報とに対して、演算後の値に対して再度同じ演算をおこなうと演算前の値を得られるマスク関数による演算をおこない前記第１の認証子を生成し、
前記被認証側今回認証情報および前記被認証側次回認証情報に基づいて前記第２の認証子を生成し、
前記第１および前記第２の認証子を前記ＩＤ情報と共に前記認証側装置に送信し、
生成した前記被認証側次回認証情報を前記ＩＤ情報に対応する、次回の認証に用いる前記被認証側今回認証情報として前記着脱可能な記録手段に記録し、
前記認証側装置における工程として、
前記今回の認証に先立って、前記認証側装置で当該今回の認証に用いる認証情報（以下、認証側今回認証情報」という）が前記ＩＤ情報毎に前記認証側装置の記録手段に記録され、
受信した前記第１の認証子と前記認証側今回認証情報とに対して前記マスク関数による演算をおこなって、前記認証側装置が次回の認証に用いる認証情報（以下、「認証側次回認証情報」という）を算出し、
前記認証側今回認証情報および前記認証側次回認証情報に基づいて、前記第２の認証子を検証するための検証値を生成し、
前記検証値と受信した前記第２の認証子とを比較して比較結果が一致の場合にのみ前記被認証側装置のアクセスを許可し、
算出した前記認証側次回認証情報を前記被認証側装置の前記ＩＤ情報に対応する、次回の認証に用いる前記認証側今回認証情報として記録することを特徴とする資格認証方法。
【請求項１０】
前記被認証側装置における工程として、前記ＩＤ情報および前記乱数を含む情報群に一方向性関数を施して前記被認証側次回認証情報を生成する請求項８または９に記載の資格認証方法。
【請求項１１】
前記被認証側装置における工程として、前記ＩＤ情報、前記乱数、および被認証側のパスワードから成る情報群に前記一方向性関数を施して前記被認証側次回認証情報を生成する請求項１０に記載の資格認証方法。
【請求項１２】
前記被認証側装置における工程として、前記被認証側今回認証情報および前記被認証側次回認証情報を含む情報群に前記一方向性関数を施して前記第２の認証子を生成し、
前記認証側装置における工程として、前記認証側今回認証情報および前記認証側次回認証情報を含む情報群に前記一方向性関数を施して前記検証値を生成する請求項８乃至１１のいずれか１つに記載の資格認証方法。
【請求項１３】
前記被認証側装置における工程として、前記被認証側今回認証情報、前記被認証側次回認証情報、ならびに前記被認証側装置および前記認証側装置間で共有している共有情報から成る情報群に前記一方向性関数を施して前記第２の認証子を生成し、
前記認証側装置における工程として、前記認証側今回認証情報、前記認証側次回認証情報、および前記共有情報から成る情報群に一方向性関数を施して前記検証値を生成する請求項１２に記載の資格認証方法。
【請求項１４】
前記認証側装置における工程として、
前回以前の認証処理に用いた前記認証側今回認証情報を認証側前回認証情報として前記ＩＤ情報毎に予め記録しており、
前記被認証側装置のアクセスを許可した後に、前記認証側前回認証情報および前記認証側次回認証情報に基づいて相互認証子を生成し、
前記相互認証子を前記被認証側装置に送信し、
前記被認証側装置における工程として、
前回以前の認証処理に用いた前記被認証側今回認証情報を被認証側前回認証情報として記録し、
前記被認証側前回認証情報および前記被認証側次回認証情報に基づいて、前記相互認証子と比較するための比較値を生成し、
前記比較値と受信した前記相互認証子とを比較して比較結果が一致の場合に、（ａ）前記認証側装置が認証に成功したことを確認するか、あるいは、（ｂ）前記認証側装置を認証する請求項８乃至１３のいずれか１つに記載の資格認証方法。
【請求項１５】
請求項８乃至１４のいずれか１つに記載の資格認証方法を実現する被認証側装置である情報処理装置。
【請求項１６】
請求項８乃至１４のいずれか１つに記載の資格認証方法を実現する認証側装置である情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報通信システム等において、通信相手やユーザの利用資格を認証する方法に関する。
【背景技術】
【０００２】
従来、被認証者（ユーザ）が認証者（センタ）に認証を受ける手順であって、ユーザが入力するパスワードの正当性をセンタ側で認証する機能を有する方式として、本件発明者らによって、「ＳＡＳ−２認証方式」（辻貴介、上岡隆、清水明宏、“Simple And Secure password authentication protocol，Ver.２(SAS-2)”、電子情報通信学会技術研究報告書、OIS2002-30，Vol. 102，No. 314，pp. 7-11，2002）が提案されている。
【０００３】
以下、図面を参照して、「ＳＡＳ−２認証方式」について説明する。尚、従来技術の説明に用いる記法を以下に示す。「←」は、右辺の左辺への代入を示す。「Ｓ」は、被認証者が秘密に保持しているパスワードを示す。「ＩＤ」は、被認証者側の装置（以下、適宜、「被認証者」と言う）を識別する情報である被認証者識別子を示す。「ＸＯＲ」は、排他的論理和の演算を示す。「ｎ」は、認証回数を示す。Ｎ［ｎ］のＮは、乱数を示す。ｎは１以上の整数で、乱数を識別するために用いる。「Ｆ」、「Ｈ」は、パスワード「Ｓ」を用いない一方向性変換関数を示す。「Ｘ」は、パスワード「Ｓ」と乱数Ｎ［ｎ］を用いる一方向性変換関数を示す。尚、一方向性変換関数とは「ｚ＝Ｆ（ｘ，ｙ）」あるいは「ｚ＝Ｈ（ｘ，ｙ）」とするとき、ｚとｘからｙを算出することが計算量的に困難な関数を言う。「Ｘ」は、パスワードＳと乱数Ｎ［ｎ］を用いる一方向性変換関数であり、「Ｘ［ｎ］＝Ｘ（ＩＤ，Ｓ XOR Ｎ［ｎ］）」のように、「Ｘ［ｎ］」を算出するために用いる。
【０００４】
図１を参照して、「ＳＡＳ−２認証方式」による認証の手順のうちの初期登録時の手順について説明する。
【０００５】
まず、ユーザ（被認証者）側の装置では、ユーザが秘密に保持しているパスワード「Ｓ」、乱数Ｎ［１］、ユーザ識別子「ＩＤ」を用いて、「Ａ←Ｘ（ＩＤ，Ｓ XOR Ｎ［１］）」を演算して、「Ａ」を算出する。「Ａ」は、初回の認証に用いる認証情報である。
【０００６】
次に、ユーザ（被認証者）側の装置は、ユーザ識別子「ＩＤ」と共に、初回の認証に用いる認証情報「Ａ」を、安全な手段でセンタ（認証者）側の装置に送付する。そして、ユーザ（被認証者）側の装置において、乱数Ｎ［１］は保存しておく。
【０００７】
次に、センタ（認証者）側の装置（以下、適宜、「認証者」と言う）では、受け取った初回の認証に用いる認証情報「Ａ」を、ユーザ識別子「ＩＤ」と共に登録しておく。
【０００８】
次に、図２を参照して、「ＳＡＳ−２認証方式」による認証の手順のうちの認証時の手順について説明する。ここで説明する認証時手順は、初回（ｎ＝１）以降で、ｎ回目の認証時の手順である。
【０００９】
まず、ユーザ側の装置において、保存している乱数Ｎ［ｎ］から、「Ａ←Ｘ（ＩＤ，Ｓ XOR Ｎ［ｎ］）」の演算を行い今回認証情報「Ａ」を算出し、さらに、新しい乱数Ｎ［ｎ＋１］を発生させるか、今回認証情報「Ａ」をＮ［ｎ＋１］として、「Ｃ←Ｘ（ＩＤ，Ｓ XOR Ｎ［ｎ＋１］）」ならびに「Ｄ←Ｆ（ＩＤ，Ｃ）」の演算を行い次回認証情報「Ｃ」および第２次回認証情報「Ｄ」を算出する。
【００１０】
次に、算出した今回認証情報「Ａ」、次回認証情報「Ｃ」、および第２次回認証情報「Ｄ」を用いて、「α←Ｃ XOR （Ｄ＋Ａ）」ならびに「β←Ｄ XOR Ａ」の演算を行い第１の認証子「α」および第２の認証子「β」を算出する。
【００１１】
そして、ユーザ側の装置は、第１の認証子「α」および第２の認証子「β」を「ＩＤ」と共にセンタ側の装置に送付する。ユーザ（被認証者）側の装置において、乱数Ｎ［ｎ＋１］は保存しておく。
【００１２】
このとき、「Ａ」は今回認証情報、「Ｃ」は次回認証情報、「Ｄ」は次回認証情報「Ｃ」を一方向性変換したもうひとつの次回認証情報である第２次回認証情報である。
【００１３】
次に、センタ側の装置において、第１の認証子「α」および第２の認証子「β」と「ＩＤ」を受け取る。
【００１４】
そして、センタ側の装置は、受け取った第１の認証子「α」および第２の認証子「β」に対して、ユーザ識別子「ＩＤ」に対応して登録されている今回認証情報「Ａ」を用いて、「Ｄ←β XOR Ａ」の演算を行い第２次回認証情報「Ｄ」を算出する。算出した第２次回認証情報「Ｄ」と今回認証情報「Ａ」との和を用いて、「Ｃ←α XOR （Ｄ＋Ａ）」の演算を行い次回認証情報「Ｃ」を算出する。
【００１５】
さらに、センタ側の装置は、算出した次回認証情報「Ｃ」を一方向性変換した結果「Ｆ（ＩＤ，Ｃ）」が第２次回認証情報「Ｄ」に等しいかどうかを検証する。検証の結果が一致であれば、被認証者の資格を認証し、次回の認証に用いる認証情報として次回認証情報「Ｃ」を新しく認証情報「Ａ」として登録する。
【００１６】
次に、図３を参照して、「ＳＡＳ−２認証方式」による認証の手順のうちの、図２に示した手順に引き続いてなされる、相互認証時の手順について説明する。ここで説明する認証時手順も、初回（ｎ＝１）以降で、ｎ回目の認証時の手順である。
【００１７】
被認証者（ユーザ）側の装置から送付されてきた第１の認証子「α」および第２の認証子「β」を用いて、認証者（センタ）側の装置で被認証者の認証が成立した後、センタ側の装置は、次回認証情報「Ｃ」に一方向性変換関数「Ｆ」を施して得られるデータ「Ｄ」に、さらに一方向性変換関数「Ｈ」を施して得られる相互認証子「γ」を算出する。即ち、「γ←Ｈ（ＩＤ，Ｄ）」を演算し、認証者側から被認証者側へ「γ」を送付する。
【００１８】
被認証者（ユーザ）側の装置では、次回認証情報「Ｃ」に一方向性変換関数「Ｆ」を施して得られるデータ「Ｄ」に、一方向性変換関数「Ｈ」を施したデータ「Ｈ（ＩＤ，Ｄ）」を算出すると共に、このデータと受け取った相互認証子「γ」と比較し、一致すれば、認証者による認証が成功したことを確認するか、あるいは被認証者が認証者を相互に認証する。
【００１９】
以上説明した従来技術である「ＳＡＳ−２認証方式」においては、センタ側で登録されている今回認証情報でマスクされている次回認証情報に関する情報について検証することで、被認証者の資格を認証している。
【００２０】
即ち、「ＳＡＳ−２認証方式」では、今回認証情報「Ａ」を事前に送付しておき、次回認証情報「Ｃ」の一方向性変換であるデータ「Ｄ」を今回認証情報「Ａ」でマスクした情報である第１の認証子「α」と、次回認証情報「Ｃ」を次回認証情報「Ｃ」の一方向性変換であるデータ「Ｄ」と今回認証情報「Ａ」との和「（Ｄ＋Ａ）」でマスクした情報である第２の認証子「β」との２つを送付することにより、認証に用いる今回認証情報「Ａ」と次回認証情報「Ｃ」の第三者への漏洩を防いだ上で、今回認証情報「Ａ」によりマスクされて送付される次回認証情報「Ｃ」の一方向性変換である第２次回認証情報「Ｄ」と、次回認証情報「Ｃ」の一方向性変換である第２次回認証情報「Ｄ」と今回認証情報「Ａ」との和「（Ｄ＋Ａ）」でマスクされている次回認証情報「Ｃ」に一方向性変換を適用したデータとが、等しいかどうかを検証することによって、被認証者の資格を認証するようにしている。
【００２１】
【非特許文献１】「ワンタイムパスワード認証方式ＳＡＳの安全性に関する検討」（電子情報通信学会技術研究報告書、OFS2001-48，No. 435，pp. 53-58，2001）
【非特許文献２】「ＳＡＳ−２認証方式」（辻貴介、上岡隆、清水明宏、“Simple And Secure password authentication protocol，Ver.２(SAS-2)”、電子情報通信学会技術研究報告書、OIS2002-30，Vol. 102，No. 314，pp. 7-11，2002）
【発明の開示】
【発明が解決しようとする課題】
【００２２】
「ＳＡＳ−２認証方式」では、センタ側で受信した２つの認証子から次回認証情報と今回あるいは次回認証情報に一方向性変換関数を１回適用した情報を取り出し、今回あるいは次回認証情報に一方向性変換関数を１回適用した結果と、認証子から取り出した情報とを比較することによって被認証者の資格を認証するようにしていた。
【００２３】
ここで、「ＳＡＳ−２認証方式」では、認証情報を生成する際に、加算を用いていたため、元の情報を取り出す過程で、桁上がりした情報の復元が必要であった。
【００２４】
また、「ＳＡＳ−２認証方式」では、認証情報「Ａ」、「Ｄ」を生成する際に、「Ａ←Ｘ（ＩＤ，Ｓ XOR Ｎ［ｎ］）」、「Ｃ←Ｘ（ＩＤ，Ｓ XOR Ｎ［ｎ＋１］）」のように乱数を用いて演算している。しかし、この乱数は被認証者側の端末に保存されているため、端末を複数人で共有する場合、他人に乱数を盗まれ、パスワードを推測される危険性がある。
【００２５】
さらに、「ＳＡＳ−２認証方式」では、相互認証時に、認証者を認証するためのデータとして、「γ←Ｈ（ＩＤ，Ｄ）」を用いていたが、もし被認証者が過去（ｎ回目の認証時）に用いた相互認証子「γ」を再利用すると、攻撃者は（ｎ＋１）回目の認証情報を再利用することで被認証者になりすますことができる。また、相互認証子「γ」から「Ｄ」を求めることは計算量的に困難であるものの、攻撃者が過去の通信情報を全て傍受し、相互認証子「γ」から「Ｄ」、「Ｄ」から「Ｃ」を求めることができたと仮定すると、１回目の認証時から現在認証者側に保存されている認証情報を全て求めることができてしまう。
【００２６】
それ故、本発明の課題は、従来技術であるＳＡＳ−２認証方式を、より安全にし、かつ、通信コストを軽減することで、ＰＤＡや携帯電話、ＩＣカード、通信プロトコル等への適用範囲をさらに広げることができる資格認証方法を提供することである。
【００２７】
本発明の他の課題は、処理工程が従来よりもさらに簡素な資格認証方法を提供することである。
【課題を解決するための手段】
【００２８】
本発明によれば、被認証側装置毎に固有のＩＤ情報ならびに該ＩＤ情報に基づいた認証情報に基づく第１および第２の認証子を認証側装置に送信してアクセスを要求した前記被認証側装置の資格を認証することとして、前記被認証側装置のアクセスを許可するか否かを前記認証側装置で判定する請求項１の発明にかかる資格認証システムにおいて、前記被認証側装置は、前記被認証側装置が今回の認証に用いる認証情報（以下、「被認証側今回認証情報」という）を前記ＩＤ情報毎に予め記録しており、前記被認証側装置が次回の認証に用いる認証情報（以下、「被認証側次回認証情報」という）を生成するための乱数を取得し、前記ＩＤ情報および前記乱数に基づいて前記被認証側次回認証情報を生成し、生成した前記被認証側次回認証情報と前記被認証側今回認証情報とに対して、演算後の値に対して再度同じ演算をおこなうと演算前の値を得られるマスク関数による演算をおこない前記第１の認証子を生成し、前記被認証側今回認証情報および前記被認証側次回認証情報に基づいて前記第２の認証子を生成し、前記第１および前記第２の認証子を前記ＩＤ情報と共に前記認証側装置に送信し、生成した前記被認証側次回認証情報を前記ＩＤ情報に対応する、次回の認証に用いる前記被認証側今回認証情報として記録し、前記認証側装置は、前記認証側装置において今回の認証に用いる認証情報（以下、「認証側今回認証情報」という）を前記ＩＤ情報毎に予め記録しており、受信した前記第１の認証子と前記認証側今回認証情報とに対して前記マスク関数による演算をおこなって、前記認証側装置が次回の認証に用いる認証情報（以下、認証側次回認証情報」という）を算出し、前記認証側今回認証情報および前記認証側次回認証情報に基づいて、前記第２の認証子を検証するための検証値を生成し、前記検証値と受信した前記第２の認証子とを比較して比較結果が一致の場合にのみ前記被認証側装置のアクセスを許可し、算出した前記認証側次回認証情報を前記被認証側装置の前記ＩＤ情報に対応する、次回の認証に用いる前記認証側今回認証情報として記録することを特徴とする資格認証システムが得られる。
【００２９】
本発明によればまた、被認証側装置毎に固有のＩＤ情報ならびに該ＩＤ情報に基づいた認証情報に基づく第１および第２の認証子を認証側装置に送信してアクセスを要求した前記被認証側装置の資格を認証することとして、前記被認証側装置のアクセスを許可するか否かを前記認証側装置で判定する請求項８の発明にかかる資格認証方法において、前記被認証側装置における工程として、今回の認証に先立って、前記被認証側装置で当該今回の認証に用いる認証情報（以下、「被認証側今回認証情報」という）が前記ＩＤ情報毎に前記被認証側装置の記録手段に記録され、前記被認証側装置が次回の認証に用いる認証情報（以下、被認証側次回認証情報」という）を生成するための乱数を取得し、前記ＩＤ情報および前記乱数に基づいて前記被認証側次回認証情報を生成し、生成した前記被認証側次回認証情報と前記被認証側今回認証情報とに対して、演算後の値に対して再度同じ演算をおこなうと演算前の値を得られるマスク関数による演算をおこない前記第１の認証子を生成し、前記被認証側今回認証情報および前記被認証側次回認証情報に基づいて前記第２の認証子を生成し、前記第１および前記第２の認証子を前記ＩＤ情報と共に前記認証側装置に送信し、生成した前記被認証側次回認証情報を前記ＩＤ情報に対応する、次回の認証に用いる前記被認証側今回認証情報として記録し、前記認証側装置における工程として、前記今回の認証に先立って、前記認証側装置で当該今回の認証に用いる認証情報（以下、認証側今回認証情報」という）が前記ＩＤ情報毎に前記認証側装置の記録手段に記録され、受信した前記第１の認証子と前記認証側今回認証情報とに対して前記マスク関数による演算をおこなって、前記認証側装置が次回の認証に用いる認証情報（以下、「認証側次回認証情報」という）を算出し、前記認証側今回認証情報および前記認証側次回認証情報に基づいて、前記第２の認証子を検証するための検証値を生成し、前記検証値と受信した前記第２の認証子とを比較して比較結果が一致の場合にのみ前記被認証側装置のアクセスを許可し、算出した前記認証側次回認証情報を前記被認証側装置の前記ＩＤ情報に対応する、次回の認証に用いる前記認証側今回認証情報として記録することを特徴とする資格認証方法が得られる。
【００３０】
本発明によればさらに、前記資格認証方法を実現する被認証側装置である情報処理装置が得られる。
【００３１】
また、本発明によれば、前記資格認証方法を実現する認証側装置である情報処理装置が得られる。
【発明の効果】
【００３２】
本発明による資格認証方法では、認証者側で受信した認証子より次回認証情報を取り出し、今回認証情報、次回認証情報等により生成した生成結果と受信した認証子とを比較することによって被認証者の資格を認証することにより、認証情報のうち認証子の生成に自由度を持たせている。このため、認証子の出力長を制御することが可能であり、元の情報を復元するための余分なプロセスを軽減することができる。
【００３３】
また、相互認証情報の生成に複数の認証情報を用いているため、認証方式の強度がさらに上がっている。
【００３４】
即ち、「ＳＡＳ−２認証方式」では、センタ側で受信した第１および第２の２つの認証子から次回認証情報と今回あるいは次回認証情報に一方向性変換関数を１回適用した結果とを取り出し、今回あるいは次回認証情報に一方向性変換関数を１回適用した結果と、認証子から取り出した情報とを比較することによって被認証者の資格を認証するようにしていたのに対し、本認証方式では、センタ側で受信した第１の認証子から次回認証情報を取り出し、今回認証情報および次回認証情報等により生成した生成結果と、受信した第２の認証子とを比較することによって被認証者の資格を認証することにより、認証子に自由度を持たせることができる。例えば、今回認証情報および次回認証情報等により認証子を被認証者側にて生成する過程で、一方向性変換関数の演算結果を、より短いデータとして出力することができ、認証者側に送信する認証情報のデータ長の制御が可能である。また、今回認証情報および次回認証情報はマスクされていることから、今回認証情報および次回認証情報等により認証子を生成する過程で、一方向性変換関数の代わりに、より処理負荷の小さい関数を用いることができる。
【００３５】
また、ＳＡＳ−２認証方式では、認証子を生成する際に、加算を用いていたため、元の情報を取り出す過程で、桁上がりした情報の復元が必要であったのに対し、本認証方式では、認証子を生成する元の情報を復元する必要が無いため、ブロック単位で独立した演算が可能であり、桁上がりに付随する処理プログラムを軽減することができる。
【００３６】
さらに、ＳＡＳ−２認証方式では、認証情報「Ａ」、「Ｃ」を生成する際、Ａ←Ｘ（ＩＤ，Ｓ XOR Ｎ［ｎ］）、Ｃ←Ｘ（ＩＤ，Ｓ XOR Ｎ［ｎ＋１］）のように乱数を用いて演算している。しかし、この乱数は被認証者側の端末に保存されているため、端末を複数人で共有する場合、他人に乱数を盗まれ、パスワードを推測される危険性があったのに対して、本認証方式では、被認証者が管理する記憶装置に秘密情報を保存することで、第三者への秘密情報の漏洩を防いでいる。この際、乱数の代わりに認証情報を保存することで、認証時の一方向性関数演算処理を軽減することができる。また、被認証者が有する記憶装置に乱数性を有し十分に長い秘密鍵を保存し、被認証者が記憶するパスワードの代わりに用いることで、乱数生成処理を認証者側あるいは被認証者側の端末に委託することが可能となる。
【００３７】
さらにまた、ＳＡＳ−２認証方式では、相互認証時、認証者を認証するためのデータとして、γ←Ｈ（ＩＤ，Ｄ）を用いていたが、もし被認証者が過去（ｎ回目の認証時）に用いた相互認証子「γ」を再利用すると、攻撃者はｎ＋１回目の認証情報を再利用することで被認証者になりすますことができる。また、相互認証子「γ」から「Ｄ」を求めることは計算量的に困難であるが、攻撃者が過去の通信情報を全て傍受し、相互認証子「γ」から「Ｄ」、「Ｄ」から「Ｃ」を求めることができたと仮定すると、第１回目の認証時から現在認証者側に保存されている認証情報を全て求めることができてしまうのに対して、本認証方式では、相互認証子「γ」の生成に、複数の認証情報より生成された情報を用いることで、再利用の危険性および過去の認証情報全ての解読を困難にしている。
【発明を実施するための最良の形態】
【００３８】
以下、本発明による資格認証システムについて説明する。
【００３９】
本認証方法では、センタ側で受信した第１の認証子から次回認証情報を取り出し、今回認証情報および次回認証情報等により生成した生成結果と、受信した第２の認証子とを比較することによって被認証者の資格を認証する。これにより、一方向性変換関数の演算結果をより短いデータとして出力することができる等、認証子に自由度を持たせることが可能であり、元の情報を復元するための余分なプロセスを軽減することができる。
【００４０】
本発明による資格認証システムは、基本的に、以下の（１）〜（７）のような構成を有
している。
【００４１】
（１）  被認証側装置毎に固有のＩＤ情報ならびに該ＩＤ情報に基づいた認証情報に基づく第１および第２の認証子を認証側装置に送信してアクセスを要求した前記被認証側装置の資格を認証することとして、前記被認証側装置のアクセスを許可するか否かを前記認証側装置で判定する資格認証システムにおいて、前記被認証側装置は、前記被認証側装置が今回の認証に用いる認証情報（以下、「被認証側今回認証情報」という）を前記ＩＤ情報毎に予め記録しており、前記被認証側装置が次回の認証に用いる認証情報（以下、「被認証側次回認証情報」という）を生成するための乱数を取得し、前記ＩＤ情報および前記乱数に基づいて前記被認証側次回認証情報を生成し、生成した前記被認証側次回認証情報と前記被認証側今回認証情報とに対して、演算後の値に対して再度同じ演算をおこなうと演算前の値を得られるマスク関数による演算をおこない前記第１の認証子を生成し、前記被認証側今回認証情報および前記被認証側次回認証情報に基づいて前記第２の認証子を生成し、前記第１および前記第２の認証子を前記ＩＤ情報と共に前記認証側装置に送信し、生成した前記被認証側次回認証情報を前記ＩＤ情報に対応する、次回の認証に用いる前記被認証側今回認証情報として記録し、前記認証側装置は、前記認証側装置において今回の認証に用いる認証情報（以下、「認証側今回認証情報」という）を前記ＩＤ情報毎に予め記録しており、受信した前記第１の認証子と前記認証側今回認証情報とに対して前記マスク関数による演算をおこなって、前記認証側装置が次回の認証に用いる認証情報（以下、認証側次回認証情報」という）を算出し、前記認証側今回認証情報および前記認証側次回認証情報に基づいて、前記第２の認証子を検証するための検証値を生成し、前記検証値と受信した前記第２の認証子とを比較して比較結果が一致の場合にのみ前記被認証側装置のアクセスを許可し、算出した前記認証側次回認証情報を前記被認証側装置の前記ＩＤ情報に対応する、次回の認証に用いる前記認証側今回認証情報として記録することを特徴とする資格認証システム。
【００４２】
（２）  被認証側装置毎に固有のＩＤ情報ならびに該ＩＤ情報に基づいた認証情報に基づく第１および第２の認証子を認証側装置に送信してアクセスを要求した前記被認証側装置の資格を認証することとして、前記被認証側装置のアクセスを許可するか否かを前記認証側装置で判定する資格認証システムにおいて、前記被認証側装置は、前記被認証側装置から着脱可能な記録手段を前記被認証側装置の構成として有し、前記着脱可能な記録手段には、今回の認証に用いる認証情報（以下、「被認証側今回認証情報」という）を前記ＩＤ情報毎に予め記録しており、前記被認証側装置が次回の認証に用いる認証情報（以下、「被認証側次回認証情報」という）を生成するための乱数を取得し、前記ＩＤ情報および前記乱数に基づいて前記被認証側次回認証情報を生成し、生成した前記被認証側次回認証情報と前記被認証側今回認証情報とに対して、演算後の値に対して再度同じ演算をおこなうと演算前の値を得られるマスク関数による演算をおこない前記第１の認証子を生成し、前記被認証側今回認証情報および前記被認証側次回認証情報に基づいて前記第２の認証子を生成し、前記第１および前記第２の認証子を前記ＩＤ情報と共に前記認証側装置に送信し、生成した前記被認証側次回認証情報を前記ＩＤ情報に対応する、次回の認証に用いる前記被認証側今回認証情報として前記着脱可能な記録手段に記録し、前記認証側装置は、前記認証側装置において今回の認証に用いる認証情報（以下、「認証側今回認証情報」という）を前記ＩＤ情報毎に予め記録しており、受信した前記第１の認証子と前記認証側今回認証情報とに対して前記マスク関数による演算をおこなって、前記認証側装置が次回の認証に用いる認証情報（以下、認証側次回認証情報」という）を算出し、前記認証側今回認証情報および前記認証側次回認証情報に基づいて、前記第２の認証子を検証するための検証値を生成し、前記検証値と受信した前記第２の認証子とを比較して比較結果が一致の場合にのみ前記被認証側装置のアクセスを許可し、算出した前記認証側次回認証情報を前記被認証側装置の前記ＩＤ情報に対応する、次回の認証に用いる前記認証側今回認証情報として記録することを特徴とする資格認証システム。
【００４３】
（３）  前記被認証側装置は、前記ＩＤ情報および前記乱数を含む情報群に一方向性関数を施して前記被認証側次回認証情報を生成する（１）または（２）に記載の資格認証システム。
【００４４】
（４）  前記被認証側装置は、前記ＩＤ情報、前記乱数、および被認証側のパスワードから成る情報群に前記一方向性関数を施して前記被認証側次回認証情報を生成する（３）に記載の資格認証システム。
【００４５】
（５）  前記被認証側装置は、前記被認証側今回認証情報および前記被認証側次回認証情報を含む情報群に前記一方向性関数を施して前記第２の認証子を生成し、前記認証側装置は、前記認証側今回認証情報および前記認証側次回認証情報を含む情報群に前記一方向性関数を施して前記検証値を生成する（１）〜（４）のいずれか１つに記載の資格認証システム。
【００４６】
（６）  前記被認証側装置は、前記被認証側今回認証情報、前記被認証側次回認証情報、ならびに前記被認証側装置および前記認証側装置間で共有している共有情報から成る情報群に前記一方向性関数を施して前記第２の認証子を生成し、前記認証側装置は、前記認証側今回認証情報、前記認証側次回認証情報、および前記共有情報から成る情報群に一方向性関数を施して前記検証値を生成する（５）に記載の資格認証システム。
【００４８】
（７）  前記認証側装置は、前回以前の認証処理に用いた前記認証側今回認証情報を認証側前回認証情報として前記ＩＤ情報毎に予め記録しており、前記被認証側装置のアクセスを許可した後に、前記認証側前回認証情報および前記認証側次回認証情報に基づいて相互認証子を生成し、前記相互認証子を前記被認証側装置に送信し、前記被認証側装置は、前回以前の認証処理に用いた前記被認証側今回認証情報を被認証側前回認証情報として記録し、前記認証側前回認証情報および前記被認証側次回認証情報に基づいて、前記相互認証子と比較するための比較値を生成し、前記比較値と受信した前記相互認証子とを比較して比較結果が一致の場合に、（ａ）前記認証側装置が認証に成功したことを確認するか、あるいは、（ｂ）前記認証側装置を認証する（１）〜（６）のいずれか１つに記載の資格認証システム。
【実施例１】
【００４９】
以下、図面を参照して、被認証者側の第一情報処理装置と、認証者側の第二情報処理装置を有する情報処理システムおよびそのプログラム等を例に、本発明の実施例による資格認証システム、資格認証方法、および情報処理装置について詳細に説明する。尚、実施例において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００５０】
図４は、本発明の実施例１における、被認証者（ユーザ）側の第一情報処理装置と認証者（センタ）の第二情報処理装置を有する情報処理システムの構成を示している。
【００５１】
図４を参照して、本情報処理システムは、第一情報処理装置１１と第二情報処理装置１２とを有している。
【００５２】
第一情報処理装置１１は、ユーザ識別子格納部１１０１、パスワード格納部１１０２、第一演算部１１０３、第一送信部１１０４、および第一受信部１１０５を有している。
【００５３】
ユーザ識別子格納部１１０１は、ユーザまたは第一情報処理装置を識別子するユーザ識別子（以下、ユーザ識別子を記号で、適宜「ＩＤ」と言う。）を格納している。このユーザ識別子は、認証処理の都度、ユーザに入力されるものであってもよいし、第一情報処理装置が予め格納しているＩＤを、認証処理の際に利用するものであってもよい。ユーザ識別子格納部１１０１は、不揮発性または揮発性の記録媒体で実現され得る。
【００５４】
パスワード格納部１１０２は、被認証者（ユーザ）を認証するためのパスワード（以下、パスワードを、適宜「Ｓ」と言う。）を格納している。パスワード「Ｓ」は、認証処理の都度、ユーザに入力されるものであってもよいし、第一情報処理装置が予め格納している「Ｓ」を、認証処理の際に利用するものであってもよい。パスワード格納部１１０２は、不揮発性または揮発性の記録媒体で実現され得る。
【００５５】
ユーザ識別子格納部１１０１とパスワード格納部１１０２は、通常、１つの記録媒体で実現され得るが、異なる記録媒体で実現されてもよい。
【００５６】
第一演算部１１０３は、一方向性変換（一方向性変換関数を用いた演算）や乱数の発生等を行う。第一演算部１１０３は、通常、ＣＰＵやメモリ等から実現され得る。第一演算部１１０３が演算を行うための関数や処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現してもよい。
【００５７】
第一送信部１１０４は、第一演算部１１０３の演算結果等を第二情報処理装置１２に送信する。第一送信部１１０４は、無線または有線の通信手段または、放送手段で実現され得る。
【００５８】
第一受信部１１０５は、第二情報処理装置１２からデータを受信する。第一受信部１１０５は、無線または有線の通信手段または、放送を受信する手段（チューナーおよびソフトウェアドライバ等）で実現され得る。
【００５９】
尚、第一送信部１１０４と第一受信部１１０５は、通常、１つの手段で実現されるが、異なる手段で実現されてもよい。
【００６０】
第二情報処理装置１２は、第二受信部１２０１、情報記録部１２０２、第二演算部１２０３、認証部１２０４、および第二送信部１２０５を有している。
【００６１】
第二受信部１２０１は、第一情報処理装置１１からデータを受信する。第二受信部１２０１は、通常、無線または有線の通信手段で実現され得るが、放送を受信する手段を排除するものではない。
【００６２】
情報記録部１２０２は、第二受信部１２０１が受信したデータの全部また一部または、第二演算部１２０３の演算結果等を記録する。情報記録部１２０２は、通常、ソフトウェアで実現され得るが、ハード（専用回路）で実現してもよい。情報記録部１２０２の情報の記録先は、第二情報処理装置１２に内蔵されている記録媒体でも、外付けの記録媒体でもよい。尚、記録媒体は、不揮発性の記録媒体でも、揮発性の記録媒体でもよい。
【００６３】
第二演算部１２０３は、一方向変換などの演算を行う。第二演算部１２０３は、通常、ＣＰＵ、メモリ、およびソフトウェア等から実現され得る。つまり、一方向性関数の演算式や、各種演算のアルゴリズムは、通常、ソフトウェアで実現され、当該ソフトウェアは、第二演算部１２０３のメモリ（ＲＯＭ等）に格納されている。
【００６４】
認証部１２０４は、第二演算部１２０３の演算結果等に基づいて、認証を行う。認証部１２０４は、通常、ソフトウェアで実現され得るが、ハードウェア（専用回路）で実現してもよい。
【００６５】
第二送信部１２０５は、第二情報処理装置１２から第一情報処理装置１１に、第二演算部１２０３の演算結果の情報を送信する。第二送信部１２０５は、無線または有線の通信手段、または放送手段で実現され得る。
【００６６】
以下、被認証者（ユーザ）側の第一情報処理装置１１が、認証者（センタ）側の第二情報処理装置１２に認証を受ける手順を、図４〜図７を参照して説明する。
【００６７】
この実施例においては、次のような記法を用いる。「←」は、右辺の左辺への代入を示す。「Ｓ」は、被認証者側の第一情報処理装置が秘密に保持しているパスワードを示す。「ＩＤ」は、被認証者側の第一情報処理装置を識別する情報である被認証者識別子（ユーザ識別子）を示す。「ＡＮ」は、被認証者、認証者間で共有している共有情報を示す。例えば、時間情報や被認証者識別子「ＩＤ」を用いることができる。「ｎ」は、認証回数を示す。「Ｎ［ｎ］」のＮは、乱数を示す。「Ｎ［ｎ］」のｎは、１以上の整数で、乱数を識別するために用いる。「XOR」は、排他的論理和を示す。「Ｍ」は、２度同じ演算すると元の情報が結果となる関数であるマスク関数を示す。マスク関数としては、例えば、排他的論理和演算が該当する。「AT」は、パスワード「Ｓ」を用いない一方向性変換関数を示す。尚、一方向性関数とは、「ｚ＝AT（ｘ，ｙ）」とするとき、ｚとｘからｙを算出することが計算量的に困難な関数を云う。「VT」は、パスワード「Ｓ」と乱数Ｎ［ｎ］を用いる一方向性変換関数を示し、「VT［ｎ］＝VT（ＩＤ，Ｓ，Ｎ［ｎ］）」のように、「VT［ｎ］」を算出するために用いる。
【００６８】
図５は、被認証者（ユーザ）の初期登録（ｎ＝０）の手順を説明するフロー図である。
【００６９】
図４および図５を参照して、ユーザ側の第一情報処理装置１１において、予めパスワード「Ｓ」とユーザ識別子「ＩＤ」が格納されている。パスワード「Ｓ」は、ユーザが秘密に保持している。
【００７０】
そして、第一情報処理装置１１の第一演算部１１０３は、乱数Ｎ［１］を発生する。乱数を発生する技術は、既存技術であるので、説明は省略する。そして、第一演算部１１０３は、乱数Ｎ［１］を保存する。
【００７１】
次に、第一演算部１１０３は、ユーザ識別子「ＩＤ」およびパスワード「Ｓ」と、乱数Ｎ［１］とを用いて、「Ａ←VT（ＩＤ，Ｓ，Ｎ［１］）」を演算して、「Ａ」を算出する。「Ａ」は、初回の認証に用いる認証情報である。
【００７２】
次に、第一送信部１１０４は、ユーザ識別子「ＩＤ」と共に、初回の認証に用いる認証情報「Ａ」を、安全な手段でセンタ（認証者）側の第二情報処理装置１２に送信する。
【００７３】
そして、第一演算部１１０３は、認証情報「Ａ」を保存する。
【００７４】
次に、センタ側の第二情報処理装置１２の第二受信部１２０１は、ユーザ識別子「ＩＤ」、認証情報「Ａ」を受信する。
【００７５】
次に、情報記録部１２０２は、受け取った初回の認証に用いる認証情報「Ａ」を、ユーザ識別子「ＩＤ」に対応付けて登録する。
【００７６】
以上が、被認証者（ユーザ）の初期登録の手順である。
【００７７】
図６は、初回（ｎ＝１）以降で、ｎ回目の認証時の手順を説明するフロー図である。
【００７８】
図４および図６を参照して、ユーザ側の第一情報処理装置１１は、保存している今回認証情報「Ａ」、ユーザ識別子「ＩＤ」、パスワード「Ｓ」を取り出す。
【００７９】
尚、ユーザ識別子「ＩＤ」、パスワード「Ｓ」は、データ送信等が行われる毎（認証の必要がある場合毎）にユーザにより入力される場合もあれば、第一情報処理装置１１が格納している場合もある。第一情報処理装置１１がユーザ識別子「ＩＤ」、パスワード「Ｓ」を格納している場合は、第一情報処理装置１１からユーザ識別子「ＩＤ」、パスワード「Ｓ」を取り出す。
【００８０】
次に、第一演算部１１０３は、新しい乱数Ｎ［ｎ＋１］を発生させるか、「Ａ」をＮ［ｎ＋１］として代用して、「Ｃ←VT（ＩＤ，Ｓ，Ｎ［ｎ＋１］）」の演算を行い「Ｃ」を算出する。
【００８１】
さらに、第一演算部１１０３は、今回認証情報「Ａ」および算出した「Ｃ」を用いて、「α←Ｍ（Ａ，Ｃ）」ならびに「β←AT（Ａ，Ｃ，AN）」の演算を行い第１の認証子「α」および第２の認証子「β」を算出する。
【００８２】
そして、第一送信部１１０４は、第１の認証子「α」および第２の認証子「β」を、ユーザ識別子「ＩＤ」と共にセンタ側の第二情報処理装置１２に送付する。
【００８３】
ここで、「Ａ」は今回認証情報、「Ｃ」は次回認証情報である。
【００８４】
そして、第一演算部１１０３は、今回認証情報「Ａ」の代わりに次回認証情報「Ｃ」を保存する。
【００８５】
次に、センタ側の第二情報処理装置１２の第二受信部１２０１は、第１の認証子「α」および第２の認証子「β」ならびにユーザ識別子「ＩＤ」を受信する。
【００８６】
そして、第二演算部１２０３は、受け取った第１の認証子「α」に対して、「ＩＤ」に対応して登録されている今回認証情報「Ａ」を用いて、「Ｃ←Ｍ（Ａ，α）」の演算を行い「Ｃ」を算出する。
【００８７】
さらに、第二演算部１２０３は、今回認証情報「Ａ」および算出した「Ｃ」を一方向性変換した結果「AT（Ａ，Ｃ，AN）」が、第２の認証子「β」に等しいかどうかを検証する。
【００８８】
認証部１２０４は、両データが一致すれば、被認証者（第一情報処理装置１１）の資格を認証する。「資格を認証する」とは、第一情報処理装置からのアクセスが適正であると判断する、ことを云う。そして、情報記録部１２０２は、次回の認証に用いる認証情報として次回認証情報「Ｃ」を新しく「Ａ」として登録する。ただし、後述するように、本認証後にセンタとユーザとの間で相互認証を行う場合には、情報記録部１２０２は、今回認証情報「Ａ」の代わりに次回認証情報「Ｃ」を登録すると共に、場合によっては、今回認証情報「Ａ」を前回認証情報「Ｙ」として登録する。
【００８９】
以上が、被認証者（ユーザ）の初回（ｎ＝１）以降で、ｎ回目の認証時の手順である。
【００９０】
図７は、初回（ｎ＝１）以降で、ｎ回目の相互認証時の手順を説明するフロー図である。
【００９１】
図４および図７を参照して、ユーザ側の第一情報処理装置１１から送付されてきて第二受信部１２０１で受信した第１の認証子「α」および第２の認証子「β」を用いて、センタ側の第二情報処理装置１２で被認証者の認証が成立した後、センタ側の第二情報処理装置１２の第二演算部１２０３は、情報記録部１２０２に保存していた前回認証情報「Ｙ」、取り出した次回認証情報「Ｃ」等に一方向性変換関数「AT」を施して得られるデータ「γ」を算出する。即ち、「γ←AT（Ｙ，Ｃ，AN）」を演算する。そして、センタ側の第二情報処理装置１２の第二送信部１２０５は、第一情報処理装置１１に、データ「γ」を相互認証子「γ」として送付する。
【００９２】
尚、情報記録部１２０２に保存していた前回認証情報「Ｙ」については、被認証者（ユーザ）の初期登録（ｎ＝０）時に、予め、「Ｙ」を生成すると共に、保存しておく。
【００９３】
即ち、図４を参照して、ユーザ側の第一情報処理装置１１において、パスワード「Ｓ」とユーザ識別子「ＩＤ」が予め格納されている。
【００９４】
そして、第一情報処理装置１１の第一演算部１１０３は、乱数Ｎ［０］を発生する。そして、第一演算部１１０３は、乱数Ｎ［０］を保存する。
【００９５】
次に、第一演算部１１０３は、ユーザ識別子「ＩＤ」およびパスワード「Ｓ」と、乱数Ｎ［０］とを用いて、「Ｙ←VT（ＩＤ，Ｓ，Ｎ［０］）」を演算して、「Ｙ」を算出する。「Ｙ」は、初回の相互認証に用いる認証情報である。
【００９６】
次に、第一送信部１１０４は、ユーザ識別子「ＩＤ」と共に、初回の認証に用いる認証情報「Ｙ」を、安全な手段でセンタ（認証者）側の第二情報処理装置１２に送信する。
【００９７】
そして、第一演算部１１０３は、「Ｙ」を初回の相互認証に用いる、前回認証情報「Ｙ」として保存する。
【００９８】
次に、センタ側の第二情報処理装置１２の第二受信部１２０１は、ユーザ識別子「ＩＤ」、認証情報「Ｙ」を受信する。
【００９９】
次に、情報記録部１２０２は、受け取った初回の相互認証に用いる認証情報「Ｙ」を前回認証情報「Ｙ」として、ユーザ識別子「ＩＤ」に対応付けて登録する。
【０１００】
以上が、相互認証のための被認証者（ユーザ）の初期登録の手順である。
【０１０１】
また、「γ」を生成する際、前回認証情報「Ｙ」、次回認証情報「Ｃ」の組み合わせのほかに、他の情報を用いてもよい。即ち、前回認証情報「Y」の代わりに、今回以前の認証情報を用いることも可能である。
【０１０２】
例えば、「γ←AT（Ａ，Ｃ，AN）」とすることも可能である。ただし、この場合、「β」と異なる結果を算出しなければならない。例えば、「β←AT（Ａ XOR Ｃ || AN）」、「γ←AT（Ａ || Ｃ || AN）」（ここで「||」は、データの連結を示す）のように、一方向性変換関数演算を行う前の情報を異なるものにするか、あるいは、異なる一方向性変換関数を用いる等する。
【０１０３】
次に、ユーザ側の第一情報処理装置１１の第一受信部１１０５は、相互認証子「γ」を受信する。
【０１０４】
そして、第一演算部１１０３は、保存していた前回認証情報「Ｙ」と、算出した「Ｃ」等を用いて、「AT（Ｙ，Ｃ，AN）」を算出し、この結果を受け取った相互認証子「γ」と比較し、一致すれば、センタ側の第二情報処理装置１２が成功したことを確認するか、あるいはユーザ側の第一情報処理装置１１がセンタ側の第二情報処理装置１２を相互に認証する。
【０１０５】
以上が、被認証者（ユーザ）の初回（ｎ＝１）以降で、ｎ回目の相互認証時の手順である。
【０１０６】
尚、本実施例において、ユーザ側の装置は、初期登録の処理と、初回（ｎ＝１）以降、ｎ回目の認証処理は、同一の第一情報処理装置で行ったが、初期登録の処理を行う装置と、初回（ｎ＝１）以降、ｎ回目の認証処理を行う装置が異なっていてもよい。例えば、初期登録の処理は、パーソナルコンピュータで行い、初回（ｎ＝１）以降、ｎ回目の認証処理は持ち運び可能な携帯端末（携帯電話を含む）で行うこと等が考えられる。かかる場合、初期登録処理を行ったパーソナルコンピュータに記録されている認証情報「Ａ」やユーザ識別子「ＩＤ」等を何らかの手段で携帯端末（携帯電話を含む）に記録しなければならない。かかる処理は、いる認証情報「Ａ」やユーザ識別子「ＩＤ」等のパーソナルコンピュータから携帯端末への送信により、記録することが考えられる。但し、処理は、他の処理でもよい。
【０１０７】
また、本実施例における認証処理は、各種アプリケーションで応用可能である。例えば、本認証処理は、メールの送受信で利用され得る。また、本認証処理は、ホームページへのアクセス時の認証処理として利用され得る。各種アプリケーションで応用可能であるのは、本実施例に限らず、本発明の全ての変形例における認証処理においても同様である。
【０１０８】
さらに、本実施例における処理は、ソフトウェアで実現してもよい。そして、このソフトウェアをソフトウェアダウンロード等により配布してもよい。また、このソフトウェアをＣＤ−ＲＯＭなどの記録媒体に記録して流布してもよい。尚、このことは、本発明の全ての変形例においても該当する。
【０１０９】
本実施例における処理は、ソフトウェアで実現する場合も、初期登録を行うステップと、認証を行うステップとは、分離されていてもよい。
【０１１０】
また、上記第一情報処理装置で行う処理と、第二情報処理装置で行う処理は、プログラムとして分離されている。
【実施例２】
【０１１１】
実施例１においては被認証側装置に認証情報を保存していたが、認証情報をＩＣカードなどの被認証者が安全に保持する記憶装置に保存することができる。以下、その手順を本発明の実施例２として説明する。
【０１１２】
初回登録時に、被認証側装置は、被認証者識別子、被認証者の秘密情報、乱数等により生成された初回認証情報を被認証者識別子と共に認証側装置に送信する。一方、認証側装置は、受信した情報を登録する。このとき、被認証側装置では、被認証者識別子および初回認証情報を被認証者が安全に管理する記憶装置に保存する。
【０１１３】
認証時に、被認証側装置は、被認証者識別子および初回認証情報を安全に管理する記憶装置より読み出し、次回認証用の乱数を生成し、被認証者識別子、被認証者の秘密情報、次回認証用の乱数等により次回認証情報を生成し、次回認証情報を読み出した今回認証情報によりマスクした情報と、今回認証情報、次回認証情報等により認証子を生成し、その情報を被認証者識別子と共に認証側装置に送信する。一方、認証側装置は、保存している今回認証情報と受信した認証情報を用いて次回認証情報を抽出し、今回認証情報、次回認証情報等により生成したデータと、受信した認証子とが等しいかどうかを検証することにより被認証側装置の資格を認証し、次回以降の認証に用いる情報として、抽出した次回認証情報を被認証者識別子対応に保存する。
【０１１４】
認証成立後に、被認証側装置は、今回認証情報の代わりに生成した次回認証情報を安全に管理する記憶装置に保存する。
【０１１５】
尚、次回認証用の乱数、次回認証情報の生成を予め行い、生成した次回認証情報を被認証者が安全に管理する記憶装置に保存しておくことも可能である。
【産業上の利用可能性】
【０１１６】
以上、具体的な実施例によって本発明による資格認証方法、情報処理装置、資格認証システムを説明したが、本発明はこの実施例に限定されず、情報通信システム等において通信相手やユーザの利用資格を認証するための種々の手段への適用、変形が当業者にとって可能であることは、云うまでもない。
【図面の簡単な説明】
【０１１７】
【図１】従来技術における初期登録手順を説明するフロー図である。
【図２】従来技術における認証手順を説明するフロー図である。
【図３】従来技術における相互認証手順を説明するフロー図である。
【図４】本発明の実施例における情報処理システムの構成を示すブロック図である。
【図５】本発明の実施例における初期登録手順を説明するフロー図である。
【図６】本発明の実施例における認証手順を説明するフロー図である。
【図７】本発明の実施例における相互認証手順を説明するフロー図である。
【符号の説明】
【０１１８】
１１  第一情報処理装置
１２  第二情報処理装置
１１０１  ユーザ識別子格納部
１１０２  パスワード格納部
１１０３  第一演算部
１１０４  第一送信部
１１０５  第一受信部
１２０１  第二受信部
１２０２  情報記録部
１２０３  第二演算部
１２０４  認証部
１２０５  第二送信部
【図１】
0004606040.tif 000002
【図２】
0004606040.tif 000003
【図３】
0004606040.tif 000004
【図４】
0004606040.tif 000005
【図５】
0004606040.tif 000006
【図６】
0004606040.tif 000007
【図７】
0004606040.tif 000008