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