(57)【特許請求の範囲】
【請求項１】
提供すべきサービスの正当な利用の場合に限り、前記サービスの利用に不可欠な鍵を生成するアクセス制御装置において、
ユーザの使用条件に対応する情報であって、システムで予め設定された範囲内の特定の値を取り、前記ユーザに対する使用条件の変更に伴って値を変更可能なステータス情報を保持するステータス情報保持手段と、
予め定められた固有の値である固有情報を保持する固有情報保持手段と、
前記サービスへのアクセスを許可する条件であって、前記ステータス情報の範囲内の特定の値を表現するステータス条件と前記固有情報とに基づいて所定の演算を行うことにより作成された証明用補助情報で、前記鍵を暗号化することにより得られた証明用情報を保持する証明用情報保持手段と、
前記ステータス情報保持手段に保持された前記ステータス情報と前記固有情報保持手段に保持された前記固有情報とを取得し、前記証明用補助情報を生成した際の演算と同様の演算を、前記ステータス条件に代えて前記ステータス情報を用いて行うことにより検証用情報を生成する検証用情報生成手段と、
前記証明用情報を前記検証用情報で復号する復号手段と、
を有することを特徴とするアクセス制御装置。
【請求項２】
認証用データを用いた認証処理を行い、認証結果に応じた値を前記ステータス情報として前記ステータス情報保持手段に格納する認証手段を更に有することを特徴とする請求項１記載のアクセス制御装置。
【請求項３】
提供すべきサービスの正当な利用の場合に限り、前記サービスの利用に不可欠な鍵を生成するアクセス制御装置において、
ユーザの使用条件に対応する情報であって、システムで予め設定された範囲内の特定の値を取り、前記ユーザに対する使用条件の変更に伴って値を変更可能なステータス情報を保持するステータス情報保持手段と、  
予め定められた固有の値である固有情報を保持する固有情報保持手段と、
前記サービスへのアクセスを許可する条件であって、前記サービスにアクセス可能な前記ステータス情報の値の範囲を表現するステータス条件を保持するステータス条件保持手段と、
前記ステータス条件と前記固有情報とに基づいて所定の演算を行うことにより作成された証明用補助情報で、前記鍵を暗号化することにより得られた証明用情報を保持する証明用情報保持手段と、
前記ステータス情報保持手段に保持された前記ステータス情報を取得し、前記ステータス情報が前記ステータス条件保持手段に保持された前記ステータス条件の範囲内に含まれるかどうかの比較演算を行い、含まれると判定された場合にのみ復号許可指令を出力する演算手段と、
前記演算手段により前記復号許可指令が出力されると、前記ステータス条件保持手段に保持された前記ステータス条件と前記固有情報保持手段に保持された前記固有情報とを取得し、前記証明用補助情報を生成した際の演算と同様の演算を行うことにより検証用情報を生成する検証用情報生成手段と、
前記証明用情報を前記検証用情報で復号する復号手段と、
を有することを特徴とするアクセス制御装置。
【請求項４】
認証用データを用いた認証処理を行い、認証結果に応じた値を前記ステータス情報として前記ステータス情報保持手段に格納する認証手段を更に有することを特徴とする請求項３記載のアクセス制御装置。
【請求項５】
提供すべきサービスの正当な利用の場合に限り、前記サービスの利用に不可欠な鍵をコンピュータに生成させるためのアクセス制御プログラムを記録したコンピュータ読み取り可能な記録媒体において、
ユーザの使用条件に対応する情報であって、システムで予め設定された範囲内の特定の値を取り、前記ユーザに対する使用条件の変更に伴って値を変更可能なステータス情報を保持するステータス情報保持手段、
予め定められた固有の値である固有情報を保持する固有情報保持手段、
前記サービスへのアクセスを許可する条件であって、前記ステータス情報の範囲内の特定の値を表現するステータス条件と前記固有情報に基づいて所定の演算を行うことにより作成された証明用補助情報で、前記鍵を暗号化することにより得られた証明用情報を保持する証明用情報保持手段、
前記ステータス情報保持手段に保持された前記ステータス情報と前記固有情報保持手段に保持された前記固有情報とを取得し、前記証明用補助情報を生成した際の演算と同様の演算を、前記ステータス条件に代えて前記ステータス情報を用いて行うことにより検証用情報を生成する検証用情報生成手段、
前記証明用情報を前記検証用情報で復号する復号手段、
としてコンピュータを機能させるためのアクセス制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項６】
提供すべきサービスの正当な利用の場合に限り、前記サービスの利用に不可欠な鍵をコンピュータに生成させるためのアクセス制御プログラムを記録したコンピュータ読み取り可能な記録媒体において、
ユーザの使用条件に対応する情報であって、システムで予め設定された範囲内の特定の値を取り、前記ユーザに対する使用条件の変更に伴って値を変更可能なステータス情報を保持するステータス情報保持手段、  
予め定められた固有の値である固有情報を保持する固有情報保持手段、
前記サービスへのアクセスを許可する条件であって、前記サービスにアクセス可能な前記ステータス情報の値の範囲を表現するステータス条件を保持するステータス条件保持手段、
前記ステータス条件と前記固有情報とに基づいて所定の演算を行うことにより作成された証明用補助情報で、前記鍵を暗号化することにより得られた証明用情報を保持する証明用情報保持手段、
前記ステータス情報保持手段に保持された前記ステータス情報を取得し、前記ステータス情報が前記ステータス条件保持手段に保持された前記ステータス条件の範囲内に含まれるかどうかの比較演算を行い、含まれると判定された場合にのみ復号許可指令を出力する演算手段と、
前記演算手段により前記復号許可指令が出力されると、前記ステータス条件保持手段に保持された前記ステータス条件と前記固有情報保持手段に保持された前記固有情報とを取得し、前記証明用補助情報を生成した際の演算と同様の演算を行うことにより検証用情報を生成する検証用情報生成手段と、
前記証明用情報を前記検証用情報で復号する復号手段、
としてコンピュータを機能させるためのアクセス制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項７】
提供すべきサービスの正当な利用の場合に限り、前記サービスの利用に不可欠な鍵を生成するアクセス制御方法において、
証明用情報保持手段が、前記サービスへのアクセスを許可する条件であって、ステータス情報の範囲内の特定の値を表現するステータス条件と固有情報とに基づいて所定の演算を行うことにより作成された証明用補助情報で、前記鍵を暗号化することにより得られた証明用情報が入力されると、前記証明用情報を保持するステップと、
検証用情報生成手段が、ユーザの使用条件に対応する情報であって、システムで予め設定された範囲内の特定の値を取り、前記ユーザに対する使用条件の変更に伴って値を変更可能な前記ステータス情報を予め保持するステータス情報保持手段から前記ステータス情報を取得し、予め定められた固有の値である前記固有情報を保持する固有情報保持手段から前記固有情報を取得し、前記証明用補助情報を生成した際の演算と同様の演算を、前記ステータス条件に代えて前記ステータス情報を用いて行うことにより検証用情報を生成するステップと、
復号手段が、前記証明用情報保持手段から前記証明用情報を取得し、前記証明用情報を前記検証用情報で復号するステップと、
を有することを特徴とするアクセス制御方法。
【請求項８】
提供すべきサービスの正当な利用の場合に限り、前記サービスの利用に不可欠な鍵を生成するアクセス制御方法において、
ステータス条件保持手段が、前記サービスへのアクセスを許可する条件であって、前記サービスにアクセス可能なステータス情報の値の範囲を表現するステータス条件が入力されると、前記ステータス条件を保持するステップと、
証明用情報保持手段が、前記ステータス条件と固有情報とに基づいて所定の演算を行うことにより作成された証明用補助情報で、前記鍵を暗号化することにより得られた証明用情報が入力されると、前記証明用情報を保持するステップと、
演算手段が、ユーザの使用条件に対応する情報であって、システムで予め設定された範囲内の特定の値を取り、前記ユーザに対する使用条件の変更に伴って値を変更可能な前記ステータス情報を予め保持するステータス情報保持手段から前記ステータス情報を取得し、前記ステータス情報が前記ステータス条件保持手段に保持された前記ステータス条件の範囲内に含まれるかどうかの比較演算を行い、含まれると判定された場合にのみ復号許可指令を出力するステップと、
検証用情報生成手段が、前記演算手段により前記復号許可指令が出力されると、前ステータス条件保持手段に保持された前記ステータス条件と固有情報保持手段に保持された前記固有情報とを取得し、前記証明用補助情報を生成した際の演算と同様の演算を行うことにより検証用情報を生成するステップと、
復号手段が、前記証明用情報保持手段から前記証明用情報を取得し、前記証明用情報を前記検証用情報で復号するステップと、
を有することを特徴とするアクセス制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はアクセス制御装置、アクセス制御プログラムを記録したコンピュータ読み取り可能な記録媒体及びアクセス制御方法に関し、特に、提供すべきサービスの正当な利用の場合に限り、サービスの利用に不可欠な鍵を生成するアクセス制御装置、そのような鍵をコンピュータに生成させるためのアクセス制御プログラムを記録したコンピュータ読み取り可能な記録媒体、及びそのような鍵を生成するためのアクセス制御方法に関する。
【０００２】
【従来の技術】
従来、暗号化されたデジタル情報について利用制限の機能を付加したものとして、特開平７−１３１４５２号公報「デジタル情報保護方法及びその処理装置」に記載されている技術がある。この公報に記載された発明では、デジタル情報を情報識別番号、情報本体、利用条件情報及び認証子の組で表している。このデジタル情報を計算機内に取り込んだ時には、情報識別番号および利用条件情報に関する第２の識別子が生成される。ユーザがこのデジタル情報を利用する際は、２つの識別子による検証を行い、利用条件情報に記載されている利用条件を満たすかどうかの検証を行う。そして、すべての検証が正常に終了した時のみデジタル情報を復号化して、利用できる形へ変換することを行っている。これにより、利用条件を満たした場合にのみ、情報本体の利用が可能となる。
【０００３】
また、アプリケーションプログラムの不正利用を防ぐためにワークステーション固有の情報（ＨｏｓｔＩＤ）やアプリケーションＩＤ（feature ）を含んだ証明用補助情報（ライセンスファイル）とを用いることにより、特定のワークステーションのみでアプリケーションプログラムを実行可能とするシステムとして米国GlobeTrotter社のFlex License Manager(Flexlm)がある。これにより、ワークステーションごとにライセンスファイルに使用期限や、同時に実行可能なアプリケーション数を設定できる。
【０００４】
【発明が解決しようとする課題】
ところで、ソフトウェアなどのサービスに対して、ユーザ毎に個別の利用制限を設け、適宜変更したい場合がある。
【０００５】
しかし、特開平７−１３１４５２号公報に記載されている方法では、情報本体と利用条件の正当な組合せを保証するために両者を同一の暗号化鍵で暗号化している。そのため、大勢のユーザに情報を利用させるには、各ユーザごとの暗号化鍵を設け、ユーザごとに個別の鍵で暗号化する必要があり、利便性に欠ける。例えば利用者ごとに利用条件を変えようとすると、通信の度に暗号化を行うか通信ごとに暗号化されたものを予め用意する必要があり、ＣＤ−ＲＯＭ等によるデジタル情報の多量の配布や、衛星放送などを利用したブロードキャストなどには向いていなかった。
【０００６】
また、Flexlmでは、利用条件を変更するにはライセンスファイルの変更が必要である。このライセンスファイルは、その都度ユーザが入力操作を行うことによって更新される。ところが、利用条件を厳しくするような変更をする場合、ライセンスファイルの変更操作をユーザが行わなければ、ユーザは以前のままの条件でサービスを利用できてしまう。
【０００７】
本発明はこのような点に鑑みてなされたものであり、各ユーザや機器に対応する利用条件を、個別に且つ確実に変更できるアクセス制御装置及びアクセス制御方法を提供することを目的とする。
【０００８】
また、本発明の他の目的は、各ユーザや機器に対応する利用条件を容易に変更できるようなアクセス制御をコンピュータに行わせることができるアクセス制御プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することである。
【０００９】
【課題を解決するための手段】
本発明では上記課題を解決するために、提供すべきサービスの正当な利用の場合に限り、前記サービスの利用に不可欠な鍵を生成するアクセス制御装置において、ユーザの使用条件に対応する情報であって、システムで予め設定された範囲内の特定の値を取り、前記ユーザに対する使用条件の変更に伴って値を変更可能なステータス情報を保持するステータス情報保持手段と、予め定められた固有の値である固有情報を保持する固有情報保持手段と、前記サービスへのアクセスを許可する条件であって、前記ステータス情報の範囲内の特定の値を表現するステータス条件と前記固有情報とに基づいて所定の演算を行うことにより作成された証明用補助情報で、前記鍵を暗号化することにより得られた証明用情報を保持する証明用情報保持手段と、前記ステータス情報保持手段に保持された前記ステータス情報と前記固有情報保持手段に保持された前記固有情報とを取得し、前記証明用補助情報を生成した際の演算と同様の演算を、前記ステータス条件に代えて前記ステータス情報を用いて行うことにより検証用情報を生成する検証用情報生成手段と、前記証明用情報を、前記検証用情報で復号する復号手段と、を有することを特徴とするアクセス制御装置が提供される。
【００１０】
このアクセス制御装置によれば、証明用情報により、ステータス情報と固有情報とに基づき、証明用補助情報を生成した際の演算と同様の演算を、ステータス条件に代えてステータス情報を用いて行うことにより検証用情報が生成される。そして、復号手段により、証明用情報が検証用情報で復号される。
【００１１】
これにより、証明用補助情報の生成の際に用いられたステータス条件と、アクセス制御装置内に保持されているステータス情報とが一致する場合に限り、証明用情報に対応するサービスを利用するための鍵が得られる。
【００１２】
また、上記課題を解決するために、提供すべきサービスの正当な利用の場合に限り、前記サービスの利用に不可欠な鍵をコンピュータに生成させるためのアクセス制御プログラムを記録したコンピュータ読み取り可能な記録媒体において、ユーザの使用条件に対応する情報であって、システムで予め設定された範囲内の特定の値を取り、前記ユーザに対する使用条件の変更に伴って値を変更可能なステータス情報を保持するステータス情報保持手段、予め定められた固有の値である固有情報を保持する固有情報保持手段、前記サービスへのアクセスを許可する条件であって、前記ステータス情報の範囲内の特定の値を表現するステータス条件と前記固有情報とに基づいて所定の演算を行うことにより作成された証明用補助情報で、前記鍵を暗号化することにより得られた証明用情報を保持する証明用情報保持手段、前記ステータス情報保持手段に保持された前記ステータス情報と前記固有情報保持手段に保持された前記固有情報とを取得し、前記証明用補助情報を生成した際の演算と同様の演算を、前記ステータス条件に代えて前記ステータス情報を用いて行うことにより検証用情報を生成する検証用情報生成手段、前記証明用情報を前記検証用情報で復号する復号手段、としてコンピュータを機能させるためのアクセス制御プログラムを記録したコンピュータ読み取り可能な記録媒体が提供される。
【００１３】
この媒体に記録されたアクセス制御プログラムをコンピュータに実行させれば、ユーザの使用条件に対応したステータス情報を保持するステータス情報保持手段と、予め定められた固有の値である固有情報を保持する固有情報保持手段と、前記サービスへのアクセスを許可する条件が設定されたステータス条件と前記固有情報とに基づいて所定の演算を行うことにより作成された証明用補助情報で、前記鍵を暗号化することにより得られた証明用情報を保持する証明用情報保持手段と、前記ステータス情報と前記固有情報とに基づき、前記証明用補助情報を生成した際の演算と同様の演算を、前記ステータス条件に代えて前記ステータス情報を用いて行うことにより検証用情報を生成する検証用情報生成手段と、前記証明用情報を、前記検証用情報で復号する復号手段と、の各処理機能がコンピュータ上で実現される。
【００１４】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、本発明の原理構成を示す図である。本発明のアクセス制御装置１０において、ステータス情報保持手段１１は、ステータス情報（ＳＳ）１１ａを保持している。ここでステータス情報１１ａとは、この装置を使用するユーザが利用できるサービス限定するための情報であり、例えばユーザの役職に対応する値などが設定される。
【００１５】
固有情報保持手段１２は、固有情報（ｄｕ）１２ａを保持する。ここで固有情報１２ａとは、各ユーザに与えられた識別情報や、サービスの利用に必要な機器に予め与えられている識別情報などである。
【００１６】
証明用情報保持手段１３は、証明用情報５を保持する。この証明用情報５は、サービスを提供するサーバ等で作成されたものである。証明用情報５を作成するには、まずサービスへのアクセスを許可する条件が設定されたステータス条件（ＳＡ）１と、サービスを利用する者が所有するアクセス制御装置１０の固有情報（ｄｕ）１２ａとに基づいて所定の演算「Ｆ（ｄｕ，ＳＡ）」を行う。これにより、証明用補助情報４が作成される。そして、提供するサービスを利用するのに不可欠な鍵３を証明用補助情報４で暗号化することにより、証明用情報５が得られる。
【００１７】
検証用情報生成手段１４は、ステータス情報１１ａと固有情報１２ａとに基づき、証明用補助情報４を生成した際の演算と同様の演算「Ｆ」を行うことにより検証用情報１４ａを生成する。このとき、ステータス条件１に代えてステータス情報１１ａを用いる。すなわち、演算「Ｆ（ｄｕ，ＳＳ）」が行われる。
【００１８】
復号手段１５は、証明用情報５を検証用情報１４ａで復号する。
これにより、検証用情報１４ａの値が証明用補助情報４と同一であれば、サービスを利用するための鍵３が生成される。ここで、検証用情報１４ａと証明用補助情報４とが同一であるためには、ステータス情報１１ａとステータス条件１が同一でなければならない。したがって、このアクセス制御装置１０を利用するユーザは、ステータス情報１１ａと同一のステータス条件１のサービスのみを利用することが可能である。そして、このユーザの利用条件を変える際には、ステータス情報１１ａの値を変えるだけでよい。ステータス情報１１ａの値が変わってしまうと、新たなステータス情報１１ａの値と同一のステータス条件１のサービスのみが利用可能となる。
【００１９】
以下に、ＩＣカード内に本発明のアクセス制御装置を構築した例を、第１の実施の形態として説明する。
図２は、本発明の第１の実施の形態を適用するシステムの構成例を示す図である。この例では、ある会社の文書管理部門が秘密データを社員に提供する場合を考えている。
【００２０】
文書管理部門の有するサーバ１００と社員の使用するＰＣ３２０とは、ネットワーク３１０を介して接続されている。このネットワーク３１０は、例えばインターネットのような広域情報網である。ＰＣ３２０には、ＩＣカード２００を接続するためのカードリーダ３３０が設けられている。このカードリーダ３３０により、ＰＣ３２０とＩＣカード２００との間の情報通信を行うことができる。ＩＣカード２００は、プロセッサによる情報処理機能を有している。
【００２１】
図３は、ＩＣカードのハードウェア構成を示す図である。ＩＣカード２００は、ＣＰＵ２０１を中心として、１つのコンピュータシステムが構築されている。ＣＰＵ２０１には、内部のシステムバスを介して他の各種要素が接続されている。ＲＡＭ(Random Access Memory)２０２は、ＣＰＵ２０１が処理すべきデータを一時的に格納する。ＲＯＭ(Read Only Memory)２０３は、ＩＣカード２００に必要な機能をＣＰＵ２０１に実行させるためのプログラム（アクセス制御プログラムなど）が格納されている。入出力装置（Ｉ／Ｏ）２０４は、所定の手順に従って、カードリーダ３３０との間でデータ通信を行う。ＰＲＯＭ(Programmable Read Only Memory) ２０５は、ユーザの固有情報の格納等に用いられる。なお、上記のＰＲＯＭ２０５は、データの書き換えが可能であり、且つ電源の供給が無くてもデータを保持できる記憶装置（不揮発性メモリ）であれば、フラッシュメモリのような記憶装置であってもよい。
【００２２】
図４は、サーバ１００の処理機能を示すブロック図である。サーバ１００には、以下のような機能が設けられている。
ステータス条件保持部１１０は、ステータス条件（ＳＡ）１１１を保持している。ステータス条件１１１は、サービスへのアクセスに必要なユーザの条件を示す情報である。例えば、「課長以上の役職の者にはアクセスを許すが、それ以下の役職の者にはアクセスを許さない」などの内容を示す情報である。
【００２３】
サービスＩＤ保持部１２０は、サービスＩＤ１２１を保持している。サービスＩＤ１２１は、提供されるサービス（ここでは、秘密データ１４１へのアクセスの許可）を特定するための識別情報である。
【００２４】
固有情報保持部１３０は、固有情報（ｄｕ）１３１を保持している。固有情報（ｄｕ）１３１は、ＩＣカード２００に固有の情報である。この固有情報１３１には、ＩＣカード２００を所持するユーザの識別情報や、ＩＣカード２００やＰＣ３２０などの機器固有の識別情報などを用いる。
【００２５】
秘密データ保持部１４０は、ユーザに提供するための秘密データ１４１を保持している。
鍵保持部１５０は、秘密データ１４１を暗号化するための鍵１５１を保持している。
【００２６】
証明用補助情報生成部１６０は、ステータス条件１１１、サービスＩＤ１２１及び固有情報１３１を変数とする所定の関数Ｆにより、証明用補助情報（Ｆｐ）１６１を生成する。証明用補助情報（Ｆｐ）１６１は、
【００２７】
【数１】
Ｆｐ＝Ｆ（Ｓｉｄ，ｄｕ，ＳＡ）・・・（１）
で表すことが出来る。ここで、関数Ｆとしては、例えば一方向性関数を用いる。
【００２８】
秘密データ暗号化部１７０は、秘密データ１４１を鍵１５１で暗号化し、暗号データ１７１を生成する。
証明用情報生成部１８０は、鍵１５１を証明用補助情報１６１で暗号化し、証明用情報を生成する。
【００２９】
サービス情報生成部１９０は、サービスＩＤ１２１、暗号データ１７１及び証明用情報１８１を組にしたサービス情報を生成する。ここで暗号データ１７１は固有情報ｄｕ１３１に依存していないので、一度生成すればすべてのユーザが同一のデータを利用することができる。従って、サービスＩＤ１２１と暗号データ１７１の組と、サービスＩＤ１２１と証明用情報１８１の組に分けて管理してもよい。
【００３０】
図５は、ＩＣカード２００の処理機能を示すブロック図である。ＩＣカード２００には、以下のような機能が設けられている。
ステータス情報保持部２１０は、ステータス情報（ＳＳ）２１１を保持する。ステータス情報２１１は、ＰＣ２００を利用するユーザの地位や、使用するアプリケーションを示す情報である。このステータス情報２１１は、認証部２５０が各ユーザを認証した際、及びアプリケーションプログラムを認証した際に、その都度設定される。
【００３１】
サービスＩＤ保持部２２０は、サーバ１００から送られたサービスＩＤ１２１をＰＣ３２０から受け取り、それを保持する。
固有情報保持部２３０は、自己の固有情報２３１を保持している。
【００３２】
証明用情報保持部２４０は、サーバ１００から送られた証明用情報１８１を一時的に保持する。
認証部２５０は、ユーザＩＤやパスワードなどにより、ユーザを認証する。ユーザの認証に成功したら、そのユーザに対応するステータス情報２１１を生成し、ステータス情報保持部２１０に格納する。
【００３３】
検証用情報生成部２６０は、ステータス情報２１１、サービスＩＤ１２１及び固有情報２３１を変数とする関数Ｆに基づいて、検証用情報Ｆｖを生成する。ここで、関数Ｆはサーバ１００内の証明用補助情報生成部１６０が実行する関数と同じものであり、検証用情報（Ｆｖ）２６１は、
【００３４】
【数２】
Ｆｖ＝Ｆ（Ｓｉｄ，ｄｕ，ＳＳ）・・・（２）
と表すことができる。
【００３５】
鍵復号部２７０は、証明用情報１８１を検証用情報２６１で復号し、鍵１５１を生成する。生成した鍵１５１は、ＰＣ３２０に転送する。
ここで、証明用補助情報１６１と検証用情報２６１とは、サービスへのアクセスに必要なユーザのステータス条件１１１とユーザのステータス情報２１１とが一致した場合、同一の値をとる。そして、鍵１５１は証明用補助情報１６１で暗号化され、証明用情報１８１となっているので、証明用情報１８１はステータス条件１１１とステータス情報２１１とが一致した場合に復号可能となり、鍵１５１を入手できる。鍵１５１を入手できればサービスである秘密データ１４１へのアクセスが可能となる。
【００３６】
以上のようなシステムにおいて、まず文書管理部門は、サーバ１００を用いて社員に提供すべきサービス（秘密文書）情報を生成する。
図６は、サービス情報生成手順を示す図である。なお、このとき文書管理部門は、どのような秘密文書を提供するのかを、サービスＩＤ１２１によって指定する。
［Ｓ１］秘密データ暗号化部１７０が、秘密データ１４１を鍵１５１で暗号化する。この結果、暗号データ１７１が生成される。
［Ｓ２］証明用補助情報生成部１６０が、ユーザ毎に証明用補助情報１６１を生成する。
［Ｓ３］証明用情報生成部１８０が、鍵１５１を証明用補助情報１６１で暗号化する。なお、ここでいう暗号化は、複雑な暗号化アルゴリズムを用いなくてもよい。例えば、鍵の値を「Ｄ」とした場合に、「Ｄ−Ｆｐ」の値を証明用情報とすることができる。
［Ｓ４］サービス情報生成部１９０が、サービスＩＤ１２１、暗号データ１７１及び証明用情報１８１を組にしたサービス情報を生成する。そして、生成されたサービス情報を、ネットワーク３００などを介して、各ユーザに配布する。
【００３７】
秘密データ１４１にアクセスしようとするユーザは、まず、自己の所有するＩＣカード２００をカードリーダ３３０に接続し、自己のステータス情報をステータス情報保持部２１０に格納する必要がある。具体例としてはＩＣカードのセキュリティステータスを利用することができる。
【００３８】
セキュリティステータスは「ISO/IEC 7816 : Identification cards-Integrated circuit(s) cards with contacts-Part 4」で規定されており、Verifyコマンドとパスワードによるユーザ認証やGet Challenge コマンドに続くExternal Authenticate コマンドと鍵による認証またはセキュアメッセージングによって獲得される。
【００３９】
例えばユーザのステータスが、会社での役職と、ユーザの使用しているアプリケーションソフトウエアとである場合、サービスへのアクセスに必要なユーザのステータス条件１１１は以下の様に表すことができる。
【００４０】
図７は、ステータス条件１１１の例を示す図である。このステータス条件１１１は、８ビットのデータで構成されている。各ビットには、役職もしくはアプリケーションソフトウエアが対応づけられている。
【００４１】
第１のビット１１１ａには「社長」の役職が対応している。第２のビット１１１ｂには「取締役」の役職が対応している。第３のビット１１１ｃには「部長」の役職が対応している。第４のビット１１１ｄには「課長」の役職が対応している。第５のビット１１１ｅには「係長」の役職が対応している。第６のビット１１１ｆには「一般社員」の役職が対応している。第７のビット１１１ｇには「文書エディタ」のソフトウェアが対応している。第８のビット１１１ｈには「文書ビューア」のソフトウェアが対応している。
【００４２】
この図の例では、役職が「部長」の場合に、「文書ビューア」を使用するという条件で秘密データ１４１にアクセスできるようになる。これに対してＩＣカード２００のステータス情報２１１は、ユーザがVerifyコマンドでパスワードを入力し、かつ文書ビューアがExternal Authenticate コマンドによって認証された場合に、ステータス条件１１１と同一の設定になるように設定しておく。
【００４３】
そして、ユーザは、次にようにしてステータス情報を獲得する。
図８は、ステータス情報の獲得手順を示すフローチャートである。
［Ｓ１１］ユーザが、VerifyコマンドでＩＣード２００にパスワードを入力すると、認証部２５０は、予め設定されているパスワードと入力されたパスワードとを比較する。そして、パスワードが正しければＩＣカード２００内のステータス情報２１１の値を「００１０００００」に変える。
［Ｓ１２］ユーザが、ＰＣ３２０内の文書ビューアを起動する。
［Ｓ１３］文書ビューアが、ＩＣカード２００の認証部２５０によって、External Authenticate コマンドで認証を受ける（同一の鍵を共有していることを証明する）。 External Authenticateコマンドが成功したら、認証部２５０が、ＩＣカード２００内のステータス情報２１１の値を「００１００００１」に変える。
【００４４】
これにより、ステータス条件１１１とステータス情報２１１との値を一致させることができる。
次に、ユーザは、秘密データ１４１にアクセスするために、以下のような処理を行う。
【００４５】
図９は、秘密データアクセス手順を示すフローチャートである。
［Ｓ２１］ユーザは、ＩＣカード２００にサービスＩＤ１２１と証明用情報１８１とを入力する。サービスＩＤ１２１は、サービスＩＤ保持部２２０で保持され、証明用情報１８１は、証明用情報保持部２４０で保持される。なお、サービＩＤ１２１は、ＰＣ３２０で文書ビューアが秘密データをアクセスしようとする際に、ＰＣ３２０から自動的にＩＣカード２００に送られるようにしてもよい。
［Ｓ２２］検証用情報生成部２６０が、サービスＩＤ１２１、ステータス情報２１１、及び固有情報２３１を用いて、検証用情報２６１を作成する。
［Ｓ２３］鍵復号部２７０が、証明用情報１８１を検証用情報２６１で復号して鍵１５１を出力する。例えば、サーバ１００内の証明用情報生成部１８０で「Ｄ−Ｆｐ」の計算により証明用情報１８１が生成された場合には、鍵復号部２７０では、証明用情報１８１に対して検証用情報（Ｆｖ）２６１を加算する。
［Ｓ２４］ＰＣ３２０は、鍵１５１を用いて暗号データ１７１を復号し、秘密データ１４１を得る。
【００４６】
これにより、ユーザは、ステータス情報２１１がステータス条件１１１と一致した場合にのみ、秘密データ１４１にアクセスすることができる。そして、ＩＣカード２００の所有者の地位の変動などがあり、ステータス情報を変える必要がある場合には、ＩＣカード２００内の認証部２５０で生成されるステータス情報２１１の値を変更すればよく、非常に容易である。
【００４７】
従来、証明用補助情報はユーザまたは機器の固有情報と有効期限等から作られていたので、例えばユーザが部長から課長へ降格になった場合、有効期限が経過するまでは、古い証明用補助情報を利用しつづけることが可能である。それを防ぐためには、完全ではないが新しい鍵ですべての秘密データを暗号化し直すか、新しい固有情報ですべての証明用補助情報を作成し直す必要があった。本発明の場合は、ＩＣカードの設定を変える（verifyに成功したらテータス情報２１１が「０００１００００」になるようにする）だけでよく、証明用補助情報や暗号データを作成し直す必要はない。そして、役職に関係ないステータス（この場合はアプリケーションのみ）を用いた証明用補助情報は従来通り使用できるため、ユーザごとの利用条件の変更を容易に行うことができる。
【００４８】
次に、第２の実施の形態について説明する。この実施の形態は、ＩＣカード内のステータス情報とステータス条件とが一定の条件を満たした場合にのみ、鍵を生成するようにしたものである。
【００４９】
本実施の形態は、ＩＣカードの処理機能以外は第１の実施の形態とほぼ同じであるため、ＩＣカード以外の構成要素に関しては、第１の実施の形態の構成要素に付した符号を用いて説明するものとする。ただし、サーバ１００内のサービス情報生成部１９０の機能は、第１の実施の形態と若干異なる。すなわち、本実施の形態におけるサービス情報生成部１９０は、ステータス条件保持部１１０に保持されているステータス条件１１１をも含めてサービス情報とし、そのサービス情報をユーザへ配布する。
【００５０】
図１０は、第２の実施の形態におけるＩＣカードの処理機能を示す概略構成図である。本実施の形態は、ＩＣカード第１の実施の形態と同様に、サービスは秘密データ１４１へのアクセスであり、この秘密データ１４１は慣用暗号にて暗号化されているものとする。
【００５１】
この実施の形態のＩＣカード４００において、ステータス情報保持部４１０、サービスＩＤ保持部４２０、固有情報保持部４３０、証明用情報保持部４４０、及び認証部４５０の機能は第１の実施の形態における同名の構成要素と同じであるため、説明を省略する。
【００５２】
ステータス条件保持部４８０は、秘密データ１４１へのアクセスに必要なユーザのステータス条件１１１を保持する。
演算部４９０は、ステータス情報保持部４１０に保持されているステータス情報４１１と、ステータス条件保持部４８０に保持されているステータス条件１１１との比較演算を行い、一定の条件を満たした場合にのみ、鍵の出力を許可する。例えば完全一致もしくは、部分一致などを検査して、検証用情報生成部４６０もしくは鍵復号部４７０を制御して、復号を許可もしくは不許可とする。
【００５３】
検証用情報生成部４６０は、演算部４９０によって鍵の出力が許可された場合にのみ、ステータス条件１１１、サービスＩＤ１２１及び固有情報４３１を用いて検証用情報４６１を生成する。このとき、検証用情報（Ｆｖ）４６１は、
【００５４】
【数３】
Ｆｖ＝Ｆ（Ｓｉｄ，ｄｕ，ＳＡ）・・・（３）
であり、ステータス条件（ＳＡ）１１１が改ざんされない限り、証明用補助情報１６１と同様の値をとる。
【００５５】
鍵復号部４７０は、演算部４９０によって鍵の出力が許可された場合にのみ、証明用情報１８１を検証用情報４６１を用いて復号し、ＰＣ３２０へ出力する。
以下、この構成にしたがって処理手順を説明する。
【００５６】
図１１は、第２の実施の形態におけるサービス情報の生成から暗号データ復号までの過程を示すフローチャートである。
［Ｓ３１］秘密データ暗号化部１７０が、秘密データ１４１を鍵１５１で暗号化する。この結果、暗号データ１７１が生成される。
［Ｓ３２］証明用補助情報生成部１６０が、ユーザ毎に証明用補助情報１６１を作成する。
［Ｓ３３］証明用情報生成部１８０が、鍵１５１を証明用補助情報１６１で暗号化し、証明用情報１８１を作成する。
［Ｓ３４］サービス情報生成部１９０が、サービスＩＤ１２１、暗号データ１７１、証明用情報１８１及びステータス条件１１１を組にしたサービス情報を生成し、ユーザに配布する。
［Ｓ３５］ユーザが、ＩＣカード４００に、サービスＩＤ１２１、証明用情報１８１、及びステータス条件１１１を入力する。サービスＩＤ１２１は、サービスＩＤ保持部２２０で保持され、証明用情報１８１は、証明用情報保持部２４０で保持され、ステータス条件１１１は、ステータス条件保持部４８０で保持される。なお、認証部４５０による認証は既に行われているものとする。
［Ｓ３６］演算部４９０は、ステータス条件１１１とステータス情報４１１とを比較演算する。
［Ｓ３７］演算部４９０は、同一箇所に少なくとも１つ「１」があれば処理を続け、なければ処理を停止する。
［Ｓ３８］検証用情報生成部４６０は、サービスＩＤ１２１、ステータス条件１１１及び固有情報４３１を用いて検証用情報４６１を作成する。
［Ｓ３９］鍵復号部４７０は、証明用情報１８１を検証用情報４６１で復号して鍵１５１を出力する。
［Ｓ４０］ＰＣ３２０は、鍵１５１用いて暗号データ１７１を復号し、秘密データ１４１を得る。
【００５７】
なお、鍵１５１は証明用補助情報１６１で暗号化され証明用情報１８１となっているので、証明用情報１８１はステータス条件１１１が改ざんされていない限り復号可能であり、鍵１５１を入手できる。鍵１５１を入手できればサービスである秘密データ１４１へアクセス可能となる。
【００５８】
これにより、ステータス条件で、そのサービスを利用できる者の条件を一定範囲で定め、ユーザのステータス情報がその条件に含まれる場合には、サーブビスを利用することができるようになる。すなわち、認証用補助情報を生成する際のステータス条件と、各ユーザに設定されているステータス情報とが完全に一致している必要がない。
【００５９】
例えば、ユーザのステータスが会社での役職でありかつユーザの使用しているアプリケーションソフトウエアである場合において、部長以上の者しか秘密データにアクセスできないようにするには、ステータス条件１１１の部長以上の役職に対応するビットに「１」を設定しておく。
【００６０】
図１２は、ステータス条件の例を示す図である。この例では、社長に対応する第１のビット１１１ａと、取締役に対応する第２のビット１１１ｂ、及び部長に対応する第３のビット１１１ｃに「１」が設定されており、他のビットの値は「０」である。
【００６１】
これに対してＩＣカード４００の認証部４５０では、ユーザがVerifyコマンドでパスワードを入力した場合に、ステータス情報４１１の、そのユーザの該当する役職のビット位置に「１」が設定されるようにしておく。例えばユーザの役職が「部長」であれば第３のビット１１１ｃに「１」が設定される。これにより、演算部４９０において、鍵の復号が許可される。
【００６２】
演算部４９０の演算方式としては、完全一致、部分一致、大小比較、などが考えられる。これら様々な方式を選択する情報は証明用補助情報１８１を作成する際に、例えばＦｐ＝Ｆ（Ｓｉｄ，ｄｕ，ＳＡ，方式選択情報）とすれば、安全にＩＣカード４００に送ることができる。このとき、ＩＣカード４００内ではＦｖ＝Ｆ（Ｓｉｄ，ｄｕ，ＳＡ，方式選択情報）またはＦｖ＝Ｆ（Ｓｉｄ，ｄｕ，ＳＳ，方式選択情報）とする。
【００６３】
なお、上記の各実施の形態では、本発明のアクセス制御装置の機能をＩＣカードが有しているものとして説明したが、この機能がＰＣなどの端末装置の中に設けられていてもよい。
【００６４】
また、上記のアクセス制御装置の有する機能の処理内容は、ＩＣカード内のＲＯＭに格納されたプログラムをＩＣカードのＣＰＵが実行することで実現されているが、このプログラムを他のコンピュータで読み取り可能な記録媒体に格納しておくこともできる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置や半導体メモリ等がある。市場を流通させる場合には、ＣＤ−ＲＯＭやフロッピーディスケット等の可搬型記録媒体にプログラムを格納して流通させたり、ネットワークを介して接続されたコンピュータの記憶装置に格納しておき、ネットワークを通じて他のコンピュータに転送することもできる。コンピュータで実行する際には、コンピュータ内のハードディスク装置等にプログラムを格納しておき、メインメモリにロードして実行する。
【００６５】
【発明の効果】
以上説明したように本発明のアクセス制御装置では、ステータス情報と固有情報とに基づいて検証用情報を生成し、鍵を暗号化することにより生成された証明用情報を検証用情報で復号するようにしたため、ステータス情報によるアクセス制御が可能となる。その結果、ステータス情報の内容を変更するだけで、ユーザの利用条件を変えることができる。
【００６６】
また、本発明のアクセス制御プログラムを記録した媒体では、記録されているプログラムをコンピュータに実行させれば、ステータス情報と固有情報とに基づいて検証用情報を生成し、鍵を暗号化することにより生成される証明用情報を検証用情報で復号するような機能をコンピュータ上で実現できるため、ステータス情報の内容を変更するだけでユーザの利用条件を変えられるようなアクセス制御をコンピュータに行わせることができる。
【図面の簡単な説明】
【図１】本発明の原理構成を示す図である。
【図２】本発明の第１の実施の形態を適用するシステムの構成例を示す図である。
【図３】ＩＣカードのハードウェア構成を示す図である。
【図４】サーバの処理機能を示すブロック図である。
【図５】ＩＣカードの処理機能を示すブロック図である。
【図６】サービス情報生成手順を示す図である。
【図７】ステータス条件の例を示す図である。
【図８】ステータス情報の獲得手順を示すフローチャートである。
【図９】秘密データアクセス手順を示すフローチャートである。
【図１０】第２の実施の形態におけるＩＣカードの処理機能を示す概略構成図である。
【図１１】第２の実施の形態におけるサービス情報の生成から暗号データ復号までの過程を示すフローチャートである。
【図１２】ステータス条件の例を示す図である。
【符号の説明】
１  ステータス条件
２  固有情報
３  鍵
４  証明用補助情報
５  証明用情報
１０  アクセス制御装置
１１  ステータス情報保持手段
１１ａ  ステータス情報
１２  固有情報保持手段
１２ａ  固有情報
１３  証明用情報保持手段
１４  検証用情報生成手段
１４ａ  検証用情報
１５  復号手段
【図１】
0003646482.tif 000002
【図２】
0003646482.tif 000003
【図３】
0003646482.tif 000004
【図４】
0003646482.tif 000005
【図５】
0003646482.tif 000006
【図６】
0003646482.tif 000007
【図７】
0003646482.tif 000008
【図８】
0003646482.tif 000009
【図９】
0003646482.tif 000010
【図１０】
0003646482.tif 000011
【図１１】
0003646482.tif 000012
【図１２】
0003646482.tif 000013