(57)【特許請求の範囲】
【請求項１】
ユーザの権限を証明するために生成された証明データの正当性を検証することにより、上記ユーザの権限を認証する認証装置であって、
ユーザの権限を認証するために生成される証明データを生成する証明装置と、生成された上記証明データの正当性を検証する検証装置とを有し、
上記証明装置は、
証明装置固有情報を保持する証明装置固有情報保持部と、
特定のユーザに対する特定のアクセス権を証明するための認証の特徴情報から算出されるアクセスチケットを保持するチケット保持部と、
他の特定の有効なアクセスチケットを保持していることを証明するため、独自の認証の特徴情報から算出される複合チケットを保持する複合チケット保持部と、
上記複合チケットと、上記複合チケットがその存在を証明しようとする他のアクセスチケットと、上記証明装置固有情報とを少なくとも用いて、上記複合チケットに対応する証明データを生成する証明データ生成部とを有し、
上記検証装置は、
上記証明装置により生成された証明データが、上記複合チケットおよび上記複合チケットが存在を証明しようとするアクセスチケットの、すべての認証の特徴情報に基づいて生成されていることを検証する証明データ検証部を有することを特徴とする認証装置。
【請求項２】
請求項１に記載の認証装置であって、上記アクセスチケットおよび上記複合チケットに対する認証の特徴情報が、有限群Ｇ上の離散対数問題を利用した非対称暗号の復号鍵であり、上記アクセスチケットおよび上記複合チケットを生成する際に、１つの有限群Ｇが共通して使用される認証装置。
【請求項３】
請求項１または２に記載の認証装置であって、上記証明装置は、上記アクセスチケットおよび上記複合チケットを発行する際に使用する、有限群を規定するための情報を保持する、第１の公開情報保持部を持ち、上記検証装置は、上記有限群を規定するための情報を保持する第２の公開情報保持部を持つ認証装置。
【請求項４】
請求項３に記載の認証装置であって、上記検証装置は、認証に用いる認証データを生成する認証データ生成部を持ち、上記証明装置は、上記認証データに対して所定の演算を施すことにより、上記証明データを生成する認証装置。
【請求項５】
請求項３または４に記載の認証装置であって、上記証明装置が、第１の演算部と、第２の演算部とから構成され、上記第１の演算部が、上記検証装置から送られる認証データと、上記証明装置固有情報保持部に記憶されている証明装置固有情報と、上記第１の公開情報保持部に保持されている情報とを用いて、所定の計算を実行し、上記第２の演算部が、上記第１の演算部による計算結果と、上記検証装置から送られた認証データと、上記チケット保持部に保持されているアクセスチケットと、上記複合チケット保持部に保持されている複合チケットと、上記第１の公開情報保持部に保持されている情報とを用いて、所定の計算を実行し、その結果として上記証明データを生成する認証装置。
【請求項６】
請求項５に記載の認証装置であって、上記復号チケットに対する認証の特徴情報が秘密鍵Ｘであり、対応する公開鍵がＹであり、上記復号チケットによってその存在を証明しようとする他のｎ個のアクセスチケット（ｔ１，…，ｔｎ）に対する認証の特徴情報が秘密鍵（Ｘ１，…，Ｘｎ）であり、対応する公開鍵が（Ｙ１，…，Ｙｎ）であるとき、上記アクセスチケット（ｔ１，…，ｔｎ）は上記認証の特徴情報（Ｘ１，…，Ｘｎ）を用いて生成され、上記復号チケットｔは上記秘密鍵Ｘ及び、上記秘密鍵（Ｘ１，…，Ｘｎ）を用いて生成される認証装置。
【請求項７】
請求項６に記載の認証装置であって、上記証明装置は、上記認証データ生成部が生成した認証データｕ’に対して、Ｇが乗法群であれば認証データｕ’の上記Ｘ乗を計算し、Ｇが加法群であれば上記認証データｕ’の上記Ｘ倍を計算する認証装置。
【請求項８】
請求項５ないし７に記載の認証装置であって、上記アクセスチケット（ｔ１，…，ｔｎ）は、対応する認証の特徴情報（Ｘ１，…，Ｘｎ）に加えて、上記証明装置固有情報をも用いて生成される認証装置。
【請求項９】
請求項５ないし８に記載の認証装置であって、上記アクセスチケット（ｔ１，…，ｔｎ）は、上記（Ｘ１，…，Ｘｎ）および上記証明装置固有情報に加えて、上記公開鍵（Ｙ１，…，Ｙｎ）をも用いて生成され、上記復号チケットｔは上記秘密鍵Ｘ及び、上記認証の特徴情報（Ｘ１，…，Ｘｎ）に加えて上記公開鍵（Ｙ１，…，Ｙｎ）及び複合チケットの公開鍵Ｙをも用いて生成される認証装置。
【請求項１０】
請求項９に記載の認証装置であって、上記アクセスチケット（ｔ１，…，ｔｎ）の各々が、上記証明装置固有情報をｄｕとし、非衝突性関数値をＦとするとき、上記認証の特徴情報（Ｘ１，…，Ｘｎ）および上記公開鍵（Ｙ１，…，Ｙｎ）を用いて、
【数１】
0003791169.tif 000013
として生成される認証装置。
【請求項１１】
請求項９に記載の認証装置であって、上記複合チケットｔが、上記証明装置固有情報をｄｕとし、非衝突性関数値をＦとするとき、上記認証の特徴情報Ｘと、対応する公開鍵Ｙと、上記複合チケットが存在を証明しようとする他のアクセスチケット（ｔ１，…，ｔｎ）に対応する上記認証の特徴情報（Ｘ１，…，Ｘｎ）と、対応する公開鍵（Ｙ１，…，Ｙｎ）とを用いて、
【数２】
0003791169.tif 000014
として生成される認証装置。
【請求項１２】
請求項５ないし１１に記載の認証装置であって、上記証明装置の上記チケット保持部は上記アクセスチケット（ｔ１，…，ｔｎ）と共に、対応する公開鍵（Ｙ１，…，Ｙｎ）を、各チケットと対応させて保持し、上記複合チケット保持部は上記複合チケットｔと共に、上記複合チケットに対応する公開鍵Ｙを、各複合チケットと対応させて保持し、さらに、各公開鍵から、対応するチケットおよび複合チケットを検索するチケット選択部を持つ認証装置。
【請求項１３】
請求項５ないし１２に記載の認証装置であって、Ｇが乗法群であり、有限体Ｇの位数がｐであり、ｇが乗法群の生成元であるとき、上記復号チケットに対する認証の特徴情報Ｘと対応する鍵Ｙが
【数３】
0003791169.tif 000015
の関係を満たし、上記アクセスチケットの認証の特徴情報（Ｘ１，…，Ｘｎ）および上記対応する公開鍵（Ｙ１，…，Ｙｎ）が
【数４】
0003791169.tif 000016
の関係を満たすように構成されている認証装置。
【請求項１４】
請求項５ないし１２に記載の認証装置であって、Ｇが加法群であり、ｇが加法群の生成元であるとき、上記復号チケットに対する認証の特徴情報Ｘと対応する鍵Ｙとが
【数５】
0003791169.tif 000017
の関係を満たし、上記アクセスチケットの認証の特徴情報（Ｘ１，…，Ｘｎ）と上記対応する公開鍵（Ｙ１，…，Ｙｎ）とが
【数６】
0003791169.tif 000018
の関係を満たすように構成されている認証装置。
【請求項１５】
請求項５ないし１４に記載の認証装置であって、上記第１の演算部は、上記復号チケットの公開情報Ｙと、上記復号チケットが存在を証明しようとする他のチケットに対応する公開鍵（Ｙ１，…，Ｙｎ）と、上記認証装置固有情報とを用いた演算を行い、上記第２の演算部は、上記復号チケットｔと、上記復号チケットが存在を証明しようとする他のチケット（ｔ１，…，ｔｎ）とを用いた演算を行い、これら演算により上記証明データを生成する認証装置。
【請求項１６】
請求項１０ないし１５に記載の認証装置であって、上記認証データ生成部が生成した認証データをｕ’とするとき、上記第１の演算部は、上記非衝突性関数Ｆを用いて、ｕ’に対して、乗法群であれば上記法数ｐを用いて、
【数７】
0003791169.tif 000019
を計算し、加法群であれば
【数８】
0003791169.tif 000020
を計算し、
上記第２の演算部は、上記複合チケットおよび上記複合チケットが指定するアクセスチケットを用いて、上記認証情報ｕ’に対して、乗法群であれば
【数９】
0003791169.tif 000021
を計算し、
加法群であれば
【数１０】
0003791169.tif 000022
を計算し、
上記証明データ生成部は上記証明データＲを、乗法群であれば、
【数１１】
0003791169.tif 000023
として生成し、加法群であれば、
【数１２】
0003791169.tif 000024
として生成する認証装置。
【請求項１７】
請求項１ないし１６に記載の認証装置であって、上記チケット保持部はアクセスチケットと共に、各チケットの利用条件を定めたチケット利用情報を、各チケットに対応させて保持し、上記複合チケット保持部は複合チケットと共に、複合チケットの利用条件を定めた複合チケット利用情報を、複合チケットに対応させて保持する認証装置。
【請求項１８】
請求項１７に記載の認証装置であって、上記証明データ生成部は、上記証明データを生成する際に、上記チケット利用情報および、複合チケット利用情報の内容が、正当なものであることを確認した場合のみ、上記証明データの生成を行う認証装置。
【請求項１９】
請求項１７ないし１９に記載の認証装置であって、上記アクセスチケット（ｔ１，…，ｔｎ）は、上記認証の特徴情報（Ｘ１，…，Ｘｎ）および上記証明装置固有情報に加えて、各アクセスチケットに対応する利用情報（Ｌ１，…，Ｌ）をも用いて生成され、上記復号チケットｔはＸ及び、上記（Ｘ１，…，Ｘｎ）と（Ｙ１，…，Ｙｎ）及び複合チケットの公開鍵Ｙに加えて、複合チケットの利用情報Ｌをも用いて生成される認証装置。
【請求項２０】
請求項１９に記載の認証装置であって、上記アクセスチケット（ｔ１，…，ｔｎ）各々が、上記証明装置固有情報をｄｕとし、非衝突性関数値をＦとするとき、上記（Ｘ１，…，Ｘｎ）および上記（Ｌ１，…，Ｌｎ）を用いて、
【数１３】
0003791169.tif 000025
として生成される認証装置。
【請求項２１】
請求項１９ないし２０に記載の認証装置であって、上記複合チケットｔが、上記証明装置固有情報をｄｕとし、非衝突性関数値をＦとするとき、上記認証の特徴情報Ｘおよび対応する公開鍵Ｙと、複合チケットが存在を証明しようとする他のアクセスチケット（ｔ１，…，ｔｎ）に対応する上記認証の特徴情報（Ｘ１，…，Ｘｎ）および、上記チケット利用情報（Ｌ１，…，Ｌｎ）を用いて、
【数１４】
0003791169.tif 000026
として生成される認証装置。
【請求項２２】
請求項１７ないし２１に記載の認証装置であって、上記認証データ生成部が生成した認証データをｕ’とするとき、上記第１の演算部は、上記非衝突性関数Ｆを用いて、ｕ’に対して、乗法群であれば、上記法数ｐを用いて、
【数１５】
0003791169.tif 000027
を計算し、
加法群であれば
【数１６】
0003791169.tif 000028
を計算し、
上記第２の演算部は、上記複合チケットおよび上記複合チケットが指定するアクセスチケットを用いて、上記認証情報ｕ’に対して、乗法群であれば、
【数１７】
0003791169.tif 000029
を計算し、
加法群であれば
【数１８】
0003791169.tif 000030
を計算し、
上記証明データ生成部は証明データＲを、
乗法群であれば、
【数１９】
0003791169.tif 000031
として生成し、
加法群であれば、
【数２０】
0003791169.tif 000032
として生成する認証装置。
【請求項２３】
請求項１７ないし２２に記載の認証装置であって、上記第１の演算部は、上記復号チケットの公開情報Ｙと、上記複合チケットが存在を証明しようとする他のチケットに対応する利用情報（Ｌ１，…，Ｌｎ）と、上記複合チケットの利用情報Ｌと、上記認証装置固有情報ｄｕとを用いた演算を行うことにより、上記証明データを生成する認証装置。
【請求項２４】
請求項１ないし２３に記載の認証装置であって、
上記検証装置は、アクセス資格認証の特徴情報の生成を検証するための検証データを保持する検証データ保持部を持ち、
上記検証データが、適当な比較用データを非対称暗号の一方の鍵を用いて暗号化したものであり、
上記証明データ検証部は、上記証明装置が生成する上記証明データと、上記検証データ保持部に記憶されている検証データとに対して特定の演算を施した結果が、認証の特徴情報である上記非対称暗号の鍵に対応するもう一方の鍵によって、上記検証データを正しく復号したものであることを認証する認証装置。
【請求項２５】
請求項２４に記載の認証装置であって、
上記復号チケットに対する認証の特徴情報Ｘが、Ｇの元ｇのもとで、Ｇが乗法群であれば、Ｙ＝ｇＸを満たし、Ｇが加法群であればＹ＝Ｘ・ｇを満たすように構成される復号鍵Ｘであり、上記復号鍵Ｘに対応する暗号化の鍵がＹであり、
認証データをｕとし、ｕが、Ｇが乗法群であれば、上記ｇを適当な乱数ｚを使って、ｚ乗（ｕ＝ｇｚ）したものであり、Ｇが加法群であれば、上記ｇをｚ倍（ｕ＝ｚ・ｇ）したものであり、
検証データＣが、Ｇが乗法群であれば、上記Ｙを上記乱数ｚを使って、ｚ乗したものでデータＫに対して所定のマスク演算をした結果であり、Ｇが加法群であれば上記Ｙをｚ倍したもので上記データＫに対して所定のマスク演算をした結果であるとき、
上記認証データ生成部はｕを認証データとして生成し、上記検証データ記憶部には検証データＣが記憶され、
上記証明データ検証部は、上記検証データ記憶部に記憶されている検証データＣから、上記証明装置によって生成された証明データＲによってマスクを取り除いたものと、上記データＫとを、比較することにより検証を行う認証装置。
【請求項２６】
請求項２４ないし２５に記載の認証装置であって、
上記検証装置は、認証データｕ’を生成するための認証用素データｕを記憶する認証用素データ記憶部と、乱数生成部と、生成した乱数ｒを記憶する乱数記憶部と、発生させた乱数を除去する乱数効果除去部とを有し、
上記認証データ生成部は、上記認証用素データｕに上記乱数生成部が生成した乱数ｒによる効果を付与することにより、上記認証データｕ’を生成し、
上記乱数効果除去部が、上記証明装置によって生成された証明データＲから、上記乱数ｒによる効果を除去する認証装置。
【請求項２７】
請求項１ないし２６に記載の認証装置であって、少なくとも、上記証明装置固有情報保持部が、内部のデータ及び処理手続きを外部から観測することを困難ならしめる防御手段中に保持されている認証装置。
【請求項２８】
請求項５ないし２６に記載の認証装置であって、少なくとも、上記証明装置固有情報保持部と、上記第１の演算部とが、内部のデータ及び処理手続きを外部から観測することを困難ならしめる防御手段中に保持されている認証装置。
【請求項２９】
請求項１ないし２８に記載の認証装置であって、
上記証明装置は、少なくとも、上記証明装置固有情報保持部と、上記チケット保持部と、上記複合チケット保持部と、上記証明データ生成部と、第１の受信データ記憶部とを有し、
上記検証装置は、少なくとも上記証明データ検証部と、第２の受信データ記憶部とを有し、
上記検証装置は、認証データを上記証明装置の上記第１の受信データ記憶部に書き出し、
上記証明装置は、上記証明データ生成部によって上記第１の受信データ記憶部に書き込まれた認証データをもとにして生成した証明データを、上記検証装置の上記第２の受信データ記憶部に書き出し、
上記証明データ検証部は、上記第２の受信データ記憶部に書き込まれた上記証明データを用いてユーザのアクセス資格を認証し、
互いに通信することによりユーザのアクセス資格を認証する認証装置。
【請求項３０】
請求項１ないし２８に記載の認証装置であって、
上記検証装置は、暗号化されたデータである検証データを記憶する検証データ記憶部と、上記検証データに対応する比較用データを記憶する比較用データ記憶部とをさらに有し、
上記証明データ検証部は、上記証明装置が生成した上記証明データの値、もしくは上記証明データを用いて演算を行った結果得られた値と、上記比較用データ記憶部に記憶されている上記比較用データとを比較し、両者が一致した場合に限り、上記証明データが正当であると判断する認証装置。
【請求項３１】
請求項１ないし２８に記載の認証装置であって、
上記検証装置は、さらに、何らかのデータを暗号を用いて暗号化したデータを記憶する暗号化データ記憶部を有し、
検証データが、上記データを暗号化するために用いた暗号の鍵をさらに暗号化したものであり、
上記証明データ検証部は、上記証明装置が生成した証明データの値、もしくは上記証明データを用いて演算を行った結果得られた値を、前記データを暗号化するために用いた暗号の復号鍵として用いることにより、前記暗号化されたデータが復号できることによって、上記証明データが正当であると判断する認証装置。
【請求項３２】
請求項１ないし２８に記載の認証装置であって、
上記検証装置は、さらに、データの冗長性を検証する冗長性検証部を有し、
上記証明装置が生成した上記証明データの値、もしくは上記証明データを用いて演算を行った結果得られた値が、冗長性検証部によって特定の冗長性をもつことが確認されることによって、
上記証明データが正当であると判断することを特徴とする認証装置。
【請求項３３】
請求項１ないし２８に記載の認証装置であって、
上記検証装置は、一方向関数を実行する比較データ用演算部を有し、
上記比較データ用演算部は、暗号化されたデータである検証データに対応する比較用データに、所定の一方向関数を施した結果を、比較用データ記憶部に記憶させ、
上記比較データ用演算部は、上記証明装置が生成した上記証明データの値もしくは上記証明データを用いて演算を行った結果得られた値に一方向関数を施し、
上記証明データ検証部は、上記比較データ用演算部による計算結果と、上記比較用データ記憶部に記憶されているデータを比較し、両者が一致した場合に限り、上記証明データが正当であると判断する認証装置。
【請求項３４】
請求項１ないし２８に記載の認証装置であって、
上記検証装置は、プログラム実行部をさらに含み、
検証データは、プログラムを暗号化して得られるデータであり、
上記証明データ検証部が、上記証明装置が生成した上記証明データの値、もしくは上記証明データを用いて特定の演算を行った値をプログラムの一部もしくは全部としてプログラム実行部に引き渡し、
上記証明装置が暗号化されたプログラムである上記検証データを正しく復号した場合に限り、上記プログラム実行部が正しい動作を行う認証装置。
【請求項３５】
請求項１ないし２８に記載の認証装置であって、
上記検証装置は、プログラム実行部と、プログラム記憶部と、プログラム復号部とをさらに含み、
上記プログラム記憶部に記憶されているプログラムは、その一部あるいは全部が暗号化されたものであり、
検証データは、前記暗号化されたプログラムを復号するための復号鍵を別途暗号化して得られるデータであり、
上記証明データ検証部は、上記証明装置が生成した上記証明データを上記プログラム復号部に引き渡し、
上記プログラム復号部は、前記証明装置が生成した上記証明データの値、もしくは上記証明データを用いて演算を行った結果得られた値を復号鍵として、上記プログラム記憶部に記憶されたプログラムの一部もしくは全部を復号し、
上記プログラム実行部が復号されたプログラムを実行し、
上記証明装置が上記暗号化されたプログラムを復号するための上記検証データを正しく復号した場合に限り、上記プログラム実行部が正しい動作を行う認証装置。
【請求項３６】
認証用データに対してユーザが生成した証明データの正当性を検証することで所定の情報処理資源へのユーザのアクセス権限を認証するアクセス制御装置であって、
証明装置固有情報を保持する証明装置固有情報保持部と、
特定のユーザに対する特定のアクセス権を証明するための認証の特徴情報から算出されるアクセスチケットを保持する、チケット保持部と、
他の特定の有効なアクセスチケットを保持していることを証明するため、独自の認証の特徴情報から算出される複合チケットを保持する、複合チケット保持部と、
上記複合チケットと、上記複合チケットがその存在を証明しようとする他のアクセスチケットと、上記証明装置固有情報とを少なくとも用いて、上記複合チケットに対応する証明データを生成する証明データ生成部と、
生成された上記証明データが、上記複合チケットおよび上記複合チケットが存在を証明しようとするアクセスチケットの、すべての認証の特徴情報に基づいて生成されていることを検証する、証明データ検証部とを有することを特徴とするアクセス制御装置。
【請求項３７】
認証用データに対してユーザが生成した証明データの正当性を検証することでプログラムの実行権限を認証するプログラム実行制御装置において、
証明装置固有情報を保持する証明装置固有情報保持部と、
特定のユーザに対する特定のアクセス権を証明するための認証の特徴情報から算出されるアクセスチケットを保持する、チケット保持部と、
他の特定の有効なアクセスチケットを保持していることを証明するため、独自の認証の特徴情報から算出される複合チケットを保持する、複合チケット保持部と、
上記複合チケットと、上記複合チケットがその存在を証明しようとする他のアクセスチケットと、上記証明装置固有情報とを少なくとも用いて、上記複合チケットに対応する証明データを生成する証明データ生成部と、
生成された上記証明データが、上記複合チケットおよび上記複合チケットが存在を証明しようとするアクセスチケットの、すべての認証の特徴情報に基づいて生成されていることを検証する証明データ検証部とを有することを特徴とするプログラム実行制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はユーザのアクセス資格を認証する、アクセス資格認証技術に関し、特に、いくつかの権利を保持しているもののみに対して認証を成功させる技術に関するものである。
【０００２】
【背景技術】
［背景技術の説明］
近年のネットワークの発達により様々な情報がデジタル化され、流通するようになってきている。
【０００３】
デジタル情報は複写が容易であり、複写されたものは劣化しないという特質があるため、金銭的な価値を持つデジタルコンテンツ（画像、動画、プログラムなど）を暗号化して流通させ、使用時にユーザの環境で復号して利用するという流通形態が開始され始めている。日本電信電話（株）のｍｉＴａＫａＴＴａ（商標）や、米国ＩＢＭ社のＩｎｆｏｍａｒｋｅｔ（商標）が現在実施されている代表的なサービスである。
【０００４】
コンテンツが共通の鍵で暗号化されて配布される場合には、一旦鍵が露呈するとその鍵が流布することによってコンテンツがただで利用されてしまうという問題がある。そこで、これらのサービスではコンテンツを利用する時にのみ、オンラインで一時的に鍵を配布し、利用が終わると鍵は捨てられるように構成されている。
【０００５】
しかし、この構成ではコンテンツの利用がオンラインでしかできないことになり、ユーザに対して通信コストの負担不便を強いることになる。
【０００６】
一方、それに対して特公平６−９５３０２号公報のソフトウェア管理方式や、ＷａｖｅＳｙｓｔｅｍ社の開発したＷａｖｅＣｈｉｐ（商標）などの技術では、コンテンツは予め決められた暗号鍵で暗号化されて流通させ、利用者はそれを復号するための共通の鍵の封入されたＩＣカードあるいはＩＣチップを自分のＰＣに接続し、利用したいときはその装置内で復号し、コンテンツを利用するというように構成している。ＩＣカードなどのデバイス内では利用するごとに履歴が取られ、後でその履歴に応じて料金を徴収するというものであった。
【０００７】
しかし、この方法によるとユーザの資格などに応じて、利用可能なコンテンツを制限したりすることは不可能であった。
【０００８】
そこで、特願平９−３８７７０号のユーザ認証装置が発明された。この発明によれば、コンテンツは共通の鍵で暗号化し、ユーザは自分自身の鍵を持ち、アクセスチケットと呼ぶコンテンツとユーザの間を取り持つためのチケットを導入することで、暗号化されたコンテンツのオフラインでの利用を可能とし、さらにユーザ毎にアクセスチケットの発行をコントロールできるので、アクセス制限を行うことが可能となった。
【０００９】
さらに、上記特願平９−３８７７０号のアクセスチケットを用いたスキームに対し、特願平９−１１７３１８号では、同様のスキームを楕円曲線暗号などの離散対数系の暗号を用いて実現している。この技術によれば、従来のＲＳＡ暗号等を用いるのに比べて、同等の安全性を維持したまま、鍵の長さを１／６程度にまで短縮することができ、処理効率の大幅な向上が可能になる。
【００１０】
［背景技術の問題点］
上記のアクセスチケットを用いた従来技術の問題点は、アクセスチケットは常に特定の利用者と対応させて発行する必要があるという点にある。複数のユーザに共通の秘密情報を持たせるならば、その秘密情報を保持しているユーザが共通に使用できるチケットが発行できるが、それ以外には、複数のユーザが共通して使用可能なチケットを発行する方法が無かった。
【００１１】
例えば、あるコンテンツに対するアクセスチケットを持つ者に対して、他のコンテンツを割引で使えるようなサービスを行おうとした場合、従来技術では、アクセスチケットを発行したユーザを、発行する側で登録しておき、それらのユーザに対して、あらたなサービス用のアクセスチケットを、再度ユーザ毎に個別に発行する必要があった。
【００１２】
また、特定の複数のコンテンツに対するアクセスチケットを持つ者に対してのみ、別のコンテンツをサービスで提供するような場合を考えると、従来技術では、それら複数のコンテンツそれぞれに対して、アクセスチケットを持つ者のリストを入手した上で、全てのコンテンツに対するアクセスチケットを保持しているものを抽出したリストを作成し、そのリストをもとに、あらたにユーザ毎にサービス用のアクセスチケットを発行する必要があった。
【００１３】
さらに、ある組織の会員を証明するようなアクセスチケットが存在したとして、その組織の会員に対してのみ何らかのサービスを提供したいと考えた場合、従来技術では、その会員のリストを入手した上で、それらの会員に対して、再度アクセスチケットを個別に発行する必要があった。
【００１４】
【発明が解決しようとする課題】
本発明は、上記のような課題を解決するため、あるアクセスチケットを持つ者のみが認証に成功する無記名のチケットや、複数のアクセスチケットを持つ場合にのみ認証が成功する無記名のチケットを構成し、その認証方法を提供することを目的とする。
【００１５】
【課題を解決するための手段】
上記の課題を解決するため、本発明に係わる認証装置は、ユーザの権限を認証するために生成される証明データを生成する証明装置と、生成された証明データの正当性を検証する検証装置から構成され、証明装置は、特定のユーザに対する特定のアクセス権を証明するための認証の特徴情報から算出されるアクセスチケットを保持するチケット保持部と、他の特定の有効なアクセスチケットを保持していることを証明するため、独自の認証の特徴情報から算出される複合チケットを保持する複合チケット保持部と、複合チケットと複合チケットがその存在を証明しようとする他のアクセスチケットと上記証明装置固有情報とを用いて、複合チケットに対応する証明データを生成する証明データ生成部からなり、検証装置は、証明装置により生成された証明データが、複合チケットおよび複合チケットが存在を証明するアクセスチケットの、すべての認証の特徴情報に基づいて生成されていることを検証する証明データ検証部からなっている。
【００１６】
この構成においては、特定のアクセスチケットの組み合わせごとに複合チケットを作ることにより、複合的な認証を、アクセスチケットおよび複合チケットを用いて行なうことができる。
【００１７】
【発明の実施の態様】
［発明の概要］
具体的な個別の実施例を述べる前に、本発明の実施形態の全体像を以下に述べる。
【００１８】
図１に認証装置の全体の構成を示す。図１において、本実施態様に示す認証装置は、検証装置１０と証明装置２０とを含んで構成されている。検証装置１０は、認証データ生成部１０１および証明データ検証部１０２を有している。証明装置２０は、証明装置固有情報保持部２０１、チケット保持部２０２および証明データ生成部１０３を有している。
【００１９】
検証装置１０の認証データ生成部１０１は認証データを証明装置２０に送る。証明装置２０の証明装置固有情報保持部２０１は、証明装置２０を識別するための固有情報（証明装置固有情報）を保持している。また、証明装置２０のチケット保持部２０２は、ユーザ本人宛に発行された特定の権利を表彰するための証明用補助情報（以後アクセスチケットとよぶ）を保持している。証明装置２０の証明データ生成部２０３は認証データに対して証明装置固有情報およびアクセスチケットを用いて認証データに対して所定の演算を実行して証明データを生成して検証装置１０に送る。検証装置１０の証明データ検証部１０２は証明データを検証する。
【００２０】
証明装置２０は、ユーザが用いる計算機上の証明用プログラムとして実現することができる。この際、証明装置固有情報（証明装置２０を識別するための固有情報）をコピーして配布することができると、正当な利用権をもたない証明装置であっても認証が成功してしまう。そこで、証明装置固有情報はその正当な保持者であってもこれを窃取することができないように、計算機に装着され、耐タンパー特性を有する証明用ハードウェア（ＩＣカード、ボードなど）を併用することが望まれる。この際、ＩＣカードのような携帯性のあるハードウェアを用いれば、ユーザが複数の計算機上で作業をする場合に便利である。
【００２１】
検証装置１０はユーザが利用する計算機上のプログラムとして、あるいはアプリケーションプログラムの一部として構成される。検証装置１０は、証明装置２０と通信して認証処理を行い、通信が正しく終了した場合に限って認証が成功したものとみなす。
【００２２】
証明装置２０を用いた認証を行なうには、ユーザが、アクセスチケット（ユーザ本人宛に発行された特定の権利を表彰するための証明用補助情報）を取得する。ユーザは、計算機上にインストールされた証明用プログラムに、取得したアクセスチケットを登録するとともに、例えば、証明装置固有情報がＩＣカードに封入されている場合には、ＩＣカードを計算機に装着する。アクセスチケットは、計算機上に置く構成にしてもよいし、ＩＣカード中に置いてもよい。
【００２３】
証明装置２０は、証明装置固有情報とアクセスチケットに基づいて計算を行い、その計算に基づいて検証装置１０と通信を行う。この計算の過程で証明装置固有情報が用いられる。
【００２４】
通信の結果、検証装置１０による認証が成功するのは、証明装置固有情報と、アクセスチケットと、検証装置１０が検証するアクセス資格認証の特徴情報の三つが正しく対応している場合に限られる。証明装置固有情報あるいはアクセスチケットの一方が欠けていた場合には、認証は成功しない。
【００２５】
アクセスチケットは特定のユーザ宛に発行される。即ち、アクセスチケットの生成に際して、特定のユーザが保持する証明装置２０の証明装置固有情報が使用される。アクセスチケット生成時に使用される証明装置固有情報と、証明装置２０によって使用される証明装置固有情報とが一致していない場合、やはり、認証は成功しない。
【００２６】
また、アクセスチケットは、特定のアクセス資格認証の特徴情報に基づいて生成され、検証装置１０はこのアクセス資格認証の特徴情報を認証するように構成される。従って、アクセスチケットの生成のもととなった特徴情報と、検証装置１０が認証しようとする特徴情報とが互いに対応していなかった場合にも、認証は成功しない。
【００２７】
ユーザによるアクセスチケットの取得に関しては、アクセスチケットを発行する共通のセンターが、ユーザからの発行依頼に応じて生成して配布する方法がある。このような場合、アクセスチケット生成装置３０は、チケット発行者によって管理され、アクセスチケットはこれら正当な権利者等によって、ユーザの環境とは別個に作成され、配布される。生成されたアクセスチケットは、フロッピーディスク等の可搬型記憶媒体や、電子メールなどを用いてネットワークを介して配送される。
【００２８】
本発明は、特定のアクセスチケットを複数保持している場合のみ認証が成功する、無記名のアクセスチケットの構成方法と、このようなアクセスチケット（以下、複合チケットと呼ぶ）を用いた認証方法に関するものである。複合チケットは、複合チケットによって存在を証明すべき他の特定のアクセスチケットをあらかじめ指定して発行される。
【００２９】
以下では、より具体的な構成について実施例に即して説明する。
【００３０】
［実施例１］
本実施例の証明装置２０の構成例を図２に示し、検証装置１０の構成例を図３に示す。
【００３１】
図２において、本実施例の証明装置２０は、証明装置固有情報保持部２０１、公開情報保持部２０４と、受信データ記憶部２０５と、チケット保持部２０２と、複合チケット保持部２０６と、チケット選択部２０７と、第１演算部２０８と、第２演算部２０９と、証明データ生成部２０３とを含んで構成されている。
【００３２】
証明装置固有情報保持部２０１は、証明装置を識別するための固有情報（証明装置固有情報）を保持し、公開情報保持部２０４は、システム共通の公開情報を保持している。また、受信データ記憶部２０５は、検証装置１０からのデータを受信する。
【００３３】
また、チケット保持部２０２は、ユーザの特定の権利を示すチケットを保持しており、復号チケット保持部２０６は、複数の他の有効なチケットを保持していることを証明するための複合チケットを保持している。チケット選択部２０７は、証明データの生成に際し、チケット・複合チケットおよびそれらに付随する情報を選択して、第１演算部２０８、第２演算部２０９に送る。第１演算部２０８、第２演算部２０９および証明データ生成部２０３は、チケット選択部２０７によって選択された情報をもとに、証明データの生成を行う。
【００３４】
この構成において、チケット保持部２０２には、チケットとともに、そのチケットの利用条件を記したチケット利用情報及びチケットに対応したチケット公開情報が、保持される。また、複合チケット保持部２０６には、複合チケットとともに、その複合チケットの利用条件や、その複合チケットが証明しようとする他のチケットを特定するための情報を記したチケット利用情報と、複合チケットに対応したチケット公開情報が、同様に保持される。
【００３５】
図３において、本実施例の検証装置１０は、公開情報記憶部１０３と、乱数生成部１０４と、乱数記憶部１０５と、認証データ生成部１０１と、乱数効果除去部１０６と、認証用素データ記憶部１０７と、検証データ記憶部１０８と、受信データ記憶部１０９と、証明データ検証部１０２とを含んで構成されている。
【００３６】
公開情報記憶部１０３は公開情報を記憶し、乱数記憶部１０５は乱数生成部１０４が生成した乱数を記憶する。認証データ生成部１０１は、認証用素データ記憶部１０７の認証用素データと乱数生成部１０４の乱数とに基づいて認証データを生成する。受信データ記憶部１０９に記憶されたデータ（証明データ）は乱数効果除去部１０６に乱数効果除去処理され、証明データ検証部１０２は、乱数効果除去処理された証明データを検証データ記憶部１０８の検証データで検証する。
【００３７】
以下、あるユーザが、権利αおよび権利βを証明するチケットを持っており、それぞれの権利の認証が成功する場合に、この２つの権利を持つ場合のみ認証が成功するようなチケットである複合チケットの構成方法と、この複合チケットの認証方法について説明する。
【００３８】
本実施例では、権利α，βを表すアクセス資格認証の特徴情報Ｘα、Ｘβは、法数ｐ（ｐは十分大きな素数）のもとでのＥｌＧａｍａｌ暗号の秘密鍵であり、Ｙα、Ｙβが対応する公開鍵である。即ち、式（１−１）を満たす。
【００３９】
【数２１】
0003791169.tif 000002
0003791169.tif 000003
また、権利α、βの双方を持つことを証明するための複合チケットに対応する、アクセス資格認証の特徴情報Ｘαβは、式（１−２）を満たす。
【００４０】
【数２２】
0003791169.tif 000004
ｇは位数ｐの有限体の乗法群の生成元、即ち、式（１−３）及び（１−４）を満たす。
【００４１】
【数２３】
（１−３）      ｇ≠０
0003791169.tif 000005
0003791169.tif 000006
0003791169.tif 000007
ｐ、ｇは上記の計算において共通に使用される、認証装置全体での公開情報である。
【００４２】
ここで、関数Ｆは関数値が衝突しにくい関数であり、例えば、一方向ハッシュ関数ｈを利用して、式（１−５）あるいは式（１−６）のように定めることができる。
【００４３】
【数２４】
（１−５）      Ｆ（ｘ，ｙ）＝ｈ（ｘ｜ｙ）
（１−６）      Ｆ（ｘ，ｙ，ｚ，ｗ）＝ｈ（ｘ｜ｙ｜ｚ｜ｗ）
ｘ｜ｙはｘとｙとのビットの連結であることを表す。
【００４４】
一方向ハッシュ関数とは、ｈ（ｘ）＝ｈ（ｙ）を満たす相異なるｘ、ｙを算出することが著しく困難であるという性質をもつ関数である。一方向ハッシュ関数の例として、ＲＳＡ  Ｄａｔａ  Ｓｅｃｕｒｉｔｙ  Ｉｎｃ．によるＭＤ２、ＭＤ４、ＭＤ５、米国連邦政府による規格ＳＨＳ（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ｓｔａｎｄａｒｄ）が知られている。
【００４５】
また、証明装置２０を識別するために、証明装置毎に異なる数である証明装置固有情報ｄｕが存在し、証明装置２０の証明装置固有情報保持部２０１に保持されている。
【００４６】
権利αおよびβを証明するアクセスチケットｔα、ｔβは、チケットに対応するアクセス資格認証の条件を定めたチケット利用情報をそれぞれＬα、Ｌβとするとき、次の式（１−７）に基づいて生成される。
【００４７】
【数２５】
0003791169.tif 000008
そして、権利αおよび権利βの双方を持つことを証明する複合チケットｔαβは、
この複合チケットの利用条件を定めた、複合チケット利用情報をＬαβとして、
【００４８】
【数２６】
（１−８）      ｔαβ＝Ｘαβ−Ｆ（Ｙαβ，Ｌαβ）−Ｘα−Ｘβ
の式により、生成される。
ここで、Ｌαβには、Ｙα、ＹβおよびＬα、Ｌβの値が含まれているものとする。
Ｘα、Ｘβをアクセスチケット秘密鍵、Ｙα、Ｙβをアクセスチケット公開鍵と呼ぶ。
【００４９】
また、Ｘαβを複合チケット秘密鍵、Ｙαβを複合チケット公開鍵と呼ぶ。
【００５０】
また、ここでは、暗号化されるデータＫを比較用データ、証明装置２０が証明のために生成するデータＲを証明データとよぶ。また、証明装置２０が証明データを生成するために、検証装置１０から受け取るデータを認証データ、検証装置１０が復号された値を検証するために用いるデータを検証データと呼ぶ。
【００５１】
以下に本実施例の動作を示す。本実施例の証明装置の動作を図４に示し、検証装置の動作を図５に示す。
【００５２】
［１］ユーザが、アクセス資格認証装置による認証を必要とするデジタルコンテンツにアクセスすることにより、検証装置１０が起動される。
【００５３】
デジタルコンテンツがプログラムの場合には、検証プログラムが含まれており、ユーザが対象プログラムを立ちあげることで、自動的に検証プログラムが起動される。また、デジタルコンテンツが特定のファイル形式を持つ場合には、対応づけられた再生装置（ビューアなど）が検証プログラムを含んでおり、再生装置をたちあげることで、自動的に検証装置１０が起動される。
【００５４】
［２］検証装置１０の認証用素データ記憶部１０７には、認証用素データとしてｕが記憶され、検証データ記憶部１０８には検証データＣが記憶されている。それらは次の性質を満たす。
【００５５】
認証用素データｕは、上記ｇを法ｐのもとで適当な乱数ｚを指数としてべき乗した数であり、即ち、式（１−９）を満たす。
【００５６】
【数２７】
（１−９）      ｕ＝ｇz  ｍｏｄ  ｐ
ここで、比較用データを適当なデータＫとする時、Ｃは、アクセスチケット公開鍵Ｙを、法ｐのもとで、上記乱数ｚを指数としてべき乗した数と、比較用データＫとの積であり、式（１−１０）を満たす。
【００５７】
【数２８】
（１−１０）      Ｃ＝ＹzＫ  ｍｏｄ  ｐ
比較用データＫを検証装置１０に保持せず、代わりに、その暗号化の結果であるＣのみを保持するように検証装置１０を構成すれば、検証装置１０から比較用データが漏洩する危険を回避することができる。
【００５８】
検証装置１０は、乱数生成部１０４によって、乱数ｒを生成し、乱数記憶部１０５に記録する。
【００５９】
次いで、認証データ生成部１０１は、認証用素データ記憶部１０７に記憶されているデータｕを取得して、式（１−１１）により認証データｕ’を計算する。
【００６０】
【数２９】
（１−１１）      ｕ’＝ｕ・ｇr  ｍｏｄ  ｐ
【００６１】
［３］検証装置１０は、認証データｕ’と、公開情報記憶部１０３に記憶されている複合チケットの公開情報Ｙαβとを、証明装置２０中の受信データ記憶部２０５に書き込む。
【００６２】
［４］装置中のチケット選択部２０７は、受け取ったＹαβに対応するチケットを、チケット保持部２０２及び複合チケット保持部２０６から検索する。
【００６３】
Ｙαβに対応するチケットは、複合チケット保持部２０６に保持されているので、複合チケットの認証であると、判断される。そこで、チケット選択部２０７は、Ｙαβに対応する複合チケットｔαβと、複合チケット利用情報Ｌαβ取り出す。そして、Ｌαβに記述されている内容から、この複合チケットが権利を証明しようとする他のチケットｔα、ｔβをチケット保持部２０２から検索する。さらに、それぞれのチケットに対応してチケット保持部２０２に保持されているチケット利用情報およびＬα、Ｌβおよびチケット公開情報Ｙα、Ｙβも抽出する。
【００６４】
次に、チケット選択部２０７は、チケット利用情報Ｌα、Ｌβおよび複合チケット利用情報Ｌαβのそれぞれのチケットの利用条件を満たすかどうかを検証する。いずれか１つでも利用条件を満たさないものがあれば、エラー情報を検証装置１０に送信して、処理を終了する。
【００６５】
［５］第１演算部２０８は、チケット選択部２０７から、チケットｔα、ｔβおよび複合チケットｔαβを受け取り、公開情報記憶部２０４に記憶されている法数ｐのもとで式（１−１２）を実行してＳを得る。
【００６６】
【数３０】
0003791169.tif 000009
【００６７】
［６］証明装置２０中の第２演算部２０９は、チケット選択部２０７から、公開情報Ｙα、Ｙβ、Ｙαβおよび利用情報Ｌα、Ｌβ、Ｌαβを受け取る。さらに、証明装置固有情報記憶部２０１に記憶されているユーザの固有情報ｄｕを取得し、公開情報記憶部２０４に記憶されている法数ｐのもとで式（１−１３）の計算を実行してＳ’を得る。
【００６８】
【数３１】
0003791169.tif 000010
【００６９】
［７］証明装置２０中の証明データ生成部２０３は、第１演算部２０８および第２演算部２０９からＳ’およびＳを得て、式（１−１４）の計算を行いＲを得る。
【００７０】
【数３２】
（１−１４）      Ｒ＝Ｓ’Ｓ  ｍｏｄ  ｐ
証明装置２０はＲを検証装置１０の受信データ記憶部１０９に返送する。
【００７１】
［８」検証装置１０中の乱数効果除去部１０６は、乱数記憶部１０５から先に生成した乱数ｒを取り出し、まず式（１−１５）の計算を行う。
【００７２】
【数３３】
（１−１５）      ｖ＝Ｙαβ-r・Ｒ  ｍｏｄ  ｐ
次に検証データ記憶部１０８からＣを取り出して、式（１−１６）の計算を行う。
【００７３】
【数３４】
（１−１６）      Ｋ’＝Ｃ・ｖ-1  ｍｏｄ  ｐ
【００７４】
［９］証明装置２０において用いられるアクセスチケットｔとユーザの固有情報ｄｕの組み合わせが正しい場合に限り、計算の結果得られたＫ’と比較用データＫが一致し、検証が成功したものとみなされる。
【００７５】
一致したかどうかを検証する方法としては、検証装置１０がＫの値を保持しておき直接比較する方法や、Ｋ’の値が特定の冗長性を満たすことを確認する方法、Ｋの値をたとえば慣用暗号の復号鍵としておき、それを用いて暗号化された情報を復号した結果で、一致したか判断する、などの方法がある。
【００７６】
なお、本実施例では、２つの権利α、βに対応するアクセスチケットに対するする、複合チケットの例を示したが、複合チケットは、任意の個数のアクセスチケットに対して、発行することが可能である。
【００７７】
［実施例２］
本発明の実施例２では、ＥｌＧａｍａｌ公開鍵暗号の代わりに、有限体上の楕円曲線上で定義される暗号系を用いる。本実施例の証明装置２０および検証装置１０の構成は実施例１と同様である。
【００７８】
また、本実施例でも、実施例１と同様に、権利αおよび権利βの認証が成功する場合に、この２つの権利の存在を証明する複合チケットの構成方法と、この複合チケットの認証方法について説明する。
【００７９】
本実施例では、ｐ個の元を持つ有限体Ｆp（ｐは３より大きい素数をべき乗した値）上の楕円曲線Ｅ：ｙ2＝ｘ3＋ａｘ＋ｂ（ただし、４ａ3＋２７ｂ2≠０）を選び、楕円曲線Ｅ上の一点をＰとする。Ｆpおよび、Ｅ、Ｐはシステム全体で共通に使用され、Ｆpを規定する情報ａ，ｂ，およびｐは認証装置全体での公開情報である。
【００８０】
ここで、権利α，βを表すアクセス資格認証の特徴情報をＸα、Ｘβとし、点Ｙα、Ｙβを式（２−１）のようにして生成する。
【００８１】
【数３５】
0003791169.tif 000011
また、権利α、βの双方を持つことを証明するための複合チケットに対応する、アクセス資格認証の特徴情報をＸαβとして、Ｙαβを式（２−２）のようにして生成する。
【００８２】
【数３６】
（２−２）      Ｙαβ＝Ｘαβ・Ｐ
権利αおよびβを証明するアクセスチケットｔα、ｔβは、チケットに対応するアクセス資格認証の条件を定めたチケット利用情報をそれぞれＬα、Ｌβとするとき、次の式（２−３）に基づいて生成される。
【００８３】
【数３７】
0003791169.tif 000012
そして、権利αおよび権利βの双方を持つことを証明する複合チケットｔαβは、この複合チケットの利用条件を定めた、複合チケット利用情報をＬαβとして、
【００８４】
【数３８】
（２−４）      ｔαβ＝Ｘαβ  Ｆ（Ｙαβ，Ｌαβ））−Ｘα−Ｘβ
の式により、生成される。上記に示すように、これらの計算を行う群はチケットにかかわらず共通である。
【００８５】
ここで、Ｌαβには、Ｙα、ＹβおよびＬα、Ｌβの値が含まれているものとする。また、Ｘα、Ｘβをアクセスチケット秘密鍵、Ｙα、Ｙβをアクセスチケット公開鍵と呼ぶ。さらに、Ｘαβを複合チケット秘密鍵、Ｙαβを複合チケット公開鍵と呼ぶ。
【００８６】
また、Ｅ上の点ｕと点Ｃを以下のように定める。
【００８７】
点ｕは、上記点Ｐを適当な乱数ｚ倍した数であり、即ち、式（２−５）を満たす。
【００８８】
【数３９】
（２−５）      ｕ＝ｚ・Ｐ
比較用データをＫとし、ＫをＥ上の点Ｌに対応させる。点Ｃは複合チケット公開鍵Ｙを、上記乱数ｚ倍した数と、点Ｌとの和であり、式（２−６）を満たす。
【００８９】
【数４０】
（２−６）      Ｃ＝Ｌ＋ｚ・Ｙαβ
データＫを点Ｌに対応させる方法としては、例えば、「暗号・ゼロ知識証明・数論」（情報処理学会監修／岡本・大田編）共立出版のｐｐ．２３１に述べられているような方法を用いることができる。
【００９０】
比較用データＫを検証装置１０に保持せず、代わりに、その暗号化の結果であるＣのみを保持するように検証装置１０を構成すれば、検証装置１０から比較用データＫが漏洩する危険を回避することができる。
【００９１】
本実施例の証明装置２０の動作を図６に示し、検証装置１０の動作を図７に示す。
【００９２】
［１］ユーザが、アクセス資格認証装置による認証を必要とするデジタルコンテンツにアクセスすることによって、検証装置１０が起動される。検証装置１０の実現方法は、実施例１の場合と同様である。
【００９３】
［２］検証装置１０の認証用素データ記憶部１０７には、認証用素データとしてＥ上の点ｕが、また、検証データ記憶部１０８には、検証データとしてＥ上の点Ｃが記憶されている。
【００９４】
検証装置１０は、乱数生成部１０４によって、乱数ｒを生成し、乱数記憶部１０５に記録する。次いで、認証データ生成部１０１が、認証用素データ記憶部１０７に記憶されているデータｕを取得して、式（２−７）の計算を行う。
【００９５】
【数４１】
（２−７）      ｕ’＝ｕ＋ｒ・Ｐ
【００９６】
［３］検証装置１０は、認証データｕ’と、公開鍵情報記憶部１０３に記憶されている複合チケットの公開情報Ｙαβとを、証明装置２０中の受信データ記憶部２０５に書き込む。
【００９７】
［４］証明装置２０中のチケット選択部２０７は、受け取った公開情報Ｙαβに対応するチケットを、チケット保持部２０２及び複合チケット保持部２０６から検索する。Ｙαβに対応するチケットは、複合チケット保持部２０６に保持されているので、複合チケットの認証であると、判断される。そこで、チケット選択部２０７は、Ｙαβに対応する複合チケットｔαβと、複合チケット利用情報Ｌαβ取り出す。そして、Ｌαβに記述されている内容から、この複合チケットが権利を証明しようとする他のチケットｔα、ｔβをチケット保持部２０２から検索する。さらに、それぞれのチケットに対応してチケット保持部２０２に保持されているチケット利用情報Ｌα、Ｌβおよびチケット公開情報Ｙα、Ｙβも抽出する。
【００９８】
次に、チケット選択部２０７は、Ｌα、ＬβおよびＬαβのそれぞれのチケットの利用条件が満たされるかどうかを検証する。いずれか１つでも利用条件を満たさないものがあれば、エラー情報を検証装置１０に送信して、処理を終了する。
【００９９】
［５］第１演算部２０８は、チケット選択部２０７から、チケットｔα、ｔβおよび復号チケットｔαβを受け取り、式（２−８）を実行してＳを得る。なお、この計算には、公開情報記憶部２０４に記憶されている、群を規定する情報が用いられる。
【０１００】
【数４２】
（２−８）      Ｓ＝（ｔαβ＋ｔα＋  ｔβ）・ｕ’
【０１０１】
６．証明装置２０の第２演算部２０９は、チケット選択部２０７から、公開情報Ｙα、Ｙβ、Ｙαβおよび利用情報Ｌα、Ｌβ、Ｌαβを受け取る。さらに、証明装置固有情報記憶部２０１に記憶されているユーザの固有情報ｄｕを取得し、式（２−９）の計算を実行してＳ’を得る。同様に、この計算には、公開情報記憶部２０４に記憶されている、群を規定する情報が用いられる。
【０１０２】
【数４３】
（２−９）      Ｓ’＝（Ｆ（Ｙαβ，Ｌαβ）＋Ｆ（Ｙα，ｄｕ，Ｌα）＋Ｆ（Ｙβ，ｄｕ，Ｌβ））・ｕ’
【０１０３】
［７］証明装置２０の証明データ生成部２０３は、第１演算部２０８および第２演算部２０９からＳ’およびＳを得て、式（２−１０）の計算を行いＲを得る。
【０１０４】
【数４４】
（２−１０）      Ｒ＝Ｓ＋Ｓ’
証明装置２０はＲを検証装置１０の受信データ記憶部１０９に返送する。
【０１０５】
［８］検証装置１０の乱数効果除去部１０６は、乱数記憶部１０５から、先に生成した乱数ｒを取り出し、まず式（２−１１）の計算を行う。
【０１０６】
【数４５】
（２−１１）      ｖ＝Ｒ−ｒ・Ｙαβ
次に検証データ記憶部１０８からＣを取り出して、上記ｖの値を用いて式（２−１２）の計算を行う。
【０１０７】
【数４６】
（２−１２）      Ｌ’＝Ｃ−ｖ
【０１０８】
［９］証明データ検証部１０２は点Ｌ’に対応するデータＫ’を計算する。点Ｌ’をデータＫ’に対応させる方法としては、例えば前述した、「暗号・ゼロ知識証明・数論」（情報処理学会監修／岡本・大田編）共立出版のｐｐ．２３１に述べられているような方法を用いることができる。
【０１０９】
証明装置２０において用いられるアクセスチケットｔとユーザの固有情報ｄｕの組み合わせが正しい場合に限り、計算の結果得られたＫ’と比較用データＫが一致し、正しく検証が行われる。
【０１１０】
Ｋ’と比較用データＫとの比較方法に関しては、実施例１と同様の方法を用いることができる。
【０１１１】
なお、本実施例では、楕円曲線Ｅをｙ2＝ｘ3＋ａｘ＋ｂとしたがそれ以外にも以下のような構成とすることも可能である。
【０１１２】
標数２の有限体上の楕円曲線Ｅをｙ2＋ｃｙ≡ｘ3＋ａｘ＋ｂ  ｍｏｄ  ｐ（ただし、ｂ≠０）とする。
【０１１３】
標数２の有限体上の楕円曲線Ｅをｙ2＋ｘｙ≡ｘ3＋ａｘ＋ｂ  ｍｏｄ  ｐ（ただし、ａ≠０）とする。
【０１１４】
標数３の有限体上の楕円曲線Ｅをｙ2≡ｘ3＋ａｘ2＋ｂｘ＋ｃ  ｍｏｄ  ｐとする。
【０１１５】
なお、本実施例では、２つの権利α、βに対応するアクセスチケットに対するする、複合チケットの例を示したが、複合チケットは、任意の個数のアクセスチケットに対して、発行することが可能である。
【０１１６】
【発明の効果】
以上で説明したように、本発明によれば、あるアクセスチケットを持つ者のみが認証に成功する無記名のチケットや、複数のアクセスチケットを持つ場合にのみ認証が成功する無記名のチケットを実現することができ、この無記名のチケットを利用して複合的な認証を行なうことができる。
【図面の簡単な説明】
【図１】  本発明の認証装置の概要を説明するブロック図である。
【図２】  本発明の実施例の証明装置の構成を示すブロック図である。
【図３】  本発明の実施例の検証装置の構成を示すブロック図である。
【図４】  本発明の実施例１の証明装置の動作を示すフローチャートである。
【図５】  本発明の実施例１の検証装置の動作を示すフローチャートである。
【図６】  本発明の実施例２の証明装置の動作を示すフローチャートである。
【図７】  本発明の実施例２の検証装置の動作を示すフローチャートである。
【符号の説明】
１０    検証装置
２０    証明装置
３０    アクセスチケット生成装置
１０１    認証データ生成部
１０２    証明データ検証部
１０３    公開情報記憶部
１０４    乱数生成部
１０５    乱数記憶部
１０６    乱数効果除去部
１０７    認証用素データ記憶部
１０８    検証データ記憶部
１０９    受信データ記憶部
２０１    証明装置固有情報保持部
２０２    チケット保持部
２０３    証明データ生成部
２０４    公開情報保持部
２０５    受信データ記憶部
２０６    複合チケット保持部
２０７    チケット選択部
２０８    第１演算部
２０９    第２演算部
【図１】
0003791169.tif 000033
【図２】
0003791169.tif 000034
【図３】
0003791169.tif 000035
【図４】
0003791169.tif 000036
【図５】
0003791169.tif 000037
【図６】
0003791169.tif 000038
【図７】
0003791169.tif 000039