(57)【特許請求の範囲】
【請求項１】
クライアント装置（１０４）、固有データ発行仲介装置（１０２）および固有データ発行装置（１０１）を含んでなる固有データ発行・頒布システムにおいて、
（Ａ）上記固有データは個別の暗復号の復号鍵および当該固有データの種類情報を含み上記クライアント装置あるいはそのユーザを識別するためのデータであり、
（Ｂ）上記固有データ発行装置（１０１）は、上記固有データの発行を仲介する上記固有データ発行仲介装置から固有データ生成依頼データであって、（ａ）上記固有データ発行仲介装置の電子署名が付加され、かつ（ｂ）固有データの種類を特定するための情報である固有データカテゴリ指定を含む、上記固有データ生成依頼データに基づいて、上記固有データを発行するものであり、
固有データを生成する固有データ生成部（２０７）と、
固有データの生成を依頼する固有データ生成依頼データが、上記電子署名に基づいて、正規の固有データ発行仲介装置によって作成されたものであるかどうかをチェックするとともに、上記固有データカテゴリ指定により特定される種類の固有データの発行仲介が上記固有データ発行仲介装置に許容されているかどうかを所定のデータベースを参照してチェックする固有データ生成依頼検査部（２０３）とを備え、
上記固有データ発行仲介装置から上記固有データ生成依頼データを受け取り、
該固有データ生成依頼データが、正規の固有データ発行仲介装置によって作成されたものであるかどうかと、上記固有データ発行仲介装置に許容された種類の固有データであるかどうかとを固有データ生成依頼検査部で検査し、
該固有データ生成依頼検査部での検査にパスした場合にのみ、固有データ生成部で固有データを生成し、上記固有データ発行仲介装置に出力し、
（Ｃ）上記固有データ発行仲介装置（１０２）は、
上記固有データ発行装置および上記クライアント装置と接続され、
上記クライアント装置からの、当該クライアント装置の宛先アドレスを含む固有データ発行仲介依頼データを受け取って、固有データの生成を依頼する固有データ生成依頼データであって、（ａ）当該固有データ発行仲介装置の電子署名が付加され、かつ（ｂ）固有データの種類を特定するための情報である固有データカテゴリ指定を含む、上記固有データ生成依頼データを生成する固有データ依頼生成部（１１０３）と、
生成された固有データを受け取り固有データが設定されるクライアント装置宛に送付する固有データ配布部（１１０５）とを備え、
固有データ依頼生成部で生成した固有データ生成依頼データを、該固有データ発行装置に送付し、
該固有データ発行装置が生成した固有データを受け取り、
受け取った該固有データを、固有データ配布部によって、固有データが設定されるクライアント装置宛に送付することを特徴とする、固有データ発行・頒布システム。
【請求項２】
固有データには所定の属性に関する属性値を付与することが可能であり、
上記固有データ発行装置（１０１）は、
固有データの種類毎に決定される、該種類の固有データに設定されるべき属性値を規定する種類別固有データ属性仕様を記憶した、固有データ属性仕様記憶部（２１１）と、
該固有データカテゴリ指定で指定された種類の固有データを固有データ生成部が生成する際に、固有データ属性仕様記憶部に記憶されている、当該生成される固有データの種類に対応する種類別固有データ属性仕様にしたがって、該固有データの各属性の値を決定する属性値決定部（２０６）とを有することを特徴とする請求項１記載の固有データ発行・頒布システム。
【請求項３】
受け取った固有データ生成依頼データに、生成される固有データの各属性に対して設定されるべき属性値が指定されており、
上記固有データ発行装置（１０１）は、
固有データを固有データ生成部（２０７）が生成する際に、属性値決定部（２０６）により、固有データの各属性に対して固有データ生成依頼データで指定された属性値を付与することを特徴とする請求項１記載の固有データ発行・頒布システム。
【請求項４】
受け取った固有データ生成依頼データに、生成される固有データの各属性に対して設定されるべき属性値が指定されており、
上記固有データ発行装置（１０１）は、
固有データを固有データ生成部（２０７）が生成する際に、固有データ生成依頼データに属性値が指定された属性に関してはその属性値を付与し、それ以外の属性の属性値は固有データ属性仕様記憶部に含まれる固有データ属性仕様を参照して決定することを特徴とする請求項２記載の固有データ発行・頒布システム。
【請求項５】
固有データに付与可能な属性として、固有データの有効期間が含まれることを特徴とする請求項２、３または４記載の固有データ発行・頒布システム。
【請求項６】
固有データに付与可能な属性として、固有データの利用可能回数が含まれることを特徴とする請求項２、３または４記載の固有データ発行・頒布システム。
【請求項７】
上記固有データ発行装置（１０１）は、
受け取った固有データ生成依頼データに対して、固有データを生成するかどうかを決定する判断基準を指定する固有データ生成規則を記憶した、固有データ生成規則記憶部をさらに備え、
固有データを固有データ生成部（２０７）が生成する際に、固有データ生成規則記憶部（２１０）に記憶されている固有データ生成規則にしたがって固有データを生成するかどうかを決定することを特徴とする請求項１記載の固有データ発行・頒布システム。
【請求項８】
上記固有データ発行装置（１０１）は、
固有データの種類毎に決定される、該種類の固有データを生成するかどうかを決定する判断基準を指定する種類別固有データ生成規則を記憶した、固有データ生成規則記憶部（２１０）をさらに備え、
該固有データカテゴリ指定で指定された種類の固有データを固有データ生成部（２０７）が生成する際に、固有データ生成規則記憶部（２１０）に記憶されている、生成される固有データの種類に対応する種類別固有データ生成規則にしたがって、該固有データを生成するかどうかを決定することを特徴とする請求項１記載の固有データ発行・頒布システム。
【請求項９】
上記固有データ発行装置（１０１）が受け取った固有データ生成依頼データに、固有データ生成規則記憶部に記憶されている固有データ生成規則を無視して固有データを生成するかどうかが指定されており、
上記固有データ発行装置（１０１）は、
固有データを固有データ生成部が生成する際に、
該固有データ生成規則を無視すると指定されていた場合には、固有データを必ず生成し、
そうでない場合には、生成可否判断部（２０４）が、固有データ生成規則記憶部（２１０）に記憶されている固有データ生成規則にしたがって固有データを生成するかどうかを決定することを特徴とする請求項７記載の固有データ発行・頒布システム。
【請求項１０】
上記固有データ発行装置（１０１）は、
すでに発行された固有データに関する諸情報である固有データ関連情報を管理する、固有データ管理部（２１２）をさらに備え、該固有データ関連情報には、発行された固有データが設定されたコンピュータの特徴を示す情報である機器特徴情報が含まれており、
固有データ生成依頼データを受け取り、
該固有データ生成依頼データに、該依頼に対して発行された固有データが設定されるコンピュータの特徴を示す情報である機器特徴情報が含まれており、
固有データ生成部（２０７）で固有データを生成するとともに、
生成した固有データに関する、該機器特徴情報を含む諸情報からなる固有データ関連情報を、固有データ管理部（２１２）に蓄積することを特徴とする請求項１記載の固有データ発行・頒布システム。
【請求項１１】
上記固有データ発行装置（１０１）は、
すでに発行された固有データに関する諸情報である固有データ関連情報を管理する、固有データ管理部（２１２）をさらに備え、
受け取った固有データ生成依頼データに、一度発行された固有データを特定するための情報である固有データ指定が含まれる場合、固有データ管理部に含まれている、該固有データ指定で特定された固有データに関する固有データ関連情報を参照して、固有データ生成部（２０７）が固有データを生成し、出力することを特徴とする請求項１記載の固有データ発行・頒布システム。
【請求項１２】
上記固有データ発行装置（１０１）が受け取った固有データ生成依頼データに、一度発行された固有データを特定するための情報である固有データ指定が含まれる場合、
上記固有データ発行装置（１０１）は、固有データ管理部（２１２）に含まれている、該固有データ指定で特定された固有データに関する固有データ関連情報に含まれる機器特徴情報と、該固有データ生成依頼データに含まれる機器特徴情報を比較し、所定の関係が成り立つ場合にのみ、固有データ生成部（２０７）が固有データを生成し、出力することを特徴とする請求項１０記載の固有データ発行・頒布システム。
【請求項１３】
固有データにその有効期間を表す属性が設定可能であり、
上記固有データ発行装置（１０１）は、
受け取った固有データ生成依頼データに、一度発行された固有データを特定するための情報である固有データ指定が含まれる場合、固有データ管理部（２１２）に含まれている、該固有データ指定で特定された固有データに関する固有データ関連情報を参照して、固有データ生成部（２０７）が固有データを生成し、
かつ、該固有データ指定で指定された発行済みの固有データとは異なる有効期間を、生成された固有データに設定することを特徴とする請求項１１記載の固有データ発行・頒布システム。
【請求項１４】
固有データには所定の属性に関する属性値を付与することが可能であり、
上記固有データ発行仲介装置（１０２）の固有データ依頼生成部（１１０３）が、生成する固有データ生成依頼データに、生成される固有データの各属性に設定されるべき属性値を指定することを特徴とする、請求項１記載の固有データ発行・頒布システム。
【請求項１５】
固有データに付与可能な属性として、固有データの有効期間が設定でき、
上記固有データ発行仲介装置（１０２）の固有データ依頼生成部（１１０３）が、生成する固有データ生成依頼データに、生成される固有データの有効期間を指定することを特徴とする、請求項１記載の固有データ発行・頒布システム。
【請求項１６】
固有データに付与可能な属性として、固有データの利用可能回数が設定でき、
上記固有データ発行仲介装置（１０２）の固有データ依頼生成部（１１０３）が、生成する固有データ生成依頼データに、生成される固有データの利用可能回数を指定することを特徴とする、請求項１４記載の固有データ発行・頒布システム。
【請求項１７】
該固有データ発行装置が、受け取った固有データ生成依頼データに対して、固有データを生成するかどうかを判断する機能を持ち、
上記固有データ発行仲介装置（１０２）の固有データ依頼生成部（１１０３）が、生成する固有データ生成依頼データに、該固有データ発行装置の判断にしたがって固有データの可否を決定するか、あるいは、必ず固有データを生成するか、を指定することを特徴とする、請求項１記載の固有データ発行・頒布システム。
【請求項１８】
上記固有データ発行仲介装置（１０２）の固有データ依頼生成部（１１０３）が、生成する固有データ生成依頼データに、該固有データ生成依頼データに対して発行された固有データが設定されるコンピュータの特徴を示す情報である機器特徴情報を指定することを特徴とする、請求項１記載の固有データ発行・仲介システム。
【請求項１９】
上記固有データ発行仲介装置（１０２）の固有データ依頼生成部（１１０３）が、生成する固有データ生成依頼データに、一度発行された固有データを特定するための情報である固有データ指定を指定することを特徴とする、請求項１記載の固有データ発行・頒布システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、コンピュータあるいのそのユーザを識別するために、ユーザが使用するコンピュータ（携帯型端末等を含む）に対して、サーバから固有データを発行・配布するための装置および方法に関する。
【０００２】
【従来の技術】
ユーザに対して、ユーザがコンピュータで利用可能な各種サービスを提供することは、日常的である。Ｗｅｂアプリケーションのように、インターネット等のネットワークを介して、サーバからユーザのコンピュータに対してサービスを提供することは、代表的である。また、ユーザが所持するコンピュータで利用可能なソフトウエアをユーザに配布し、該コンピュータ上でそのソフトウエアを実行することも、そのソフトウエアで提供可能なサービスをユーザに提供していることになる。ユーザが所持するコンピュータも、通常のパーソナルコンピュータだけでなく、携帯電話に代表される携帯型端末、あるいは、情報処理能力を持った家電製品等に広がっている。
【０００３】
上記のようなサービス提供の場合、サービスを利用するユーザやユーザが使用するコンピュータを特定するためのデータ（固有データ）を、ユーザ自身や、ユーザが使用するコンピュータに配布しなければならない局面が生じることが多い。
【０００４】
たとえば、特定のユーザであることが確認できた場合にのみ利用可能なサービスを提供する場合、ユーザ毎に異なるＩＤとパスワードをユーザに配布することが多い。このＩＤとパスワードは、固有データの一種である。このタイプのサービスでは、ユーザが、サービスの正当な利用者のものであるＩＤとパスワードを入力できた場合にのみ、サービスを提供することになる。ＩＤとパスワードによるアクセス制御を実施しているＷｅｂサイト等が、これにあたる。
【０００５】
ＩＤとパスワードではなく、ユーザにユーザの目に直接触れることのない固有データを配布しておく場合もある。この固有データは、ユーザ自身が使用するものではなく、ユーザが利用するコンピュータ上で動くソフトウエアによって使用される。固有データがユーザ自身に配布される場合もあるし、ユーザの知らない間に、ユーザが使用するコンピュータに配布されるよう構成する場合もある。
【０００６】
このような固有データを使用した場合、サービス提供者側の問い合わせに対して、ユーザのコンピュータ上で稼動するクライアントシステムが固有データを使って返信を行う。該クライアントシステムが、サービスの正当な利用者が持つ固有データを使って作成された、正しい返信を返すことができたユーザにのみ、サービスが提供される。問い合わせは、サービスを提供するサーバから発せられることもあるし、ユーザが持つコンピュータで起動するソフトウエアが発する場合も存在する。
【０００７】
固有データを使用した上記のような問い合わせと返信には、暗号技術を使用する場合も多い。固有データを用いた返信の作成方法と、その返信の正当性の検査方法がなんらかの暗号アルゴリズムにしたがったものである場合は多い。認証のための公開鍵暗号アルゴリズムは、このような場合に好適なアルゴリズムである。
【０００８】
固有データとして、暗復号における復号鍵を使用する場合もある。この場合、ユーザに提供されるサービスは、そのユーザの復号鍵に対応する暗号鍵で暗号化されて提供される。復号が可能なのは、暗号鍵に対応する復号鍵を所持するユーザだけであるので、この方式でも、サービスを利用する個人を特定したサービスの提供が可能である。暗復号方式としては、共通鍵暗号アルゴリズムでも、公開鍵暗号アルゴリズムでも、どちらも利用可能である。
【０００９】
特開２０００−１５１５８３号公報記載のアクセス資格の認証方式では、固有データをユーザが利用するコンピュータやそれに付随する装置に記憶させている。サービスを利用可能なユーザには、サービスに割り当てられたアクセス資格の特徴情報と、固有データとから作成されたアクセスチケットと呼ばれるデータが配布される。この方式も、固有データによってユーザを特定したサービスの提供方式のひとつである。
【００１０】
ユーザを特定するのではなく、ユーザが使用するコンピュータを特定して、サービスを提供したい場合には、上記の固有データが、ユーザ毎に異なるのではなく、コンピュータ毎に異なるように配布される。異なるコンピュータに同一の固有データが配布されない点を注意しておけば、上記の固有データを使用した各種方式が、そのまま使用できる。
【００１１】
【発明が解決する課題】
サービスを提供する事業者にとって、固有データの発行や発行された固有データの管理には多大なコストがかかる。
【００１２】
固有データは、ユーザやユーザが使用するコンピュータを特定するための情報である。固有データを、本来のユーザとは異なるユーザに発行してしまうことは、本来のユーザに正当な権利が与えられないだけでなく、権利を持たないユーザによるサービスの不正利用につながる。
【００１３】
また、固有データの漏洩にも十分に注意しなければならない。漏洩した固有データを知り得た攻撃者は、その固有データが設定されたコンピュータに対して利用が許されているサービスや、固有データが発行されたユーザに対して利用が許されているサービスを不正に利用することが可能になる。固有データを、暗復号の復号鍵、あるいは、その同等物として実現した場合には、固有データの漏洩が、サービスを保護している暗号の解除につながり、サービスに施されているセキュリティ自体が無効化されてしまう事態につながる。
【００１４】
さらに、一度発行された固有データのメンテナンスも重要である。一定期間ごとに行われるであろう固有データの更新や、トラブルがおこった場合の対処のために、一度発行した固有データに関する情報を蓄積・管理しておかなければならない。
【００１５】
このようなコストの負担を軽減するために有効なのは、サービスを提供する事業者毎に固有データの発行や管理を行うのではなく、複数の事業者が共通の固有データの発行・管理の仕組みを利用することである。固有データの発行・管理の仕組みをサービス提供のための共通のインフラストラクチャとすることで、個々の事業者毎の負担を大幅に軽減することができる。
【００１６】
しかし、共通の固有データの発行・管理の仕組みを利用することは、サービス事業者毎の自由度を阻害することになる。
【００１７】
たとえば、固有データをユーザに配布する場合、固有データを受け取るユーザのアイデンティティをどの程度厳密に確認するかのポリシーは、サービスを提供する事業者毎に異なる。
【００１８】
高価なソフトウエアを提供する場合のように、提供するサービスの価値が高い場合には、サービスの不正利用による遺失利益が大きいので、固有データを持つべきユーザのアイデンティティは厳密に確認されなければならない。たとえば、強固な個人認証の仕組みを使って固有データを受け取るユーザを認証するといった手段をとることが必要である。ユーザのアイデンティティを厳密に確認するにはそれなりにコストがかかるが、そのコストよりもサービスの不正利用による遺失利益が大きい場合には必要である。
【００１９】
逆に、安価なサービスの場合には、不正利用による遺失利益も小さく、固有データが、その固有データを持つべきユーザに配布されることを必要以上に保証する必要がない。
【００２０】
したがって、固有データを受け取るユーザのアイデンティティをどのぐらいの精度で確認するかのポリシーは、事業者毎に異ならざるを得ない。複数の事業者が共通の固有データの発行・管理の仕組みを利用する場合、事業者毎のポリシーの違いを吸収することができない。
【００２１】
また、一度発行された固有データのメンテナンスにおいても、同様の問題がある。
【００２２】
一度発行された固有データが、破損したり、ユーザによって削除されてしまったりした場合には、同じ働きをする固有データを同じユーザに配布しなければならない。同じ働きをする固有データを再度発行することは、攻撃者に再発行を利用した不正利用のチャンスをあたえることになるので、再発行を許すかどうかを決定するためのポリシーは、サービスを提供する事業者毎に異なる。複数の事業者が共通の固有データの発行・管理の仕組みを利用する場合、固有データの再発行に関する事業者毎のポリシーの違いを吸収することができない。
【００２３】
この発明は上述のような事情を考慮してなされたものであり、固有データの発行・管理を低いコストで実現できる固有データ発行技術を提供することを目的としている。
【００２４】
【課題を解決するための手段】
この発明によれば、上述の目的を達成するために、特許請求の範囲に記載の通りの構成を採用している。以下では、特許請求の範囲の記載内容について補充的に説明を行う。
【００２５】
本発明では、固有データを生成・発行するコンピュータシステムである固有データ発行センタと、実際に固有データを受け取るユーザや、固有データが設定されるコンピュータシステムとの間に、固有データの発行を仲介する固有データ仲介者を導入することで、上記の課題を解決する。固有データ仲介者は、コンピュータシステムで実現してもよいし、その役割を特定の人間や組織が代替してもよい。
【００２６】
固有データ発行センタは、固有データ生成・発行を行う。固有データ仲介者からの固有データ発行の依頼を受け、固有データを生成し、固有データ仲介者に送る。
【００２７】
固有データ発行センタによって生成された固有データを、ユーザや、ユーザが使用するコンピュータシステムに配布するのは固有データ仲介者である。
【００２８】
固有データを受け取るユーザや、固有データが設定されるコンピュータシステムのアイデンティティを確認するのは、固有データ仲介者である。固有データを受け取るユーザや、固有データが設定されるコンピュータシステムのアイデンティティを、どのような仕組みで、どの程度の精度で実行するかについては、固有データ仲介者に任されている。固有データ発行センタは、自己が認める正規の固有データ仲介者からの要求があれば、固有データを生成して発行する。
【００２９】
固有データの配布における、上記のようなセンタと固有データ仲介者との間の役割の分離は、共通のインフラストラクチャに相乗りすることのコストメリットの追求と、事業者毎の自由な運用ポリシーの実現という、相反する課題を同時に満たしうる。
【００３０】
請求項１に記載の発明においては、上記の固有データ発行センタが、固有データ仲介者からの固有データ生成依頼を受け取り、正規の固有データ仲介者からの依頼であれば、固有データを生成・発行する。
【００３１】
単一のセンタに対して、複数の固有データ仲介者が固有データの発行を依頼することは、当然おこりうる。固有データ仲介者相互に、仲介する固有データの配布に関する運用ポリシーが異なるはずである。サービスの提供者は、固有データの発行の運用ポリシーに応じて、サービスを提供するかしないかを決定したいはずであり、運用ポリシーの異なる固有データを区別することは、重要な課題である。
【００３２】
また、この発明では、固有データにカテゴリと呼ばれる種類を付与する。カテゴリの異なる固有データの配布に関する運用ポリシーは異なり得るが、同一のカテゴリの固有データ配布に関する運用ポリシーは均一なように実現すれば、サービスの提供者は、固有データの発行の運用ポリシーをそのカテゴリによって判断することができる。
【００３３】
固有データに有効期間や利用可能回数等の属性が付与される場合、それらの属性にどのような値を設定するかも、固有データの生成・配布には重要な問題である。本発明では、固有データにどのような属性値を設定するかも、固有データ仲介者のポリシーに任せることができる。
【００３４】
請求項３に記載の発明は、固有データ仲介者がセンタへの固有データ発行の依頼の中に、固有データに設定されるべき属性値を指定できるようにしている。
【００３５】
また、請求項２に記載の発明では、属性値の決定に関する規則をセンタが記憶しており、それにしたがって固有データの属性に設定される値が決定される。固有データ仲介者とセンタの間で事前にこの規則を決定し、センタに登録しておけば、固有データ発行の依頼の度に、固有データに設定されるべき属性値を指定する手間をはぶくことができる。
【００３６】
固有データ仲介者が、ユーザから、固有データの配布の要求を受けた場合、そのユーザに固有データを配布するかどうかは、固有データ仲介者が決定する。しかし、その決定基準は通常定型的である場合に、その決定のコストのすべてを固有データ仲介者が払うのは、共通のインフラストラクチャとしてのコストメリットの追求の観点から言って、合理的ではない。
【００３７】
請求項７に記載の発明では、固有データの発行の可否を決定するための基準である固有データ生成規則をセンタが記憶しており、固有データを生成するかどうかの判断が、この固有データ生成規則にもとづいて行われる。固有データ仲介者とセンタの間で事前にこの規則を決定し、センタに登録しておけば、固有データの配布の際に、配布するかどうかの判断を固有データ仲介者ではなく、センタに代行させることができる。
【００３８】
請求項１０に記載の発明は、配布した固有データが設定されるコンピュータを特定することを可能にするために、固有データが設定されるコンピュータの特徴を示す情報である機器特徴情報をセンタに収集する装置および方法である。固有データがどのコンピュータに設定されているのかは、サービスの不正利用排除の観点から重要である。機器特徴情報としては、コンピュータのＭＡＣアドレスや、携帯電話の電話番号等が使用可能である。
【００３９】
以前配布した固有データに対して、障害に対処したり、有効期間を延長したりする目的で更新をすることは、必須な機能である。請求項１１に記載の発明は、更新を実現する。センタは、これまで発行した固有データについての情報を管理しておくとともに、固有データ仲介者が作成する固有データ生成依頼には、既に発行された固有データを特定する固有データ指定が記載される。固有データ指定で特定されるのが更新対象となる固有データであり、センタは自己が管理している発行済み固有データの情報から、更新対照の固有データに関する情報をとりだし、これを参照して更新用の固有データを作成する。
【００４０】
請求項１に記載の発明の固有データ発行・頒布システムは、固有データ仲介者（固有データ仲介装置）も含む。
【００４１】
これらの発明では、固有データ仲介者はセンタと接続されており、固有データ生成依頼を生成してセンタに送付する。センタから固有データが発行された場合、その固有データを、固有データが設定されるコンピュータあるいはそのユーザに送付する。
【００４２】
なお、この発明の少なくとも一部をコンピュータプログラムとして実現できることはもちろんである。
【００４３】
【発明の実施の形態】
以下、この発明の実施例について説明する。
【００４４】
［全体の構成］
図１は本発明を適用した実施例の構成図である。本実施例は、インターネット等のネットワークに接続された複数のコンピュータシステムからなり、これらが協調して動作することで固有データの配布を行う。
【００４５】
本実施例で配布される固有データは、ＲＳＡの公開鍵ペアにおける秘密鍵を含んでいる。ユーザ毎に異なる公開鍵ペアが割り当てられており、必然的にユーザ毎に割り当てられる秘密鍵が異なる。これをユーザ秘密鍵とよぶ。ユーザ秘密鍵に対応する公開鍵を、ユーザ公開鍵とよぶ。
【００４６】
ユーザ秘密鍵は、文書データを利用する権利を各ユーザに許すかどうかの制御に利用される。個々の文書データ自体はＤＥＳにより暗号化されている。暗号化された文書データの利用が許されたユーザには、該文書データを復号するための復号鍵を、該ユーザのユーザ公開鍵で暗号化したもの（Ｅｎｃｒｙｐｔｅｄ  Ｋｅｙ）が渡される。Ｅｎｃｒｙｐｔｅｄ  Ｋｅｙを受け取ったユーザは、自己に割り当てられたユーザ秘密鍵でＥｎｃｒｙｐｔｅｄ  Ｋｅｙを復号し、その結果得られたＤＥＳの鍵で、文書データを復号することができる。
【００４７】
Ｅｎｃｒｙｐｔｅｄ  Ｋｅｙの復号と文書データの復号は、ユーザが使用しているコンピュータシステムにインストールされた文書データ復号用のソフトウエア（文書復号ソフトウエアと呼ぶ）の内部処理として行われる。ユーザは、Ｅｎｃｒｙｐｔｅｄ  Ｋｅｙの復号結果であるＤＥＳの鍵にアクセスすることはできない。また、ユーザ秘密鍵は、文書復号ソフトウエアのみが理解できる形にエンコードされた状態で、固有データに含まれている。ユーザが、ユーザ秘密鍵そのものにアクセスすることはできない。
【００４８】
図１において、１０１は、固有データを生成して発行する固有データ発行センタである。以降、単にセンタと記載した場合、固有データ発行センタを指す。
【００４９】
１０４、１０５、１０６は、暗号化された文書データのユーザが使用するコンピュータシステムであり、固有データ発行センタが発行した固有データが設定される。このコンピュータシステムは、以降クライアントシステムと呼ばれる。クライアントシステムには、文書復号ソフトウエアがインストールされている。クライアントシステムとしては、パーソナルコンピュータやワークステーションはもちろん、携帯電話やＰＤＡ等の携帯型端末も利用可能である。
【００５０】
１０２と１０３は、固有データの生成を固有データ発行センタに依頼し、発行された固有データをクライアントシステムに配布する固有データ仲介者の役割を担うコンピュータシステムである。以降、このコンピュータシステムを仲介者システムと呼ぶ。仲介者システムは、インターネットに接続されているサーバとして実現されている。
【００５１】
［固有データ］
センタが生成する固有データは以下の形式をしたデータである。
【数１】
0003829650.tif 000002
【００５２】
固有データは、以下の９つの属性を持つデータである。
【００５３】
（１）固有データ識別子：
固有データの発行者であるセンタがこの固有データに割り当てた固有データの識別子（固有データ識別子）が記載される。
（２）センタ識別子：
この固有データを発行したセンタの識別子が記載される。
（３）仲介者識別子：
この固有データの発行を仲介した、固有データ仲介者の識別子が記載される。
（４）カテゴリ：
この固有データの種類を示すカテゴリが記載される。
（５）有効期間開始日時：
この固有データの有効期間の開始日時が記載される。この固有データを利用した文書データの復号は、この日時より前には実行できない。
（６）有効期間終了日時：
この固有データの有効期間の終了日時が記載される。この固有データを利用した文書データの復号は、この日時より後には実行できない。
（７）有効回数：
この固有データの利用可能回数が記載される。この固有データを利用した文書データの復号は、この回数より多く実行することはできない。
（８）固有データ値：
文書復号ソフトウエアのみが理解できる形にエンコードされたユーザ秘密鍵が記述される。
（９）デジタル署名：
センタによるこの固有データ全体に対するデジタル署名が記載される。
【００５４】
［固有データ生成依頼］
固有データの発行をセンタに依頼するための固有データ生成依頼は、以下の形式をしたデータである。固有データ生成依頼は、固有データ仲介者が作成してセンタに送付する。
【数２】
0003829650.tif 000003
【００５５】
固有データ生成依頼は、以下の１０の属性を持つデータである。
【００５６】
（１）センタ識別子：
この固有データ生成依頼の送り先であるセンタの識別子が記載される。
（２）仲介者識別子：
この固有データ生成依頼を作成した、固有データ仲介者の識別子が記載される。
（３）カテゴリ指定：
この依頼によって生成される固有データのカテゴリが指定される。
（４）有効期間開始日時指定：
この依頼によって生成される固有データの有効期間の開始日時が指定される。この項目は記載しないことも可能である。
（５）有効期間終了日時指定：
この依頼によって生成される固有データの有効期間の終了日時が指定される。この項目は記載しないことも可能である。
（６）有効回数指定：
この依頼によって生成される固有データの利用可能回数が指定される。この項目は記載しないことも可能である。
（７）機器特徴情報：
この依頼によって生成される固有データが設定されるクライアントシステムの特徴を示す情報である機器特徴情報が指定される。この項目は記載しないことも可能である。
（８）固有データ指定：
すでに発行されているのと同じユーザ秘密鍵を含む固有データを依頼する場合に、該既発行の固有データに割り当てられた固有データ識別子が指定される。すでに発行されているのと同じユーザ秘密鍵を含む固有データを依頼する場合には必須である。そうでない場合には、この項目には何も設定されない。
（９）生成基準依存性フラグ：
この依頼によって生成される固有データの生成可否の判断を、センタが記憶している生成基準にしたがって判断するか、それとも該生成基準を無視して必ず生成するかを示すフラグ。この項目は記載しないことも可能である。
（１０）デジタル署名：
固有データ仲介者によるこの固有データ生成依頼全体に対するデジタル署名が記載される。
【００５７】
固有データ生成依頼によって、固有データ仲介者は、新規の固有データをセンタに作成させ、発行してもらうことができる。また、障害対処や、有効期間・有効回数の延長のために、既に発行されている固有データと同じユーザ秘密鍵を含む固有データを再度生成・発行してもらうことも可能である。前者を、固有データの新規発行、後者を更新と呼ぶ。
【００５８】
固有データ生成依頼が、固有データの新規発行を依頼しているか、更新を依頼しているのかは、固有データ生成依頼の「固有データ指定」に固有データの識別子が指定されているかどうかによる。指定されていれば更新であり、そうでなければ新規発行である。
【００５９】
［固有データ発行センタの構成］
図２は、本実施例のセンタの構成図である。
【００６０】
センタは、入出力制御部２０１、処理制御部２０２、固有データ生成依頼検査部２０３、生成可否判定部２０４、固有データ値生成部２０５、属性値決定部２０６、固有データ生成部２０７、署名生成部２０８、固有データ仲介者ＤＢ２０９、生成規則ＤＢ２１０、属性仕様ＤＢ２１１、固有データＤＢ２１２から構成され、入出力制御部２０１を介してネットワークに接続されている。
本実施例のセンタの各部の役割を以下に述べる。
【００６１】
（１）入出力制御部２０１：
ネットワークを介したデータの入力を受け付けるとともに、センタが生成した固有データを、ネットワークを介して出力する。ネットワークからの入出力制御部２０１への入力、あるいは、入出力制御部２０１からネットワークへの出力の方法としては、入出力制御部２０１と接続されたＷＷＷサイトを準備して固有データ仲介者にアクセスさせるもの、あるいは電子メールシステムと入出力制御部２０１を自動的にあるいは人手によって連動させるものなどが使用できる。
【００６２】
（２）処理制御部２０２：
入出力制御部２０１を介して入力された固有データ生成依頼に対して、固有データを生成する処理全体を制御する。
【００６３】
（３）固有データ生成依頼検査部２０３：
処理制御部２０２から呼び出され、入出力制御部２０１を介して処理制御部２０２が受け取った固有データ生成依頼が、正当な固有データ仲介者からの依頼であるかどうかを検査し、その結果を出力する。検査の過程で、固有データ仲介者ＤＢ２０９にアクセスする。
【００６４】
（４）生成可否判定部２０４：
処理制御部２０２から呼び出され、入出力制御部２０１を介して処理制御部２０２が受け取った固有データ生成依頼に対して、固有データを生成するかどうかの可否を判定し、その結果を出力する。判定の過程で、生成規則ＤＢ２１０と固有データＤＢ２１２にアクセスする。
【００６５】
（５）固有データ値生成部２０５：
処理制御部２０２から呼び出され、入出力制御部２０１を介して処理制御部２０２が受け取った固有データ生成依頼に対して生成される固有データに含まれるユーザ秘密鍵と、該ユーザ秘密鍵に対応するユーザ公開鍵のペアを作成し、その結果を出力する。
【００６６】
（６）属性値決定部２０６：
処理制御部２０２から呼び出され、入出力制御部２０１を介して処理制御部２０２が受け取った固有データ生成依頼に対して生成される固有データの各属性の属性値を決定し、その結果を出力する。処理の過程で、属性仕様ＤＢ２１１にアクセスする。
【００６７】
（７）固有データ生成部２０７：
処理制御部２０２から呼び出され、入出力制御部２０１を介して処理制御部２０２が受け取った固有データ生成依頼に対して、固有データを生成し出力する。生成の過程で、固有データＤＢ２１２にアクセスする。
【００６８】
（８）署名生成部２０８：
処理制御部２０２から呼び出され、入出力制御部２０１を介して処理制御部２０２が受け取った固有データ生成依頼に対して生成される固有データに、デジタル署名を施す。
【００６９】
（９）固有データ仲介者ＤＢ２０９：
センタに対して固有データの発行を依頼することが可能な、固有データ仲介者に関する情報を管理しているＤＢである。
【００７０】
（１０）生成規則ＤＢ２１０：
固有データの生成の可否を判断するための基準である、固有データ生成規則を管理しているＤＢである。
【００７１】
（１１）属性仕様ＤＢ２１１：
固有データの各属性に設定される属性値を決定するための規則である固有データ属性仕様を管理しているＤＢである。
【００７２】
（１２）固有データＤＢ２１２：
センタが発行した固有データに関する情報を管理しているＤＢである。
【００７３】
［固有データ仲介者ＤＢ］
図３は、センタが持つ固有データ仲介者ＤＢ２０９の構造である。ひとつのエントリがひとつの固有データ仲介者に関する情報を示す。
【００７４】
固有データ仲介者ＤＢ２０９の各エントリは、以下の３つの属性からなる。
【００７５】
（１）固有データ仲介者識別子：
このエントリに対応する固有データ仲介者に対して、センタが割り当てた識別子である。
（２）公開鍵証明書：
このエントリに対応する固有データ仲介者によるデジタル署名を検証するための検証鍵を含む公開鍵証明書である。所定の方式でエンコードされた公開鍵証明書が格納される。
（３）カテゴリリスト：
このエントリに対応する固有データ仲介者に対して発行可能な固有データの種類を表すカテゴリのリストである。該固有データ仲介者に対しては、このリストに含まれるカテゴリの固有データしか、発行されない。
【００７６】
［生成規則ＤＢ］
図４は、センタが持つ生成規則ＤＢ２１０の構造である。生成規則ＤＢ２１０は、センタが固有データを発行するかどうかの判断をするための規則である固有データ生成規則を管理している。生成規則ＤＢ２１０中のひとつのエントリがひとつの固有データ生成規則を示す。
【００７７】
生成規則ＤＢ２１０の各エントリは、以下の４つの属性からなる。
【００７８】
（１）カテゴリ：
このエントリに対応する固有データ生成規則が適用される、固有データのカテゴリである。固有データ生成規則は、固有データのカテゴリごとに規定される。固有データの生成可否の判断は、その固有データのカテゴリに対して規定されている固有データ生成規則によって決定される。
（２）新規発行条件：
固有データの新規発行が許されるための条件である。
"機器特徴情報必要"と記載されている場合、固有データが設定されるクライアントシステムの特徴を示す機器特徴情報が固有データ生成依頼に含まれている場合にのみ、固有データの新規発行が可能である。
"無条件"  と記載されている場合、固有データの新規発行は常に可能である。
（３）更新条件：
すでに発行された固有データの更新が許されるための条件である。
機器特徴情報一致と記載されている場合、固有データ生成の可否の判定の対象となっている固有データ生成依頼に含まれている機器特徴情報と、更新の対象となる固有データを以前に発行あるいは更新した際の固有データ生成依頼に含まれている機器特徴情報とが一致する場合にのみ、固有データの更新が可能である。すなわち、これまで固有データが利用されていたクライアントシステムと同一のクライアントシステムに設定される場合にのみ、更新が許されることを意味する。"無条件"と記載されている場合、固有データの更新は常に可能である。
"更新不可"と記載されている場合、固有データの更新が許されることはない。
（４）更新可能回数：
すでに発行された固有データの更新回数の上限である。ここに記載された回数以上の更新は許されない。
"無制限"と記載されている場合、更新回数の制限がないことを示す。
【００７９】
［属性仕様ＤＢ］
図５は、センタが持つ属性仕様ＤＢ２１１の構造である。属性仕様ＤＢ２１１は、固有データの各属性に設定される属性値を決定するための規則である固有データ属性仕様を管理している。属性仕様ＤＢ２１１のひとつのエントリがひとつの固有データ属性仕様を示す。
【００８０】
属性仕様ＤＢ２１１の各エントリは、以下の３つの属性からなる。
【００８１】
（１）カテゴリ：
このエントリに対応する固有データ属性仕様が適用される、固有データのカテゴリ。固有データ属性仕様は、固有データのカテゴリごとに規定される。固有データの各属性の値は、その固有データのカテゴリに対して規定されている固有データ属性仕様にしたがって決定される。
（２）有効期間：
このエントリに対応する固有データ属性仕様が適用される固有データの有効期間の長さである。固有データの有効期間終了日時の決定に使用される。固有データの有効期間終了日時は、固有データが生成された日時に、この期間を加算した日時となる。
"無期限"と記載されている場合、固有データの有効期間終了日時には"無期限"と設定される。すなわち、その固有データの有効期間が終了することはない。
（３）有効回数：
このエントリに対応する固有データ属性仕様が適用される固有データの利用可能回数である。
"無制限"と記載されている場合、固有データの有効回数には"無制限"と設定される。すなわち、その固有データは、何回でも使用できる。
【００８２】
［固有データＤＢ］
図６は、センタが持つ固有データＤＢ２１２の構造である。固有データＤＢ２１２は、センタが発行した固有データに関する情報を管理している。固有データＤＢ２１２のひとつのエントリがひとつの固有データを示す。
【００８３】
固有データＤＢ２１２の各エントリは、以下の１０の属性からなる。
【００８４】
（１）識別子：
このエントリに対応する固有データに対して、センタが割り当てた識別子である。
（２）仲介者識別子：
このエントリに対応する固有データの発行をセンタに依頼した固有データ仲介者に対して、センタが割り当てた識別子である。
（３）カテゴリ：
このエントリに対応する固有データのカテゴリである。
（４）有効期間開始：
このエントリに対応する固有データの有効期間の開始日時である。
（５）有効期間終了：
このエントリに対応する固有データの有効期間の終了日時である。
（６）有効回数：
このエントリに対応する固有データの利用可能回数である。
（７）ユーザ秘密鍵：
このエントリに対応する固有データに含まれるユーザ秘密鍵である。所定の方式でエンコードされたものが格納される。
（８）ユーザ公開鍵：
このエントリに対応する固有データに含まれるユーザ秘密鍵に対応する、公開鍵である。所定の方式でエンコードされたものが格納される。
（９）機器特徴情報：
このエントリに対応する固有データが設定されるクライアントシステムの特徴を表す機器特徴情報である。所定の方式でエンコードされたものが格納される。
（１０）更新回数：
このエントリに対応する固有データに対して、何回更新が行われたかを示す。
【００８５】
［固有データ生成依頼の処理］
図７は、処理制御部２０２が、入出力制御部２０１を介して固有データ生成依頼を受け取った場合の動作を示したフローチャートである。処理制御部２０２の動作を、図７にしたがって説明する。
【００８６】
固有データ生成依頼を受け取った処理制御部２０２は、まず、固有データ生成依頼検査部２０３を呼び出し、受け取った固有データ生成依頼が、センタが認める正規の固有データ仲介者が作成したものか、また、固有データ生成依頼の作成者である固有データ仲介者に対して、依頼されたカテゴリの固有データの発行が可能かを検査する（７０１）。ここで、検査にパスしなかった場合（７０２）、エラーを出力し（７１０）、処理は終了する。
【００８７】
検査にパスした場合（７０２）、処理制御部２０２は生成可否判定部２０４を呼び出し、該固有データ生成依頼で依頼された固有データを生成すべきかどうかを判定する（７０３）。ここで、生成すべきではないと判定された場合（７０４）、エラーを出力し（７１０）、処理は終了する。
【００８８】
該固有データ生成依頼で依頼された固有データを生成すべき（７０４）と判断された場合、処理制御部２０２は固有データ値生成部２０５を呼び出し、固有データに設定するユーザ秘密鍵と、該秘密鍵に対応するユーザ公開鍵のペアを作成する（７０５）。
【００８９】
引き続き、処理制御部２０２は属性値決定部２０６を呼び出して、固有データに設定する属性の値を決定し（７０６）、さらに固有データ生成部２０７を呼び出して、これまで作成したステップ７０５で作成したユーザ秘密鍵を含み、ステップ７０６で決定した属性値が設定された、固有データを作成する（７０７）。
【００９０】
最後に、処理制御部２０２は署名生成部２０８を呼び出し、ステップ７０７で生成した固有データにセンタのデジタル署名を施し（７０８）、その結果を入出力制御部２０１に出力して（７０９）、処理を終了する。
【００９１】
処理制御部２０２から生成された固有データを受け取った入出力制御部２０１は、受け取った固有データを、固有データの生成を依頼した固有データ仲介者に送付する。
【００９２】
［固有データ生成依頼の検査］
図８は、図７のフローチャートのステップ７０１において、固有データ生成依頼検査部２０３が、処理制御部２０２から呼び出された場合の動作を示したフローチャートである。固有データ生成依頼検査部２０３の動作を、図８にしたがって説明する。
【００９３】
固有データ生成依頼検査部２０３は、まず、固有データ生成依頼がセンタに対する依頼かを確認する（８０１）。固有データ生成依頼のセンタ識別子属性に記載された識別子が、センタが持つ識別子と同一であれば、センタに対する依頼である。そうでなければ、センタに対する依頼ではない。ステップ８０１で、センタに対する依頼ではないと判断された場合、検査に失敗したことを出力し（８０５）、処理が終了する。
【００９４】
ステップ８０１で、センタに対する依頼であると判断された場合、固有データ生成依頼の依頼者が、センタが認める正規の固有データ仲介者であるかどうかが調べられる（８０２）。センタが認める正規の固有データ仲介者であれば、固有データ仲介者ＤＢ２０９にその固有データ仲介者についてのエントリが存在する。したがって、固有データ生成依頼検査部２０３は、固有データ仲介者ＤＢ２０９のエントリの中で、固有データ生成依頼の「仲介者識別子」属性に記載された識別子と一致する「固有データ仲介者識別子」を持つエントリを探す。該当するエントリが存在しなければ、検査に失敗したことを出力し（８０５）、処理が終了する。また、エントリが存在した場合には、さらに、該エントリの「公開鍵証明書」属性の値である公開鍵証明書に含まれる公開鍵によって、固有データ生成依頼のデジタル署名を検証する。検証に失敗すれば、検査に失敗したことを出力し（８０５）、処理が終了する（８０２）。
【００９５】
ステップ８０２の検査にパスした場合、固有データ生成依頼に指定されたカテゴリの固有データを生成して良いかどうかが調べられる（８０３）。固有データ生成依頼の「カテゴリ指定」に記載されたカテゴリが、前記エントリの「カテゴリリスト」属性の値であるカテゴリのリストに含まれていれば、検査に成功したことを出力し（８０４）、処理が終了する。含まれていなければ、検査に失敗したことを出力し（８０５）、処理が終了する。
【００９６】
［固有データ生成可否の判定］
図９は、図７のフローチャートのステップ７０３において、生成可否判定部２０４が、処理制御部２０２から呼び出された場合の動作を示したフローチャートである。生成可否判定部２０４の動作を、図９にしたがって説明する。
【００９７】
生成可否判定部２０４は、まず、生成規則ＤＢ２１０から、固有データの生成可否の判定に使用する固有データ生成規則を表すエントリを取り出す（９０１）。対象となるエントリは、生成規則ＤＢ２１０のエントリの中で、固有データ生成依頼の「カテゴリ指定」属性に記載された内容と一致する値の「カテゴリ」属性を持つエントリである。
【００９８】
次に、生成可否判定部２０４は、固有データ生成依頼が、固有データの新規発行のためのものかどうかを調べる（９０２）。
【００９９】
固有データ生成依頼が、固有データの新規発行のためのものであった場合、生成可否判定部２０４は、ステップ９０１で見つけたエントリの「新規発行条件」属性に記載された条件が満たされているかどうかを調べる（９０３）。ここで、「新規発行条件」属性に記載された条件が満たされていると判断された場合、固有データの生成が可能であることを出力し（９０６）、処理が終了する。そうでなければ、固有データの生成が不能であることを出力し（９０７）、処理が終了する。
【０１００】
ステップ９０２で、固有データ生成依頼が、固有データの新規発行のためのものではないと判断された場合、生成可否判定部２０４は、ステップ９０１で見つけたエントリの「更新条件」属性に記載された条件が満たされているかどうかを調べる（９０４）。ここで、「更新条件」属性に記載された条件が満たされていないと判断された場合、固有データの生成が不能であることを出力し（９０７）、処理が終了する。
【０１０１】
ステップ９０４で、「更新条件」属性に記載された条件が満たされていると判断された場合、更新の回数が、ステップ９０１で見つけたエントリの「更新可能回数」に指定された回数以内であるかどうかが検査される（９０５）。以内であれば、固有データの生成が可能であることを出力し（９０６）、処理が終了する。そうでなければ、固有データの生成が不能であることを出力し（９０７）、処理が終了する。
【０１０２】
ステップ９０３において、たとえば、「新規発行条件」属性に"機器特徴情報必要"と記載されている場合、固有データ生成依頼の「機器特徴情報」属性に値が設定されていれば、条件が満たされていることになる。
【０１０３】
ステップ９０４において、たとえば、「更新条件」属性に"機器特徴情報一致"と記載されている場合には、更新の対象となっている固有データが現在設定されているクライアントシステムに、更新後の固有データも設定されるかどうかをチェックする。
【０１０４】
これを調べるために、固有データＤＢ２１２にアクセスして、更新の対象となっている固有データに関する情報のエントリを取り出す。対象となるエントリは、固有データＤＢ２１２のエントリの中で、固有データ生成依頼の「固有データ指定」の値と一致する値の「識別子」属性を持つエントリである。
【０１０５】
取り出したエントリの「機器特徴情報」属性の値と、固有データ生成依頼の「機器特徴情報」の値とが一致すれば、「更新条件」に指定された条件が満足されたことになる。
【０１０６】
ステップ９０５において、「更新可能回数」のチェックをするためには、更新の対象となっている固有データの現在の更新回数を知る必要がある。
【０１０７】
この情報を取り出すために、固有データＤＢ２１２にアクセスして、更新の対象となっている固有データに関する情報のエントリを取り出す。対象となるエントリは、固有データＤＢ２１２のエントリの中で、固有データ生成依頼の「固有データ指定」の値と一致する値の「識別子」属性を持つエントリである。
【０１０８】
取り出したエントリの「更新回数」属性の値が、問題の固有データの現在の更新回数である。
【０１０９】
［ユーザ秘密鍵／公開鍵の作成］
図７のフローチャートのステップ７０５において、固有データ値生成部２０５が処理制御部２０２から呼び出された場合、固有データ生成依頼が固有データの新規発行のためのものなら、固有データ値生成部２０５は、固有データに含めるユーザ秘密鍵と、該秘密鍵に対応するユーザ公開鍵を作成し、出力する。固有データ生成依頼が固有データの更新のためのものならば、ステップ７０５では何も行わない。
【０１１０】
このために、固有データ値生成部２０５は、ＲＳＡ公開鍵ペアを作成する機能を持つ。
【０１１１】
［固有データの各属性値の決定］
図１０は、図７のフローチャートのステップ７０６において、属性値決定部２０６が、処理制御部２０２から呼び出された場合の動作を示したフローチャートである。属性値決定部２０６の動作を、図１０にしたがって説明する。
【０１１２】
属性値決定部２０６は、固有データに値が設定される各種属性値のうち、「有効期間開始日時」、「有効期間終了日時」、「有効回数」の３つの属性の値を決定し、出力する。属性値の決定に際しては、固有データ生成依頼の記載内容と、属性仕様ＤＢ２１１に記憶されている固有データ属性仕様が利用される。
【０１１３】
属性値決定部２０６は、まず、属性仕様ＤＢ２１１から、属性値の決定に使用する固有データ属性仕様を表すエントリを取り出す（１００１）。対象となるエントリは、属性仕様ＤＢ２１１のエントリの中で、固有データ生成依頼の「カテゴリ指定」属性に記載された内容と一致する値の「カテゴリ」属性を持つエントリである。
【０１１４】
次に、属性値決定部２０６は、固有データ生成依頼の「有効期間開始日時指定」に日時が指定されているかどうかを調べる（１００２）。指定されている場合には、その指定の内容が、固有データの「有効期間開始日時」の値と決定される（１００３）。そうでなければ、現在の日時が、固有データの「有効期間開始日時」の値と決定される（１００４）。
【０１１５】
さらに属性値決定部２０６は、固有データ生成依頼の「有効期間終了日時指定」に日時が指定されているかどうかを調べる（１００５）。指定されている場合には、その指定の内容が、固有データの「有効期間終了日時」の値と決定される（１００６）。そうでなければ、ステップ１００３あるいは１００４で決定された固有データの「有効期間開始日時」の値を起点に、ステップ１００１で選択したエントリの「有効期間」属性の値に記載された期間を加算した日時が、固有データの「有効期間終了日時」の値と決定される（１００７）。
【０１１６】
加えて、属性値決定部２０６は、固有データ生成依頼の「有効回数指定」に回数が指定されているかどうかを調べる（１００８）。指定されている場合には、その指定の内容が、固有データの「有効回数」の値と決定される（１００９）。そうでなければ、ステップ１００１で選択したエントリの「有効回数」属性の値が、固有データの「有効回数」の値と決定される（１０１０）。
【０１１７】
最後に、決定された「有効期間開始日時」、「有効期間終了日時」、「有効回数」の３つの属性の値を出力し（１０１１）、処理が終了する。
【０１１８】
［固有データの生成］
図７のフローチャートのステップ７０７において、固有データ生成部２０７が処理制御部２０２から呼び出された場合、固有データ生成部２０７は、これまでに生成された値をもとに固有データを生成する。また、固有データＤＢ２１２に、生成した固有データに関する情報を格納する。
【０１１９】
固有データ生成部２０７が生成する固有データの各属性は、固有データの新規発行と更新の場合で設定される値が若干異なる。
【０１２０】
固有データの新規発行の場合には、以下の値が設定される。
【０１２１】
（１）固有データ識別子：
固有データ生成部２０７が生成した識別子が設定される。
（２）センタ識別子：
センタが持つ識別子が設定される。
（３）仲介者識別子：
固有データ生成依頼の「仲介者識別子」属性に指定された値が設定される。
（４）カテゴリ：
固有データ生成依頼の「カテゴリ指定」属性に指定された値が設定される。
（５）有効期間開始日時：
ステップ７０６で決定した日時情報が設定される。
（６）有効期間終了日時：
ステップ７０６で決定した日時情報が設定される。
（７）有効回数：
ステップ７０６で決定した回数情報が設定される。
（８）固有データ値：
ステップ７０５で生成したユーザ秘密鍵を、文書復号ソフトウエアのみが理解できる形にエンコードした結果が設定される。
（９）デジタル署名：
この時点では未設定である。
【０１２２】
固有データの更新の場合には、属性の設定のために、固有データＤＢ２１２に含まれる更新の対象である固有データに対応するエントリに格納されている情報が必要である。対象となるエントリは、固有データＤＢ２１２のエントリの中で、固有データ生成依頼の「固有データ指定」の値と一致する値の「識別子」属性を持つエントリである。
【０１２３】
以下の値が設定される。
【０１２４】
（１）固有データ識別子：
該エントリの「識別子」属性の値が設定される。
（２）センタ識別子：
センタが持つ識別子が設定される。
（３）仲介者識別子：
固有データ生成依頼の「仲介者識別子」属性に指定された値が設定される。
（４）カテゴリ：
固有データ生成依頼の「カテゴリ指定」属性に指定された値が設定される。
（５）有効期間開始日時：
ステップ７０６で決定した日時情報が設定される。
（６）有効期間終了日時：
ステップ７０６で決定した日時情報が設定される。
（７）有効回数：
ステップ７０６で決定した回数情報が設定される。
（８）固有データ値：
該エントリの「ユーザ秘密鍵」属性の値を、文書復号ソフトウエアのみが理解できる形にエンコードした結果が設定される。
（９）デジタル署名：
この時点では未設定。
【０１２５】
固有データＤＢ２１２に、生成した固有データに関する情報を格納する場合、固有データの新規発行と更新の場合で動作が若干異なる。
【０１２６】
新規発行の場合には、新たなエントリが作成され、該エントリの各属性には以下の値が設定される。
【０１２７】
（１）識別子：
生成した固有データの「固有データ識別子」属性に設定したものと同じ値が設定される。
（２）仲介者識別子：
生成した固有データの「仲介者識別子」属性に設定したものと同じ値が設定される。
（３）カテゴリ：
生成した固有データの「カテゴリ」属性に設定したものと同じ値が設定される。
（４）有効期間開始：
生成した固有データの「有効期間開始日時」属性に設定したものと同じ値が設定される。
（５）有効期間終了：
生成した固有データの「有効期間終了日時」属性に設定したものと同じ値が設定される。
（６）有効回数：
生成した固有データの「有効回数」属性に設定したものと同じ値が設定される。
（７）ユーザ秘密鍵：
ステップ７０５で生成したユーザ秘密鍵を、所定の方式でエンコードされたものが設定される。
（８）ユーザ公開鍵：
ステップ７０５で生成したユーザ公開鍵を、所定の方式でエンコードされたものが設定される。
（９）機器特徴情報：
固有データ生成依頼の「機器特徴情報」属性に指定された値が設定される。固有データ生成依頼の「機器特徴情報」属性に何も指定されていなければ、この属性に値は設定されない。
（１０）更新回数：
０を設定する。
【０１２８】
固有データの更新の場合には、更新の対象である固有データに対応するエントリの内容が更新される。更新の対象となるエントリは、固有データＤＢ２１２のエントリの中で、固有データ生成依頼の「固有データ指定」の値と一致する値の「識別子」属性を持つエントリである。
【０１２９】
このエントリの各属性は、以下のように構成される。
【０１３０】
（１）識別子：
更新されない。
（２）仲介者識別子：
生成した固有データの「仲介者識別子」属性に設定したものと同じ値が設定される。
（３）カテゴリ：
更新されない。
（４）有効期間開始：
生成した固有データの「有効期間開始日時」属性に設定したものと同じ値が設定される。
（５）有効期間終了：
生成した固有データの「有効期間終了日時」属性に設定したものと同じ値が設定される。
（６）有効回数：
生成した固有データの「有効回数」属性に設定したものと同じ値が設定される。
（７）ユーザ秘密鍵：
更新されない。
（８）ユーザ公開鍵：
更新されない。
（９）機器特徴情報：
固有データ生成依頼の「機器特徴情報」属性に指定された値が設定される。固有データ生成依頼の「機器特徴情報」属性に何も指定されていなければ、この属性に値は設定されない。
（１０）更新回数：
現在の値に＋１したものを設定する。
【０１３１】
［署名の付与］
図７のフローチャートのステップ７０８において、署名生成部２０８が処理制御部２０２から呼び出された場合、署名生成部２０８は、固有データ生成部２０７で生成された固有データにデジタル署名を施す。デジタル署名の対象になるのは、該固有データの「デジタル署名」属性以外の属性名と属性値のすべてである。デジタル署名を施すために、署名生成部２０８は、デジタル署名のためのアルゴリズムを実行する機能と、デジタル署名に使用する署名鍵を持っている。
【０１３２】
［固有データ仲介者］
図１１は、本実施例の固有データ仲介者の役割を行う仲介者システムの構成図である。
【０１３３】
仲介者システムは、クライアントシステムのユーザからの、固有データ配布依頼を受けて、センタから固有データを取得し、ユーザに配布するシステムである。仲介者システムは、入出力制御部１１０１、処理制御部１１０２、固有データ生成依頼作成部１１０３、固有データ検証部１１０４、固有データ配布部１１０５から構成され、入出力制御部１１０１を介してネットワークに接続されている。
【０１３４】
本実施例の仲介者システムの各部の役割を以下に述べる。
【０１３５】
（１）入出力制御部１１０１：
ネットワークを介したデータの入力を受け付けるとともに、仲介者システムが生成した固有データ生成依頼を、ネットワークを介して出力する。また、ユーザに固有データを配布する際も入出力制御部１１０１を介して行われる。ネットワークからの入出力制御部１１０１への入力、あるいは、入出力制御部１１０１からネットワークへの出力の方法としては、入出力制御部１１０１と接続されたＷＷＷサイトを準備してユーザやセンタにアクセスさせるもの、あるいは電子メールシステムと入出力制御部１１０１を自動的にあるいは人手によって連動させるものなどが使用できる。
【０１３６】
（２）処理制御部１１０２：
入出力制御部１１０１を介して入力された固有データ配布依頼に対して、固有データをセンタから受け取り、ユーザに配布する処理全体を制御する。
【０１３７】
（３）固有データ生成依頼作成部１１０３：
処理制御部１１０２から呼び出され、固有データ生成依頼を作成する。
【０１３８】
（４）固有データ検証部１１０４：
処理制御部１１０２から呼び出され、センタから発行された固有データのデジタル署名を検証する。
【０１３９】
（５）固有データ配布部１１０５：
処理制御部１１０２から呼び出され、センタから発行された固有データをユーザに配布する。
【０１４０】
［固有データ配布依頼］
クライアントシステムのユーザが、固有データの配布を求める際には、仲介者システムに対して固有データ配布依頼を送付する。
【０１４１】
固有データ配布依頼は、以下の形式のデータである。
【数３】
0003829650.tif 000004
【０１４２】
固有データ配布依頼は、以下の３つの属性を持つデータである。
（１）機器特徴情報：
配布された固有データを設定するクライアントシステムの特徴を示す情報である機器特徴情報である。
（２）固有データ指定：
すでに発行されているのと同じユーザ秘密鍵を含む固有データを依頼する場合に、該既発行の固有データに割り当てられた固有データ識別子が指定される。すでに発行されているのと同じユーザ秘密鍵を含む固有データを依頼する場合には必須である。そうでない場合には、この項目には何も設定されない。
（３）メールアドレス：
固有データの配布を依頼したユーザのメールアドレス。センタから発行された固有データは、このアドレスにメールされる。
【０１４３】
［固有データの配布処理］
図１２は、処理制御部１１０２が、入出力制御部１１０１を介してユーザからの固有データ配布依頼を受け取った場合の動作を示したフローチャートである。処理制御部１１０２の動作を、図１２にしたがって説明する。
【０１４４】
図１２に示すように、処理制御部１１０２の処理は、常に固有データ配布依頼を待ちつづけ、固有データ配布依頼を受け取ると固有データの配布処理を行い、終了するとまた固有データ配布依頼を待つという、ループである。
【０１４５】
固有データ配布依頼を受け取ると（１２０１）、処理制御部１１０２は、固有データ生成依頼作成部１１０３を呼び出し、固有データ生成依頼を作成させる（１２０２）。作成された固有データ生成依頼は、入出力制御部１１０１を介して、センタに送付される（１２０３）。その後、固有データ生成依頼に対するセンタからの返信を待ちつづける（１２０４）。
【０１４６】
センタからの返信を受け取ったら、返信が固有データであるかどうかを確認する（１２０５）。固有データでなければ、なんらかのエラーにより固有データが発行されなかったことを表すので、固有データ配布依頼に記載されたユーザのメールアドレスあてに、エラーメッセージを、入出力制御部１１０１を介して送付する（１２０８）。
【０１４７】
センタからの返信が固有データであった場合、処理制御部１１０２は、固有データ検証部（１１０４）を呼び出し、固有データのデジタル署名を検証する（１２０６）。ここで、検証に失敗した場合には、固有データ配布依頼に記載されたユーザのメールアドレスあてに、エラーメッセージを、入出力制御部１１０１を介して送付する（１２０８）。
【０１４８】
固有データのデジタル署名の検証に成功した場合、処理制御部１１０２は、固有データ配布部（１１０５）を呼び出し、固有データをユーザに配布させる（１１０５）。固有データ配布部は、固有データを含むメールを作成し、固有データ配布依頼に記載されたユーザのメールアドレスあてに、入出力制御部１１０１を介して送付する（１２０７）。
【０１４９】
固有データの送付（１２０７）、あるいは、エラーメッセージの送付（１２０８）ののち、処理制御部１１０２は、再び固有データ配布依頼を待ち始める。
【０１５０】
固有データを配布するユーザを限定したい場合には、固有データを配布してよいユーザのメールアドレス等を管理するユーザ情報ＤＢを用意しておき、ステップ１２０２に入るまえに、固有データ配布依頼に記載されたメールアドレスが、ユーザ情報ＤＢに登録されているかどうかを確認する等のチェックを実行する。
【０１５１】
また、メールアドレス等では、ユーザのアイデンティティのチェックに不安が残る場合には、ユーザ認証の機能を持ったＷｅｂページを用意し、そこでユーザ認証に成功したユーザのみがアクセスできるページからのみ、固有データ配布依頼を受け付けるように構成すればよい。
【０１５２】
ステップ１２０２において、固有データ生成依頼作成部１１０３が処理制御部１１０２から呼び出された場合、固有データ生成依頼作成部１１０３は、固有データ配布依頼を参照して、固有データ生成依頼を作成する。ここで作成される固有データ生成依頼の各属性は、以下のように設定される。
【０１５３】
（１）センタ識別子：
固有データ生成依頼作成部１１０３は、固有データ生成依頼を送付するセンタの識別子を記憶している。ここには、その識別子が設定される。
（２）仲介者識別子：
固有データ生成依頼作成部１１０３は、自己を含む仲介者システムの固有データ仲介者としての識別子を記憶している。ここには、その識別子が設定される。
（３）カテゴリ指定：
固有データ生成依頼作成部１１０３は、自己を含む仲介者システムに対してセンタから発行可能な固有データのカテゴリを記憶している。ここには、そのカテゴリが設定される。
（４）有効期間開始日時指定：
ユーザから開始日時が特別に指定された場合を除き、ここにはなにも設定しない。
（５）有効期間終了日時指定：
ユーザから終了日時が特別に指定された場合を除き、ここにはなにも設定しない。
（６）有効回数指定：
ユーザから有効回数が特別に指定された場合を除き、ここにはなにも設定しない。
（７）機器特徴情報：
ユーザから送付された固有データ配布依頼の「機器特徴情報」属性の値が設定される。
（８）固有データ指定：
ユーザから送付された固有データ配布依頼の「固有データ指定」属性の値が設定される。固有データ配布依頼の「固有データ指定」属性に何も設定されていない場合、ここには何も設定しない。
（９）生成基準依存性フラグ：
ユーザから特別に指定された場合を除き、センタが記憶している生成基準にしたがって判断することを示すフラグを設定。
（１０）デジタル署名：
固有データ仲介者によるこの固有データ生成依頼全体に対するデジタル署名が記載される。デジタル署名を施すために、固有データ生成依頼作成部１１０３は、署名のための演算機能を持つとともに、署名に使用する署名鍵を記憶している。
【０１５４】
固有データ検証部１１０４は、センタから送付された固有データのデジタル署名の検証のために、検証用の演算機能を持つとともに、センタの署名の検証鍵を含む公開鍵証明証を記憶している。
【０１５５】
以上説明したように、この実施例の固有データ発行システムによれば、固有データ発行センタ１０１とクライアントシステム１０４、１０５、１０６との間に仲介者システム１０２、１０３を設け、サービス事業者の自由度を阻害することなく、共通の固有データ発行のインフラストラクチャを利用することができ、サービス事業者の固有データ発行や管理のポリシーを維持しつつ負担を低減できる。
【０１５６】
【発明の効果】
以上説明したように、この発明によれば、サービス事業者の自由度を阻害することなく、共通の固有データ発行のインフラストラクチャを利用することができ、サービス事業者の固有データ発行や管理のポリシーを維持しつつ負担を低減できる。
【図面の簡単な説明】
【図１】  本発明を適用した実施例の構成図である。
【図２】  本実施例の固有データ発行センタの構成図である。
【図３】  固有データ発行センタが持つ固有データ仲介者ＤＢ２０９の構造を示す図である。
【図４】  固有データ発行センタが持つ生成規則ＤＢ２１０の構造を示す図である。
【図５】  固有データ発行センタが持つ属性仕様ＤＢ２１１の構造を示す図である。
【図６】  固有データ発行センタが持つ固有データＤＢ２１２の構造を示す図である。
【図７】  実施例において固有データ生成依頼を受け取った場合の動作を示すフローチャートである。
【図８】  図７のフローチャートにおいて固有データ生成依頼検査部２０３が呼び出された場合の動作を示すフローチャートである。
【図９】  図７のフローチャートにおいて生成可否判定部２０４が呼び出された場合の動作を示すフローチャートである。
【図１０】  図７のフローチャートにおいて属性値決定部２０６が呼び出された場合の動作を示すフローチャートである。
【図１１】  本実施例の固有データ仲介者の役割を行う仲介者システムの構成図である。
【図１２】  実施例において固有データ配布依頼を受け取った場合の動作を示すフローチャートである。
【符号の説明】
１０１      固有データ発行センタ
１０２      仲介者システム
１０４      クライアントシステム
２０１      入出力制御部
２０２      処理制御部
２０３      固有データ生成依頼検査部
２０４      生成可否判定部
２０５      固有データ値生成部
２０６      属性値決定部
２０７      固有データ生成部
２０８      署名生成部
１１０１      入出力制御部
１１０２      処理制御部
１１０３      固有データ生成依頼作成部
１１０４      固有データ検証部
１１０５      固有データ配布部
【図１】
0003829650.tif 000005
【図２】
0003829650.tif 000006
【図３】
0003829650.tif 000007
【図４】
0003829650.tif 000008
【図５】
0003829650.tif 000009
【図６】
0003829650.tif 000010
【図７】
0003829650.tif 000011
【図８】
0003829650.tif 000012
【図９】
0003829650.tif 000013
【図１０】
0003829650.tif 000014
【図１１】
0003829650.tif 000015
【図１２】
0003829650.tif 000016