(57)【要約】【課題】簡単な構成で匿名認証を行うことが可能な認証装置を提供する。【解決手段】ユーザ端末は、乱数ａを発生させ、予め与えられたユーザ識別番号Ａを含む所定の条件式を満たすｂを計算し、乱数ｒを発生させ、予め与えられた値ｇを使用して、３つの値ｇｒ、ｇａｒ、ｇｂｒを計算してサーバへ送信し、ｇｒとＡより計算して得られるｇｒＡを加えた４つの値（ｇｒ，ｇａｒ、ｇｂｒ、ｇｒＡ）の正当性評価結果をサーバから受け取り、正当性が認められた場合に、新たな乱数ｍ、ｎを発生させて、２つの値ｇｒｍ、ｇｒｎを計算してサーバへ送信し、生成されたサービス利用権を受信する手段を備え、サービス提供サーバは、ユーザ識別番号Ａとユーザ端末より送信された３つの値ｇｒ、ｇａｒ、ｇｂｒとから得られる４つの値（ｇｒ，ｇａｒ、ｇｂｒ、ｇｒＡ）の正当性を評価するともにブラインド署名を付与し、サービス利用権を生成する手段を備える。【選択図】    図１
2005005778.tif 000002
【特許請求の範囲】
【請求項１】
サービスを提供するサービス提供サーバとサービス提供サーバが提供するサービスを受けるユーザ端末とからなる認証装置であって、
前記ユーザ端末は、
Ｚｑ＊上の乱数ａを発生させ、予め与えられたユーザ識別番号Ａを含む所定の条件式を満たすｂを計算する手段と、
前記Ｚｑ＊上の乱数ｒを発生させる手段と、
予め与えられたＧｑ上の原始元ｇを使用して、３つのＧｑ上の値ｇｒ、ｇａｒ、ｇｂｒを計算する手段と、
前記計算によって得られた３つのＧｑ上の値ｇｒ、ｇａｒ、ｇｂｒを前記サービス提供サーバへ送信し、ｇｒとＡより計算して得られるｇｒＡを加えた４つの値（ｇｒ，ｇａｒ、ｇｂｒ、ｇｒＡ）の正当性評価結果を前記サービス提供サーバから受け取る手段と、
前記サービス提供サーバより正当性が認められた場合に、新たなＺｑ＊上の乱数ｍ、ｎを発生させる手段と、
前記原始元ｇ、乱数ｒ及び前記ｍ、ｎから２つのＧｑ上の値ｇｒｍ、ｇｒｎを計算し、前記サービス提供サーバへ送信する手段と、
前記サービス提供サーバが生成したサービス利用権を受信する手段と
を備え、
前記サービス提供サーバは、
前記ユーザ識別番号Ａと前記ユーザ端末より送信された３つの値ｇｒ、ｇａｒ、ｇｂｒとから得られる前記４つの値（ｇｒ，ｇａｒ、ｇｂｒ、ｇｒＡ）の正当性を評価する手段と、
前記４つの値（ｇｒ，ｇａｒ、ｇｂｒ、ｇｒＡ）の正当性が認められた場合に、この４つの値（ｇａｒ，ｇｂｒ，ｇｍｒ，ｇｎｒ）に対してブラインド署名を付与することにより、サービス利用権を生成して、前記ユーザ端末へ送信する手段と
を備えたことを特徴とする認証装置。
ただし、ｐ、ｑは素数であり、ｑがｐ−１を割り切るものとし、Ｚｑは０からｑ−１までの整数からなる素体を表し、Ｚｑ＊はＺｑから０を除いた数の集合とする。Ｇｑは位数ｑの乗法群とする。
【請求項２】
前記サービスサーバは、
サービス提供時において、ユーザ端末より前記サービス利用権が提示された場合に、Ｚｑ＊上の乱数αを発生させて、前記ユーザ端末へ送信する手段と、
前記ユーザ端末から送信された２つのＺｑ上の値ｍα＋ａ、ｎα＋ｂと前記乱数αをログデータとして記憶する手段とをさらに備え、
前記ユーザ端末は、
前記サービス提供サーバより受信した乱数α及び前記Ｚｑ＊上の値ａ、ｂ、ｍ、ｎを使用して、Ｚｑ上の値ｍα＋ａ、ｎα＋ｂを計算して、前記サービス提供サーバへ送信する手段をさらに備え、
前記サービス提供サーバは、前記ログデータを解析することにより不正使用を探索することを特徴とする請求項１に記載の認証装置。
【請求項３】
前記ユーザ端末は、
Ｚｑ＊上の新たな乱数ａ’を発生させ、予め与えられたユーザ識別番号Ａを含む所定の条件式を満たすｂ’を求めるとともに新たな乱数ｒ’を発生させて、ｇａ、ｇｂ、ｇａ’ｒ’、ｇｂ’ｒ’を計算する手段と、
前記４つの値（ｇａ、ｇｂ、ｇａ’ｒ’、ｇｂ’ｒ’）を前記サービス提供サーバへ送信する手段と
を備え、
前記サービス提供サーバは、
前記４つの値（ｇａ、ｇｂ、ｇａ’ｒ’、ｇｂ’ｒ’）に基づいて値ａ，ｂおよび値ａ’，ｂ’の正当性が証明された場合に、前記サービス利用権を更新する手段を備えたことを特徴とする請求項１または２に記載の認証装置。
【請求項４】
サービスを提供するサービス提供サーバとサービス提供サーバが提供するサービスを受けるユーザ端末とからなる認証方法であって、
前記ユーザ端末は、
Ｚｑ＊上の乱数ａを発生させ、予め与えられたユーザ識別番号Ａを含む所定の条件式を満たすｂを計算する過程と、
前記Ｚｑ＊上の乱数ｒを発生させる過程と、
予め与えられたＧｑ上の原始元ｇを使用して、３つのＧｑ上の値ｇｒ、ｇａｒ、ｇｂｒを計算する過程と、
前記計算によって得られた３つのＧｑ上の値ｇｒ、ｇａｒ、ｇｂｒを前記サービス提供サーバへ送信し、ｇｒとＡより計算して得られるｇｒＡを加えた４つの値（ｇｒ，ｇａｒ、ｇｂｒ、ｇｒＡ）の正当性評価結果を前記サービス提供サーバから受け取る過程と、
前記サービス提供サーバより正当性が認められた場合に、新たなＺｑ＊上の乱数ｍ、ｎを発生させる過程と、
前記原始元ｇ、乱数ｒ及び前記ｍ、ｎから２つのＧｑ上の値ｇｒｍ、ｇｒｎを計算し、前記サービス提供サーバへ送信する過程と、
前記サービス提供サーバが生成したサービス利用権を受信する過程と
を備え、
前記サービス提供サーバは、
前記ユーザ識別番号Ａと前記ユーザ端末より送信された３つの値ｇｒ、ｇａｒ、ｇｂｒとから得られる前記４つの値（ｇｒ，ｇａｒ、ｇｂｒ、ｇｒＡ）の正当性を評価する過程と、
前記４つの値（ｇｒ，ｇａｒ、ｇｂｒ、ｇｒＡ）の正当性が認められた場合に、この４つの値（ｇａｒ，ｇｂｒ，ｇｍｒ，ｇｎｒ）に対してブラインド署名を付与することにより、サービス利用権を生成して、前記ユーザ端末へ送信する過程と
を備えたことを特徴とする認証方法。
ただし、ｐ、ｑは素数であり、ｑがｐ−１を割り切るものとし、Ｚｑは０からｑ−１までの整数からなる素体を表し、Ｚｑ＊はＺｑから０を除いた数の集合とする。Ｇｑは位数ｑの乗法群とする。
【請求項５】
前記サービスサーバは、
サービス提供時において、ユーザ端末より前記サービス利用権が提示された場合に、Ｚｑ＊上の乱数αを発生させて、前記ユーザ端末へ送信する過程と、
前記ユーザ端末から送信された２つのＺｑ上の値ｍα＋ａ、ｎα＋ｂと前記乱数αをログデータとして記憶する過程とをさらに備え、
前記ユーザ端末は、
前記サービス提供サーバより受信した乱数α及び前記Ｚｑ＊上の値ａ、ｂ、ｍ、ｎを使用して、Ｚｑ上の値ｍα＋ａ、ｎα＋ｂを計算して、前記サービス提供サーバへ送信する過程をさらに備え、
前記サービス提供サーバは、前記ログデータを解析することにより不正使用を探索することを特徴とする請求項４に記載の認証方法。
【請求項６】
前記ユーザ端末は、
Ｚｑ＊上の新たな乱数ａ’を発生させ、予め与えられたユーザ識別番号Ａを含む所定の条件式を満たすｂ’を求めるとともに新たな乱数ｒ’を発生させて、ｇａ、ｇｂ、ｇａ’ｒ’、ｇｂ’ｒ’を計算する過程と、
前記４つの値（ｇａ、ｇｂ、ｇａ’ｒ’、ｇｂ’ｒ’）を前記サービス提供サーバへ送信する過程と
を備え、
前記サービス提供サーバは、
前記４つの値（ｇａ、ｇｂ、ｇａ’ｒ’、ｇｂ’ｒ’）に基づいて値ａ，ｂおよび値ａ’，ｂ’の正当性が証明された場合に、前記サービス利用権を更新する過程を備えたことを特徴とする請求項４または５に記載の認証方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、第三者認証機関が不要で匿名のまま認証を行うことが可能な認証装置及び認証方法に関する。
【０００２】
【従来の技術】
従来から認証者と被認証者の各々で認証回数を管理し認証者は仮名のまま被認証者を認証し実名を知り得る匿名認証装置が知られている（例えば、特許文献１参照）。これは、仮名と実名を別々に管理し、仮名登録装置が証明書を発行することにより認証者は仮名のままで被認証者を認証するとともに、仮名登録装置と実名登録装置を介することにより実名を知ることができるものである。
【０００３】
【特許文献１】
特開２００１−０９４５５３号公報
【０００４】
【発明が解決しようとする課題】
しかしながら、特許文献１に示す匿名認証装置は、認証者装置、実名登録装置、仮名登録装置が必要であり、装置構成がたいへん複雑になるという問題がある。
本発明は、このような事情に鑑みてなされたもので、簡単な構成で匿名による認証を行うことが可能な認証装置及び認証方法を提供することを目的とする。
【０００５】
【課題を解決するための手段】
請求項１に記載の発明は、サービスを提供するサービス提供サーバとサービス提供サーバが提供するサービスを受けるユーザ端末とからなる認証装置であって、前記ユーザ端末は、Ｚｑ＊上の乱数ａを発生させ、予め与えられたユーザ識別番号Ａを含む所定の条件式を満たすｂを計算する手段と、前記Ｚｑ＊上の乱数ｒを発生させる手段と、予め与えられたＧｑ上の原始元ｇを使用して、３つのＧｑ上の値ｇｒ、ｇａｒ、ｇｂｒを計算する手段と、前記計算によって得られた３つのＧｑ上の値ｇｒ、ｇａｒ、ｇｂｒを前記サービス提供サーバへ送信し、ｇｒとＡより計算して得られるｇｒＡを加えた４つの値（ｇｒ，ｇａｒ、ｇｂｒ、ｇｒＡ）の正当性評価結果を前記サービス提供サーバから受け取る手段と、前記サービス提供サーバより正当性が認められた場合に、新たなＺｑ＊上の乱数ｍ、ｎを発生させる手段と、前記原始元ｇ、乱数ｒ及び前記ｍ、ｎから２つのＧｑ上の値ｇｒｍ、ｇｒｎを計算し、前記サービス提供サーバへ送信する手段と、前記サービス提供サーバが生成したサービス利用権を受信する手段とを備え、前記サービス提供サーバは、前記ユーザ識別番号Ａと前記ユーザ端末より送信された３つの値ｇｒ、ｇａｒ、ｇｂｒとから得られる前記４つの値（ｇｒ，ｇａｒ、ｇｂｒ、ｇｒＡ）の正当性を評価する手段と、前記４つの値（ｇｒ，ｇａｒ、ｇｂｒ、ｇｒＡ）の正当性が認められた場合に、前記ユーザ端末から送信された４つの値（ｇａｒ，ｇｂｒ，ｇｍｒ，ｇｎｒ）に対してブラインド署名を付与することにより、サービス利用権を生成して、前記ユーザ端末へ送信する手段とを備えたことを特徴とする。ただし、ｐ、ｑは素数であり、ｑがｐ−１を割り切るものとし、Ｚｑは０からｑ−１までの整数からなる素体を表し、Ｚｑ＊はＺｑから０を除いた数の集合とする。Ｇｑは位数ｑの乗法群とする。
【０００６】
請求項２に記載の発明は、前記サービスサーバは、サービス提供時において、ユーザ端末より前記サービス利用権が提示された場合に、Ｚｑ＊上の乱数αを発生させて、前記ユーザ端末へ送信する手段と、前記ユーザ端末から送信された２つのＺｑ上の値ｍα＋ａ、ｎα＋ｂと前記乱数αをログデータとして記憶する手段とをさらに備え、前記ユーザ端末は、前記サービス提供サーバより受信した乱数α及び前記Ｚｑ＊上の値ａ、ｂ、ｍ、ｎを使用して、Ｚｑ上の値ｍα＋ａ、ｎα＋ｂを計算して、前記サービス提供サーバへ送信する手段をさらに備え、前記サービス提供サーバは、前記ログデータを解析することにより不正使用を探索することを特徴とする。
【０００７】
請求項３に記載の発明は、前記ユーザ端末は、Ｚｑ＊上の新たな乱数ａ’を発生させ、予め与えられたユーザ識別番号Ａを含む所定の条件式を満たすｂ’を求めるとともに新たな乱数ｒ’を発生させて、ｇａ、ｇｂ、ｇａ’ｒ’、ｇｂ’ｒ’を計算する手段と、前記４つの値（ｇａ、ｇｂ、ｇａ’ｒ’、ｇｂ’ｒ’）を前記サービス提供サーバへ送信する手段とを備え、前記サービス提供サーバは、前記４つの値（ｇａ、ｇｂ、ｇａ’ｒ’、ｇｂ’ｒ’）から値ａ，ｂおよび値ａ’，ｂ’の正当性が証明された場合に、前記サービス利用権を更新する手段を備えたことを特徴とする。
【０００８】
請求項４に記載の発明は、サービスを提供するサービス提供サーバとサービス提供サーバが提供するサービスを受けるユーザ端末とからなる認証方法であって、前記ユーザ端末は、Ｚｑ＊上の乱数ａを発生させ、予め与えられたユーザ識別番号Ａを含む所定の条件式を満たすｂを計算する過程と、前記Ｚｑ＊上の乱数ｒを発生させる過程と、予め与えられたＧｑ上の原始元ｇを使用して、３つのＧｑ上の値ｇｒ、ｇａｒ、ｇｂｒを計算する過程と、前記計算によって得られた３つのＧｑ上の値ｇｒ、ｇａｒ、ｇｂｒを前記サービス提供サーバへ送信し、ｇｒとＡより計算して得られるｇｒＡを加えた４つの値（ｇｒ，ｇａｒ、ｇｂｒ、ｇｒＡ）の正当性評価結果を前記サービス提供サーバから受け取る過程と、前記サービス提供サーバより正当性が認められた場合に、新たなＺｑ＊上の乱数ｍ、ｎを発生させる過程と、前記原始元ｇ、乱数ｒ及び前記ｍ、ｎから２つのＧｑ上の値ｇｒｍ、ｇｒｎを計算し、前記サービス提供サーバへ送信する過程と、前記サービス提供サーバが生成したサービス利用権を受信する過程とを有し、前記サービス提供サーバは、前記ユーザ識別番号Ａと前記ユーザ端末より送信された３つの値ｇｒ、ｇａｒ、ｇｂｒとから得られる前記４つの値（ｇｒ，ｇａｒ、ｇｂｒ、ｇｒＡ）の正当性を評価する過程と、前記４つの値（ｇｒ，ｇａｒ、ｇｂｒ、ｇｒＡ）の正当性が認められた場合に、前記ユーザ端末から送信された４つの値（ｇａｒ，ｇｂｒ，ｇｍｒ，ｇｎｒ）に対してブラインド署名を付与することにより、サービス利用権を生成して、前記ユーザ端末へ送信する過程とを有したことを特徴とする。
【０００９】
請求項５に記載の発明は、前記サービスサーバは、サービス提供時において、ユーザ端末より前記サービス利用権が提示された場合に、Ｚｑ＊上の乱数αを発生させて、前記ユーザ端末へ送信する過程と、前記ユーザ端末から送信された２つのＺｑ上の値ｍα＋ａ、ｎα＋ｂと前記乱数αをログデータとして記憶する過程とをさらに有し、前記ユーザ端末は、前記サービス提供サーバより受信した乱数α及び前記Ｚｑ＊上の値ａ、ｂ、ｍ、ｎを使用して、Ｚｑ上の値ｍα＋ａ、ｎα＋ｂを計算して、前記サービス提供サーバへ送信する過程をさらに有し、前記サービス提供サーバは、前記ログデータを解析することにより不正使用を探索することを特徴とする。
【００１０】
請求項６に記載の発明は、前記ユーザ端末は、Ｚｑ＊上の新たな乱数ａ’を発生させ、予め与えられたユーザ識別番号Ａを含む所定の条件式を満たすｂ’を求めるとともに新たな乱数ｒ’を発生させて、ｇａ、ｇｂ、ｇａ’ｒ’、ｇｂ’ｒ’を計算する過程と、前記４つの値（ｇａ、ｇｂ、ｇａ’ｒ’、ｇｂ’ｒ’）を前記サービス提供サーバへ送信する過程とを有し、前記サービス提供サーバは、前記４つの値（ｇａ、ｇｂ、ｇａ’ｒ’、ｇｂ’ｒ’）から値ａ，ｂおよび値ａ’，ｂ’の正当性が証明された場合に、前記サービス利用権を更新する過程を有したことを特徴とする。
【００１１】
【発明の実施の形態】
以下、本発明の一実施形態による認証装置を図面を参照して説明する。以下の説明において、ｐ、ｑは素数であり、ｑがｐ−１を割り切るものとし、Ｚｑは０からｑ−１までの整数からなる素体を表し、Ｚｑ＊はＺｑから０を除いた数の集合とする。Ｇｑは位数ｑの乗法群とする。
【００１２】
図１は同実施形態の構成を示すブロック図である。この図において、符号１は、サービス提供を受ける前に認証を受けるユーザが使用するユーザ端末である。符号２は、サービス提供時においてユーザの認証を行うサービス提供サーバである。符号Ｎは、ユーザ端末１とサービス提供サーバ２との間において通信を行うための通信媒体である。
【００１３】
符号１１は、キーボードやマウスで構成する入力部である。符号１２は、ディスプレイで構成する表示部である。符号１３は、通信媒体Ｎを介して通信を行うための通信部である。符号１４は、サービス提供サーバ２より匿名の認証を受ける認証処理部である。符号１５は、Ｚｑ＊上の乱数を発生する乱数発生部である。符号１６は、Ｇｑ上の値の計算を行う数値計算部である。符号１７は、ゼロ知識証明処理を行うゼロ知識証明部である。
【００１４】
符号２１は、キーボードやマウスで構成する入力部である。符号２２は、ディスプレイで構成する表示部である。符号２３は、通信媒体Ｎを介して通信を行うための通信部である。符号２４は、ユーザ端末１の使用者を匿名のまま認証する認証部である。符号２５は、ゼロ知識証明部１７と間で情報通信を数回繰り返すことによりゼロ知識検証処理を行うゼロ知識検証部である。符号２６は、情報に対して署名の処理を行う署名処理部である。符号２７は、Ｇｑ上の値の計算を行う数値計算部である。符号２８は、Ｚｑ＊上の乱数を発生する乱数発生部である。符号２９は、ユーザに対するサービス提供実績を蓄えるログファイルである。
【００１５】
次に、図１に示す装置の動作を説明する。
まず、ユーザは、サービス提供を受けようとする場合に、ユーザ端末１をサービス提供サーバ２へ接続し、認証処理部１４は、認証部２４に対して、ユーザ識別番号Ａの発行依頼を送信する。これを受けて、認証部２４は、入力部２１からサービス提供者が入力したユーザ識別番号Ａ、Ｇｑ上の原始元ｇ、任意の値ｈを、通信部２３、１３を介して、認証処理部１４へ送信する。これにより、認証処理部１４は、Ａ、ｇ、ｈの３つの値をサービス提供サーバ２から受け取ったこととなる。認証処理部１４は、この３つの値を内部に保持する。
なお、発行依頼は、必ずしもコンピュータ等を使用して行う必要はなく、郵便等によって申込みを行い、郵便等によってユーザ識別番号Ａ及び２つの値ｇ、ｈの通知を行うようにしてもよい。
【００１６】
次に、認証処理部１４は、乱数発生部１５に対して、Ｚｑ＊上の乱数ａの発生を依頼する。これを受けて、乱数発生部１５は、乱数ａを発生し、認証処理部１４へ返す。そして、認証処理部１４は、（ａ×ｂ）／ｈ＝ｘ・・・Ａを満たす値ｂを求める。すなわち、サービス提供者から受け取った値ｈで除算したときの余りがユーザ識別番号Ａとなる値ａ，ｂを決める。説明を簡単にするために、受け取った値がＡ（ユーザ識別番号）＝１、ｈ＝５、ｂ＝２の場合、例えば、２×３／５＝１・・・１や２×８／５＝３・・・１となるので、ｂ＝３やｂ＝８となる。
【００１７】
次に、認証処理部１４は、この２つの値ａ，ｂを内部に保持する。続いて、認証処理部１４は、乱数発生部１５に対して、乱数を発生するように指示を出す。これを受けて、乱数発生部１５は、公知の処理を用いてＺｑ＊上の乱数ｒを発生させ、認証処理部１４へ通知する。
【００１８】
次に、認証処理部１４は、内部に保持している値ｇ、ａ、ｂ、ｒを数値計算部１６へ受け渡す。これを受けて数値計算部１６は、この値を使用して３つの値ｇｒ、ｇａｒ、ｇｂｒを計算し、計算結果の３つの値ｇｒ、ｇａｒ、ｇｂｒを認証処理部１４へ返す。
【００１９】
次に、認証処理部１４は、計算によって得られた３つの値ｇｒ、ｇａｒ、ｇｂｒを、通信部１３、２３を介して認証部２４へ送信する。これを受けて、認証部２４は、受信した３つの値ｇｒ、ｇａｒ、ｇｂｒと先に発行したユーザ識別番号Ａを利用してｇｒＡを計算してゼロ知識検証部２５へ受け渡す。
【００２０】
次に、ゼロ知識検証部２５及びゼロ知識証明部１７は、与えられた４つの値を利用して、与えられた４つの値の正当性をゼロ知識証明処理によって確認する。
ゼロ知識証明（Ｚｅｒｏ  Ｋｎｏｗｌｅｄｇｅ  Ｉｎｔｅｒａｃｔｉｖｅ  Ｐｒｏｏｆ）とは、パスワードなどのユーザだけが知っている秘密情報（ここでは、２つの値ａ，ｂ）を使った認証において、ユーザが秘密情報を知っていることを、秘密情報自体は送受信することなく証明する方法であり、インターネットなどの開放型のネットワークでは、認証時に秘密情報などをそのままやり取りすると盗まれる危険性があるため、このゼロ知識証明が使われている。ここでは、（ｘ，ｙ，ｚ，ｗ）の４項組が指定された演算体系において、ｘ，ｚをそれぞれ底とする離散対数値が一致すること、すなわちｌｏｇｘｙ＝ｌｏｇｚｗを満たすことを離散対数値を明かさずに証明するゼロ知識証明を用いる。具体的な方法は、チャウム（Ｃｈａｕｍ）、ペダーセン（Ｐｅｄｅｒｓｅｎ）らによる方法が知られており、文献「Ｗａｌｌｅｔ  ｄａｔａｂａｓｅ  ｗｉｔｈ  ｏｂｓｅｒｖｅｒｓ，Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＣＲＹＰＴＯ’１９９２，ＬＮＣＳ７４０．Ｓｐｒｉｎｇｅｒ  Ｖｅｒｌａｇ，ｐｐ．８９−１０５，１９９２」に記載されているので、詳細な説明は省略する。
【００２１】
続いて、ゼロ知識検証部２５及びゼロ知識証明部１７は、４つの値の正当性評価を行い、その評価結果を認証部２４へ通知する。この結果を受けて、認証部２４は、正当でない場合、その旨をユーザ端末１へ通知し、処理を終了する。一方、正当である場合、認証部２４は、ユーザ端末１に対して、新たな２つの値を入力するように指示する。
【００２２】
これを受けて、認証処理部１４は、乱数発生部１５に対して、２つの乱数ｍ、ｎの発生を指示する。これを受けて、乱数発生部１５は、Ｚｑ＊上の２つの乱数ｍ、ｎを発生し、認証処理部１４へ返す。そして、認証処理部１４は、得られた２つの乱数ｍ、ｎを使用して、新たな値ｇｒｍ、ｇｒｎを計算によって求め、認証部２４へ送信する。
【００２３】
次に、認証部２４は、認証処理部１４から送信された４つの値ｇｒａ、ｇｒｂ、ｇｒｍ、ｇｒｎに対して、ブラインド署名して、認証処理部１４へ返す。ここで使用するブラインド署名は、署名者にデータの内容を知られることなく、署名者から署名を受けるものである。このブラインド署名は、公知の内容であるあるため、詳細な説明を省略する。
【００２４】
この署名処理によって、ｇａ、ｇｂ、ｇｍ、ｇｎ、ｓｉｇｎ（ｇａ、ｇｂ、ｇｍ、ｇｎ）という値列が生成される。これが、匿名認証用のサービス利用権となり、このサービス利用権をサービス提供時において提示することにより、匿名のままサービス提供を受けることが可能となる。
【００２５】
次に、ユーザが先に生成したサービス利用権提示して、サービスを受ける場合の処理動作を説明する。まず、ユーザ端末１をサービス提供サーバ２へ接続し、サービス提供要求を送信する。これを受けて、認証部２４は、乱数発生部２８に対して、Ｚｑ＊上の乱数αを発生するように指示する。乱数発生部２８は、この指示を受けて、乱数αを発生し、認証部２４へ返す。そして、認証部２４は、この乱数αを認証処理部１４へ送信する。
【００２６】
これを受けて、認証処理部１４は、内部に保持している値ａ、ｂ、ｍ、ｎとこの乱数αを数値計算部１６へ受け渡す。数値計算部１６は、この５つの値ａ、ｂ、ｍ、ｎ、αを使用して、ｄ１＝ｍα＋ａとｄ２＝ｎα＋ｂを計算し、ｄ１とｄ２を認証処理部１４へ返す。
【００２７】
次に、認証処理部１４は、この２つの値ｄ１、ｄ２を認証部２４へ送信する。認証部２４は、このこの２つの値ｄ１、ｄ２と乱数αをログファイル２９へ記録する。そして、ユーザ端末１に対して、サービス提供を行う。これにより、サービス提供をする度にログデータがログファイル２９に蓄えられることとなる。
【００２８】
次に、ログ解析部３０がログデータに基づいて、不正使用（二重使用）を探索する動作を説明する。まず、ログ解析部３０は、例えば１日に１回起動し、ログファイル２９内のログデータから、
ｄ１  ＝ｍα  ＋ａ
ｄ２  ＝ｎα  ＋ｂ
ｄ１’＝ｍα’＋ａ
ｄ２’＝ｎα’＋ｂ
の４つの式からなる連立方程式をたてる。ここでは、１回目使用時のログデータ（ｄ１、ｄ２、α）と２回目使用時のログデータ（ｄ１’、ｄ２’、α’）がログファイル２９に蓄えられているとする。この方程式において、ｄ１，ｄ１’，ｄ２，ｄ２’、α、α’は、既知数であり、この連立方程式を解けるため、ログ解析部３０は、この連立方程式を解くことにより、ａ、ｂ、ｍ、ｎを算出する。そして、求めたａ，ｂよりユーザ識別番号Ａを求める。これにより、不正使用（二重使用）したユーザの識別番号Ａを得ることが可能となる。そして、方程式が解けなければ、不正使用は発生しなかったことになる。この処理を全部のログデータに対して施すことによって、１日間に発生した不正使用を見つけだすことができるとともに、不正使用したユーザを特定することが可能となる。
【００２９】
なお、不正使用を見つけだす処理は、サービス提供の要求の都度実行するようにしてもよい。このようにすれば、不正使用を実行しようとしている時点で、サービス提供することを拒否することが可能となる。
【００３０】
次に、サービス利用権の更新を行う動作を説明する。ユーザ端末は、先に決定したａ，ｂとは異なるａ’、ｂ’を決定する。そして、乱数発生部１５において、新たに発生させた乱数ｒ’とａ’、ｂ’を使用して、ｇｒ’、ｇｒ’ａ’、ｇｒ’ｂ’、ｇａ、ｇｂ、ｇｒ’Ａを数値計算部１６が計算する。この６つの値ｇｒ’、ｇｒ’ａ’、ｇｒ’ｂ’、ｇａ、ｇｂ、ｇｒ’Ａは、認証処理部１４によって、認証部２４へ送信される。
【００３１】
次に、認証部２４は、この６つの値をゼロ知識検証部２５へ受け渡す。これを受けて、ゼロ知識検証部２５は、４つの値（ｇａ、ｇｂ、ｇｒ’ａ、ｇｒ’ｂ）を使用して正当性を評価するため、通信部２３、１３を経由し、ゼロ知識証明部１７との間でゼロ知識証明処理の情報の授受を行う。続いて、ゼロ知識検証部２５は、４つの値（ｇｒ’、ｇｒ’ａ’、ｇｒ’ｂ’、ｇｒ’Ａ）を使用して正当性を評価するため、通信部２３、１３を経由し、ゼロ知識証明部１７との間でゼロ知識証明処理の情報の授受を行う。さらに、ゼロ知識検証部２５は、４つの値（ｇｒ’、ｇｒ’ａ’、ｇｒ’ｂ’、ｇｒ’Ａ）を使用して、正当性を評価するため、通信部２３、１３を経由し、ゼロ知識証明部１７との間でゼロ知識証明処理の情報の授受を行う。この３回の正当性評価の結果、いずれの評価結果においても正当性が得られれば、入力された６つの値が正当な値であることが証明されるため、ユーザ識別番号Ａそのものを提示することなく匿名を保ったままで認証を行うことができるともに、サービス利用権を更新することが可能となる。
【００３２】
なお、値ａ、ｂ、ａ’、ｂ’は、ユーザが入力部１１から直接入力するようにしてもよい。
【００３３】
次に、前述した認証方法の適用例を説明する。
（１）適用例１
遊園地等において、客が並ばなくても人気アトラクションを楽しめるようにしたパスの発行を行っている。このパスは、一度受け取るとそのアトラクションに乗る、もしくは一定時間経過しないと新たなパスを受け取ることができない仕組みとなっており、必ず管理サーバは現在使用中か否かを管理する必要があるため、入場券に付与した一意の識別番号によって、一元管理している。しかし、一意の番号が付与された入場券を所有している人物が、いつどのアトラクションを利用したかを知られてしまう可能性がある。このプライバシを保護するために、前述した更新方法により、パスを受け取るたびにサービス利用権を更新していけば確実にプライバシを保護することができる。
【００３４】
（２）適用例２
図書館やレンタルビデオ店のような貸し出しサービスの場合、利用カードと利用者が一対に対応しているため、誰が何を借りた貸し出す側がしることができてしまう。しかし、ユーザは必ずサービス利用権を２重使用し、片方を信頼できる機関に預ける。借りたものを返却した際に、サービス利用権を更新する。もし、返却期間を過ぎてもユーザが返却してくれなかったら、貸出機関が信頼できる機関に訴えて、サービス利用権の片方を受け取る。２つのサービス利用権がそろった際にユーザを特定する名前等を取得することができるので、貸出機関は未返却者を追跡することができる。すなわち、最初から２重使用させることにより、後からの追跡が可能となる。また、片方のサービス利用権だけでは本人を追跡できないので、信頼できる機関であっても、誰が貸出機関を利用しているのかを知ることはできない。
【００３５】
（３）適用例３
例えば、情報家電のような端末の利用状況に関する情報を収集したい際には、匿名で情報を収集することが望ましい。しかし、本当にその人物がその家電を購入した人物かどうか、つまり、情報収集において情報を収集するに値する人物がどうかを認証する必要がある。そこで、購入者などの資格がある者すべてにサービス利用権を配布しておき、必要な情報を匿名で収集する。そして、収集後、更新することによって、半永久的に情報を収集できる。また、あまりにも偽りの情報を提供する者に対しては更新を行わないことにより、収集側によってこの人物を排除することができる。
【００３６】
なお、図１における各処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより認証処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００３７】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００３８】
【発明の効果】
以上説明したように、この発明によれば、簡単な構成で匿名による認証を行うことができるという効果が得られる。また、不正使用があった場合のみにユーザ識別情報を得ることができるようにしたため、匿名状態を常に保つことが可能となる。また、匿名状態を保ったままサービス利用権の更新を行うことができるため、確実にプライバシを保護することができるという効果も得られる。
【図面の簡単な説明】
【図１】本発明の一実施形態の構成を示すブロック図である。
【符号の説明】
１・・・ユーザ端末
１１・・・入力部
１２・・・表示部
１３・・・通信部
１４・・・認証処理部
１５・・・乱数発生部
１６・・・数値計算部
１７・・・ゼロ知識証明部
２・・・サービス提供サーバ
２１・・・入力部
２２・・・表示部
２３・・・通信部
２４・・・認証部
２５・・・ゼロ知識検証部
２６・・・署名処理部
２７・・・数値計算部
２８・・・乱数発生部
２９・・・ログファイル
３０・・・ログ解析部
Ｎ・・・通信媒体
【図１】
2005005778.tif 000003