(57)【特許請求の範囲】
【請求項１】
高い序列順位のシード情報又はハッシュ値から一方向的に低い序列順位のハッシュ値を生成可能であり、序列順位に応じてより高い序列順位とハッシュ値との組が配信されて、序列順位とハッシュ値との組を個別に有する複数の認証装置が互いに他の認証装置の序列順位を認証し合う序列的認証システムであって、
前記各認証装置は、
前記配信された序列順位とハッシュ値との組を管理する管理手段と、
他の認証装置から序列順位を保持している旨の証明を要求されたとき、前記管理手段内の当該序列順位に対応するハッシュ値及び当該序列順位を要求元の認証装置に送信する証明手段と、
他の認証装置に序列順位を保持している旨の証明を要求したとき、当該認証装置からハッシュ値及び序列順位を受信すると共に、これらハッシュ値及び序列順位の検証要求を検証手段に送出する送出手段と、
前記送出された検証要求を受けると、この検証要求内の序列順位と同じ序列順位のハッシュ値を前記管理手段から検索し、同じ序列順位のハッシュ値がある場合、当該検索したハッシュ値と前記検証要求のハッシュ値とが一致するか否かに基づいて、前記検証要求のハッシュ値及び序列順位を検証する前記検証手段と、
を備えたことを特徴とする序列的認証システム。
【請求項２】
請求項１に記載の序列的認証システムにおいて、
前記証明手段は、前記ハッシュ値の送信に代えて、当該ハッシュ値を離散対数にもつコミット値に関して前記要求元の認証装置からチャレンジｃを受けると、乱数ｋを生成し、ｒ＝(ｇk ｍｏｄ ｐ) ｍｏｄ ｑ及びｓ＝ｋ-1｛ｃ＋ｚi・ｒ｝ｍｏｄ ｑを計算し、ペア値（ｒ，ｓ）を送信し（但し、ｐ，ｑは、ｐ＝ｎｑ＋１の関係（ｎは整数）を満たす十分に大きな素数、ｇは乗法群ｚp*での位数がｑとなる原始元、ｚiは序列順位ｉのハッシュ値）、
前記検証手段は、前記ハッシュ値に代えて、前記ペア値（ｒ，ｓ）を受けると、ｕ1＝ｓ-1ｃ及びｕ2＝ｒｓ-1を計算し、(ｇu1ｙu2 ｍｏｄ ｐ) ｍｏｄ ｑ＝ｒという検証式の成立を検証することを特徴とする序列的認証システム。
【請求項３】
序列順位とハッシュ値との組を個別に有する複数の認証装置が互いに他の認証装置の序列順位を認証し合う序列的認証システムに用いられるハッシュ値管理装置であって、
高い序列順位のシード情報又はハッシュ値から一方向的に低い序列順位のハッシュ値を生成する生成手段と、
前記生成手段により生成された各ハッシュ値と序列順位との組を前記各認証装置の識別情報と共に管理する管理手段と、
前記各認証装置の序列順位に応じて前記管理手段を参照しながらより高い序列順位とハッシュ値との組を当該認証装置に配信する配信手段と、
を備えたことを特徴とするハッシュ値管理装置。
【請求項４】
高い序列順位のシード情報又はハッシュ値から一方向的に低い序列順位のハッシュ値を生成可能であり、序列順位に応じてより高い序列順位とハッシュ値との組が配信されて、序列順位に基づく認証が可能な認証装置であって、
自己の序列順位とハッシュ値との組を管理する管理手段と、
他の認証装置から序列順位を保持している旨の証明を要求されたとき、前記管理手段内の当該序列順位に対応するハッシュ値及び当該序列順位を要求元の認証装置に送信する証明手段と、
他の認証装置に序列順位を保持している旨の証明を要求したとき、当該認証装置からハッシュ値及び序列順位を受信すると共に、これらハッシュ値及び序列順位の検証要求を検証手段に送出する送出手段と、
前記送出された検証要求を受けると、この検証要求内の序列順位と同じ序列順位のハッシュ値を前記管理手段から検索し、同じ序列順位のハッシュ値がある場合、当該検索したハッシュ値と前記検証要求のハッシュ値とが一致するか否かに基づいて、前記検証要求のハッシュ値及び序列順位を検証する前記検証手段と、
を備えたことを特徴とする認証装置。
【請求項５】
請求項４に記載の認証装置において、
前記証明手段は、前記ハッシュ値の送信に代えて、当該ハッシュ値を離散対数にもつコミット値に関して前記要求元の認証装置からチャレンジｃを受けると、乱数ｋを生成し、ｒ＝(ｇk ｍｏｄ ｐ) ｍｏｄ ｑ及びｓ＝ｋ-1｛ｃ＋ｚi・ｒ｝ｍｏｄ ｑを計算し、ペア値（ｒ，ｓ）を送信し（但し、ｐ，ｑは、ｐ＝ｎｑ＋１の関係（ｎは整数）を満たす十分に大きな素数、ｇは乗法群ｚp*での位数がｑとなる原始元、ｚiは序列順位ｉのハッシュ値）、
前記検証手段は、前記ハッシュ値に代えて、前記ペア値（ｒ，ｓ）を受けると、ｕ1＝ｓ-1ｃ及びｕ2＝ｒｓ-1を計算し、(ｇu1ｙu2 ｍｏｄ ｐ) ｍｏｄ ｑ＝ｒという検証式の成立を検証することを特徴とする認証装置。
【請求項６】
請求項４に記載の認証装置において、
前記検証手段は、他の認証装置の序列順位とハッシュ値との組と、自己の序列順位とハッシュ値との組とを対象とし、前記検証要求内の序列順位と同じ序列順位のハッシュ値が無い場合で、当該検証要求内の序列順位を下回る序列順位のハッシュ値しか前記管理手段にないときには、当該管理手段内の最高の序列順位を示す第１ハッシュ値を選択し、この最高の序列順位と前記検証要求内の序列順位との差分情報を求め、前記検証要求内のハッシュ値に再帰的に前記差分情報の値の回数だけハッシュ関数を施して前記最高の序列順位に対応する第２ハッシュ値を計算し、前記第１ハッシュ値と前記第２ハッシュ値との一致を確認することにより、前記検証を行なうことを特徴とする認証装置。
【請求項７】
複数の証明装置に対し、自己の序列順位とハッシュ値との組を個別に配信し、前記各証明装置の保持内容を検証する検証装置であって、
高い序列順位のシード情報又はハッシュ値から一方向的に低い序列順位のハッシュ値を生成する生成手段と、
前記生成手段により生成された各ハッシュ値と序列順位との組を前記各証明装置の識別情報と共に管理する管理手段と、
前記各証明装置の序列順位に応じて前記管理手段を参照しながらより高い序列順位とハッシュ値との組を当該証明装置に配信する配信手段と、
ある証明装置に序列順位の証明を要求したとき、当該証明装置からハッシュ値及び序列順位を受信すると共に、これらハッシュ値及び序列順位の検証要求を検証手段に送出する送出手段と、
前記送出された検証要求を受けると、この検証要求内の序列順位と同じ序列順位のハッシュ値を前記管理手段から検索し、同じ序列順位のハッシュ値がある場合、当該検索したハッシュ値と前記検証要求のハッシュ値とが一致するか否かに基づいて、前記検証要求のハッシュ値及び序列順位を検証する前記検証手段と、
を備えたことを特徴とする検証装置。
【請求項８】
請求項７に記載の検証装置において、
前記検証手段は、前記証明装置から得られたハッシュ値に代えて、当該ハッシュ値を離散対数にもつコミット値に関して前記要求元からチャレンジｃを前記証明装置が受けて、前記証明装置が乱数ｋを生成し、前記証明装置がｒ＝(ｇk ｍｏｄ ｐ) ｍｏｄ ｑ及びｓ＝ｋ-1｛ｃ＋ｚi・ｒ｝ｍｏｄ ｑを計算し、前記証明装置がペア値（ｒ，ｓ）を送信したとき（但し、ｐ，ｑは、ｐ＝ｎｑ＋１の関係（ｎは整数）を満たす十分に大きな素数、ｇは乗法群ｚp*での位数がｑとなる原始元、ｚiは序列順位ｉのハッシュ値）、前記証明装置から得られた「ハッシュ値に関する前記ペア値（ｒ，ｓ）」を受けると、ｕ1＝ｓ-1ｃ及びｕ2＝ｒｓ-1を計算し、(ｇu1ｙu2 ｍｏｄ ｐ) ｍｏｄ ｑ＝ｒという検証式の成立を検証することを特徴とする認証装置。
【請求項９】
請求項７に記載の検証装置において、
前記検証手段は、他の証明装置の序列順位とハッシュ値との組と、自己の序列順位とハッシュ値との組とを対象とし、前記検証要求内の序列順位と同じ序列順位のハッシュ値が無い場合で、当該検証要求内の序列順位を下回る序列順位のハッシュ値しか前記管理手段にないときには、当該管理手段内の最高の序列順位を示す第１ハッシュ値を選択し、この最高の序列順位と前記検証要求内の序列順位との差分情報を求め、前記検証要求内のハッシュ値に再帰的に前記差分情報の値の回数だけハッシュ関数を施して前記最高の序列順位に対応する第２ハッシュ値を計算し、前記第１ハッシュ値と前記第２ハッシュ値との一致を確認することにより、前記検証を行なうことを特徴とする検証装置。
【請求項１０】
高い序列順位のシード情報又はハッシュ値から一方向的に低い序列順位のハッシュ値を生成する検証装置から配信される当該検証装置の序列順位とハッシュ値との組を保持し、前記検証装置からの証明要求に応じて前記保持内容を証明する証明装置であって、
前記検証装置の序列順位とハッシュ値との組を管理する管理手段と、
前記検証装置から序列順位の証明を要求されたとき、前記要求内の序列順位と同じ序列順位のハッシュ値を前記管理手段から検索し、前記同じ序列順位のハッシュ値が無い場合、当該要求を上回る序列順位のうちの最低の序列順位に対応するハッシュ値を選択し、この最低の序列順位と前記要求内の序列順位との差分情報を求め、前記最低の序列順位のハッシュ値に再帰的に前記差分情報の値の回数だけハッシュ関数を施して前記要求内の序列順位に対応するハッシュ値を計算し、この計算したハッシュ値及び前記要求内の序列順位を検証装置に送信する証明手段と、
を備えたことを特徴とする証明装置。
【請求項１１】
請求項１０に記載の証明装置において、
前記証明手段は、前記ハッシュ値の送信に代えて、当該ハッシュ値を離散対数にもつコミット値に関して前記要求元の認証装置からチャレンジｃを受けると、乱数ｋを生成し、ｒ＝(ｇk ｍｏｄ ｐ) ｍｏｄ ｑ及びｓ＝ｋ-1｛ｃ＋ｚi・ｒ｝ｍｏｄ ｑを計算し、ペア値（ｒ，ｓ）を送信（但し、ｐ，ｑは、ｐ＝ｎｑ＋１の関係（ｎは整数）を満たす十分に大きな素数、ｇは乗法群ｚp*での位数がｑとなる原始元、ｚiは序列順位ｉのハッシュ値）することを特徴とする証明装置。
【請求項１２】
序列順位とハッシュ値との組を個別に有する複数の認証装置が互いに他の認証装置の序列順位を認証し合う序列的認証システムに関し、前記ハッシュ値を管理するためのハッシュ値管理装置に用いられるプログラムであって、
前記ハッシュ値管理装置のコンピュータを、
高い序列順位のシード情報又はハッシュ値から一方向的に低い序列順位のハッシュ値を生成する生成手段、
前記生成手段により生成された各ハッシュ値と序列順位との組を前記各認証装置の識別情報と共に管理する管理手段、
前記各認証装置の序列順位に応じて前記管理手段を参照しながらより高い序列順位とハッシュ値との組を当該認証装置に配信する配信手段、
として機能させるためのプログラム。
【請求項１３】
高い序列順位のシード情報又はハッシュ値から一方向的に低い序列順位のハッシュ値を生成可能であり、序列順位に応じてより高い序列順位とハッシュ値との組が配信されて、序列順位に基づく認証が可能な認証装置に用いられるプログラムであって、
前記認証装置のコンピュータを、
自己の序列順位とハッシュ値との組を管理する管理手段、
他の認証装置から序列順位を保持している旨の証明を要求されたとき、前記管理手段内の当該序列順位に対応するハッシュ値及び当該序列順位を要求元の認証装置に送信する証明手段、
他の認証装置に序列順位を保持している旨の証明を要求したとき、当該認証装置からハッシュ値及び序列順位を受信すると共に、これらハッシュ値及び序列順位の検証要求を検証手段に送出する送出手段、
前記送出された検証要求を受けると、この検証要求内の序列順位と同じ序列順位のハッシュ値を前記管理手段から検索し、同じ序列順位のハッシュ値がある場合、当該検索したハッシュ値と前記検証要求のハッシュ値とが一致するか否かに基づいて、前記検証要求のハッシュ値及び序列順位を検証する前記検証手段、
として機能させるためのプログラム。
【請求項１４】
請求項１３に記載のプログラムにおいて、
前記証明手段は、前記ハッシュ値の送信に代えて、当該ハッシュ値を離散対数にもつコミット値に関して前記要求元の認証装置からチャレンジｃを受けると、乱数ｋを生成し、ｒ＝(ｇk ｍｏｄ ｐ) ｍｏｄ ｑ及びｓ＝ｋ-1｛ｃ＋ｚi・ｒ｝ｍｏｄ ｑを計算し、ペア値（ｒ，ｓ）を送信し（但し、ｐ，ｑは、ｐ＝ｎｑ＋１の関係（ｎは整数）を満たす十分に大きな素数、ｇは乗法群ｚp*での位数がｑとなる原始元、ｚiは序列順位ｉのハッシュ値）、
前記検証手段は、前記ハッシュ値に代えて、前記ペア値（ｒ，ｓ）を受けると、ｕ1＝ｓ-1ｃ及びｕ2＝ｒｓ-1を計算し、(ｇu1ｙu2 ｍｏｄ ｐ) ｍｏｄ ｑ＝ｒという検証式の成立を検証することを特徴とするプログラム。
【請求項１５】
請求項１３に記載のプログラムにおいて、
前記検証手段は、他の認証装置の序列順位とハッシュ値との組と、自己の序列順位とハッシュ値との組とを対象とし、前記検証要求内の序列順位と同じ序列順位のハッシュ値が無い場合で、当該検証要求内の序列順位を下回る序列順位のハッシュ値しか前記管理手段にないときには、当該管理手段内の最高の序列順位を示す第１ハッシュ値を選択し、この最高の序列順位と前記検証要求内の序列順位との差分情報を求め、前記検証要求内のハッシュ値に再帰的に前記差分情報の値の回数だけハッシュ関数を施して前記最高の序列順位に対応する第２ハッシュ値を計算し、前記第１ハッシュ値と前記第２ハッシュ値との一致を確認することにより、前記検証を行なうことを特徴とするプログラム。
【請求項１６】
複数の証明装置に対し、自己の序列順位とハッシュ値との組を個別に配信し、前記各証明装置の保持内容を検証する検証装置に用いられるプログラムであって、
前記検証装置のコンピュータを、
高い序列順位のシード情報又はハッシュ値から一方向的に低い序列順位のハッシュ値を生成する生成手段、
前記生成手段により生成された各ハッシュ値と序列順位との組を前記各証明装置の識別情報と共に管理する管理手段、
前記各証明装置の序列順位に応じて前記管理手段を参照しながらより高い序列順位とハッシュ値との組を当該証明装置に配信する配信手段、
ある証明装置に序列順位の証明を要求したとき、当該証明装置からハッシュ値及び序列順位を受信すると共に、これらハッシュ値及び序列順位の検証要求を検証手段に送出する送出手段、
前記送出された検証要求を受けると、この検証要求内の序列順位と同じ序列順位のハッシュ値を前記管理手段から検索し、同じ序列順位のハッシュ値がある場合、当該検索したハッシュ値と前記検証要求のハッシュ値とが一致するか否かに基づいて、前記検証要求のハッシュ値及び序列順位を検証する前記検証手段、
として機能させるためのプログラム。
【請求項１７】
請求項１６に記載のプログラムにおいて、
前記検証手段は、前記証明装置から得られたハッシュ値に代えて、当該ハッシュ値を離散対数にもつコミット値に関して前記要求元からチャレンジｃを前記証明装置が受けて、前記証明装置が乱数ｋを生成し、前記証明装置がｒ＝(ｇk ｍｏｄ ｐ) ｍｏｄ ｑ及びｓ＝ｋ-1｛ｃ＋ｚi・ｒ｝ｍｏｄ ｑを計算し、前記証明装置がペア値（ｒ，ｓ）を送信したとき（但し、ｐ，ｑは、ｐ＝ｎｑ＋１の関係（ｎは整数）を満たす十分に大きな素数、ｇは乗法群ｚp*での位数がｑとなる原始元、ｚiは序列順位ｉのハッシュ値）、前記証明装置から得られた「ハッシュ値に関する前記ペア値（ｒ，ｓ）」を受けると、ｕ1＝ｓ-1ｃ及びｕ2＝ｒｓ-1を計算し、(ｇu1ｙu2 ｍｏｄ ｐ) ｍｏｄ ｑ＝ｒという検証式の成立を検証することを特徴とするプログラム。
【請求項１８】
請求項１６に記載のプログラムにおいて、
前記検証手段は、他の証明装置の序列順位とハッシュ値との組と、自己の序列順位とハッシュ値との組とを対象とし、前記検証要求内の序列順位と同じ序列順位のハッシュ値が無い場合で、当該検証要求内の序列順位を下回る序列順位のハッシュ値しか前記管理手段にないときには、当該管理手段内の最高の序列順位を示す第１ハッシュ値を選択し、この最高の序列順位と前記検証要求内の序列順位との差分情報を求め、前記検証要求内のハッシュ値に再帰的に前記差分情報の値の回数だけハッシュ関数を施して前記最高の序列順位に対応する第２ハッシュ値を計算し、前記第１ハッシュ値と前記第２ハッシュ値との一致を確認することにより、前記検証を行なうことを特徴とするプログラム。
【請求項１９】
高い序列順位のシード情報又はハッシュ値から一方向的に低い序列順位のハッシュ値を生成する検証装置から配信される当該検証装置の序列順位とハッシュ値との組を保持し、前記検証装置からの証明要求に応じて前記保持内容を証明する複数の証明装置に個別に用いられるプログラムであって、
前記各証明装置のコンピュータを、
前記検証装置の序列順位とハッシュ値との組を管理する管理手段、
前記検証装置から序列順位の証明を要求されたとき、前記要求内の序列順位と同じ序列順位のハッシュ値を前記管理手段から検索し、前記同じ序列順位のハッシュ値が無い場合、当該要求を上回る序列順位のうちの最低の序列順位に対応するハッシュ値を選択し、この最低の序列順位と前記要求内の序列順位との差分情報を求め、前記最低の序列順位のハッシュ値に再帰的に前記差分情報の値の回数だけハッシュ関数を施して前記要求内の序列順位に対応するハッシュ値を計算し、この計算したハッシュ値及び前記要求内の序列順位を検証装置に送信する証明手段、
として機能させるためのプログラム。
【請求項２０】
請求項１９に記載のプログラムにおいて、
前記証明手段は、前記ハッシュ値の送信に代えて、当該ハッシュ値を離散対数にもつコミット値に関して前記要求元の認証装置からチャレンジｃを受けると、乱数ｋを生成し、ｒ＝(ｇk ｍｏｄ ｐ) ｍｏｄ ｑ及びｓ＝ｋ-1｛ｃ＋ｚi・ｒ｝ｍｏｄ ｑを計算し、ペア値（ｒ，ｓ）を送信（但し、ｐ，ｑは、ｐ＝ｎｑ＋１の関係（ｎは整数）を満たす十分に大きな素数、ｇは乗法群ｚp*での位数がｑとなる原始元、ｚiは序列順位ｉのハッシュ値）することを特徴とするプログラム。
【請求項２１】
高い序列順位のシード情報又はハッシュ値から一方向的に低い序列順位のハッシュ値を生成可能であり、序列順位に応じてより高い序列順位とハッシュ値との組が配信されて、序列順位とハッシュ値との組を個別に有する管理手段と、検証手段とを備えた複数の認証装置が互いに他の認証装置の序列順位を認証し合う序列的認証方法であって、
前記各認証装置が自己の序列順位とハッシュ値との組を前記管理手段に管理する管理工程と、
他の認証装置から序列順位を保持している旨の証明を要求されたとき、前記管理手段内の当該序列順位に対応するハッシュ値及び当該序列順位を要求元の認証装置に送信する証明工程と、
他の認証装置に序列順位を保持している旨の証明を要求したとき、当該認証装置からハッシュ値及び序列順位を受信すると共に、これらハッシュ値及び序列順位の検証要求を前記検証手段に送出する送出工程と、
前記検証手段が、前記送出された検証要求を受けると、この検証要求内の序列順位と同じ序列順位のハッシュ値を前記管理手段から検索し、同じ序列順位のハッシュ値がある場合、当該検索したハッシュ値と前記検証要求のハッシュ値とが一致するか否かに基づいて、前記検証要求のハッシュ値及び序列順位を検証する検証工程と、
を含んでいることを特徴とする序列的認証方法。
【請求項２２】
請求項２１に記載の序列的認証方法において、
前記証明工程では、前記ハッシュ値の送信に代えて、当該ハッシュ値を離散対数にもつコミット値に関して前記要求元の認証装置からチャレンジｃを受けると、乱数ｋを生成し、ｒ＝(ｇk ｍｏｄ ｐ) ｍｏｄ ｑ及びｓ＝ｋ-1｛ｃ＋ｚi・ｒ｝ｍｏｄ ｑを計算し、ペア値（ｒ，ｓ）を送信し（但し、ｐ，ｑは、ｐ＝ｎｑ＋１の関係（ｎは整数）を満たす十分に大きな素数、ｇは乗法群ｚp*での位数がｑとなる原始元、ｚiは序列順位ｉのハッシュ値）、
前記検証工程では、前記ハッシュ値に代えて、前記ペア値（ｒ，ｓ）を受けると、ｕ1＝ｓ-1ｃ及びｕ2＝ｒｓ-1を計算し、(ｇu1ｙu2 ｍｏｄ ｐ) ｍｏｄ ｑ＝ｒという検証式の成立を検証することを特徴とする序列的認証方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、各種の認証システムに応用可能な序列的認証システム、装置、プログラム及び方法に関する。
【０００２】
【従来の技術】
一般に、ネットワークを介して接続された各装置間で互いに相手を認証する際に、公開鍵暗号技術とチャレンジレスポンス技術を用いる電子認証が広く知られている。
【０００３】
この種の電子認証においては、証明者は検証者から与えられた数値の演算処理により自己の正当性を証明可能であり、検証者は証明者から受けた数値の演算処理及び比較処理により証明者の正当性を検証可能である。
【０００４】
従って、このような電子認証は、電子商取引や通常のアクセス制御のように相手の身元を確認するための相手認証に好適な技術となっている。
【０００５】
【発明が解決しようとする課題】
しかしながら、以上のような従来の電子認証は、相手の身元を確認する通常の相手認証には特に問題はないが、本発明者の考察によれば、最近の情報通信機器のユビキタス(ubiquitous ：どこにでもある。遍在する)化への志向に伴い、他人の機器を遊休資源として協調動作させる場合には不向きである可能性がある。
【０００６】
例えば従来の電子認証は、「正当」又は「不当」という二者択一式の判断をしている。このため、不特定多数のユーザ機器が無線等でつながるユビキタス・ネットの場合、電子認証により他人の機器を「正当」と判定して接続すると、悪意のユーザによる不測の損害を受ける可能性を否定できない。
【０００７】
一方、電子認証により他人の機器を「不当」と判定して排除すると、ユビキタス化の利点としての他人の機器による分散処理の恩恵を享受できないことになる。
【０００８】
すなわち、本発明者の考察によれば、ユビキタス・ネット等の新しいネットワークの形態では、従来の二者択一式の電子認証に代えて、段階的且つ経験的な認証とでもいうべき、新たな方式の電子認証が必要であると考えられる。
【０００９】
本発明は上記実情を考慮してなされたもので、複数の装置間における電子認証の際に、各装置の段階的且つ序列的な認証を実現し得る序列的認証システム、装置、プログラム及び方法を提供することを目的とする。
【００１０】
【課題を解決するための手段】
第１の発明は、高い序列順位のシード情報又はハッシュ値から一方向的に低い序列順位のハッシュ値を生成可能であり、序列順位に応じてより高い序列順位とハッシュ値との組が配信されて、序列順位とハッシュ値との組を個別に有する複数の認証装置が互いに他の認証装置の序列順位を認証し合う序列的認証システムを対象とする。
【００１１】
ここで、各認証装置としては、配信された序列順位とハッシュ値との組を管理する管理手段と、他の認証装置から序列順位を保持している旨の証明を要求されたとき、前記管理手段内の当該序列順位に対応するハッシュ値及び当該序列順位を要求元の認証装置に送信する証明手段と、他の認証装置に序列順位を保持している旨の証明を要求したとき、当該認証装置からハッシュ値及び序列順位を受信すると共に、これらハッシュ値及び序列順位の検証要求を検証手段に送出する送出手段と、前記送出された検証要求を受けると、この検証要求内の序列順位と同じ序列順位のハッシュ値を前記管理手段から検索し、同じ序列順位のハッシュ値がある場合、当該検索したハッシュ値と前記検証要求のハッシュ値とが一致するか否かに基づいて、前記検証要求のハッシュ値及び序列順位を検証する前記検証手段と、を備えている。
【００１２】
従って、このように各認証装置が互いに序列順位及びハッシュ値の組に基づく認証を行なうので、複数の装置間における電子認証の際に、各装置の段階的且つ序列的な認証を実現することができる。
【００１３】
第２の発明は、複数の証明装置に対し、自己の序列順位とハッシュ値との組を個別に配信し、前記各証明装置の保持内容を検証する検証装置と、この検証装置から配信される当該検証装置の序列順位とハッシュ値との組を保持し、前記検証装置からの証明要求に応じて前記保持内容を証明する証明装置とを備えた序列的認証システムを対象とする。
【００１４】
ここで、前記検証装置は、高い序列順位のシード情報又はハッシュ値から一方向的に低い序列順位のハッシュ値を生成する生成手段と、前記生成手段により生成された各ハッシュ値と序列順位との組を前記各証明装置の識別情報と共に管理する管理手段と、前記各証明装置の序列順位に応じて前記管理手段を参照しながらより高い序列順位とハッシュ値との組を当該証明装置に配信する配信手段と、ある証明装置に序列順位の証明を要求したとき、当該証明装置からハッシュ値及び序列順位を受信すると共に、これらハッシュ値及び序列順位の検証要求を検証手段に送出する送出手段と、前記送出された検証要求を受けると、この検証要求内の序列順位と同じ序列順位のハッシュ値を前記管理手段から検索し、同じ序列順位のハッシュ値がある場合、当該検索したハッシュ値と前記検証要求のハッシュ値とが一致するか否かに基づいて、前記検証要求のハッシュ値及び序列順位を検証する前記検証手段と、を備えている。
【００１５】
また、前記証明装置は、前記検証装置の序列順位とハッシュ値との組を管理する管理手段と、前記検証装置から序列順位の証明を要求されたとき、前記管理手段内の序列順位及びハッシュ値を検証装置に送信する証明手段と、を備えている。
【００１６】
従って、検証装置が序列順位とハッシュ値とを各証明装置に配信して保持させると共に、各証明装置に対して保持内容を証明させるので、複数の装置間における電子認証の際に、各装置の段階的且つ序列的な認証を実現することができる。
【００１７】
なお、上記第１及び第２の各発明は、名称を「システム」として全体構成を述べたが、これに限らず、全体構成又はその各装置を「装置」、「プログラム」、「コンピュータ読取り可能な記憶媒体」又は「方法」として表現してもよい。
【００１８】
【発明の実施の形態】
以下、本発明の各実施形態について図面を参照して説明する。なお、ドメイン（エリア内の各認証装置）が１つの認証装置を段階的且つ経験的にじわじわと認証する能動的な認証システムを第１の実施形態で説明し、ドメインが１つの認証装置に段階的且つ経験的にじわじわと認証される受動的な認証システムを第２の実施形態で述べる。また、第１及び第２の実施形態の共通の変形例として経験情報の秘匿性を高めた場合を第３の実施形態で述べる。
【００１９】
（第１の実施形態）
図１は本発明の第１の実施形態に係る経験的認証システムの概略構成を示す模式図である。この経験的認証システムは、経験情報管理装置１０がｎ個の認証装置２０１，２０２，…，２０ａ，…，２０ｘ，…，２０ｎにネットワーク３０を介して接続されている。なお、ネットワーク３０を介して通信可能な範囲の各認証装置２０１〜２０ｎは、１つのエリアを形成している。ここで、ネットワーク３０は、無線、有線又はそれらの適宜な組合せにより構成される。また、各装置１０，２０１，…，２０ｎは、ハードウェア構成及び／又はソフトウェア構成により個別に実現可能であり、ソフトウェア構成で実現される場合、予め各装置１０，２０１，…，２０ｎの機能を実現するためのプログラムが記憶媒体又はネットワーク等から予めインストールされて実現される。このようにネットワークや各装置を実現可能なことは以下の各実施形態でも同様である。
【００２０】
ここで、経験情報管理装置１０は、各認証装置２０１，…，２０ｎ毎に、経験順位及びハッシュ値を管理し且つ配布するものであり、図２に示すように、送信制御部１１、ハッシュ値管理部１２、シード生成部１３及びハッシュ値生成部１４を備えている。
【００２１】
送信制御部１１は、当該エリアに属する認証装置２０１〜２０ｎの各々に、ハッシュ管理部１２から所定のタイミングで受けた後述する経験順位及びハッシュ値を送信する機能と、認証装置２０ｊ（ｊはｎ以下の任意の自然数）から受けたハッシュ値送信要求や再送要求に基づいてハッシュ管理部１２を制御し、このハッシュ値管理部１２から受けた経験順位及びハッシュ値を要求元の認証装置２０ｊに送信する機能とをもっている。
【００２２】
ハッシュ値管理部１２は、シード情報Ｓの生成を要求するためのシード生成要求をシード生成部１３に送信する機能と、シード生成部１３から受けたシード情報Ｓを管理する機能と、ハッシュ値の再帰的な計算回数（全ての経験順位ｋ又は差分情報ｔ）を含むハッシュ値計算要求と元データ（シード情報Ｓ又はハッシュ値ｚi,ｚi-t）とをハッシュ値生成部１４に入力する機能と、ハッシュ値生成部１４により得られたハッシュ値を経験順位と組にして管理テーブルＴに保存する機能と、最低の経験順位ｋのハッシュ値ｚkから順に、各装置毎に各々保持する経験順位ｉのハッシュ値ｚiよりも１だけ経験順位の高いハッシュ値ｚi-1を所定のタイミングで選択する機能と、ハッシュ値送信要求に基づいて経験順位及びハッシュ値の組を選択する機能と、これら選択した適正な経験順位及びハッシュ値の組を送信制御部１１に送出する機能とをもっている。
【００２３】
ここで、管理テーブルＴは、図３に示すように、ハッシュ値管理部１２により管理され、経験順位、経験情報（シード情報Ｓ又はハッシュ値）及び装置識別情報（装置ＩＤ）の組が保持されるものである。
【００２４】
経験順位１，２，…，ｋ−１，ｋは、各認証装置２０１〜２０ｎ間に権限等の格差を付けるための段階的な値であり、シード情報Ｓから一連のハッシュ値ｚ1,…,ｚkを導出するためのハッシュ関数の再帰的な計算回数でもあって、数値が小さいほど高い順位を示している。なお、経験順位は、該当する認証装置２０ｊのエリアの累積所属時間又はエリア内の動作処理回数などで定義可能であり、何らかの序列を示す内容であればよい。例えば経験順位は、通常時には時系列（累積所属時間又は動作処理回数など）に沿って更新されるが、認証装置の重要度によっては初期設定時に高い値に設定される場合もあり、この場合、重要度といった、経験（時系列）以外の序列による値となる。すなわち、「経験」という修飾語は、通常の「経験」の意味からは該当しない場合もあるので、所望により省略してもよく、また例えば「知識」、「優先」、「権限」、「参加」、「許容」又は「階層」というように、適宜、他の用語に読み替えてもよい。
【００２５】
シード情報Ｓは、ハッシュ連鎖の初期値であり、例えば、乱数、任意の数値又はコマンドなどが使用可能となっている。
【００２６】
ハッシュ値ｚ１〜ｚｋは、経験順位と組にして管理テーブルＴに保存されている。なお、管理されるハッシュ値は、シード情報Ｓから最終ハッシュ値ｚkまでの全ての値のうち、任意のものが管理対象となる。管理対象のハッシュ値としては、例えば、シード情報Ｓ及び全てのハッシュ値ｚ1〜ｚkとしてもよく、シード情報Ｓから１０個目毎のハッシュ値ｚ10，ｚ20，…といった離散値でもよいし、シード情報Ｓと最終ハッシュ値ｚkのみでもよい。
【００２７】
シード生成部１３は、ハッシュ値管理部１２から受けたシード生成要求に基づいてシード情報Ｓを生成し、このシード情報Ｓをハッシュ値管理部１２に送出する機能をもっている。
【００２８】
ハッシュ値生成部１４は、ハッシュ値管理部１２から受けた、再帰的な計算回数を含むハッシュ値計算要求と元データに基づいて、この元データにハッシュ関数を再帰的に要求内の計算回数だけ施してハッシュ値を計算し、得られたハッシュ値及び経験順位の組をハッシュ値管理部１２に送出する機能をもっている。
【００２９】
認証装置２０１〜，２０２，…，２０ａ，…，２０ｘ，…，２０ｎは、各々経験順位及びハッシュ値を有し、他の認証装置２０ｊの経験順位を認証可能なものであって、通信制御部２１、ハッシュ値管理部２２、ハッシュ値計算部２３及び経験審査管理部２４を備えている。なお、各認証装置２０１〜２０ｎは互いに同一構成のため、ここでは認証装置２０ｘを自装置とし、認証装置２０ａを他装置とした場合を例に挙げて説明する。
通信制御部２１ｘは、経験情報管理装置１０から経験順位及びハッシュ値の組を受信する機能と、ハッシュ値送信要求や再送要求を経験情報管理装置１０に送信する機能と、他の認証装置２０ａから受けた証明要求に基づいて、経験順位及びハッシュ値をハッシュ値管理部２２ｘに要求し、このハッシュ値管理部２２ｘから受けた経験順位及びハッシュ値を証明要求元に送信する機能と、自装置２０ｘが証明要求を送信した認証装置２０ａから受けた経験順位及びハッシュ値の組に関し、正当性の検証をハッシュ値管理部２２ｘに要求する機能と、ハッシュ値管理部２２ｘによる検証結果を当該認証装置２０ａに送出する機能とをもっている。
【００３０】
ハッシュ値管理部２２ｘは、通信制御部２１ｘから受けた経験順位及びハッシュ値の組を保存管理する機能と、他の認証装置２０ａから証明要求された経験順位ｉを自装置が満たすか否かを判定する機能と、この経験順位ｉを満たさない場合には通信制御部２１ｘにその内容を通知する機能と、経験順位ｉを満たす場合には対応するハッシュ値ｚiを通信制御部２１ｘに送出する機能と、経験順位ｉを満たすが上回るハッシュ値ｚi-tを管理する場合には経験順位を下げて対応するハッシュ値ｚiを計算するようハッシュ値計算部２３ｘに要求する機能と、ハッシュ値計算部２３ｘから受けたハッシュ値ｚiを通信制御部２１ｘに送出する機能と、通信制御部２１ｘからハッシュ値ｚiの検証要求を受ける機能と、自装置の管理するハッシュ値に基づいて検証要求されたハッシュ値ｚiを検証する機能と、検証結果を通信制御部２１ｘに送出する機能と、検証した認証装置２０ａの経験順位ｉ、ハッシュ値ｚi及び装置ＩＤを経験審査管理部２４に送出する機能とをもっている。
【００３１】
ハッシュ値計算部２３ｘは、ハッシュ値管理部２２ｘからの要求に応じて、証明または検証に相応なハッシュ値を計算する機能と、計算したハッシュ値をハッシュ値管理部２２ｘに送出する機能とをもっている。
【００３２】
経験審査管理部２４ｘは、ハッシュ値管理部２３ｘから検証された認証装置２０ａの経験順位ｉ、ハッシュ値ｚi及び装置ＩＤの組を保存管理する機能をもっている。すなわち、経験審査管理部２４ｘは、当該エリアに所属する認証装置２０１〜２０ｎの装置ＩＤ毎に、経験順位及びハッシュ値を保存管理する機能をもっている。ここで、この経験順位毎に機能制限情報を登録し、経験順位毎に各認証装置２０１〜２０ｎの機能を制限する方式としてもよい。
【００３３】
次に、以上のように構成された経験的認証システムの動作を図４の模式図と図５及び図６のフローチャートを用いて経験情報の送受信及び経験情報の認証の順に説明する。
（経験情報の送受信）
経験情報管理装置１０においては、図４及び図５に示すように、ハッシュ値管理部１２がシード生成要求をシード生成部１３に要求する。
【００３４】
シード生成部１３は、このシード生成要求に応じてシード情報Ｓを生成し（ＳＴ１）、得られたシード情報Ｓをハッシュ値管理部１２に送出する。
【００３５】
ハッシュ値管理部１２は、このシード情報Ｓを保管すると共に、このシード情報Ｓ及び計算回数ｋをハッシュ値生成部１４に送出する。
【００３６】
ハッシュ値生成部１４は、受けたシード情報Ｓ及び計算回数ｋから次の（１）式のように、再帰的にｋ回のハッシュ連鎖を計算し（ＳＴ２）、得られた一連のハッシュ値ｚ1，ｚ2，…ｚkをハッシュ値管理部１２に送出する。
【００３７】
ｚ1＝ｈ（Ｓ），
ｚ2＝ｈ（ｚ1），
…，
ｚk＝ｈ（ｚk-1）      …（１）
なお、再帰的とは、今回の出力を次回の入力とする旨を意味する。また、ハッシュ連鎖において、あるハッシュ値ｚi+1から元のハッシュ値ｚi（ｉ＋１≦ｋ、：ｉは自然数）を求めることは一方向性ハッシュ関数の性質により、計算量的に困難である。
【００３８】
ハッシュ値管理部１２は、これら一連のハッシュ値ｚ1，ｚ2，…ｚkを経験順位と関連付けて各装置ＩＤ毎に管理テーブルＴに保存管理する。
【００３９】
ハッシュ値管理部１２は、各装置ＩＤ毎に保持する経験順位よりも高い経験順位のハッシュ値及び経験順位の組を各認証装置２０１〜２０ｎに所定のタイミングで送信制御部１１を介して各認証装置２０１〜２０ｎに送信する（ＳＴ３）。ここで、経験情報管理装置１０は、能動的にハッシュ値ｚを当該エリアに送出する場合のみに限らず、各認証装置２０１〜２０ｎから受けたハッシュ値送信要求又は再送要求に基づいてハッシュ値を送出する場合を含めてもよい。
【００４０】
各認証装置２０１〜２０ｎは、経験情報管理装置１０から能動的または受動的に得られたハッシュ値及び経験順位の組を通信制御部２１により受信し、ハッシュ値管理部２２により保管管理する（ＳＴ４）。
【００４１】
以下、経験情報管理装置１０は、ステップＳＴ３〜ＳＴ４を繰り返し、所定のタイミングで現在保持する経験順位ｉのハッシュ値ｚiよりも高い経験順位ｉ−１のハッシュ値ｚi-1及び経験順位の組を当該エリアに所属する各認証装置２０１〜２０ｎに配布する。
【００４２】
（経験情報の認証）
次に、各認証装置２０１〜２０ｎのうち、例えば認証装置２０ｘが認証装置２０ａの経験順位を認証する場合を例に挙げて述べる。
対象エリア内の認証装置２０ｘは、図４及び図６に示すように、通信制御部２１ｘにより、相手の認証装置２０ａが経験順位ｉを保持している旨を証明させるための証明要求を認証装置２０ａに送信する（ＳＴ１１）。
【００４３】
認証装置２０ａは、この証明要求に基づいて、通信制御部２１ａが、経験順位ｉのハッシュ値ｚiを送信するようにハッシュ値管理部２２ａに要求する。
【００４４】
ハッシュ値管理部２２ａは、この要求を受けると、経験順位ｉを自装置２０ａが満たすか否かを判定し（ＳＴ１２）、経験順位ｉを満たさない場合にはその旨を通信制御部２１ａから認証装置２０ｘに通知して処理を終了するが（ＳＴ１３）、ここでは経験順位ｉを満たすとして、要求と同じ経験順位ｉのハッシュ値ｚiを検索し（ＳＴ１４）、得られたハッシュ値ｚiを通信制御部２１ａに送出する。
【００４５】
一方、ステップＳＴ１４の結果、同じ経験順位ｉのハッシュ値ｚiが無い場合、要求を上回る経験順位のうちの管理する最低の経験順位（ｉ−ｔ）に対応するハッシュ値ｚi-tをハッシュ値計算部２３ａに送出し、（２）式のように計算されたハッシュ値ｚiをハッシュ値計算部２３ａから受けると、このハッシュ値ｚiを通信制御部２１ａに送出する。
【００４６】
ｚi＝ｈ(t)(ｚi-t)      …（２）
但し、ｈ(t)は、入力データに対し、ｔ回、再帰的にハッシュ関数の計算を施す旨を意味する。
【００４７】
いずれにしても、相手装置２０ａの通信制御部２１ａは、得られたハッシュ値ｚi及び経験順位ｉを認証装置２０ｘに送出する（ＳＴ１５）。
【００４８】
エリア内の認証装置２０ｘは、通信制御部２１ｘにより、ハッシュ値ｚi及び経験順位ｉを受信すると共に、これら経験順位ｉ及びハッシュ値ｚiの検証要求をハッシュ値管理部２２ｘに送出する。
【００４９】
ハッシュ値管理部２２ｘは、検証要求を受けると、検証要求と同じ経験順位ｉのハッシュ値ｚiを検索し、経験順位ｉのハッシュ値ｚiがある場合、検索されたハッシュ値ｚiと検証要求のハッシュ値とが一致するか否かを判定し（ＳＴ１６−１）、判定結果が両者の不一致を示すときには不当である旨の結果を通信制御部２１ｘを通して認証装置２０ａに通知して処理を終了するが（ＳＴ１７）、ここでは判定結果が両者の一致を示すとして、認証装置２０ａが経験順位ｉを保持している旨の検証結果「正当」を通信制御部２１ｘに通知する。
【００５０】
一方、検証要求と同じ経験順位ｉのハッシュ値ｚiが無い場合、検索要求を上回るハッシュ値ｚi-tがあるときには前述した（２）式を用いて得られたハッシュ値ｚiを検索したハッシュ値の代わりに用いてステップＳＴ１６−１の処理を実行する（ＳＴ１６−２）。
【００５１】
また一方、検証要求と同じ経験順位ｉのハッシュ値ｚiが無い場合で、検索要求を下回るハッシュ値ｚi+t，ｚi+t+1，…しかないときには、ハッシュ値管理部２２ｘは、該当するハッシュ値ｚiがなく且つ生成もできないので、前述した（２）式とは逆に、検証要求されたハッシュ値ｚiの経験順位を下げて検証を行なう。
【００５２】
すなわち、ハッシュ値管理部２２ｘは、自装置２０ｘの有する低い経験順位のうちの最高の経験順位ｉ＋１を示すハッシュ値ｚi+tを選択し、要求された経験順位ｉとの差分情報ｔを求め、要求されたハッシュ値ｚi及び差分情報ｔをハッシュ値計算部２３ｘに送出する。
【００５３】
ハッシュ値計算部２３ｘは、ハッシュ値ｚi及び差分情報ｔに基づいて、次の（３）式に示すように、検証対象のハッシュ値ｚiに再帰的にｔ回ハッシュ関数を施してハッシュ値ｚ’i+tを計算し、このハッシュ値ｚ’i+tをハッシュ値管理部２２ｘに送出する。
【００５４】
ｚ’i+t＝ｈ(t)(ｚi)      …（３）
ハッシュ値管理部２２ｘは、このハッシュ値ｚ’i+tと、検索したハッシュ値ｚi+tとが一致するか否かを判定し（ＳＴ１６−３）、判定結果が両者の不一致を示すときにはステップＳＴ１７により検証結果「不当」を通知して処理を終了するが、ここでは判定結果が両者の一致を示すとして、認証装置２０ａが経験順位ｉを保持している旨の検証結果「正当」を通信制御部２１ｘに通知する。
【００５５】
一方、ハッシュ値管理部２２ｘは、認証装置２０ａの装置ＩＤと、経験順位ｉとの組を経験審査管理部２４ｘに送信する。
【００５６】
経験審査管理部２４ｘは、認証装置２０ａの装置ＩＤと経験順位ｉとを関連付けて保存管理し（ＳＴ１８）、内容更新時には更新完了を通信制御部２１ｘに通知する。
【００５７】
通信制御部２１ｘは、更新完了の通知により、前述した検証結果「正当」を認証装置２０ａに送信し、認証装置２０ｘは、認証装置２０ａが経験順位ｉを持つ旨の認証処理を終了する（ＳＴ１９）。
【００５８】
以上のような認証を当該エリアに属する複数の認証装置２０と行なうことにより、どの認証装置２０が当該エリアでの経験順位が高いかを順序付けることができる。この経験順位に応じて各認証装置２０の機能や権限を制限してもよい。
【００５９】
上述したように本実施形態によれば、経験情報管理装置１０が経験順位とハッシュ値との組を各認証装置２０１〜２０ｎに配信する環境において、認証装置２０ｘが認証装置２０ａを認証することにより、以下これと同様に各認証装置２０１〜２０ｎが互いに経験順位及びハッシュ値の組に基づく認証を行なうので、複数の装置間における電子認証の際に、各装置の段階的且つ経験的な認証を実現することができる。
【００６０】
すなわち、エリア内では、周期的に経験順位及びハッシュ値を共有し、この経験順位がどの位あるかを基に対象の認証装置２０ａを認証するので、段階的且つ経験的にじわじわとドメイン（エリア内の各認証装置）が新規の認証装置２０ａを当該ドメインの認証装置として認証することができる。
【００６１】
また、当該エリアの各認証装置２０１〜２０ｎは、ある認証装置２０ａの当該エリアでの経験順位ｉを検証した場合、この経験順位ｉに応じて認証装置２０ａへの機能を制限してもよい。例えば経験順位によって、他の認証装置との連動や各種情報へのアクセスを制御することができる。また、認証装置が属する所属エリア以外では、認証装置の機能をロックする構成としてもよい。
【００６２】
また、エリア内で、各認証装置の経験順位を一括管理する構成により、当該エリアへの不審物（経験順位低）の侵入を即座に検知することが期待できる。
【００６３】
この場合、経験順位が高いほど機能制限を緩める通常の場合に限らず、経験順位が高いほど制限を強める期間限定機能のような使い方を用いてもよく、あるいは両者を組合せて経験順位が中位の場合に最も制限を緩めるようにしてもよい。また、経験情報管理装置１０は、任意の認証装置２０が兼用してもよい。
【００６４】
（第２の実施形態）
図７は本発明の第２の実施形態に係る経験的認証システムの概略構成を示す模式図であり、図１と同一部分には同一符号を付し、ほぼ同一部分には記号’を付して重複した説明を省略し、ここでは異なる部分について主に述べる。
【００６５】
すなわち、本実施形態は、第１の実施形態とは異なり、１つの検証装置１０’に対する経験順位を保持するｎ個の受動的証明装置２０１’〜２０ｎ’が検証装置１０’により当該保持内容を認証される構成となっている。この構成は、各証明装置２０１’〜２０ｎ’が１つの検証装置１０’に認証されることから、受動的認証システムと呼んでもよい。
【００６６】
ここで、検証装置１０’は、前述した経験情報管理部１０と前述した認証装置２０ｘとの両者の機能を有し、具体的には図８に示すように、検証送信制御部１１’、受動的ハッシュ値管理部１２’、シード生成部１３、ハッシュ値生成部１４’及び受動的経験管理部１５を備えている。
【００６７】
検証送信制御部１１’は、前述した送信制御部１１と同様の機能に加え、自装置１０’が証明要求を送信した受動的証明装置１０’から受けた経験順位及びハッシュ値の組に関し、正当性の検証を受動的ハッシュ値管理部１２’に要求する機能と、受動的ハッシュ値管理部１２’による検証結果を当該証明装置２０ａ’に送出する機能とをもっている。
【００６８】
受動的ハッシュ値管理部１２’は、前述したハッシュ値管理部１２と同様の機能に加え、検証送信制御部１１’からハッシュ値ｚiの検証要求を受ける機能と、自装置の管理するハッシュ値に基づいて検証要求されたハッシュ値ｚiを検証する機能と、検証結果を検証送信制御部１１’に送出する機能と、検証した証明装置２０ａ’の経験順位ｉ、ハッシュ値ｚi及び装置ＩＤを経験審査管理部１５に送出する機能とをもっている。
【００６９】
シード生成部１３及びハッシュ値生成部１４は、夫々前述同様の機能をもっている。
受動的経験管理部１５は、前述した経験審査管理部２４ｘと同様の機能をもっている。
【００７０】
一方、受動的証明装置２０’は、前述した認証装置２０ａの機能を有し、証明通信制御部２１ａ’、証明ハッシュ値管理部２２ａ’及び証明ハッシュ値計算部２３ａ’を備えている。
【００７１】
証明通信制御部２１ａ’は、前述同様に、検証装置１０’から経験順位及びハッシュ値の組を受信する機能と、ハッシュ値送信要求や再送要求を検証装置１０’に送信する機能と、検証装置１０’から受けた証明要求に基づいて、経験順位及びハッシュ値を証明ハッシュ値管理部２２ａ’に要求し、この証明ハッシュ値管理部２２ａ’から受けた経験順位及びハッシュ値を証明要求元に送信する機能をもっている。
【００７２】
証明ハッシュ値管理部２２ａ’は、証明通信制御部２１ａ’から受けた経験順位及びハッシュ値の組を保存管理する機能と、検証装置１０’から証明要求された経験順位ｉを自装置が満たすか否かを判定する機能と、この経験順位ｉを満たさない場合には証明通信制御部２１ａ’にその内容を通知する機能と、経験順位ｉを満たす場合には対応するハッシュ値ｚiを通信制御部２１ａ’に送出する機能と、経験順位ｉを満たすが上回るハッシュ値ｚi-tを管理する場合には経験順位を下げて対応するハッシュ値ｚiを計算するよう証明ハッシュ値計算部２３ａ’に要求する機能と、証明ハッシュ値計算部２３ａ’から受けたハッシュ値ｚiを証明通信制御部２１ａ’に送出する機能とをもっている。
【００７３】
証明ハッシュ値計算部２３ａ’は、前述したハッシュ値計算部２３ｘと同様の機能をもっている。
【００７４】
次に、以上のように構成された経験的認証システムの動作を図９の模式図と図１０及び図１１のフローチャートを用いて経験情報の送受信及び経験情報の認証の順に説明する。
（経験情報の送受信）
検証装置１０’は、前述した経験情報管理装置１０と同様に、図９及び図１０に示すように、受動的ハッシュ値管理部１２’がシード生成要求をシード生成部１３に要求し、シード生成部１３がこのシード生成要求に応じてシード情報Ｓを生成し（ＳＴ１’）、得られたシード情報Ｓを受動的ハッシュ値管理部１２’に送出する。
【００７５】
受動的ハッシュ値管理部１２は、シード情報Ｓを保管すると共に、このシード情報Ｓ及び計算回数ｋをハッシュ値生成部１４に送出し、ハッシュ値生成部１４は、受けたシード情報Ｓ及び計算回数ｋから前述同様に、ｋ回のハッシュ連鎖を計算し（ＳＴ２’）、得られた一連のハッシュ値ｚ1，ｚ2，…ｚkを受動的ハッシュ値管理部１２’に送出する。
【００７６】
受動的ハッシュ値管理部１２’は、これら一連のハッシュ値ｚ1，ｚ2，…ｚkを経験順位と関連付けて各装置ＩＤ毎に管理テーブルＴ（図示せず）に保存管理する。
【００７７】
受動的ハッシュ値管理部１２’は、各装置ＩＤ毎に保持する経験順位よりも高い経験順位のハッシュ値及び経験順位の組を各受動的証明装置２０１’〜２０ｎ’に所定のタイミングで検証送信制御部１１’を介して各受動的証明装置２０１’〜２０ｎ’に送信する（ＳＴ３’）。ここで、検証装置１０’は、能動的にハッシュ値ｚを当該エリアに送出する場合のみに限らず、各証明装置２０１’〜２０ｎ’から受けたハッシュ値送信要求又は再送要求に基づいてハッシュ値を送出する場合を含めてもよい。
【００７８】
各受動的証明装置２０１’〜２０ｎ’は、検証装置１０’から能動的または受動的に得られたハッシュ値及び経験順位の組を通信制御部２１’により受信し、証明ハッシュ値管理部２２’により保管管理する（ＳＴ４’）。
【００７９】
以下、検証装置１０’は、ステップＳＴ３’〜ＳＴ４’を繰り返し、所定のタイミングで現在保持する経験順位ｉのハッシュ値ｚiよりも高い経験順位ｉ−１のハッシュ値ｚi-1及び経験順位の組を当該エリアに所属する各受動的証明装置２０１’〜２０ｎ’に配布する。
【００８０】
（経験情報の認証）
次に、検証装置１０’が例えば受動的証明装置２０ａ’に保持された自己の経験順位を認証する場合を例に挙げて述べる。
検証装置１０’は、図９及び図１１に示すように、検証送信制御部１１’により、相手の受動的証明装置２０ａ’が保持している検証装置１０’の経験順位ｉを証明させるための証明要求を受動的証明装置２０ａ’に送信する（ＳＴ１１’）。
【００８１】
受動的証明装置２０ａ’は、この証明要求に基づいて、証明通信制御部２１ａ’が、経験順位ｉのハッシュ値ｚiを送信するように証明ハッシュ値管理部２２ａ’に要求する。
【００８２】
証明ハッシュ値管理部２２ａ’は、この要求を受けると、経験順位ｉを自装置２０ａ’が満たすか否かを判定し（ＳＴ１２’）、経験順位ｉを満たさない場合にはその旨を証明通信制御部２１ａ’から検証装置１０’に通知して処理を終了するが（ＳＴ１３’）、ここでは経験順位ｉを満たすとして、要求と同じ経験順位ｉのハッシュ値ｚiを検索し（ＳＴ１４’）、得られたハッシュ値ｚiを証明通信制御部２１ａ’に送出する。
【００８３】
一方、ステップＳＴ１４’の結果、同じ経験順位ｉのハッシュ値ｚiが無い場合、要求を上回る経験順位のうちの管理する最低の経験順位（ｉ−ｔ）に対応するハッシュ値ｚi-tを証明ハッシュ値計算部２３ａ’に送出し、前述同様に計算されたハッシュ値ｚiを証明通信制御部２１ａ’に送出する。
【００８４】
いずれにしても、相手装置２０ａ’の証明通信制御部２１ａ’は、得られたハッシュ値ｚi及び経験順位ｉを検証装置１０’に送出する（ＳＴ１５’）。
【００８５】
検証装置１０’は、検証送信制御部１１’により、ハッシュ値ｚi及び経験順位ｉを受信すると共に、これら経験順位ｉ及びハッシュ値ｚiの検証要求を受動的ハッシュ値管理部１２’に送出する。
【００８６】
受動的ハッシュ値管理部１２’は、検証要求を受けると、検証要求と同じ経験順位ｉのハッシュ値ｚiを検索し、経験順位ｉのハッシュ値ｚiがある場合、検索されたハッシュ値ｚiと検証要求のハッシュ値とが一致するか否かを判定し（ＳＴ１６−１’）、判定結果が両者の不一致を示すときには不当である旨の結果を検証送信制御部１１’を通して受動的証明装置２０ａ’に通知して処理を終了するが（ＳＴ１７’）、ここでは判定結果が両者の一致を示すとして、受動的証明装置２０ａ’が経験順位ｉを保持している旨の検証結果「正当」を検証送信制御部１１’に通知する。
【００８７】
一方、検証要求と同じ経験順位ｉのハッシュ値ｚiが無い場合、検索要求を上回るハッシュ値ｚi-tがあるときには前述した（２）式を用いて得られたハッシュ値ｚiを検索したハッシュ値の代わりに用いてステップＳＴ１６−１’の処理を実行する（ＳＴ１６−２’）。
【００８８】
また一方、検証要求と同じ経験順位ｉのハッシュ値ｚiが無い場合で、検索要求を下回るハッシュ値ｚi+t，ｚi+t+1，…しかないときには、受動的ハッシュ値管理部１２’は、ハッシュ値生成部１４の制御によってシード情報Ｓからハッシュ値ｚiを生成してもよいが、ここでは一例として、前述した（２）式とは逆に、検証要求されたハッシュ値ｚiの経験順位を下げて検証を行なうものとする。
【００８９】
すなわち、受動的ハッシュ値管理部１２’は、自装置２０ｘの有する低い経験順位のうちの最高の経験順位ｉ＋１を示すハッシュ値ｚi+tを選択し、要求された経験順位ｉとの差分情報ｔを求め、要求されたハッシュ値ｚi及び差分情報ｔをハッシュ値生成部１４に送出する。
【００９０】
ハッシュ値生成部１４は、ハッシュ値ｚi及び差分情報ｔに基づいて、前述同様にハッシュ値ｚ’i+tを計算し、このハッシュ値ｚ’i+tを受動的ハッシュ値管理部１２’に送出する。
【００９１】
受動的ハッシュ値管理部１２’は、このハッシュ値ｚ’i+tと、検索したハッシュ値ｚi+tとが一致するか否かを判定し（ＳＴ１６−３’）、判定結果が両者の不一致を示すときにはステップＳＴ１７’により検証結果「不当」を通知して処理を終了するが、ここでは判定結果が両者の一致を示すとして、受動的証明装置２０ａ’が経験順位ｉを保持している旨の検証結果「正当」を検証送信制御部１１’に通知する。
【００９２】
一方、受動的ハッシュ値管理部１２’は、受動的証明装置２０ａ’の装置ＩＤと、経験順位ｉとの組を経験審査管理部１５に送信する。
【００９３】
経験審査管理部１５は、受動的証明装置２０ａ’の装置ＩＤと経験順位ｉとを関連付けて保存管理し（ＳＴ１８’）、内容更新時には更新完了を検証送信制御部１１’に通知する。
【００９４】
検証送信制御部１１’は、更新完了の通知により、前述した検証結果「正当」を受動的証明装置２０ａ’に送信し、検証装置１０’は、受動的証明装置２０ａ’が経験順位ｉを持つ旨の認証処理を終了する（ＳＴ１９’）。
【００９５】
以上のような認証を当該エリアに属する複数の証明装置２０’と行うことによって、検証装置１０’は、自装置１０’に対しての当該エリアの経験順位の高さを検証することができる。この高さによって、検証装置１０’は、当該エリアにおける同装置の機能を制御することができる。
【００９６】
なお、検証装置１０’は、検証結果を必ずしも受動的証明装置２０’に通知しなくともよい。
【００９７】
上述したように本実施形態によれば、検証装置１０’が経験順位とハッシュ値とを各受動的証明装置２０１’〜２０ｎ’に配信して保持させると共に、各証明装置２０１’〜２０ｎ’に対して保持内容を証明させるので、複数の装置間における電子認証の際に、各装置の段階的且つ経験的な認証を実現することができる。
【００９８】
すなわち、当該エリアがどの位、自己の秘密情報（経験順位とハッシュ値）を知っているかを検証装置１０’が検証することにより、検証装置１０’が、機能を発動してよい自己の所属エリアであるか否かを認証する。ここで、自己の秘密情報は、徐々にエリアの各受動的証明装置に露呈させていく。このように、検証装置１０’は、段階的且つ経験的にじわじわと当該ドメインを自己の正当ドメインとして認証することができる。
【００９９】
なお、受動的証明装置２０１’〜２０ｎ’は、検証装置１０’の生成したハッシュ値に対し、最高の経験順位を証明するのでなく、その部分的経験順位（保持する最も高い経験順位を示すハッシュ値から計算されるハッシュ値）を証明する経験的認証手法でもよい。
【０１００】
また、当該エリアに所属する全ての受動的証明装置２０’が検証装置１０’の経験情報を管理する形態に限らず、そのうちのいくつかの受動的証明装置２０’が検証装置１０’の経験情報を管理する形態でも構わない。
【０１０１】
また、検証装置１０’は、当該エリアの受動的証明装置２０’が保持する最高の経験順位を当該エリアが所持する経験順位として認証してもよいし、各受動的証明装置２０１’〜２０ｎ’が保持する経験順位の平均を当該エリアの経験順位とみなしてもよい。当該エリアの経験順位は、各受動的証明装置２０１’〜２０ｎ’の保持する経験順位に基づく形態であれば何れの定義でもよい。また、当該エリアの経験順位に応じて、検証装置１０’は、自己の機能を制御することができる。
【０１０２】
また更に、検証装置１０’は、前述した各機能のうち、適宜な機能を分離して他の代理装置に分担させる構成としてもよい。例えば、検証装置１０’は、シード情報Ｓからハッシュ連鎖を計算して配布する機能（ハッシュ値生成部１４）を分離して他の代理装置に分担させてもよく、この場合、シード情報Ｓを生成する機能（シード生成部１３）をも分離してもよい。あるいは検証装置１０’は、エリアの各受動的証明装置２０１’〜２０ｎ’を検証する機能（受動的ハッシュ値管理部１２’の一部、経験審査管理部１５）を分離して他の代理装置に分担させてもよい。これらの場合、代理装置は、第三者のサーバ装置として実現してもよい。
（第３の実施形態）
次に、本発明の第３の実施形態に係る経験的認証システムについて説明する。
本実施形態は、第１又は第２の実施形態の変形例であり、ハッシュ値ｚiの伝達無しに認証を実行し、ハッシュ値の秘匿性の向上を図るものである。
【０１０３】
具体的には、まず準備として、ｐ及びｑを、ｐ＝ｎｑ＋１の関係（ｎは整数）を満たす十分に大きな素数とし、ｇを乗法群ｚp*での位数がｑとなるような原始元として、これらｐ，ｑ，ｇをシステムパラメータとして各装置が使用可能であるとする。また、経験順位ｉのハッシュ値ｚiを離散対数にもつコミット値をｇｚi ｍｏｄ ｐとして定義したとする。
【０１０４】
ここで、コミット値ｇｚiは、任意の検証者が参照可能なデータベースとして一括に管理されてもよいし、時刻情報などの時系列情報と共に、ハッシュ値生成者や信頼できる装置等のディジタル署名が施された値を証明者や検証者が保持する手法でもよい。
【０１０５】
このような準備を前提とし、本実施形態は、第１又は第２の実施形態のステップＳＴ１５，１５’におけるハッシュ値ｚi自体の送信に代えて、ハッシュ値ｚiとそのコミット値ｇｚiとのペア値（ｚi，ｇｚi）を用いて後述するペア値（ｒ，ｓ）を計算し、このペア値（ｒ，ｓ）を検証情報として送信するものとする。
【０１０６】
具体的には、以下の１）〜４）に示すように、秘密鍵をハッシュ値ｚi、公開鍵をｇｚi ｍｏｄ ｐと見立てて、通常知られているチャレンジレスポンスのプロトコルを実行すればよい。なお、これら１）〜４）は、前述したステップＳＴ１５〜ＳＴ１６−３（又はＳＴ１５’〜ＳＴ１６−３’）に対応する。
【０１０７】
１）証明者としての認証装置２０ａ（又は受動的証明装置２０ａ’）は、経験順位ｉのハッシュ値ｚiを保持する旨を検証者としての認証装置２０ｘ（又は検証装置１０’）に通知する。
【０１０８】
２）認証装置２０ｘは、経験順位ｉに対応するコミット値ｇｚi ｍｏｄ ｐの離散対数ｚiを認証装置２０ａが保持することを検証するため、チャレンジｃ∈ｚq*を生成し、認証装置２０ａに送信する。
【０１０９】
３）認証装置２０ａは、チャレンジｃを受けると、乱数ｋを生成し、ｒ＝(ｇkｍｏｄ ｐ) ｍｏｄ ｑ及びｓ＝ｋ-1｛ｃ＋ｚi・ｒ｝ｍｏｄ ｑを計算し、ペア値（ｒ，ｓ）を認証装置２０ｘに送信する。
【０１１０】
４）認証装置２０ｘは、ペア値（ｒ，ｓ）を受けると、ｕ1＝ｓ-1ｃ及びｕ2＝ｒｓ-1を計算し、(ｇu1ｙu2 ｍｏｄ ｐ) ｍｏｄ ｑ＝ｒとなるか否かを検証する。この検証式が成立する場合、認証装置２０ｘは、認証装置２０ａが経験順位ｉのハッシュ値ｚiを保持する旨を確認する。
【０１１１】
以下前述同様に、認証装置２０ｘ（又は検証装置１０’）は、ステップＳＴ１８，ＳＴ１９（又はＳＴ１８’，ＳＴ１９’）を行なって処理を終了する。
【０１１２】
上述したように本実施形態によれば、第１又は第２の実施形態の効果に加え、ハッシュ値ｚiの認証の際に、ハッシュ値ｚiを送信せずにその存在を証明する構成としたので、検証者の知らない経験情報を露呈させずに経験順位ｉを証明でき、経験情報の秘匿性を向上させることができる。
【０１１３】
すなわち、第１の実施形態に適用した場合、検証者（認証装置２０ｘ）よりも証明者（認証装置２０ａ）の方が経験順位が高い場合であっても、検証者の知らない経験情報を露呈させずに済む。
【０１１４】
また、第２の実施形態に適用した場合、不正な装置が検証装置１０’に成り済ました場合でも、受動的証明装置２０ａ’は検証装置１０’に関する経験情報を同装置１０’以外の不正な装置に対して露呈させずに済む。
【０１１５】
なお、第２の実施形態に適用する場合、検証装置１０’は、必ずしもコミット値ｇｚi ｍｏｄ ｐを公開しなくてもよい。検証装置１０’は、検証装置である前にハッシュ値を生成する装置であるため、内部でコミット値を生成可能である。コミット値を公開しない場合、その経験順位ｉのハッシュ値ｚiを保持する装置のみがハッシュ値ｚiの正当性を検証できる、検証者を限定する性質が付け加わる。
【０１１６】
上記第１乃至第３の実施形態において、経験順位ｉは、各装置毎のエリアの所属時間、ある処理の実行回数、または新規装置の加入などのイベント回数、のいずれを単位にしてもよく、あるいは以上の単位を組合せてもよい。なお、経験順位を表す単位はこれに限ることなく、経験を順位的に表現でき、かつ本発明を逸脱しないものであれば何れの情報であってもよい。
【０１１７】
さらに、経験順位を具体的に構成する手段は、ハッシュ連鎖に限らず、ある時点での当該エリアにおけるイベント情報や認証装置の総数といった時事情報のように、経験順位を表現でき、且つ本発明を逸脱しないものであれば、何れの情報を用いた手段であってもよい。
【０１１８】
チャレンジレスポンスのプロトコルは、ＤＳＡ(digital signature algorithm)署名に限らず、ハッシュ値ｚiを示さずに、ハッシュ値ｚiを保持している旨を検証者に示すことができる方式であれば何れの方式に変形してもよい。
【０１１９】
なお、上記各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、光磁気ディスク（ＭＯ）、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【０１２０】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【０１２１】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワークソフト等のＭＷ（ミドルウェア）等が本実施形態を実現するための各処理の一部を実行しても良い。
【０１２２】
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【０１２３】
また、記憶媒体は１つに限らず、複数の媒体から本実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【０１２４】
尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するものであって、パソコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【０１２５】
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【０１２６】
なお、本願発明は、上記各実施形態に限定されるものでなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合、組み合わされた効果が得られる。さらに、上記各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば実施形態に示される全構成要件から幾つかの構成要件が省略されることで発明が抽出された場合には、その抽出された発明を実施する場合には省略部分が周知慣用技術で適宜補われるものである。
【０１２７】
その他、本発明はその要旨を逸脱しない範囲で種々変形して実施できる。
【０１２８】
【発明の効果】
以上説明したように本発明によれば、複数の装置間における電子認証の際に、各装置の段階的且つ序列的な認証を実現できる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係る経験的認証システムの概略構成を示す模式図
【図２】同実施形態における経験的認証システムの構成を具体的に示す機能ブロック図
【図３】同実施形態における管理テーブルの構成を示す模式図
【図４】同実施形態における動作を説明するための模式図
【図５】同実施形態における動作を説明するためのフローチャート
【図６】同実施形態における動作を説明するためのフローチャート
【図７】本発明の第２の実施形態に係る経験的認証システムの概略構成を示す模式図
【図８】同実施形態における経験的認証システムの構成を具体的に示す機能ブロック図
【図９】同実施形態における動作を説明するための模式図
【図１０】同実施形態における動作を説明するためのフローチャート
【図１１】同実施形態における動作を説明するためのフローチャート
【符号の説明】
１０…経験情報管理装置
１０’…検証装置
１１…送信制御部
１１’…検証送信制御部
１２…ハッシュ値管理部
１２’…受動的ハッシュ値管理部
１３…シード生成部
１４…ハッシュ値生成部
１５…受動的経験管理部
２０１，２０２，２０ａ，２０ｘ，２０ｎ…認証装置
２０１’〜２０ｎ’…受動的証明装置
２１ａ，２１ｘ…通信制御部
２１ａ’…証明通信制御部
２２ａ，２２ｘ…ハッシュ値管理部
２２ａ’…証明ハッシュ値管理部
２３ａ，２３ｘ…ハッシュ値計算部
２３ａ’…証明ハッシュ値計算部
２４ａ，２４ｘ…経験審査管理部
３０…ネットワーク
【図１】
0004427227.tif 000002
【図２】
0004427227.tif 000003
【図３】
0004427227.tif 000004
【図４】
0004427227.tif 000005
【図５】
0004427227.tif 000006
【図６】
0004427227.tif 000007
【図７】
0004427227.tif 000008
【図８】
0004427227.tif 000009
【図９】
0004427227.tif 000010
【図１０】
0004427227.tif 000011
【図１１】
0004427227.tif 000012