(57)【特許請求の範囲】
【請求項１】
ユーザ毎、かつ、キャビネット毎に異なる認証情報が設定されているキャビネットの利用を認証する情報処理装置であって、
ユーザの初期認証情報を入力する入力手段と、
前記入力されたユーザの初期認証情報を用いて、初期認証を行う手段と、
前記初期認証が成功した場合に、前記入力された初期認証情報を保持する保持手段と、
複数のキャビネットから、少なくとも一つのキャビネットを指定する指定手段と、
前記保持された初期認証情報を用いて、ユーザの初期認証情報で暗号化されているキャビネットの認証情報を復号し、取得する取得手段と、
前記取得手段により取得された認証情報を用いて、前記指定されたキャビネットの利用を判定する判定手段とを有することを特徴とする情報処理装置。
【請求項２】
ユーザ毎、かつ、キャビネット毎に異なる認証情報が設定されているキャビネットの利用を認証する情報処理装置の制御方法であって、
ユーザの初期認証情報を入力する入力ステップと、
前記入力されたユーザの初期認証情報を用いて、初期認証を行うステップと、
前記初期認証が成功した場合に、前記入力された初期認証情報を保持する保持ステップと、
複数のキャビネットから、少なくとも一つのキャビネットを指定する指定ステップと、
前記保持された初期認証情報を用いて、ユーザの初期認証情報で暗号化されているキャビネットの認証情報を復号し、取得する取得ステップと、
前記取得ステップにより取得された認証情報を用いて、前記指定されたキャビネットの利用を判定する判定ステップとを含むことを特徴とする情報処理装置の制御方法。
【請求項３】
ユーザ毎、かつ、キャビネット毎に異なる認証情報が設定されているキャビネットの利用を認証する情報処理装置の制御方法をコンピュータに実行させるためのプログラムであって、
ユーザの初期認証情報を入力する入力ステップと、
前記入力されたユーザの初期認証情報を用いて、初期認証を行うステップと、
前記初期認証が成功した場合に、前記入力された初期認証情報を保持する保持ステップと、
複数のキャビネットから、少なくとも一つのキャビネットを指定する指定ステップと、
前記保持された初期認証情報を用いて、ユーザの初期認証情報で暗号化されているキャビネットの認証情報を復号し、取得する取得ステップと、
前記取得ステップにより取得された認証情報を用いて、前記指定されたキャビネットの利用を判定する判定ステップとをコンピュータに実行させるためのプログラム。
【請求項４】
ユーザ毎、かつ、キャビネット毎に異なる認証情報が設定されているキャビネットの利用を認証する情報処理装置の制御方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
ユーザの初期認証情報を入力する入力ステップと、
前記入力されたユーザの初期認証情報を用いて、初期認証を行うステップと、
前記初期認証が成功した場合に、前記入力された初期認証情報を保持する保持ステップと、
複数のキャビネットから、少なくとも一つのキャビネットを指定する指定ステップと、
前記保持された初期認証情報を用いて、ユーザの初期認証情報で暗号化されているキャビネットの認証情報を復号し、取得する取得ステップと、
前記取得ステップにより取得された認証情報を用いて、前記指定されたキャビネットの利用を判定する判定ステップとをコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば、キャビネット毎にユーザパスワードを設定可能なセキュリティ機能を有するアプリケーションや、オペレーティングシステム或いは装置のユーザ認証機能に用いられる、情報処理装置、その制御方法、プログラム及び記録媒体に関するものである。
【０００２】
【従来の技術】
従来より例えば、文書をスキャンして装置内の記憶領域に当該文書データを保持する機能を有するディジタル複合機や、コンピュータ上で所定の処理プログラムを起動させることで、文書データやファイルを保持及び管理するようになされたファイルシステムでは、データを効率的に保持及び管理するための「キャビネット」が設けられている。
【０００３】
キャビネットは、ボックス或いはフォルダ等と呼ばれることもあり、任意のディレクトリ構造を有する論理的なデータ記憶領域とみなすことができるものである。
また、キャビネットでは、キャビネット内に保持及び管理されるデータの機密性を保証するために、キャビネット毎に、ユーザ（利用者）認証情報（以下、単に「認証情報」とも言う）を設定可能なようになされている。
【０００４】
しかしながら、キャビネットを有する装置或いはシステムでは、ユーザ（利用者）がキャビネットを利用する際、その利用（アクセス）の度にユーザは認証情報を入力する必要があり、また、ユーザは異なる複数の認証情報をキャビネット毎に記憶しておく必要があった。
【０００５】
そこで、上述のような手間や労力の問題を解決するために、例えば、キャビネットに対して設定する認証情報を、全てのキャビネットにおいて統一して利用するという運用上の解決策を講じる方法や、所謂シングルサインオンと呼ばれる技術を利用する方法が考案された。
【０００６】
例えば、シングルサインオンを利用した方法では、ユーザが認証情報を１度入力し、その認証が行われた後は、同一の認証情報が設定されているキャビネットについては、認証情報を入力することなく当該キャビネットにアクセスすることが可能となる。これにより、ユーザは、認証情報をキャビネット毎に入力する手間が省け、且つ複数の認証情報を記憶する必要がなくなる。したがって、ユーザの利便性を向上せしめることができる。
【０００７】
【発明が解決しようとする課題】
しかしながら、上述したようなキャビネットを有する従来の装置或いはシステムにおいて、例えば、キャビネットに対して設定する認証情報を統一する運用上の解決策を適用した場合、キャビネットの認証情報を設定できる全てのユーザに対して、運用ルールの周知徹底を図る必要があるため、別の観点で利便性を概する恐れがある。これに加えて、全てのキャビネットに対して統一的な認証情報が設定されるため、当該統一認証情報の機密性を保証することが困難となり、キャビネットの機密性が実質、劣化する問題がある。
【０００８】
一方、シングルサインオン技術を適用するためには、既に利用者に導入されているキャビネットを有する既存のディジタル複合機やファイルシステム等の装置或いはシステムをそのまま利用することができず、所定のシングルサインオン技術を利用した装置或いはシステムに適合すべく新たに開発された機種、或いは新しいバージョンに置き換える必要がある。このような新たな機種やバージョンの導入は、利用者にコスト面、並びに管理面に及ぶ新たな負担を強いることになる。
例えば、キャビネットを有する既存のディジタル複合機やファイルシステム等の装置或いはシステムにおける認証情報の設定を移行することが一般的に困難であり、ユーザに対して、認証情報の再設定をさせ、キャビネットに保持及び管理されているデータを移行させる、などのような手間のかかる作業を強いることになる。
さらに、キャビネットを有するディジタル複合機やファイルシステム等の装置或いはシステムの設計が、特定のシングルサインオン技術を適用した装置或いはシステムの仕様に依存してしまうため、柔軟な製品仕様をユーザに提供することが困難である。
【０００９】
そこで、本発明は、上記の欠点を除去するために成されたもので、データの機密性を保証しながら、なお且つユーザの認証情報の入力作業等を簡素化することで利便性を向上せしめるのに好適な、情報処理装置、その制御方法、プログラム及び記録媒体を提供することを目的とする。
また、加えて他の目的として、ユーザのネットワーク環境における既存の認証機能を有する装置或いはシステムと連携した、シングルサインオン技術を用いた機能（シングルサインオン機能）を提供する構成を提供する。
【００１０】
【課題を解決するための手段】
本発明の情報処理装置は、ユーザ毎、かつ、キャビネット毎に異なる認証情報が設定されているキャビネットの利用を認証する情報処理装置であって、ユーザの初期認証情報を入力する入力手段と、前記入力されたユーザの初期認証情報を用いて、初期認証を行う手段と、前記初期認証が成功した場合に、前記入力された初期認証情報を保持する保持手段と、複数のキャビネットから、少なくとも一つのキャビネットを指定する指定手段と、前記保持された初期認証情報を用いて、ユーザの初期認証情報で暗号化されているキャビネットの認証情報を復号し、取得する取得手段と、前記取得手段により取得された認証情報を用いて、前記指定されたキャビネットの利用を判定する判定手段とを有することを特徴とする。
本発明の情報処理装置の制御方法は、ユーザ毎、かつ、キャビネット毎に異なる認証情報が設定されているキャビネットの利用を認証する情報処理装置の制御方法であって、ユーザの初期認証情報を入力する入力ステップと、前記入力されたユーザの初期認証情報を用いて、初期認証を行うステップと、前記初期認証が成功した場合に、前記入力された初期認証情報を保持する保持ステップと、複数のキャビネットから、少なくとも一つのキャビネットを指定する指定ステップと、前記保持された初期認証情報を用いて、ユーザの初期認証情報で暗号化されているキャビネットの認証情報を復号し、取得する取得ステップと、前記取得ステップにより取得された認証情報を用いて、前記指定されたキャビネットの利用を判定する判定ステップとを含むことを特徴とする。
本発明のプログラムは、ユーザ毎、かつ、キャビネット毎に異なる認証情報が設定されているキャビネットの利用を認証する情報処理装置の制御方法をコンピュータに実行させるためのプログラムであって、ユーザの初期認証情報を入力する入力ステップと、前記入力されたユーザの初期認証情報を用いて、初期認証を行うステップと、前記初期認証が成功した場合に、前記入力された初期認証情報を保持する保持ステップと、複数のキャビネットから、少なくとも一つのキャビネットを指定する指定ステップと、前記保持された初期認証情報を用いて、ユーザの初期認証情報で暗号化されているキャビネットの認証情報を復号し、取得する取得ステップと、前記取得ステップにより取得された認証情報を用いて、前記指定されたキャビネットの利用を判定する判定ステップとをコンピュータに実行させることを特徴とする。
本発明のコンピュータ読み取り可能な記録媒体は、ユーザ毎、かつ、キャビネット毎に異なる認証情報が設定されているキャビネットの利用を認証する情報処理装置の制御方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、ユーザの初期認証情報を入力する入力ステップと、前記入力されたユーザの初期認証情報を用いて、初期認証を行うステップと、前記初期認証が成功した場合に、前記入力された初期認証情報を保持する保持ステップと、複数のキャビネットから、少なくとも一つのキャビネットを指定する指定ステップと、前記保持された初期認証情報を用いて、ユーザの初期認証情報で暗号化されているキャビネットの認証情報を復号し、取得する取得ステップと、前記取得ステップにより取得された認証情報を用いて、前記指定されたキャビネットの利用を判定する判定ステップとをコンピュータに実行させるためのプログラムを記録したことを特徴とする。
【００３４】
具体的には例えば、本発明を適用したシステムは、キャビネット毎に登録できる利用者認証情報を統一的に管理するシステムは、利用者に認証付きキャビネット機能や利用者認証を必要とするアプリケーション機能（以下、「キャビネット等」とも言う）を提供する機能提供コンピュータと、利用者認証情報等をデータベースとして一元管理し、クライアントからの問い合せに応じて情報を検索し、当該検索結果を問い合せに対する応答としてクライアントに返信するディレクトリ機能を備えるサーバコンピュータ（以下、「ディレクトリサーバ」とも言う）と、利用者が必要な初期認証情報を入力するためのユーザインターフェース機能、利用者認証情報を所定の暗号アルゴリズムに基づき暗号化／復号化処理を実行する機能、上記ディレクトリサーバから標準的なディレクトリ制御プロトコルを利用してキャビネット等に対する利用者認証情報を検索／取得或いは保持する機能を備え、これに加えて、復号処理された利用者認証情報を所定のキャビネット等の認証情報として入力する機能を備えたユーザコンピュータから構成される。
【００３５】
上記ユーザコンピュータ及び機能提供コンピュータは、互いに物理的に独立して存在し標準的なネットワーク通信プロトコルを介して情報通信する構成や、それぞれのコンピュータが部分機能として存在する物理的に不可分の装置として構成され、両部分機能が内部において論理的なデータ交換手法に基づき情報通信する構成をとる場合もある。一方、ディレクトリサーバとユーザコンピュータは、標準的なネットワーク通信プロトコルを介して情報通信する。
【００３６】
また、利用者の初期認証を行うために、上記ユーザコンピュータは、ディレクトリサーバにおける認証ではなく、既存の他の認証システムと通信し、利用者の初期認証を行う手段を備えている。さらに、上記ユーザコンピュータは、キャビネット等に対応する利用者認証を特定するため、利用者が、どのキャビネット等を指定したかを認識する手段を備えている。
【００３７】
ユーザインターフェース機能によって利用者が入力した初期認証情報は、利用者が本システムを利用するために提供され、本システムにおける利用者の有効な利用権限を有する期間中、上記ユーザコンピュータに内部的に保持される。
また、上記初期認証情報は、暗号化されたキャビネット等の利用者認証情報を復号処理するためにも共通して利用される。
【００３８】
上記ディレクトリサーバに保持される利用者認証情報等は、キャビネット等を特定するＩＤ、及びそのキャビネット等の利用者認証情報に関連付けられて、利用者毎に保持されるように構成（論理構成）されている。一方、利用者と、その利用者のキャビネット等を利用するための認証情報とが互いに関連付けられて、キャビネット等を特定するディレクトリオブジェクト毎に保持されるように構成してもよい。
【００３９】
一方、上記ディレクトリサーバに保持される利用者認証情報等が、前記ユーザコンピュータの所定の記憶領域に保持される構成もあり、この場合、キャビネットにおける利用者認証情報の取得は、ディレクトリサーバに対して行われるのではなく、当該ユーザコンピュータの所定の記憶領域に対して内部的に実施される。なお、当該ユーザコンピュータの所定の記憶領域に対する利用者認証情報の取得に関して、その処理手続きやその他の構成上の特徴は、前記ディレクトリサーバに対して行われるものと同等とみなすことができる。
【００４０】
上述のような構成により、本システムでは、キャビネット毎に設定されているオリジナルの利用者認証情報が、所定の暗号アルゴリズムに基づいてそれぞれ暗号処理され、ディレクトリサーバの所定領域に保持される。利用者がキャビネットを利用するためにキャビネットにアクセスすると、ユーザコンピュータは、当該キャビネットに対する利用者認証情報をディレクトリサーバから検索し取得する。
この段階で、利用者認証情報は予め暗号化されているが、利用者が本システムを使用するための認証で、予めユーザコンピュータに入力した初期認証情報を使用して暗号化されたキャビネットの利用者認証情報を復号することができる。
【００４１】
復号化されたキャビネットの利用者認証情報は、ユーザコンピュータの機能により、利用者がアクセスしたキャビネットの認証機構に入力される。その後、利用者は、キャビネットにアクセスして利用することが可能となる。
【００４２】
ユーザコンピュータにおけるこれら一連の処理は内部的に自動化されており、且つ初期認証情報は所定の有効期間中ユーザコンピュータに保持されているため、利用者は、本システムを利用するための初期認証情報のみを最初に一度だけ入力しておけば、機能提供コンピュータにおけるキャビネットに対して、あらためて利用者認証情報を入力することなく、所望するキャビネットにアクセスすることができるようになる。
また、利用者の初期認証を行うにあたり、ディレクトリサーバではなく既存の認証サーバと通信して認証を行うことができるため、利用者の利便性をより高めることが可能となる。
【００４３】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて説明する。
【００４４】
本発明は、例えば、図１に示すようなネットワークシステム１００に適用される。
本実施の形態のネットワークシステム１００は、ユーザがファイルシステム１１１の任意のキャビネットを利用する際に用いられる当該ユーザの認証情報を管理する構成に特徴を有する。
以下、本実施の形態のネットワークシステム１００の構成及び動作について具体的に説明する。
【００４５】
＜ネットワークシステム１００の全体構成＞
ネットワークシステム１００は、上記図１に示すように、記憶装置１１２が接続されたファイルシステム１１１にアクセス可能なパーソナルコンピュータ等のユーザコンピュータ１１３と、記憶装置１２２が接続されたデータベース１２１にアクセス可能なディレクトリサーバ１２０と、認証サーバ１３０とが、ネットワーク１５０を介して通信可能なように接続された構成としている。
【００４６】
ファイルシステム１１１は、文書等のデータを保存するための複数のキャビネットを論理的に作成して保持する。
具体的には例えば、ファイルシステム１１１は、キャビネットの実体を記憶装置１１２の所定の記憶領域に作成する。したがって、当該キャビネット内へのデータは記憶装置１１２内に保存されることになる。
【００４７】
ファイルシステム１１１と記憶装置１１２は、所定の信号線により物理的に結合されている。
ファイルシステム１１１の機能を提供する実体は、例えば、汎用のコンピュータ（パーソナルコンピュータ：ＰＣ）上で起動可能なソフトウェアとして実現される。本実施の形態では、ファイルシステム１１１を、当該機能提供するコンピュータとしている。
【００４８】
ユーザコンピュータ１１３は、ファイルシステム１１１のユーザ（利用者）に対して、必要なユーザインターフェースを提供すると同時に、本発明に係るシステムの構成手段の一つであるユーザコンピュータ手段が実施されるＰＣである。
当該ユーザコンピュータ手段は、ユーザコンピュータ１１３の所定の記憶領域に内在しながら動作するソフトウエアとして実現される。
【００４９】
尚、本実施の形態におけるＰＣは、詳細は図面を用いて後述するが、ＣＰＵ、ＲＯＭ、ＲＡＭ（１次記憶装置）、Ｉ／Ｏデバイス、ハードディスク（２次記憶装置）、入出力デバイス（ＣＲＴ、キーボード、及びマウス等）、及びこれらを結合するシステムバスを含む構成としており、ＣＰＵが、ＲＯＭ或いはハードディスクに記憶されたソフトウエアを所定のメモリ空間にロードして実行することで、Ｉ／Ｏデバイス等の制御を行うようになされている。これにより、本実施の形態における各機能が実施される。
【００５０】
ここで、上記図１では、その実線部分に示すように、ユーザコンピュータ１１３、ファイルシステム１１１、及び記憶装置１１２が、ディジタル複合機１１０に含まれる構成を示している。これは、ユーザコンピュータ１１３、ファイルシステム１１１、及び記憶装置１１２のそれぞれが、単独の実体として存在する構成に限られるものではなく、ユーザコンピュータ１１３、ファイルシステム１１１、及び記憶装置１１２のそれぞれが機能部分として存在し、実線で示す部分全体が一体の装置或いはシステムとして構成された場合の実施の形態を例示するものである。
この場合、ファイルシステム１１１及び記憶装置１１２は、本発明の構成手段における機能提供コンピュータ手段に相当し、また、ユーザコンピュータ１１３は、本発明の構成手段におけるユーザコンピュータ手段に相当する。
【００５１】
認証サーバ１３０は、ユーザの初期認証を行うサーバである。
認証を必要とする形態としては、例えば、所定のドメインへのユーザの参加を認証する形態や、所定のデータベースサーバの利用を認証する形態等が挙げられる。例えば、所定のドメインへのユーザの参加を認証する形態としては、例えば、「Windows（Ｒ） NT」サーバや「Windows（Ｒ） 2000」サーバにより構成される「Windows（Ｒ）」ドメインが挙げられ、また、所定のデータベースサーバの利用を認証する形態としては、ロータスドミノサーバにおけるユーザ認証等が挙げられる。
【００５２】
したがって、ユーザコンピュータ１１３は、認証サーバ１３０とネットワーク１５０経由で接続し、所定のプロトコルに従ってユーザの認証を実施する。
ここでの所定のプロトコルとしては、認証サーバ１３０がサポートする方式をそのまま利用可能である。これにより、既存のネットワーク環境をそのまま利用できる。当該所定のプロトコルとしては、例えば、ＮＴＬＭ認証やディジタル証明書を用いた「ＳＳＬ（Secure  Sockets  Layer）」や「Ｋｅｒｂｅｒｏｓ」認証等が挙げられる。
【００５３】
ディレクトリサーバ１２０は、本発明にかかるサーバコンピュータ手段の一部に該当し、ディレクトリサーバの制御プロトコルとしてＬＤＡＰ（Lightweight Directory Access Protocol）サーバ機能を提供する。
ＬＤＡＰは、ＯＳＩのＸ．５００ディレクトリアクセスプロトコルに対する軽いフロントエンドとして機能するように、ＩＥＴＦのＷＧで開発された標準的なディレクトリアクセスプロトコルであり、ＲＦＣ１７７７やＲＦＣ２２５１等で仕様が規定されている。
【００５４】
データベース１２１は、ディレクトリサーバ１２０のバックエンドとして機能し、各種ディレクトリオブジェクトをデータベースとしてハンドリングする。ここでのディレクトリオブジェクトの実体は、データベース１２１に結合された記憶装置１２２に保持される。
【００５５】
ディレクトリサーバ１２０及び認証サーバ１３０と、ユーザコンピュータ１１３との間の通信のためのプロトコルとしては、例えば、ＴＣＰ／ＩＰ等の標準的なネットワーク通信プロトコルが挙げられる。上述したＬＤＡＰは、アプリケーションレイヤのプロトコルとして、ネットワーク通信プロトコルの上で動作する。
【００５６】
尚、ディレクトリサーバ１２０、データベース１２１、及び記憶装置１２２としては、例えば、ディレクトリサーバ機能を提供する商用製品として販売されている「Active Directory Server」や、「Novell Directory Service」、或いはオープンソースとして頒布されている「Open LDAP」等を適用可能である。
【００５７】
＜ファイルシステム１１１におけるキャビネット＞
まず、キャビネットは、ボックスやフォルダ等と呼ばれることもあり、任意のディレクトリ構造を有する論理的なデータ記憶領域とみなすことができるものである。また、キャビネットは、文書や各種ユーザ等のデータを効率的に保持して管理するために、論理的な階層構造を有している。さらに、キャビネットは、キャビネット内に保持及び管理されるデータの機密性を保証するために、キャビネット毎にユーザ（利用者）認証情報（認証情報）を設定可能なようになされている。
【００５８】
キャビネットを特定する方法として、一般的には所望するキャビネットに付加された名称（キャビネット名称）を指定する方法が用いられるが、これに限られることはなく、例えば、キャビネットを特定するＩＤの値をソフトウェア的に保持しておき、当該ＩＤを持ってキャビネットを特定する方法を用いることも可能である。この方法は、キャビネットの名称を後で柔軟に変更できるようにするのに有効な手法である。
【００５９】
図２は、ファイルシステム１１１が提供するキャビネット構造の一例を示したものである。
【００６０】
上記図２において、キャビネット０（２００）は、ルートのキャビネット領域である。キャビネット０（２００）内には、さらに、キャビネット１（２０１）、キャビネット２ （２０２）、キャビネット３（２０３）、キャビネット４（２０４）、…の複数のキャビネットを設けることが可能である。
ユーザは、これらのキャビネット０（２００）、１（２０１）〜４（２０４）、…に対して、利便性を考慮した意味付けを行い、文書や画像等のデータを保管することができるようになされている。
【００６１】
さらに、キャビネット１（２０１）、キャビネット２ （２０２）、キャビネット３（２０３）、キャビネット４（２０４）、…のそれぞれについて、キャビネットを複数階層にすることも可能なようになされている。
例えば、キャビネット１（２０１）内に、キャビネット１−１（２０１−１）及び１−２（２０１−２）を設けることが可能である。
【００６２】
上記図２に示したようなキャビネット構造は、ユーザが任意に設定可能である。すなわち、ファイルシステム１１１におけるキャビネットを、どのような論理構造にするかは、ファイルシステム１１１を使用する利用者が任意に決定できる。
【００６３】
上述のようなキャビネット毎に関連付けられるユーザ（利用者）認証情報は、本実施の形態にかかるファイルシステム１１１の内部論理情報として、それぞれのキャビネットが保持している。
【００６４】
例えば、上記図２に示したキャビネット構造のでは、キャビネット０（２００）にアクセスするために必要なユーザ認証情報は、キャビネット０（２００）に付随した情報として、ユーザ毎に関連付けされて保持される。
【００６５】
ユーザ毎に関連付けされる情報は、ユーザ認証情報の他に、そのユーザの操作権限等の情報が付随する場合がある。この場合、あるユーザのキャビネットへのアクセスを、例えば、読み取り、書き込み、実行等のように操作の種類に応じて細かく制御することが可能である。キャビネットに付随する当該ユーザ認証情報は、キャビネット毎に設定することができるので、特に機密性の高いデータを保持する場合等に有効である。
【００６６】
尚、キャビネットは、階層構造の制限や認証制御リストの構造等に設計上の相違はあるものの、ディジタル複合機においても同様の機能が備わっている。
【００６７】
＜ユーザコンピュータ１１３の構成＞
図３は、ユーザコンピュータ１１３が備える特徴的な構成を具体的に示したものである。
【００６８】
ユーザコンピュータ１１３は、上記図３に示すように、ユーザの秘密鍵を入力するＵＩ部３０７と、ユーザの初期認証情報を保持する情報保持部３０１と、キャビネット指定部３０２と、キャビネットの認証情報を取得する情報取得部３０３と、ユーザの初期認証情報を使用してキャビネットの認証情報を復号（解読）する情報解読部と、キャビネットのユーザ認証情報を入力する情報入力部３０５とを備えている。
【００６９】
ＵＩ部３０７は、ユーザが、ファイルシステム１１１を利用するための初期認証情報を入力する機能を提供する。
【００７０】
具体的に例えば、ＵＩ部３０７は、システムへのログインと呼ばれる行為に相当する機能（ログイン機能）を提供する。これは、ユーザが初めてファイルシステム１１１を利用する際に必ず必要なプロセスである。ＵＩ部３０７は、上記ログイン機能により、認証情報を入力するためのダイアログボックスを、ユーザコンピュータ１１３に設けられたディスプレイ（不図示）上に表示し、ユーザに対して認証情報の入力を促すと共に、ユーザが入力した情報を初期認証情報として取り込む。
【００７１】
初期認証部３０６は、ユーザのファイルシステム１１１の利用を実施する機能を提供する。
【００７２】
具体的には例えば、初期認証部３０６は、認証サーバ１３０にアクセスし、ＵＩ部３０７により取得したユーザの初期認証情報を用いて、ユーザの初期認証を行う。
このとき、初期認証部３０６は、ＵＩ部３０７における情報表示のＯＮ／ＯＦＦ（表示／非表示）を制御する。すなわち、ユーザが既に認証を終えてドメインに参加している場合、初期認証手段３０６は、ＵＩ部３０７をあらためて表示することなく、当該ユーザが正規に認証を終えたものとして処理を続行する。一方、ユーザが未だドメインに参加していない場合、初期認証部３０６は、あらためてＵＩ部３０７を表示することで、当該ユーザの認証を行う。
【００７３】
ここで、認証サーバ１３０がロータスドミノサーバであり、ユーザが自身のＰＣ（ユーザコンピュータ１１３）上でノーツクライアントを起動して使用している場合、初期認証部３０６は、ＵＩ部３０７をあらためて表示することなく、当該ユーザが正規に認証を終えたものとして処理を続行する。一方、ユーザが自身のＰＣ（ユーザコンピュータ１１３）でノーツクライアントを起動していない場合、初期認証部３０６は、あらためてＵＩ部３０７を表示することで、当該ユーザの認証を行う。
【００７４】
初期認証部３０６は、上述の一連の処理を、例えば、「Ｗｉｎｄｏｗｓ（Ｒ）」や、ノーツが提供する所定のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ ｐｒｏｇｒａｍｉｎｇ ｉｎｔｅｒｆａｃｅ）の機能を用いることで実現している。例えば、初期認証部３０６は、ユーザがログインしているドメインの名称を取得するＡＰＩや、ドメインへのログインを実施するＡＰＩ等を用いる。
【００７５】
初期認証部３０６によりユーザの初期認証が完了すると、ＵＩ部３０７でユーザから入力された初期認証情報は、当該ユーザが権限を有する所定の期間に渡って、ユーザコンピュータ１１３内部に安全に保持されるようになされている。
【００７６】
所定の期間としては、例えば、ユーザがファイルシステム１１１の利用を終え、ログアウトするまでの期間が挙げられる。
また、初期認証情報を安全に保持するための構成は、情報保持部３０１の構成に該当する。すなわち、情報保持部３０１は、ユーザコンピュータ１１３内の一時記憶領域に、ユーザコンピュータ１１３でのみ操作可能な形態で保持する。ここで保持されたユーザの初期認証情報は、後述する暗号化されたキャビネットにおけるユーザ認証情報を復号処理する際に用いられる。
【００７７】
キャビネット指定部３０２は、後述するユーザインターフェース（ＵＩ）部３１０と協調動作し、ファイルシステム１１１のユーザが指定するキャビネットを認識すると共に、当該キャビネットの名称を取得する。
【００７８】
ＵＩ部３１０は、ファイルシステム１１１のユーザに対して、ファイルシステム１１１を操作するための必要なユーザインターフェース（ＵＩ）部３１０を提供する。
したがって、ユーザは、ファイルシステム１１１で作成されたキャビネットのうち、所望するキャビネットにアクセスするために、当該キャビネットを指定する操作をＵＩ部３１０において行う。
【００７９】
キャビネットを指定（特定）する際、当該キャビネットの名称を用いるが、当該キャビネットの名称は、当該キャビネットに関連付けられたユーザ認証情報を取得するためにも必要である。
【００８０】
尚、本実施の形態では、キャビネットを特定するために当該キャビネットの名称を用いるが、これに限られることはなく、例えば、当該キャビネットに関連付けられたＩＤを用いるようにしてもよい。どのような方法をとるかは、ファイルシステム１１１におけるキャビネット構造や、複数キャビネットの管理等に依存して、設計効率の良い方法を選ぶようにすることが好ましい。
【００８１】
情報取得部３０３は、ファイルシステム１１１にログインしたユーザの名称、及びキャビネット指定部３０２で取得したキャビネット名称に基づいて、ディレクトリサーバ１２０から該当するユーザ認証情報を取得する。
上述したように、ディレクトリサーバ１２０は、ＬＤＡＰをサポートするようになされているので、情報取得部３０３は、ＬＤＡＰクライアントとしての機能を有し、当該ＬＤＡＰにより該当するユーザ認証情報をディレクトリサーバ１２０から取得する。
【００８２】
情報取得部３０３によりディレクトリサーバ１２０から取得されたユーザ認証情報は、所定の暗号アルゴリズムに従って、ユーザ毎の認証情報を鍵として暗号化された状態である。
【００８３】
情報解読部３０４は、所定の暗号処理エンジンを内包したソフトウェアプログラムの起動により実施される機能を有し、ユーザ認証情報についての暗号処理及び復号処理を実行可能なように構成されている。
したがって、情報解読部３０４は、初期認証部３０６によりユーザコンピュータ１１３内部に安全保持されたユーザの初期認証情報を用いて、上記暗号化されたユーザ認証情報を復号（解読）する。
【００８４】
情報解読部３０４において、暗号処理エンジンがサポートする暗号アルゴリズムとしては、既存の様々な種類の暗号アルゴリズムを適用可能であり、ここでは任意のアルゴリズムが予め設定されているものとする。
【００８５】
また、データの暗号化処理及び復号化処理については、当該処理がユーザコンピュータ１１３でのみ実行されるように構成されているため、ユーザの暗号鍵がネットワーク１５０上を流れることはない。したがって、ネットワーク１５０上の不正な盗聴行為によってユーザの暗号鍵が盗まれる等の問題を回避することができる。
【００８６】
情報入力部３０５は、情報解読部３０４により解読されたユーザ認証情報をＵＩ３１０に対して入力する。
【００８７】
すなわち、従来では、ユーザインターフェースは、認証情報を入力するダイアログ等で構成され、ユーザは、当該ダイアログに対して、キャビネット毎にユーザ認証情報を手入力していたが、情報入力部３０５が、ダイアログを自動的にフックしてユーザ認証情報の入力を代行する。したがって、キャビネットのユーザ認証情報の入力は自動化され、ユーザは当該入力作業を行う必要はない。
【００８８】
ここで他の実施形態として、情報取得部３０３は、ディレクトリサーバ１２０ではなく、当該ユーザコンピュータ１１３上の所定の記憶領域から、該当するユーザ認証情報を取得する構成も可能である。すなわち、キャビネットに対応するユーザ認証情報を、あらかじめプログラムと一緒にロードされたユーザコンピュータ１１３上の所定の記憶領域から、内部的に取得するのである。この場合、ユーザ認証情報はユーザコンピュータ１１３の記憶領域内でのみ処理され、ディレクトリサーバ１２０へのアクセス時のようにコンピュータの外部にデータが出ることは無い。従って、ユーザ認証情報は暗号化されていなくてもよく、直ちに情報入力部３０５によってキャビネットへのユーザ認証情報入力が実施される。
【００８９】
上述のように本実施の形態では、キャビネットのユーザ認証情報について、検索、取得、復号処理、及びダイアログへの入力、という一連のシーケンスが自動化されるので、ユーザは、自らキャビネットのユーザ認証情報を入力する作業から開放される。
また、ユーザ認証情報の入力が、ユーザコンピュータ１１３のバックエンドで自動的に行われるため、ユーザは、キャビネット毎に設定される固有のユーザ認証情報を記憶しておく必要がない。
【００９０】
すなわち、ユーザは、ファイルシステム１１１を利用するにあたり、初期認証情報を入力して認証を経た後は、利用したいキャビネットにアクセスするだけでよい。その後は、ユーザコンピュータ１１３が自動的にキャビネットのユーザ認証情報を入力し、キャビネットへのアクセスがユーザに許可される。
【００９１】
さらに、ユーザが既にドメイン認証を経てドメインに参加している場合等のように、ユーザの認証が完了している場合、ユーザは、ファイルシステム１１１を利用するにあたり、あらためてユーザの初期認証情報を入力する必要がない。この場合、ファイルシステム１１１は、既存の認証システムと協調して動作するため、一層のユーザビリティ向上が期待できる。
【００９２】
尚、上記図３において、破線で示した認証サーバ１３０、ディレクトリサーバ１２０、及びキャビネットのＵＩ部３１０、及び破線の結合線は、ユーザコンピュータ１１３が備える各構成部３０１〜３０７との関連を示したものである。
また、ユーザコンピュータ１１３において、その各構成部３０１〜３０７同士を直線で結ぶ実線は、各構成部３０１〜３０７の関連を示したものである。
【００９３】
また、上位図３において、ユーザコンピュータ１１３として実線で囲んだ部分は、囲んだ部分のみが独立してコンピュータ上にあることを意味するものではない。他の構成部分、例えばキャビネットのＵＩ部３１０が、ユーザコンピュータ１１３の各構成要素と共に、物理的には同じコンピュータ上で動作する場合もある。
【００９４】
＜ディレクトリサーバ１２０の機能＞
ここでは、ディレクトリサーバ１２０によりデータベース１２１で保持されるユーザ認証情報、及びディレクトリサーバ１２０がユーザ認証情報を管理する際の、当該情報の整合性を保証するための一定の規則（以下、「スキーマ」とも言う）について説明する。
【００９５】
上述したように、ユーザ認証情報は、ファイルシステム１１１におけるキャビネットのユーザ認証情報であり、ユーザがキャビネットにアクセスするために入力しなければならない情報である。
【００９６】
ユーザ認証情報は、そのままのかたちでディレクトリサーバ１２０で保持されるのではなく、所定の暗号アルゴリズムに従って暗号化されてから、ディレクトリサーバ１２０に送信され保持される。
これは、ディレクトリサーバ１２０を総合的に管理する権限を有する別のユーザが、ディレクトリサーバ１２０でユーザ毎に保持されているユーザ認証情報を不正に参照するのを防ぐためである。すなわち、ディレクトリサーバ１２０の管理者が、ファイルシステム１１１の管理者（或いはユーザ）であるとは限らないため、ファイルシステム１１１のキャビネットにアクセスするためのユーザ認証情報が不正に盗まれてしまう恐れをなくすことを意図したものである。
【００９７】
ここで、以下の説明の簡単のため、上記図２に示したようなキャビネットＸ（Ｘ：０，１，２，３，…）を特定する名称を「CabinetＸ」で表し、キャビネットＸに対応するユーザYのユーザ認証情報を「pasＹＸ」で表す。また、情報Ｍを暗号鍵ｋで暗号化することを「Ek（Ｍ）」で表す。
【００９８】
したがって、例えば、キャビネット１に対して設定されたユーザ１のユーザ認証情報は「pass１1」となり、これを利用者１の暗号鍵ｋ１で暗号化することは、
Ek1（pass１1）
で表される。
また、キャビネット１に関連付けされたユーザ認証情報が、キャビネット１を特定する名称「Cabinet１」に関連付けされていることは、
Ek1（pass１1）：Cabinet１
で表される。
【００９９】
本実施の形態では、ディレクトリサーバ１２０におけるスキーマとして、キャビネットを使用するユーザのクラス（ユーザクラス）を意味する“cabinetPerson”が定義される。また、ユーザクラスは、暗号化されたユーザ認証情報をキャビネットに対応づけた値として、“encryptedPass”が属性として定義さる。
【０１００】
以下は、オブジェクトクラス及び属性を、ＲＦＣ２２５２で規定されたディレクティブを用いて例示したものである。
0004109874.tif 000002
【０１０１】
そこで、上述したようにして定義されたスキーマを用いて、本実施の形態では、ユーザ認証情報をキャビネットに関連付けて、ユーザ毎にディレクトリサーバ１２０で保持する。
【０１０２】
図４は、ディレクトリサーバ１２０でのユーザ毎の当該保持情報の様子を示したものである。
【０１０３】
上記図４において、User１（４００）及びUser２（４１０）はそれぞれ、“cabinetPerson”クラス（ユーザクラス）により定義されたオブジェクトである。
それぞれのオブジェクトUser１（４００）及びUser２（４１０）は、キャビネット毎に関連付けされた暗号化されたユーザ認証情報を、“encryptedPass”属性として所有している。すなわち、オブジェクトUser１（４００）は、キャビネット１（２０１）に対応する暗号化されたユーザ認証情報４０１、キャビネット２（２０２）に対応する暗号化されたユーザ認証情報４０２、…を所有している。オブジェクトUser２（４１０）についても同様に、ユーザ認証情報４１１、ユーザ認証情報４１２、…を所有している。
【０１０４】
オブジェクトUser１（４００）が所有する“encryptedPass”属性の１つであるユーザ認証情報４０１（Ek1(pass1１):Cabinet1）は、ユーザ１がキャビネット１（２０１）に対するユーザ認証情報として“pass１1”を設定しており、当該ユーザ認証情報がユーザ1の暗号鍵ｋ１により暗号化され、当該暗号化後のユーザ認証情報がキャビネット１に関連付けられてディレクトリサーバ１２０によりに維持されていることを意味している。
【０１０５】
一方、オブジェクトUser２（４１０）が所有する“encryptedPass”属性の１つであるユーザ認証情報４１１（Ek2(pass２1):Cabinet1）については、キャビネット１（２０１）に設定されたユーザ認証情報pass1がユーザ２の暗号鍵ｋ２で暗号処理されていることを意味している。
したがって、ユーザ１はユーザ２のキャビネットに対するユーザ認証情報を取得して解読することができないので、データの機密性を高めることができる。
【０１０６】
“cabinetPerson”クラスにより定義されたオブジェクト（User１（４００）及びUser２（４１０）等）は、ユーザの登録状況に応じて動的に変更することが可能である。また、キャビネット毎に関連付けされ暗号化されたユーザ認証情報、すなわち“encryptedPass”属性は、当該属性を所有するユーザが使用するキャビネットの登録状況に応じて変化する。
【０１０７】
尚、ユーザの登録や、キャビネットへのアクセスに関する設定は、予めファイルシステム１１１に対して行わる。その後、ユーザコンピュータ１１３は、当該登録情報や設定情報等を取得し、ディレクトリサーバ１２０に反映する。
ユーザコンピュータ１１３において、ファイルシステム１１１の登録ユーザや、キャビネットのアクセス設定を参照し、これをディレクトリサーバ１２０に反映させる機能（以下、「シンクロナイズ機能」とも言う）は、情報取得部３０３が具備している。
上記シンクロナイズ機能は、ユーザコンピュータ１１３のサービスとして登録されたデーモンプログラムにより、定期的且つ自動的に処理される。当該処理については、システム管理者が手動で必要な時に実施することも可能である。上記シンクロナイズ機能の動作モードの切り替えは、システム設定として、その管理者により予め行われる。
【０１０８】
上述したようなディレクトリサーバ１２０におけるスキーマの定義としては、次のような形態をも適用可能である。
例えば、キャビネットを使用するユーザのクラスではなく、キャビネットそのものをクラスとして定義する。この場合、キャビネットクラスは、暗号化されたユーザ認証情報をキャビネットの利用者に関連付けた値を属性として所有することになる。
【０１０９】
以下は、上記の場合のオブジェクトクラス及び属性を、ＲＦＣ２２５２で規定されたディレクティブを用いて例示したものである。
0004109874.tif 000003
SYNTAX 1.3.6.1.4.1.1466.115.121.1.40 )
【０１１０】
＜ネットワークシステム１００の動作＞
ここでは、キャビネット毎に登録可能なユーザ認証情報を統一的に管理するようになされたネットワークシステム１００の動作について、図５〜図８に示すフローチャートを用いて説明する。
【０１１１】
（１）メイン処理（図５参照）
ステップＳ５００、ステップＳ５０１：
ユーザは、ユーザコンピュータ１１３を起動させ（ステップＳ５００）、ファイルシステム１１１の所望するキャビネットにアクセスするための操作を行う。
【０１１２】
これによりユーザコンピュータ１１３は、ユーザがアクセス希望するキャビネットのプロファイルを取得及び参照し（ステップＳ５０１）、当該キャビネットの認証を行う認証サーバ情報（ここでは認証サーバ１３０の情報）を取得する。
【０１１３】
ここで、上記のプロファイルには、ユーザのキャビネットへのアクセスを認証する認証サーバ（ここでは認証サーバ１３０）に関する情報、例えば、所在情報（ＩＰアドレス等）や、認証方式情報（NTLMや、Kerberos、或いはSSL等の方式情報）等が保持されている。
また、上記のプロファイルは、ファイルシステム１１１が保持しており、ユーザコンピュータ１１３は、ファイルシステム１１１から当該プロファイルを参照することで、どの認証サーバに対して、どのような方式で認証するかを特定する。
【０１１４】
プロファイルをファイルシステム１１１が保持するのは、キャビネットが複数ある場合に、キャビネット毎にユーザを認証する認証サーバが異なる場合があることを考慮しているからである。
【０１１５】
ステップＳ５０２：
ユーザコンピュータ１１３は、ユーザがアクセスしたキャビネットに対する初期認証が既に完了しているか否かの情報（認証ステータス）をも保持していることにより、ステップＳ５０１でファイルシステム１１１からプロファイルを取得すると同時に、上記認証ステータスをも合わせて認識する。
これにより、ユーザコンピュータ１１３は、ユーザの初期認証が完了しているか否かを判別し、この判別の結果、初期認証が完了していない場合にはステップＳ５０３へ進み、既に初期認証が完了しておりユーザがログイン状態となっている場合にはユーザの初期認証プロセスを省略してそのままステップ５０５へ進む。
このように、既に初期認証が完了している場合には、ユーザの初期認証における処理を簡略化するように構成したのは、システムの利便性を高めるためである。
【０１１６】
ステップＳ５０３：
ステップＳ５０２の判別の結果、初期認証が完了していない場合、ユーザコンピュータ１１３は、詳細は後述するが、ファイルシステム１１１におけるユーザの初期認証を行う。
【０１１７】
ステップＳ５０４：
ユーザコンピュータ１１３は、ステップＳ５０３での初期認証の結果により、認証ステータスを評価し、この評価の結果、ユーザが予め登録された正規のユーザであるか否かを判別する。
この判決の結果、ユーザが予め登録された正規のユーザであると認証された場合、次のステップＳ５０５へ進む。一方、ユーザが予め登録された正規のユーザであると認証されなかった場合、例えば、ユーザが間違った初期認証情報を入力したことにより、ユーザの認証ステータスが認証不可の場合、再びステップＳ５０３へ戻り、再度ユーザからの正しい初期認証情報の入力を待つ。ここでは、ユーザが正規のシステム利用権限を有していない場合にも、先のステップＳ５０５へ進むことはできない。
【０１１８】
ステップＳ５０５：
ステップＳ５０４の判別の結果、ユーザが予め登録された正規のユーザであると認証された場合、ユーザコンピュータ１１３は、上述したようにユーザの初期認証情報を保持し、詳細は後述するが、ユーザが実際にキャビネットへアクセスして必要な操作を行うための処理を実行する。
【０１１９】
ステップＳ５０６、ステップＳ５０７：
ユーザコンピュータ１１３は、ユーザがキャビネットを利用し終えた後、ユーザからログアウトを指示されたか否かを判別する（ステップＳ５０６）。
この判別の結果、ログアウトを指示された場合、本処理は正常に終了し、ユーザコンピュータ１２０に保持されていたユーザの初期認証情報及び認証ステータスが完全に破棄される（ステップＳ５０７）。一方、ユーザがログアウトを指示しなかった場合、例えば、ユーザが一時的にキャビネットの利用を終えただけで、再びキャビネットの利用の望む場合、再びステップＳ５０１からの処理が実行される。
【０１２０】
（２）キャビネット利用者の初期認証（図６参照）
ステップＳ６０１：
上記図５のステップＳ５０２での判別の結果、ユーザが初期認証されていない場合、次のステップＳ６０２からの処理を実行開始するにあたり、ユーザコンピュータ１１３は、ユーザが、ファイルシステム１１１内のどのキャビネットにアクセスしようとしているかの情報に、及び当該キャビネットの認証を行う認証サーバに関する情報を既に取得している。
【０１２１】
そこで、ユーザコンピュータ１１３は、上記の認証サーバ１３０に関する情報から、認証サーバ１３０及びその認証方法を特定し、認証サーバ１３０との接続を試みる。
【０１２２】
ステップＳ６０２：
ユーザコンピュータ１１３は、ステップＳ６０１で認証サーバ１３０との接続に成功し、認証サーバ１３０において、ステップＳ６０１で特定した所定の認証方法に基づいた認証プロセスが開始されると、認証ダイアログを表示する。
【０１２３】
尚、認証サーバ１３０との接続に失敗した場合、例えば、ステップＳ６０１からの処理の実行を中断し、その旨を、ダイアログ表示や、ログファイルを残す等の方法により、ユーザに対して通知する。認証サーバ１３０との接続が失敗する例としては、ネットワーク１５０上の障害や、認証サーバ１３０の障害等が挙げられる。
【０１２４】
ステップＳ６０３：
認証サーバ１３０との接続に成功して認証ダイアログが表示されると、ユーザは、当該認証ダイアログに対して、自身のみ知る初期認証情報を入力する。
これによりユーザコンピュータ１１３は、当該認証ダイアログに対して入力されたユーザ固有の初期認証情報を、ソフトウェア的に内部に取り込む。
【０１２５】
上記のユーザ固有の初期認証情報は、引き続く認証サーバ１３０との認証プロシージャにおいて使用される。
本実施の形態では、その一例として、ユーザ認証方式を、「Ｗｉｎｄｏｗｓ（Ｒ）」による「ＮＴＬＭ（Ｗｉｎｄｏｗｓ（Ｒ） ＮＴ ＬＡＮ Ｍａｎａｇｅｒ）認証」を用いるものとする。
【０１２６】
ステップＳ６０４：
ユーザコンピュータ１１３と認証サーバ１３０の間で、接続が成功し、ＮＴＬＭ認証プロセスが開始すると、認証サーバ１３０は、ユーザコンピュータ１０２に対してチャレンジ要求を送信する。
当該チャレンジ要求には、認証サーバ１３０が生成した任意の値が含まれており、ユーザコンピュータ１１３は、当該値に基づき、認証サーバ１３０へのレスポンス値を計算する。また、ユーザコンピュータ１１３は、レスポンスの計算を、当該チャレンジ要求に含まれる任意の値の他に、ユーザ固有の初期認証情報を用いて、所定のハッシュアルゴリズム及び暗号化アルゴリズムに基づき実行する。
【０１２７】
ステップＳ６０５：
ユーザコンピュータ１１３は、ステップＳ６０４でレスポンスを算出すると、これを認証サーバ１３０に対して返送する。
【０１２８】
ここで、ハッシュアルゴリズム及び暗号化アルゴリズムは、予め認証サーバ１３０とユーザコンピュータ１１３の間でネゴシエーション過程で統一されている。  当該ネゴシエーション過程は、ユーザコンピュータ１１３が認証サーバ１３０に接続するステップＳ６０１の一プロセスとして実施される。
【０１２９】
ステップＳ６０６：
認証サーバ１３０は、予め登録されているユーザ固有の初期認証情報、及びチャレンジ要求で生成した任意の値を用いた、ユーザコンピュータ１１３で用いられたハッシュアルゴリズム及び暗号化アルゴリズムの実行により算出した値と、ユーザコンピュータ１１３から返送されてきたレスポンス値とを比較し、この比較の結果、値が一致した場合、ユーザを認証して、そのステータス（認証ステータス）をユーザコンピュータ１１３に対して送信し、一方、値が不一致の場合、ユーザを認証せず、その旨を示す認証ステータスをユーザコンピュータ１１３に対して送信する。
【０１３０】
したがって、ユーザコンピュータ１１３は、上記図５に示したステップＳ５０４において、認証サーバ１３０から送信されてきた認証ステータスにより、ユーザが認証されたか否かを判別することになる。
【０１３１】
尚、上記図６に示した、キャビネット利用者の初期認証の処理（ステップＳ５０３）において、ＮＴＬＭ認証以外の方式を用いた場合、その方式に基づいた処理シーケンスに順じて変更されることは言うまでもない。この処理シーケンスの変更は、予めユーザコンピュータ１１３と認証サーバ１３０のＯＳ機能の一部として内在しており、その切り替えは、ユーザコンピュータ１１３と認証サーバ１３０の接続（ステップＳ６０１でのハンドシェイク工程）において実施される。
【０１３２】
（３）キャビネットの利用（図７参照）
ステップＳ７０１：
上記図５に示したステップ５０４での判別の結果、ユーザが認証されると（認証成功）、当該ユーザはファイルシステム１１１のキャビネットを利用可能となる。
そこで、ユーザは、ユーザコンピュータ１１３により、ファイルシステム１１１内の所望するキャビネットへアクセスする。
これによりユーザコンピュータ１１３は、キャビネット指定部３０２を介して、ユーザがアクセスしたキャビネット名を取得する。
【０１３３】
ステップＳ７０２：
ユーザコンピュータ１１３は、詳細は後述するが、現在ログインしているユーザ名を取得し、当該ユーザ名情報と、ステップＳ７０１で取得したキャビネット名情報とを合わせて、キー情報として、所定のディレクトリサーバ１２０に対してＬＤＡＰサーチを実施する。
【０１３４】
ステップＳ７０３：
ユーザコンピュータ１１３は、ステップＳ７０２の処理実行で取得したユーザ認証情報は上述した通り暗号化処理されているため、当該暗号化されたユーザ認証情報を復号する。
ここでの復号化処理は、予め設定された暗号アルゴリズムに基づき、ユーザの初期認証情報を暗号鍵として実施される。
【０１３５】
ステップＳ７０４：
ユーザコンピュータ１１３は、ステップＳ７０３で復号したユーザ認証情報を、該当するキャビネットの認証インターフェース（ＵＩ３１０）に対して入力する。
ここでのキャビネットの認証インターフェースとしては、例えば、認証ダイアログボックスを適用可能であり、この場合、当該ダイアログボックスに対して、復号後のユーザ認証情報が自動入力される。
【０１３６】
尚、認証インターフェースとしては、例えば、本発明にかかるシステムに対応するために、専用に設計したソフトウエアインターフェースをも適用可能である。この場合、キャビネットの認証情報を入力パラメータとするＡＰＩを、ファイルシステム１１１のユーザコンピュータ１１３に設計しておく。これにより、キャビネットのユーザ認証情報を入力する情報入力部３０５は、当該ＡＰＩをコールすることで、キャビネットのユーザ認証情報をソフトウェア的にファイルシステム１１１に渡すことが可能となる。また、キャビネットの認証ダイアログは不要となる。
【０１３７】
ステップＳ７０５：
キャビネットへのユーザ認証情報の入力が完了し、ファイルシステム１１１側でユーザ認証に成功すれば、ユーザは、当該キャビネットへのアクセスが可能となり、当該キャビネットを開いて、ユーザ作業を開始できる状態となる。
【０１３８】
ステップＳ７０５の処理後、すなわちユーザのキャビネットの利用が終了すると、上記図５に示したステップＳ５０６において、ユーザがログアウトするか、或いは引き続きキャビネットを利用するかが判別されることになる。
【０１３９】
ユーザが、再び同一のキャビネットを利用する場合や、今度は別のキャビネットを利用する場合が考えられ、何れの場合においても、上記図５のステップＳ５０１の処理（キャビネットのプロファイルを取得する工程）が実施される。
【０１４０】
例えば、ユーザが、認証サーバの異なるプロファイルを保持しているキャビネットへアクセスした場合、当該ユーザは、前のキャビネットでは既に初期認証を得ているが、新しくアクセスしたキャビネットについては未だ初期認証を完了していないことになる。したがって、あらためてキャビネットのユーザに関して、ステップＳ５０３の処理（初期認証工程）が実施されることになる。
【０１４１】
ユーザがログアウトしていなければ、当該ユーザの初期認証情報及び認証ステータスがユーザコンピュータ１１３内の所定の記憶領域に保持されているため、これを用いて当該ユーザは、再びキャビネットを利用することができる（ステップＳ５０４参照）。一方、ユーザがログアウトを選択すると、ファイルシステム１１１の利用が終了し、必要な終了処理が実施される（ステップＳ５０７参照）。
【０１４２】
（４）利用者認証情報の検索（図８参照）
ステップＳ８０１：
ユーザコンピュータ１１３は、上記図７に示したステップＳ７０１において、ユーザが利用するキャビネット名を取得すると、ＬＤＡＰのsearchオペレーションを実行することで当該キャビネット名及びユーザ名をキーとしてユーザ認証情報を検索して取得するために、先ず、ユーザの初期認証情報を使用して、ＬＤＡＰのｂｉｎｄオペレーションを実施する。
【０１４３】
ここで、ｂｉｎｄオペレーションは、ユーザのディレクトリサーバ１２０へのアクセス認証を兼ねることが可能であり、この場合、ユーザ認証情報をパラメータとして指定する必要がある。しかしながら本実施の形態では、ディレクトリサーバ１２０へのアクセス認証を実施しない、匿名によるＳｉｍｐｌｅ ｂｉｎｄ（ａｎｏｎｙｍｏｕｓ ｂｉｎｄ）オペレーションを使用するものとする。したがって、ユーザのディレクトリサーバ１２０に対する認証情報は不要となる。
【０１４４】
尚、匿名によるｂｉｎｄオペレーションを実施した場合であっても、取得するキャビネット毎のユーザ認証情報は、ユーザ固有の初期認証情報で暗号化されているため、機密性の低下はることはない。
【０１４５】
一方、認証によるｂｉｎｄオペレーション（認証ｂｉｎｄオペレーション）を実施する場合、ユーザがログインする際に利用されたユーザ固有の初期認証情報が、ディレクトリサーバ１２０への認証パラメータのために用いられる。
【０１４６】
この場合、先ず、ユーザ固有の初期認証情報を、ユーザコンピュータ１１３の所定の記憶領域から復帰させる。当該復帰したユーザ固有の初期認証情報は、所定のハッシュアルゴリズムを用いてハッシュが算出される。当該ハッシュが、認証ｂｉｎｄオペレーションにおける認証パラメータに該当する。
上記図３に示した情報取得部３０３は、当該ハッシュを用いて、ディレクトリサーバ接続（bind）工程（ステップＳ８０１）を実施する。
【０１４７】
ｂｉｎｄオペレーションを匿名で行うか、或いは認証で行うかは、システムの初期設定により決定される。また、この設定はユーザが行う。
また、匿名でｂｉｎｄオペレーションを実施するか否かは、一般的にはディレクトリサーバ１２０の処理能力等を基準に判断する。これは、匿名でのバインドを許可すると、アクセス権限を持たないユーザを含めて、全てのユーザがディレクトリサーバ１２０へ接続を試みる恐れがあるためである。
【０１４８】
ステップＳ８０２：
ユーザコンピュータ１１３は、ステップＳ８０１でのｂｉｎｄオペレーションの結果により、すなわちディレクトリサーバ１２０からのレスポンスにより、バインド（認証）が成功したか否かを判別する。
この判別の結果、ｂｉｎｄオペレーションに失敗した場合、ユーザは再び初期認証情報の取得が必要となるため、上記図５のステップＳ５０３（キャビネット利用者の初期認証工程）へ再び移行する。一方、ｂｉｎｄオペレーションに成功（認証に成功）した場合、次のステップＳ８０３へ進む。
【０１４９】
ステップＳ８０３：
ステップＳ８０２の判別の結果、ｂｉｎｄオペレーションに成功（認証に成功）した場合、ユーザコンピュータ１１３は、実際にキャビネットのユーザ認証情報の取得を実施する。
【０１５０】
尚、匿名でのｂｉｎｄオペレーションを実施した場合、ステップＳ８０２における判別工程は不要であるため、直接、ｓｅａｒｃｈオペレーションを実施するステップＳ８０３へ移行する。
【０１５１】
具体的には例えば、ユーザコンピュータ１１３は、オブジェクトクラス名（“cabinetPerson”の値）及び属性名（“encryptedPass”の値）を指定して、所定のユーザ認証情報を取得（search）する。
searchオペレーションの結果、所定のキャビネットに関連付けされ暗号化されたユーザ認証情報が、ディレクトリサーバ１２０において検索され取得される。
【０１５２】
ステップＳ８０４：
ユーザコンピュータ１１３は、ＬＤＡＰ処理を、ディレクトリサーバ接続解除（unbind）工程に移行させる。
これにより、一連のＬＤＡＰオペレーションの処理工程が終了し、上記図７に示した、キャビネットの利用のためのステップＳ７０３からの処理が実施される。
【０１５３】
ところで、前述した他の実施形態において、情報取得部３０３がディレクトリサーバ１２０ではなく、当該ユーザコンピュータ１１３上の所定の記憶領域から、該当するユーザ認証情報を取得する構成をとる場合、図８に示す利用者認証情報の検索と取得工程Ｓ７０２は、ディレクトリサーバに対するバインドオペレーション並びにサーチオペレーションといった一連のＬＤＡＰシーケンスが不要となる。
すなわち、利用者認証情報を取得する処理関数コール（あるいは処理シーケンス）を実行して、コンピュータ上の記憶領域に格納されているデータを取得するだけでよい。これら一連の処理シーケンスは、ソフトウェアとしてコンピュータ上に記憶されたプログラムの動作とレジスタ間のデータ転送処理として実行されるのである。キャビネット及びユーザに対応する利用者認証情報は、それぞれ別別に設定され保持されていたり、あるいはすべて固定で設定されている場合もある。
【０１５４】
尚、本発明の目的は、本実施の形態のホスト及び端末の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読みだして実行することによっても、達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が本実施の形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体及び当該プログラムコードは本発明を構成することとなる。
プログラムコードを供給するための記憶媒体としては、ＲＯＭ、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード等を用いることができる。
また、コンピュータが読みだしたプログラムコードを実行することにより、本実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ等が実際の処理の一部又は全部を行い、その処理によって本実施の形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された拡張機能ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって本実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０１５５】
図９は、上記コンピュータの機能９００を示したものである。
コンピュータ機能９００は、上記図９に示すように、ＣＰＵ９０１と、ＲＯＭ９０２と、ＲＡＭ９０３と、キーボード（ＫＢ）９０９のキーボードコントローラ（ＫＢＣ）９０５と、表示部としてのＣＲＴディスプレイ（ＣＲＴ）９１０のＣＲＴコントローラ（ＣＲＴＣ）９０６と、ハードディスク（ＨＤ）９１１及びフレキシブルディスク（ＦＤ）９１２のディスクコントローラ（ＤＫＣ）９０７と、ネットワーク９２０との接続のためのネットワークインターフェースコントローラ（ＮＩＣ）９０８とが、システムバス９０４を介して互いに通信可能に接続された構成としている。
【０１５６】
ＣＰＵ９０１は、ＲＯＭ９０２或いはＨＤ９１１に記憶されたソフトウェア、或いはＦＤ９１２より供給されるソフトウェアを実行することで、システムバス９０４に接続された各構成部を総括的に制御する。
すなわち、ＣＰＵ９０１は、所定の処理シーケンスに従った処理プログラムを、ＲＯＭ９０２、或いはＨＤ９１１、或いはＦＤ９１２から読み出して実行することで、本実施の形態での動作を実現するための制御を行う。
【０１５７】
ＲＡＭ９０３は、ＣＰＵ９０１の主メモリ或いはワークエリア等として機能する。
ＫＢＣ９０５は、ＫＢ９０９や図示していないポインティングデバイス等からの指示入力を制御する。
ＣＲＴＣ９０６は、ＣＲＴ９１０の表示を制御する。
ＤＫＣ９０７は、ブートプログラム、種々のアプリケーション、編集ファイル、ユーザファイル、ネットワーク管理プログラム、及び本実施の形態における所定の処理プログラム等を記憶するＨＤ９１１及びＦＤ９１２とのアクセスを制御する。
ＮＩＣ９０８は、ネットワーク９２０上の装置或いはシステムと双方向にデータをやりとりする。
【０１５８】
【発明の効果】
以上説明したように本発明によれば、ユーザが任意のキャビネットへのアクセス（利用のためのアクセス）を行ったときに、当該ユーザの初期認証が済みである場合、今回のキャビネットのアクセスのための認証情報として、初期認証時の認証情報が自動的に設定されるため、ユーザは従来のように、キャビネットの利用のたびに認証情報を入力する必要はない。
【０１５９】
具体的には例えば、既存のディジタル複合機やファイルシステムにおける個々のキャビネットの認証において、利用者は一度の初期認証のみ行うだけで、全てのキャビネットに自由にアクセスすることが可能となる。これにより、キャビネットの機密性を維持した状態で、利用者の利便性を向上させることができる。
【０１６０】
さらに、上記の効果を得るにあたり、既存のディジタル複合機やファイルシステムに対して、新たな機種の導入やバージョンへの置き換え等が基本的には不要となり、利用者の新たな負担を発生させることもない。また、利用者のオフィスにおける既存のパーソナルコンピュータや認証環境をそのまま利用する場合、当該認証環境における認証サーバを、そのまま本発明にかかるシステムの認証サーバとして利用することが可能である。これらのことは、利用者が過剰な設備投資を避ける上で効果的である。
【０１６１】
また、国際標準プロトコル及び暗号処理アルゴリズムを利用するように構成した場合、特定のシングルサインオンシステムの仕様に依存するといった制約から開放される。したがって、装置やアプリケーションの開発者は、柔軟な製品仕様に基づく製品開発が可能となる。
【図面の簡単な説明】
【図１】本発明を適用したネットワークシステムの構成を示すブロック図である。
【図２】上記ネットワークシステムのファイルシステムにおけるキャビネットの構成を説明するための図である。
【図３】上記ネットワークシステムのユーザコンピュータの構成を示すブロック図である。
【図４】上記ネットワークシステムのディレクトリサーバのスキーマ定義に関して具体的に説明するための図である。
【図５】上記ネットワークシステムの全体の処理を説明するためのフローチャートである。
【図６】上記全体処理の初期認証処理を説明するためのフローチャートである。
【図７】上記全体処理のキャビネット利用処理を説明するためのフローチャートである。
【図８】上記全体処理の利用者認証情報検索処理を説明するためのフローチャートである。
【図９】上記ネットワークシステムの機能をコンピュータに実現させるためのプログラムをコンピュータ読出可能な記憶媒体から読み出して実行する当該コンピュータの構成を示すブロック図である。
【符号の説明】
１００  ネットワークシステム
１１０  ディジタル複合機
１１１  ファイルシステム
１１２  記憶装置
１１３  ユーザコンピュータ
１２０  ディレクトリサーバ
１２１  データベース
１２２  記憶装置
１３０  認証サーバ
１５０  ネットワーク
【図１】
0004109874.tif 000004
【図２】
0004109874.tif 000005
【図３】
0004109874.tif 000006
【図４】
0004109874.tif 000007
【図５】
0004109874.tif 000008
【図６】
0004109874.tif 000009
【図７】
0004109874.tif 000010
【図８】
0004109874.tif 000011
【図９】
0004109874.tif 000012