(57)【特許請求の範囲】
【請求項１】
サーバ装置がクライアント装置を認証する認証方法において、
少なくとも、上記クライアント装置の不揮発性記憶部に格納された一般データと同一の対比データ、又は、当該対比データから一意に定まる対比タグデータを、上記サーバ装置の記憶部に格納する格納過程と、
上記クライアント装置の送信部が、少なくとも、当該クライアント装置の不揮発性記憶部に格納された一般データ、又は、当該一般データから一意に定まるタグデータを送信する認証データ送信過程と、
上記サーバ装置の受信部が、少なくとも、上記一般データ、又は、タグデータを受信する認証データ受信過程と、
上記サーバ装置の認証部が、上記一般データと上記対比データとが一致するか否か、又は、上記タグデータと上記対比タグデータとが一致するか否か、の少なくとも一方の判定により、上記クライアント装置が正当であるか否かを判定する認証過程と、を有し、
上記一般データは、認証目的に生成されたデータ以外のデータを含み、
上記格納過程は、上記対比データを上記サーバ装置の記憶部に格納する過程であり、
上記クライアント装置の送信部が、当該クライアント装置の不揮発性記憶部に格納されていた一般データと変更後の一般データとの差分データを、上記サーバ装置に送信する差分データ送信過程と、
上記サーバ装置の受信部が、上記差分データを受信する差分データ受信過程と、
上記サーバ装置の更新部が、上記差分データと、上記サーバ装置の記憶部に格納されている上記対比データとを用い、新たな対比データを生成し、当該新たな対比データを当該記憶部に格納する登録更新過程と、をさらに有する、
ことを特徴とする認証方法。
【請求項２】
請求項１の記載の認証方法であって、
上記サーバ装置の送信部が、ランダム数を上記クライアント装置に送信するランダム数送信過程と、
上記クライアント装置の受信部が、上記ランダム数を受信するランダム数受信過程と、
上記クライアント装置のタグデータ生成部が、上記ランダム数と上記一般データとのビット結合値を一方向性関数に代入した一方向性関数値を、上記タグデータとして生成し、当該タグデータを出力するタグデータ生成過程と、
上記サーバ装置の対比タグデータ生成部が、上記ランダム数と上記対比データとのビット結合値を上記一方向性関数に代入した一方向性関数値を、上記対比タグデータとして生成し、当該対比タグデータを出力する対比タグデータ生成過程と、をさらに有し、
上記格納過程は、上記対比データを上記サーバ装置の記憶部に格納する過程であり、
上記認証過程は、上記サーバ装置の認証部が、上記タグデータと上記対比タグデータとの比較を行い、これらが一致するか否かで上記クライアント装置が正当であるか否かを判定する過程である、
ことを特徴とする認証方法。
【請求項３】
請求項１又は２に記載の認証方法であって、
上記サーバ装置の送信部が、指定ファイル情報を上記クライアント装置に送信する指定ファイル情報送信過程と、
上記クライアント装置の受信部が、上記指定ファイル情報を受信する指定ファイル名受信過程と、
上記クライアント装置のタグデータ生成部が、上記指定ファイル情報によって指定される一般データを用い、当該一般データから一意に定まるタグデータを生成し、当該タグデータを出力するタグデータ生成過程と、
上記サーバ装置の対比タグデータ生成部が、上記指定ファイル名によって指定される対比データを用い、当該対比データから一意に定まる対比タグデータを生成し、当該対比タグデータを出力する対比タグデータ生成過程と、をさらに有し、
上記格納過程は、複数の一般データにそれぞれ対応する複数の対比データを上記サーバ装置の記憶部に格納する過程であり、
上記認証過程は、上記サーバ装置の認証部が、上記タグデータと上記対比タグデータとの比較を行い、これらが一致するか否かで上記クライアント装置が正当であるか否かを判定する過程である、
ことを特徴とする認証方法。
【請求項４】
請求項１から３の何れかに記載の認証方法であって、
上記サーバ装置の送信部が、指定ファイル情報を上記クライアント装置に送信する指定ファイル情報送信過程と、
上記クライアント装置の受信部が、上記指定ファイル情報を受信する指定ファイル名受信過程と、をさらに有し、
上記格納過程は、複数の一般データにそれぞれ対応する複数の対比データを上記サーバ装置の記憶部に格納する過程であり、
上記認証過程は、上記サーバ装置の認証部が、上記指定ファイル情報で指定された一般データと上記指定ファイル情報で指定された対比データとを比較し、又は、上記指定ファイル情報で指定された一般データから一意に定まるタグデータと上記指定ファイル情報で指定された対比データから一意に定まる対比タグデータとを比較し、これらが一致するか否で上記クライアント装置が正当であるか否かを判定する過程である、
ことを特徴とする認証方法。
【請求項５】
サーバ装置がクライアント装置を認証する認証方法において、
少なくとも、上記クライアント装置の不揮発性記憶部に格納された一般データと同一の対比データ、又は、当該対比データから一意に定まる対比タグデータを、上記サーバ装置の記憶部に格納する格納過程と、
上記クライアント装置の送信部が、少なくとも、当該クライアント装置の不揮発性記憶部に格納された一般データ、又は、当該一般データから一意に定まるタグデータを送信する認証データ送信過程と、
上記サーバ装置の受信部が、少なくとも、上記一般データ、又は、タグデータを受信する認証データ受信過程と、
上記サーバ装置の認証部が、上記一般データと上記対比データとが一致するか否か、又は、上記タグデータと上記対比タグデータとが一致するか否か、の少なくとも一方の判定により、上記クライアント装置が正当であるか否かを判定する認証過程と、を有し、
上記一般データは、認証目的に生成されたデータ以外のデータを含み、
上記サーバ装置の送信部が、ランダム数を上記クライアント装置に送信するランダム数送信過程と、
上記クライアント装置の受信部が、上記ランダム数を受信するランダム数受信過程と、
上記クライアント装置のタグデータ生成部が、上記ランダム数と上記一般データとのビット結合値を一方向性関数に代入した一方向性関数値を、上記タグデータとして生成し、当該タグデータを出力するタグデータ生成過程と、
上記サーバ装置の対比タグデータ生成部が、上記ランダム数と上記対比データとのビット結合値を上記一方向性関数に代入した一方向性関数値を、上記対比タグデータとして生成し、当該対比タグデータを出力する対比タグデータ生成過程と、をさらに有し、
上記格納過程は、上記対比データを上記サーバ装置の記憶部に格納する過程であり、
上記認証過程は、上記サーバ装置の認証部が、上記タグデータと上記対比タグデータとの比較を行い、これらが一致するか否かで上記クライアント装置が正当であるか否かを判定する過程である、
ことを特徴とする認証方法。
【請求項６】
サーバ装置がクライアント装置を認証する認証方法において、
少なくとも、上記クライアント装置の不揮発性記憶部に格納された一般データと同一の対比データ、又は、当該対比データから一意に定まる対比タグデータを、上記サーバ装置の記憶部に格納する格納過程と、
上記クライアント装置の送信部が、少なくとも、当該クライアント装置の不揮発性記憶部に格納された一般データ、又は、当該一般データから一意に定まるタグデータを送信する認証データ送信過程と、
上記サーバ装置の受信部が、少なくとも、上記一般データ、又は、タグデータを受信する認証データ受信過程と、
上記サーバ装置の認証部が、上記一般データと上記対比データとが一致するか否か、又は、上記タグデータと上記対比タグデータとが一致するか否か、の少なくとも一方の判定により、上記クライアント装置が正当であるか否かを判定する認証過程と、を有し、
上記一般データは、認証目的に生成されたデータ以外のデータを含み、
上記サーバ装置の送信部が、指定ファイル情報を上記クライアント装置に送信する指定ファイル情報送信過程と、
上記クライアント装置の受信部が、上記指定ファイル情報を受信する指定ファイル名受信過程と、
上記クライアント装置のタグデータ生成部が、上記指定ファイル情報によって指定される一般データを用い、当該一般データから一意に定まるタグデータを生成し、当該タグデータを出力するタグデータ生成過程と、
上記サーバ装置の対比タグデータ生成部が、上記指定ファイル名によって指定される対比データを用い、当該対比データから一意に定まる対比タグデータを生成し、当該対比タグデータを出力する対比タグデータ生成過程と、をさらに有し、
上記格納過程は、複数の一般データにそれぞれ対応する複数の対比データを上記サーバ装置の記憶部に格納する過程であり、
上記認証過程は、上記サーバ装置の認証部が、上記タグデータと上記対比タグデータとの比較を行い、これらが一致するか否かで上記クライアント装置が正当であるか否かを判定する過程である、
ことを特徴とする認証方法。
【請求項７】
サーバ装置がクライアント装置を認証する認証方法において、
少なくとも、上記クライアント装置の不揮発性記憶部に格納された一般データと同一の対比データ、又は、当該対比データから一意に定まる対比タグデータを、上記サーバ装置の記憶部に格納する格納過程と、
上記クライアント装置の送信部が、少なくとも、当該クライアント装置の不揮発性記憶部に格納された一般データ、又は、当該一般データから一意に定まるタグデータを送信する認証データ送信過程と、
上記サーバ装置の受信部が、少なくとも、上記一般データ、又は、タグデータを受信する認証データ受信過程と、
上記サーバ装置の認証部が、上記一般データと上記対比データとが一致するか否か、又は、上記タグデータと上記対比タグデータとが一致するか否か、の少なくとも一方の判定により、上記クライアント装置が正当であるか否かを判定する認証過程と、を有し、
上記一般データは、認証目的に生成されたデータ以外のデータを含み、
上記サーバ装置の送信部が、指定ファイル情報を上記クライアント装置に送信する指定ファイル情報送信過程と、
上記クライアント装置の受信部が、上記指定ファイル情報を受信する指定ファイル名受信過程と、をさらに有し、
上記格納過程は、複数の一般データにそれぞれ対応する複数の対比データを上記サーバ装置の記憶部に格納する過程であり、
上記認証過程は、上記サーバ装置の認証部が、上記指定ファイル情報で指定された一般データと上記指定ファイル情報で指定された対比データとを比較し、又は、上記指定ファイル情報で指定された一般データから一意に定まるタグデータと上記指定ファイル情報で指定された対比データから一意に定まる対比タグデータとを比較し、これらが一致するか否で上記クライアント装置が正当であるか否かを判定する過程である、
ことを特徴とする認証方法。
【請求項８】
サーバ装置がクライアント装置を認証する認証方法において、
上記クライアント装置の不揮発性記憶部に格納された一般データＸをd (dは２以上の整数) 個に分割した各分割データをx(i) (i=1,...,d)とし、Nを２以上の自然数とし、gを、Nを法とする剰余類がなす乗法群(Z/NZ)*の元であってg2≠1 (mod N)を満たす整数とした場合における、登録値y(i)=gx(i) (mod N)を、上記サーバ装置の記憶部に格納する第１格納過程と、
上記クライアント装置の分割部が、当該クライアント装置の不揮発性記憶部に格納された一般データＸ'をd個に分割し、分割データx'(i) (i=1,...,d)を生成し、当該分割データx'(i)を出力する分割データ生成過程と、
上記クライアント装置のx'値演算部が、F(i)をiに対する関数値とした場合における、x'=x'(1)・F(1)+...+x'(d)・F(d)の演算を行い、その演算結果x'を出力するx'値演算過程と、
上記クライアント装置のタグデータ生成部が、rを０以上の整数とし、R=gr (mod N)とした場合における、G'=Rx' (mod N)の演算を行い、その演算結果G'をタグデータとして出力するタグデータ生成過程と、
上記クライアント装置の送信部が、上記タグデータG'を上記サーバ装置に送信する認証データ送信過程と、
上記サーバ装置の受信部が、上記タグデータG'を受信する認証データ受信過程と、
上記サーバ装置の対比タグデータ生成部が、上記記憶部から読み込んだ上記登録値y(i)を用い、G={y(1)F(1)・...・y(d)F(d)）}rの演算を行い、その演算結果Gを対比タグデータとして出力する対比タグデータ生成過程と、
上記対比タグデータを上記記憶部に格納する第２格納過程と、
上記サーバ装置の認証部が、G'=Gを満たすことを条件に、上記クライアント装置が正当であると判定する認証過程と、を有し、
上記一般データＸは、
認証目的に生成されたデータ以外のデータを含む、
ことを特徴とする認証方法。
【請求項９】
請求項８に記載の認証方法であって、
上記クライアント装置のランダム数生成部が、０以上のランダム数aを生成し、当該ランダム数aを出力するランダム数ａ生成過程と、
上記クライアント装置の指数演算部が、A=ga (mod N)の演算を行い、その演算結果Aを出力するＡ値算出過程と、
上記クライアント装置の送信部が、上記演算結果Aを、上記サーバ装置に送信するA値送信過程と、
上記サーバ装置の受信部が、上記演算結果Aを受信するA値受信過程と、
上記サーバ装置のランダム数生成部が、０以上のランダム数rを生成し、当該ランダム数rを出力するランダム数ｒ生成過程と、
上記サーバ装置の指数演算部が、R=gr (mod N)の演算を行い、当該演算結果Rを出力するＲ値算出過程と、
上記サーバ装置の指数演算部が、B=Ar (mod N)の演算を行い、当該演算結果Bを出力するＢ値算出過程と、
上記サーバ装置の送信部が、上記演算結果R, Bを、上記クライアント装置に送信するR, B値送信過程と、
上記クライアント装置の受信部が、上記演算結果R, Bを受信するR, B値受信過程と、
上記クライアント装置の指数演算部が、B'=Ra (mod N)の演算を行い、当該演算結果B'を出力する第１指数演算過程と、
上記クライアント装置の判定部が、B=B'を満たすか否かを判定する判定過程とを、さらに有し、
上記分割データ生成過程と、上記x'値演算過程と、上記タグデータ生成過程と、上記認証データ送信過程と、上記認証データ受信過程と、上記対比タグデータ生成過程と、上記第２格納過程と、上記認証過程とは、上記判定過程でB=B'を満たすと判定された場合にのみ実行される過程であり、
上記認証データ送信過程は、上記クライアント装置の送信部が、上記タグデータG'と共に上記ランダム数ａをも上記サーバ装置に送信する過程であり、
上記認証データ受信過程は、
上記サーバ装置の受信部が、上記タグデータG'と共に上記ランダム数ａをも受信する過程であり、
上記対比タグデータ生成過程は、
さらに、上記サーバ装置の指数演算部が、A'=ga (mod N)の演算を行い、その演算結果A'を出力する過程であり、
上記認証過程は、
上記サーバ装置の認証部が、A'=AとG'=Gとを満たすことを条件に、上記クライアント装置が正当であると判定する過程である、
ことを特徴とする認証方法。
【請求項１０】
請求項９に記載の認証方法であって、
上記F(i)は、
Bとiとのビット結合値(B|i)のハッシュ値H(B|i)である、
ことを特徴とする認証方法。
【請求項１１】
請求項８に記載の登録値y(i) (i=1,...,d、dは２以上の整数)を生成する登録値生成方法であって、
クライアント装置の分割部が、当該クライアント装置の不揮発性記憶部に格納された一般データＸをd個に分割し、分割データx(i) (i=1,...,d)を生成し、当該分割データx(i)を出力する分割データ生成過程と、
クライアント装置の分割データ変換部が、p及びqを素数とし、LCM(p-1, q-1)をp-1とq-1との最小公倍数とし、M=m・LCM(p-1, q-1) (mは１以上の自然数、M≦x(i))とした場合における、x''(i)=x(i) (mod M)の演算を行い、当該演算結果x''(i)を出力する分割データ変換過程と、
クライアント装置の登録値演算部が、N=p・qとし、gを、Nを法とする剰余類がなす乗法群(Z/NZ)*の元であってg2≠1 (mod N)を満たす整数とした場合における、y(i)=gx''(i) (mod N)の演算を行い、当該演算結果y(i)を登録値として出力する登録値演算過程と、
を有することを特徴とする登録値生成方法。
【請求項１２】
クライアント装置を認証するサーバ装置であって、
少なくとも、上記クライアント装置の不揮発性記憶部に格納された一般データと同一の対比データ、又は、当該対比データから一意に定まる対比タグデータを格納する記憶部と、
少なくとも、上記クライアント装置から送信された上記一般データ、又は、当該一般データから一意に定まるタグデータを受信する受信部と、
上記一般データと上記対比データとが一致するか否か、又は、上記タグデータと上記対比タグデータとが一致するか否か、の少なくとも一方の判定により、上記クライアント装置が正当であるか否かを判定する認証部と、を有し、
上記一般データは、
認証目的に生成されたデータ以外のデータを含み、
当該サーバ装置は、
ランダム数を上記クライアント装置に送信する送信部と、
上記ランダム数と上記対比データとのビット結合値を上記一方向性関数に代入した一方向性関数値を、上記対比タグデータとして生成する対比タグデータ生成部と、をさらに有し、
上記タグデータは、
上記ランダム数と上記一般データとのビット結合値を一方向性関数に代入した一方向性関数値であり、
上記記憶部は、
上記対比データを格納し、
上記認証部は、
上記タグデータと上記対比タグデータとの比較を行い、これらが一致するか否かで上記クライアント装置が正当であるか否かを判定する、
ことを特徴とするサーバ装置。
【請求項１３】
クライアント装置を認証するサーバ装置であって、
上記クライアント装置の不揮発性記憶部に格納された一般データＸをd (dは２以上の整数) 個に分割した各分割データをx(i) (i=1,...,d)とし、Nを２以上の自然数とし、gを、Nを法とする剰余類がなす乗法群(Z/NZ)*の元であってg2≠1 (mod N)を満たす整数とした場合における、登録値y(i)=gx(i) (mod N)を格納する記憶部と、
上記クライアント装置から送信されたタグデータG'を受信する受信部と、
上記記憶部から読み込んだ上記登録値y(i)を用い、F(i)をiに対する関数値とした場合における、G={y(1)F(1)・...・y(d)F(d)）}rの演算を行い、その演算結果Gを対比タグデータとして出力する対比タグデータ生成部と、
G'=Gを満たすことを条件に、上記クライアント装置が正当であると判定する認証部と、を有し、
上記一般データＸは、
認証目的に生成されたデータ以外のデータを含む、
ことを特徴とするサーバ装置。
【請求項１４】
請求項１３に記載の登録値y(i) (i=1,...,d、dは２以上の整数)を生成するクライアント装置であって、
クライアント装置の不揮発性記憶部に格納された一般データＸをd個に分割し、分割データx(i) (i=1,...,d)を生成し、当該分割データx(i)を出力する分割部と、
p及びqを素数とし、LCM(p-1, q-1)をp-1とq-1との最小公倍数とし、M=m・LCM(p-1, q-1) (mは１以上の自然数、M≦x(i))とした場合における、x''(i)=x(i) (mod M)の演算を行い、当該演算結果x''(i)を出力する分割データ変換部と、
N=p・qとし、gを、Nを法とする剰余類がなす乗法群(Z/NZ)*の元であってg2≠1 (mod N)を満たす整数とした場合における、y(i)=gx''(i) (mod N)の演算を行い、当該演算結果y(i)を登録値として出力する登録値演算部と、
を有することを特徴とするクライアント装置。
【請求項１５】
請求項１２又は１３に記載されたサーバ装置としてコンピュータを機能させるためのプログラム。
【請求項１６】
請求項１４に記載されたクライアント装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証技術に関し、特に、認証対象の同一性を認証する技術に関する。
【背景技術】
【０００２】
Web上において、前回接続してきたクライアントと同一のクライアントであることを判別するために、Webサーバは、Cookieという技術を利用している（例えば、非特許文献１参照）。この技術では、Webサーバが、Webブラウザを通じて前回接続してきた個々のクライアントにCookieと呼ばれるトークンを発行し、それをクライアントに保存させる。このCookieは、例えば、Webサーバがクライアントを認証するためのデータとして用いられる。
【非特許文献１】”IT用語辞典e-Words”、[online]、[平成１９年６月１８日検索]、インターネット＜http://e-words.jp/w/Cookie.html＞
【発明の開示】
【発明が解決しようとする課題】
【０００３】
Cookieを用いた認証は、クライアントがそのCookieを所有していることをもって認証とする方式である。
しかし、Cookieはデータ量が小さく（最大4096byteしかない）、短時間で容易に複製することができる。そのため、攻撃者は、Cookieを短時間で容易に複製し、その複製を所有することによって、不正に認証を受けることができる。
本発明はこのような点に鑑みてなされたものであり、攻撃者が不正に認証を受けることを抑制する技術を提供することを目的とする。
【課題を解決するための手段】
【０００４】
本発明では上記課題を解決するために、まず、少なくとも、クライアント装置の不揮発性記憶部に格納された一般データと同一の対比データ、又は、当該対比データから一意に定まる対比タグデータを、サーバ装置の記憶部に格納する（格納過程）。認証時、クライアント装置の送信部が、少なくとも、当該クライアント装置の不揮発性記憶部に格納された一般データ、又は、当該一般データから一意に定まるタグデータを送信し（認証データ送信過程）、サーバ装置の受信部で受信される（認証データ受信過程）。そして、サーバ装置の認証部が、一般データと対比データとが一致するか否か、又は、タグデータと対比タグデータとが一致するか否か、の少なくとも一方の判定により、クライアント装置が正当であるか否かを判定する（認証過程）。なお、本発明における「一般データ」は、認証目的に生成されたデータ以外のデータを含むデータである。
【発明の効果】
【０００５】
本発明では、攻撃者が不正に認証を受けることを抑制できる。
【発明を実施するための最良の形態】
【０００６】
以下、本発明を実施するための最良の形態を図面を参照して説明する。
〔第１実施形態〕
まず、本発明の第１実施形態について説明する。
＜構成＞
図１は、第１実施形態の認証システム１０の構成を示したブロック図である。
図１に示すように、本形態の認証システム１０は、ネットワーク１３を通じて通信可能に接続されたサーバ装置１１とクライアント装置１２とを有する。
【０００７】
サーバ装置１１は、記憶部１１ａ、受信部１１ｂ、対比タグデータ生成部１１ｃ、認証部１１ｄ、更新部１１ｅ、一時記憶部１１ｙ及び制御部１１ｚを有する。また、クライアント装置１２は、不揮発性記憶部１２ａ、タグデータ生成部１２ｂ、送信部１２ｃ、一時記憶部１２ｙ、制御部１２ｚ及び入力部１２ｘを有する。
なお、サーバ装置１１及びクライアント装置１２は、例えば、ＣＰＵ（central processing unit）、ＲＡＭ（random-access memory）、ＲＯＭ（Read Only Memory）、ハードディスク装置やＭＯ（Magneto-Optical disc）装置などの外部記憶装置、ＬＡＮ（local area network）カードやモデムなどの通信装置、バス、入力装置、出力装置等から構成される公知のコンピュータに、所定のプログラムが読み込まれることによって構成される。
【０００８】
ここで、対比タグデータ生成部１１ｃ、認証部１１ｄ、更新部１１ｅ及び制御部１１ｚは、サーバ装置１１を構成するコンピュータのＣＰＵにプログラムが読み込まれることによって構成される。また、記憶部１１ａ及び一時記憶部１１ｙは、ＲＡＭ、レジスタ、キャッシュメモリ、外部記憶装置、又は、これらの少なくとも一部を組み合わせた記憶領域である。さらに、受信部１１ｂは、プログラムが読み込まれたＣＰＵの制御のもと機能する通信装置である。
また、タグデータ生成部１２ｂ及び制御部１２ｚは、クライアント装置１２を構成するコンピュータのＣＰＵにプログラムが読み込まれることによって構成される。また、不揮発性記憶部１２ａは、ハードディスク装置やＭＯ装置などの外部記憶装置、ＲＯＭ、ハードウェア（ＬＡＮカード、ＲＡＭ、ＣＰＵ等）の固有データ（機器番号、シリアル番号、ＭＡＣアドレス、固有番号）を格納する不揮発性のメモリ等である。また、一時記憶部１２ｙは、ＲＡＭ、レジスタ、キャッシュメモリ、外部記憶装置、又は、これらの少なくとも一部を組み合わせた記憶領域である。送信部１２ｃは、プログラムが読み込まれたＣＰＵの制御のもと機能する通信装置である。
【０００９】
＜処理＞
本形態の処理は、初回登録処理、認証処理及び更新処理の３つの処理からなる。
［初回登録処理］
まず、本人確認書類の郵送、メールアドレス認証、ＰＫＩ(Public Key Infrastructure)、パスワード、パスフレーズなどを用いた公知の認証方法を用い、登録しようとしているユーザがサーバ装置１１の認証を受ける。そして、クライアント装置１２の不揮発性記憶部１２ａに格納された一般データと同一の対比データと、ユーザを識別できるIDと、パスワードやパスフレーズ等のパスデータとを、相互に対応付けてサーバ装置１１の記憶部１１ａに格納する。なお、一般データは、Cookie等の認証目的で生成されたデータ以外のデータを含むデータである。例えば、不揮発性記憶部１２ａがハードディスク装置やＭＯ装置である場合における、セクタ番号、ディスクID、コンテンツデータ（画像データ、動画データ、音声データ、テキストデータ等）や、ＭＡＣアドレス、機器番号、シリアル番号などのハードウェア固有番号などを例示できる。また、これら複数種類のデータを一般データとしてもよく、不揮発性記憶部１２ａに格納された全データの一部のデータのみを一般データとしてもよい。
【００１０】
［認証処理］
図２（ａ）は、第１実施形態の認証処理を説明するためのフローチャートである。なお、サーバ装置１１は、制御部１１ｚの制御のもと各処理を実行し、クライアント装置１２は、制御部１２ｚの制御のもと各処理を実行する。また、サーバ装置１１は、各演算過程におけるデータを一時記憶部１１ｙに逐一読み書きしつつ、各演算を実行し、クライアント装置１２は、各演算過程におけるデータを一時記憶部１２ｙに逐一読み書きしつつ、各演算を実行する。しかし、以下では、これらの事項の説明を省略する（以降の各実施形態についても同様）。
【００１１】
まず、クライアント装置１２は、サーバ装置１１に対して接続要求を行い、それとともに又はその後に、ユーザのIDをサーバ装置１１に送信する。なお、IDの入力は、クライアント装置１２の入力部１２ｘに対し、例えば、図３（ａ）の表示に従って行われる。
その後、クライアント装置１２のタグデータ生成部１２ｂが、不揮発性記憶部１２ａから一般データを読み込み、一般データから一意に定まるタグデータを生成する（ステップＳ１）。なお、タグデータの具体例としては、一般データのハッシュ値や圧縮データ等を例示できる。生成されたタグデータとは送信部１２ｃに送られる。送信部１２ｃは、入力部１２ｘから入力されたIDと生成されたタグデータとを、ネットワーク１３を通じてサーバ装置１１に送信する（ステップＳ２）。  
【００１２】
サーバ装置１１の受信部１１ｂは、これらを受信して認証部１１ｄに送る（ステップＳ３）。受信されたIDは対比タグデータ生成部１１ｃに送られ、対比タグデータ生成部１１ｃは、このIDに関連付けられている対比データを記憶部１１ａから読み込む。そして、対比タグデータ生成部１１ｃは、読み込んだ対比データから一意に定まる対比タグデータを生成する（ステップＳ４）。なお、対比タグデータは、上述のタグデータを同じ方法で生成され、その具体例としては、対比データのハッシュ値や圧縮データ等を例示できる。
生成された対比タグデータは、認証部１１ｄに送られ、認証部１１ｄは、送られた対比タグデータとタグデータ（ステップＳ３）とが等しいか否かを判定する（ステップＳ５）。ここで、認証部１１ｄは、対比タグデータ＝タグデータであれば、認証成功とし（ステップＳ６）、対比タグデータ＝タグデータでなければ認証失敗とし（ステップＳ７）、認証処理を終了する。なお、認証失敗となった場合に認証処理を最初からやり直す構成であってもよい（この点、以下の各実施形態についても同様）。
【００１３】
［更新処理］
図２（ｂ）は、第１実施形態の更新処理を説明するためのフローチャートである。
更新処理は、クライアント装置１２の不揮発性記憶部１２ａに格納されている一般データの変動に併せ、サーバ装置１１の記憶部１１ａに格納されている対比データを更新する処理である。この更新処理は、例えば、クライアント装置１２がその旨の要求を行った場合、又は、上述の認証処理で認証失敗となった場合に実行される。
まず、クライアント装置１２の入力部１２ｘにパスデータとIDとが入力される（ステップＳ１０）。例えば、上述の認証処理で認証失敗となった場合には、図３（ｂ）の表示に従ってパスデータが入力される。また、IDは、例えば図３（ａ）の表示に従って入力される。入力されたパスデータとIDとは、送信部１２ｃに送られ、送信部１２ｃは、これらを、ネットワーク１３を通じてサーバ装置１１に送信し（ステップＳ１１）、サーバ装置１１の受信部１１ｂは、これらを受信する（ステップＳ１２）。
【００１４】
受信されたパスデータとIDとは、更新部１１ｅに送られ、更新部１１ｅは、送られたIDを用いて記憶部１１ａを検索し、当該IDに対応付けられているパスデータを記憶部１１ａから読み込む。そして、更新部１１ｅは、受信部１１ｂから送られたパスデータと、記憶部１１ａから読み込まれたパスデータとが等しいか否かを検証する（ステップＳ１３）。ここで、これらが等しくないのならば、ステップＳ１０に戻る。
一方、これらが等しいならば、サーバ装置１１は、パス認証に合格した旨の情報をクライアント装置１２に送信する。この場合、クライアント装置１２の制御部１２ｚは、不揮発性記憶部１２ａに記憶されている変更後の一般データと変更前の一般データとの差分データを、不揮発性記憶部１２ａから抽出し、それを送信部１２ｃに送る。なお、この差分データは、例えば、不揮発性記憶部１２ａに記憶されていた一般データが変更された際に、その変更前の一般データを不揮発性記憶部１２ａの特定の領域に退避させておき、変更後の一般データと対比させておいた一般データとの差分を求めることで生成できる。送信部１２ｃは、送られた差分データとステップＳ１０で入力されたIDとを、ネットワーク１３を通じてサーバ装置１１に送信する（ステップＳ１４）。これらの情報は、サーバ装置１１の受信部１１ｂで受信され（ステップＳ１５）、更新部１１ｅに送られる。更新部１１ｅは、送られたIDを用いて記憶部１１ａを検索し、当該IDに関連つけられている対比データ（旧対比データ）を読み込み、これと差分データとを用い、新たな対比データ（新対比データ）を生成する。この新対比データは、更新後の一般データと同一のデータとなる。そして、更新部１１ｅは、この新対比データによって記憶部１１ａの対比データを更新する（ステップＳ１６）。
【００１５】
＜本形態の特徴＞
以上のように、本形態では、クライアント装置１２の不揮発性記憶部１２ａに格納された一般データと同一の対比データを、サーバ装置１１の記憶部１１ａに格納し、クライアント装置の送信部１２ｃが、当該クライアント装置１２の不揮発性記憶部１２ａに格納された一般データから一意に定まるタグデータを送信し、サーバ装置１１の受信部１１ｂがタグデータを受信し、サーバ装置１１の認証部１１ｄが、タグデータと対比データから一意に定まる対比タグデータとが一致するか否の判定により、クライアント装置１２が正当であるか否かを判定する。このように、本形態では、コンテンツデータ等の認証目的に生成されたデータ以外のデータを含む一般データの同一性を根拠にユーザ認証を行う。コンテンツデータ等の一般データは、cookie等の認証目的に生成されたデータに比べデータ量が大きく、複製に時間がかかる。すなわち、攻撃者は、cookie等の認証目的に生成されたデータを複製するよりも、コンテンツデータ等の一般データを複製する方が困難である。そのため、データ量が大きい一般データの同一性を根拠にユーザ認証を行う本システムでは、データ量が小さいcookie等の認証目的に生成されたデータの同一性を根拠にユーザ認証を行う従来システムに比べ、安全性が高い。
【００１６】
また、一般データがクライアント装置を構成する２以上のハードウェアの各不揮発性記憶部にそれぞれ格納された複数種類のデータであった場合、攻撃者による一般データの複製がさらに困難となる。
さらに、不揮発性記憶部１２ａに格納された全データの一部のデータのみを一般データとした場合には、より一層安全性が向上する。攻撃者は、不揮発性記憶部１２ａに格納された全データのうち、どの部分が認証処理に用いられる一般データであるかを知ることができないからである。
【００１７】
また、本形態では、認証処理用のデータを新たに確保することなく、一般データを用いて認証処理を行うことができるという利点もある。
また、本形態の更新処理では、クライアント装置１２の送信部１２ｃが、当該クライアント装置１２の不揮発性記憶部１２ａに格納されていた一般データと変更後の一般データとの差分データを、サーバ装置１１に送信し、サーバ装置１１の受信部１１ｂが差分データを受信し、更新部１１ｅが、差分データと、記憶部１１ａに格納されている対比データとを用い、新たな対比データを生成し、当該新たな対比データを当該記憶部１１ａに格納することとした。このように、クライアント装置１２が、更新後の一般データそのものではなく、差分データのみをサーバ装置１１に送信して、サーバ装置１１に登録されている対比データを更新することにより、更新処理時の盗聴によって、新たな対比データが第三者に漏えいしてしまうリスクを低減させることができる。なお、盗聴の危険性が少ないのであれば、クライアント装置１２が更新後の一般データそのものをサーバ装置１１に送信し、サーバ装置１１の対比データを更新してもよい。
【００１８】
また、本形態の更新処理では、まず、IDを用いてユーザ認証を行う場合を例示したが、初回登録処理と同様のユーザ認証、又は、複数のユーザ認証を組み合わせてユーザ認証を行ってもよい（例えば、特定のネットワーク内からのアクセスであること、かつ、特定のパスワード認証に成功したこと）。
【００１９】
〔第２実施形態〕
次に、本発明の第２実施形態を説明する。本形態は第１実施形態の変形例であり、サーバ装置に対比タグデータを登録しておく形態である。以下では、第１実施形態との相違点を中心に説明を行う。
【００２０】
＜構成＞
図４は、第２実施形態の認証システム２０の構成を示したブロック図である。なお、図４において第１実施形態と共通する部分については、第１実施形態と同じ符号を付した。
第２実施形態の認証システム２０は、第１実施形態の認証システム１０のサーバ装置１１を、サーバ装置２１に置換した構成である。図４に示すように、第１実施形態のサーバ装置１１と第２実施形態のサーバ装置２１との相違点は、サーバ装置１１が具備する対比タグデータ生成部１１ｃをサーバ装置２１が具備していない点、サーバ装置１１の記憶部１１ａには対比データが格納されていたのに対し、サーバ装置２１の記憶部２１ａには対比タグデータが格納される点、更新部１１ｅが更新部２１ｅに置換されている点である。その他は、第１実施形態と同様である。
【００２１】
＜処理＞
本形態の処理も、初回登録処理、認証処理及び更新処理の３つの処理からなる。
［初回登録処理］
本形態では、ユーザ認証の後、クライアント装置１２の不揮発性記憶部１２ａに格納された一般データと同一の対比データから一意に定まる対比タグデータと、IDと、パスデータとを、相互に対応付けてサーバ装置２１の記憶部２１ａに格納する。その他は第１実施形態と同様である。
【００２２】
［認証処理］
図５（ａ）は、第２実施形態の認証処理を説明するためのフローチャートである。以下では、第１実施形態との相違点を中心に説明する。
ステップＳ２１〜Ｓ２３の処理は、第１実施形態のステップＳ１〜Ｓ３と同じであるため説明を省略する。その後のステップＳ２４では、認証部１１ｄが送信されたIDを用い、当該IDに関連付けられている対比タグデータを記憶部２１ａから読み込む。そして、認証部１１ｄは、読み込んだ対比タグデータと、ステップＳ２３で送信されたタグデータとが等しいか否かを判定する（ステップＳ２４）。ここで、認証部１１ｄは、対比タグデータ＝タグデータであれば、認証成功とし（ステップＳ２５）、対比タグデータ＝タグデータでなければ認証失敗とし（ステップＳ２６）、認証処理を終了する。
【００２３】
［更新処理］
図５（ｂ）は、第１実施形態の更新処理を説明するためのフローチャートである。
更新処理は、クライアント装置１２の不揮発性記憶部１２ａに格納されている一般データの変動に併せ、サーバ装置１１の記憶部１１ａに格納されている対比タグデータを更新する処理である。ここでも、第１実施形態との相違点を中心に説明する。
ステップＳ３０〜Ｓ３３の処理は、第１実施形態のステップＳ１０〜Ｓ１３と同じであるため説明を省略する。
【００２４】
ステップＳ３３で対比されたパスデータが等しいと判定された場合、クライアント装置１２のタグデータ生成部１２ｂが、不揮発性記憶部１２ａから一般データを読み込み、その一般データから一意に定まるタグデータを生成する（ステップＳ３４）。生成されたタグデータは送信部１２ｃに送られ、送信部１２ｃは、送られたタグデータとステップＳ３０で入力されたIDとを、ネットワーク１３を通じてサーバ装置２１に送信する（ステップＳ３５）。これらの情報は、サーバ装置２１の受信部２１ｂで受信され（ステップＳ３６）、更新部２１ｅに送られる。更新部２１ｅは、送られたIDを用いて記憶部１１ａを検索し、当該IDに関連つけられている対比タグデータ（旧対比タグデータ）を、送られた対比タグデータ（新対比タグデータ）によって更新する（ステップＳ３７）。
【００２５】
＜本形態の特徴＞
以上のように、本形態では、クライアント装置１２の不揮発性記憶部１２ａに格納された一般データと同一の対比データから一意に定まる対比タグデータを、サーバ装置２１の記憶部２１ａに格納し、クライアント装置の送信部１２ｃが、当該クライアント装置１２の不揮発性記憶部１２ａに格納された一般データから一意に定まるタグデータを送信し、サーバ装置１１の受信部１１ｂがタグデータを受信し、サーバ装置２１の認証部１１ｄが、タグデータと対比データから一意に定まる対比タグデータとが一致するか否の判定により、クライアント装置１２が正当であるか否かを判定する。このように、本形態では、コンテンツデータ等の認証目的に生成されたデータ以外のデータを含む一般データの同一性を根拠にユーザ認証を行うため、第１実施形態と同様、従来システムに比べ、安全性が高い。
【００２６】
また、一般データがクライアント装置を構成する２以上のハードウェアの各不揮発性記憶部にそれぞれ格納された複数種類のデータであった場合、攻撃者による一般データの複製がさらに困難となる。
さらに、第１実施形態と同様、不揮発性記憶部１２ａに格納された全データの一部のデータのみを一般データとした場合には、より一層安全性が向上する。
また、本形態でも、認証処理用のデータを新たに確保することなく、一般データを用いて認証処理を行うことができるという利点もある。
【００２７】
〔第３実施形態〕
次に、本発明の第３実施形態を説明する。本形態は第１実施形態の変形例であり、タグデータの生成をクライアント装置ではなくサーバ装置で行う例である。以下では、第１実施形態との相違点を中心に説明を行う。
＜構成＞
図６は、第３実施形態の認証システム３０の構成を示したブロック図である。なお、図６において第１実施形態と共通する部分については、第１実施形態と同じ符号を付した。
【００２８】
第３実施形態の認証システム３０は、第１実施形態の認証システム１０のサーバ装置１１をサーバ装置３１に置換し、クライアント装置１２をクライアント装置３２に置換した構成である。
図６に示すように、第１実施形態のサーバ装置１１と第３実施形態のサーバ装置３１との相違点は、サーバ装置３１が、サーバ装置１１が具備しないタグデータ生成部３１ｆを具備する点である。また、第１実施形態のクライアント装置１２と第３実施形態のクライアント装置３２との相違点は、クライアント装置３２が、クライアント装置１２が具備するタグデータ生成部１２ｂを具備しない点である。その他は、第１実施形態と同様である。
【００２９】
＜処理＞
本形態の処理も、初回登録処理、認証処理及び更新処理の３つの処理からなる。
［初回登録処理］
第１実施形態と同じであるため説明を省略する。
［認証処理］
図７は、第３実施形態の認証処理を説明するためのフローチャートである。以下では、第１実施形態との相違点を中心に説明する。
【００３０】
まず、入力部１２ｘにIDが入力され、クライアント装置３２の送信部１２ｃが、このIDと不揮発性記憶部１２ａに格納されている一般データを、ネットワーク１３を通じ、サーバ装置３１に送信する（ステップＳ４１）。サーバ装置３１の受信部１１ｂは、これらを受信し（ステップＳ４２）、タグデータ生成部３１ｆに送る（ステップＳ４３）。タグデータ生成部３１ｆは、一般データから一意に定まるタグデータを生成し、生成したタグデータとIDとを認証部１１ｄに送る。それ以降のステップＳ４４〜Ｓ４７の処理は、第１実施形態のステップＳ４〜Ｓ７の処理と同じである。そのため、ここでは説明を省略する。
【００３１】
［更新処理］
第１実施形態と同じであるため説明を省略する。
＜本形態の特徴＞
以上のように、本形態では、クライアント装置１２の不揮発性記憶部１２ａに格納された一般データと同一の対比データを、サーバ装置２１の記憶部２１ａに格納し、クライアント装置の送信部１２ｃが、当該クライアント装置１２の不揮発性記憶部１２ａに格納された一般データを送信し、サーバ装置１１の受信部１１ｂが一般データを受信し、サーバ装置２１の認証部１１ｄが、一般データから一意に定まるタグデータと、対比データから一意に定まる対比タグデータとが一致するか否の判定により、クライアント装置３２が正当であるか否かを判定する。このように、本形態では、コンテンツデータ等の認証目的に生成されたデータ以外のデータを含む一般データの同一性を根拠にユーザ認証を行うため、第１実施形態と同様、従来システムに比べ、安全性が高い。
【００３２】
また、一般データがクライアント装置を構成する２以上のハードウェアの各不揮発性記憶部にそれぞれ格納された複数種類のデータであった場合、攻撃者による一般データの複製がさらに困難となる。
さらに、第１実施形態と同様、不揮発性記憶部１２ａに格納された全データの一部のデータのみを一般データとした場合には、より一層安全性が向上する。
また、本形態では、認証処理用のデータを新たに確保することなく、一般データを用いて認証処理を行うことができるという利点もある。
【００３３】
〔第４実施形態〕
次に、本発明の第４実施形態を説明する。本形態は第１実施形態の変形例であり、タグデータの生成をクライアント装置ではなくサーバ装置で行う例である。以下では、第１実施形態との相違点を中心に説明を行う。
＜構成＞
図８は、第４実施形態の認証システム４０の構成を示したブロック図である。なお、図８において第１実施形態と共通する部分については、第１実施形態と同じ符号を付した。
【００３４】
第４実施形態の認証システム４０は、第１実施形態の認証システム１０のサーバ装置１１をサーバ装置４１に置換し、クライアント装置１２をクライアント装置４２に置換した構成である。
図８に示すように、第１実施形態のサーバ装置１１と第４実施形態のサーバ装置４１との相違点は、サーバ装置４１が、サーバ装置１１が具備していた対比タグデータ生成部１１ｃを具備していない点である。また、第１実施形態のクライアント装置１２と第４実施形態のクライアント装置４２との相違点は、クライアント装置４２が、クライアント装置１２が具備するタグデータ生成部１２ｂを具備しない点である。その他は、第１実施形態と同様である。
【００３５】
＜処理＞
本形態の処理も、初回登録処理、認証処理及び更新処理の３つの処理からなる。
［初回登録処理］
第１実施形態と同じであるため説明を省略する。
［認証処理］
図９は、第４実施形態の認証処理を説明するためのフローチャートである。以下では、第１実施形態との相違点を中心に説明する。
まず、入力部１２ｘにIDが入力され、クライアント装置４２の送信部１２ｃが、このIDと不揮発性記憶部１２ａに格納されている一般データを、ネットワーク１３を通じ、サーバ装置３１に送信する（ステップＳ５１）。サーバ装置３１の受信部１１ｂは、これらを受信し（ステップＳ５２）、認証部１１に送る。認証部１１は、送られたIDを用い、当該IDに関連付けられている対比データを記憶部１１ａから読み込む。そして、認証部１１ｄは、読み込んだ対比データと、送られた一般データとが等しいか否かを判定する（ステップＳ５３）。ここで、認証部１１ｄは、一般データ＝対比データであれば、認証成功とし（ステップＳ５４）、一般データ＝対比データでなければ認証失敗とし（ステップＳ５５）、認証処理を終了する。なお、認証失敗となった場合に認証処理を最初からやり直す構成であってもよい。
［更新処理］
第１実施形態と同じであるため説明を省略する。
【００３６】
＜本形態の特徴＞
以上のように、本形態では、クライアント装置１２の不揮発性記憶部１２ａに格納された一般データと同一の対比データを、サーバ装置２１の記憶部２１ａに格納し、クライアント装置の送信部１２ｃが、当該クライアント装置１２の不揮発性記憶部１２ａに格納された一般データを送信し、サーバ装置１１の受信部１１ｂが一般データを受信し、サーバ装置２１の認証部１１ｄが、一般データと対比データとが一致するか否の判定により、クライアント装置４２が正当であるか否かを判定する。このように、本形態では、コンテンツデータ等の認証目的に生成されたデータ以外のデータを含む一般データの同一性を根拠にユーザ認証を行うため、第１実施形態と同様、従来システムに比べ、安全性が高い。
また、一般データがクライアント装置を構成する２以上のハードウェアの各不揮発性記憶部にそれぞれ格納された複数種類のデータであった場合、攻撃者による一般データの複製がさらに困難となる。
また、本形態では、認証処理用のデータを新たに確保することなく、一般データを用いて認証処理を行うことができるという利点もある。
【００３７】
〔第５実施形態〕
次に、本発明の第５実施形態を説明する。本形態は第４実施形態の変形例であり、クライアント装置を構成する２以上のハードウェアの各不揮発性記憶部にそれぞれ格納された複数種類のデータを一般データする例である。本形態では、ハードディスク装置等の不揮発性記憶部１２ａに格納されたコンテンツデータと、ＲＯＭ等の不揮発性記憶部５２ａに格納された固有データ（ＢＩＯＳ等）とを、一般データとする例である。以下では、第１，４実施形態との相違点を中心に説明を行う。
【００３８】
＜構成＞
図１０は、第５実施形態の認証システム４０の構成を示したブロック図である。なお、図１０において第１，４実施形態と共通する部分については、第１，４実施形態と同じ符号を付した。
第５実施形態の認証システム５０は、第４実施形態の認証システム４０のクライアント装置４２をクライアント装置５２に置換した構成である。図１０に示すように、第４実施形態のクライアント装置４２と第５実施形態のクライアント装置５２との相違点は、クライアント装置５２が、一般データ（コンテンツデータ）を格納するハードディスク等の不揮発性記憶部１２ａと、一般データ（固有データ）を格納するＲＯＭ等の不揮発性記憶部５２ａを具備する点である。その他は、第１，４実施形態と同様である。
【００３９】
＜処理＞
第４実施形態と同じである。
＜本形態の特徴＞
本形態では、一般データ（コンテンツデータ）と一般データ（固有データ）とのハイブリッド情報を一般データとして認証処理を行うため、ユーザ認証と固有データを用いた機器認証を同時に行うことができる。その他の特徴は、第４実施形態と同じである。
なお、本形態では、一般データ（コンテンツデータ）と一般データ（固有データ）とのハイブリッド情報を一般データとして認証処理を行うという思想を第４実施形態に適用した例を示したが、その他の実施形態（これ以降に説明するものも含む）に、この思想を適用した形態であってもよい。また、本形態では、２つの不揮発性記憶部にそれぞれ格納された一般データを用いる例を示したが、３以上の不揮発性記憶部にそれぞれ格納された一般データを用いる形態であってもよい。
【００４０】
〔第６実施形態〕
次に、本発明の第６実施形態について説明する。
本形態は、第１実施形態の変形例であり、ランダム数とハッシュ関数を用いてタグデータ及び対比タグデータを生成する例である。以下では、第１実施形態との相違点を中心に説明を行う。
＜構成＞
図１１は、第６実施形態の認証システム６０の構成を示したブロック図である。なお、図１１において第１実施形態と共通する部分については、第１実施形態と同じ符号を付した。
【００４１】
第６実施形態の認証システム６０は、第１実施形態の認証システム１０のサーバ装置１１をサーバ装置６１に置換し、クライアント装置１２をクライアント装置６２に置換した構成である。
図１１に示すように、第１実施形態のサーバ装置１１と第６実施形態のサーバ装置６１との相違点は、サーバ装置６１が認証処理のためのランダム数生成部６１ａと送信部６１ｂとを必要とする点である。また、第１実施形態のクライアント装置１２と第６実施形態のクライアント装置６２との相違点は、クライアント装置６２が認証処理のための受信部６２ａを必要とする点である。その他は、第１実施形態と同様である。
【００４２】
＜処理＞
本形態の処理も、初回登録処理、認証処理及び更新処理の３つの処理からなる。
［初回登録処理］
第１実施形態と同様であるため説明を省略する。
［認証処理］
図１２は、第６実施形態の認証処理を説明するためのフローチャートである。以下では、第１実施形態との相違点を中心に説明する。
【００４３】
まず、サーバ装置６１のランダム数生成部６１ａが、ランダム数rを生成する（ステップＳ６１）。なお、ランダム数rとしては、例えば、擬似乱数や乱数表から選択した乱数等を例示できる。生成されたランダム数rは送信部６１ｂに送られ、送信部６１ｂは、ランダム数rを、ネットワーク１３を通じてクライアント装置６２に送信する（ステップＳ６２）。ランダム数rは、クライアント装置６２の受信部６２ａで受信され（ステップＳ６３）、タグデータ生成部１２ｂに送られる。
タグデータ生成部１２ｂは、不揮発性記憶部１２ａから一般データを読み込み、ランダム数rと一般データとのビット結合値（r｜一般データ）を一方向性関数Hに代入した一方向性関数値H（r｜一般データ）を、タグデータとして生成し（ステップＳ６４）、当該タグデータを送信部１２ｃに送る。なお、一方向性関数Hとしては、例えば、SHA-1等のハッシュ関数を例示できる。また、ユーザは入力部１２ｘにIDを入力し、送信部１２ｃは、IDとタグデータとを、ネットワーク１３を通じてサーバ装置６１に送信する（ステップＳ６５）。IDとタグデータとは、サーバ装置６１の受信部１１ｂで受信され（ステップＳ６６）、認証部１１ｄに送られる。認証部１１ｄは、IDを対比タグデータ生成部１１ｃに送り、対比タグデータ生成部１１ｃは、このIDに関連付けられている対比データを記憶部１１ａから読み込む。また、対比タグデータ生成部１１ｃには、ステップＳ６１でランダム数生成部６１ａが生成したランダム数rが入力される。そして、対比タグデータ生成部１１ｃは、このランダム数rと対比データとのビット結合値（r｜対比データ）を一方向性関数Hに代入した一方向性関数値H（r｜一般データ）を、対比タグデータとして生成し（ステップＳ６７）、認証部１１ｄに送る。認証部１１ｄが、タグデータと対比タグデータとの比較を行い、これらが一致するか否かを判定する（ステップＳ６８）。ここで、認証部１１ｄは、タグデータと対比タグデータであれば、認証成功とし（ステップＳ６９）、タグデータと対比タグデータでなければ認証失敗とし（ステップＳ７０）、認証処理を終了する。
［更新処理］
第１実施形態と同じであるため説明を省略する。
【００４４】
＜本形態の特徴＞
本形態では、サーバ装置６１の送信部６１ｂが、ランダム数rをクライアント装置６２に送信し、クライアント装置６２の受信部６２ａがこれを受信し、タグデータ生成部１２ｂが、ランダム数rと一般データとのビット結合値（r|一般データ）を一方向性関数Hに代入した一方向性関数値H（r|一般データ）を、タグデータとして生成し、サーバ装置６１の対比タグデータ生成部１１ｃが、ランダム数rと対比データとのビット結合値（r|対比データ）を一方向性関数Hに代入した一方向性関数値H（r|対比データ）を、対比タグデータとして生成し、認証部１１ｄが、タグデータ（r|一般データ）と対比タグデータ（r|対比データ）との比較を行い、これらが一致するか否かでクライアント装置６２が正当であるか否かを判定することとした。
【００４５】
ここで、タグデータは、サーバ装置６１が送信したランダム数rをクライアント装置６２が受け取った後にのみ生成できる値である。よって、本形態では事前にタグデータを取得した攻撃者が、そのタグデータでサーバ装置６１から認証を受けるといったリプレイアタックを防止できる。
また、Hは一方向性関数であるため、タグデータから一般データを復元することは困難である。よって、事前にタグデータを取得した攻撃者が、そのタグデータから一般データを復元し、サーバ装置６１が送信したランダム数rを用いて新たにタグデータを生成するといった不正もできない。
【００４６】
さらに、一般データは情報量が大きいため、攻撃者が複製することも容易ではない。
以上により、本形態でも攻撃者が不正にサーバ装置６１から認証を受けるといった事態を抑制できる。
また、本形態では、認証処理用のデータを新たに確保することなく、一般データを用いて認証処理を行うことができるという利点もある。
【００４７】
〔第７実施形態〕
次に、本発明の第７実施形態について説明する。
本形態は、第１実施形態の変形例であり、クライアント装置の不揮発性記憶部に格納された複数の一般データとそれぞれ同一な複数の対比データをサーバ装置の記憶部に格納しておき、認証処理の際、サーバ装置が認証に用いるデータを指定する方式である。以下では、第１実施形態との相違点と中心に説明を行う。
【００４８】
＜構成＞
図１３は、第７実施形態の認証システム７０の構成を示したブロック図である。なお、図１３において第１実施形態と共通する部分については、第１実施形態と同じ符号を付した。
第７実施形態の認証システム７０は、第１実施形態の認証システム１０のサーバ装置１１をサーバ装置７１に置換し、クライアント装置１２をクライアント装置７２に置換した構成である。
図１３に示すように、第１実施形態のサーバ装置１１と第７実施形態のサーバ装置７１との相違点は、サーバ装置７１が認証処理のためのファイル指定部７１ａと送信部７１ｂとを必要とする点である。また、第１実施形態のクライアント装置１２と第７実施形態のクライアント装置７２との相違点は、クライアント装置７２が認証処理のための受信部６２ａを必要とする点である。その他は、第１実施形態と同様である。
【００４９】
＜処理＞
本形態の処理も、初回登録処理、認証処理及び更新処理の３つの処理からなる。
［初回登録処理］
第１実施形態との相違点は、クライアント装置７２の記憶部１２ａに、複数の一般データ（一般データＡ，...，一般データＺ）が格納されており、サーバ装置７１に各一般データの複製である複数の対比データ（対比データＡ，...，対比データＺ）をIDに関連付けて登録する点である。なお、一般データＡ，...，一般データＺ、及び、対比データＡ，...，対比データＺは、それぞれファイル情報を指定することによって特定できるものとする。その他は第１実施形態と同様である。
【００５０】
［認証処理］
図１４は、第７実施形態の認証処理を説明するためのフローチャートである。以下では、第１実施形態との相違点を中心に説明する。
まず、サーバ装置７１のファイル指定部７１ａが、一般データＡ，...，一般データＺの何れかに対応（対比データＡ，...，対比データＺの何れかにも対応）するファイル情報（「指定ファイル情報」と呼ぶ）を選択する（ステップＳ８１）。選択された指定ファイル情報は送信部７１ｂに送られ、送信部７１ｂは、指定ファイル情報を、ネットワーク１３を通じてクライアント装置７２に送信する（ステップＳ８２）。指定ファイル情報は、クライアント装置７２の受信部７２ａで受信され（ステップＳ８３）、タグデータ生成部１２ｂに送られる。
【００５１】
タグデータ生成部１２ｂは、不揮発性記憶部１２ａから指定ファイル情報によって指定される一般データを読み込み、当該一般データから一意に定まるタグデータを生成し（ステップＳ８４）、当該タグデータを送信部１２ｃに送る。また、ユーザは入力部１２ｘにIDを入力し、送信部１２ｃは、IDとタグデータとを、ネットワーク１３を通じてサーバ装置７１に送信する（ステップＳ８５）。IDとタグデータとは、サーバ装置７１の受信部１１ｂで受信され（ステップＳ８６）、認証部１１ｄに送られる。認証部１１ｄは、IDを対比タグデータ生成部１１ｃに送る。また、対比タグデータ生成部１１ｃには、ステップＳ８１でファイル指定部７１ａが選択した指定ファイル情報が入力される。そして、対比タグデータ生成部１１ｃは、このIDに関連付けられている対比データのうち、指定ファイル情報によって特定される対比データを記憶部１１ａから読み込む。そして、対比タグデータ生成部１１ｃは読み込んだ対比データから一意に定まる対比タグデータを生成し（ステップＳ８７）、認証部１１ｄに送る。認証部１１ｄが、タグデータと対比タグデータとの比較を行い、これらが一致するか否かを判定する（ステップＳ８８）。ここで、認証部１１ｄは、タグデータ＝対比タグデータであれば、認証成功とし（ステップＳ８９）、タグデータ＝対比タグデータでなければ認証失敗とし（ステップＳ９０）、認証処理を終了する。
［更新処理］
第１実施形態と同じであるため説明を省略する。
【００５２】
＜本形態の特徴＞
本形態では、サーバ装置７１の送信部７１ｂが、指定ファイル情報をクライアント装置７２に送信し、クライアント装置７２の受信部７２ａが、指定ファイル情報を受信し、タグデータ生成部１２ｂが、指定ファイル情報によって指定される一般データを用い、当該一般データから一意に定まるタグデータを生成し、サーバ装置７１の対比タグデータ生成部１１ｃが、指定ファイル名によって指定される対比データを用い、当該対比データから一意に定まる対比タグデータを生成し、サーバ装置７１の認証部１１ｄが、タグデータと対比タグデータとの比較を行い、これらが一致するか否かでクライアント装置が正当であるか否かを判定することとした。
【００５３】
ここで、タグデータは、サーバ装置７１が指定ファイル情報を選択し、それをクライアント装置７２が受け取った後にのみ生成できる値である。よって、本形態では事前にタグデータを取得した攻撃者が、そのタグデータでサーバ装置７１から認証を受けるといったリプレイアタックを防止できる。
以上により、本形態でも攻撃者が不正にサーバ装置７１から認証を受けるといった事態を抑制できる。
また、本形態では、認証処理用のデータを新たに確保することなく、一般データを用いて認証処理を行うことができるという利点もある。
【００５４】
〔第８実施形態〕
次に、本発明の第８実施形態について説明する。
本形態は、第７実施形態の変形例であり、指定ファイル情報によって指定された一般データと対比データとを直接比較して認証処理を行う例である。以下では、第１，７実施形態との相違点と中心に説明を行う。
＜構成＞
図１５は、第８実施形態の認証システム８０の構成を示したブロック図である。なお、図１５において第１，７実施形態と共通する部分については、第１，７実施形態と同じ符号を付した。
第８実施形態の認証システム８０は、第７実施形態の認証システム７０のサーバ装置７１をサーバ装置８１に置換し、クライアント装置７２をクライアント装置８２に置換した構成である。
図１５に示すように、第７実施形態のサーバ装置７１と第８実施形態のサーバ装置８１との相違点は、サーバ装置８１が対比タグデータ生成部１１ｃを具備しない点である。また、第７実施形態のクライアント装置７２と第８実施形態のクライアント装置８２との相違点は、クライアント装置８２がタグデータ生成部１２ｂを具備しない点、一般データ読み出し部８２ｂを具備する点である。その他は、第７実施形態と同様である。
【００５５】
＜処理＞
本形態の処理も、初回登録処理、認証処理及び更新処理の３つの処理からなる。
［初回登録処理］
第７実施形態と同じであるため説明を省略する。
［認証処理］
図１６は、第８実施形態の認証処理を説明するためのフローチャートである。以下では、第７実施形態との相違点を中心に説明する。
【００５６】
まず、第７実施形態のステップＳ８１〜Ｓ８３と同じ処理を実行する（ステップＳ１０１〜Ｓ１０３）。クライアント装置８２で受信された指定ファイル情報は、一般データ読み出し部８２ｂに送られる。一般データ読み出し部８２ｂは、不揮発性記憶部１２ａから指定ファイル情報によって指定される一般データを読み出し（ステップＳ１０４）、それを送信部１２ｃに送る。また、ユーザは入力部１２ｘにIDを入力し、送信部１２ｃは、IDと一般データとを、ネットワーク１３を通じてサーバ装置８１に送信する（ステップＳ１０５）。IDとタグデータとは、サーバ装置８１の受信部１１ｂで受信され（ステップＳ１０６）、認証部１１ｄに送られる。認証部１１ｄには、ステップＳ１０１でファイル指定部７１ａが選択した指定ファイル情報が入力される。そして、認証部１１ｄは、このIDに関連付けられている対比データのうち、指定ファイル情報によって特定される対比データを記憶部１１ａから読み出す（ステップＳ１０７）。そして、認証部１１ｄが、一般データとタグデータとの比較を行い、これらが一致するか否かを判定する（ステップＳ１０８）。ここで、認証部１１ｄは、一般データと＝タグデータであれば、認証成功とし（ステップＳ１０９）、一般データと＝タグデータでなければ認証失敗とし（ステップＳ１１０）、認証処理を終了する。
［更新処理］
第１実施形態と同じであるため説明を省略する。
【００５７】
＜本形態の特徴＞
本形態では、指定ファイル情報で指定された一般データと指定ファイル情報で指定された対比データとを比較し、クライアント装置が正当であるか否かを判定することとした。ここで、認証に使用する一般データは、サーバ装置８１が指定ファイル情報を選択し、それをクライアント装置８２が受け取った後に決定できる値である。よって、本形態では事前に何れかの一般データを取得した攻撃者が、その一般データでサーバ装置８１から認証を受けるといったリプレイアタックを防止できる。
【００５８】
以上により、本形態でも攻撃者が不正にサーバ装置８１から認証を受けるといった事態を抑制できる。その他の効果は、第７実施形態と同様である。
なお、本形態では、指定ファイル情報で指定された一般データと指定ファイル情報で指定された対比データとを比較し、クライアント装置が正当であるか否かを判定することとした。しかし、第３実施形態のようにサーバ装置がタグデータ生成部と対比タグデータ生成部とを備え、タグデータ生成部が、指定ファイル情報で指定された一般データから一意に定まるタグデータを生成し、対比タグデータ生成部が、指定ファイル情報で指定された対比データから一意に定まる対比タグデータを生成し、認証部が、当該タグデータと対比タグデータとを比較し、クライアント装置が正当であるか否かを判定してもよい。
【００５９】
〔第９実施形態〕
次に、本発明の第９実施形態について説明する。
本形態も第１実施形態の変形例である。ハードディスク等の不揮発性記憶部に格納された一般データは、クライアント装置を管理しているユーザのプライバシー情報である場合もある。本形態は、このようなプライバシー情報を保護しつつ、クライアント装置の効率的な認証を可能とするものである。以下では、第１実施形態との相違点を中心に説明を行う。
【００６０】
＜構成＞
図１７は、第９実施形態のサーバ装置１１の構成を示したブロック図である。図１８は、第９実施形態のクライアント装置１２の構成を示したブロック図である。
本形態の認証システムは、第１実施形態の認証システム１のサーバ装置１１をサーバ装置９１に置換し、クライアント装置１２をクライアント装置９２に置換したものである。
図１７に示すように、第１実施形態のサーバ装置１１と第９実施形態のサーバ装置９１との相違点は、本形態のサーバ装置９１の場合、認証部１１ｄが認証部９１ｄに置換され、さらにランダム数生成部９１ｍと、指数演算部９１ｎ，９１ｐと、送信部９１ｋとを必要とする点である。また、図１８に示すように、第１実施形態のクライアント装置１２と第９実施形態のクライアント装置９２との相違点は、本形態のクライアント装置９２の場合、指数演算部９２ｈ，９２ｉと、判定部９２ｊと、受信部９２ｋと、分割部９２ｍと、分割データ変換部９２ｎと、登録値演算部９２ｐと、ｘ’値演算部９２ｑと、をさらに必要とする点である。その他は第１実施形態と同様である。
【００６１】
＜処理＞
本形態の処理も、初回登録処理、認証処理及び更新処理の３つの処理からなる。
［初回登録処理］
まず、第１実施形態と同様、公知の認証方法を用い、登録しようとしているユーザがサーバ装置９１の認証を受ける。そして、クライアント装置９２の不揮発性記憶部１２ａに格納された一般データに対応する登録値y(i) (i=1,...d、dは２以上の自然数)と、ユーザを識別できるIDと、パスデータとを、相互に対応付けてサーバ装置９１の記憶部１１ａに格納する。
【００６２】
ここで、対比データではなく、登録値をサーバ装置９１の記憶部１１ａに格納しておく点が第１実施形態と相違する。当該登録値y(i)は、クライアント装置９２が、不揮発性記憶部１２ａに格納された一般データXを用いて生成する値である。以下では、第１実施形態との相違点である登録値y(i)の生成処理を中心に説明する。
図１９は、本形態の登録値生成処理を説明するためのフローチャートである。
まず、前処理としてパラメータp, q, N, gが設定される。本形態の例では、p, qとして(p-1)/2,(q-1)/2もまた素数となっている素数をランダムに設定する。また、N=p・qとしてNを設定する。このNはいわゆるＲＳＡモジュラスとなっている。また、Nを法とする剰余類がなす乗法群(Z/NZ)*の元であってg2≠1 (mod N)を満たす整数からgをランダムに選択する。例えば、Nと互いに素な1以上N未満の整数であってg2≠1 (mod N)を満たすgを選択する。なお、g2=1 (mod N)である場合、gα (mod N)は必ず１かgとなり認証処理が不能となるため、g2≠1 (mod N)を満たすことは必要である。
【００６３】
これらのパラメータは、クライアント装置９２を構成プログラムに記述され、各構成部の処理に利用される。また、同じNとgは、サーバ装置９１を構成するプログラムにも記述され、各構成部の処理に利用される。
以下、図１９に沿って本形態の登録値生成処理を説明する。
まず、クライアント装置９２の分割部９２ｍが、不揮発性記憶部１２ａに格納された一般データＸを読み込み、一般データＸをd個に分割し、分割データx(i) (i=1,...,d)を生成する（ステップＳ１２１）。一般データＸの分割方法には限定はなく、サーバ装置９１又はクライアント装置９２が設定した分割方法に従う。例えば、分割データx(i)は、一定長であってもよいし、一定長でなくてもよい。しかし、演算効率上、一般データXをd等分し、各ビット長をLとして分割データx(i)を生成することが望ましい（Xのビット長＝d*L）。
【００６４】
分割データx(i)は、分割データ変換部９２ｎに送られ、分割データ変換部９２ｎは、x''(i)=x(i) (mod M)の演算を行う（ステップＳ１２２）。なお、MはM=m・LCM(p-1, q-1) (mは１以上の自然数、M≦x(i))を満たす値であり、一例としてM= LCM(p-1, q-1)である。
この演算結果x''(i)は、登録値演算部９２ｐに送られ、登録値演算部９２ｐは、y(i)=gx''(i)(mod N)の演算を行い、当該演算結果y(i)を登録値として出力する（ステップＳ１２３）。なお、LCM(p-1, q-1)は、Ｎを法とした剰余環の乗法についての位数であるため、y(i)=gx''(i)(mod N)=gx(i) (mod N)を満たす。また、x''(i)=x(i) (mod M)であるため、x''(i)≦x(i)である。この方法では、x(i)以下のx''(i)を指数とした冪乗剰余演算によって登録値y(i)を求めることとしたため、x(i)を指数とした冪乗剰余演算によって登録値y(i)を求めるよりも演算コストを削減できる。
このように算出された登録値y(i)は、入力部１２ｘからIDやパスデータとともに送信部１２ｃに送られる。送信部１２ｃは、登録値y(i)とIDとパスデータとをネットワーク１３を通じてサーバ装置９１に送信し、これらはサーバ装置９１の受信部１１ｂで受信され、さらに更新部１１ｅがこれらを相互に関連付けて記憶部に格納する。
【００６５】
＜認証処理＞
図２０は、第９実施形態の認証処理を説明するためのフローチャートである。
まず、クライアント装置９２のランダム数生成部９２ｇが、０以上のランダム数aを生成し、当該ランダム数aを指数演算部９２ｈに送る（ステップＳ１３１）。次に、指数演算部９２ｈが、A=ga(mod N)の演算を行い、その演算結果Aを送信部１２ｃに送る（ステップＳ１３２）。なお、ランダム数aとしては、例えば、擬似乱数や乱数表から選択した乱数等を用いることができる。また、ランダム数aは、0≦a≦N・2k-1 (kは自然数)の範囲から任意に選択されることが望ましい。このような範囲からランダム数aが任意に選択される場合、Ｎを法とし、値ｇを底とし、ランダム数aを冪数とした冪乗剰余演算結果が、Ｎを法とした剰余環の乗法についての巡回群の元から任意に選択した値〔∈(Z/NZ)*〕と識別不能な分布を持つことが証明できる。これは、Ｎを法とし、値ｇを底とし、ランダム数aを冪数とした冪乗剰余演算結果からランダム数aを求める困難性と、Ｎを法とした剰余環の乗法についての巡回群の元から任意に選択した値の離散対数問題を解く困難性と、が同等であることを示している。すなわち、ランダム数aが0≦a≦N・2k-1の範囲から任意に選択される値である限り、A=ga(mod N)からランダム数aを特定することは十分困難である。そして、これよりも上限を広げた範囲からランダム数aを選択する構成としても、安全性は向上せず、冪乗演算の演算コストが上昇するだけである。
【００６６】
送信部１２ｃは、演算結果Aをネットワーク１３経由でサーバ装置９１に送信し（ステップＳ１３３）、当該演算結果Aは、サーバ装置９１の受信部１１ｂで受信される（ステップＳ１３４）。次に、サーバ装置９１のランダム数生成部９１ｍがランダム数rを生成し、指数演算部９１ｎに送る（ステップＳ１３５）。なお、ランダム数rも、例えば、擬似乱数や乱数表から選択された値である。また、ランダム数rも、0≦r≦N・2k-1 (kは自然数)の範囲から任意に選択されることが望ましい。
指数演算部９１ｎには、さらに受信部１１ｂで受信された演算結果Aが入力され、指数演算部９１ｎは、R=gr(mod N)の演算（ステップＳ１３６）とB=Ar (mod N)の演算（ステップＳ１３７）とを行い、当該演算結果R,Bを送信部９１ｋに送る。送信部９１ｋは、当該演算結果R, Bを、ネットワーク１３経由でクライアント装置９２に送信し（ステップＳ１３８）、当該演算結果R, Bは、クライアント装置９２の受信部９２ｋで受信される（ステップＳ１３９）。
【００６７】
演算結果Rは指数演算部９２ｉに送られ、指数演算部９２ｉは、B'=Ra(mod N)の演算を行い、当該演算結果を判定部９２ｊに送る（ステップＳ１４０）。判定部９２ｊには、さらに受信部９２ｋで受信された演算結果Bが送られ、判定部９２ｊは、B=B'を満たすか否かを判定する（ステップＳ１４１）。ここで、B=B'を満たさない場合には、認証処理をエラー終了する。一方、B=B'を満たす場合には、RがR=gr(mod N)の演算によって正当に生成されたとしてステップＳ１４２に移る。
ステップＳ１４２では、クライアント装置９２の分割部９２ｍが、不揮発性記憶部１２ａから一般データX'を読みだし、それをd個に分割し、分割データx'(i) (i=1,...,d)を生成する（ステップＳ１４２）。なお、分割データx'(i)の生成方法は、前述のステップＳ１２１での分割データの生成方法と同じにする。
【００６８】
各分割データx'(i)はx'値演算部９２ｑに送られ、x'値演算部９２ｑは、x'=x'(1)・F(1)+...+x'(d)・F(d)の演算を行い、その演算結果x'をタグデータ生成部１２ｂに送る（ステップＳ１４３）。なお、F(i)は、iに対する関数値であり、この例では、Bとiとのビット結合値(B|i)のハッシュ値H(B|i)をF(i)とする。この場合、x'値演算部９２ｑには、受信部９２ｋで受信されたBも入力される。
また、タグデータ生成部１２ｂには、さらに受信部９２ｋで受信された演算結果Rが入力され、タグデータ生成部１２ｂは、G'=Rx' (mod N)の演算を行い、その演算結果G'をタグデータとして送信部１２ｃに送る（ステップＳ１４４）。送信部１２ｃには、さらに入力部１２ｘから入力されたIDとランダム数生成部９２ｇで生成（ステップＳ１３１）されたランダム数aとが入力され、送信部１２ｃは、IDとaとG'とをサーバ装置９１に送信する（ステップＳ１４５）。
【００６９】
IDとaとG'とは、サーバ装置９１の受信部１１ｂで受信される（ステップＳ１４６）。このIDは、対比タグデータ生成部１１ｃに転送され、対比タグデータ生成部１１ｃは、当該IDに関連付けられている登録値y(i)を記憶部１１ａから読み込む。また、対比タグデータ生成部１１ｃには、ランダム数生成部９１ｍで生成（ステップＳ１３５）されたランダム数rが入力され、F(i)=H(B|i)の場合には、さらに指数演算部９１ｎで生成された（ステップＳ１３７）Bが入力される。そして、対比タグデータ生成部１１ｃは、G={y(1)F(1)・...・y(d)F(d)）}rの演算を行い（ステップＳ１４７）、その演算結果Gを対比タグデータとして認証部９１ｄに送る。また、受信部１１ｂで受信されたaは指数演算部９１ｐに送られ、指数演算部９１ｐはA'=ga(mod N)の演算を行い、その演算結果A'を認証部９１ｄに送る（ステップＳ１４８）。認証部９１ｄは、A'=AとG'=Gとを満たすか否かを判定する（ステップＳ１４９）。
【００７０】
ここで、認証部１１ｄは、A'=AとG'=Gとを満たす場合に認証成功とし（ステップＳ１５０）、A'≠A又はG'≠Gとである場合に認証失敗とし（ステップＳ１５１）、認証処理を終了する。
［更新処理］
ID及びパスデータによる認証後、初回登録処理と同様に更新後の一般データに対応する登録値y(i)をサーバ装置９１に登録し、登録データを更新する。
【００７１】
＜本形態の特徴＞
本形態では、クライアント装置９２がサーバ装置９１に一般データの複製である対比データではなく、因数分解問題と離散対数問題とに基づく安全性が担保できる登録値y(i)をサーバ装置９１に登録することした。これにより、クライアント装置９２のユーザのプライバシー保護が図れる。
【００７２】
また、ステップＳ１３１〜Ｓ１４１の処理に合格した場合にのみ、それ以降の認証処理を実行することとしたため、サーバ装置９１に成り済ました攻撃者がG'=Rx' (mod N)からx’を復元することが容易なRを選択してクライアント装置９２に送信し、クライアント装置９２からG'=Rx'(mod N)を受け取り、x’を復元するといった不正を防止できる。しかし、ステップＳ１３１〜Ｓ１４１の処理を実行せず、必ず、ステップＳ１４２〜Ｓ１５１の処理を実行する形態であってもよい。
また、本形態では、Bとiとのビット結合値(B|i)のハッシュ値H(B|i)をF(i)としたため、認証精度が向上する（例えば、x’(i)の順序が入れ替わった場合であってもその違いを検出できる）。また、Bは、サーバ装置とクライアント装置の両方がそれぞれ作成した乱数を用いた値であるため、クライアント装置は、事前にx’を計算することが出来ない。これにより、クライアント装置によるリプレイアタックを防止できる。しかし、認証精度は低下するが、F(i)=1（定数）としてもよいし、F(i)をその他の関数（例えば、F(i)=H(i)等）としてもよい。
【００７３】
また、本形態では、分割データを用いる構成としたため、冪乗剰余演算コストを大幅に削減でき、全体として演算を高速化できる。
また、Nの因数分解を困難とし、安全性を向上させる観点から、NをRSAモジュラスとしたが、それ以外の値（その他の合成数や素数等）をNとしてもよい。
また、本形態では、認証処理用のデータを新たに確保することなく、一般データを用いて認証処理を行うことができるという利点もある。
【００７４】
〔その他の変形例等〕
なお、本発明は上述の実施の形態に限定されるものではない。例えば、上述の各実施形態では、タグデータと対比タグデータとの比較によって検証を行うか、一般データと対比データとの比較によって検証を行うこととしたが、これら両方を組み合わせた検証を行う形態であってもよい。また、上述の各実施形態と他の認証方法とを組み合わせた形態であってもよい。さらに、各実施形態を組み合わせた形態であってもよい。
【００７５】
その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等を、光磁気記録媒体として、ＭＯ（Magneto-Optical disc）等を、半導体メモリとしてＥＥＰ−ＲＯＭ（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。
【００７６】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００７７】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【００７８】
本発明の産業上の利用分野としては、例えば、インターネット上での個人認証等の分野を例示できる。
【図面の簡単な説明】
【００７９】
【図１】図１は、第１実施形態の認証システムの構成を示したブロック図である。
【図２】図２（ａ）は、第１実施形態の認証処理を説明するためのフローチャートである。図２（ｂ）は、第１実施形態の更新処理を説明するためのフローチャートである。
【図３】図３（ａ）（ｂ）は、表示画面の例示である。
【図４】図４は、第２実施形態の認証システムの構成を示したブロック図である。
【図５】図５（ａ）は、第２実施形態の認証処理を説明するためのフローチャートである。図５（ｂ）は、第１実施形態の更新処理を説明するためのフローチャートである。
【図６】図６は、第３実施形態の認証システムの構成を示したブロック図である。
【図７】図７は、第３実施形態の認証処理を説明するためのフローチャートである。
【図８】図８は、第４実施形態の認証システムの構成を示したブロック図である。
【図９】図９は、第４実施形態の認証処理を説明するためのフローチャートである。
【図１０】図１０は、第５実施形態の認証システムの構成を示したブロック図である。
【図１１】図１１は、第６実施形態の認証システムの構成を示したブロック図である。
【図１２】図１２は、第６実施形態の認証処理を説明するためのフローチャートである。
【図１３】図１３は、第７実施形態の認証システムの構成を示したブロック図である。
【図１４】図１４は、第７実施形態の認証処理を説明するためのフローチャートである。
【図１５】図１５は、第８実施形態の認証システムの構成を示したブロック図である。
【図１６】図１６は、第８実施形態の認証処理を説明するためのフローチャートである。
【図１７】図１７は、第９実施形態のサーバ装置の構成を示したブロック図である。
【図１８】図１８は、第９実施形態のクライアント装置の構成を示したブロック図である。
【図１９】図１９は、第９実施形態の登録値生成処理を説明するためのフローチャートである。
【図２０】図２０は、第９実施形態の認証処理を説明するためのフローチャートである。
【符号の説明】
【００８０】
１１，２１，３１，４１，６１，７１，８１，９１  サーバ装置
１２，３２，４２，５２，６２，７２，８２，９２  クライアント装置
【図１】
0004928364.tif 000002
【図２】
0004928364.tif 000003
【図３】
0004928364.tif 000004
【図４】
0004928364.tif 000005
【図５】
0004928364.tif 000006
【図６】
0004928364.tif 000007
【図７】
0004928364.tif 000008
【図８】
0004928364.tif 000009
【図９】
0004928364.tif 000010
【図１０】
0004928364.tif 000011
【図１１】
0004928364.tif 000012
【図１２】
0004928364.tif 000013
【図１３】
0004928364.tif 000014
【図１４】
0004928364.tif 000015
【図１５】
0004928364.tif 000016
【図１６】
0004928364.tif 000017
【図１７】
0004928364.tif 000018
【図１８】
0004928364.tif 000019
【図１９】
0004928364.tif 000020
【図２０】
0004928364.tif 000021