(57)【要約】【課題】サーバと通信できない状態でのアクセス制御ポリシーをも定義できるような仕組みを提供し、より柔軟なアクセス制御ポリシーを実現できるクライアントサーバシステムを提供することを目的とする。【解決手段】各ユーザのアクセス制御ポリシーを管理するデータベースを保持するサーバにおいて、各ユーザのオンラインログイン時のみならずオフラインログイン時のアクセス制御ポリシーも設定できるようにする。ユーザがクライアントマシンからオンラインログインしたとき、サーバよりオンラインポリシーと一緒にオフラインポリシーも取得するようにし、取得したオフラインポリシーをクライアントマシンに保持しておく。サーバと通信できない状態ではオフラインログインを行い、保存されたオフラインポリシーがクライアントマシンへ反映されることで、より柔軟なアクセス制御ポリシーの実施を可能とする。【選択図】図１
2008033855.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ毎のアクセス制御ポリシーを記憶したサーバと、該サーバからアクセス制御ポリシーを受信する複数のクライアントマシンとを備えたクライアントサーバシステムであって、
前記サーバは、
各ユーザ毎に、オンラインログイン時のアクセス制御ポリシーであるオンラインポリシーと、サーバと通信しないオフラインログイン時のアクセス制御ポリシーであるオフラインポリシーとの、両方を格納するアクセス制御ポリシー記憶手段と、
前記クライアントマシンから任意のユーザのオンラインログイン要求を受信したとき、そのユーザのオンラインポリシーとオフラインポリシーの両方を前記アクセス制御ポリシー記憶手段から読み出し該クライアントマシンへ送信する手段と
を備え、
前記クライアントマシンは、
ユーザによるオンラインログイン指示があったときには、前記サーバにオンラインログイン要求を送信するとともに、前記サーバから送信された当該ユーザに対応するオンラインポリシーとオフラインポリシーを受信し、受信したオンラインポリシーをアクセス制御ポリシーとして当該ユーザのオンラインログイン処理を行う手段と、
受信したオフラインポリシーを当該ユーザのパスワードで暗号化して記憶する手段と、
当該ユーザによるオフラインログイン指示があったときには、記憶してある当該ユーザに対応する前記オフラインポリシーを読み出して復号し、該オフラインポリシーをアクセス制御ポリシーとして当該ユーザのオフラインログイン処理を行う手段と
を備えることを特徴とするクライアントサーバシステム。
【請求項２】
請求項１に記載のクライアントサーバシステムにおいて、
前記サーバは、前記オフラインポリシーに対して有効期限を設定する手段を備え、
前記クライアントマシンのオフラインログイン処理を行う手段は、アクセス制御ポリシーとして適用するオフラインポリシーに対して有効期限が設定されているときには、現在日時が該有効期限内である場合にのみオフラインログイン処理を行うものである
ことを特徴とするクライアントサーバシステム。
【請求項３】
請求項２に記載のクライアントサーバシステムにおいて、
前記クライアントマシンのオフラインログイン処理を行う手段は、アクセス制御ポリシーとして適用するオフラインポリシーに対して有効期限が設定されており、現在日時が該有効期限内である場合、オフラインログイン処理を行うとともに、該有効期限が切れた時点で自動ログアウトするようにタイマーを設定する
ことを特徴とするクライアントサーバシステム。
【請求項４】
請求項１から３の何れか１つに記載のクライアントサーバシステムにおいて、
前記クライアントマシンのオフラインログイン処理を行う手段は、オフラインログイン時には当該ユーザにより行われた操作の操作ログ取得レベルを自動的に上げて、通常よりも詳細な操作ログを取得する
ことを特徴とするクライアントサーバシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ログイン時に認証サーバよりアクセス制御ポリシーを取得し、該ポリシーをクライアントマシンに反映させるクライアントサーバシステムに関するものである。
【背景技術】
【０００２】
従来からのクライアントマシンにおけるアクセス制御は、企業のような情報システムを想定すると、クライアントマシンがシステムログイン時に認証サーバよりアクセス制御ポリシーを取得し、ログイン後にはそのアクセス制御ポリシーが反映され、ログアウト後には再度、全権限が制限された状態に戻る、という形式のものが中心となっている。
【０００３】
また、それらのアクセス制御ポリシーによって保護されるリソースは、ドキュメント、印刷機能、外部媒体へのデータ書き出し機能、およびメール送信機能など多岐にわたる。
【０００４】
図６に、このようなアクセス制御を行う典型的なソフトウェアであるミドルウェアの例を示す。ミドルウェア602は、アプリケーション601とオペレーティングシステム603の間でアプリケーション601からの要求をモニタリングし、どの要求を許可/禁止するかを決定する。また、アプリケーション601の挙動について、アプリケーション操作ログ604を出力する機能を通常持っている。このようなミドルウェアは、通常オペレーティングシステムの処理へのフック技術(OSの各処理に独自の前処理を付加できる技術)を利用し、独自のアクセス制御ポリシーに基づいたアクセス制御を実現する。
【０００５】
これらのアクセス制御を動的にまた詳細に変更する方式として、例えば、下記特許文献１に記載の技術が提案されている。この特許文献１では、アクセス制御ポリシーを配布するサーバとアクセス制御ポリシーの解釈を行うサーバを導入し、複雑なポリシー設定を一元管理した形で実現する方式を提案している。
【特許文献１】特開2004−166241
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１の技術は、クライアントマシンとサーバが必ず通信できることを前提としており、クライアントマシンがサーバと通信できない状況での運用が考慮されていなかった。よってマシンを社外に持ち出して一時的に使用するような状況では、既存方式では何もできないという問題点があった。クライアントマシンがサーバに接続できない状況であっても、例えば、特権ユーザに対しては一時的に適度に制限されたアクセス制御ポリシーを実施する、というような運用をしたい場合もあるが、従来技術ではそのような柔軟な運用を行うことができなかった。
【０００７】
本発明の目的は、サーバと通信できない状態でのアクセス制御ポリシーをも定義できるような仕組みを提供し、より柔軟なアクセス制御ポリシーを実現できるクライアントサーバシステムを提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明のクライアントサーバシステムは、クライアントを認証し該当するアクセス制御ポリシーをクライアントへ送付するサーバと、このサーバからアクセス制御ポリシーを受信する複数のクライアントを備え、サーバには、各ユーザの認証情報に加えて、各ユーザのオンラインログイン時のアクセス制御ポリシーであるオンラインポリシーとオフラインログイン時のアクセス制御ポリシーであるオフラインポリシーとを保持するものとする。クライアントは、通常時においては、オンラインログイン時にサーバとの間で認証処理を行い、アクセス制御ポリシーとしてオンラインポリシーを受信し、クライアントマシンにおいてそのオンラインポリシーが適用されてオンラインログイン処理が実施される。クライアントは、このサーバと通信を行うオンラインログイン時に、毎回、サーバより、サーバと通信不可の状態で許可された権限の設定を保持するオフラインログイン時のアクセス制御ポリシーであるオフラインポリシーも受信する。受信したオフラインポリシーは、クライアントのコンピュータ上に暗号化されて保存される。
【０００９】
例えばサーバと通信不可の状態などにおいてクライアントがオンラインログイン要求を発行しても、そのオンラインログイン処理は当然失敗する。このとき、クライアントがオフラインログインを実行すると、オンラインログインを行った際にサーバより取得してある当該ユーザのオフラインポリシーがそのマシン内にあるので、当該オフラインポリシーを適用してオフラインログイン処理を行う。クライアントの認証パスワードが正しければクライアントはオフラインログイン可能で、このときマシンはオフラインポリシーに基づいたアクセス制御が実施される。
【００１０】
管理者は、オフラインポリシーに対して有効期限の設定も行うことができる。オフラインポリシーに有効期限が設定されているときは、オフラインログイン時に、現在日時がその有効期限内かを確認し、有効期限内である場合のみオフラインログインを認めるようにする。また、現在日時が有効期限内でオフラインログインしたときには、該有効期限が切れた時点で自動ログアウトするようにタイマーを設定するとよい。
【００１１】
また、オフラインログイン時は、当該ユーザにより行われた操作の操作ログ取得レベルを自動的に上げ、オフラインログイン時にユーザが行った操作を確実に監査できるようにするとよい。
【発明の効果】
【００１２】
本発明のクライアントサーバシステムによれば、次のような効果がある。
（１）一時的にサーバと通信できない状況でマシンを使用する際に、例えば特権ユーザなどの所定のユーザについてはオフラインログインすることである程度の権限を与えたい場合、管理者は、当該ユーザのオフラインポリシーに権限を設定してやればよい。必要であればそのオフラインポリシーの有効期限も設定できる。当該ユーザは、使用するクライアントマシンで一度オンラインログインを行う。これによってサーバより取得したその時点でのオフラインポリシーが当該クライアントマシンに保存される。このように一度オフラインポリシーを保持したマシンであれば、サーバと通信できない状況でも、オフラインログインを行うことでオフラインポリシーが適用され、管理者に指定された権限（および有効期限内）で操作を行うことが可能となる。また、このようなオフラインポリシーをユーザ毎に柔軟にレベル分けして設定することができる。
（２）ミドルウェアは、通常、アプリケーションの操作ログを出力できる。この操作ログの取得項目は、ログの取得レベルを上げることでより詳細な操作ログが取得でき、また下げることで必要最小限のログを取得するよう変更できる。本発明では、オフラインログインした際はログの取得レベルを必ず上げるよう設定をすることで、オフラインログイン中に行った操作を確実にログに記録し、ユーザの不正な操作に対する抑止力とすることができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明を適用したクライアントサーバシステムの実施の一形態について説明する。
【００１４】
図１は、本発明の一実施形態であるシステムの構成とオンラインログイン時の処理の概要を示している。サーバ103は、アクセス制御ポリシーデータベース（DB）104を備え、ここに各ユーザ毎のオンラインポリシーおよびオフラインポリシーを保存してある。各クライアントのユーザは、普段はサーバ103とオンラインログインを行って、各種の作業を行う。その通信の度に、サーバ103から、オンラインポリシーのみならず、その時点でのオフラインポリシーも取得してクライアントマシンに保存する。例えば図１では、クライアントマシン101からUser1がオンラインログインすると、サーバ103のアクセス制御ポリシーDB104内のUser1に対応するオンラインポリシー111とオフラインポリシー112がネットワーク102経由でクライアントマシン101にダウンロードされ、User1のオンラインポリシー121およびオフラインポリシー122として保存される。これにより、User1がオンラインログインしたときはオンラインポリシーに応じてアクセス制御が実行され、オフラインログインしたときはオフラインポリシーに応じてアクセス制御が実行されるようにできる。
【００１５】
図２は、ユーザ毎のアクセス制御ポリシーDB（図１の104）に格納される情報の例を示す。管理者は、各ユーザ毎にオンラインポリシーとオフラインポリシーを設定（定義）することができ、設定の後に変更することもできる。この例では、User2に対して、全ての処理を禁止するオフラインポリシーが設定されている。User3に対しては、期間を限定した特権ユーザとしてのオフラインポリシーが設定されている。また、User4のようなオフラインポリシー設定用の特別なユーザを用意しておき、各ユーザのオフラインポリシーの欄にその特別なユーザのユーザ名を設定することでオフラインポリシーを割り当てることもできる。User1のオフラインポリシーの欄は、特別ユーザUser4を設定した例である。なお、有効期限には「2006/05/51」のような絶対的な日時指定の他に、「オンラインポリシー取得後１週間」のような相対的な日時指定も行うことができる。これによって、一定期間以上オンラインログインを行わないユーザの、オフラインでのリソースへのアクセスを禁止することができる。
【００１６】
図３は、クライアントマシンにおけるオンラインログイン時の処理手順を示すフローチャートである。あるユーザがクライアントマシンからオンラインログインすると、まずステップ301で、サーバ103との間で認証処理を行う。ステップ302で認証に成功したか判別する。認証に失敗した場合は、ステップ303でエラー終了する。認証に成功した場合は、ステップ304で、サーバ103のアクセス制御ポリシーDB104から当該ユーザに対応するオンラインポリシーとオフラインポリシーを取得する。ステップ305では、取得したオフラインポリシーを当該ユーザのパスワードで暗号化し、ステップ306で、暗号化したオフラインポリシーを所定のフォルダへ当該ユーザ名で識別できる形で保存する。次にステップ307で、従来より行われているオンラインログイン処理を行い、ログイン後の処理に入る。以上の処理により、あるユーザがクライアントマシンからオンラインログインしたときは、オフラインポリシーもダウンロードされ、そのユーザのパスワードで暗号化されてクライアントマシンに保存される。
【００１７】
図４は、あるユーザがクライアントマシン101においてオフラインログインを指示したときの処理手順を示すフローチャートである。ステップ401で、ユーザがユーザ名と認証情報を入力すると、ステップ402で、そのユーザ名に該当するオフラインポリシーが所定のフォルダに存在するか判定する。存在しないときは、ステップ403でエラー終了する。オフラインポリシーが存在したときは、ステップ404で、当該ユーザのパスワードでオフラインポリシーを復号する。ステップ405で正しく復号できたか判定する。復号できなかったときは、ステップ406でエラー終了する。復号できたときは、ステップ407で、現在日時がそのオフラインポリシーの有効期限内であるか判定する。有効期限内でなかったときは、ステップ408でエラー終了する。有効期限内であったとき（オフラインポリシーに有効期限が設定されていなかった場合を含む）、ステップ409で、当該オフラインポリシーを当該クライアントマシンに反映させる。ステップ410で、操作ログ取得レベルを上げて全ての操作を監視できるようにする。ステップ411で、当該オフラインポリシーの有効期限が切れたときに自動ログアウトするようにタイマーを設定し、ログイン後の処理に入る。
【００１８】
以上のようにして、オフラインログイン時には予めダウンロードしてあったオフラインポリシーに基づくアクセス制御が実現される。この場合、全ての操作が操作ログに記録されるので、ユーザの不正な操作に対する抑止力となる。また、オフラインログインしている途中でオフラインポリシーの有効期限が切れたときには、自動ログアウトするようになっているので、有効期限を過ぎてオフラインログインのまま使用することも不可能である。
【００１９】
図５は、オンラインログイン時のサーバ103側の処理手順を示すフローチャートである。サーバ103は、任意のクライアントからログイン要求を受け、ステップ501でそのユーザ名と認証情報を受信する。ステップ502でユーザの認証情報が正しいか判定し、正しくないときは、ステップ503でログイン失敗の処理を行う。ユーザの認証情報が正しいときは、ステップ504で、アクセス制御ポリシーDB104を検索し、当該ユーザに対応するオンラインポリシーとオフラインポリシーを取り出す。ステップ505で、取り出したオフラインポリシーが特別ユーザで指定されているか判定する。特別ユーザで指定されているときは、ステップ506で、その特別ユーザのオフラインポリシーを再度アクセス制御ポリシーDB104から検索し、該当するオフラインポリシーを取得する。ステップ505で特別ユーザで指定されていなかった場合は、ステップ504で取り出したオフラインポリシーをそのまま用いればよい。ステップ507で、オンラインポリシーおよびオフラインポリシーを当該ユーザへ送信し、通常のオンラインログインの処理に入る。なお、オフライン設定用特別ユーザの検索処理は、データをキャッシュするなどして高速化することが可能である。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施の形態例を示すシステム構成図である。
【図２】ユーザのアクセス制御ポリシーデータベースに格納されているデータの構成図である。
【図３】ユーザのオンラインログイン時の処理フローの概略図である。
【図４】ユーザのオフラインログイン時の処理フローの概略図である。
【図５】サーバのオンラインログイン時の処理フローの概略図である。
【図６】アクセス制御を行うミドルウェアの処理の概念図である。
【符号の説明】
【００２１】
101…クライアントマシン、102…ネットワーク、103…サーバ、104…アクセス制御ポリシーDB、111，121…オンラインポリシー、112，122…オフラインポリシー。
【図１】
2008033855.tif 000003
【図２】
2008033855.tif 000004
【図３】
2008033855.tif 000005
【図４】
2008033855.tif 000006
【図５】
2008033855.tif 000007
【図６】
2008033855.tif 000008