(57)【特許請求の範囲】
【請求項１】
ユーザ装置がブラックボックスと証明書発行者装置とに結合され、ブラックボックスは誰にも引き出すことができない秘密鍵を記憶したメモリを備え、
証明書発行時に、ユーザ装置は証明書発行者装置の公開鍵をブラックボックスへ送り、
ブラックボックスはブラックボックスの公開鍵ｅB i に対してブラインド処理を行い、その結果と公開鍵ｅB i をユーザ装置に返し、
ユーザ装置は上記ブラインド処理の結果、公開鍵ｅB i を証明書発行者装置へ送り、
証明書発行者装置は、受け取ったブラインド処理結果に対し証明書発行者装置の秘密鍵で署名処理を施し、その署名処理の結果をユーザ装置に返し、
ユーザ装置は、受け取った署名処理の結果に対し、ブラインド解凍処理を行い、その解凍処理結果に対し公開鍵ｅB i を用いて、署名検証を行い、その検証に合格すると、上記解凍処理結果と公開鍵ｅB i を権利証明書とし、
ブラックボックスの上記ブラインド処理は、乱数ｒを生成し、公開鍵ｅB i に対し一方向性関数値ｇB （ｅB i ）を求め、その値に対し、証明書発行者装置の公開鍵ｅCPと乱数ｒを用いてブラインド関数値
【数５】
0003690474.tif 000019
を求めることであり、
ブラックボックスはｒもユーザ装置へ送り、
証明書発行者装置の上記署名処理は、自分が保証する内容ＭCPに対し一方向性関数値ｍ＝ｇCP（ＭCP）を求め、ｅCPと対をなす秘密鍵ｄCPとｍを用いてＺ3 に対して署名生成関数値
【数６】
0003690474.tif 000020
を求めることであり、
証明書発行者装置はＭCPもユーザ装置へ送り、
ユーザ装置の上記解凍処理は、ｅCP，ｒを用い、Ｚ4 に対しブラインド解凍関数値
【数７】
0003690474.tif 000021
を求めることであり、
上記解凍処理結果に対する署名検証は、ＭCPに対し一方向性関数値ｍ＝ｇCP（ＭCP）を求め、ｍとｅCPを用いてＣj に対して署名検証関数値ｆeCP,m （Ｃj ）を求め、かつｅB i に対し一方向性関数値ｇB （ｅB i ）を求め、これらが等しいかを調べることである
ことを特徴とする権利証明書実現方法。
【請求項２】
ユーザ装置は上記権利証明書を資源管理者装置へ送り、
資源管理者装置は受け取った権利証明書に対し、署名検証を行い、その検証に合格すると、公開鍵方式の認証手順を用いてブラックボックスが上記権利証明書の公開鍵ｅB i に対応する秘密鍵を持っているかの確認をユーザ装置を仲介して行い、この検証に成功すれば、その権利証明書の正当性を認めることを特徴とする請求項１記載の権利証明書実現方法。
【請求項３】
ユーザ装置は既存の権利証明書の一つＣy と対応した公開鍵ｅB y の情報もブラックボックスへ送り、
ブラックボックスはｅB y と対をなす秘密鍵ｄB y を用いてＺ3 の署名情報Ｚ3 Byを作成し、Ｚ3 Byもユーザ装置へ送り、
ユーザ装置はＺ3 By，ｅB y ，Ｃy ，ｃy と対応した情報ＭCPy も証明書発行者装置へ送り、
証明書発行者装置は、Ｚ3 の有効性をＺ3 Byを用いて確認し、かつＭCPy に対し一方向性関数値ｍy ＝ｇCP（ＭCPy ）を求め、Ｃy の証明書発行者装置の公開鍵ｅCPy と、ｍy を用いてＣy に対し署名検証関数値ｆeCPy,my （Ｃy ）を求め、またｅB y に対し一方向性関数値ｇB （ｅB y ）を求め、これらが等しいかを調べて、Ｚ3 Byの署名鍵ｄB y の正当性を確認し、これら検証に合格すると署名生成処理を行う
ことを特徴とする請求項１または２記載の権利証明書実現方法。
【請求項４】
秘密鍵ｄ、公開鍵ｅとし、Ｎ＝ｐ×ｑ（ｐ，ｑ素数）をｅ，ｄに対応する公開情報、ｅ×ｄ（mod ＬＣＭ（ｐ−１，ｑ−１））＝１（ＬＣＭ（ａ，ｂ）は整数ａ，ｂの最小公倍数を表わす）、ｘ＜Ｎでｘde＝ｘ（mod Ｎ）とし、秘密情報ｓ、公開情報Ｉ＝ｓ2 （mod ｎ）、ｎ＝ｐ×ｑ、Ｉ（任意の識別情報）とし、
上記公開鍵ｅCPとして（ｅCP，ＮCP）が用いられ、
秘密鍵ｄB i として、ｓB i が、公開鍵ｅB i として（ｎB i ，ＩB i ）が用いられ、
ブラックボックスは乱数ｃj も生成し、上記ブラインド関数値Ｚ3 はｒecp ｇB （ｎB i ‖ＩB i ‖ｃj ）（mod ＮCP）であり、（ａ‖ｂはａとｂの結合を表わす）、ｃj もユーザ装置へ送り、
上記署名生成関数Ｚ4 は（ｍＺ3 ）dCP （mod ＮCP）であり、上記ブラインド解凍関数値Ｚj はｒ-1（Ｚ4 ）（mod ＮCP）であり、
上記署名検証関数値はｍ-1（Ｃj ）eCP （mod ＮCP）であり、これと比較する一方向性関数値はｇB （ｎB i ‖ＩB i ‖ｃj ）（mod ＮCP）であり、権利証明書にＣj も加えることを特徴とする請求項１または２記載の権利証明書実現方法。
【請求項５】
ユーザ装置は証明書発行者装置に証明書発行を申請する時刻Ｔに対しＴs ＜Ｔ＜Ｔe かつＴe −Ｔs ＜登録期間最大値ＴCPmax を満すＴs ，Ｔe もブラックボックスへ送り、またブラックボックスの正当性を保証する証明書の一つＣy と対応する公開鍵（ｎB y ，ＩB y ）と対応する情報もブラックボックスへ送り、
ブラックボックスは（ｎB y ，ＩB y ）と対をなす秘密鍵ｓB y で（Ｚ3 ‖Ｔs ‖Ｔe ）に対する署名情報Ｚ5 Byを作成し、Ｚ5 Byもユーザ装置へ送り、
ユーザ装置はＺ5 By，Ｔs ，Ｔe ，Ｃy ，ＭCPy ，ｃy ，（ｎB y ，ＩB y ）も証明書発行者装置へ送り、
証明書発行者装置はＺ3 ，Ｔs ，Ｔe の有効性をＺ5 Byを用いて確認し、またブラックボックス（ｓB y ）の正当性をＭCPy ，（ｎB y ，ＩB y ），Ｃy ，ｃy の証明書発行者装置の公開鍵（ｎCPy ，ＩCPy ）を用いて確認し、証明書発行者装置の時計の時刻がＴs とＴe の間であることを確認し、Ｚ3 が発行済リストに登録されていないことを確認し、これらの確認に全て合格すると上記署名生成処理を行い、かつＺ3 を発行済リストに加える
ことを特徴とする請求項４記載の権利証明書実現方法。
【請求項６】
ユーザ装置からの依頼により権利証明書を発行する証明書発行者装置であって、
秘密鍵、公開鍵などを記憶するメモリと、
ユーザ装置から受け取ったブラインド処理結果Ｚ1 に対し、証明書発行者装置の秘密鍵で署名を行う署名手段と、
その署名結果Ｚ2 をユーザ装置へ送る手段と
ユーザ装置から受け取ったＺ1 とその署名情報Ｚ1 ByからＺ1 の有効性を検証する署名検証手段と、
ユーザ装置から受け取った権利証明書Ｃy に対し、その証明書発行者装置のＣy と対応する公開鍵ｅCPy を用いて署名検証関数値ｆeCPy（Ｃy ）を計算する署名検証関数器と、
ユーザ装置から受け取ったＣy と対応する公開鍵ｅB i に対し一方向性関数値ｇB （ｅB i ）を計算する一方向性関数器と、
計算値ｆeCPy（Ｃy ）とｇB （ｅB i ）を比較して等しければ合格とする比較器と、
上記署名検証手段が検証に合格し、かつ上記比較器が合格すると上記署名を行わせる手段とを具備し、
上記署名手段は、証明書発行者装置が保証する内容ＭCPに対し一方向性関数値ｍ＝ｇCP（ＭCP）を計算する一方向性関数器と、上記ブラインド処理結果Ｚ1 に対し、証明書発行者装置の秘密鍵ｄCPと上記ｍを用いて署名生成関数値
【数９】
0003690474.tif 000022
を計算する署名生成関数器とよりなり、
上記送る手段はＭCPも送ることを特徴とする証明書発行者装置。
【請求項７】
ユーザ装置からの依頼により権利証明書を発行する証明書発行者装置であって、
秘密鍵、公開鍵などを記憶するメモリと、
証明書発行者装置が保証する内容ＭCPに対し一方向性関数値ｍ＝ｇCP（ＭCP）を計算する一方向性関数器と、ユーザ装置から受け取ったブラインド処理結果Ｚ1 に対し、証明書発行者装置の秘密鍵ｄCPと上記ｍを用いて署名生成関数値
【数９】
0003690474.tif 000023
を計算する署名生成関数器と、
ユーザ装置から受け取ったＺ1 とその署名情報Ｚ1 ByからＺ1 の有効性を検証する署名検証手段と、
ユーザ装置から受け取ったＭCPy に対し一方向性関数値ｍy ＝ｇCP（ＭCPy ）を計算する一方向性関数器と、
Ｃy の証明書発行者装置の公開鍵ｅCPy,m y を用いてＣy に対し署名検証関数値ｆeCPy, m y （Ｃy ）を計算する署名検証関数器と、
ユーザ装置から受け取ったｅB y に対し一方向性関数値ｇB （ｅB y ）を計算する一方向性関数器と、
上記計算値ｆeCPy, m y （Ｃy ）とｇB （ｅB y ）とを比較する比較器と、
上記署名検証手段の検証が合格し、かつ上記比較器の比較が一致であれば上記署名を実行させる手段と
上記署名結果Ｚ2 及び上記ＭCPをユーザ装置へ送る手段と
を具備することを特徴とする証明書発行者装置。
【請求項８】
ユーザ装置から送られた権利証明書Ｃj ，上記証明書発行者装置が保証する内容ＭCP，上記権利証明書Ｃjに対応するｅB i を検証する資源管理者装置において、
公開鍵を記憶するメモリと、
上記ＭCPに対し一方向性関数値ｍ＝ｇCP（ＭCP）を計算する一方向性関数器と、
上記Ｃj の証明書発行者装置の公開鍵ｅCPと上記ｍとを用い、Ｃj に対し署名検証関数値ｆeCP,m （Ｃj ）を計算する署名検証関数器と、
上記ｅB i に対して一方向性関数値ｇB （ｅB i ）を計算する一方向性関数器と、
上記計算値ｆeCP,m （Ｃj ）とｇB （ｅB i ）を比較して一致すれば合格を出力する比較器と、
ユーザ装置ごとのブラックボックスが上記ｅB i と対応した秘密鍵ｄB i を秘密に保持していることを、公開鍵方式の認証手順によりユーザ装置を仲介して確認する認証手段と、
上記比較器が合格を出力し、かつ上記認証手段が検証に成功すれば、上記権利証明書のＭCPの内容を証明書発行者装置が保証していると判定する手段と、
を具備することを特徴とする資源管理者装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は個人のプライバシの保護と不正利用防止を両立した権利証明書を実現する方法、その装置に関する。
【０００２】
【従来の技術】
実社会においても計算機の世界においても、個人が、確かにその主張する権利を持つ存在であるかを確認する認証作業は、多くの場面において実施されている。最近では、Ｗｅｂサイトにおいても、簡単なパスワードや公開鍵を用いた認証が頻繁に用いられるようになった。
【０００３】
これらの認証の目的を考えてみると、その内容は場合によって大きく異なる。例えば、銀行のＡＴＭでは各人で異なる預金を確実に処理するため、また個人のブライバシを侵害しないためにも、端末の前にいるユーザの名前を確実に知る必要がある。これに対して、ニュースなど一般的情報を提供するＷｅｂサイトや、商品に対するユーザサポートを行う場面においては、ユーザの名前を知る事ではなく、ユーザがその権利を持っているかどうかを確認することが必要とされる。
【０００４】
だが、上記の二番目のような場面においても、現在の多くの場合、個人識別子を利用し、この識別子に対応したユーザの持つ権限として、資源管理を実施している。この手法は、本来の目的に対する実現手段の不自然さに加えて、ユーザのプライバシの保護上の問題や、サービス提供者側におけるデータベースの管理負荷など様々な欠点を持つ。
【０００５】
プライバシの問題は特に切実で重要である。例えば、各サービスごとに中央集権的なサーバが準備されていた場合、もちろんそのサーバの管理する範囲内でのプライバシは、サーバ管理者に対しては無いに等しい。だが、問題はそれだけに留まらない。各々別々のサービスを提供する複数のサーバの管理者が結託した場合、個人が各サーバに提供した自分に関する全ての情報と、それらサーバに対する行動履歴の全てが、管理者達に把握されてしまうことも十分に起こり得る。これは是が非でも避けなければならない事態である。また、個人情報の漏洩と追跡不能性が問題となる。
【０００６】
このような問題を解決する一つの手法は、権利の確認に証明書を利用する方法である。権利が確認された人のみにあらかじめ証明書を配布しておくことによって、名前など個人識別情報とは関係なく権利の確認を実施することができる。だがこの場合、証明書に個人識別情報が含まれていなければ、証明書のコピーなど不正利用に対する防御が難しい。またこれに対して、証明書に短時間の有効期限を設けることや、既存の電子現金で利用されている技術を用いて証明書の再利用を禁止することで不正利用を防止すると、認証の手段としては、利便性が著しく損なわれることになる。
【０００７】
この発明で使用する世界のモデルを図９に示す。図中にあるように、以下の三つの要素を仮定する。
証明書発行者装置（ＣＰ）
証明書を発行する実体。特定ユーザに対して、そのユーザがある権利を持っている、あるいはある特徴を持っていることを保証する証明書を発行する。
資源管理者装置（ＲＭ）
資源（情報）を管理する実体。自分の管理する資源に対して、ユーザから提示された複数の証明書をもとに、そのユーザの取れる行動の範囲を決定し管理する。
ユーザ装置（Ｕ）
証明書発行者装置ＣＰによって発行された証明書を管理する。また、資源を利用したいときには、証明書を適当に選択し、資源管理者装置ＲＭに提示する。この明細書ではユーザの持つ証明書とその入れ物をプロファイルと呼ぶ。
【０００８】
上記のモデルでは、一つの証明書を複数の資源管理者装置ＲＭで共用することを前提としている。従来のような資源ごとにＩＤとパスワードを設定する手法は、図中中段右側に示すような、ＣＰとＲＭがペアになった場合に対応する。
【０００９】
【発明が解決しようとする課題】
この発明は以下に示す要求を満す権利証明書の実現方法を提供しようとするものであって、これらを満たす権利証明書の実現方法はユーザのプライバシを最大限に保証し、かつ証明書の不正利用を防止できると考えられる。
（１）不必要な個人情報漏洩の防止
資源利用時において、資源管理者装置ＲＭの資源の利用が許可されるために最低限必要な情報しか漏洩しない。最低限とは、管理者装置ＲＭが指定した情報以外を含まないことである。
（２）行動の追跡不能性
任意の数の証明書発行者装置ＣＰと資源管理者装置ＲＭが結託しても、ユーザの行動履歴の全貌は把握できない。また行動が把握される可能性のある範囲は、ユーザ自身が決定する。
（３）証明書再利用性
証明書は何度でも使用することができる。
（４）証明書不正利用不可
証明書は正規のユーザ以外は利用できない。
（５）汎用情報の証明
証明書発行者装置ＣＰは任意の内容の任意個数の情報を証明できる。
【００１０】
【課題を解決するための手段】
この発明によればユーザごとに個別のブラックボックスを用い、ブラックボックスは記憶機能と計算機能とをもち、誰にも秘密（ユーザ自身にも）の複数秘密鍵ｄB k （ｋ＞０）とこれらのそれぞれに対応する複数の公開鍵ｅB k が記憶され、ユーザ装置より証明書発行者の公開鍵ｅCPをそのユーザのブラックボックスへ送り、ブラックボックスはその公開鍵の１つｅB i に対し、公開鍵ｅCPを用いてブラインド署名前処理を行い、その処理結果Ｚ1 とこれに用いた乱数ｒをユーザ装置へ返す。
【００１１】
ユーザ装置はＺ1 を証明書発行者装置へ送り、証明書発行者装置は秘密鍵ｄCPでＺ1 に対し署名処理を行い、その結果Ｚ2 をユーザ装置へ返す。
ユーザ装置はＺ2 に対し、ｅCP，ｒを用いてブラインド署名後処理を行い、署名Ｃj を得、Ｃj が検証式を満すか調べ、満せばＣj ，ｅB i を証明書とする。
秘密鍵ｄB y 、つまりブラックボックス自体の正当性を確認できるように次のようにする。つまりユーザ装置はｅCPをブラックボックスに送る際に、適当な証明書Ｃy を選び、これと対応した公開鍵ｅB y を示す情報もブラックボックスに送り、ブラックボックスはＺ1 の署名をｅB y と対をなす秘密鍵ｄB y で行う。ユーザ装置は証明書発行者装置へＺ1 とその署名Ｚ1 By、更にＣy ，ｅB y も送り、Ｚ1 の有効性をＺ1 Byを用いて調べ、かつＣy ，ｅB y が検証式を満すかを調べ、これらに合格することをＺ2 生成の条件とする。
【００１２】
このようにして発行された証明書を提示利用する場合は、ユーザ装置より利用したい証明書Ｃj 、その公開鍵ｅB i を資源管理者装置へ送り、資源管理者装置はＣj とｅB i が検証式を満すかを証明書発行者装置の公開鍵ｅCPにより調べ、検証式を満せば、ブラックボックスがｅB i と対応する秘密鍵ｄB i をもっているかを、ユーザ装置を仲立ちとして既存の公開鍵方式の認証手順により検証し、この検証に成功すれば証明書発行者装置が証明書Ｃj の内容をユーザ装置に対し保証していると認める。
作用
（１）あらかじめ権利が確認された証明書を利用するので、名前など個人識別情報とは関係なく権利の確認が実施でき、不必要な個人情報が漏洩しない。
【００１３】
（２）権利証明書の発行にあってはブラインド署名の技術を用いることで、証明書発行者装置ＣＰは自分の署名した証明書Ｃを知ることができず、権利証明書の利用にあっては公開鍵ｅB i は権利証明書ごとにユーザが任意に定めることができることから、資源管理者装置ＲＭはユーザが意図した範囲でしかユーザと権利証明書Ｃとの関係を見出すことができないでいた。その結果、任意の数の証明書発行者装置ＣＰと資源管理者装置ＲＭが結託してもユーザの行動履歴の全貌は把握できない。
【００１４】
（３）この権利証明書は、匿名性を保ったまま再利用可能な設計となっている。
（４）また、権利証明書の利用にあっては秘密鍵ｄB i が必要で、ｄB i は正規のユーザ認証手段を備えたユーザプロファイルに内蔵されているため、権利証明書は正規のユーザ以外利用できない。
【００１５】
（５）証明書発行者装置ＣＰは、保証する内容一個一個に対応する署名鍵を用意したり、保証する内容から生成した情報と共通の署名鍵との両方で署名を行ったりすることで、任意の内容の任意個数の情報を証明できる。
【００１６】
【発明の実施の形態】
この発明では使用する世界のモデルは図９に示したように証明書発行者装置ＣＰと資源管理者装置ＲＭとユーザ装置Ｕとで構成される。
更にこの発明ではユーザ（装置）ごとに個別のブラックボックスＢを利用する。
【００１７】
ユーザのプロファイルの構成を図１に示す。プロファイルは、誰にも秘密の情報を秘めたブラックボックスＢと、各証明書発行者装置ＣＰより発行された証明書Ｃｅｒｔ．とで構成される。ブラックボックスＢは記憶機能と計算機能とを持ち例えばスマートカードのようなＩＣカードで構成することもでき、またユーザ装置と対応であるがこれと分離された機関に設けられてもよい。プロファイル以外のデータは、ディスクなどの外部記憶媒体等でバックアップ、保持することができる。
【００１８】
ブラックボックスＢは関数として定義できるので、証明書発行時及び証明書利用時の通信は、図２に示すようにモデル化できる。図中の矢印は、二つの実体の間で通信が起こることを示している。通信路は、ブラックボッスクＢとユーザ装置間、ユーザ装置とサーバ装置（ＣＰあるいはＲＭ）間の二つが考えられるが、これらの安全性は同程度で、盗聴が可能であると仮定する。
【００１９】
この発明では、証明書発行手順（プロトコル）の健全性等を実現するためにデジタルブラインド署名の技術を用いる。ここではブラインド署名を次のように定義する。Ｕ，Ｘを適当な有限集合としたとき、公開鍵（署名検証鍵）をｅ∈Ｕ、秘密鍵（署名生成鍵）をｄ∈Ｕとし、ｆd -1：Ｘ→Ｘを鍵ｄによる署名生成関数、ｆe ：Ｘ→Ｘを鍵ｅによる署名検証関数とする。ｆe はｄを知らない限り一方向性を持つ。このとき、デジタル署名系｛Ｕ，Ｘ，ｆ.,ｆ-1. ｝では、ｘ∈Ｘに関して以下の関係が成立する。通常ｆd -1. は署名者が、ｆe は署名検証者が計算する。
【００２０】
【数１０】
0003690474.tif 000002
有限集合Ｒにおいて、ｒ∈Ｒをブラインドの為の指数とし、ブラインド関数をＢｌe,r ：Ｘ→Ｘ、ブラインド解凍関数Ｂｌe,r -1：Ｘ→Ｘとする。ここでＢｌe,r （ｘ）からはｘとｒが判別できないとする。また、ｆｂd -1：Ｘ→Ｘをｆd -1に対応するブラインド署名関数とする。このとき、ブラインド署名可能な署名系｛Ｕ，Ｘ，ｆ.,ｆ-1.,ｆｂ-1.,Ｂｌ.,Ｂｌ-1. ｝は、式（１）に加えて次の関係を満たす。
【００２１】
【数１１】
0003690474.tif 000003
ブラインド署名の概念は、Ｃｈａｕｍによって示された。一般に、Ｂｌe,r.とＢｌe,r -1. は署名発行依頼者、ｆｂd -1は署名者が計算する。ｆe.は署名検証者が計算する。この署名法では、署名者が、署名するデータの内容ｘを確認できないので、ブラインドと呼ばれている。
【００２２】
ブラックボックスＢ、ユーザ装置Ｕ、証明書発行者装置ＣＰ、資源管理者装置ＲＭの四者における、証明書発行プロトコル及び証明書提示プロトコルを以下に示すが、このプロトコルは以下の特徴を持つ。
・各々のユーザ装置Ｕは固有のブラックボックスＢを所持する。
・ブラックボックスＢは誰にも秘密の複数の情報（秘密鍵）ｄB k （ｋ＞０）と、これら各々に対応する複数の公開情報（公開鍵）ｅB k を持つ。
【００２３】
・証明書Ｃは、各々特定のｅB k に対応する形で発行される。証明書Ｃを使用するためには、その秘密鍵ｄB k が必要である。
従って、証明書Ｃを利用できるのはブラックボックスＢを持つユーザ装置Ｕだけである。
・証明書発行者装置ＣＰは証明書Ｃを発行する際、ブラインド署名の技術を用いて署名を行う。証明書発行者装置ＣＰは自分の署名した証明書Ｃに対応する公開鍵ｅB k （即ち、ブラックボックスＢ、ユーザ装置Ｕ）を知ることができない。
【００２４】
・証明書発行者装置ＣＰや資源管理者装置ＲＭとユーザ装置Ｕが結託しても、ブラックボックスＢの持つ秘密情報ｄB k を引き出すことはできない。
・ユーザ装置Ｕは常にブラックボックスＢの動作を監視でき、証明書発行者装置ＣＰや資源管理者装置ＲＭとブラックボックスＢとの不正な情報交換を阻止できる。
【００２５】
・ブラックボックスＢに要求される機能は単純で非常に簡単である。
このプロトコルでは、同一証明書Ｃを複数の資源管理者装置ＲＭに対して提示して利用した場合や、同一鍵ｅB k と関連する形で発行された複数の証明書を利用する場合には、これらが利用される範囲内において、ユーザ装置の行動履歴及び個人情報が把握される可能性がある。しかし、これはユーザ装置自身が適度に異なった証明書、及び鍵を用いることによって解決容易な事項である。ここで、ブラックボックスＢに対するユーザ装置Ｕの認証は、既存の個人認証の技術を用いることを仮定しているので、この明細書では特に述べない。つまりブラックボックスＢはパスワードや指紋認識や虹彩認識などによる正規ユーザの認証機能をもっている。
【００２６】
以下に挙げるプロトコルは、上記の事項を基盤とするが、これに加えてブラックボックスＢ自身の正当性を確認するための処理が加わっていることに注意すること。
尚、権利の確認処理が終了した後は、既存のＳＳＬ等のセキュア通信の技術を用いて、ユーザ装置Ｕは資源管理者装置ＲＭの資源を利用することができる。
実施例１
始めは基本として、証明書の内容が、あらかじめ証明書発行者装置ＣＰが決定した任意個の種類しかない場合についてのプロトコルを述べる。実施例２でこのプロトコルの拡張として、内容及び個数を動的に自由に変更可能なプロトコルを述べる。
初期状態
ブラックボックスＢは鍵のペア（ｅB 0 ，ｄB 0 ）と、これに対応してブラックボックスＢの正当性を保証する証明書Ｃ0 を持つ。ユーザ装置ＵはＣ0 とｅB 0 を知っている。証明書発行者装置ＣＰは、自分の保証する内容の各々に対して、それぞれ鍵のペア（ｅCPk ，ｄCPk ）を決定し、各ｅCPk を公開している。
証明書発行
ブラックボッスクＢがｊ番目の証明書Ｃj を獲得するプロトコルを以下に示す。ここで、サフィックスｙはブラックボックスＢ自身の正当性を証明するために必要なデータに付けられている。またブラックボックスＢは、ｉ番目の鍵ペアをＣj に対応する鍵として利用している。
【００２７】
以下、関数ｇB はＸ→Ｘとなる一方向性関数である。また処理の流れを図３に、ブラックボックスＢの機能構成を図４に、ユーザ装置Ｕの機能構成を図５に、証明書発行者装置ＣＰの機能構成を図６にそれぞれ示す。
（１）ユーザはユーザ装置Ｕの入力操作部１１を操作して、メモリ１２内の、既存の『Ｂは正当である』ことを保証する証明書から適当な証明書Ｃy を選ぶ。また、発行して欲しい証明書と対応した証明書発行者装置ＣＰの公開鍵ｅCPl を選び、証明書Ｃy に対応したブラックボックスＢの公開鍵ｅB y （あるいはｙの値）とｅCPl をブラックボックスＢに送る。ユーザは今回の発行において新しい鍵を用いるのかを決定する。鍵を再利用する場合には、そのブラックボックスＢの公開鍵ｅB i （あるいはｉの値）もブラックボックスＢに送る。
【００２８】
（２）ブラックボックスＢは、ｅCPl ，ｅB y を受信すると、鍵生成部３１から鍵のペア（ｅB i ，ｄB i ）（ｉ＞０）を取出し、また乱数生成部３２から乱数ｒを生成し、一方向性関数器３３にｅB i を入力してｇB （ｅB i ）を計算し、またｅCPl ，ｒ、ｇB （ｅB i ）をブラインド関数器３４に入力して式（３）の値Ｚ1 を計算する。（１）でユーザ装置ＵがｅB i を送付しなかった場合、鍵ペア（ｅB i ，ｄB i ）はブラックボックスＢの鍵生成部３１によって新しく作成される。ブラックボックスＢは鍵ｄB i をメモリ３６に格納し、誰にも公開しない。
【００２９】
【数１２】
0003690474.tif 000004
ブラックボックスＢは、ｅB y に対応する秘密鍵ｄB y を用いてＺ1 の署名情報Ｚ1 Byを署名器３５で計算し、Ｚ1 ，Ｚ1 By，ｅB i ，ｒをユーザ装置Ｕに送る。ただし、Ｚ1 Byの生成に用いる署名法は、ブラインド署名に対応しない通常の方法でよい。
（３）ユーザ装置Ｕは、Ｚ1 ，Ｚ1 By，ｅB i ，ｒを受信すると、必要に応じて証明書の発行を受ける為に必要な情報ＭU を作成する。通常、ＭU の内容は、発行される証明書の内容に対応して、証明書発行者装置ＣＰがあらかじめ指定している。ユーザ装置Ｕは、Ｚ1 とＺ1 By、ＭU ，Ｃy ，ｅB y を証明書発行者装置ＣＰに送る。この時ｅCPl を同時に送るか、ＵとＣＰとの間にはＵがどのｅCPl を選んだかの通知が予めなされている。
【００３０】
（４）証明書発行者装置ＣＰはＺ1 ，Ｚ1 Byなどを受信すると、Ｚ1 の有効性をｅB y ，Ｚ1 Byを用いて署名検証器５１により確認する。また、ｅB y を一方向性関数器５２に入力してｇB （ｅB y ）を計算し、Ｃy ，ｅCPy x を署名検証関数器５３に入力し、その計算結果とｇB （ｅB y ）とが一致するかを比較器５４で比較し、つまり
【００３１】
【数１３】
0003690474.tif 000005
が成り立つかを調べることによってＺ1 Byの署名鍵ｄB y 、すなわちＢの正当性に対する確認を行う。
ここで、ｅCPy x は、Ｃy の発行者装置ＣＰy のＣy に対応する公開鍵である。このようにしてｅB y の正当性を確認することによってｅB y と対をなすｄB y の正当性を確認する。
【００３２】
これらの何れかの検証に失敗すれば、証明書は発行されず終了する。また、証明書発行者装置ＣＰはＭU の有効性を調べる。ＭU が、別の証明書発行者装置ＣＰが発行した証明書である場合、その有効性の確認は証明書提示プロトコルを用いて行える。証明書の発行が適切と認められた場合には、証明書発行者装置ＣＰは以下の値を署名生成関数器５５で計算し、これをユーザ装置Ｕに送る。
【００３３】
【数１４】
0003690474.tif 000006
（５）Ｚ1 を受けたユーザ装置Ｕは、以下の値をブラインド解凍関数器１３で計算する。
【００３４】
【数１５】
0003690474.tif 000007
またｅB i について一方向性関数器１４でｇB （ｅB i ）を計算し、Ｃj とｅCPl を署名検証関数器１５に入力し、ｆeCP l （Ｃj ）を計算し、
【００３５】
【数１６】
0003690474.tif 000008
が成り立つかを比較器１６で調べる。式（１）（２）より、正規の手順を踏んだ有効なＣj であれば上式が成り立つことは明らかである。この有効性が確認されれば、Ｃj ，ｅB i を新しい証明書としてメモリ１２に保管する。
証明書提示
証明書Ｃj は、特定の内容を保証する証明書発行者装置ＣＰの鍵ｄCPl で署名された、ｇB （ｅB i ）に対する署名となっているので、この証明書の利用資格の確認は簡単である。ｅB i に対応する秘密鍵ｄB i をブラックボックスＢが持っていることを確認できればよい。証明書の提示及び利用のプロトコルを以下に示す（図４、図７参照）。
【００３６】
（１）ユーザＵは利用したい証明書Ｃj を決定し、Ｃj と、これに対応した公開鍵ｅB i を資源管理者装置ＲＭに提示（送信）する。ここで、この証明書Ｃj ，ｅB i に対応する証明書発行者装置ＣＰの鍵のペアを（ｅCPm ，ｄCPm ）とする。ｅCPm は公開されているはずである。
（２）資源管理者装置ＲＭは、ｅCPm を用いてＣj に対し署名検証関数器によるｆeCP m （Ｃj ）を求め、かつｅB i に対し一方向性関数器６２でｇm （ｅB i ）を求め比較器６３でｇB （ｅB i ）＝ｆeCP m （Ｃj ）が成り立つかを検証する。この検証が失敗すれば認証は失敗である。
【００３７】
（３）資源管理者装置ＲＭは、既存の公開鍵方式の認証手順を用いて、ブラックボックスＢがｅB i に対応する鍵ｄB i を持っているかを認証手段６４とブラックボックスＢ内の認証手段３７が協動して確認する。この通信はユーザ装置Ｕを仲立ちとして行われる。この検証に成功すれば、証明書発行者装置ＣＰがｅCPm に対応する内容をユーザ装置Ｕに対して保証していることを、資源管理者装置ＲＭは納得する。
実施例２
実施例１では、各証明書発行者装置ＣＰはあらかじめ自分の証明する内容を決定し、これに対応する公開鍵（ｅCP0 ，ｅCP1 ，…ｅCPn ）（ｎ＞０）を公開している必要があった。実施例２は、この条件を解消し、一つの公開情報で任意の内容を保証する。
【００３８】
この目的の為に、実施例２では、以下に示す特殊なブラインド署名系を利用する。Ｕ，Ｘ，Ｍ，Ｒを適当な有限集合としたとき、公開鍵（署名検証鍵）をｅ∈Ｕ、秘密鍵（署名生成鍵）をｄ∈Ｕ、証明内容をｍ∈Ｍとし、ｆｂd,m -1：Ｘ→Ｘを鍵ｄとｍによる署名生成関数、ｆe,m ：Ｘ→Ｘを鍵ｅとｍによる署名検証関数とする。ただし、ｆe,m はｄを知らない限り一方向性を持つ関数である。また、Ｂｌe,r 、Ｂｌe,r -1  を各々ブラインド関数とブラインド解凍関数とする。Ｂｌe,r （ｘ）からはｘとｒが判別できない。このとき、署名系｛Ｕ，Ｘ，ｆ.,ｆｂ-1.,Ｂｌ.,Ｂｌ-1. ｝は、ｘ∈Ｘに関して次の式を満たす。
【００３９】
【数１７】
0003690474.tif 000009
Ｂｌ．はブラックボックスＢ，ｆｂ-1. は証明書発行者装置ＣＰ，Ｂｌ-1. はユーザ装置ＵまたはブラックボックスＢ，ｆ．は任意の存在が計算する。以下では、この署名系を利用した実施例１の拡張を述べる。
初期状態
ブラックボックスＢは鍵のペア（ｅB 0 ，ｄB 0 ）と、これに対応してブラックボックスＢの正当性を証明する証明書Ｃ0 ，ＭCP0 を持つ。Ｃ0 とＭCP0 は両方で一つの証明書となる。これらについては後述参照。ユーザ装置ＵはＣ0 とＭCP0 ，ｅB 0 のみを知っている。また、証明書発行者装置ＣＰは自分の公開鍵ｅCPを公開している。
証明書発行
証明書発行プロトコルは、実施例１において証明書Ｃy を（Ｃy ，ＭCPy ）へ、ｅCPl をｅCPへ置き換えたものとほぼ一致する。この処理の流れを図８に示す。各装置の機能構成は実施例１のそれとほぼ同一である。
【００４０】
関数ｇB は、Ｘ→Ｘとなる一方向性関数。ｇCPは、ＭCP∈Ｍ×Ｍ×…Ｍ、ｍ∈Ｍとした場合、ｇCP：Ｍ×Ｍ×…Ｍ→Ｍとなる一方向性関数である。
（１）ユーザはユーザ装置より既存の『Ｂは正当である』ことを保証する証明書から適当な証明書Ｃy を選ぶ。Ｃy に対応したブラックボックスＢの鍵ｅB y （あるいはｙの値）と証明書発行者装置ＣＰの公開鍵ｅCPをブラックボックスＢに送る。ユーザ装置Ｕは今回の発行において新しい鍵を用いるのかを決定する。鍵を再利用する場合には、そのブラックボックスＢの公開鍵ｅB i （あるいはｉの値）もブラックボックスＢに送る。
【００４１】
（２）ブラックボックスＢは、これらを受け取ると、鍵のペア（ｅB i ，ｄB i ）（ｉ＞０）と、ｅCPと、乱数ｒから、以下の値Ｚ3 を計算する。（１）でユーザ装置ＵがｅB i を送付しなかった場合、鍵ペアはブラックボックスＢによって新しく作成される。ブラックボックスＢは鍵ｄB i を誰にも公開しない。
【００４２】
【数１８】
0003690474.tif 000010
ブラックボックスＢは、ｅB y に対応する秘密鍵ｄB y を用いてＺ3 の署名情報Ｚ3 Byを計算し、Ｚ3 ，Ｚ3 By，ｅB i ，ｒをユーザ装置Ｕに送る。ただし、Ｚ3 Byで用いる署名法は、ブラインド署名に対応しない通常の方法でよい。
（３）ユーザ装置Ｕは、Ｚ3 ，Ｚ3 Byなどを受け取ると証明書の発行を受ける為に必要な情報ＭU を必要に応じて作成する。通常、ＭU の内容は、発行される証明書の内容に対応して、証明書発行者装置ＣＰがあらかじめ指定している。ユーザ装置Ｕは、Ｚ3 とＺ3 By，ＭU ，Ｃy ，ＭCPy ，ｅB y をＣＰに送る。
【００４３】
（４）証明書発行者装置ＣＰは、これらを受け取ると、Ｚ3 の有効性を署名検証により検証しまたブラックボックスＢの正当性を検証する。ブラックボックスＢの正当性は、ｆeCPy,gCP（ＭCPy ）（Ｃy ）＝ｇB （ｅB y ）が成り立つかを調べることによって行う。ここで、ｅCPy は、Ｃy の発行者装置ＣＰy の公開鍵である。検証に失敗すれば証明書は発行されず終了する。
【００４４】
また、ＣＰはＭU の有効性を調べる。
証明書の発行が適切と認められた場合には、証明書発行者装置ＣＰは、自分が保証する内容（文書）ＭCPを決定し、以下の値を計算する。証明書発行者装置ＣＰはそのＺ4 とＭCPをユーザ装置Ｕに送る。
【００４５】
【数１９】
0003690474.tif 000011
（５）ユーザ装置Ｕは、これらを受け取ると以下の値を計算する。
【００４６】
【数２０】
0003690474.tif 000012
ユーザ装置ＵはＭCPからｍを計算し、ｆeCP,m （Ｃj ）＝ｇB （ｅB i ）が成り立つかを調べる。式（６）等により、正規の手順を踏んだ場合、上式が成り立つことは明らかである。証明書の有効性が確認されれば、Ｃj ，ＭCP，ｅB i を新しい内容を保証する証明書として保管する。
証明書提示
証明書の提示及び利用のプロトコルは以下のようになる。
【００４７】
（１）ユーザ装置Ｕは資源管理者装置ＲＭに証明したい事項ＭCPを決定し、ＭCPと、これに対応した証明書Ｃx ，ｅB x を資源管理者装置ＲＭに提示する。Ｃx の発行者装置の鍵は公開されており、これをｅCPとする。
（２）資源管理者装置ＲＭはｅCPよりｇB （ｅB x ）＝ｆeCP,m （Ｃx ），ｍ＝ｇCP（ＭCP）が成り立つかを調べる。
【００４８】
（３）資源管理者装置ＲＭは、既存の公開鍵方式の認証手順を用いて、ブラックボックスＢがｅB x に対応する鍵ｅB x を持っているかどうかを検証する。この通信はユーザ装置Ｕを仲立ちとして行われる。この検証に成功すれば、証明書発行者装置ＣＰがＭCPの内容をユーザ装置Ｕに対して保証していることを、資源管理者装置ＲＭは納得する。
実施例３
実施例１は、既存のブラインド署名可能な各種署名法、及び公開鍵を用いた各種認証／署名手順を用いて容易に実現可能である。この実現には前述の実施例１における各式をそのまま対応する関数と置き換えればよく、この実現方法は明らかである。よって、ここでは実施例１に対しては具体例を述べない。
【００４９】
実施例２に対しては、式（６）を満たす関数が一般に広くは知られていないので、実現例を示す。ただし、以下の実現例ではブラックボックスＢの認証及び署名部分にFiat-Shamir 法を利用しているが、この部分は他の任意の公開鍵を用いた認証／署名法に置き換えることが可能であることを注意しておく。
関数の定義
ここでの実現例では、ブラインド署名部分にＣｈａｕｍの提案したＲ．Ｓ．Ａを基盤とする方法を用い、ブラックボックスＢの認証にはＦｉａｔらの提案した方式を用いる。ただし、式（６）を満たすようにｆ．とｆｂ-1. は拡張してある。
拡張ブラインド署名法
【００５０】
【数２１】
0003690474.tif 000013
0003690474.tif 000014
ｍ-1とｒ-1は、Ｎとの最大公約数（ｍ，Ｎ）＝（ｒ，Ｎ）＝１の時に容易に計算できる。（ｍ，Ｎ）≠１あるいは（ｒ，Ｎ）≠１は、ｍあるいはｒがｐあるいはｑと一致するときに起こり得るが、ｐとｑが十分に大きい場合はこの可能性は無視してよい。上記の式は次のように式（６）を満たす。
【００５１】
【数２２】
0003690474.tif 000015
べき乗関数ｘe （mod Ｎ）は十分大きいＮとｅのもとで一方向性を持つことが知られている。だが、式（１１）の一方向性は完全なものでない。同一ｅ及びｄで既知複数のｍとｘに対する計算結果が得られると、これを利用して特殊なｆe,m を偽造することが計算上容易である。このような選択文書攻撃（chosen-message attack ）を避けるために、以下に述べる実現プロトコルでは、ｘがユーザ装置Ｕによって操作できないように工夫されている。
ブラックボックスＢの署名と認証
ブラックボックスＢの署名及び認証には、既存の多くの認証方式を適用できる。ここでは、既にＩＣカード等で個人認証方式として利用されている、Fiat-Shamir 方式を利用した方法を例に用いる。Fiat-Shamir 方式は、ゼロ知識性という重要な特徴に加えて、単一公開情報で複数の内容を証明することが可能なこと、また高速に実行が可能であることなど大きな利点をもつ。ただし、この方式の詳細についてはここでは説明しない。
【００５２】
Fiat-Shamir 方式の最も提案となる方式では、以下の公開情報と秘密情報を定めている。
0003690474.tif 000016
一方向性関数ｇB とｇCP
一方向性関数ｇB とｇCPは、各々既存の適当な任意の関数を割り当てることができる。ＭＤ５やＳＨＡ−１の他、秘密鍵暗号方式ＤＥＳやＦＥＡＬを用いてこれらを実現することも容易である。ここでは、この部分については具体例を定めず説明を行う。
初期状態
ブラックスボックスＢは鍵のペア（（ｎB 0 ，ＩB 0 ），ｓB 0 ）と証明書Ｃ0 ，ＭCP0 ，ｃ0 を持つ。これらはブラックボックスＢの製造者によってあらかじめ与えられる。Fiat-Shamir 方式の特徴より、ｎB 0 は全てのブラックボックスＢで同一でよい。従って、ＩB 0 をブラックボックスＢの製造番号等とする場合、ブラックボックスＢにはあらかじめｓB 0 を埋め込むだけでよい。Ｃ0 等は後から発行することができる。ｃ0 の役割については後述参照。ユーザ装置Ｕは、（ｎB 0 ，ＩB 0 ）とＣ0 ，ＭCP0 ，ｃ0 を知っている。
【００５３】
各証明書発行者装置ＣＰは公開鍵（ｅCP，ＭCP）を公開している（ＮCPは証明書は発行者装置ＣＰが使用するＮのこと）。各証明書発行者装置ＣＰは空の発行済リストＬCPを持つ。証明書発行者装置ＣＰは証明書を発行する度に、ユーザ装置Ｕに提示されたＺ5 （下記参照）を発行済リストＬCPに登録する。登録期間は最大ＴCPmax で、古くなったＺ5 は消去してよい。証明書発行者装置ＣＰはＴCPmax を公開している。
証明書発行
（１）ユーザ装置ＵはブラックボックスＢの正当性を保証する適当な証明書を選び、対応する鍵（ｎB y ，ＩB y ）（あるいはｙ）と証明書発行者装置ＣＰの鍵（ｅCP，ＮCP）をブラックボックスＢに送る。ユーザ装置Ｕは、証明書発行者装置ＣＰに発行を申請する時刻Ｔを決定し、ＴS ＜Ｔ＜Ｔe かつＴe −ＴS ＜ＴCPmax となるＴS 及びＴe を選び、これをブラックボックスＢに送る。
【００５４】
また発行に既存の鍵を利用する場合は（ｎB i ，ＩB i ）（あるいはｉ）をブラックボックスＢに送る。
（２）ブラックボックスＢは、ｎB i ，ＩB i を受け取ると鍵のペア（（ｎB i ，ＩB i ），ｓB i ）（ｉ＞０）と、乱数ｒ，ｃj から、以下の値を計算する。即ちブラインド回数値を計算する。（１）でユーザ装置Ｕが（ｎB i ，ＩB i ）を送付しなかった場合、鍵ペアはブラックボックスＢによって新しく作成される。ここで‖は結合を表す。
【００５５】
【数２３】
0003690474.tif 000017
ｃj は、ｇB への入力を常に異なることを保証するためにあるので、実際にはブラックボックスＢごとのカウンタでもよい。ブラックボックスＢはｓB y を用いて、（Ｚ5 ‖Ｔs ‖Ｔe ）に対する署名情報Ｚ5 Byを作成し、Ｚ5 ，Ｚ5 By，（ｎB i ，ＩB i ），ｒ，ｃj をユーザ装置Ｕに送る。ここで利用する署名法は、Fiat-Shamir 方式である。
【００５６】
（３）ユーザ装置Ｕは、Ｚ5 ，Ｚ5 Byなどを受け取ると、証明書の発行を受ける為に必要な情報ＭU を必要に応じて作成する。ユーザ装置Ｕは、Ｚ5 ，Ｚ5 By，Ｔs ，Ｔe ，ＭU ，Ｃy ，ＭCPy ，ｃy ，（ｎB y ，ＩB y ）を証明書発行者装置ＣＰに送る。
（４）証明書発行者装置ＣＰは、Ｚ5 ，Ｚ5 Byなどを受け取ると、Ｚ5 及びＴs ，Ｔe の有効性とブラックボックスＢの正当性を検証する。証明書発行者装置ＣＰの持つ時計がＴs 時からＴe 時の範囲の時刻を示しているかを確認する。時間外であれば証明書は発行されない。また、Ｚ5 が発行済リストＬCPに登録されていないことも確認する。証明書発行者装置ＣＰはＭU の有効性も調べる。
【００５７】
証明書の発行が適切と認められた場合には、証明書発行者装置ＣＰはＺ5 をＬCPに加え、自分が保証する内容（文書）ＭCPを決定して以下の値を計算する。即ち署名生成関数値を計算する証明書発行者装置ＣＰはそのＺ6 とＭCPをユーザ装置Ｕに送る。
【００５８】
【数２４】
0003690474.tif 000018
（５）ユーザ装置Ｕは、Ｚ6 を受け取ると、以下の値を計算する。即ちブラインド解凍関数値を求める。
Ｃj ＝ｒ-1（Ｚ6 ）（mod ＮCP）                            （19）
ユーザ装置ＵはＭCP等からｍ-1（Ｃj ）eCP ＝ｇB （ｎB i ‖ＩB i ‖ｃj ）（mod ＮCP）が成り立つかを調べ、つまり署名検証式を満すかを調べて、Ｃj の有効性を検証する。有効性が確認されれば、Ｃj ，ＭCP，ｃj ，（ｎB i ，ＩB i ）を新しい内容を保証する証明書として保管する。
証明書提示
証明書の提示及び利用のプロトコルは以下のようになる。
【００５９】
（１）ユーザ装置Ｕは証明したい事項ＭCPを決定し、ＭCPと、これと対となったＣx ，ｃx ，（ｎB x ，ＩB x ）を資源管理者装置ＲＭに提示する。
（２）資源管理者装置ＲＭはｅCPとＮCP、ユーザ装置Ｕよりの情報からｇB （ｎB x ‖ＩB x ‖ｃx ）＝ｍ-1（Ｃx ）ecp （mod ＮCP）が成り立つかを調べ、つまり署名検証式を満すかを調べる。
【００６０】
（３）資源管理者装置ＲＭは、Fiat-Shamir 方式の認証手順を用いて、ブラックボックスＢがｎB x とＩB x に対応する鍵ｓB x を持っているかどうかを検証する。この通信はユーザ装置Ｕを仲立ちとして行われる。ただし、Fiat-Shamir 方式の詳細はここでは割愛する。
この検証に成功すれば、証明書発行者装置ＣＰがＭCPの内容をユーザ装置Ｕに対して保証していることを、資源管理者装置ＲＭは納得する。なお上述における各装置はコンピュータによりプログラムを読み出し、解読実行させることに各機能を行わせることもできる。
【００６１】
【発明の効果】
以上説明したように、この発明の方法および装置によれば、次の効果が得られる。
（１）資源管理者装置ＲＭが要求する情報以外の個人情報が漏洩しない。
（２）任意の数の証明書発行者装置ＣＰと資源管理者装置ＲＭが結託しても、ユーザ（装置）の行動履歴の全貌は把握できない。また、行動が把握される可能性のある範囲は、ユーザ（装置）自身が決定できる。
【００６２】
（３）権利証明書は何度でも使用することができる。
（４）正規のブラックボックスを有しないユーザ装置は、権利証明書を利用できない。
（５）証明書発行者装置ＣＰは任意の内容の任意個数の情報を証明できる。
【図面の簡単な説明】
【図１】ユーザプロファイルの例を示す図。
【図２】ブラックボックスとユーザ装置と証明書発行者装置と資源管理者装置との通信を示す図。
【図３】実施例１における証明書発行手順を示す図。
【図４】実施例１におけるブラックボックスの機能構成を示す図。
【図５】実施例１におけるユーザ装置の機能構成を示す図。
【図６】実施例１における証明書発行者装置の機能構成を示す図。
【図７】実施例１における資源管理者装置の機能構成を示す図。
【図８】実施例２における証明書発行手順を示す図。
【図９】この発明が対象としているシステム構成例を示す図。
【図１】
0003690474.tif 000024
【図２】
0003690474.tif 000025
【図３】
0003690474.tif 000026
【図４】
0003690474.tif 000027
【図５】
0003690474.tif 000028
【図６】
0003690474.tif 000029
【図７】
0003690474.tif 000030
【図８】
0003690474.tif 000031
【図９】
0003690474.tif 000032