(57)【特許請求の範囲】
【請求項１】
資源管理者側の装置が、上記資源管理者の秘密鍵を安全に記憶し、
当該資源管理者側の装置の入力手段が、上記資源に一意に割り当てられる資源固有の情報を入力し、
上記入力手段が、内部の情報が外部に漏洩するのを防止する防御手段で防御されたアクセス制御情報生成装置に、利用者の秘密鍵を上記資源管理者の秘密鍵に対応する公開鍵で暗号化した暗号化情報を入力し、
当該資源管理者側の装置の利用者秘密鍵生成手段が、上記アクセス制御情報生成装置内で、上記暗号化情報を上記資源管理者の秘密鍵で復号して上記利用者の秘密鍵を復元し、
当該資源管理者側の装置のアクセス制御情報生成手段が、上記アクセス制御情報生成装置内で、上記資源固有の情報と復元した上記利用者の秘密鍵とに対して第１の演算を実行して上記アクセス制御情報を生成するアクセス制御情報生成方法であり、
上記アクセス制御情報は、
アクセス制御システムであって、
上記資源は利用者装置からアクセスされ、上記資源が資源暗号化用の暗号化鍵で暗号化され、当該アクセス制御情報は、当該資源管理者装置から利用者装置に供給され、上記利用者装置は、上記資源管理者装置に対して上記資源をアクセスする際に、上記アクセス制御情報と上記利用者の秘密鍵とに対して第２の演算を実行し、上記第２の演算の演算結果を復号鍵として用いて上記暗号化された資源を復号し、さらに、上記第１の演算および上記第２の演算は、当該アクセス制御情報、上記資源固有な情報および上記利用者の秘密鍵がすべて真正な場合に上記第２の演算結果が上記資源の暗号化結果を復号する真正な復号鍵となるように選定される、
上記アクセス制御システムにおいて、用いられることを特徴とするアクセス制御情報生成方法。
【請求項２】
請求項１に記載のアクセス制御情報生成方法において、上記入力手段は、上記資源に一意に割り当てられる固有の情報に加え、上記資源の有効期限、利用料金および有効利用回数の少なくとも１つを含む利用方法を記述する情報を入力し、上記アクセス制御情報生成手段が、上記資源固有の情報Ｄと、上記利用者の秘密鍵ｄｕおよび上記利用方法を記述する情報Ｌｓを引数とする一方向性関数の値Ｆとから上記第１の演算をＤ−Ｆとして上記アクセス制御情報を生成することを特徴とするアクセス制御情報生成方法。
【請求項３】
装置本体内に、資源の管理者の秘密鍵を安全に記憶し、
さらに、利用者の秘密鍵を上記資源管理者の秘密鍵に対応する公開鍵で暗号化した暗号化情報を入力する手段と、
上記資源に一意に割り当てられる資源固有の情報を入力する手段と、
上記暗号化情報を上記資源管理者の秘密鍵で復号して上記利用者の秘密鍵を生成する復号手段と、
上記復号手段により生成された利用者の秘密情報と上記資源固有の情報とに対して第１の演算を実行してアクセス制御情報を生成する手段と、
生成したアクセス制御情報を出力する手段と、
当該装置本体内で保持あるいは生成される情報と、当該装置本体内で行われる処理の経過とが、外部に漏洩するのを防止する防御手段とを備えたアクセス制御情報生成装置であり、
上記アクセス制御情報は、
アクセス制御システムであって、
上記資源は利用者装置からアクセスされ、上記資源が資源暗号化用の暗号化鍵で暗号化され、当該アクセス制御情報は、当該資源管理者装置から利用者装置に供給され、上記利用者装置は、上記資源管理者装置に対して上記資源をアクセスを要求する際に、上記アクセス制御情報と上記利用者の秘密鍵とに対して第２の演算を実行し、上記第２の演算の演算結果を復号鍵として用いて上記暗号化された資源を復号し、さらに、上記第１の演算および上記第２の演算は、当該アクセス制御情報、上記資源固有な情報および上記利用者の秘密鍵がすべて真正な場合に上記第２の演算結果が上記資源の暗号化結果を復号する真正な復号鍵となるように選定される、
上記アクセス制御システムにおいて、用いられることを特徴とするアクセス制御情報生成装置。
【請求項４】
請求項３に記載のアクセス制御情報生成装置において、上記資源に一意に割り当てられる固有の情報に加え、有効期限、利用料金および有効利用回数の少なくとも１つを含む資源の利用方法を記述する情報を入力して上記アクセス制御情報生成手段が、上記資源固有の情報Ｄと、上記利用者の秘密鍵ｄｕおよび上記利用方法を記述する情報Ｌｓを引数とする一方向性関数の値Ｆとから上記第１の演算をＤ−Ｆとして上記アクセス制御情報を生成することを特徴とするアクセス制御情報生成装置。
【請求項５】
装置本体内に、資源の管理者の秘密鍵を安全に記憶し、
さらに、利用者の秘密鍵を上記資源管理者の秘密鍵に対応する公開鍵で暗号化した暗号化情報を入力する手段と、
上記資源に一意に割り当てられる固有の公開鍵・秘密鍵対を生成する手段と、
当該生成された公開鍵・秘密鍵対の一方の鍵を出力する手段と、
上記暗号化情報を上記資源管理者の秘密鍵で復号して上記利用者の秘密鍵を生成する復号手段と、
上記復号手段により生成された利用者の秘密情報と上記資源に割り当てられた固有の公開鍵・秘密鍵対の他方の鍵とに対して第１の演算を実行してアクセス制御情報を生成する手段と、
生成したアクセス制御情報を出力する手段と、
当該装置本体内で保持あるいは生成される情報と、当該装置本体内で行われる処理の経過とが、外部に漏洩するのを防止する防御手段とを有し、
さらに、有効期限、利用料金および有効利用回数の少なくとも１つを含む資源の利用方法を記述する情報Ｌｓを入力する手段と、
上記利用者の秘密情報と、上記資源の利用方法を記述する情報Ｌｓとに一方向性の変換を施す手段とを設け、
上記アクセス制御情報を生成する手段は、当該一方向性変換の結果Ｆと上記資源に割り当てられた固有の公開鍵・秘密鍵対の他方の鍵Ｄとから上記第１の演算をＤ−Ｆとしてアクセス制御情報を生成するアクセス制御情報生成装置であり、
上記アクセス制御情報は、
アクセス制御システムであって、
上記資源は利用者装置からアクセスされ、上記資源が資源暗号化用の暗号化鍵で暗号化され、当該アクセス制御情報は、当該資源管理者装置から利用者装置に供給され、上記利用者装置は、上記資源管理者装置に対して上記資源をアクセスする際に、上記アクセス制御情報と上記利用者の秘密鍵と上記資源の利用方法を記述する資源情報とに対して上記資源に割り当てられた固有の公開鍵・秘密鍵対の一方の鍵を用いた第２の演算を実行し、上記第２の演算の演算結果を復号鍵として用いて上記暗号化された資源を復号し、さらに、上記第１の演算および上記第２の演算は、当該アクセス制御情報、上記資源固有な情報および上記利用者の秘密鍵がすべて真正な場合に上記第２の演算結果が上記資源の暗号化結果を復号する真正な復号鍵となるように選定される、
上記アクセス制御システムにおいて、使用されることを特徴とするアクセス制御情報生成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、利用者のアクセスを制御する技術に関する。
【０００２】
【従来の技術】
情報に対する利用者のアクセスを制御する技術としては、例えば、特開平４−１５７５５５号公報（先行技術文献［１］と呼ぶ）に記載のものがある。この技術において、アクセス制御システムは、利用者と利用者のアクセス制御情報を保持するホストコンピュータと、ホストコンピュータにオンライン接続する端末と、端末に備えられたＩＤカードリーダとから構成される。実際のアクセス制御は次のように行われる。利用者は、まず、自分のＩＤカードをＩＤカードリーダに挿入する。ＩＤカードに格納された利用者のＩＤ情報は、ＩＤカードリーダにより読み出される。端末は、ホストコンピュータとオンライン接続を行い、読み出された利用者のＩＤ情報をホストコンピュータに送付する。ホストコンピュータは、利用者のＩＤから利用者のアクセス制御情報を検索する。検索の結果得られたアクセス制御情報に応じた範囲でのみ、利用者に対し、ホストコンピュータ上の情報へのアクセスを許可、制御する。
【０００３】
また同様な技術として、ＵＮＩＸ  Ｍａｇａｚｉｎｅ  １９９５年４月号、ｐ９６−１０３（先行技術文献［２］と呼ぶ）に示される「ｋｅｒｂｅｒｏｓ」がある。このシステムは、利用者の認証を行うｋｅｒｂｅｒｏｓサーバと、チケットと呼ばれる情報あるいはサービスに対するアクセス制御情報を発行するチケット発行サーバーと、サービスあるいは情報を保持するサーバとから構成される。
【０００４】
実際のアクセス制御について、利用者があるサーバＡ上のサービスあるいは情報を利用をする場合を例にとり説明する。利用者はまず、ｋｅｒｂｅｒｏｓサーバにログインする。ログインが成功すると、初期チケットと呼ばれる利用者認証情報が発行される。次に利用者は、サーバＡへのアクセス要求を、初期チケットとともにチケット発行サーバに送る。チケット発行サーバは、送付されてきたチケットを検証し、正当と認めた場合のみ、サーバＡ上のサービスあるいは情報に対するアクセス制御情報であるチケットを発行する。利用者はサービスあるいは情報に対するアクセス要求を発行されたチケットと共にをサーバＡに対し発行する。サーバＡは当該チケットを検証し、正当と認めた場合のみ、利用者に対し、当該サーバＡ上のサービスあるいは情報に対するアクセスを許可する。
【０００５】
【発明が解決しようとする課題】
従来の技術は、前記のように構成されているため、利用者と、利用者に対して提供されるサービスあるいは情報とについて、集中的に管理する必要がある。すなわち、先行技術文献［１］では、ホストコンピュータ上で、利用者のＩＤと、アクセス制御情報とを保持する。また先行技術文献［２］では、利用者のＩＤ情報はｋｅｒｂｅｒｏｓサーバにより管理し、サービスまたは情報については、チケット発行サーバでそれぞれ管理する必要がある。このため、新たに情報またはサービスに対するアクセス制御を行おうとすると多大なコストがかかってしまう。すなわち、先行技術文献［１］では、ホストコンピュータの管理者に依頼して、ホストコンピュータ上に保持されるアクセス制御情報に、新たにサービスまたは情報に対するアクセス制御情報を追加登録しなければならない。また先行技術文献［２］では、チケット発行サーバに登録されているサーバに、サービスまたは情報を追加登録し、さらにチケットサーバにも、追加した、サービスまたは情報を登録しなければならない。
【０００６】
さらに、すでに管理されている利用者にしか、アクセス制御情報が発行ができず、この結果、新たな利用者にアクセス許可を与えようとすると、利用者の登録から行う必要がある。
【０００７】
したがって、利用者の数と、アクセス制御の対象となるサービスや情報の数とが大きくなると、ホストコンピュータやサーバ、およびその管理者に大きな負担がかかってしまう。
【０００８】
【課題を解決するための手段】
本発明においては、サービスまたは情報の管理者が、独自に、サービスまたは情報に関連する情報と、管理者が保持または生成した情報と、利用者の情報とから、アクセス制御情報を、利用者ごとに簡単に生成できるような手段を設けることにより、上記の問題を解決するものである。すなわち、サービスまたは情報の管理者は、利用者からの要求に応じて、利用者ごとのアクセス制御情報を単独で生成することで、アクセス制御を実現できる。また、本発明によれば、生成されたアクセス制御情報は、利用者固有の情報を用いて生成するようにすることで、正当な利用者以外の利用者では使用することが不可能になり、正当な利用者のみのアクセスが実現可能となっている。さらに、本発明によれば、生成されたアクセス制御情報と資源とを利用者の環境に持てば、資源の利用ができるように構成されているので、資源の利用時に管理者の環境すなわちホストコンピュータあるいはサーバにアクセスする必要がなく、オフラインでの資源の利用が可能となっている。
【０００９】
【発明の実施の態様】
以下に本発明による実施例について詳細に説明する。まず、実施例の構成の概略を述べ、その後動作の概略を説明する。その後、図に従って、構成と動作の詳細を説明する。
【００１０】
［概略］
前提として、なんらかの情報、装置、あるいは資源（以下コンテンツと総称する）を所有する管理者が、それに対する利用者のアクセスを制御する状況を考える。本発明による実施例においては、３つのエンティティ、すなわち、管理者、利用者およびセンタが存在する。管理者と、利用者とは、「トークン」と呼ばれる本発明に基づくアクセス制御装置を持つとする。トークンは、その所有者固有の情報や、アクセス制御に必要な情報を安全に保持する。トークンとしては、可搬の記憶媒体が用いられ、実際には、フロッピーディスク、ＩＣカード、光カード、磁気カード等により実現される。
【００１１】
各エンティティの役割は次の通りである。
▲１▼センタは、本発明に基づいた必要な情報を生成し、それらを必要に応じてトークンに封じ込める。さらに管理者および利用者毎に、必要に応じて固有の情報も封じ込め、それぞれに固有のトークンを発行する。
▲２▼管理者は、コンテンツを所有し、それに対する利用者のアクセスを制御する。
▲３▼利用者は自身のトークンを用いて、コンテンツを利用する。
【００１２】
利用者は、利用したいコンテンツの管理者に対して、利用者自身の固有の秘密情報を秘密裏（コンテンツの管理者に対しても秘密状態とする）に提供する。管理者は提供された利用者自身の固有の秘密情報（管理者に対して秘密状態に維持される）と、コンテンツに関連する個々のコンテンツ毎に対して管理者が付与する情報とから、利用者のコンテンツに対するアクセスを制御するアクセス制御情報を生成し、利用者に送付する。利用者は送付されたアクセス制御情報を用いることで、コンテンツに対するアクセスが可能となり、コンテンツを利用することができる。
【００１３】
［背景となる技術］
本発明では、利用者と管理者との間で、利用者自身の固有の秘密情報を秘密裏に共有することが必要となる。このような場合、公知の技術である公開鍵暗号技術を利用することができる。この公開鍵暗号技術のうち、Ｒａｂｉｎ暗号とＲＳＡ暗号について簡単に説明する。
【００１４】
Ｒａｂｉｎ暗号
送信者が、受信者に対して、秘密裏に情報Ｍを送信したいとする。事前準備として、以下の情報を生成する。
【００１５】
【数１】
素数：ｐ、ｑ  ただしｐ≡ｑ≡３  ｍｏｄ  ４
共通法数：ｎ＝ｐ・ｑ
ｎは、公開情報である。ｐ、ｑは送受信者以外には秘密の定数である。送信者、受信者でｎ，ｐ，ｑを共有する。
【００１６】
情報の送信者は送信したい情報Ｍをから、以下のように情報Ｐｕ，Ｓｕを計算する。送信者は乱数ｅを生成し、
【００１７】
【数２】
Ｐｕ＝Ｍ＋ｅ  ｍｏｄ  ｎ
Ｓｕ＝Ｍ・ｅ  ｍｏｄ  ｎ
送信者はＰｕ、Ｓｕを暗号文として、受信者に送付する。
【００１８】
受信者は、以下の方程式を解く。
【００１９】
【数３】
Ｘ2＋Ｐｕ・Ｘ＋Ｓｕ≡０  ｍｏｄ  ｎ    （１）
ｐ、ｑを知らない第三者は、方程式（１）を解くことは、計算量上不可能である。さらにＭ、ｅが方程式（１）の解となっているため、ｐ、ｑを送信者と共有する受信者のみが、方程式（１）を解き、暗号文を復号することが可能となる。
【００２０】
さて、次に方程式（１）を解くことを考える。前述のように、ｐ、ｑをｐ≡ｑ≡３  ｍｏｄ  ４のように取ったので、ｐ、ｑを知っているものは、以下の方程式
【００２１】
【数４】
ｘ2≡４-1（Ｓｕ2−４Ｐｕ）  ｍｏｄ  ｎ
の解η1、η2、η3、η4をａ＝４-1（Ｓｕ2−４Ｐｕ）として、
【００２２】
【数５】
η1≡ａ(p+1)/4≡ａ(q+1)/4
η2≡ａ(p+1)/4≡−ａ(q+1)/4
η3≡−ａ(p+1)/4≡ａ(q+1)/4
η4≡−ａ(p+1)/4≡−ａ(q+1)/4
のように、求めることができる。これを用いて、ｐ、ｑを知っている受信者は、方程式（１）の解ξ1、ξ2、ξ3、ξ4を
【００２３】
【数６】
ξ1≡２-1Ｓｕ＋η1  ｍｏｄ  ｎ
ξ2≡２-1Ｓｕ＋η2  ｍｏｄ  ｎ
ξ3≡２-1Ｓｕ＋η2  ｍｏｄ  ｎ
ξ4≡２-1Ｓｕ＋η4  ｍｏｄ  ｎ
のように求めることをできる。
【００２４】
さらに、暗号文の送信者は、Ｍの一部分を受信者に教える。受信者はそのＭの一部分を含むξi（ｉ＝１，２，３，４）を正しいＭとして選ぶ。これにより、受信者は暗号文を復号することが可能となる。
【００２５】
ＲＳＡ暗号
つぎにＲＳＡ暗号について説明する。送信者が、受信者に対して、秘密裏に情報Ｍを送信したいとする。事前準備として、送信者は、以下の情報を生成する。
【００２６】
【数７】
素数：ｐ、ｑ
共通法数：ｎ＝ｐ・ｑ
ｎは、公開情報である。ｐ、ｑは送信者以外には秘密の定数である。さらに送信者は、
【００２７】
【数８】
ｅ・ｄ≡１  ｍｏｄ  Φ（ｎ）
となるｅ，ｄを生成し、ｅを公開鍵、ｄを秘密鍵とする。ただし、Φ（ｎ）＝（ｐ−１）（ｑ−１）である。
【００２８】
送信者は、自分の秘密鍵ｄで、メッセージＭを以下のように暗号化し、暗号文Ｃを作る。
【００２９】
【数９】
Ｃ＝Ｍd  ｍｏｄ  ｎ
送信者はＣを受信者に送付する。
【００３０】
受信者は、送信者の公開鍵ｅを用いて、暗号文Ｃを以下のように復号し、メッセージＭを得る。
【００３１】
【数１０】
Ｍ＝Ｃe  ｍｏｄ  ｎ
【００３２】
［実施例の動作の詳細］
資源の管理者ＭＡが、資源Ｓに対する、利用者Ｕのアクセスを制御する場合を例として、本発明によるアクセス制御動作を詳しく説明する。最初にＲａｂｉｎ暗号を用いる場合を説明し、引き続きＲＳＡ暗号を用いる場合について説明する。
【００３３】
Ｒａｂｉｎ暗号を用いる場合
（準備）
センタＣは、前述のＲａｂｉｎ暗号の手法にしたがって、素数ｐ，ｑ、共通法数ｎを生成する。さらに、利用者毎に固有の秘密鍵ｄｕを生成する。センタＣは、上記のように生成した共通情報ｎ，ｐ，ｑと、利用者Ｕに対して生成された秘密鍵ｄｕとを、利用者ＵのトークンＴｕに封じ込め、利用者Ｕに発行する。同様に、センタＣは管理者ＭＡのトークンＴｍに共通情報ｎ，ｐ，ｑと管理者ＭＡの秘密鍵ｄｍを封じ込め、管理者ＭＡに発行する。
【００３４】
コンテンツＳの管理者ＭＡは、自分のトークンＴｍ内で、コンテンツＳに対応する定数Ｅｓ，Ｄｓを
【００３５】
【数１１】
Ｅｓ・Ｄｓ≡１  ｍｏｄ  Φ（ｎ）    （２）
となるように生成する。ここで、Φ（ｎ）はオイラー数であり、この場合
【００３６】
【数１２】
Φ（ｎ）＝（ｐ−１）（ｑ−１）    （３）
となる。
【００３７】
（アクセス制御情報の生成）
センタＣは、利用者Ｕの秘密鍵ｄｕと、新たに生成した乱数ｅｃを用いて、Ｐｕ，ＳｕをやはりＲａｂｉｎ暗号の手法にしたがって、
【００３８】
【数１３】
Ｐｕ＝ｄｕ＋ｅｃ  ｍｏｄ  ｎ    （４）
Ｓｕ＝ｄｕ・ｅｃ  ｍｏｄ  ｎ    （５）
のように生成し、公開する。
【００３９】
コンテンツの管理者ＭＡはトークンＴｍ内で、乱数ｅｍを生成して、利用者Ｕに送付する。利用者ＵはトークンＴｕにｅｍを入力する。利用者ＵのトークンＴｕはその内部で
【００４０】
【数１４】
ｖ＝ｅｍdu  ｍｏｄ  ｎ    （６）
を計算し、ｖを出力する。利用者Ｕはｖを管理者ＭＡに送付する。管理者ＭＡはトークンＴｍにｖを入力する。コンテンツの管理者ＭＡは、トークンＴｍ内で、利用者ＵのＰｕ，ＳｕからＲａｂｉｎ暗号の手法にしたがって、
式（１）の解ξ1、ξ2、ξ3、ξ4を求める。トークンＴｍはさらにその内部で、
【００４１】
【数１５】
ｖ≡ｅｍe'  ｍｏｄ  ｎ
となるｅ’＝ξi（ｉ＝１，２，３，４）＝ｄｕを求める。管理者ＭＡのトークンＴｍは、その内部でアクセス制御情報δｕｓを
【００４２】
【数１６】
δｕｓ＝Ｄ−Ｆ（ｎ，ｄｕ）    （７）
またはコンテンツＳの利用方法を記述したＬｓをともに用いて、
【００４３】
【数１７】
δｕｓ＝Ｄ‐Ｆ（ｎ，Ｌｓ，ｄｕ）    （８）
を計算し，δｕｓを利用者Ｕに送付する。ここでＦ（）は一方向関数である。以下では、アクセス制御情報δｕｓを式（８）で計算したものとして説明する。
【００４４】
（コンテンツの施錠）
管理者ＭＡはアクセス対象となるコンテンツＳを鍵Ｋｓで施錠し、このＫｓをＥｓで以下のように暗号化する。
【００４５】
【数１８】
Ｋ’＝ＫｓEs  ｍｏｄ  ｎ    （９）
これを暗号化されたデータそのものに埋め込む。
【００４６】
（アクセス制御）
利用者は、トークンＴｕと、コンテンツを利用するための補助となる利用者プログラムＰとを用いて、コンテンツへのアクセスを行うものとする。
利用者プログラムＰは、Ｋ’を
【００４７】
【数１９】
Ｋ’’＝ｒEsＫ’    （１０）
の形で取り出し、アクセス制御情報δｕｓとともにトークンＴｕに送る。
【００４８】
利用者ＵのトークンＴｕでは以下の計算を行って、鍵Ｋを取り出す。
１）利用者ＵのトークンＴｕは受け取ったＫ’’に対し、以下の計算を行う。
【００４９】
【数２０】
τ＝Ｋ’’F(n,Ls,du)  ｍｏｄ  ｎ    （１１）
0003982013.tif 000002
利用者Ｕのトークンはτ’を出力する。
２）利用者プログラムＰは、以下の計算を行い、暗号鍵Ｋを取り出す。
【００５０】
【数２１】
Ｋｓ＝ｒ-1τ’  ｍｏｄ  ｎ    （１３）
３）取り出した鍵Ｋｓにより、利用者プログラムＰは暗号化されたコンテンツの復号を行い、コンテンツの利用を行う。
【００５１】
δｕｓは、利用者毎に異なる秘密情報ｄｕと、コンテンツ毎に異なるＤｓとから生成されるので、利用者およびコンテンツ毎に異なるアクセス制御を容易にかつ確実に実現することができる。
【００５２】
ＲＳＡ暗号を用いる場合
ＲＳＡ暗号を用いる場合、上記のＲａｂｉｎ暗号を用いる場合に対し、トークン発行と、利用者の秘密情報の取り出し方が異なる。
【００５３】
（準備）
センタは、トークン発行時、ＲＳＡ公開鍵暗号の手法にしたがって、管理者ＭＡの秘密鍵ｄｍと、これに対応する公開鍵ｅｍ（法をｎmとする）とを生成する。センタは、ｄｍを管理者ＭＡのトークンＴｍに封じ込めて管理者ＭＡに発行する。ｅｍは公開情報とする。さらに、利用者毎に固有の秘密鍵ｄｕを生成し、これを利用者のトークンに封じ込めて利用者に発行する。
【００５４】
（利用者の秘密情報の取り出し）
利用者のトークンＴｕは、管理者ＭＡの公開鍵ｅｍで、利用者の秘密鍵ｄｕを
【００５５】
【数２２】
Ｃ＝ｄｕem  ｍｏｄ  ｎm    （１４）
のように暗号化しそれを管理者に送付する。管理者ＭＡのトークンは、秘密鍵ｄｍで、これを復号し、利用者の秘密鍵を得る。
【００５６】
【数２３】
ｄｕ＝Ｃdm  ｍｏｄ  ｎm    （１５）
【００５７】
アクセス制御情報の生成、コンテンツの施錠、およびアクセス制御の手順はＲａｂｉｎ暗号を用いた場合と同様であり、説明を繰り返さない。
【００５８】
［アクセス制御情報生成装置の構成］
つぎに、本発明によるアクセス制御情報生成装置の構成について説明する。本実施例においては、アクセス制御情報生成装置はコンテンツの管理者のトークンとして実現される。図１に本発明によるアクセス制御情報生成装置１０８の基本構成を示す。図１において、アクセス制御情報生成装置１０８は、利用者の公開情報１０１および資源に関する情報１０２を受け取ってアクセス制御情報１０９を出力するものである。アクセス制御情報生成装置１０８は、情報入力部１０３、利用者秘密情報生成部１０４、データバス１０５、アクセス制御情報生成部１０６、情報出力部１０７および内部情報記憶部１１０を含んで構成されている。
【００５９】
この構成において、情報入力部１０３から入力された利用者の情報１０１は、データバス１０５を経由して利用者秘密情報生成部１０４に送られる。利用者秘密情報生成部１０４は、利用者の情報１０１から利用者の秘密情報を生成する。例えば、利用者の秘密情報として、利用者の秘密鍵ｄｕを生成することを考える。この場合、公知の技術であるＲＳＡ（Ｒｉｖｅｓｔ−Ｓｈａｍｉｒ−Ａｄｅｌｍａｎ）暗号を利用することができる。利用者の情報として、ｄｕをアクセス制御情報生成装置１０８の所有者である管理者（以下、単に管理者という）の公開鍵Ｅｍ（法数ｎm）を用いて、暗号化したＣを入力する。すなわち、
【００６０】
【数２４】
Ｃ＝ｄｕEm  ｍｏｄ  ｎm
となる。利用者の情報として、Ｃとｎmを情報入力部１０３に入力する。入力されたＣとｎmはデータバス１０５を経由して利用者秘密情報生成部１０４に送られる。利用者秘密情報生成部１０４では、内部情報記憶部１１０に記憶された管理者の秘密鍵開鍵Ｄｍを用いて、Ｃを
【００６１】
【数２５】
ｄｕ＝ＣDm  ｍｏｄ  ｎm
のように、復号し、利用者の秘密情報ｄｕを生成する。ここで、Ｅｍ、Ｄｍは、ＲＳＡ公開鍵方式に基づいて生成された鍵ペアであり、
【００６２】
【数２６】
Ｅｍ・Ｄｍ≡１  ｍｏｄ  Φ（ｎm）
である。ただしΦ（ｎm）はｎmのオイラー数である。
【００６３】
生成された利用者の秘密情報はデータバス１０５経由でアクセス制御情報制御部１０６に送られる。さらに情報入力部１０３から入力された資源に関する情報１０２もデータバス１０５経由でアクセス制御情報制御部１０６に送られる。アクセス制御情報制御部１０６は、利用者の秘密情報と資源に関する情報１０２からアクセス制御情報１０９を生成する。具体的には、前述のｄｕと、資源に関する情報としてＤｓを用いて、アクセス制御情報δｕｓを、
【００６４】
【数２７】
δｕｓ＝Ｄｓ−ｄｕ
のように計算する。ここでＤｓは、ある法数ｎを用いて、
【００６５】
【数２８】
Ｅｓ・Ｄｓ≡１Φ（ｎ）
のように生成された数であり、Ｅｓは、コンテンツの施錠に用いられる。
【００６６】
図２に本発明によるアクセス情報生成装置１０８の別の構成例を示す。図２において、図１と対応する箇所には対応する符号を付して詳細な説明を省略する。資源情報生成部２０１を設け、資源情報２０２をアクセス制御情報生成装置１０８内で生成するようにしている。
【００６７】
この構成において、利用者の秘密情報を生成するための動作は図１の場合と同様である。資源情報生成部２０１では、資源情報２０２を生成する。具体的には、まず法数ｎを生成する。次にＥｓを生成し、引き続き、
【００６８】
【数２９】
Ｅｓ・Ｄｓ≡１  ｍｏｄ  ｎ
となるＤｓを例えばユークリッドの互除法を用いて生成する。生成されたＤｓはデータバスを経由し、アクセス制御情報生成部１０６に送られる。アクセス制御情報生成部１０６では前述のようにアクセス制御情報１０９を生成し出力する。さらに、Ｅｓを生成された資源情報２０２として、出力する。管理者は出力されたＥｓを用いてコンテンツに施錠する。
【００６９】
図３に、本発明によるアクセス制御情報生成装置１０８のもう１つ別の構成例を示す。この構成例においては、利用者の公開情報１０１および資源に関する情報１０２を受け取って、アクセス制御情報１０９および資源情報２０２を生成する。図３においても、図１または図２と対応する箇所には対応する符号を付した。
【００７０】
この構成において、利用者の秘密情報を生成するための動作は図１および図２の場合と同様である。資源に関する情報１０２として、Ｄｓと法数ｎを入力する。入力されたＤｓはデータバス１０５を経由して、資源情報生成部２０１に送られる。資源情報生成部２０１では、Ｄｓに対応するＥｓを資源情報２０２として、生成する。具体的には、
【００７１】
【数３０】
Ｅｓ・Ｄｓ≡１  ｍｏｄ  ｎ
となるＥｓを例えばユークリッドの互除法を用いて生成する。入力されたＤｓはデータバス１０５を経由し、アクセス制御情報生成部１０６に送られる。アクセス制御情報生成部１０６では前述のようにアクセス制御情報１０９を生成し出力する。さらに、生成されたＥｓを生成された資源情報２０２として出力する。
【００７２】
図４に資源に関する情報の一構成例を示す。図４において、１０２は資源に関する情報、４０１は第一の資源情報、４０２は第二の資源情報である。第一の資源情報には、前述の、Ｅｓ、Ｄｓのいずれか一方が相当する。例えば、図１の構成ではＤｓとなり、図３の構成ではＥｓとなる。第二の資源情報は、資源の利用方法を記述した情報である。具体的には、有効期限、利用料金、有効利用回数、などが挙がられる。また図３において、資源に関する情報として、この第二の資源情報のみを入力し、ＥｓとＤｓの双方を図２の構成例のように生成するように構成しても良い。
【００７３】
図５にアクセス制御情報生成部１０６の一構成例を示す。図５において、アクセス制御情報生成部１０６は、内部データバス５０１、データ変換部５０２、および情報生成部５０３を含んで構成されている。なお、この図において、図１〜図３に対応する箇所には対応する符号を付した。
【００７４】
この構成において、データバス１０５経由で入力された利用者の秘密情報および資源に関連する情報１０２は、内部データバス５０１経由でデータ変換部５０２に送られる。ここでは入力に対し、一方向変換Ｆ（）を施して、その結果を情報生成部５０３に送る。情報生成部５０３では、送られてきた一方向変換の結果と、データバス１０５および内部データバスを経由して送られてきた資源に関する情報とから、前述のように、アクセス制御情報１０６を生成する。例えば、利用者の秘密情報をｄｕとする。また、資源に関する情報として、Ｅｓ，Ｄｓに対応する法数ｎと、前述の資源の利用方法を記述する情報Ｌとを採用する。そしてこれら利用者の秘密情報ｄｕと資源に関する情報ｎ、Ｌとをビット連結したものを引数としてＦ（）を計算し、その計算結果を出力する。当該出力は内部データバス５０１経由で、情報生成部５０３に送られ、前述のＤｓをともに用いて、アクセス制御情報を生成する。生成されたアクセス制御情報は内部データバス５０１、およびデータバス１０５を経由して当該装置から出力される。この場合、アクセス制御情報δｕｓは以下のようになる。
【００７５】
【数３１】
δｕｓ＝Ｄｓ−Ｆ（ｎ，Ｌ，ｄｕ）
ここで、具体的に一方向変換Ｆ（）としては、一方向ハッシュ関数（例えば、ＭＤ５、ＳＨＡなど）、あるいは慣用鍵暗号（ＤＥＳ、ＩＤＥＡ）などを用いることができるが、その出力のビット数がＤｓのビット数と同程度となることが望ましい。
【００７６】
図６にアクセス制御情報生成装置（管理者用のトークン）１０８の利用者秘密情報生成部１０４の一構成例を示す。図６において、利用者秘密情報生成部１０４は、内部データバス６０１、共通情報記憶部６０２、およびデータ処理部６０３を含んで構成されている。なお、この図において、図１〜図３に対応する箇所には対応する符号を付した。
【００７７】
この構成において、共通情報記憶部６０３には、利用者用アクセス制御装置（利用者のトークン）を利用者に発行する際、発行者（具体例としては前述のセンタ）が、素数ｐ，ｑをあらかじめ生成しておいて、封じ込める。利用者の情報１０２として、Ｒａｂｉｎ暗号を用いた場合の公開情報Ｐｕ，Ｓｕを、
【００７８】
【数３２】
Ｐｕ＝ｄｕ＋ｒ
Ｓｕ＝ｄｕ・ｒ
と構成する。ただしｒは乱数、ｄｕは利用者の秘密情報とする。このＰｕ，Ｓｕを利用者の情報１０２として、データバス１０５および内部データバス６０１を経由して入力する。データ処理部６０３では、Ｐｕ、Ｓｕ，ｐ，ｑからＲａｂｉｎ暗号の手法により利用者の秘密情報ｄｕを取り出す。取り出されたｄｕは、内部データバスを経由して、データバスに出力される。
【００７９】
［変形例］
つぎに上述の実施例の変形例について説明する。
（共通情報の構成）
まず、トークン内に格納される共通情報ｐ，ｑについては、外部からのアクセスを禁じてもよい。あるいは、別の構成として、特別な条件、例えばセンタの認証を行ったのち、読み出し、書き込みが可能なように構成してもよい。
【００８０】
Φ（ｎ）は、共通情報に含め、トークン内にあらかじめ封じ込めておいてもよいし、必要に応じて共通情報のｐ，ｑを用いて、
【００８１】
【数３３】
Φ（ｎ）＝（ｐ−１）（ｑ−１）
のように計算するように構成しても良い。
【００８２】
前記実施例においては、Ｐｕ，Ｓｕを、トークンを発行するセンタが保持しておいて、リクエストに応じて送信することを前提にした構成であった。別の構成例として、利用者のトークン内で、以下のように生成してもよい。すなわち、利用者のトークンは、乱数ｅを新たに生成する。生成した乱数ｅと秘密鍵ｄｕとを用いて、Ｐｕ，Ｓｕを
【００８３】
【数３４】
Ｐｕ＝ｄｕ＋ｅ  ｍｏｄ  ｎ    （２）
Ｓｕ＝ｄｕ・ｅ  ｍｏｄ  ｎ    （３）
のように生成する。
【００８４】
また、さらに他の構成例としては、センタが、あらかじめ計算したＰｕ、Ｓｕを利用者のトークンのみに封じ込めて発行してもよい、
【００８５】
（アクセス制御処理の別構成例）
コンテンツへのアクセスを行う際、トークンは、一般的に計算能力がそれほど高くないため、すべての計算をトークンで行わず、以下のようにトークン外で、例えば、利用者のもつプログラムで行う構成にしてもよい。
１）利用者のトークンは受け取ったＫ’’に対し、以下の計算を行う。
【００８６】
【数３５】
τ＝Ｋ’’F(n,L,du)  ｍｏｄ  ｎ
利用者のトークンはτを出力する。
２）利用者のプログラムは、トークンから出力されたτに対し、以下の計算を行う。
【００８７】
【数３６】
0003982013.tif 000003
３）利用者のプログラム（またはそれから呼び出される認証プログラム）は、以下の計算を行い、暗号鍵Ｋを取り出し、暗号化されたコンテンツの復号を行う。
【００８８】
【数３７】
Ｋ＝ｒ-1τ’  ｍｏｄ  ｎ
また、コンテンツの復号を行う際、アクセス制御部または装置内部でＫを用いてコンテンツを復号するように構成してもよい。
【００８９】
（集中管理型の構成例）
本発明では、従来例に対して、利用者の情報を一個所で集中的に管理する必要がないように構成されているが、従来と同様、利用者の情報を集中的に管理する構成もとることができる。例えば、利用者とコンテンツの情報を集中管理する一構成例は以下のようになる。
【００９０】
センタで利用者の情報を一括管理することを前提にする。各エンティティの役割は次の通りである。
【００９１】
▲１▼センタは、本発明に基づいた必要な情報を生成し、それらを必要に応じてトークンに封じ込める。さらに管理者および利用者毎に、必要に応じて固有の情報も封じ込め、それぞれに固有のトークンを発行する。さらにセンタは各利用者、および各管理者の名前、および発行したトークンとそれに封じ込めた固有の情報をデータベースに登録する。
【００９２】
▲２▼コンテンツの管理者は、管理対象とするコンテンツをセンタに登録する。センタは登録したコンテンツ毎に、Ｅｓ，Ｄｓおよび法数ｎを生成し、Ｅｓとｎを管理者に送付する。センタは生成したＥｓ，Ｄｓおよび法数ｎと対応するコンテンツをデータベースに登録する。
管理者は送付されたＥｓを用いて、コンテンツを施錠する。
【００９３】
▲３▼利用者は、コンテンツの利用要求をセンタに送る。センタはコンテンツのデータベースを検索し、Ｄｓを取り出す。さらに利用者のデータベースを検索して、利用者の秘密情報ｄｕを取りだす。センタは取り出されたＤｓと、ｄｕを用いて、アクセス制御情報δｕｓを
【００９４】
【数３８】
δｕｓ＝Ｄｓ−ｄｕ
のように生成し、δｕｓを利用者に送付する。利用者は、このδｕｓを用いてコンテンツにアクセスする。
【００９５】
【発明の効果】
以上説明したように、本発明によれば、管理者は、利用者からの要求に応じて、利用者ごとのアクセス制御情報を単独で生成して、アクセス制御を実現できる。また、生成されたアクセス制御情報は、利用者固有の情報を用いて生成するようにするので、正当な利用者以外の利用者では使用することが不可能になり、正当な利用者のみのアクセスが実現可能となっている。さらに、生成されたアクセス制御情報と資源とを利用者の環境に置けば、資源の利用ができるように構成されているので、資源の利用時に管理者の環境すなわちホストコンピュータあるいはサーバにアクセスする必要がなく、オフラインでの資源の利用が可能となる。
【図面の簡単な説明】
【図１】  本発明の実施例のアクセス制御情報生成装置の構成例を示すブロック図である。
【図２】  上述アクセス制御情報生成装置の他の構成例を示すブロック図である。
【図３】上述アクセス制御情報生成装置の他のもう１つの構成例を示すブロック図である。
【図４】  上述アクセス制御情報生成装置で用いる資源に関する情報を説明する図である。
【図５】  上述アクセス制御情報生成装置のアクセス制御情報生成部の構成例を示すブロック図である。
【図６】  上述アクセス制御情報生成装置の利用者秘密情報生成部の構成例を示すブロック図である。
【符号の説明】
１０１    利用者の公開情報
１０２    資源に関する情報
１０３    情報入力部
１０４    利用者秘密情報生成部
１０５    データバス
１０６    アクセス制御情報生成部
１０７    情報出力部
１０８    アクセス制御情報生成装置
１０９    アクセス制御情報
１１０    内部情報記憶部
２０１    資源情報生成部
２０２    生成された資源情報
【図１】
0003982013.tif 000004
【図２】
0003982013.tif 000005
【図３】
0003982013.tif 000006
【図４】
0003982013.tif 000007
【図５】
0003982013.tif 000008
【図６】
0003982013.tif 000009