(57)【要約】【課題】  既存の実装に対する影響を抑えつつ、電子的な証明書を用いた認証方式に対応することができる情報処理装置の提供を目的とする。【解決手段】  所定の機能を提供する機能提供手段を有する情報処理装置であって、クライアント装置より、前記クライアント装置のユーザが所定の認証装置において認証された旨を示す電子的な証明書を受信し、前記証明書を前記機能提供手段における前記所定の機能を利用するためのデータとして前記機能提供手段に対して入力する証明書受付手段と、前記機能提供手段に入力された前記データを前記機能提供手段より受け付け、該データを前記証明書として処理し、該証明書の正当性を確認した結果を前記機能提供手段に通知する認証処理手段とを有し、前記機能提供手段は、前記認証処理手段からの通知に基づいて前記所定の機能を前記クライアント装置に提供することにより上記課題を解決する。【選択図】  図６
2005070979.tif 000002
【特許請求の範囲】
【請求項１】
所定の機能を提供する機能提供手段を有する情報処理装置であって、
ネットワークを介して接続しているクライアント装置より、前記クライアント装置のユーザが所定の認証装置において認証された旨を示す電子的な証明書を受信し、前記証明書を前記機能提供手段における前記所定の機能を利用するためのデータとして前記機能提供手段に対して入力する証明書受付手段と、
前記機能提供手段に入力された前記データを前記機能提供手段より受け付け、該データを前記証明書として処理し、該証明書の正当性を確認した結果を前記機能提供手段に通知する認証処理手段とを有し、
前記機能提供手段は、前記認証処理手段からの通知に基づいて前記所定の機能を前記クライアント装置に提供することを特徴とする情報処理装置。
【請求項２】
前記証明書受付手段は、前記証明書を前記機能提供手段における前記所定の機能を利用するためのパスワードとして前記機能提供手段に入力することにより、該パスワードの認証を前記機能提供手段に要求し、
前記認証処理手段は、前記機能提供手段にパスワードとして入力された情報を前記機能提供手段よりパスワードとして受け付け、該パスワードを前記証明書として処理し、該証明書の正当性を確認した結果を該パスワードの認証結果として前記機能提供手段に通知することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記認証処理手段は、前記機能提供手段より受け付けた前記データを前記証明書として前記所定の認証装置に送信することにより、前記所定の認証装置に前記証明書の正当性を確認させることを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記認証処理手段は、前記機能提供手段がパスワードとして受け付けた情報を前記機能提供手段よりパスワードとして受け付け、該パスワードの認証結果を前記機能提供手段に通知するパスワード受付手段と、
前記パスワード受付手段がパスワードとして受け付けた情報を前記パスワード受付手段よりパスワードとして受け付け、それぞれ異なる認証装置による該パスワードに基づいた認証の結果を前記パスワード受付手段に通知する一つ以上の認証仲介手段とを有し、
前記一つ以上の認証仲介手段のうちの一の認証仲介手段は、前記パスワード受付手段より受け付けたパスワードを前記証明書として処理し、該証明書の正当性を確認した結果を該パスワードの認証結果として前記パスワード受付手段に通知し、
前記パスワード受付手段は、前記認証仲介手段の種別を問わず共通のインタフェースによって前記機能提供手段よりパスワードを受け付けることを特徴とする請求項２又は３記載の情報処理装置。
【請求項５】
前記認証仲介手段のそれぞれは、統一されたインタフェースによって前記パスワード受付手段よりパスワードを受け付けることを特徴とする請求項４記載の情報処理装置。
【請求項６】
前記機能提供手段は、引数にパスワードを要求する第一のメソッドによって該パスワードによる認証の要求を受け付け、
前記証明書受付手段は、前記証明書をパスワードに対応する引数に指定して前記第一のメソッドを呼び出すことにより、前記証明書をパスワードとして該パスワードの認証を前記機能提供手段に対して要求することを特徴とする請求項２乃至５いずれか一項記載の情報処理装置。
【請求項７】
前記認証処理手段は、前記機能提供手段が前記第一のメソッドの引数によってパスワードとして受け付けた情報を、前記認証処理手段における第二のメソッドのパスワードに対応する引数によって前記機能提供手段より受け付けることを特徴とする請求項６記載の情報処理装置。
【請求項８】
前記証明書受付手段は、前記クライアント装置より送信されるＳＯＡＰメッセージに基づいて前記第一のメソッドを呼び出すことを特徴とする請求項６又は７記載の情報処理装置。
【請求項９】
前記認証処理手段は、前記所定の認証装置に前記証明書の正当性を確認させた結果として、前記証明書に記録されていた情報を前記所定の認証装置より受信することを特徴とする請求項３乃至８いずれか一項記載の情報処理装置。
【請求項１０】
前記認証処理手段は、前記証明書に記録されていた情報に含まれる前記ユーザに関する情報をパスワードの認証結果として前記機能提供手段に通知することを特徴とする請求項９記載の情報処理装置。
【請求項１１】
前記認証処理手段は、前記所定の認証装置におけるメソッドをＳＯＡＰのＲＰＣによって呼び出すことにより、前記所定の認証装置に前記証明書の正当性を確認させることを特徴とする請求項３乃至１０いずれか一項記載の情報処理装置。
【請求項１２】
前記機能提供手段は、文書情報の管理機能を提供することを特徴とする請求項１乃至１１いずれか一項記載の情報処理装置。
【請求項１３】
ネットワークを介して接続しているクライアント装置からの所定の認証情報の認証要求に応じて前記認証情報の認証を実行し、前記所定の認証情報が認証された場合にその旨を示す電子的な第一の証明書を前記クライアント装置に送信し、
前記クライアント装置からの、所定の情報処理装置が提供する機能に対して有効な電子的な第二の証明書の発行要求に応じて、前記発行要求に伴って送信される前記第一の証明書に基づいて前記第二の証明書を前記クライアント装置に送信することを特徴とする認証装置。
【請求項１４】
前記所定の認証情報は、ユーザ名とパスワードとを含むことを特徴とする請求項１３記載の認証装置。
【請求項１５】
ネットワークを介して接続している情報処理装置からの前記第二の証明書の正当性の確認要求に応じて前記証明書の正当性を確認し、前記第二の証明書の正当性の確認結果を前記情報処理装置に送信することを特徴とする請求項１３又は１４記載の認証装置。
【請求項１６】
前記確認結果は、前記第二の証明書に記録されていた情報を含むことを特徴とする請求項１５記載の認証装置。
【請求項１７】
前記情報処理装置からの前記確認要求は、ＳＯＡＰのＲＰＣによることを特徴とする請求項１５又は１６記載の認証装置。
【請求項１８】
所定の機能を提供する機能提供手段を有する情報処理装置における認証方法であって、
ネットワークを介して接続しているクライアント装置より、前記クライアント装置のユーザが所定の認証装置において認証された旨を示す電子的な証明書を受信する証明書受信手順と、
前記証明書受信手順において受信された前記証明書を前記機能提供手段における前記所定の機能を利用するためのデータとして前記機能提供手段に対して入力するデータ入力手順と
前記データ入力手順において前記機能提供手段に入力された前記データを前記証明書として処理し、該証明書の正当性を確認した結果を前記機能提供手段に通知する認証処理手順とを有し、
前記機能提供手段は、前記認証処理手順における通知に基づいて前記所定の機能を前記クライアント装置に提供することを特徴とする認証方法。
【請求項１９】
前記データ入力手順は、前記証明書を前記機能提供手段における前記所定の機能を利用するためのパスワードとして前記機能提供手段に入力することにより、該パスワードの認証を前記機能提供手段に要求し、
前記認証処理手順は、前記機能提供手段にパスワードとして入力された情報を前記機能提供手段よりパスワードとして受け付け、該パスワードを前記証明書として処理し、該証明書の正当性を確認した結果を該パスワードの認証結果として前記機能提供手段に通知することを特徴とする請求項１８記載の認証方法。
【請求項２０】
前記認証処理手順は、前記機能提供手段が前記データ入力手順において入力された前記データを前記証明書として前記所定の認証装置に送信することにより、前記所定の認証装置に前記証明書の正当性を確認させることを特徴とする請求項１８又は１９記載の認証方法。
【請求項２１】
前記認証処理手順は、前記所定の認証装置におけるメソッドをＳＯＡＰのＲＰＣによって呼び出すことにより、前記認証装置に前記証明書の正当性を確認させることを特徴とする請求項２０記載の認証方法。
【請求項２２】
所定の機能を提供する機能提供手段を有する情報処理装置に、
ネットワークを介して接続しているクライアント装置より、前記クライアント装置のユーザが所定の認証装置において認証された旨を示す電子的な証明書を受信する証明書受信手順と、
前記証明書受信手順において受信された前記証明書を前記機能提供手段における前記所定の機能を利用するためのデータとして前記機能提供手段に対して入力するデータ入力手順と
前記データ入力手順において前記機能提供手段に入力された前記データを前記証明書として処理し、該証明書の正当性を確認した結果を前記機能提供手段に通知する認証処理手順とを実行させるための認証プログラムであって、
前記機能提供手段は、前記認証処理手順における通知に基づいて前記所定の機能を前記クライアント装置に提供することを特徴とする認証プログラム。
【請求項２３】
所定の機能を提供する機能提供手段を有する情報処理装置に、
ネットワークを介して接続しているクライアント装置より、前記クライアント装置のユーザが所定の認証装置において認証された旨を示す電子的な証明書を受信する証明書受信手順と、
前記証明書受信手順において受信された前記証明書を前記機能提供手段における前記所定の機能を利用するためのデータとして前記機能提供手段に対して入力するデータ入力手順と
前記データ入力手順において前記機能提供手段に入力された前記データを前記証明書として処理し、該証明書の正当性を確認した結果を前記機能提供手段に通知する認証処理手順とを実行させるための認証プログラムであって、
前記機能提供手段は、前記認証処理手順における通知に基づいて前記所定の機能を前記クライアント装置に提供することを特徴とする認証プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証されたユーザに対して機能を提供する情報処理装置及び前記情報処理装置における認証方法、認証プログラム及び記録媒体関する。
【０００２】
また、本発明は、ネットワーク上に認証機能を提供する認証装置に関する。
【背景技術】
【０００３】
ネットワーク上に接続されたサーバのサービスを利用するためには、サーバに対する不正なアクセスを防止するため、クライアントはサーバに対してユーザ名及びパスワード（以下、「ユーザ名等」という。）の提示が要求されるのが一般である。
【０００４】
図１は、クライアントがユーザ名等をサーバに提示する例を示す図である。図１において、文書管理サーバ７０１、文書配信サーバ７０２及び印刷サーバ７０３は、それぞれ文書データの管理機能、文書データの配信機能、文書データの印刷機能を提供するコンピュータである。また、クライアント７０４は、各サーバの機能を利用するコンピュータである。
【０００５】
例えば、クライアント７０４が文書管理サーバ７０１の機能を利用するためには、文書管理サーバ７０１に対してユーザ名等を送信し（Ｓ１）、文書管理サーバ７０１によってユーザ名等の認証を受ける必要がある。文書配信サーバ７０２や印刷サーバ７０３の機能を利用する際も同様に、クライアント７０４は、それぞれのサーバに対してユーザ名等を送信し（Ｓ２、Ｓ３）、認証を受ける。
【０００６】
図１のように各サーバに対してユーザ名等を提示する形態は、クライアントとサーバ間がＬＡＮ等の限られたユーザのみがアクセス可能なネットワークを介して接続されている場合には問題が少なかった。しかしながら、クライアントとサーバ間がインターネットのような不特定多数のユーザがアクセスするネットワークを介して接続されている場合は、各サーバに対してユーザ名等を提示するのは、セキュリティ上の観点から好ましくない。
【０００７】
すなわち、各サーバに対してユーザ名等を提示することにより、ユーザ名等がネットワーク上を流通する頻度が高くなり、ユーザ名等が第三者によって盗聴される危険性が高くなるからである。
【０００８】
そこで、ユーザ名等を各サーバに対して直接提示するのではなく、クライアントが認証を受けていることを証明する電子的な証明書（以下、「チケット」という。）を用いる方式が既に実現されている。
【０００９】
図２は、チケットを用いた認証処理の例を示す図である。図２中、図１と同一部分には同一符号を付し、その説明は省略する。図２においては、新たに認証サーバ７０５が追加されている。認証サーバ７０５は、ユーザ名等の認証機能及びチケットの発行機能が実装されているコンピュータである。
【００１０】
クライアント７０４が文書管理サーバ７０１の機能を利用する場合について説明する。クライアント７０４は、まず、ユーザ名等を認証サーバ７０５に送信することによりユーザ名等の認証を認証サーバ７０５に要求する（Ｓ１１）。認証サーバ７０５は、ユーザ名等の認証を行い、認証された場合にはその旨を示すチケットをクライアント７０４に対して発行する（Ｓ１２）。
【００１１】
ここで発行されるチケットには、認証サーバ７０５だけが解釈可能なデータ形式によって、ユーザを一意に識別する情報や当該チケットの有効期限、及び改竄チェック用のコード等が記録されている。但し、チケットには、パスワードは記録されていない。
【００１２】
クライアント７０４は、文書管理サーバ７０１に対しチケットを提示して、文書管理機能の提供を要求する（Ｓ１３）。文書管理サーバ７０１は、クライアントから提示されたチケットの正当性の確認を認証サーバ７０５に対して要求する（Ｓ１４）。認証サーバ７０５は、チケットの正当性を確認し、その結果を文書管理サーバ７０１に対して送信する（Ｓ１５）。文書管理サーバ７０１は、チケットが正当であった場合は、クライアント７０４から要求された処理を実行し、チケットが不正であった場合は、クライアント７０４からの要求を拒絶する。
【００１３】
図２において、ユーザ名等がネットワーク上を流通するのは、クライアント７０４から認証サーバ７０５に対する認証要求の際（Ｓ１１）のみである。従って、ユーザ名等がネットワーク上を流通する頻度を格段に低くすることが可能となり、より高いセキュリティを確保することが可能となる。
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかしながら、従来のパスワード認証を前提とした図１のようなシステムを、チケットを用いた図２のようなシステムに移行するためには、各サーバにおいてそれぞれの機能を実現する既存のアプリケーションプログラムのソースコードを、チケットに対応できるように修正しなければならない。
【００１５】
アプリケーションプログラムごとにソースコードは異なっているため、それぞれを個別に修正するのは、システムの規模が大きくなればなるほど大きなコストがかかるという問題がある。
【００１６】
本発明は、上記の点に鑑みてなされたものであって、既存の実装に対する影響を抑えつつ、電子的な証明書を用いた認証方式に対応することができる情報処理装置の提供を目的とする。また、本発明は、前記電子的な証明書を発行することができる認証装置の提供を目的とする。
【課題を解決するための手段】
【００１７】
そこで上記課題を解決するため、本発明は、請求項１に記載されるように、所定の機能を提供する機能提供手段を有する情報処理装置であって、ネットワークを介して接続しているクライアント装置より、前記クライアント装置のユーザが所定の認証装置において認証された旨を示す電子的な証明書を受信し、前記証明書を前記機能提供手段における前記所定の機能を利用するためのデータとして前記機能提供手段に対して入力する証明書受付手段と、前記機能提供手段に入力された前記データを前記機能提供手段より受け付け、該データを前記証明書として処理し、該証明書の正当性を確認した結果を前記機能提供手段に通知する認証処理手段とを有し、前記機能提供手段は、前記認証処理手段からの通知に基づいて前記所定の機能を前記クライアント装置に提供することを特徴とする。
【００１８】
このような情報処理装置では、証明書受付手段と認証処理手段とが電子的な証明書と、パスワード等の機能提供手段における機能を利用するためのデータとによる不整合を吸収するため、機能提供手段の実装を変更することなく、証明書による認証要求を受け付けることができる。
【００１９】
また、上記課題を解決するため、本発明は、請求項１３に記載されるように、ネットワークを介して接続しているクライアント装置からの所定の認証情報の認証要求に応じて前記認証情報の認証を実行し、前記所定の認証情報が認証された場合にその旨を示す電子的な第一の証明書を前記クライアント装置に送信し、前記クライアント装置からの、所定の情報処理装置が提供する機能に対して有効な電子的な第二の証明書の発行要求に応じて、前記発行要求に伴って送信される前記第一の証明書に基づいて前記第二の証明書を前記クライアント装置に送信することを特徴とする。
【００２０】
このような認証装置では、請求項１等に示される情報処理装置の機能を利用するための証明書を発行することができる。
【００２１】
また上記課題を解決するため、本発明は、上記情報処理装置における認証方法、前記認証方法をコンピュータに実行させるための認証プログラム、又は前記認証プログラムを記録した記録媒体としてもよい。
【発明の効果】
【００２２】
本発明によれば、既存の実装に対する影響を抑えつつ、電子的な証明書を用いた認証方式に対応することができる情報処理装置、及び前記電子的な証明書を発行することができる認証装置を提供することができる。
【発明を実施するための最良の形態】
【００２３】
以下、図面に基づいて本発明の実施の形態を説明する。図３は、本発明の実施の形態におけるＷｅｂシステムの構成例を示す図である。図３に示されるように、本実施の形態におけるＷｅｂシステム１は、文書管理サーバ１０、認証サーバ２０、Ｗｅｂサーバ３０、端末４０等から構成され、各構成要素は、インターネットやＬＡＮ等のネットワーク５０を介して接続されている。
【００２４】
文書管理サーバ１０は、文書情報の管理機能が実装されたコンピュータであり、文書情報の登録、検索、及び更新等の諸機能をＷｅｂサービス（文書管理サービス）としてネットワーク５０上に提供する。
【００２５】
認証サーバ２０は、ネットワーク５０を介して送信されるユーザ名及びパスワード等の認証情報の認証要求に基づいて当該認証情報の認証を実行し、当該認証情報が認証された場合には、その旨を証明する電子的な証明書（以下、「チケット」という。）を認証要求元に発行するための機能等が実装されたコンピュータである。認証サーバ２０は、当該機能をＷｅｂサービス（認証サービス）としてネットワーク５０上に提供する。
【００２６】
Ｗｅｂサーバ３０は、端末４０が要求する情報を表示するＷｅｂページを端末４０に提供するための機能を有するコンピュータである。ここでＷｅｂページとは、汎用的なＷｅｂブラウザで表示可能なＨＴＭＬ，ＸＭＬ形式等のデータをいう。Ｗｅｂサーバ３０は、端末４０に対するＷｅｂページの提供に際し、必要に応じて文書管理サーバ１０又は認証サーバ２０等の機能を利用する。
【００２７】
端末４０は、Ｗｅｂサーバ３０が提供するＷｅｂページを閲覧するためのＷｅｂブラウザを備えたＰＣ、ＰＤＡ（Personal Digital(Data) Assistants）、又は携帯電話等の通信端末である。
【００２８】
ここで、チケットについて説明する。本実施の形態においてはマスタチケットと認証チケットとの二種類のチケットが定義されている。それぞれのチケットは、ユーザ名及びパスワード等が認証された旨を示す証明書としての役割を果たすという点において共通するが、用途が大きく異なる。
【００２９】
認証チケットは、限られた範囲のみで有効なチケットである。例えば、文書管理サーバ１０を対象として発行された認証チケットは、非図示の他のサーバ装置においては利用できない。他のサーバ装置は、自分を対象としていない認証チケットを伴った要求を認めないからである。従って、万が一認証チケットを盗まれた場合でも、当該認証チケットの所有者が受ける被害は、当該認証チケットが対象としているサーバ装置のみに限られる。
【００３０】
これに対しマスタチケットは、チケットを用いた認証に対応している全てのサーバ装置において有効な万能のチケットである。また、マスタチケットを提示することによって認証チケットの発行を受けることができる。したがって、マスタチケットが盗まれた場合には、当該マスタチケットの所有者が受ける被害は、チケットに対応しているシステムの全範囲に及ぶ可能性がある。
【００３１】
これら２種類のチケットが定義されているのは、セキュリティ上の観点によるところが大きい。すなわち、認証チケットは、マスタチケットをネットワーク上に頻繁に流通させないために定義されたチケットである。したがって、マスタチケットは、認証チケットの発行要求時等、限られた際にしか用いられない。
【００３２】
図４は、チケットのデータ構造例を示す図である。図４に示されるようにチケットは、チケットＩＤ、有効範囲、有効期限、認証ユーザＩＤ及びＭＩＣ等から構成される。
【００３３】
チケットＩＤは、各チケットを一意に識別するためのコードである。有効範囲はマスタチケットと認証チケットとの種類の別と、当該チケットが認証チケットである場合は、当該チケットを利用可能な範囲を識別するための情報である。すなわち、当該チケットがマスタチケットである場合は、有効範囲には「マスタ」と記録され、当該チケットが認証チケットである場合は、当該認証チケットを利用可能な範囲を識別するための名称（ドメイン名、サーバ名等）が記録される。
【００３４】
有効期限は、当該チケットが有効な期限を示す。有効期限が切れたチケットは、無効なものとして扱われる。これによって、万が一マスタチケットが盗まれた場合における被害が無限に拡大することを防止することができる。
【００３５】
認証ユーザＩＤは、認証を受けたユーザのユーザＩＤである。ＭＩＣは、当該チケットが途中で改竄されていないかを確認するためのコードである。
【００３６】
次に、文書管理サーバ１０の詳細について説明する。図５は、本発明の実施の形態における文書管理サーバのハードウェア構成例を示す図である。文書管理サーバ１０は、ＣＰＵ１０１１、ＲＯＭ１０１２、ＲＡＭ１０１３、補助記憶装置１０１４、ネットワークインタフェース（Ｉ／Ｆ）１０１５、ドライブ装置１０１６等から構成されている。
【００３７】
ＣＰＵ１０１１は、文書管理サーバ１０全体を制御する制御部であり、ＲＯＭ１０１２や補助記憶装置１０１４に格納された各種制御プログラムやアプリケーションプログラムを実行して装置の制御、通信の制御、データの取得及び編集等の動作を行う。
【００３８】
ＲＯＭ１０１２は、主に装置の制御プログラムを記憶する記憶手段であり、ＲＡＭ１０１３はＣＰＵ１０１１のワークメモリや一時的なデータの記憶に用いる記憶手段である。
【００３９】
補助記憶装置１０１４は、各種アプリケーションプログラムやデータを記憶する記憶手段である。ネットワークＩ／Ｆ１０１５は、文書管理サーバ１０をネットワーク５０に接続するためのインタフェースである。
【００４０】
ドライブ装置１０１６は、本発明の機能を実行するプログラムが記録されたＣＤ−ＲＯＭ等の記録媒体１０１７を読み取るための装置である。
【００４１】
なお、図５には操作部や表示部を示していないが、キーボードやマウス等による操作部や、液晶やブラウン管（ＣＲＴ）による表示部を設け、ユーザからの入力の受付や動作結果の表示を行うことができるようにしてもよい。
【００４２】
また、認証サーバ２０やＷｅｂサーバ３０についても、図５と同様に構成することができる。認証サーバ２０等における機能を実現するプログラムについても、ＣＤ−ＲＯＭ等の記録媒体によって提供され、当該ＣＤ−ＲＯＭがドライブ装置１０１６に読み取られることにより、認証サーバ２０又はＷｅｂサーバ３０は、当該プログラムに定義されている機能を実現する。
【００４３】
図６は、本発明の実施の形態における文書管理サーバの機能構成例を示す図である。図６に示されるように、文書管理サーバ１０は、大きく分けてリポジトリサービス１１、文書管理部１２及び認証処理部１３等から構成されている。
【００４４】
リポジトリサービス１１は、Ｗｅｂサーバ３０から送信されるＳＯＡＰメッセージを解釈し、当該ＳＯＡＰメッセージに含まれているメソッドの呼び出し情報に基づいて、文書管理部１２における文書管理インタフェースモジュール１２１のメソッドを呼び出すためのモジュールである。すなわち、リポジトリサービス１１によって、Ｗｅｂサーバ３０等のクライアントは、文書管理部１２の文書管理機能をＳＯＡＰのＲＰＣによって呼び出すことができる。
【００４５】
図７は、リポジトリサービスの詳細を説明するための図である。図７の示されるように、リポジトリサービス１１は、ＳＯＡＰ処理部１１１と、複数のメソッド（メソッド１、メソッド２、メソッド３等）とから構成されている。
【００４６】
ＳＯＡＰ処理部１１１は、ＳＯＡＰメッセージを解釈し、当該ＳＯＡＰメッセージに含まれているメソッドの呼び出し情報において呼び出しが要求されているメソッド（メソッド１、メソッド２、メソッド３等）を呼び出すためのものである。
【００４７】
メソッド１、メソッド２及びメソッド３等は、ＲＰＣによって直接呼び出されるメソッドであり、文書管理インタフェースモジュール１２１のメソッド（メソッドＡ、メソッドＢ、メソッドＣ及びメソッドＤ等）を呼び出すためのものである。
【００４８】
リポジトリサービス１１を介して文書管理部１２の文書管理機能を利用するためには、クライアント側（ここではＷｅｂサーバ３０）は、リポジトリサービス１１におけるメソッドの一つである「セッション接続メソッド」を呼び出すことにより、リポジトリサービス１１とのセッションを接続しておく必要がある。
【００４９】
図８は、リポジトリサービスのセッション接続メソッドのインタフェース仕様を示す図である。図８に示されるように、セッション接続メソッドは、認証チケットを引数として要求し、リポジトリサービス１１とのセッションＩＤを戻り値として返却する。なお、認証チケットは、バイナリデータではなく、エンコードされたものが引数に指定される。
【００５０】
文書管理部１２（図６）は、文書管理インタフェースモジュール１２１と文書管理エンジン１２２とから構成されている。文書管理インタフェースモジュール１２１は、文書管理エンジン１２２において管理されている文書情報を操作するための種々のメソッドが実装されたモジュールである。文書管理エンジン１２２は、文書情報を管理するとともに、当該文書情報を操作するためのインタフェースを備えたモジュールである。
【００５１】
文書管理インタフェースモジュール１２１と文書管理エンジン１２２とは、それぞれ文書情報を操作するためのメソッドを備えているが、文書管理インタフェースモジュール１２１のメソッドは、文書管理エンジン１２２におけるメソッドに比べ、よりユーザインタフェースに近い形で定義されている。すなわち、前者のメソッドは、端末４０のＷｅｂブラウザ上に表示された文書情報を操作するためのＷｅｂページ（以下、「文書管理ページ」という。）上におけるメニューの選択や、マウスによるクリック等に対応した形で定義されているのに対し、後者のメソッドは、より低レベルな形（データベースのスキーマ等を意識した形等）で定義されている。
【００５２】
文書管理部１２の文書管理機能を利用するためには、クライアント側（ここでは、リポジトリサービス１１）は、文書管理インタフェースモジュール１２１における「認証メソッドＡ」を呼び出すことにより、文書管理インタフェースモジュール１２１に認証を受け、文書管理インタフェースモジュール１２１とのセッションを接続しておく必要がある。従って、リポジトリサービス１１は、セッション接続メソッドの中で文書管理インタフェースモジュール１２１の認証メソッドＡを呼び出す。
【００５３】
図９は、文書管理インタフェースモジュールの認証メソッドＡのインタフェース仕様を示す図である。図９に示されるように、認証メソッドＡは、ユーザ名とパスワードとを引数として要求し、文書管理インタフェースモジュール１２１とのセッションＩＤを戻り値として返却する。
【００５４】
なお、本実施の形態において、認証メソッドＡに指定されるパスワードは、文書管理部１２の文書管理機能を利用するためのデータとしての意味を有する。
【００５５】
認証処理部１３（図６）は、認証インタフェースモジュール１３１、チケット認証プロバイダ１３２、Ｗ認証プロバイダ１３３及びＮ認証プロバイダ１３４等から構成されている。
【００５６】
認証インタフェースモジュール１３１は、後述する認証プロバイダの種別を問わず共通のインタフェースによって認証機能を文書管理インタフェースモジュール１２１に対して提供するためのモジュールである。認証インタフェースモジュール１３１は、かかる共通のインタフェースの一つである「認証メソッドＢ」によって認証要求を受け付ける。従って、文書管理インタフェースモジュール１２１は、認証メソッドＡの中で認証インタフェースモジュール１３１の認証メソッドＢを呼び出すことにより、認証メソッドＡの引数に指定されたユーザ名及びパスワードの認証を認証インタフェースモジュール１３１に対して要求する。
【００５７】
図１０は、認証インタフェースモジュールの認証メソッドＢのインタフェース仕様を示す図である。図１０に示されるように、認証メソッドＢは、ユーザ名とパスワードとを引数として要求し、認証された場合はアカウント情報を、認証されなかった場合はＮＵＬＬ値を戻り値として返却する。ここでアカウント情報とは、例えばユーザ名及びグループ名等を含む情報である。
【００５８】
図６に戻り、チケット認証プロバイダ１３２、Ｗ認証プロバイダ１３３及びＮ認証プロバイダ１３４（以下、総称する場合「認証プロバイダ」という。）は、それぞれが対応する認証エンジン（認証サーバ２０、ドメインコントローラ６０、Ｎサーバ７０）の独自のプロトコルを吸収し、統一されたインタフェースを認証インタフェースモジュール１３１に対して提供するための仲介役として機能するモジュールである。認証プロバイダが統一されたインタフェースを提供することにより、認証プロバイダの呼び出し側である上位モジュール（認証インタフェースモジュール１３１）は、認証エンジンごとに異なるプロトコルを意識する必要がない。したがって、上位モジュールの実装を簡便化することができる。
【００５９】
チケット認証プロバイダ１３２は、認証サーバ２０の認証サービス２１におけるチケット認証に対応した認証プロバイダである。認証サービス２１は、認証サーバ２０において、認証及びチケットの発行等の機能をＷｅｂサービスとして提供するためのモジュールである。
【００６０】
Ｗ認証プロバイダ１３３は、Ｗｉｎｄｏｗｓ（登録商標）のドメインコントローラ６０におけるパスワード認証に対応した認証プロバイダである。Ｎ認証プロバイダ１３４は、Ｎｏｔｅｓ（登録商標）サーバであるＮサーバ７０におけるパスワード認証に対応した認証プロバイダである。
【００６１】
各認証プロバイダは、同一のインタフェース仕様による認証メソッドＣによってそれぞれが対応する認証エンジンに対する認証要求を受け付ける。従って、認証インタフェースモジュール１３１は、認証メソッドＢの中で認証プロバイダの認証メソッドＣを呼び分ける。認証プロバイダの呼び分けは、所定のファイル等に保存されているパラメータに基づいて行っても良い。本実施の形態においては、チケット認証プロバイダ１３２が呼び出されるように設定されているものとする。
【００６２】
図１１は、認証プロバイダの認証メソッドＣのインタフェース仕様を示す図である。図１１に示されるように、認証メソッドＣは、ユーザ名とパスワードとを引数として要求し、認証された場合はアカウント情報を、認証されなかった場合はＮＵＬＬ値を戻り値として返却する。
【００６３】
認証処理部１３を認証インタフェースモジュール１３１と認証プロバイダとからなる構成にすることにより、文書管理部１２等の上位モジュールに対して影響を与えることなく、新たな認証エンジンに対応させることができる。すなわち、新たな認証エンジンに対応する場合は、当該認証エンジンに対応する認証プロバイダを実装するだけでよい。当該認証プロバイダが予め定められたインタフェースによって実装されていれば、認証インタフェースモジュール１３１は、ソースコードの修正を要することなく、当該認証プロバイダを呼び出すことができる。
【００６４】
なお、図６の文書管理サーバ１０において、文書管理部１２、認証インタフェースモジュール１３１、Ｗ認証プロバイダ１３３、Ｎ認証プロバイダ１３４は、いわゆる既存部である。従って、これらのモジュール等は、パスワード認証を前提に実装されている。
【００６５】
一方、リポジトリサービス１１及びチケット認証プロバイダ１３２は、文書管理サーバ１０をチケットに対応させるために新たに設けられたモジュールである。従って、本実施の形態においては、リポジトリサービス１１及びチケット認証プロバイダ１３２によって、既存部に改造を加えることなく文書管理サーバ１０のチケット対応が実現されている。
【００６６】
以下、図６の文書管理サーバ１０を有するＷｅｂシステム１の処理手順について説明していく。図１２及び図１３は、文書管理サーバにおける認証処理を説明するためのシーケンス図である。
【００６７】
ステップＳ１０１において端末４０は、Ｗｅｂブラウザ上に表示された文書管理ページに対するログイン用のＷｅｂページ（以下、「ログインページ」という。）における、ユーザによるユーザ名及びパスワードの入力に基づいて、入力されたユーザ名及びパスワードと共に文書管理ページの送信要求（ＨＴＴＰリクエスト）をＷｅｂサーバ３０に対して送信する。
【００６８】
なお、ログインページは、ユーザが、予めＷｅｂサーバ３０より提供されたポータルページ等から文書管理ページにページを切り替えようとした場合や、文書管理ページのＵＲＬをＷｅｂブラウザに直接入力した場合等に、Ｗｅｂサーバ３０より送信されるものである。
【００６９】
ステップＳ１０１に続いてステップＳ１０２に進み、文書管理ページの送信要求を受信したＷｅｂサーバ３０は、文書管理サーバ１０のリポジトリサービス１１における接続情報問い合わせメソッドを呼び出すことにより、文書管理サーバ１０の機能を利用するために必要な情報（接続情報）の送信を要求する。
【００７０】
ステップＳ１０２に続いてステップＳ１０３に進み、リポジトリサービス１１は、接続情報として、文書管理サーバ１０における文書管理サービスを一意に識別するための名前（以下、「文書管理サービス名」という。）と、認証サーバ２０における認証サービスのＵＲＩ（以下、「認証サービスＵＲＩ」という。）とをＷｅｂサーバ３０に対して送信する。
【００７１】
ステップＳ１０３に続いてステップＳ１０４に進み、Ｗｅｂサーバ３０は、接続情報に含まれている認証サービスＵＲＩによって特定される認証サービス２１のマスタチケット発行メソッドをＳＯＡＰのＲＰＣによって呼び出すことにより、端末４０からのＨＴＴＰリクエストに伴って送信されたユーザ名及びパスワードの認証と、マスタチケットの発行とを認証サービス２１に対して要求する。
【００７２】
ステップＳ１０４に続いてステップＳ１０５に進み、認証サービス２１は、マスタチケット発行メソッドの引数に指定されたユーザ名とパスワードとの認証を実行する。ユーザ名とパスワードが認証された場合は、認証サービス２１は、カレントユーザに対するマスタチケットを生成し（Ｓ１０６）、当該マスタチケットをＷｅｂサーバ３０に対して送信する（Ｓ１０７）。
【００７３】
ステップＳ１０７に続いてステップＳ１０８に進み、Ｗｅｂサーバ３０は、認証サービス２１の認証チケット発行メソッドをＳＯＡＰのＲＰＣによって呼び出すことにより、認証チケットの発行を認証サービス２１に対して要求する。認証チケット発行メソッドの引数には、ステップＳ１０７において認証サービス２１によって発行されたマスタチケットと、発行要求に係る認証チケットの有効範囲を識別するための情報として文書管理サービス名とが指定される。
【００７４】
ステップＳ１０８に続いてステップＳ１０９に進み、認証サービス２１は、認証チケット発行メソッドの引数に指定されたマスタチケットの正当性を確認する。正当性の確認としては、例えば、マスタチケットの有効期限が切れていないか、マスタチケットが改竄又は偽造されたものではないか等の確認が行われる。
【００７５】
マスタチケットの正当性が確認された場合は、認証サービス２１は、認証チケット発行メソッドの引数に指定された文書管理サービス名によって特定される文書管理サーバ１０を有効範囲とする認証チケットを生成し（Ｓ１１０）、当該認証チケットをＷｅｂサーバ３０に対して送信する（Ｓ１１１）。
【００７６】
ステップＳ１１１に続いて図１３のステップＳ１１２に進み、Ｗｅｂサーバ３０は、リポジトリサービス１１のセッション接続メソッド（図８）をＳＯＡＰのＲＰＣによって呼び出すことにより、セッションの接続をリポジトリサービス１１に対して要求する。セッション接続メソッドの引数には、ステップＳ１１１において認証サービス２１によって発行された認証チケットが指定される。
【００７７】
ステップＳ１１２に続いてステップＳ１１３に進み、リポジトリサービス１１は、セッション接続メソッドの中から文書管理インタフェースモジュール１２１の認証メソッドＡ（図９）を呼び出すことにより、文書管理インタフェースモジュール１２１に対して認証の要求をする。
【００７８】
ここで、リポジトリサービス１１は、セッション接続メソッドにおいて認証チケットを引数として受けているのに対し、文書管理インタフェースモジュール１２１の認証メソッドＡは、ユーザ名とパスワードとを引数として要求しており、両者の間にインタフェース上の不整合が生じている。かかる不整合を解決するため、リポジトリサービス１１は、認証メソッドＡのユーザ名にはＮＵＬＬを指定し、パスワードには、認証サービスＵＲＩとエンコードされた認証チケットを事前に定義されたフォーマット、例えば、それぞれを「；」（セミコロン）で区切った文字列によって指定することにより、認証メソッドＡを呼び出す。
【００７９】
ステップＳ１１３に続いてステップＳ１１４に進み、文書管理インタフェースモジュール１２１は、認証メソッドＡの中で認証インタフェースモジュール１３１の認証メソッドＢ（図１０）を呼び出すことにより、認証メソッドＡの引数として指定されたユーザ名及びパスワードの認証を認証インタフェースモジュール１３１に対して要求する。
【００８０】
ここで、認証メソッドＢの引数であるユーザ名及びパスワードには、認証メソッドＡの引数に指定されたユーザ名及びパスワードの値がそのまま指定される。文書管理インタフェースモジュール１２１の認証メソッドＡは、引数に認証チケットが指定されていることについては関知せず、引数に指定された値をそのまま認証メソッドＢに渡すからである。
【００８１】
ステップＳ１１４に続いてステップＳ１１５に進み、認証インタフェースモジュール１３１は、認証メソッドＢの中でチケット認証プロバイダ１３２の認証メソッドＣ（図１１）を呼び出すことにより、認証メソッドＢの引数として指定されたユーザ名及びパスワードの認証をチケット認証プロバイダ１３２に対して要求する。
【００８２】
ここで、認証メソッドＣの引数であるユーザ名及びパスワードには、認証メソッドＢの引数に指定されたユーザ名及びパスワードの値がそのまま指定される。認証インタフェースモジュール１３１の認証メソッドＢは、引数に認証チケットが指定されていることについては関知せず、引数に指定された値をそのまま認証メソッドＣに渡すからである。
【００８３】
ステップＳ１１５に続いてステップＳ１１６に進み、チケット認証プロバイダ１３２は、引数においてパスワードとして指定された文字列を認証チケットとして処理する。チケット認証プロバイダ１３２は、リポジトリサービス１１によって、認証メソッドＡのパスワードに認証チケット等が指定され、当該認証チケットがそのままパスワードとして、認証メソッドＣの引数に指定されることを知っているからである。
【００８４】
したがって、チケット認証プロバイダ１３２は、当該文字列の中から認証サービスＵＲＩと認証チケットとを取り出し、取り出した情報に基づいて認証サービス２１のチケット確認メソッドをＳＯＡＰのＲＰＣによって呼び出すためのＳＯＡＰメッセージを認証サービス２１に対して送信する。チケット確認メソッドの呼び出し対象となる認証サービス２１は、取り出された認証サービスＵＲＩによって特定され、チケット確認メソッドの引数には、取り出された認証チケットが指定される。
【００８５】
図１４は、認証サービスの確認メソッドを呼び出すためのＳＯＡＰメッセージの例を示す図である。図１４のＳＯＡＰメッセージ５１０において、符号５１１によって示される部分がチケット確認メソッドに対する呼び出し情報である。すなわち、タグ５１２のタグ名である「チケット確認メソッド」は、呼び出し対象となるチケット確認メソッドのメソッド名である。記述５１３は引数情報であり、エンコードされ更に暗号化された認証チケットが指定されている。
【００８６】
ステップＳ１１６に続いてステップＳ１１７に進み、認証サービス２１は、認証チケットの正当性の確認と、認証チケットの解読とを実行する。具体的には、認証チケットの有効期限や改竄の有無等、認証チケットの正当性を確認すると共に、認証サービス２１のみに解釈可能な形式でチケットに記録されている情報を、テキスト形式の情報に変換する。なお、テキスト形式に変換された情報を以下、「証明書情報」という。
【００８７】
ステップＳ１１７に続いてステップＳ１１８に進み、認証サービス２１は、チケット確認メソッドの返却情報としての証明書情報を含むＳＯＡＰメッセージをチケット認証プロバイダ１３２に対して送信する。
【００８８】
図１５は、チケット確認メソッドの返却情報としての証明書情報を含むＳＯＡＰメッセージの例を示す図である。図１５のＳＯＡＰメッセージ５２０において、記述５２１は、認証チケットの解読に成功したか否か（認証チケットが正当なものであったか否か）を示す情報である。＜ｒｅｔｕｒｎＶａｌｕｅ＞タグに囲まれた値が、ＯＫの場合は、認証チケットの解読に成功した旨を示す。
【００８９】
＜証明書情報＞タグに囲まれた記述５２２は、証明書情報である。証明書情報のうち記述５２３、記述５２４、記述５２５はそれぞれ、ヘッダ情報、ユーザ情報、グループ情報を示す。
【００９０】
ヘッダ情報５２３は、認証チケットのバージョン、認証チケットを発行した認証サービス２１のＵＲＬ、認証プロバイダの名前（認証プロバイダ名）、認証チケットの対象となっているサービス名（文書管理サービス）、及び認証チケットの有効期限等の情報を含む。
【００９１】
ユーザ情報５２４は、認証チケットの発行を受けたユーザに関する情報であり、当該ユーザを識別するためのＩＤ、ＩＤによって識別される対象がユーザなのかグループなのかを示す主体種別、ＩＤによって識別されるユーザのアカウントが定義されている空間（Ｗｉｎｄｏｗｓ（登録商標）上かＮｏｔｅｓ（登録商標）か等）を示すユーザ空間、ユーザが属するドメインのドメイン名、及びユーザ名等の情報を含む。
【００９２】
グループ情報５２５は、ユーザが属するグループを識別するためのＩＤ，主体種別、ユーザ空間、ドメイン名、及びグループ名等の情報を含む。なお、ユーザが複数のグループに属している場合は、＜ｉｔｅｍ＞タグによって囲まれたそれぞれのグループ情報が、複数列挙される。
【００９３】
ステップＳ１１８に続いてステップＳ１１９に進み、チケット認証プロバイダ１３２は、ＳＯＡＰメッセージとして受信した証明書情報から、ユーザ名やグループ名等を抜き出して、当該ユーザ名及びグループ名を含むアカウント情報を生成し、当該アカウント情報を認証メソッドＣの戻り値として認証インタフェースモジュール１３１に対して返却する。
【００９４】
ステップＳ１１９に続いてステップＳ１２０に進み、認証インタフェースモジュール１３１は、認証メソッドＣから返却されたアカウント情報に基づいて、認証メソッドＢとしてのアカウント情報を生成し、生成したアカウント情報を文書管理インタフェースモジュール１２１に対して返却する。文書管理インタフェースモジュール１２１は、認証メソッドＢの戻り値としてアカウント情報が返却されたことに基づき、認証が成功した旨を認識する。なお、文書管理インタフェースモジュール１２１は、あくまでもユーザ名とパスワードによる認証が成功したものと解釈し、下位の層（チケット認証プロバイダ１３２）において、チケットによる認証が行われたことについては全く関知しない。
【００９５】
ステップＳ１２０に続いて、ステップＳ１２１に進み、文書管理インタフェースモジュール１２１は、文書管理エンジン１２２に対してアカウント情報を引数としてセッションの接続を要求する。ここで引数として指定されたアカウント情報は、文書管理エンジン１２２においてアクセス制御等に用いられる。
【００９６】
文書管理エンジン１２２とのセッションの接続に成功すると（Ｓ１２２）、文書管理インタフェースモジュール１２１は、リポジトリサービス１１とのセッションを接続し、当該セッションのセッションＩＤを認証メソッドＡの戻り値としてリポジトリサービス１１に対して返却する（Ｓ１２３）。
【００９７】
ステップＳ１２３に続いてステップＳ１２４に進み、リポジトリサービス１１は、文書管理インタフェースモジュール１２１とのセッションの接続の成功に基づいて、Ｗｅｂサーバ３０とのセッションを接続し、当該セッションのセッションＩＤをセッション接続メソッドの戻り値としてＷｅｂサーバ３０に対して返却する。
【００９８】
ステップＳ１２４に続いてステップＳ１２５に進み、Ｗｅｂサーバ３０が、文書管理ページを生成し（Ｓ１２５）、文書管理ページを端末４０に対して送信すると（ＨＴＴＰレスポンス）、文書管理ページが端末４０のＷｅｂブラウザによって表示される（Ｓ１２６）。
【００９９】
以降は、端末４０のユーザは、文書管理ページにおいて、文書管理部１２において管理されている文書情報を操作することができる。
【０１００】
上述したように、本実施の形態における文書管理サーバ１０によれば、リポジトリサービス１１とチケット認証プロバイダ１３２とが、パスワードとチケットとの不整合を吸収するため、文書管理インタフェースモジュール１２１のような既存部は、パスワード認証を前提としたインタフェース（認証メソッドＡ）を変更する必要がない。
【０１０１】
したがって、既存部の実装を変更することなく新たな認証方式に対応することができると共に、従来からのパスワードによる認証方式にも対応することができ、チケット認証に対応していないクライアントからの要求も従来どおり処理することができる。
【０１０２】
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【０１０３】
【図１】クライアントがユーザ名等をサーバに提示する例を示す図である。
【図２】チケットを用いた認証処理の例を示す図である。
【図３】本発明の実施の形態におけるＷｅｂシステムの構成例を示す図である。
【図４】チケットのデータ構造例を示す図である。
【図５】本発明の実施の形態における文書管理サーバのハードウェア構成例を示す図である。
【図６】本発明の実施の形態における文書管理サーバの機能構成例を示す図である。
【図７】リポジトリサービスの詳細を説明するための図である。
【図８】リポジトリサービスのセッション接続メソッドのインタフェース仕様を示す図である。
【図９】文書管理インタフェースモジュールの認証メソッドＡのインタフェース仕様を示す図である。
【図１０】認証インタフェースモジュールの認証メソッドＢのインタフェース仕様を示す図である。
【図１１】認証プロバイダの認証メソッドＣのインタフェース仕様を示す図である。
【図１２】文書管理サーバにおける認証処理を説明するためのシーケンス図である。
【図１３】文書管理サーバにおける認証処理を説明するためのシーケンス図である。
【図１４】認証サービスの確認メソッドを呼び出すためのＳＯＡＰメッセージの例を示す図である。
【図１５】チケット確認メソッドの返却情報としての証明書情報を含むＳＯＡＰメッセージの例を示す図である。
【符号の説明】
【０１０４】
１０              文書管理サーバ
１１              リポジトリサービス
１２              文書管理部
１３              認証処理部
２０              認証サーバ
３０              Ｗｅｂサーバ
４０              端末
５０              ネットワーク
６０              ドメインコントローラ
７０              Ｎサーバ
１１１            ＳＯＡＰ処理部
１２１            文書管理インタフェースモジュール
１２２            文書管理エンジン
１３１            認証インタフェースモジュール
１３２            チケット認証プロバイダ
１３３            Ｗ認証プロバイダ
１３４            Ｎ認証プロバイダ
７０１            文書管理サーバ
７０２            文書配信サーバ
７０３            印刷サーバ
７０４            クライアント
７０５            認証サーバ
１０１１          ＣＰＵ
１０１２          ＲＯＭ
１０１３          ＲＡＭ
１０１４          補助記憶装置
１０１５          ネットワークＩ／Ｆ
１０１６          ドライブ装置
１０１７          記録媒体
【図１】
2005070979.tif 000003
【図２】
2005070979.tif 000004
【図３】
2005070979.tif 000005
【図４】
2005070979.tif 000006
【図５】
2005070979.tif 000007
【図６】
2005070979.tif 000008
【図７】
2005070979.tif 000009
【図８】
2005070979.tif 000010
【図９】
2005070979.tif 000011
【図１０】
2005070979.tif 000012
【図１１】
2005070979.tif 000013
【図１２】
2005070979.tif 000014
【図１３】
2005070979.tif 000015
【図１４】
2005070979.tif 000016
【図１５】
2005070979.tif 000017