(57)【要約】  グループ管理装置と被認証者装置と検証装置と被認証特定装置とを有する匿名認証システムが開示される。ユーザはあらかじめグループ管理装置に自らの署名を検証できる検証鍵を登録しておく。認証時、ユーザは被認証者装置で自らの署名を生成し、グループの暗号化鍵を用いて、署名を暗号化し、認証データとする。検証装置が、グループの復号鍵を持つ検証補助者の協力を得ながら、認証を行う。必要に応じて、グループの復号鍵を持つ被認証特定装置が、認証データを復号することによって、被認証者の特定を行う。
2008146667.tif 000002
【特許請求の範囲】
【請求項１】
ユーザのグループを管理するグループ管理装置と、該グループ管理装置が管理するグループに所属する被認証者が操作し、認証を要求する被認証者装置と、認証を試みているユーザがグループに所属していることを検証する検証装置と、前記検証行為の補助を行う検証補助装置と、被認証者の特定を行う被認証者特定装置を有し、
前記被認証者装置が、複数回の認証に対して、それが同一の被認証者の行為であるか異なる被認証者の行為であるかを誰でも識別することが不可能なアンリンカブル認証データを生成するアンリンカブル認証データ生成部を有し、
前記検証装置が、前記検証補助装置に対して、検証の補助行為を依頼する検証補助要求を出力する検証補助要求部と、前記検証補助要求に応答した前記検証補助装置から検証補助データを受信し、また前記被認証者装置からアンリンカブル認証データを入力し、検証結果を出力する検証部とを有し、
前記被認証者特定装置が、前記アンリンカブル認証データとグループの秘密鍵を入力し、被認証者の特定を行う被認証者特定部を有する
匿名認証システム。
【請求項２】
前記グループ管理装置は、
ユーザのグループへの登録時にユーザの署名鍵・検証鍵を受け取り、ユーザごとに固有のIDを発行する登録処理部と、
登録されているメンバーのIDと対応する検証鍵のリストであるメンバーリストを記憶するメンバー登録情報記憶装置と
を有し、
前記被認証者装置は、
ユーザがグループに加入する際にユーザの検証鍵を含む登録要求を前記グループ管理装置に送信する登録要求部と、
ユーザが登録された結果前記グループ管理装置から送られてきたIDとユーザの署名鍵・検証鍵ペアを記憶するID・鍵ペア記憶装置と、
ユーザが認証を受ける際に、認証要求を前記検証装置に送信する認証要求部と、
前記認証要求の結果前記検証装置から送られてきたチャレンジおよび前記ID・鍵ペア記憶装置に記憶されているIDに対して、前記ID・鍵ペア記憶装置に記憶されている署名鍵を利用して前記チャレンジに対する、ユーザの署名を生成する署名生成部と、
をさらに有し、
前記アンリンカブル認証データ生成部は、ユーザのIDと署名を暗号化した暗号文を含むアンリンカブル認証データを前記検証装置に送信し、
前記検証装置は、
前記被認証者装置から認証要求を受信すると、ランダムなメッセージであるチャレンジを生成し、前記被認証者装置に送信するチャレンジ生成部と、
前記被認証者装置から受信したアンリンカブル認証データを記憶しておくアンリンカブル認証データ記憶装置と、
前記アンリンカブル認証データを生成したユーザを特定する、前記アンリンカブル認証データを含む被認証者特定要求を前記被認証者特定装置に送信する被認証者特定要求部と、
をさらに有し、
前記検証補助要求部は前記検証補助装置に、前記暗号文を含む検証補助要求を要求し、
前記検証補助装置は、
前記検証補助要求を受信すると、グループの復号鍵を用いて、前記検証補助要求に含まれる暗号文を復号し、ユーザのIDと署名を得る認証データ復号部と、
前記メンバー登録情報記憶装置からメンバーリストを受信し、ユーザの署名の検証を行い、その結果を前記検証補助データとして前記検証装置に送信する署名検証部と、
を有し、
前記被認証者特定装置は、
前記被認証者特定要求を受信すると、グループの復号鍵を用いて、前記アンリンカブル認証データに含まれる暗号文を復号し、ユーザのIDと署名を得る認証データ復号部、
をさらに有し、
前記被認証者特定部は前記メンバー登録情報記憶装置からメンバーリストを受信し、前記アンリンカブル認証データを生成したユーザの特定を行う、
請求項１に記載の匿名認証システム。
【請求項３】
ユーザのグループを管理するグループ管理装置と、該グループ管理装置が管理するグループに所属する被認証者が操作し、認証を要求する被認証者装置と、前記認証行為の補助を行う認証補助装置と、認証を試みているユーザがグループに所属していることを検証する検証装置と、被認証者の特定を行う被認証者特定装置を有し、
前記被認証者装置が、
前記認証補助装置に対して、認証の補助行為を依頼する認証補助要求を出力する認証補助要求部と、
前記認証補助要求に応答した前記認証補助装置から認証補助データを受信し、複数回の認証に対して、それが同一の被認証者の行為であるか異なる被認証者の行為であるかを誰でも識別することが不可能なアンリンカブル認証データを生成するアンリンカブル認証データ生成部と、
を有し、
前記検証装置が、前記アンリンカブル認証データを入力とし、検証を行う検証部を有し、
前記被認証者特定装置が、前記アンリンカブル認証データとグループの秘密鍵を入力とし、被認証者の特定を行う被認証者特定部を有する
匿名認証システム。
【請求項４】
前記グループ管理装置は、
ユーザのグループへの登録時にユーザの署名鍵・検証鍵を受け取り、ユーザごとに固有のIDを発行する登録処理部と、
登録されているメンバーのIDと対応する検証鍵のリストであるメンバーリストを記憶するメンバー登録情報記憶装置と、
を有し、
前記被認証者装置は、
ユーザがグループに加入する際にユーザの検証鍵を含む登録要求を前記グループ管理装置に送信する登録要求部と、
ユーザが登録された結果前記グループ管理装置から送られてきたIDとユーザの署名鍵・検証鍵ペアを記憶するID・鍵ペア記憶装置と、
ユーザが認証を受ける際に、認証要求を前記検証装置に送信する認証要求部と、
前記認証要求の結果前記検証装置から送られてきたチャレンジおよび前記ID・鍵ペア記憶装置に記憶されているIDに対して、前記ID・鍵ペア記憶装置に記憶されている署名鍵を利用して前記チャレンジに対する、ユーザの署名を生成する署名生成部と、
をさらに有し、
前記認証補助要求部は前記認証補助装置に対して、ユーザのIDと署名をグループの暗号化鍵を用いて暗号化した暗号文を含む、認証データ生成の補助行為を依頼する認証補助要求を送信し、
前記アンリンカブル認証データ生成部は、前記認証補助データに含まれる署名を含むアンリンカブル認証データを前記検証装置に送信し、
前記認証補助装置は、
前記認証補助要求を受信すると、グループの復号鍵を用いて、前記認証補助要求に含まれる暗号文を復号し、ユーザのIDと署名を得る復号部と、
前記メンバー登録情報記憶装置からメンバーリストを受信し、ユーザの署名の検証を行い、その結果を前記認証補助データとして前記被認証者装置に送信する署名検証部と、
グループの署名鍵を入力として、前記被認証者装置から受信した認証補助要求に含まれる暗号文に前記グループの署名鍵を用いて署名を施し、グループの署名を生成する、グループの署名生成部と、
を有し、
前記検証装置は、
前記被認証者装置から認証要求を受信すると、ランダムなメッセージであるチャレンジを生成するチャレンジ生成部と、
前記被認証者装置から受信したアンリンカブル認証データを記憶しておくアンリンカブル認証データ記憶装置と、
前記アンリンカブル認証データを生成したユーザを特定する、前記アンリンカブル認証データを含む被認証者特定要求を前記被認証者特定装置に送信する被認証者特定要求部と、
をさらに有し、
前記検証部は前記アンリンカブル認証データとグループの検証鍵を受信し、前記アンリンカブル認証データに含まれる署名の検証を行い、認証結果を出力する、
前記被認証者特定装置は、
前記被認証者特定要求を受信すると、グループの復号鍵を用いて前記アンリンカブル認証データに含まれる暗号文を復号し、ユーザのIDと署名を得る認証データ復号部、
をさらに有し、
前記被認証者特定部は前記メンバー登録情報記憶装置からメンバーリストを受信し、アンリンカブル認証データを生成したユーザの特定を行う、
請求項３に記載の匿名認証システム。
【請求項５】
ユーザのグループを管理するグループ管理装置と、グループのメンバーが認証を要求するための被認証者装置と、認証を試みているユーザがグループに属していることを検証する検証装置と、前記認証を補助する認証補助装置と、前記検証を補助する検証補助装置と、被認証者の特定を行う被認証者特定装置を有し、
前記被認証者装置が、
前記認証補助装置に対して、認証の補助行為を依頼する認証補助要求を出力する認証補助要求部と、
前記認証補助要求に応答した前記認証補助装置から認証補助データを受信し、複数回の認証に対して、それが同一の被認証者の行為であるか異なる被認証者の行為であるかを誰でも識別することが不可能なアンリンカブル認証データを生成するアンリンカブル認証データ生成部と、
を有し、
前記検証装置が、
前記検証補助装置に対して、検証の補助行為を依頼する検証補助要求を出力する検証補助要求部と、
前記検証補助要求に応答した前記検証補助装置から検証補助データを受信し、また前記アンリンカブル認証データを入力し、検証結果を出力する検証部と、
を有し、
前記被認証者特定装置が、前記アンリンカブル認証データとグループの秘密鍵を入力とし、被認証者の特定を行う被認証者特定部を有する
匿名認証システム。
【請求項６】
前記グループ管理装置は、
ユーザのグループへの登録時にユーザの署名検証鍵を受け取り、ユーザごとに固有のIDを発行する登録処理部と、
登録されているメンバーのIDと対応する検証鍵のリストであるメンバーリストを記憶するメンバー登録情報記憶装置と
を有し、
前記被認証者装置は、
ユーザがグループに加入する際にユーザの検証鍵を含む登録要求を前記グループ管理装置に送信する登録要求部と、
ユーザが登録された結果前記グループ管理装置から送られてきたIDとユーザの署名鍵・検証鍵ペアを記憶するID・鍵ペア記憶装置と、
ユーザが認証を受ける際に、認証要求を前記検証装置に送信する認証要求部と、
前記認証要求の結果前記検証装置から送られてきたチャレンジおよび前記ID・鍵ペア記憶装置に記憶されているIDに対して、前記ID・鍵ペア記憶装置に記憶されている署名鍵を利用して前記チャレンジに対する、ユーザの署名を生成する署名生成部と、
をさらに有し、
前記認証補助要求部は前記認証補助装置に対して、ユーザのIDと署名をグループの暗号化鍵を用いて暗号化した暗号文を含む、認証データ生成の補助行為を依頼する認証補助要求を送信し、
前記アンリンカブル認証データ生成部は、前記認証補助データに含まれる署名を含むアンリンカブル認証データを前記検証装置に送信し、
前記認証補助装置は、
前記認証補助要求を受信すると、グループの復号鍵を用いて、前記認証補助要求に含まれる暗号文を復号し、ユーザのIDと署名を得る復号部と、
前記メンバー登録情報記憶装置からメンバーリストを受信し、ユーザの署名の検証を行い、その結果を前記認証補助データとして前記被認証者装置に送信する署名検証部と、
認証用共有鍵を入力して、前記被認証者装置から受信した認証補助要求に含まれる暗号文に対してメッセージ認証子を生成するメッセージ認証子生成部と、
を有し、
前記検証装置は、
前記被認証者装置から認証要求を受信すると、ランダムなメッセージであるチャレンジを生成し、前記被認証者装置に送信するチャレンジ生成部と、
前記被認証者装置から受信したアンリンカブル認証データを記憶しておくアンリンカブル認証データ記憶装置と、
前記アンリンカブル認証データを生成したユーザを特定する、前記アンリンカブル認証データを含む被認証者特定要求を前記被認証者特定装置に送信する被認証者特定要求部と
をさらに有し、
前記検証補助要求部は前記検証補助装置に、前記暗号文を含む検証補助要求を出力し、
前記検証補助装置は、前記検証補助要求と認証用共有鍵を受信すると、該検証補助要求に含まれる前記暗号文にメッセージ認証子をつけるメッセージ認証子生成部を有し、
前記被認証者特定装置は、
前記被認証者特定要求を受信すると、グループの復号鍵を用いて、前記アンリンカブル認証データに含まれる暗号文を復号し、ユーザのIDと署名を得る認証データ復号部をさらに有し、
前記被認証者特定部は前記メンバー登録情報記憶装置からメンバーリストを受信し、アンリンカブル認証データを生成したユーザの特定を行う、
請求項５に記載の匿名認証システム。
【請求項７】
ユーザのグループを管理するグループ管理装置と、グループのメンバーが認証を要求するための被認証者装置と、認証を試みているユーザがグループに属していることを検証する検証装置と、前記認証を補助する認証補助装置と、前記検証を補助する検証補助装置と、被認証者の特定を行う被認証者特定装置を有する匿名認証システムで行われる匿名認証方法であって
前記被認証者装置が、被認証者の秘密鍵を用いて、複数回の認証に対して、それが同一の被認証者の行為であるか異なる被認証者の行為であるかを誰でも識別することが不可能なアンリンカブル認証データを生成し、
前記検証装置が、前記被認証者装置からアンリンカブル認証データを入力し、前記検証補助装置に対して、検証の補助行為を依頼する検証補助要求を出力し、前記検証補助要求に応答した前記検証補助装置から検証補助データを受け取り、検証結果を計算し、
前記被認証者特定装置が、前記アンリンカブル認証データとグループの秘密鍵を用いて、被認証者の特定を行う
匿名認証方法。
【請求項８】
前記グループ管理装置が、
ユーザのグループへの登録時にユーザの署名鍵・検証鍵を受け取り、ユーザごとに固有のIDを発行するステップと、
登録されているメンバーのIDと対応する検証鍵のリストであるメンバーリストをメンバー登録情報記憶装置に記憶するステップと
を有し、
前記被認証者装置が、
ユーザがグループに加入する際にユーザの検証鍵を含む登録要求を前記グループ管理装置に送信するステップと、
ユーザが登録された結果前記グループ管理装置から送られてきたIDとユーザの署名鍵・検証鍵ペアをID・鍵ペア記憶装置に記憶するステップと、
ユーザが認証を受ける際に、認証要求を前記検証装置に送信するステップと、
前記認証要求の結果前記検証装置から送られてきたチャレンジおよび前記ID・鍵ペア記憶装置に記憶されているIDに対して、前記ID・鍵ペア記憶装置に記憶されている署名鍵を利用して前記チャレンジに対する、ユーザの署名を生成するステップと、
複数回の認証に対して、それが同一の被認証者の行為であるか異なる被認証者の行為であるかを誰でも識別することが不可能なアンリンカブル認証データを生成し、ユーザのIDと署名を暗号化した暗号文を含むアンリンカブル認証データを前記検証装置に送信するステップと、
を有し、
前記検証装置が、
前記被認証者装置から認証要求を受信すると、ランダムなメッセージであるチャレンジを生成し、前記被認証者装置に送信するステップと、
前記検証補助装置に、前記暗号文を含む検証補助要求を要求するステップと、
前記検証補助装置から検証補助データを受信し、検証を行い、認証結果を出力するステップと、
前記被認証者装置から受信したアンリンカブル認証データをアンリンカブル認証データ記憶装置に記憶するステップと、
前記アンリンカブル認証データを生成したユーザを特定する、前記アンリンカブル認証データを含む被認証者特定要求を前記被認証者特定装置に送信するステップと、
を有し、
前記検証補助装置が、
前記検証補助要求を受信すると、グループの復号鍵を用いて、前記検証補助要求に含まれる暗号文を復号し、ユーザのIDと署名を得るステップと、
前記メンバー登録情報記憶装置からメンバーリストを受信し、ユーザの署名の検証を行い、その結果を前記検証補助データとして前記検証装置に送信するステップと、
を有し、
前記被認証者特定装置が、
前記被認証者特定要求を受信すると、グループの復号鍵を用いて、前記アンリンカブル認証データに含まれる暗号文を復号し、ユーザのIDと署名を得るステップと、
前記メンバー登録情報記憶装置からメンバーリストを受信し、前記アンリンカブル認証データを生成したユーザの特定を行うステップと
を有する
請求項８に記載の匿名認証方法。
【請求項９】
ユーザのグループを管理するグループ管理装置と、該グループ管理装置が管理するグループに所属する被認証者が操作し、認証を要求する被認証者装置と、前記認証行為の補助を行う認証補助装置と、認証を試みているユーザがグループに所属していることを検証する検証装置と、被認証者の特定を行う被認証者特定装置を有する匿名認証システムで行われる匿名認証方法であって、
前記被認証者装置が、被認証者の秘密鍵を用いて、前記認証補助装置に対して、認証の補助行為を依頼する認証補助要求を出力し、前記認証補助要求に応答した前記認証補助装置から認証補助データを受信し、複数回の認証に対して、それが同一の被認証者の行為であるか異なる被認証者の行為であるかを誰でも識別することが不可能なアンリンカブル認証データを生成し、
前記検証装置が、前記アンリンカブル認証データを入力とし、検証を行い、
前記被認証者特定者装置が、前記アンリンカブル認証データとグループの秘密鍵を入力とし、被認証者の特定を行う
匿名認証方法。
【請求項１０】
前記グループ管理装置が、
ユーザのグループへの登録時にユーザの署名鍵・検証鍵を受け取り、ユーザごとに固有のIDを発行するステップと、
登録されているメンバーのIDと対応する検証鍵のリストであるメンバーリストをメンバー登録情報記憶装置に記憶するステップと、
を有し、
前記被認証者装置が、
ユーザがグループに加入する際にユーザの検証鍵を含む登録要求を前記グループ管理装置に送信するステップと、
ユーザが登録された結果前記グループ管理装置から送られてきたIDとユーザの署名鍵・検証鍵ペアをID・鍵ペア記憶装置に記憶するステップと、
ユーザが認証を受ける際に、認証要求を前記検証装置に送信するステップと、
前記認証要求の結果前記検証装置から送られてきたチャレンジおよび前記ID・鍵ペア記憶装置に記憶されているIDに対して、前記ID・鍵ペア記憶装置に記憶されている署名鍵を利用して前記チャレンジに対する、ユーザの署名を生成するステップと、
前記認証補助装置に対して、ユーザのIDと署名をグループの暗号化鍵を用いて暗号化した暗号文を含む、認証データ生成の補助行為を依頼する認証補助要求を送信するステップと、
前記認証補助装置から認証補助データを受信し、複数回の認証に対して、それが同一の被認証者の行為であるか異なる被認証者の行為であるかを識別することが不可能なアンリンカブル認証データを生成し、前記認証補助データに含まれる署名を含むアンリンカブル認証データを前記検証装置に送信するステップと、
を有し、
前記認証補助装置が、
前記認証補助要求を受信すると、グループの復号鍵を用いて、前記認証補助要求に含まれる暗号文を復号し、ユーザのIDと署名を得るステップと、
前記メンバー登録情報記憶装置からメンバーリストを受信し、ユーザの署名の検証を行い、その結果を前記認証補助データとして前記被認証者装置に送信するステップと、
グループの署名鍵を入力として、前記被認証者装置から受信した認証補助要求に含まれる暗号文に前記グループの署名鍵を用いて署名を施し、グループの署名を生成するステップと、
を有し、
前記検証装置が、
前記被認証者装置から認証要求を受信すると、ランダムなメッセージであるチャレンジを生成するステップと、
前記アンリンカブル認証データとグループの検証鍵を受信し、前記アンリンカブル認証データに含まれる署名の検証を行い、認証結果を出力するステップと、
前記被認証者装置から受信したアンリンカブル認証データをアンリンカブル認証データ記憶装置に記憶するステップと、
前記アンリンカブル認証データを生成したユーザを特定する、前記アンリンカブル認証データを含む被認証者特定要求を前記被認証者特定装置に送信するステップと、
を有し、
前記被認証者特定装置が、
前記被認証者特定要求を受信すると、グループの復号鍵を用いて前記アンリンカブル認証データに含まれる暗号文を復号し、ユーザのIDと署名を得るステップと、
前記メンバー登録情報記憶装置からメンバーリストを受信し、アンリンカブル認証データを生成したユーザの特定を行うステップと
を有する
請求項１０に記載の匿名認証方法。
【請求項１１】
ユーザのグループを管理するグループ管理装置と、該グループ管理装置が管理するグループに所属する被認証者が操作し、認証を要求する被認証者装置と、前記認証行為の補助を行う認証補助装置と、認証を試みているユーザがグループに所属していることを検証する検証装置と、前記検証行為の補助を行う検証補助装置と、被認証者の特定を行う被認証者特定装置とを有する匿名認証システムで行われる匿名認証方法であって、
前記被認証者装置が、被認証者の秘密鍵を用いて、前記認証補助装置に対して、認証の補助行為を依頼する認証補助要求を出力し、前記認証補助要求に応答した前記認証補助装置から認証補助データを受信し、複数回の認証に対して、それが同一の被認証者の行為であるか異なる被認証者の行為であるかを誰でも識別することが不可能なアンリンカブル認証データを生成し、
前記検証装置が、前記アンリンカブル認証データを入力とし、前記検証補助装置に対して、検証の補助行為を依頼する検証補助要求を出力し、前記検証補助要求に応答した前記検証補助装置から検証補助データを受信し、検証補助データを前記検証補助装置から受け取り、検証を行い、
前記被認証者特定装置が、前記アンリンカブル認証データとグループの秘密鍵を入力とし、被認証者の特定を行う
匿名認証方法。
【請求項１２】
前記グループ管理装置が、
ユーザのグループへの登録時にユーザの署名検証鍵を受け取り、ユーザごとに固有のIDを発行するステップと、
登録されているメンバーのIDと対応する検証鍵のリストであるメンバーリストをメンバー登録情報記憶装置に記憶するステップと
を有し、
前記被認証者装置が、
ユーザがグループに加入する際にユーザの検証鍵を含む登録要求を前記グループ管理装置に送信するステップと、
ユーザが登録された結果前記グループ管理装置から送られてきたIDとユーザの署名鍵・検証鍵ペアをID・鍵ペア記憶装置に記憶するステップと、
ユーザが認証を受ける際に、認証要求を前記検証装置に送信するステップと、
前記認証要求の結果前記検証装置から送られてきたチャレンジおよび前記ID・鍵ペア記憶装置に記憶されているIDに対して、前記ID・鍵ペア記憶装置に記憶されている署名鍵を利用して前記チャレンジに対する、ユーザの署名を生成するステップと、
前記認証補助装置に対して、ユーザのIDと署名をグループの暗号化鍵を用いて暗号化した暗号文を含む、認証データ生成の補助行為を依頼する認証補助要求を送信するステップと、
前記認証補助装置から認証補助データを受信し、複数回の認証に対して、それが同一の被認証者の行為であるか異なる被認証者の行為であるかを識別することが不可能なアンリンカブル認証データを生成し、前記認証補助データに含まれる署名を含むアンリンカブル認証データを前記検証装置に送信するステップと、
を有し、
前記認証補助装置が、
前記認証補助要求を受信すると、グループの復号鍵を用いて、前記認証補助要求に含まれる暗号文を復号し、ユーザのIDと署名を得るステップと、
前記メンバー登録情報記憶装置からメンバーリストを受信し、ユーザの署名の検証を行い、その結果を前記認証補助データとして前記被認証者装置に送信するステップと、
認証用共有鍵を入力して、前記被認証者装置から受信した認証補助要求に含まれる暗号文に対してメッセージ認証子を生成するステップと、
を有し、
前記検証装置が、
前記被認証者装置から認証要求を受信すると、ランダムなメッセージであるチャレンジを生成するステップと、
前記検証補助装置に、前記暗号文を含む検証補助要求を出力するステップと、
前記検証補助装置から検証補助データを受信し、検証を行い、認証結果を出力するステップと、
前記被認証者装置から受信したアンリンカブル認証データをアンリンカブル認証データ記憶装置に記憶するステップと、
前記アンリンカブル認証データを生成したユーザを特定する、前記アンリンカブル認証データを含む被認証者特定要求を前記被認証者特定装置に送信するステップと
を有し、
前記検証補助装置が、前記検証補助要求と認証用共有鍵を受信すると、該検証補助要求に含まれる前記暗号文にメッセージ認証子をつけるステップを有し、
前記被認証者特定装置が、
前記被認証者特定要求を受信すると、グループの復号鍵を用いて、前記アンリンカブル認証データに含まれる暗号文を復号し、ユーザのIDと署名を得るステップと、
前記メンバー登録情報記憶装置からメンバーリストを受信し、アンリンカブル認証データを生成したユーザの特定を行うステップと
を有する
請求項１１に記載の匿名認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、匿名認証システムおよび匿名認証方法に関する。
【背景技術】
【０００２】
近年、ネットワークセキュリティの重要性が広く認識されている。セキュリティを実現するために、ネットワーク上の様々なサービスは、特定の人にだけサービスを提供するように構成されている。そのため，これらのサービスは、サービスの利用に際してサービス利用者の個人認証を行う。しかしながら、この認証における履歴を複数個集めてくることにより、同じサービス利用者がいつ・どこで・なにをしたかという個人の情報が明らかとなり、その個人のプライバシーが侵害されてしまう。したがって、プライバシーの観点からは、個人認証はなるべく行われないほうが望ましいといえる。【０００３】
被認証者の匿名性を高めるための施策として、サービスの会員全員に同じＩＤとパスワードを発行する方法が考えられる。この方法では、会員全員が同じＩＤとパスワードを用いて認証を行うため、個人を特定せずに認証を行うことが可能である。しかし、会員のうちの誰かが、会員以外の人にパスワードを漏らしてしまった場合、会員にだけサービスを提供するためには、パスワードを再発行し、会員全員に新規のパスワードを伝えなくてはならない。また、被認証者の振る舞いが規約などによって個人を特定されるべき行為であったとしても、管理者は被認証者を特定することができない。【０００４】
また、特許文献１には、匿名認証方式が記載されている。この匿名認証方式は、被認証者の匿名性を保ちつつ、管理者は必要に応じて被認証者を特定、除外することができる認証方式である。さらに、この認証方式は、複数回の認証に対して、それが同一の被認証者の行為であるか異なる被認証者の行為であるかを誰でも識別することが可能である。このことによって、営利目的の会員制サービスなどでは、リピーターに関する情報を管理者が得られるというメリットが考えられるが、何らかの理由により被認証者の特定が行われた場合、その被認証者の過去の認証履歴がすべて明らかになってしまうという問題がある。その上、特許文献１の匿名認証方式では、管理者が会員全員のＩＤとパスワードを知っているため、管理者による会員のなりすまし行為が可能という問題がある。【０００５】
さらに、非特許文献１では、グループ署名を用いた匿名認証方式が記載されている。これらの匿名認証方式は、複数回の認証に対して、それが同一の被認証者の行為であるか異なる被認証者の行為であるかを識別することが不可能で、かつ管理者による会員のなりすまし行為が不可能である。しかしこれらの方式では、被認証者が認証に必要なデータ（以下、認証データ）を生成するための計算コストが大きいという問題がある。
【特許文献１】特開２００６−２３５６６１号公報
【非特許文献１】J.  Camenisch  and  J.  Groth.  Group  signatures:  better  efficiency  and  new  theoretical  aspects.  Forth  Int.  Conf.  on  Security  in  Communication  Networks  --  SCN  2004,  LNCS  3352,  Springer,  2005.
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、被認証者の匿名性を確保しつつ、必要に応じ匿名性を剥奪でき、複数回の認証に対して、それが同一の被認証者の行為であるか別の被認証者の行為であるかを判別できず、グループを管理するグループ管理者による会員のなりすましを防ぎ、かつ被認証者の認証データ生成に必要な計算コストが小さい匿名認証システムおよび匿名認証方法を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の一態様によれば、匿名認証システムは、ユーザのグループを管理するグループ管理装置と、該グループ管理装置が管理するグループに所属する被認証者が操作し、認証を要求する被認証者装置と、認証を試みているユーザがグループに所属していることを検証する検証装置と、前記検証行為の補助を行う検証補助装置と、被認証者の特定を行う被認証者特定装置を有する。被認証者装置は、複数回の認証に対して、それが同一の被認証者の行為であるか異なる被認証者の行為であるかを誰でも識別することが不可能なアンリンカブル認証データを生成するアンリンカブル認証データ生成部を有する。検証装置が、検証補助装置に対して、検証の補助行為を依頼する検証補助要求を出力する検証補助要求部と、検証補助要求に応答した検証補助装置から検証補助データを受信し、また前記被認証者装置からアンリンカブル認証データを入力し、検証結果を出力する検証部とを有する。被認証者特定装置は、アンリンカブル認証データとグループの秘密鍵を入力し、被認証者の特定を行う被認証者特定部を有する
本発明の他の態様によれば、匿名認証システムは、ユーザのグループを管理するグループ管理装置と、該グループ管理装置が管理するグループに所属する被認証者が操作し、認証を要求する被認証者装置と、前記認証行為の補助を行う認証補助装置と、認証を試みているユーザがグループに所属していることを検証する検証装置と、被認証者の特定を行う被認証者特定装置を有する。被認証者装置は、認証補助装置に対して、認証の補助行為を依頼する認証補助要求を出力する認証補助要求部と、認証補助要求に応答した前記認証補助装置から認証補助データを受信し、複数回の認証に対して、それが同一の被認証者の行為であるか異なる被認証者の行為であるかを誰でも識別することが不可能なアンリンカブル認証データを生成するアンリンカブル認証データ生成部とを有する。検証装置は、アンリンカブル認証データを入力とし、検証を行う検証部を有する。被認証者特定装置は、アンリンカブル認証データとグループの秘密鍵を入力とし、被認証者の特定を行う被認証者特定部を有する。【０００８】
本発明のさらに他の態様によれば、匿名認証システムは、ユーザのグループを管理するグループ管理装置と、グループのメンバーが認証を要求するための被認証者装置と、認証を試みているユーザがグループに属していることを検証する検証装置と、前記認証を補助する認証補助装置と、前記検証を補助する検証補助装置と、被認証者の特定を行う被認証者特定装置を有する。被認証者装置は、認証補助装置に対して、認証の補助行為を依頼する認証補助要求を出力する認証補助要求部と、認証補助要求に応答した前記認証補助装置から認証補助データを受信し、複数回の認証に対して、それが同一の被認証者の行為であるか異なる被認証者の行為であるかを誰でも識別することが不可能なアンリンカブル認証データを生成するアンリンカブル認証データ生成部とを有する。検証装置は、検証補助装置に対して、検証の補助行為を依頼する検証補助要求を出力する検証補助要求部と、検証補助要求に応答した検証補助装置から検証補助データを受信し、またアンリンカブル認証データを入力し、検証結果を出力する検証部と、を有する。被認証者特定装置は、アンリンカブル認証データとグループの秘密鍵を入力とし、被認証者の特定を行う被認証者特定部を有する。【０００９】
本発明は下記の効果がある。【００１０】
第１に、被認証者の匿名性を確保しつつ、必要に応じ匿名性を剥奪でき、複数回の認証に対して、それが同一の被認証者の行為であるか別の被認証者の行為であるかを判別できないことにある。この結果、グループに所属するユーザのプライバシーを保護できる。【００１１】
第２に、グループを管理するグループ管理者によるユーザのなりすましを防ぐことができることにある。この結果、例えば、従量課金制のサービスなどで、グループ管理者の不正によるユーザへの課金過多などを防ぐことが可能となる。また、あるユーザの認証データは、そのユーザのみが生成可能であるため、ユーザによる認証結果に対する否認行為を不可能とできる。【００１２】
第３に、認証時のユーザへの負荷を減らすことが可能となる。この結果、ユーザが計算リソースの少ないデバイスしか持たない場合にも対応可能となる。
【図面の簡単な説明】
【００１３】
【図１】図１は本発明の第１の実施の形態による匿名認証システムのブロック図である。
【図２】図２はグループ管理装置１０のブロック図である。
【図３】図３は被認証者装置２０のブロック図である。
【図４】図４は検証装置３０のブロック図である。
【図５】図５は検証補助装置４０のブロック図である。
【図６】図６は被認証者特定装置５０のブロック図である。
【図７】図７は第１の実施の形態における入会登録処理のフローチャートである。
【図８】図８は第１の実施の形態における認証処理のフローチャートである。
【図９】図９は第１の実施の形態における被認証者特定処理のフローチャートである。
【図１０】図１０は本発明の第２の実施の形態による匿名認証システムのブロック図である。
【図１１】図１１は被認証者装置２１のブロック図である。
【図１２】図１２は認証補助装置６１のブロック図である。
【図１３】図１３は検証装置３１のブロック図である。
【図１４】図１４は第２の実施の形態における認証処理のシーケンスである。
【図１５】図１５は本発明の第３の実施の形態による匿名認証システムのブロック図である。
【図１６】図１６は認証補助装置６２のブロック図である。
【図１７】図１７は検証補助装置４２のブロック図である。
【図１８】図１８は第３の実施の形態における認証処理のフローチャートである。
【図１９】図１９は第３の実施の形態における認証処理のフローチャートである。
【符号の説明】
【００１４】
１０          グループ管理装置
２０、２１    被認証者装置
３０、３１    検証装置
４０、４２    検証補助装置
５０          被認証者特定装置
６１、６２    認証補助装置
１０−１      登録処理部
１０−２      メンバー登録情報記憶装置
２０−１      登録要求部
２０−２      ID・鍵ペア記憶装置
２０−３      認証要求部
２０−４      署名生成部
２０−５      アンリンカブル認証データ生成部
３０−１      チャレンジ生成部
３０−２      検証補助要求部
３０−３      検証部
３０−４      アンリンカブル認証データ記憶装置
３０−５      被認証者特定要求部
４０−１      認証データ復号部
４０−２      署名検証部
５０−１      認証データ復号部
５０−２      被認証者特定部
１０１−１０５、２０１−２０８  ステップ
３０１−３０５、４０１−４０９、５０１−５１１  ステップ
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態について図面を用いて詳細に説明する。【００１６】
本発明は、匿名認証において、被認証者の匿名性を得るために、公開鍵暗号（Public  Key  Encryption）を用いることを特徴とする。公開鍵暗号では、ユーザは秘密鍵と、その秘密鍵に対応する公開鍵とを有している。ユーザＡがユーザＢに、公開鍵暗号を用いてメッセージを送信する場合、ユーザＡはユーザＢが公開している公開鍵を用いて、メッセージを暗号化し、ユーザＢに暗号文を送信する。暗号文を受け取ったユーザＢは、自らの秘密鍵を用いて復号を行い、メッセージを生成する。【００１７】
さらに、本発明は、匿名認証において、グループ管理者による既存ユーザのなりすまし行為を防ぐために、電子署名技術（Digital  Signature）を用いることを特徴とする。電子署名技術は、公開鍵暗号に基づいている。署名者は、署名鍵（秘密鍵）と、その署名鍵に対応する検証鍵（公開鍵）とを有している。署名者は、署名鍵を用いてメッセージに署名を施す。検証者は、署名者が公開している検証鍵を用いて、署名が署名者によって施されたものであることを確認できる。認証データとして暗号文を用いることにより、復号に用いる復号鍵を持たない検証者に被認証者のＩＤに関する情報を与えない。【００１８】
以降の記述において、  ａ＾{ｂ}はａのｂ乗を意味し、ａ＿ｂ  はａに下付き添字ｂが付いた状態を示す。また、ビットの連結を”‖”と表記する（例えば、ａ＝１０（バイナリ表記），ｂ＝０１とした場合、ａ‖ｂ＝１００１となる）。【００１９】
［第１の実施形態］
図１に示すように、本発明の第１の実施形態による匿名認証システムはグループ管理装置１０と被認証者装置２０と検証装置３０と検証補助装置４０と被認証者特定装置５０を有している。グループ管理装置１０はユーザのグループを管理する。被認証者装置２０は、グループ管理装置１０が管理するグループに所属する被認証者が操作し、認証を要求する。検証装置３０は、認証を試みているユーザがグループに所属していることを検証する。検証補助装置４０は上記検証行為の補助を行う。被認証者特定装置５０は、何らかの問題が起こった場合に被認証者の匿名性を剥奪する。【００２０】
グループ管理装置１０と被認証者装置２０、グループ管理装置１０と検証補助装置４０、グループ管理装置１０と被認証者特定装置５０、被認証者装置２０と検証装置３０、検証装置３０と検証補助装置４０、検証装置４０と被認証者特定装置５０はそれぞれインターネットなどのネットワークを通じて互いに接続されている。【００２１】
なお、グループごとにグループ管理装置１０は存在し、各グループに複数の被認証者装置２０、検証装置３０が存在してもよい。また、グループに対応したグループの暗号化鍵  enc_g  が被認証者装置２０に入力される。グループの暗号化鍵  enc_g  に対応したグループの復号鍵  dec_g  が検証補助装置４０および被認証者特定装置５０に入力される。これらの暗号化鍵・復号鍵は、グループごとに存在する。【００２２】
図２〜図６はそれぞれグループ管理装置１０〜被認証者特定装置５０のブロック図である。【００２３】
図２に示すように、グループ管理装置１０は、ユーザのグループへの参加登録処理を行う登録処理部１０−１と、グループに在籍するメンバーの登録情報リスト（以下、メンバーリスト）を記憶するメンバー登録情報記憶装置１０−２を有する。【００２４】
図３に示すように、被認証者装置２０は、グループ管理装置１０に登録要求メッセージを送信する登録要求部２０−１と、グループ管理装置１０によって割り振られた、ユーザのＩＤとユーザの署名鍵・検証鍵ペアを記憶するＩＤ・鍵ペア記憶装置２０−２を有する。被認証者装置２０はさらに、検証装置３０に認証を受ける要求メッセージを送信する認証要求部２０−３と、認証データ生成の際にユーザの署名鍵を用いて署名生成を行う署名生成部２０−４と、グループの暗号化鍵を受信し、アンリンカブルな認証データ（アンリンカブル認証データ）を生成するアンリンカブル認証データ生成部２０−５を有する。ここで、「アンリンカブルな」は、複数回の認証に対して、それが同一の被認証者の行為であるか異なる被認証者の行為であるかを誰でも識別することが不可能な、と言う意味である。【００２５】
図４に示すように、検証装置３０は、認証要求を受信し、チャレンジを生成するチャレンジ生成部３０−１と、アンリンカブル認証データを受信し、検証補助要求を検証補助装置４０に送信する検証補助要求部３０−２と、検証補助結果を受信し、検証を行う検証部３０−３を有する。検証装置３０はさらに、認証の履歴として、アンリンカブル認証データを記憶するアンリンカブル認証データ記憶装置３０−４と、アンリンカブル認証データ記憶装置３０−４に記憶されているアンリンカブル認証データに対して、匿名性剥奪要求を被認証者特定装置５０に送信する被認証者特定要求部３０−５を有する。【００２６】
図５に示すように、検証補助装置４０は、検証補助要求とグループの復号鍵を受信し、認証データの復号を行う認証データ復号部４０−１と、メンバーリストを受信し、署名の検証を行う署名検証部４０−２とを有する。【００２７】
図６に示すように、被認証者特定装置５０は、匿名性剥奪要求とグループの復号鍵を受信し、認証データの復号を行う認証データ復号部５０−１と、メンバーリストを受信し、被認証者の特定を行う被認証者特定部５０−２とを有する。【００２８】
まず、認証の際の事前処理（入会登録処理）について図7を参照して説明する。【００２９】
ここでは例として、署名鍵  sk_u，検証鍵  vk_u  を持つユーザUが登録を行うこととして説明する。ユーザUは署名鍵・検証鍵ペア（sk_u,  vk_u）を予めICカードやフラッシュメモリなどに格納しておき、被認証者装置２０はICカードやフラッシュメモリにアクセスできるインターフェースを有している。【００３０】
まず、ユーザUは署名鍵・検証鍵ペア（sk_u，vk_u）を被認証者装置２０に入力する（ステップ１０１）。検証鍵  vk_u  を受信した登録要求部２０−１は、グループ管理装置１０に登録要求  req_r  を送信する（ステップ１０２）。このとき登録要求  req_r  には、ユーザUの検証鍵  vk_u，および住所、氏名、年齢など、登録に必要な個人情報が含まれている。登録要求  req_r  を受信した登録処理部１０−１は、ユーザUに対する固有のＩＤ  ID_u  を発行し、被認証者装置２０に  ID_u  を送信する（ステップ１０３）。ただし、登録に何らかの条件（性別制限、年齢制限、２重登録禁止など）がある場合、登録要求  req_r  にしたがって登録処理部１０−１が審査を行い、条件を満たさないユーザUからの登録要求であった場合、登録不可を被認証者装置２０に送信してもよい。ユーザが登録不可であった場合、そのユーザに対する以降のやり取りは中止する。登録処理部１０−１は、メンバー登録情報記憶装置１０−２よりメンバーリスト  List  を読み出し、（ID_u,  req_r）をメンバーリスト  List  に追記し、更新されたメンバーリスト  List  をメンバー登録情報記憶装置１０−２に記憶する（ステップ１０４）。ID_u  を受信した被認証者装置２０は、(ID_u,  (sk_u,  vk_u））をID・鍵ペア記憶装置２０−２に記憶する（ステップ１０５）。【００３１】
次に、認証処理の流れについて図８を参照して説明する。【００３２】
ここでは例として、署名鍵  sk_u，検証鍵  vk_u  を持つユーザUが登録を済ませ、ID・鍵ペア記憶装置２０−２には、(ID_u,  (sk_u,  vk_u))  が記憶されていることとして、説明する。【００３３】
まず、被認証者装置２０の認証要求部２０−３は、検証装置３０に認証要求  req_a  を送信する（ステップ２０１）。認証要求  req_a  を受信したチャレンジ生成部３０−１は、ランダムなメッセージであるチャレンジ  nonce  を被認証者装置２０に送信する（ステップ２０２）。チャレンジ  nonce  を受信した署名生成部２０−４は、ＩＤ・鍵ペア記憶装置２０−２に記憶されている  sk_u  を用いて、チャレンジ  nonce  に対するユーザＵの署名σを生成する（ステップ２０３）。次に、グループの暗号化鍵  enc_g  を受信したアンリンカブル認証データ生成部２０−５は、ID_u||σを暗号化し、暗号文Ｃを生成する。さらに、暗号文Ｃを含むアンリンカブル認証データ  response  を検証装置３０に送信する（ステップ２０４）。アンリンカブル認証データ  response  を受信した検証補助要求部３０−２は、暗号文Ｃを含む検証補助要求データ  req_v  を検証補助装置４０に送信する（ステップ２０５）。検証補助要求データ  req_v  とグループの復号鍵  dec_g  を受信した認証データ復号部４０−１は、検証補助要求データ  req_v  に含まれる暗号文Ｃを復号し、復号の結果得られた復号データを  ID||σとパースする（ステップ２０６）。つまり、復号データを  ID，σに分解する。次に、グループ管理装置１０のメンバー登録情報記憶装置１０−２に記憶されているメンバーリスト  List  を受信した署名検証部４０−２は、メンバーリスト  List  に  ID  が記載されているか確認する。記載されていない場合、不受理である旨を検証補助データ  ans_v  として検証装置３０に送信する。記載されている場合、ID  に対応する検証鍵  vk  を用いて、σの検証を行う。その署名検証結果（受理または不受理）を検証補助データ  ans_v  として検証装置３０に送信する（ステップ２０７）。検証補助データ  ans_v  を受信した検証部３０−３は、認証結果  result  を生成し、出力する。すなわち、検証補助データ  ans_v  が受理であったら、認証結果  result  は認証成功を意味するデータとなる。また、検証補助データ  ans_v  が不受理であったら、認証結果  result  は認証失敗を意味するデータとなる。さらに、認証が成功したアンリンカブル認証データ  response  をアンリンカブル認証データ記憶装置３０−４に記憶する（ステップ２０８）。ただし、認証が失敗したアンリンカブル認証データもアンリンカブル認証データ記憶装置３０−４に記憶しても構わない。【００３４】
ここで、被認証者装置２０のＩＤに関する情報はグループの暗号化鍵  enc_g  によって暗号化されているため、グループの復号鍵  dec_g  を入力として持たない検証装置３０には、被認証者装置２０のＩＤに関する情報は、２つのアンリンカブル認証データが同じ被認証者によるものか異なる被認証者によるものかという情報すら伝わらない。グループの復号鍵  dec_g  を入力として受け取る検証補助装置４０では検証装置３０から受け取った検証補助要求データ  req_v  に含まれる暗号文Ｃを、グループの復号鍵  dec_g  を用いて復号し、IDおよび署名データσを得る。検証補助装置４０では、ＩＤがメンバーリスト  List  に含まれ、かつ、ＩＤに対応する検証鍵を用いて署名データσを検証すると受理されることを確認する。したがって、登録されていないユーザ、すなわちメンバーリスト  List  に登録されている検証鍵に対応した署名鍵を持たないユーザは、メンバーリスト  List  に含まれる検証鍵を用いて受理される署名データを生成することが不可能であるため、認証を成功させることが不可能である。さらに、グループを管理する管理者であってもメンバーリスト  List  に登録されている検証鍵に対応した署名鍵を知らないため、認証を成功させることが不可能である。【００３５】
次に、アンリンカブル認証データから被認証者の特定を行う処理を、図９を参照して説明する。【００３６】
ここでは例として、検証装置３０の備えるアンリンカブル認証データ記憶装置３０−４に記憶されている、アンリンカブル認証データ  response_i  を生成した被認証者のＩＤを特定する場合を説明する。【００３７】
まず、アンリンカブル認証データ記憶装置３０−４に記憶されているアンリンカブル認証データ  response_i  を受信した検証装置３０の被認証者特定要求部３０−５は、被認証者特定要求データ  req_t  を被認証者特定装置５０に送信する（ステップ３０１）。ここで、被認証者特定要求データ  req_t  は、アンリンカブル認証データ  response_i  を含む。被認証者特定要求データ  req_t  およびグループの復号鍵  dec_g  を受信した認証データ復号部５０−１は、アンリンカブル認証データ  response_i  に含まれる暗号文  C_i  を復号し、復号データを  ID_i||σ_i  とパースする（ステップ３０２）。次に、グループ管理装置１０の具備するメンバー登録情報記憶装置１０−２に記憶されているメンバーリスト  List  を受信した被認証者特定部５０−２は、ID_i  がメンバーリスト  List  に記載されていることを確認し、ID_i  がメンバーリスト  List  に記載されていたら、ID_i  に対応する検証鍵  vk_i  を用いて  σ_i  の検証を行う（ステップ３０３）。検証結果が受理であったら、アンリンカブル認証データ  response_i  は、ID  ID_i  を持つユーザの作成した認証データであると出力する（ステップ３０４）。ID_i  がメンバーリスト  List  に記載されていない、あるいは、σ_i  の検証結果が不受理であった場合、被認証者特定を要求されたアンリンカブル認証データ  response_i  は受理されない認証データであると出力する（ステップ３０５）。【００３８】
なお、第１の実施形態の変形例として次の構成が可能である。被認証者装置２０は、アンリンカブル認証データを生成するアンリンカブル認証データ生成部２０−５を少なくとも有する。検証装置３０は、検証補助装置４０に対して、検証の補助行為を依頼する検証補助要求を出力する検証補助要求部３０−２と、検証補助要求に応答した検証補助装置４０から検証補助データを受信し、また被認証者装置２０からアンリンカブル認証データを入力し、検証結果を出力する検証部３０−３とを少なくとも有する。被認証者特定装置５０は、アンリンカブル認証データとグループの秘密鍵を入力し、被認証者の特定を行う被認証者特定部５０−２を少なくとも有する。【００３９】
［第２の実施形態］
図１０に示すように、本発明の第２の実施形態による匿名認証システムはグループ管理装置１０と被認証者装置２１と認証補助装置６１と検証装置３１と被認証者特定装置５０とを有する。グループ管理装置１０はグループを管理する。被認証者装置２１は、グループ管理装置１０が管理するグループに所属する被認証者が操作する。認証補助装置６１は上記認証データ生成行為の補助を行う。検証装置３１は、認証を試みているユーザがグループに所属していることを検証する。被認証者特定装置５０は、何らかの問題が起こった場合に被認証者の匿名性を剥奪する。【００４０】
グループ管理装置１０と被認証者装置２１、グループ管理装置１０と認証補助装置４１、グループ管理装置１０と被認証者特定装置５０、被認証者装置２１と検証装置３１、被認証者装置２１と認証補助装置４１、検証装置４１と被認証者特定装置５０はそれぞれインターネットなどのネットワークを通じて互いに接続されている。【００４１】
なお、複数のグループが存在する場合、グループごとにグループ管理装置は存在し、各グループに複数の被認証者装置および検証装置が存在してもよい。また、グループに対応したグループの暗号化鍵  enc_g  が被認証者装置２１に入力される。グループの暗号化鍵  enc_g  に対応したグループの復号鍵  dec_g  が認証補助装置６１および被認証者特定装置５０に入力される。これらの暗号化鍵・復号鍵は、グループごとに存在する。【００４２】
図１１は被認証者装置２１のブロック図、図１２は認証補助装置６１のブロック図、図１３は検証装置３１のブロック図である。グループ管理装置１０と被認証者特定装置５０は第１の実施の形態と同様のため、それらの図示は省略する。【００４３】
図１１に示すように、被認証者装置２１は、グループ管理装置１０に登録要求メッセージを送信する登録要求部２１−１と、グループ管理装置１０によって割り振られた、ユーザのＩＤとユーザの署名鍵・検証鍵ペアを記憶するＩＤ・鍵ペア記憶装置２１−２と、検証装置３１に認証を受ける要求メッセージを送信する認証要求部２１−３を有する。被認証者装置２１はさらに、認証データ生成の際にユーザの署名鍵を用いて署名生成を行う署名生成部２１−４と、グループの暗号化鍵を受信し、暗号文を生成し、認証補助装置６１に認証補助要求データを送信する認証補助要求部２１−５と、認証補助データを受信し、アンリンカブル認証データを生成するアンリンカブル認証データ生成部２１−６を有する。【００４４】
図１２に示すように、認証補助装置６１は、認証補助要求とグループの復号鍵を受信し、暗号文の復号を行う復号部６１−１と、メンバーリストを受信し、署名の検証を行う署名検証部６１−２と、グループの署名鍵を受信し、暗号文にグループの署名を施すグループの署名生成部６１−３とを有する。【００４５】
図１３に示すように、検証装置３１は、認証要求を受信し、チャレンジを生成するチャレンジ生成部３１−１と、アンリンカブル認証データとグループの検証鍵を受信し、検証を行う検証部３１−２を有する。検証装置３１はさらに、認証の履歴として、アンリンカブル認証データを記憶するアンリンカブル認証データ記憶装置３１−３と、アンリンカブル認証データ記憶装置３１−３に記憶されているアンリンカブル認証データに対して、匿名性剥奪要求を被認証者特定装置に送信する被認証者特定要求部３１−４を有する。【００４６】
本実施の形態における事前処理（入会登録処理）は、第１の実施の形態の事前処理（入会登録処理）と同様のため、その説明は省略する。【００４７】
認証処理の流れについて図１４を参照して説明する。【００４８】
ここでは例として、署名鍵  sk_u，検証鍵  vk_u  を持つユーザUが登録を済ませ、ID・鍵ペア記憶装置２１−２には、(ID_u,  (sk_u,  vk_u))  が記憶されていることとして、説明する。【００４９】
まず被認証者装置２１の認証要求部２１−３は、検証装置３１に認証要求  req_a  を送信する（ステップ４０１）。認証要求  req_a  を受信したチャレンジ生成部３１−１は、ランダムなメッセージであるチャレンジ  nonce  を生成し、被認証者装置２１に送信する（ステップ４０２）。チャレンジ  nonce  を受信した署名生成部２１−４は、ＩＤ・鍵ペア記憶装置２１−２に記憶されている  sk_u  を用いて、チャレンジ  nonce  に対するユーザＵの署名σを生成する（ステップ４０３）。次に、グループの暗号化鍵  enc_g  を受信した認証補助要求部２１−５は、ID_u||σを暗号化し、暗号文Ｃを生成する。さらに、暗号文Ｃを含む認証補助要求データ  req_h  を認証補助装置６１に送信する（ステップ４０４）。認証補助要求データ  req_h  とグループの復号鍵  dec_g  を受信した復号部６１−１は、認証補助要求データ  req_h  に含まれる暗号文Ｃを復号し、復号データを  ID||σとパースする（ステップ４０５）。次に、グループ管理装置１０のメンバー登録情報記憶装置１０−２に記憶されているメンバーリスト  List  を受信した署名検証部６１−２は、メンバーリスト  List  に  ID  が記載されているか確認する。ID  がメンバーリスト  List  に記載されていたら、ID  に対応する検証鍵  vk  を用いて  σ  の検証を行う（ステップ４０６）。ID  がメンバーリスト  List  に記載されていない、あるいは、σ  の検証結果が不受理であった場合、以降の動作を停止する。ID  がメンバーリスト  List  に記載されている、かつ、ID  に対応する検証鍵  vk  を用いて  σ  が受理された場合、グループの署名鍵  sk_g  を受信したグループの署名生成部６１−３は、暗号文Ｃにグループの署名鍵  sk_g  を用いて署名を施し、署名σ_g  を生成する。さらに、署名σ_g  を含む認証補助データ  ans_h  を被認証者装置２１に送信する（ステップ４０７）。認証補助データ  ans_h  を受信したアンリンカブル認証データ生成部２１−６は、認証補助データ  ans_h  に含まれる署名σ_g  を含むアンリンカブル認証データ  response  を検証装置３１に送信する（ステップ４０８）。アンリンカブル認証データ  response  およびグループの検証鍵  vk_g  を受信した検証部３１−２は、アンリンカブル認証データ  response  に含まれる署名σ_g  の検証を行う。検証結果が受理であったら、認証結果  result  を認証成功として出力する。さらに、アンリンカブル認証データ  response  をアンリンカブル認証データ記憶装置３１−３に保存する。また、検証結果が不受理であったら、認証結果  result  を認証失敗として出力する（ステップ４０９）。ただし、認証が失敗したアンリンカブル認証データも、アンリンカブル認証データ記憶装置３１−３に記憶しても構わない。アンリンカブル認証データから被認証者の特定を行う処理は第１の実施形態と同様のため、その説明は省略する。【００５０】
なお、第２の実施形態の変形例として次の構成が可能である。被認証者装置２１は、グループの暗号化鍵を受信し、暗号文を生成し、認証補助装置６１に認証補助要求データを送信する認証補助要求部２１−５と、認証補助装置６１から認証補助データを受信し、アンリンカブル認証データを生成するアンリンカブル認証データ生成部２１−６を少なくとも有する。検証装置３１は、アンリンカブル認証データとグループの検証鍵を受信し、検証を行う検証部３１−２を少なくとも有する。被認証者特定装置５０は、アンリンカブル認証データとグループの秘密鍵を入力し、被認証者の特定を行う被認証者特定部５０−２を少なくとも有する。【００５１】
［第３の実施形態］
図１５に示すように、本発明の第３の実施形態による匿名認証システムはグループ管理装置１０と被認証者装置２１と認証補助装置６２と検証装置３０と検証補助装置４２と被認証者特定装置５０とを有している。グループ管理装置１０はグループを管理する。被認証者装置２１は、グループ管理装置１０が管理するグループに所属する被認証者が操作する。認証補助装置６２は認証データ生成行為の補助を行う。検証装置３０は、認証を試みているユーザがグループに所属していることを検証する。検証補助装置４２は上記検証行為の補助を行う。被認証者特定装置５０は、何らかの問題が起こった場合に被認証者の匿名性を剥奪する。【００５２】
グループ管理装置１０と被認証者装置２１、グループ管理装置１０と検証補助装置４２、グループ管理装置１０と被認証者特定装置５０、被認証者装置２１と検証装置３０、被認証者装置２１と認証補助装置６２、検証装置３０と検証補助装置４２、検証装置４２と被認証者特定装置５０はそれぞれインターネットなどのネットワークを通じて接続されている。【００５３】
なお、複数のグループが存在する場合、グループごとにグループ管理装置は存在し、各グループに複数の被認証者装置および検証装置が存在してもよい。また、グループに対応したグループの暗号化鍵  enc_g  が被認証者装置２２に入力される。グループの暗号化鍵  enc_g  に対応したグループの復号鍵  dec_g  が、認証補助装置６２および被認証者特定装置５２に入力される。これらの暗号化・復号鍵はグループごとに存在する。さらに、認証用共有鍵  ck_g  が認証補助装置６２および検証補助装置４２に入力される。【００５４】
図１６は認証補助装置６２のブロック図、図１７は検証補助装置４２のブロック図である。グループ管理装置１０と検証装置３０と被認証者特定装置５０は第１の実施の形態と同様のため、図示を省略する。また、被認証者装置２１は第２の実施の形態と同様のため、図示を省略する。【００５５】
図１６に示すように、認証補助装置６２は、認証補助要求とグループの復号鍵を受信し、暗号文の復号を行う復号部６２−１と、メンバーリストを受信し、署名の検証を行う署名検証部６２−２と、認証用共有鍵を受信し、暗号文にメッセージ認証子をつけるメッセージ認証子生成部６２−３とを有する。【００５６】
図１７に示すように、検証補助装置４２は、検証補助要求を受信し、検証補助要求に含まれる暗号文につけられたメッセージ認証子の検証を行うメッセージ認証子検証部４２−１を有する。【００５７】
本実施の形態における事前処理（入会登録処理）は、第１の実施の形態の事前処理（入会登録処理）と同様のため、その説明を省略する。【００５８】
認証処理の流れについて、図１８、１９を参照して説明する。ここでは例として、署名鍵  sk_u，検証鍵  vk_u  を持つユーザUが登録を済ませ、ID・鍵ペア記憶装置２１−２には、(ID_u,  (sk_u,  vk_u))  が記憶されていることとして、説明する。【００５９】
まず、被認証者装置２１の認証要求部２１−３は、検証装置３０に認証要求  req_a  を送信する（ステップ５０１）。認証要求  req_a  を受信したチャレンジ生成部３０−１は、ランダムなメッセージであるチャレンジ  nonce  を被認証者装置２１に送信する（ステップ５０２）。チャレンジ  nonce  を受信した署名生成部２１−４は、ＩＤ・鍵ペア記憶装置２１−２に記憶されている  sk_u  を用いて、チャレンジ  nonce  に対するユーザＵの署名σを生成する（ステップ５０３）。次に、グループの暗号化鍵  enc_g  を受信した認証補助要求部２１−５はID_u||σを暗号化し、暗号文Ｃを生成する。さらに、暗号文Ｃを含む、認証補助要求データ  req_h  を認証補助装置６２に送信する（ステップ５０４）。認証補助要求データ  req_h  とグループの復号鍵  dec_g  を受信した復号部６２−１は、認証補助要求データ  req_h  に含まれる暗号文Ｃを復号し、復号データを  ID||σとパースする（ステップ５０５）。次に、グループ管理装置１０のメンバー登録情報記憶装置１０−２に記憶されているメンバーリスト  List  を受信した署名検証部６２−２は、メンバーリストList  に  ID  が記載されているか確認する。ID  がメンバーリスト  List  に記載されていたら、ID  に対応する検証鍵  vk  を用いて  σ  の検証を行う（ステップ５０６）。ID  がメンバーリスト  List  に記載されていない、あるいは、σ  の検証結果が不受理であった場合、以降の動作を停止する。ID  がメンバーリスト  List  に記載されている、かつ、ID  に対応する検証鍵  vk  を用いて  σ  が受理された場合、認証用共有鍵  ck_g  を受信したメッセージ認証子生成部６２−３は、暗号文Ｃのメッセージ認証子  MAC_C  を生成する。さらに、(C,  MAC_C)  を含む認証補助データ  ans_h  を被認証者装置２１に送信する（ステップ５０７）。認証補助データ  ans_h  を受信したアンリンカブル認証データ生成部２１−６は、認証補助データ  ans_h  に含まれる(C,  MAC_C)を含むアンリンカブル認証データ  response  を検証装置３０に送信する（ステップ５０８）。アンリンカブル認証データ  response  を受信した検証補助要求部３０−２は、アンリンカブル認証データ  response  に含まれる  (C,  MAC_C)  を含む検証補助要求データ  req_v  を検証補助装置４２に送信する（ステップ５０９）。検証補助要求データ  req_v  と認証用共有鍵  ck_g  を受信したメッセージ認証子検証部４２−１は、検証補助要求データ  req_v  に含まれる  (C,  MAC_C)  の検証を行う。検証結果（受理または不受理）を検証補助データ  ans_v  として、検証装置３０に送信する（ステップ５１０）。検証補助データ  ans_v  を受信した検証部３０−３は、認証結果  result  を生成し、出力する。ただし、検証補助データ  ans_v  が受理であった場合、検証結果  result  は認証成功、検証補助データ  ans_v  が不受理であった場合、検証結果  result  は認証失敗、となる。さらに、認証に成功したアンリンカブル認証データ  response  を、アンリンカブル認証データ記憶装置３０−４に記憶する（ステップ５１１）。ただし、認証が失敗したアンリンカブル認証データも、アンリンカブル認証データ記憶装置３０−４に記憶しても構わない。アンリンカブル認証データから被認証者の特定を行う処理は第１の実施の形態と同様のため、その説明は省略する。【００６０】
なお、第３の実施形態の変形例として次の構成が可能である。被認証者装置２１は、グループの暗号化鍵を受信し、暗号文を生成し、認証補助装置６１に認証補助要求データを送信する認証補助要求部２１−５と、認証補助装置６１から認証補助データを受信し、アンリンカブル認証データを生成するアンリンカブル認証データ生成部２１−６を少なくとも有する。検証装置３０は、検証補助装置４０に対して、検証の補助行為を依頼する検証補助要求を出力する検証補助要求部３０−２と、検証補助要求に応答した検証補助装置４０から検証補助データを受信し、また被認証者装置２０からアンリンカブル認証データを入力し、検証結果を出力する検証部３０−３とを少なくとも有する。被認証者特定装置５０は、アンリンカブル認証データとグループの秘密鍵を入力し、被認証者の特定を行う被認証者特定部５０−２を少なくとも有する。【００６１】
［具体例１］
本具体例は、第１の実施の形態による匿名認証システムを、公開鍵暗号方式および電子署名方式を用いて実現する場合の例である。【００６２】
本発明が用いる公開鍵暗号方式として、例えば，文献：R.  Cramer  and  V.  Shoup.「  Design  and  Analysis  of  Practical  Public-Key  Encryption  Schemes  Secure  against  Adaptive  Chosen  Ciphertext  Attack」In  Advances  in  Cryptology-Crypto'98,  pp.  13-25,  1998.  （参考文献１）に記載されている公開鍵暗号方式（以下、Cramer-Shoup  暗号方式）を用いることができる。さらに本発明が用いる電子署名方式として、文献：R.  Cramer  and  V.  Shoup.「  Signature  Schemes  Based  on  the  Strong  RSA  Assumption」.  ACM  Transactions  on  Information  and  System  Security  (ACM  TISSEC),  3(3),  pp.  161-185,  2000.  （参考文献２）に記載されている電子署名方式（以下、Cramer-Shoup  署名方式）を用いることができる。また、本発明においては、参考文献１に記載の  Cramer-Shoup  暗号方式だけでなく、例えば  RSA-OAEP  暗号方式など、暗号文からメッセージに関する情報が全く漏れないという安全性が数学的に証明可能な公開鍵暗号方式であれば、他の公開鍵暗号方式であってもよい。RSA-OAEP  暗号方式  は、文献:  R.  Rivest,  A.  Shamir  and  L.  Adleman.  「A  Method  for  Obtaining  Digital  Signatures  and  Public-Key」  Cryptosystems.  Communications  of  the  ACM,  21(2),  pp.  120-126,  1978.（参考文献３）に記載されている  RSA  暗号方式と、文献：M.  Bellare  and  P.  Rogaway.  「Optimal  Asymmetric  Encryption  -  How  to  Encrypt  with  RSA」  In  Advancesin  Cryptology-Eurocrypt  ’94,  pp.  92-111,  Springer-Verlag,  1994.（参考文献４）に記載されている  Optimal  Asymmetric  Encryption  Padding(OAEP)を組み合わせた素因数分解問題に基づく公開鍵暗号方式である。同様に、参考文献２に記載の  Cramer-Shoup  署名方式だけでなく、例えば  Fiat-Shamir  署名方式など、ある検証鍵で受理される署名データは、その検証鍵に対応した署名鍵を知らないと生成できないという安全性が数学的に証明可能な電子署名方式であれば、他の電子署名方式であってもよい。Fiat-Shamir  署名方式は、文献：Fiat,  A.,  and  A.  Shamir,  「How  to  prove  yourself:  Practival  solutions  to  identification  and  signature  problems」”  Proceedings  of  CRYPTO  ’86,  LNCS  263,  pp.  186-197,  Springer-Verlag,  1987.（参考文献５）に記載されている署名方式であって、ランダムオラクルと呼ばれる理想的なハッシュ関数の存在を仮定し、さらに素因数分解仮定という数学的な仮定をおくことにより安全性を証明できる電子署名方式である。【００６３】
まず、Cramer-Shoup  暗号方式について説明する。Cramer-Shoup  暗号方式は、公開鍵暗号方式であって、DDH  仮定と呼ばれる数学的な仮定をおくことにより安全性を証明できる公開鍵暗号方式である。Cramer-Shoup  暗号は、鍵セットアップ、暗号化処理、復号処理の３つの構成要素からなる。【００６４】
ここでは，ボブがアリスにメッセージを送信することを例として説明する。【００６５】
まず、鍵セットアップについて説明する．アリスは位数  q  の巡回群Gを生成し、２つの異なる生成元  g_1,  g_2  をランダムに選ぶ。さらに、アリスは  素数  q  を法とする剰余群（以降  Z_{q}  と表記する）からランダムに６つの値  x_1,  x_2,  y_1,  y_2,  z_1,  z_2  を選ぶ．次に、アリスは、c=g_1^{x_1}・g_2^{x_2}、d=g_1^{y_1}・g_2^{y_2}、h=g_1^{z_1}・g_2^{z_2}  を計算する。また、アリスは衝突困難なハッシュ関数  H  を選ぶ。ハッシュ関数  H  は、３つのGの元から  Z_{q}  へのハッシュ関数である。このとき、アリスの暗号化鍵は  (G,  g_1,  g_2,  (c,  d,  h),  H)  となる。また、アリスの復号鍵は  (x_1,  x_2,  y_1,  y_2,  z_1,  z_2)  となる。アリスは暗号化鍵を公開し、ボブはアリスの暗号化鍵を受信している。【００６６】
次に、暗号化処理について説明する。ここではボブがアリスにメッセージとして、巡回群Gの元  m  を暗号化して送信することとする。ボブはランダムな値  k  を  Z_{q}  から選ぶ。さらに、u_1=g_1^{k}、u_2=g_2^{k}、e=h^{k}・m、α=  H(u_1,  u_2,  e)、v=c^{k}d^{k・α}  を計算する。ボブは  (u_1,  u_2,  e,  v)  を暗号文として、アリスに送信する。【００６７】
次に、復号処理について説明する。アリスは、α=H(u_1,  u_2,  e)  を計算し、v=u_1^{x_1+α・y_1}・u_2^{x_2+α・y_2}が成立することを確認する。もしも等式が成立していなかったら、復号不可能な暗号文が送られてきたとして、以降の処理を中止する。等式が成立していたら、アリスは、m=e/(u_1^{z_1}・u_2^{z_2})  を計算し、メッセージ  m  を得る。【００６８】
次に、Cramer-Shoup  署名について説明する。Cramer-Shoup  署名方式は、電子署名方式であって、強  RSA  仮定と呼ばれる数学的な仮定をおくことにより安全性を証明できる電子署名方式である。Cramer-Shoup  署名は、鍵セットアップ、署名生成処理、署名検証処理の３つの構成要素からなる。【００６９】
まず、鍵セットアップについて説明する。２つの異なるセキュリティパラメータ  k,  k'  を選び、k  ビットの素数  p,  q  をランダムに選ぶ。このとき、素数  p，q  は素数  p',  q'  に対して、p=2p'+1、q=2q'+1を満たすように選ぶ。次に、n=p・q  を計算する。以降、法  n  に対して、x^{2}≡a  (mod  n)  を満たす  a  の集合を  QR(n)  と表記する。次に、QR(n)  からランダムな２つの要素  h,  x  を選ぶ。さらに、(k'+1)  ビットの素数  e'  を選ぶ。また、衝突困難なハッシュ関数  H'  を選ぶ。ハッシュ関数  H'  は、任意の長さのバイナリ系列の集合から  k'+1  ビット長のバイナリ系列の集合へのハッシュ関数である。このとき、検証鍵は  ((n,  h,  x,  e'),  H')  で、公開されている。検証鍵に対応する署名鍵は  (p,  q)  である。【００７０】
次に、署名生成処理について説明する。ここでは、メッセージ  m  に対して署名を施すこととする。署名者はまず、H'(m)  を計算する。次に、e'  とは異なる  k'+1  ビットの素数  e  と  QR(n)  の元  y'  をランダムに選び、y'^{e'}=x'・h^{H'(m)}  mod  n  を満たす  x'  を計算する。同様にして、y^{e}=x・h^{H'(x')}  mod  n  を満たす  y  を計算する。署名データを  (e,  y,  y')  とする。【００７１】
次に、署名検証処理について説明する。検証者はまず、e  が  e'  とは異なる  k'+1  ビットの素数であることを確認する。次に、x'=(y')^{e'}・h^{-H'(m)}  を計算し、x=y^{e}・h^{-H'(x')}  が成立することを確認する。等号が成立していたら受理を、等号が成立していなかったら不受理を出力する。【００７２】
次に、具体的な例を用いて本発明を実施する動作を説明する。本具体例は、第１の実施の形態による匿名認証システムを、Cramer-Shoup  暗号方式および  Cramer-Shoup  署名方式を用いて実施する場合の例である。ここでは例として、グループの暗号化鍵  enc_g  として、Cramer-Shoup  暗号の暗号化鍵  enc_g=(G,  g_1,  g_2,  (c_g,  d_g,  h_g),  H_g)  が公開されていることとする。また、対応する復号鍵  dec_g  を  dec_g=(x_{g,1},  x_{g,2},  y_{g,1},  y_{g,2},  z_{g,1},  z_{g,2})  とする。さらに、グループに加入しようとするユーザ  U  は、Cramer-Shoup  署名の署名鍵  sk_u=(p_u,  q_u)  および対応する検証鍵  vk_u=((n_u,  h_u,  x_u,  e'_u),  H'_u)  を持つこととして説明する。【００７３】
まず、認証の際の事前処理（入会登録処理）について説明する。ユーザUは署名鍵・検証鍵ペア（sk_u，vk_u）を被認証者装置２０に入力する。検証鍵  vk_u  を受信した登録要求部２０−１は、グループ管理装置１０に登録要求  req_r  を送信する。このとき登録要求  req_r  には、ユーザUの検証鍵  vk_u，および住所、氏名、年齢など、登録に必要な個人情報が含まれている。登録要求  req_r  を受信した登録処理部１０−１は、ユーザUに対する固有のＩＤ  ID_u  を発行し、被認証者装置２０に  ID_u  を送信する。ただし、登録に何らかの条件（性別制限、年齢制限、２重登録禁止など）がある場合、登録要求  req_r  にしたがって登録処理部１０−１が審査を行い、条件を満たさないユーザUからの登録要求であった場合、登録不可を被認証者装置２０に送信してもよい。ユーザが登録不可であった場合、そのユーザに対する以降のやり取りは中止する。グループ管理装置１０は、メンバー登録情報記憶装置１０−２よりメンバーリスト  List  を受信し、（ID_u,  req_r）をメンバーリスト  List  に追記し、更新されたメンバーリスト  List  をメンバー登録情報記憶装置１０−２に記憶する。ID_u  を受信した被認証者装置２０は、(ID_u,  (sk_u,  vk_u））をID・鍵ペア記憶装置２０−２に記憶する。【００７４】
次に、認証処理の流れについて説明する。ここでは例として、署名鍵  sk_u，検証鍵  vk_u  を持つユーザUが登録を済ませ、ID・鍵ペア記憶装置２０−２には、(ID_u,  (sk_u,  vk_u))  が記憶されていることとして、説明する。【００７５】
まず、被認証者装置２０の認証要求部２０−３は、検証装置３０に認証要求  req_a  を送信する。認証要求  req_a  は、システムによって定められた定型文でよい。認証要求  req_a  を受信したチャレンジ生成部３０−１は、ランダムに  nonce  を選び、nonce  を被認証者装置２０に送信する。チャレンジ  nonce  を受信した署名生成部２０−４は、ＩＤ・鍵ペア記憶装置２０−２に記憶されている  sk_u  を用いて、H'_u(nonce)  を計算する。次に、e'_u  とは異なる  k'+1  ビットの素数  e  と  QR(n_u)  の元  y'  をランダムに選び、y'^{e'_u}=x'・h_u^{H'_u(nonce)}  mod  n_u  を満たす  x'_u  を計算する。同様にして、y_u^{e}=x_u・h_u^{H'_u(x')}  mod  n_u  を満たす  y  を計算する。署名データを  σ=(e,  y,  y')  とする。次に、グループの暗号化鍵  enc_g=(G,  g_1,  g_2,  (c_g,  d_g,  h_g),  H_g)  を受信したアンリンカブル認証データ生成部２０−５は、ランダムな値  k  を  Z_{q}  から選ぶ。さらに、u_1=g_1^{k}、u_2=g_2^{k}、e=h_g^{k}・(ID_u||σ)、α=  H_g(u_1,  u_2,  e)、v=c_g^{k}d_g^{k・α}  を計算する。暗号文  C=(u_1,  u_2,  e,  v)  とする。さらに、アンリンカブル認証データ  response=(nonce,  C)  を検証装置３０に送信する。【００７６】
アンリンカブル認証データ  response  を受信した検証補助要求部３０−２は、暗号文Ｃを含む検証補助要求データ  req_v=response  を、検証補助装置４０に送信する。検証補助要求データ  req_v  とグループの復号鍵  dec_g=(x_{g,1},  x_{g,2},  y_{g,1},  y_{g,2},  z_{g,1},  z_{g,2})  を受信した認証データ復号部４０−１は、検証補助要求データ  req_v  に含まれる暗号文Ｃ=(u_1,  u_2,  e,  v)  から、α=H_g(u_1,  u_2,  e)  を計算し、v=u_1^{x_{g,1}+α・y_{g,1}}・u_2^{x_{g,2}+α・y_{g,2}}が成立することを確認する。もしも等式が成立していなかったら、復号不可能な暗号文が送られてきたとして、以降の処理を中止する。等式が成立していたら、m=e/(u_1^{z_{g,1}}・u_2^{z_{g,2}})  を計算し、メッセージ  m  を得る。さらに、結果得られたメッセージ  m  を  ID||σ  とパースする。つまり、m  を  ID，σ=(e,  y,  y')に分解する。【００７７】
次に、グループ管理装置１０のメンバー登録情報記憶装置１０−２に記憶されているメンバーリスト  List  を受信した署名検証部４０−２は、メンバーリスト  List  に  ID  が記載されているか確認する。記載されていない場合、不受理である旨を検証補助データ  ans_v  として検証装置３０に送信する。記載されている場合、ID  に対応する検証鍵  vk=((n,  h,  x,  e'),  H')  を用いて、まず、e  が  e'  とは異なる  k'+1  ビットの素数であることを確認する。次に、x'=(y')^{e'}・h^{-H'(nonce)}  を計算し、x=(y)^{e}・h^{-H'(x')}  が成立することを確認する。等号が成立していたら受理を、等号が成立していなかったら不受理とする。その署名検証結果（受理または不受理）を検証補助データ  ans_v  として検証装置３０に送信する。検証補助データ  ans_v  を受信した検証部３０−３は、検証補助データ  ans_v  が受理であったら認証結果  result  を認証成功として出力する。検証補助データ  ans_v  が不受理であったら、認証結果  result  を認証失敗として出力する。さらに、認証が成功したアンリンカブル認証データ  response  をアンリンカブル認証データ記憶装置３０−４に記憶する。ただし、認証が失敗したアンリンカブル認証データも、アンリンカブル認証データ記憶装置３０−４に記憶しても構わない。【００７８】
次に、アンリンカブル認証データから被認証者の特定を行う処理を説明する。ここでは例として、検証装置３０の備えるアンリンカブル認証データ記憶装置３０−４に記憶されている、アンリンカブル認証データ  response_i  を生成した被認証者のＩＤを特定することとして説明する。【００７９】
まず、アンリンカブル認証データ記憶装置３０−４に記憶されているアンリンカブル認証データ  response_i=(nonce_i,  C_i)  を受信した検証装置３０の被認証者特定要求部３０−５は、被認証者特定要求データ  req_t=response_i  を被認証者装置５０に送信する。被認証者特定要求データ  req_t  およびグループの復号鍵  dec_g=(x_{g,1},  x_{g,2},  y_{g,1},  y_{g,2},  z_{g,1},  z_{g,2})  を受信した認証データ復号部５０−１は、被認証者特定要求データ  req_t  に含まれる暗号文Ｃ_i=(u_{i,1},  u_{i,2},  e_i,  v_i)  から、α=H_g(u_{i,1},  u_{i,2},  e_i)  を計算し、v=u_{i,1}^{x_{g,1}+α・y_{g,1}}・u_{i,2}^{x_{g,2}+α・y_{g,2}}が成立することを確認する。もしも等式が成立していなかったら、復号不可能な暗号文が送られてきたとして、以降の処理を中止する。等式が成立していたら、m_i=e_i/(u_{i,1}^{z_{g,1}}・u_{i,2}^{z_{g,2}})  を計算し、メッセージ  m_i  を得る。さらに、結果得られたメッセージ  m_i  を  ID_i||σ_i  とパースする。つまり、m_i  を  ID_i，σ_i=(e_i,  y_i,  y'_i)に分解する。次に、グループ管理装置１０の具備するメンバー登録情報記憶装置１０−２に記憶されているメンバーリスト  List  を受信した被認証者特定部５０−２は、ID_i  がメンバーリスト  List  に記載されていることを確認する。ID_i  がメンバーリスト  List  に記載されていたら、ID_i  に対応する検証鍵  vk_i=((n_i,  h_i,  x_i,  e'_i),  H'_i)  を用いて、まず、e_i  が  e'_i  とは異なる  k'+1  ビットの素数であることを確認する。次に、x'_i=(y'_i)^{e'_i}・h_i^{-H'_i(nonce_i)}  を計算し、x_i=(y_i)^{e_i}・h_i^{-H'_i(x'_i)}  が成立することを確認する。等号が成立していたら受理を、等号が成立していなかったら不受理とする。検証結果が受理であったら、アンリンカブル認証データ  response_i  は、ID  ID_i  を持つユーザの作成した認証データであると出力する。ID_i  がメンバーリスト  List  に記載されていない、あるいは、σ_i  の検証結果が不受理であった場合、被認証者特定を要求されたアンリンカブル認証データ  response_i  は受理されない認証データであると出力する。【００８０】
［具体例２］
本具体例は、第２の実施の形態による匿名認証システムを、Cramer-Shoup  暗号方式および  Cramer-Shoup  署名方式を用いて実施する場合の具体例である。【００８１】
ここでは、グループの暗号化鍵  enc_g  として、Cramer-Shoup  暗号の暗号化鍵  enc_g=(G,  g_1,  g_2,  (c_g,  d_g,  h_g),  H_g)  が公開されていることとする。また、対応する復号鍵  dec_g  を  dec_g=(x_{g,1},  x_{g,2},  y_{g,1},  y_{g,2},  z_{g,1},  z_{g,2})  とする。グループの署名鍵  sk_g  として、Cramer-Shoup  署名の署名鍵  sk_g=(p_g,  q_g)  および対応する検証鍵  vk_g=((n_g,  h_g,  x_g,  e'_g),  H'_g)  を持つこととする。さらに、グループに加入しようとするユーザ  U  は、Cramer-Shoup  署名の署名鍵  sk_u=(p_u,  q_u)  および対応する検証鍵  vk_u=((n_u,  h_u,  x_u,  e'_u),  H'_u)  を持つこととして説明する。【００８２】
本具体例における事前処理（入会登録処理）は、第１の具体例の事前処理（入会登録処理）と同様のため、その説明は省略する。【００８３】
認証処理の流れについて説明する。【００８４】
まず、被認証者装置２１の認証要求部２１−３は、検証装置３１に認証要求  req_a  を送信する。認証要求  req_a  は、システムによって定められた定型文でよい。認証要求  req_a  を受信したチャレンジ生成部３１−１は、ランダムに  nonce  を選び、nonce  を被認証者装置２１に送信する。チャレンジ  nonce  を受信した署名生成部２１−４は、ＩＤ・鍵ペア記憶装置２１−２に記憶されている  sk_u  を用いて、まず、H'_u(nonce)  を計算する。次に、e'_u  とは異なる  k'+1  ビットの素数  e  と  QR(n_u)  の元  y'  をランダムに選び、y'^{e'_u}=x'・h_u^{H'_u(nonce)}  mod  n_u  を満たす  x'_u  を計算する。同様にして、y_u^{e}=x_u・h_u^{H'_u(x')}  mod  n_u  を満たす  y  を計算する。署名データを  σ=(e,y,  y')  とする。次に、グループの暗号化鍵  enc_g=(G,  g_1,  g_2,  (c_g,  d_g,  h_g),  H_g)  を受信した認証補助要求部２１−５は、ランダムな値  k  を  Z_{q}  から選ぶ。さらに、u_1=g_1^{k}、u_2=g_2^{k}、e=h_g^{k}・(ID_u||σ)、α=  H_g(u_1,  u_2,  e)、v=c_g^{k}d_g^{k・α}  を計算する。暗号文  C=(u_1,  u_2,  e,  v)  とする。さらに、認証補助要求データ  req_h=(nonce,  C)  を認証補助装置６１に送信する。【００８５】
認証補助要求データ  req_h  とグループの復号鍵  dec_g=(x_{g,1},  x_{g,2},  y_{g,1},  y_{g,2},  z_{g,1},  z_{g,2})  を受信した復号部６１−１は、認証補助要求データ  req_h  に含まれる暗号文Ｃから、α=H_g(u_1,  u_2,  e)  を計算し、v=u_1^{x_{g,1}+α・y_{g,1}}・u_2^{x_{g,2}+α・y_{g,2}}が成立することを確認する。もしも等式が成立していなかったら、復号不可能な暗号文が送られてきたとして、以降の処理を中止する。等式が成立していたら、m=e/(u_1^{z_{g,1}}・u_2^{z_{g,2}})  を計算し、メッセージ  m  を得る。さらに、結果得られたメッセージ  m  を  ID||σ  とパースする。つまり、m  を  ID，σ=(e,  y,  y')に分解する。【００８６】
次に、グループ管理装置１０のメンバー登録情報記憶装置１０−２に記憶されているメンバーリスト  List  を受信した署名検証部６１−２は、メンバーリスト  List  に  ID  が記載されているか確認する。ID  がメンバーリスト  List  に記載されていたら、ID  に対応する検証鍵  vk  を用いて、まず、e  が  e'  とは異なる  k'+1  ビットの素数であることを確認する。次に、x'=(y')^{e'}・h^{-H'(nonce)}  を計算し、x=(y)^{e}・h^{-H'(x')}  が成立することを確認する。等号が成立していたら受理を、等号が成立していなかったら不受理とする。ID  がメンバーリスト  List  に記載されていない、あるいは、σ  の検証結果が不受理であった場合、以降の動作を停止する。ID  がメンバーリスト  List  に記載されている、かつ、ID  に対応する検証鍵  vk  を用いて  σ  が受理された場合、グループの署名鍵  sk_g=(p_g,  q_g)  を受信したグループの署名生成部６１−３は、グループの署名鍵  sk_g=(p_g,  q_g)  を用いて、まず、H'_g(nonce||C)  を計算する。次に、e'_g  とは異なる  k'+1  ビットの素数  e_g  と  QR(n_g)  の元  y'_g  をランダムに選び、y'_g^{e'_g}=x'・h_g^{H'_g(nonce||C)}  mod  n_g  を満たす  x'_g  を計算する。同様にして、y_g^{e_g}=x_g・h_g^{H'_g(x')}  mod  n_u  を満たす  y_g  を計算する。署名データを  σ_g=(e_g,  y_g,  y'_g)  とする。さらに、認証補助データ  ans_h=(nonce,  C,  σ_g)  を被認証者装置２１に送信する。認証補助データ  ans_h  を受信したアンリンカブル認証データ生成部２１−６は、アンリンカブル認証データ  response=ans_h  を検証装置３１に送信する。【００８７】
アンリンカブル認証データ  response  およびグループの検証鍵  vk_g  を受信した検証部３１−２は、検証鍵  vk_g=((n_g,  h_g,  x_g,  e'_g),  H'_g)  を用いて、まず、e_g  が  e'_g  とは異なる  k'+1  ビットの素数であることを確認する。次に、x'_g=(y'_g)^{e'_g}・h_g^{-H'_g(nonce||C)}  を計算し、x_g=(y_g)^{e_g}・h_g^{-H'_g(x'_g)}  が成立することを確認する。等号が成立していたら受理を、等号が成立していなかったら不受理とする。また、検証結果が不受理であったら、認証結果  result  を認証失敗として出力する。ただし、認証が失敗したアンリンカブル認証データも、アンリンカブル認証データ記憶装置３１−３に記憶しても構わない。【００８８】
アンリンカブル認証データから被認証者の特定を行う処理は実施例１と同様のため、その説明は省略する。【００８９】
［第３の具体例］
本具体例は、第３の実施の形態による匿名認証システムを、公開鍵暗号方式、電子署名方式およびメッセージ認証方式を用いて実現する場合の具体例である。【００９０】
メッセージ認証方式とはメッセージの同一性の保証であり、コンピュータウイルス、不正侵入等を使った破壊行為によりメッセージが変更されていないことを保証する。なお、本具体例では、本発明が用いる公開鍵暗号方式として、Cramer-Shoup  暗号方式を、電子署名方式として、Cramer-Shoup  署名方式を、メッセージ認証方式として、例えば、文献：Mihir  Bellare,  Ran  Canetti,  Hugo  Krawczyk，「Keying  Hash  Functions  for  Message  Authentication」，In  Advances  in  Cryptology  -  Crypto'96,  LNCS  1109,  1996.（参考文献６）に記載されているメッセージ認証方式（以降、HMACと表記する）を用いることができる。HMACには、ハッシュ関数  H  を用いる．ハッシュ関数としては、MD5、SHA-1、SHA-224、SHA-256  など任意のハッシュ関数を用いることができる。秘密鍵を  K  としたとき、メッセージ  m  に対する  HMAC  は次のように定義される：
HMAC_{K}(m)  =  h((K  XOR  opad)||h((K+ipad)||m))．
ここで、XOR  はビットごとの排他的論理和を表す。すなわち、A=1001、B=1100  としたとき、(A  XOR  B)=0101  となる。また、opad、ipad  は長さがハッシュ関数のブロック長サイズである定数で、それぞれ  opad=0x5c5c5c...5c、ipad=0x363636...36  と定義される。例えば、２５６ビットのブロック長を持つハッシュ関数を利用した場合、opad、ipad  はそれぞれ３２個の  0x5c  や  0x36  の連続した値となる。以降、HMAC_{K}(m)  を  m  のMAC値と呼ぶ。【００９１】
次に、具体例を用いて本発明を実施するための動作を説明する。
本具体例は、本発明の第３の実施の形態による匿名認証システムを、Cramer-Shoup  暗号方式、Cramer-Shoup  署名方式、および  HMAC  を用いて実施実現する場合の具体例である。ここでは例として、グループの暗号化鍵  enc_g  として、Cramer-Shoup  暗号の暗号化鍵  enc_g=(G,  g_1,  g_2,  (c_g,  d_g,  h_g),  H_g)  が公開されていることとする。また、対応する復号鍵  dec_g  を  dec_g=(x_{g,1},  x_{g,2},  y_{g,1},  y_{g,2},  z_{g,1},  z_{g,2})  とする。さらに、グループに加入しようとするユーザ  U  は、Cramer-Shoup  署名の署名鍵  sk_u=(p_u,  q_u)  および対応する検証鍵  vk_u=((n_u,  h_u,  x_u,  e'_u),  H'_u)  を持つこととして説明する。また、認証補助装置６２と検証補助装置４２は、認証用共有鍵  ck_g  =  K  として、HMAC  の秘密鍵を共有している。【００９２】
本具体例における事前処理（入会登録処理）は、第１の具体例の事前処理（入会登録処理）と同様のため、その説明は省略する。【００９３】
認証処理の流れについて説明する。
まず、被認証者装置２１の認証要求部２１−３は、検証装置３１に認証要求  req_a  を送信する。認証要求  req_a  は、システムによって定められた定型文でよい。認証要求  req_a  を受信したチャレンジ生成部３０−１は、ランダムに  nonce  を選び、nonce  を被認証者装置２１に送信する。チャレンジ  nonce  を受信した署名生成部２１−４は、ＩＤ・鍵ペア記憶装置２１−２に記憶されている  sk_u  を用いて、H'_u(nonce)  を計算する。次に、e'_u  とは異なる  k'+1  ビットの素数  e  と  QR(n_u)  の元  y'  をランダムに選び、y'^{e'_u}=x'・h_u^{H'_u(nonce)}  mod  n_u  を満たす  x'_u  を計算する。同様にして、y_u^{e}=x_u・h_u^{H'_u(x')}  mod  n_u  を満たす  y  を計算する。署名データを  σ=(e,  y,  y')  とする。次に、グループの暗号化鍵  enc_g=(G,  g_1,  g_2,  (c_g,  d_g,  h_g),  H_g)  を受信したアンリンカブル認証データ生成部２１−５は、ランダムな値  k  を  Z_{q}  から選ぶ。さらに、u_1=g_1^{k}、u_2=g_2^{k}、e=h_g^{k}・(ID_u||σ)、α=  H_g(u_1,  u_2,  e)、v=c_g^{k}d_g^{k・α}  を計算する。暗号文  C=(u_1,  u_2,  e,  v)  とする。さらに、アンリンカブル認証データ  response=(nonce,  C)  を認証補助装置６２に送信する。【００９４】
認証補助要求データ  req_h  とグループの復号鍵  dec_g=(x_{g,1},  x_{g,2},  y_{g,1},  y_{g,2},  z_{g,1},  z_{g,2})  を受信した復号部６２−１は、認証補助要求データ  req_h  に含まれる暗号文Ｃから、α=H_g(u_1,  u_2,  e)  を計算し、v=u_1^{x_{g,1}+α・y_{g,1}}・u_2^{x_{g,2}+α・y_{g,2}}が成立することを確認する。もしも等式が成立していなかったら、復号不可能な暗号文が送られてきたとして、以降の処理を中止する。等式が成立していたら、m=e/(u_1^{z_{g,1}}・u_2^{z_{g,2}})  を計算し、メッセージ  m  を得る。さらに、結果得られたメッセージ  m  を  ID||σ  とパースする。つまり、m  を  ID，σ=(e,  y,  y')に分解する。【００９５】
次に、グループ管理装置１０のメンバー登録情報記憶装置１０−２に記憶されているメンバーリスト  List  を受信した署名検証部６２−２は、メンバーリスト  List  に  ID  が記載されているか確認する。ID  がメンバーリスト  List  に記載されていたら、ID  に対応する検証鍵  vk  を用いて、まず、e  が  e'  とは異なる  k'+1  ビットの素数であることを確認する。次に、x'=(y')^{e'}・h^{-H'(nonce)}  を計算し、x=(y)^{e}・h^{-H'(x')}  が成立することを確認する。等号が成立していたら受理を、等号が成立していなかったら不受理とする。ID  がメンバーリスト  List  に記載されていない、あるいは、σ  の検証結果が不受理であった場合、以降の動作を停止する。ID  がメンバーリスト  List  に記載されている、かつ、ID  に対応する検証鍵  vk  を用いて  σ  が受理された場合、認証用共有鍵  ck_g=(K)  を受信したメッセージ認証子生成部６２−３は、認証用共有鍵  ck_g=(K)  を用いて、nonce||C  のMAC値  τ=HMAC_{K}(nonce||C)  を計算する。さらに、認証補助データ  ans_h=(nonce,  C,  τ)  を被認証者装置２１に送信する。認証補助データ  ans_h  を受信したアンリンカブル認証データ生成部２１−６は、アンリンカブル認証データ  response=ans_h  を検証装置３０に送信する。アンリンカブル認証データ  response  を受信した検証補助要求部３０−２は、検証補助要求データ  req_v=response  を、検証補助装置４２に送信する。検証補助要求データ  req_v  と認証用共有鍵  ck_g=(K)  を受信したメッセージ認証子検証部４２−１は、認証用共有鍵  ck_g=(K)  を用いて、nonce||C  のMAC値  τ'=HMAC_{K}(nonce||C)  を計算する。τ'=τであることを確認する。すなわちτ'=τであったら、検証補助データ  ans_v  を受理、τ'≠τであったら、検証補助データ  ans_v  を不受理として、検証装置３０に送信する。検証補助データ  ans_v  を受信した検証部３０−３は、検証補助データ  ans_v  が受理であったら認証結果  result  を認証成功、検証補助データ  ans_v  が不受理であったら認証結果  result  を認証失敗として、出力する。さらに、認証に成功したアンリンカブル認証データ  response  をアンリンカブル認証データ記憶装置３０−４に記憶する。ただし、認証が失敗したアンリンカブル認証データも、アンリンカブル認証データ記憶装置３０−４に記憶しても構わない。アンリンカブル認証データから被認証者の特定を行う処理は第1の具体例と同様のため、その説明は省略する。【００９６】
［第４の具体例］
第１の具体例において、ステップ２０１および２０２を省略し、チャレンジ  nonce  の代わりに被認証者装置が選んだ任意のメッセージ  m  を利用することも可能である。この場合、アンリンカブル認証データ  response  は、アンリンカブル署名データとなる。アンリンカブル署名データは、グループの復号鍵  dec_g  を入力として持たない検証装置には、グループに所属するメンバーの署名であることしか伝わらないが、被認証者特定装置により署名したメンバーのＩＤを特定することが可能である。また、２つのアンリンカブル署名データから、それらが同一のメンバーによる署名か、異なるメンバーによる署名かの識別ができない、という性質を持つ。同様に、第２の具体例においてステップ４０１および４０２、第３の具体例においてステップ５０１および５０２を省略し、チャレンジ  nonce  の代わりに被認証者装置が選んだ任意のメッセージ  m  を利用することも可能である。【００９７】
［第５の具体例］
本実施例は、本発明の匿名認証システムの事業形態を、第１の実施の形態を例にとって具体的に説明する。【００９８】
図１に示す匿名認証システムにおいて、例えば、グループ管理装置１０は、グループを管理する事業者（以下、グループ管理事業者と呼ぶ）によって運営される。グループ管理事業者は、例えば、インターネットサービスプロバイダーであってもよい。また、被認証者装置２０は、例えば、ユーザによって運営される。ユーザは、例えば、インターネットサービスプロバイダーの会員であってもよい。検証装置３０は、例えば、ユーザの登録確認を行い、サービスを提供する事業者（以下，サービスプロバイダーと呼ぶ）によって運営される。サービスプロバイダーは、例えば，公共の無線ＬＡＮサービスにおけるアクセスポイントであってもよい。検証補助装置４０は、例えば、検証装置３０とインターネットなどで接続され，検証装置３０からの検証補助要求に応える事業者（以下，検証補助事業者と呼ぶ）によって運営される。検証補助事業者は、例えば、インターネットサービスプロバイダーのオンライン検証部門であってもよい。被認証者特定装置５０は、例えば、必要に応じて被認証者の匿名性を剥奪する事業者（以下、被認証者特定事業者と呼ぶ）によって運営される。被認証者特定事業者は、例えば、インターネットサービスプロバイダーの課金部門であってもよい。【００９９】
このような事業形態においては、まず、グループ管理事業者が、グループの暗号化鍵  enc_g  と、それに対応したグループの復号鍵  dec_g  を決定し、グループに関する情報とともにグループの暗号化鍵  enc_g  を、例えば新聞・ホームページなどによって公知する。さらに、グループの復号鍵  dec_g  を検証補助事業者および被認証者特定事業者に送付する。次に、ユーザがグループ管理事業者の管理するグループへの入会を希望する。グループ管理事業者は、入会を希望してきたユーザがグループに加入する条件を満たしているか（年齢など）を確認し、条件を満たすユーザに対して入会手続きを行う（例えば、会員証を発行し、ユーザに送付する）。【０１００】
次に、ユーザが、被認証者装置２０にグループの暗号化鍵  enc_g  を入力し、アンリンカブル認証データを検証装置３０に送信させる（例えば、無線ＬＡＮサービスを利用する際に、インターネットサービスプロバイダーの会員であることを証明する認証データを送付する）。アンリンカブル認証データを受信した検証装置３０は、検証補助要求を検証補助装置４０に送信し、検証補助データを得ることにより、検証を行い、認証結果を出力する（例えば、アクセスポイントは、ユーザがインターネットサービスプロバイダーの会員であることを確認し、無線ＬＡＮサービスを提供する）。さらに、検証事業者は、被認証者特定装置５０に対して、各ユーザのアンリンカブル認証データを含む被認証者特定要求を送信させる。被認証者特定事業者は、このようにして送信されたアンリンカブル認証データを受信して、被認証者の特定を行う。例えば、無線ＬＡＮサービスを利用したユーザを特定することにより、その利用状況により課金を行う。【０１０１】
なお、グループ管理事業者、検証補助事業者、被認証者特定事業者は、異なる事業者であっても、同一事業者であってもよい。【０１０２】
なお、上記では第１の実施の形態による匿名認証システムの事業形態について、具体例を示したが、他の実施の形態においても同様の事業形態が可能である。なお、第２または第３の実施の形態による匿名認証システムの場合には、例えば、認証補助装置は認証補助を行う事業者（以下、認証補助事業者と呼ぶ）によって運営される。なお、グループ管理事業者と認証補助事業者は、同一事業者であってもよい。【０１０３】
なお、各装置の機能は、その機能を実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませ、実行するものであってもよい。コンピュータ読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ等の記録媒体、コンピュータシステムに内蔵されるハードディスク装置等の記憶装置を指す。さらに、コンピュータ読み取り可能な記録媒体は、インターネットを介してプログラムを送信する場合のように、短時間、動的にプログラムを保持するもの（伝送媒体もしくは伝送波）、その場合のサーバとなるコンピュータ内の揮発性メモリのように、一定時間プログラムを保持しているものを含む。【０１０４】
以上本発明の好ましい実施形態を特定の用語を用いて説明したが、そのような記載は例示のみを目的としており、種々の変形および修正が以下の特許請求の範囲から外れることなく可能であることが理解されるべきである。【０１０５】
この出願は、２００７年５月２４日に出願された日本出願特願２００７−１３７８５２を基礎とする優先権を主張し、その開示の全てをここに取り込む。
［産業上の利用可能性］
本発明は、通信ネットワークを介して、ユーザのＩＤを秘匿にして認証を行う匿名認証に好適に適用できる。
【図１】
2008146667.tif 000003
【図２】
2008146667.tif 000004
【図３】
2008146667.tif 000005
【図４】
2008146667.tif 000006
【図５】
2008146667.tif 000007
【図６】
2008146667.tif 000008
【図７】
2008146667.tif 000009
【図８】
2008146667.tif 000010
【図９】
2008146667.tif 000011
【図１０】
2008146667.tif 000012
【図１１】
2008146667.tif 000013
【図１２】
2008146667.tif 000014
【図１３】
2008146667.tif 000015
【図１４】
2008146667.tif 000016
【図１５】
2008146667.tif 000017
【図１６】
2008146667.tif 000018
【図１７】
2008146667.tif 000019
【図１８】
2008146667.tif 000020
【図１９】
2008146667.tif 000021
【手続補正書】
【提出日】平成20年12月5日(2008.12.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ユーザのグループを管理するグループ管理装置と、被認証者の操作に基づき、被認証者がグループに属するかの認証を要求する被認証者装置と、認証要求を受信し要求元の被認証者がグループに所属していることを検証する検証装置と、前記検証行為の補助を行う検証補助装置と、被認証者の特定を行う被認証者特定装置と、を有し、
前記被認証者装置が、被認証者が属するグループの公開情報と被認証者に固有の公開情報および秘密情報と毎回の認証ごとに生成される情報ｎｏｎｃｅとからアンリンカブル認証データを生成し、
前記検証補助装置が、前記アンリンカブル認証データから前記グループの公開情報に対応する秘密情報を用いてユーザ固有の公開情報および秘密情報に関する情報を抽出して、前記抽出したユーザ固有の公開情報および秘密情報に関する情報とグループが管理するユーザの公開情報のリストとからグループに所属するユーザがアンリンカブル認証データを作成したことを認証し、該認証の結果を含む認証補助データを作成し、
前記検証装置が、前記アンリンカブル認証データを前記被認証者装置から受信し前記検証補助装置に送付し、前記検証補助装置から前記送付したアンリンカブル認証データに対する認証補助データを受信し、前記認証補助データを用いて被認証者がグループに所属していることを検証し、その検証結果から被認証者がグループに属するかの認証結果を作成し、
前記被認証者特定装置が、前記アンリンカブル認証データとグループの秘密鍵とグループが管理するユーザの公開情報のリストとから、前記アンリンカブル認証データに対応する被認証者の特定を行う
匿名認証システム。
【請求項２】
ユーザのグループを管理するグループ管理装置と、被認証者の操作に基づき被認証者がグループに属するかの認証を要求する被認証者装置と、認証要求を受信し要求元の被認証者がグループに所属していることを検証する検証装置と、前記認証行為の補助を行う認証補助装置と、被認証者の特定を行う被認証者特定装置と、を有し、
前記被認証者装置が、被認証者が属するグループの公開情報とユーザ固有の公開情報および秘密情報と毎回の認証ごとに生成される情報ｎｏｎｃｅとから認証補助要求を生成し、
前記認証補助装置が、前記認証補助要求に応答し、グループの公開情報に対応する秘密情報と認証補助要求からユーザ固有の公開情報および秘密情報に関する情報を抽出して、グループが管理するユーザの公開情報のリストから、グループに所属するユーザが認証補助要求を作成したことを検証し、その検証結果とグループの公開情報および秘密情報から認証補助データを生成し、
前記被認証者装置が、認証補助要求に応答した前記認証補助装置から受信した認証補助データを含むアンリンカブル認証データを作成し、
前記検証装置が、前記アンリンカブル認証データとグループの公開情報から、アンリンカブル認証データに含まれる認証補助データがグループの公開情報および秘密情報を用いて生成されたデータであることを検証することにより、被認証者がグループに属するかの認証結果とし、
前記被認証者特定装置が、前記アンリンカブル認証データとグループの秘密鍵とグループが管理するユーザの公開情報のリストとから、前記アンリンカブル認証データに対応する被認証者の特定を行う
匿名認証システム。
【請求項３】
ユーザのグループを管理するグループ管理装置と、被認証者の操作に基づき被認証者がグループに属するかの認証を要求する被認証者装置と、認証要求を受信し要求元の被認証者がグループに所属していることを検証する検証装置と、前記認証行為の補助を行う認証補助装置と、前記検証を補助する検証補助装置と、被認証者の特定を行う被認証者特定装置、とを有し、
前記被認証者装置が、グループの公開情報とユーザ固有の公開情報および秘密情報と毎回の認証ごとに生成される情報ｎｏｎｃｅから認証補助要求を生成し、
前記認証補助装置が、前記認証補助要求に応答し、グループの公開情報に対応する秘密情報と認証補助要求からユーザ固有の公開情報および秘密情報に関する情報を抽出して、グループが管理するユーザの公開情報のリストからグループに所属するユーザが認証補助要求を作成したことを検証し、その検証結果とグループの公開情報から認証補助データを生成し、
前記検証補助装置が、アンリンカブル認証データから前記グループの公開情報に対応する秘密情報を用いてユーザ固有の公開情報および秘密情報に関する情報を抽出して、グループが管理するユーザの公開情報のリストからグループに所属するユーザがアンリンカブル認証データを作成したことを検証し、その検証結果から検証補助データを作成し、
前記検証装置が、前記被認証者装置からアンリンカブル認証データを受信し、前記検証補助装置に対して、アンリンカブル認証データを含む検証補助要求を作成し、前記検証補助要求に応答した前記検証補助装置より検証補助データを受信し、前記検証補助データから被認証者がグループに属するかの認証結果を作成し、
前記被認証者特定装置が、前記アンリンカブル認証データとグループの秘密鍵とグループが管理するユーザの公開情報のリストとから、前記アンリンカブル認証データに対応する被認証者の特定を行う
匿名認証システム。
【請求項４】
ユーザのグループを管理するグループ管理装置と、被認証者の操作に基づき被認証者がグループに属するかの認証を要求する被認証者装置と、認証要求を受信し要求元の被認証者がグループに所属していることを検証する検証装置と、前記検証行為の補助を行う検証補助装置と、被認証者の特定を行う被認証者特定装置と、を有し、
前記グループ管理装置が、
ユーザのグループへの登録時にユーザの検証鍵を含む登録要求を受け取り、ユーザごとに固有のＩＤを発行する登録処理部と、
登録されているメンバーのＩＤと対応する検証鍵のリストであるメンバーリストを記憶するメンバー登録情報記憶装置と、
を有し、
前記被認証者装置が、
ユーザがグループに加入する際にユーザの検証鍵を含む登録要求を前記グループ管理装置に送信する登録要求部と、
ユーザが登録された結果前記グループ管理装置から送られてきたＩＤとユーザの署名鍵および検証鍵ペアを記憶するＩＤ・鍵ペア記憶装置と、
ユーザが認証を受ける際に、認証要求を前記検証装置に送信する認証要求部と、
前記認証要求の結果前記検証装置から送られてきたチャレンジおよび前記ＩＤ・鍵ペア記憶装置に記憶されているＩＤに対して、前記ＩＤ・鍵ペア記憶装置に記憶されている署名鍵を利用して前記チャレンジに対する、ユーザの署名を生成する署名生成部と、
ユーザのＩＤと署名を前記検証補助装置の暗号化鍵を用いて暗号化した暗号文を含むアンリンカブル認証データを前記検証装置に送信するアンリンカブル認証データ生成部と、
を有し、
前記検証装置が、
前記被認証者装置から認証要求を受信すると、ランダムなメッセージであるチャレンジを生成し、前記被認証者装置に送信するチャレンジ生成部と、
前記検証補助装置に、前記アンリンカブル認証データを含む検証補助要求を要求する検証補助要求部と、
前記検証補助装置から検証補助データを受信し、認証結果を出力する検証部と、
前記被認証者装置から受信したアンリンカブル認証データを記憶しておくアンリンカブル認証データ記憶装置と、
前記アンリンカブル認証データを生成したユーザを特定する、前記アンリンカブル認証データを含む被認証者特定要求を前記被認証者特定装置に送信する被認証者特定要求部と、
を有し、
前記検証補助装置が、
前記検証補助要求を受信すると、検証補助装置の暗号化鍵に対応した復号鍵を用いて、前記検証補助要求に含まれる暗号文を復号し、ユーザのＩＤと署名を得る認証データ復号部と、
前記メンバー登録情報記憶装置からメンバーリストを受信し、ＩＤに対応する検証鍵を用いて署名の検証を行い、その検証結果を前記検証補助データとして前記検証装置に送信する署名検証部と、
を有し、
前記被認証者特定装置が、
前記被認証者特定要求を受信すると、前記検証補助装置の復号鍵を用いて、前記アンリンカブル認証データに含まれる暗号文を復号し、ユーザのＩＤと署名を得る認証データ復号部と、
前記メンバー登録情報記憶装置からメンバーリストと前記ユーザＩＤを受信し、前記アンリンカブル認証データに対応した被認証者を特定する被認証者特定部と、
を有する
匿名認証システム。
【請求項５】
ユーザのグループを管理するグループ管理装置と、被認証者の操作に基づき被認証者がグループに属するかの認証を要求する被認証者装置と、認証要求を受信し要求元の被認証者がグループに所属していることを検証する検証装置と、前記認証行為の補助を行う認証補助装置と、被認証者の特定を行う被認証者特定装置と、を有し、
前記グループ管理装置が、
ユーザのグループへの登録時にユーザの検証鍵を受け取り、ユーザごとに固有のＩＤを発行する登録処理部と、
登録されているメンバーのＩＤと対応する検証鍵のリストであるメンバーリストを記憶するメンバー登録情報記憶装置と、
を有し、
前記被認証者装置が、
ユーザがグループに加入する際にユーザの検証鍵を含む登録要求を前記グループ管理装置に送信する登録要求部と、
ユーザが登録された結果前記グループ管理装置から送られてきたＩＤとユーザの署名鍵・検証鍵ペアを記憶するＩＤ・鍵ペア記憶装置と、
ユーザが認証を受ける際に、認証要求を前記検証装置に送付する認証要求部と、
前記認証要求の結果前記検証装置から送られてきたチャレンジおよび前記ＩＤ・鍵ペア記憶装置に記憶されているＩＤに対して、前記ＩＤ・鍵ペア記憶装置に記憶されている署名鍵を利用して前記チャレンジに対する、ユーザの署名を生成する署名生成部と、
前記認証補助装置に対して、ユーザのＩＤと署名をグループの暗号化鍵を用いて暗号化した暗号文を含む、認証データ生成の補助行為を依頼する認証補助要求を送信する認証補助要求部と、
前記認証補助装置から認証補助データを受信し、前記認証補助データに含まれる署名を含むアンリンカブル認証データを前記検証装置に送信するアンリンカブル認証データ生成部と、
を有し、
前記認証補助装置が、
前記認証補助要求を受信すると、グループの復号鍵を用いて、前記認証補助要求に含まれる暗号文を復号し、ユーザのＩＤと署名を得る復号部と、
前記メンバー登録情報記憶装置からメンバーリストを受信し、ＩＤに対応する検証鍵を用いてユーザの署名の検証を行い、その検証結果を前記認証補助データとして前記被認証者装置に送信する署名検証部と、
グループの署名鍵と前記被認証者装置から受信した認証補助要求に含まれる暗号文からグループの署名を生成する、グループの署名生成部と、
を有し、
前記検証装置が、
前記被認証者装置から認証要求を受信すると、ランダムなメッセージであるチャレンジｎｏｎｃｅを生成するチャレンジ生成部と、
前記アンリンカブル認証データとグループの検証鍵を用いて、前記アンリンカブル認証データに含まれる署名の検証を行い、認証結果を出力する検証部と、
前記被認証者装置から受信したアンリンカブル認証データを記憶しておくアンリンカブル認証データ記憶装置と、
前記アンリンカブル認証データを生成したユーザを特定する、前記アンリンカブル認証データを含む被認証者特定要求を前記被認証者特定装置に送信する被認証者特定要求部と
を有し、
前記被認証者特定装置が、
前記被認証者特定要求を受信すると、グループの復号鍵を用いて前記アンリンカブル認証データに含まれる暗号文を復号し、ユーザのＩＤと署名を得る認証データ復号部と、
前記メンバー登録情報記憶装置からメンバーリストを受信し、前記ユーザＩＤからアンリンカブル認証データに対応した被認証者の特定を行う被認証者特定部と
を有する
匿名認証システム。
【請求項６】
ユーザのグループを管理するグループ管理装置と、被認証者の操作に基づき被認証者がグループに属するかの認証を要求する被認証者装置と、認証要求を受信し要求元の被認証者がグループに所属していることを検証する検証装置と、前記認証行為の補助を行う認証補助装置と、前記検証を補助する検証補助装置と、被認証者の特定を行う被認証者特定装置と、を有し、
前記グループ管理装置が、
ユーザのグループへの登録時にユーザの署名検証鍵を受け取り、ユーザごとに固有のＩＤを発行する登録処理部と、
登録されているメンバーのＩＤと対応する検証鍵のリストであるメンバーリストを記憶するメンバー登録情報記憶装置と
を有し、
前記被認証者装置が、
ユーザがグループに加入する際にユーザの検証鍵を含む登録要求を前記グループ管理装置に送信する登録要求部と、
ユーザが登録された結果前記グループ管理装置から送られてきたＩＤとユーザの署名鍵・検証鍵ペアを記憶するＩＤ・鍵ペア記憶装置と、
ユーザが認証を受ける際に、認証要求を前記検証装置に送信する認証要求部と、
前記認証要求の結果前記検証装置から送られてきたチャレンジおよび前記ＩＤ・鍵ペア記憶装置に記憶されているＩＤに対して、前記ＩＤ・鍵ペア記憶装置に記憶されている署名鍵を利用して前記チャレンジに対する、ユーザの署名を生成する署名生成部と、
前記認証補助装置に対して、ユーザのＩＤと署名をグループの暗号化鍵を用いて暗号化した暗号文を含む、認証データ生成の補助行為を依頼する認証補助要求を送信する認証補助要求部と、
前記認証補助装置から認証補助データを受信し、複数回の認証に対して、それが同一の被認証者の行為であるか異なる被認証者の行為であるかを識別することが不可能なアンリンカブル認証データを生成し、前記認証補助データに含まれる署名を含むアンリンカブル認証データを前記検証装置に送信するアンリンカブル認証データ生成部と、
を有し、
前記認証補助装置が、
前記認証補助要求を受信すると、グループの復号鍵を用いて、前記認証補助要求に含まれる暗号文を復号し、ユーザのＩＤと署名を得る復号部と、
前記メンバー登録情報記憶装置からメンバーリストを受信し、前記ユーザＩＤに対応する検証鍵を用いてユーザの署名の検証を行い、その検証結果を前記認証補助データとして前記被認証者装置に送信する署名検証部と、
認証用共有鍵を入力して、前記被認証者装置から受信した認証補助要求に含まれる暗号文に対してメッセージ認証子を生成するメッセージ認証子生成部と、
を有し、
前記検証装置が、
前記被認証者装置から認証要求を受信すると、ランダムなメッセージであるチャレンジを生成するチャレンジ生成部と、
前記検証補助装置に、前記暗号文を含む検証補助要求を出力する検証補助要求部と、
前記アンリンカブル認証データとグループの認証鍵を受信し、前記アンリンカブル認証データに含まれる署名の検証を行い、認証結果を出力する検証部と、
前記被認証者装置から受信したアンリンカブル認証データを記憶しておくアンリンカブル認証データ記憶装置と、
前記アンリンカブル認証データを含む被認証者特定要求を前記被認証者特定装置に送信する被認証者特定要求部と
を有し、
前記検証補助装置が、前記検証補助要求と認証用共有鍵を受信すると、該検証補助要求に含まれる前記暗号文にメッセージ認証子をつけるメッセージ認証子生成部を有し、
前記被認証者特定装置が、
前記被認証者特定要求を受信すると、グループの復号鍵を用いて、前記アンリンカブル認証データに含まれる暗号文を復号し、ユーザのＩＤと署名を得る認証データ復号部と、
前記メンバー登録情報記憶装置からメンバーリストを受信し、アンリンカブル認証データに対するユーザの特定を行う被認証者特定部と
を有する
匿名認証システム。
【請求項７】
ユーザのグループを管理するグループ管理装置と、被認証者の操作に基づき被認証者がグループに属するかの認証を要求する被認証者装置と、認証要求を受信し要求元の被認証者がグループに所属していることを検証する検証装置と、前記検証行為の補助を行う検証補助装置と、被認証者の特定を行う被認証者特定装置と、を有する匿名認証システムで行われる匿名認証方法であって、
前記被認証者装置が、被認証者が属するグループの公開情報と被認証者に固有の公開情報および秘密情報と毎回の認証ごとに生成される情報ｎｏｎｃｅとからアンリンカブル認証データを生成し、
前記検証補助装置が、前記アンリンカブル認証データから前記グループの公開情報に対応する秘密情報を用いてユーザ固有の公開情報および秘密情報に関する情報を抽出して、前記抽出したユーザ固有の公開情報および秘密情報に関する情報とグループが管理するユーザの公開情報のリストとからグループに所属するユーザがアンリンカブル認証データを作成したことを認証し、該認証の結果を含む認証補助データを作成し、
前記検証装置が、前記アンリンカブル認証データを前記被認証者装置から受信し前記検証補助装置に送付し、前記検証補助装置から前記送付したアンリンカブル認証データに対する認証補助データを受信し、前記認証補助データを用いて被認証者がグループに所属していることを検証し、その検証結果から被認証者がグループに属するかの認証結果を作成し、
前記被認証者特定装置が、前記アンリンカブル認証データとグループの秘密鍵とグループが管理するユーザの公開情報のリストとから、前記アンリンカブル認証データに対応する被認証者の特定を行う
匿名認証方法。
【請求項８】
ユーザのグループを管理するグループ管理装置と、被認証者の操作に基づき被認証者がグループに属するかの認証を要求する被認証者装置と、認証要求を受信し要求元の被認証者がグループに所属していることを検証する検証装置と、前記認証行為の補助を行う認証補助装置と、被認証者の特定を行う被認証者特定装置を有する匿名認証システムで行われる匿名認証方法であって、
前記被認証者装置が、被認証者が属するグループの公開情報とユーザ固有の公開情報および秘密情報と毎回の認証ごとに生成される情報ｎｏｎｃｅとから認証補助要求を生成し、
前記認証補助装置が、前記認証補助要求に応答し、グループの公開情報に対応する秘密情報と認証補助要求とからユーザ固有の公開情報および秘密情報に関する情報を抽出して、グループが管理するユーザの公開情報のリストから、グループに所属するユーザが認証補助要求を作成したことを検証し、その検証結果とグループの公開情報および秘密情報から認証補助データを生成し、
前記被認証者装置が、認証補助要求に応答した前記認証補助装置から受信した認証補助データを含むアンリンカブル認証データを作成し、
前記検証装置が、前記アンリンカブル認証データとグループの公開情報から、アンリンカブル認証データに含まれる認証補助データがグループの公開情報および秘密情報を用いて生成されたデータであることを検証することにより、被認証者がグループに属するかの認証結果とし、
前記被認証者特定装置が、前記アンリンカブル認証データとグループの秘密鍵とグループが管理するユーザの公開情報のリストとから、前記アンリンカブル認証データに対応する被認証者の特定を行う
匿名認証方法。
【請求項９】
ユーザのグループを管理するグループ管理装置と、被認証者の操作に基づき被認証者がグループに属するかの認証を要求する被認証者装置と、認証要求を受信し要求元の被認証者がグループに所属していることを検証する検証装置と、前記認証行為の補助を行う認証補助装置と、前記検証を補助する検証補助装置と、被認証者の特定を行う被認証者特定装置と、を有する匿名認証システムで行われる匿名認証方法であって、
前記被認証者装置が、グループの公開情報とユーザ固有の公開情報および秘密情報と毎回の認証ごとに生成される情報ｎｏｎｃｅから認証補助要求を生成し、
前記認証補助装置が、前記認証補助要求に応答し、グループの公開情報に対応する秘密情報と認証補助要求からユーザ固有の公開情報および秘密情報に関する情報を抽出して、グループが管理するユーザの公開情報のリストからグループに所属するユーザが認証補助要求を作成したことを検証し、その検証結果とグループの公開情報から認証補助データを生成し、
前記検証補助装置が、アンリンカブル認証データから前記グループの公開情報に対応する秘密情報を用いてユーザ固有の公開情報および秘密情報に関する情報を抽出して、グループが管理するユーザの公開情報のリストからグループに所属するユーザがアンリンカブル認証データを作成したことを検証し、その検証結果から検証補助データを作成し、
前記検証装置が、前記被認証者装置からアンリンカブル認証データを受信し、前記検証補助装置に対して、アンリンカブル認証データを含む検証補助要求を作成し、前記検証補助要求に応答した前記検証補助装置より検証補助データを受信し、前記検証補助データから被認証者がグループに属するかの認証結果を作成し、
前記被認証者特定装置が、前記アンリンカブル認証データとグループの秘密鍵とグループが管理するユーザの公開情報のリストとから、前記アンリンカブル認証データに対応する被認証者の特定を行う
匿名認証方法。
【請求項１０】
ユーザのグループを管理するグループ管理装置と、被認証者の操作に基づき被認証者がグループに属するかの認証を要求する被認証者装置と、認証要求を受信し要求元の被認証者がグループに所属していることを検証する検証装置と、前記検証行為の補助を行う検証補助装置と、被認証者の特定を行う被認証者特定装置を有する匿名認証システムで行われる匿名認証方法であって、
前記グループ管理装置が、
ユーザのグループへの登録時にユーザの検証鍵を含む登録要求を受け取り、ユーザごとに固有のＩＤを発行することと、
登録されているメンバーのＩＤと対応する検証鍵のリストであるメンバーリストをメンバー登録情報記憶装置に記憶することと、
を有し、
前記被認証者装置が、
ユーザがグループに加入する際にユーザの検証鍵を含む登録要求を前記グループ管理装置に送信することと、
ユーザが登録された結果前記グループ管理装置から送られてきたＩＤとユーザの署名鍵および検証鍵ペアをＩＤ・鍵ペア記憶装置に記憶することと、
ユーザが認証を受ける際に、認証要求を前記検証装置に送信することと、
前記認証要求の結果前記検証装置から送られてきたチャレンジおよび前記ＩＤ・鍵ペア記憶装置に記憶されているＩＤに対して、前記ＩＤ・鍵ペア記憶装置に記憶されている署名鍵を利用して前記チャレンジに対する、ユーザの署名を生成することと、
ユーザのＩＤと署名を前記検証補助装置の暗号化鍵を用いて暗号化した暗号文を含むアンリンカブル認証データを前記検証装置に送信することと、
を有し、
前記検証装置が、
前記被認証者装置から認証要求を受信すると、ランダムなメッセージであるチャレンジを生成し、前記被認証者装置に送信することと、
前記検証補助装置に、前記アンリンカブル認証データを含む検証補助要求を要求することと、
前記検証補助装置から検証補助データを受信し、認証結果を出力することと、
前記被認証者装置から受信したアンリンカブル認証データをアンリンカブル認証データ記憶装置に記憶することと、
前記アンリンカブル認証データを生成したユーザを特定する、前記アンリンカブル認証データを含む被認証者特定要求を前記被認証者特定装置に送信することと、
を有し、
前記検証補助装置が、
前記検証補助要求を受信すると、検証補助装置の暗号化鍵に対応した復号鍵を用いて、前記検証補助要求に含まれる暗号文を復号し、ユーザのＩＤと署名を得ることと、
前記メンバー登録情報記憶装置からメンバーリストを受信し、ＩＤに対応する検証鍵を用いて署名の検証を行い、その検証結果を前記検証補助データとして前記検証装置に送信することと、
を有し、
前記被認証者特定装置が、
前記被認証者特定要求を受信すると、前記検証補助装置の復号鍵を用いて、前記アンリンカブル認証データに含まれる暗号文を復号し、ユーザのＩＤと署名を得る認証データ復号部ことと、
前記メンバー登録情報記憶装置からメンバーリストと前記ユーザＩＤを受信し、前記アンリンカブル認証データに対応した被認証者を特定することと、
を有する
匿名認証方法。
【請求項１１】
ユーザのグループを管理するグループ管理装置と、被認証者の操作に基づき被認証者がグループに属するかの認証を要求する被認証者装置と、認証要求を受信し要求元の被認証者がグループに所属していることを検証する検証装置と、前記認証行為の補助を行う認証補助装置と、被認証者の特定を行う被認証者特定装置を有する匿名認証システムで行われる匿名認証方法であって、
前記グループ管理装置が、
ユーザのグループへの登録時にユーザの検証鍵を受け取り、ユーザごとに固有のＩＤを発行することと、
登録されているメンバーのＩＤと対応する検証鍵のリストであるメンバーリストをメンバー登録情報記憶装置に記憶することと、
を有し、
前記被認証者装置が、
ユーザがグループに加入する際にユーザの検証鍵を含む登録要求を前記グループ管理装置に送信することと、
ユーザが登録された結果前記グループ管理装置から送られてきたＩＤとユーザの署名鍵・検証鍵ペアをＩＤ・鍵ペア記憶装置に記憶することと、
ユーザが認証を受ける際に、認証要求を前記検証装置に送付することと、
前記認証要求の結果前記検証装置から送られてきたチャレンジおよび前記ＩＤ・鍵ペア記憶装置に記憶されているＩＤに対して、前記ＩＤ・鍵ペア記憶装置に記憶されている署名鍵を利用して前記チャレンジに対する、ユーザの署名を生成することと、
前記認証補助装置に対して、ユーザのＩＤと署名をグループの暗号化鍵を用いて暗号化した暗号文を含む、認証データ生成の補助行為を依頼する認証補助要求を送信することと、
前記認証補助装置から認証補助データを受信し、前記認証補助データに含まれる署名を含むアンリンカブル認証データを前記検証装置に送信することと、
を有し、
前記認証補助装置が、
前記認証補助要求を受信すると、グループの復号鍵を用いて、前記認証補助要求に含まれる暗号文を復号し、ユーザのＩＤと署名を得ることと、
前記メンバー登録情報記憶装置からメンバーリストを受信し、ＩＤに対応する検証鍵を用いてユーザの署名の検証を行い、その検証結果を前記認証補助データとして前記被認証者装置に送信することと、
グループの署名鍵と前記被認証者装置から受信した認証補助要求に含まれる暗号文からグループの署名を生成することと、
を有し、
前記検証装置が、
前記被認証者装置から認証要求を受信すると、ランダムなメッセージであるチャレンジｎｏｎｃｅを生成することと、
前記アンリンカブル認証データとグループの検証鍵を用いて前記アンリンカブル認証データに含まれる署名の検証を行い、認証結果を出力することと、
前記被認証者装置から受信したアンリンカブル認証データをアンリンカブル認証データ記憶装置に記憶することと、
前記アンリンカブル認証データを生成したユーザを特定する、前記アンリンカブル認証データを含む被認証者特定要求を前記被認証者特定装置に送信することと、
を有し、
前記被認証者特定装置が、
前記被認証者特定要求を受信すると、グループの復号鍵を用いて前記アンリンカブル認証データに含まれる暗号文を復号し、ユーザのＩＤと署名を得ることと、
前記メンバー登録情報記憶装置からメンバーリストを受信し、前記ユーザＩＤからアンリンカブル認証データに対応した被認証者の特定を行うことと、
を有する
匿名認証方法。
【請求項１２】
ユーザのグループを管理するグループ管理装置と、被認証者の操作に基づき被認証者がグループに属するかの認証を要求する被認証者装置と、認証要求を受信し要求元の被認証者がグループに所属していることを検証する検証装置と、前記認証行為の補助を行う認証補助装置と、前記検証を補助する検証補助装置と、被認証者の特定を行う被認証者特定装置と、を有する匿名認証システムで行われる匿名認証方法であって、
前記グループ管理装置が、
ユーザのグループへの登録時にユーザの検証鍵を受け取り、ユーザごとに固有のＩＤを発行することと、
登録されているメンバーのＩＤと対応する検証鍵のリストであるメンバーリストをメンバー登録情報記憶装置に記憶することと、
を有し、
前記被認証者装置が、
ユーザがグループに加入する際にユーザの検証鍵を含む登録要求を前記グループ管理装置に送信することと、
ユーザが登録された結果前記グループ管理装置から送られてきたＩＤとユーザの署名鍵・検証鍵ペアをＩＤ・鍵ペア記憶装置に記憶することと、
ユーザが認証を受ける際に、認証要求を前記検証装置に送信する認証要求部ことと、
前記認証要求の結果前記検証装置から送られてきたチャレンジおよび前記ＩＤ・鍵ペア記憶装置に記憶されているＩＤに対して、前記ＩＤ・鍵ペア記憶装置に記憶されている署名鍵を利用して前記チャレンジに対する、ユーザの署名を生成することと、
前記認証補助装置に対して、ユーザのＩＤと署名をグループの暗号化鍵を用いて暗号化した暗号文を含む、認証データ生成の補助行為を依頼する認証補助要求を送信することと、
前記認証補助装置から認証補助データを受信し、複数回の認証に対して、それが同一の被認証者の行為であるか異なる被認証者の行為であるかを識別することが不可能なアンリンカブル認証データを生成し、前記認証補助データに含まれる署名を含むアンリンカブル認証データを前記検証装置に送信するアンリンカブル認証データ生成部ことと、
を有し、
前記認証補助装置が、
前記認証補助要求を受信すると、グループの復号鍵を用いて、前記認証補助要求に含まれる暗号文を復号し、ユーザのＩＤと署名を得ることと、
前記メンバー登録情報記憶装置からメンバーリストを受信し、前記ユーザＩＤに対応する検証鍵を用いてユーザの署名の検証を行い、その検証結果を前記認証補助データとして前記被認証者装置に送信することと、
認証用共有鍵を入力して、前記被認証者装置から受信した認証補助要求に含まれる暗号文に対してメッセージ認証子を生成することと、
を有し、
前記検証装置が、
前記被認証者装置から認証要求を受信すると、ランダムなメッセージであるチャレンジを生成することと、
前記検証補助装置に、前記暗号文を含む検証補助要求を出力することと、
前記アンリンカブル認証データとグループの認証鍵を受信し、前記アンリンカブル認証データに含まれる署名の検証を行い、認証結果を出力することと、
前記被認証者装置から受信したアンリンカブル認証データをアンリンカブル認証データ記憶装置に記憶することと、
前記アンリンカブル認証データを含む被認証者特定要求を前記被認証者特定装置に送信することと、
を有し、
前記検証補助装置が、前記検証補助要求と認証用共有鍵を受信すると、該検証補助要求に含まれる前記暗号文にメッセージ認証子をつけることを有し、
前記被認証者特定装置が、
前記被認証者特定要求を受信すると、グループの復号鍵を用いて、前記アンリンカブル認証データに含まれる暗号文を復号し、ユーザのＩＤと署名を得ることと、
前記メンバー登録情報記憶装置からメンバーリストを受信し、アンリンカブル認証データに対するユーザの特定を行うことと、
を有する
匿名認証方法。
【国際調査報告】
2008146667.tif 000022
2008146667.tif 000023
2008146667.tif 000024
2008146667.tif 000025