説明

シングルサインオンシステム、情報端末装置、シングルサインオンサーバ、プログラム

【課題】サービスの提供を行うサービス提供サーバへの改変無しにシングルサインオンを実現する方法を改良する。
【解決手段】SSOサーバ30は、クライアント20が送信したサーバ接続要求から特定したサーバ18に対して、サーバ18との通信に使用するIPアドレスとSSOサーバ30の認証情報を含む認証要求を送信してユーザ認証を受けた後、サーバ18との間にセッションを確立するサーバ接続部36と、サーバ18との通信に使用しているアドレスの使用を停止するセッション中断部37と、サーバ18との間で確立されたセッションに関する情報をクライアント20へ送信するセッション情報送信部35とを有する。クライアント20は、受信したセッション情報に含まれるIPアドレスを使用してSSOサーバ30が確立したセッションを引き継ぎ、サーバ18との通信を行う通信制御部23を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、シングルサインオンシステム、情報端末装置、シングルサインオンサーバ及びプログラムに関する。
【背景技術】
【0002】
近年では、種々のコンピュータやアプリケーションを利用する際にセキュリティ維持の目的でユーザIDとパスワードの事前入力が要求される場合が少なくない。例えば、ネットワークに接続された端末を使用している場合、端末の起動時に、ネットワークへの接続時に、サーバへの接続時に、更にサーバ上のアプリケーションの起動時に、というように、何度もユーザIDとパスワードの入力が求められる場合がある。こうした入力の手間を省き、一度ユーザ認証されれば全てのユーザIDとパスワードの入力を省略できる機能としてシングルサインオンというシステムが登場した。シングルサインオンとは、ユーザが一度認証を受けるだけで、許可されているすべての機能を利用できるようになることをいう。すなわち、シングルサインオンを採用することにより、ユーザは、アプリケーションを実行してサービスを提供するサーバからサービスの提供を受ける際にも一度認証を受けるだけですむ。
【0003】
従来から、サーバへの改変無しにシングルサインオンを実現する方法として、中継サーバを用いる方法があった(例えば特許文献1)。この従来技術によれば、システム内においてユーザ端末からサーバへアクセスする際、ユーザ認証を統括する中継サーバを常に経由させてアクセスさせることでシングルサインオンを実現している。
【0004】
また、その他の従来技術として許可証を発行する方法が提案されている(例えば特許文献2)。この従来技術によれば、初回のユーザ認証時に様々なサーバのアクセス許可証を生成し、ユーザ端末へ渡すことでシングルサインオンを実現している。
【0005】
【特許文献1】特開2005−321970号公報
【特許文献2】特開2002−269272号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
ところで、認証情報を管理する中継サーバを利用する実現方法では、中継サーバを経由させなければならない。
【0007】
また、許可証を発行する実現方法では、許可証を事前に発行したサーバにしかシングルサインオンを適用することはできない。
【0008】
本発明は、認証を伴うサービスの提供を行うサービス提供サーバに対し、認証情報を管理する中継サーバを経由することなく、シングルサインオンを実現することを目的とする。
【課題を解決するための手段】
【0009】
請求項1に係る発明は、サービスの提供を行うサービス提供サーバと、前記サービス提供サーバが提供するサービスを利用するクライアントと、シングルサインオンを実現するシングルサインオンサーバとを有し、前記シングルサインオンサーバは、前記クライアントから送信されてきたサーバ接続要求を受信する受信手段と、受信したサーバ接続要求から特定されたサービス提供サーバに対して、当該サービス提供サーバとの通信に使用するアドレスと前記シングルサインオンサーバの認証情報とを少なくとも含む認証要求を送信してユーザ認証を受けた後、当該サービス提供サーバとの間にセッションを確立する確立手段と、当該サービス提供サーバとの通信に使用しているアドレスの使用停止処理を行う停止処理手段と、前記アドレスの使用が停止された後、少なくとも前記アドレスを含み、当該サービス提供サーバとの間で確立されていたセッションに関するセッション情報を、当該サーバ接続要求を送信した前記クライアントへ送信する情報送信手段とを有し、前記クライアントは、前記サービス提供サーバへのサーバ接続要求を前記シングルサインオンサーバへ送信する要求送信手段と、送信したサーバ接続要求に応じて前記シングルサインオンサーバから送られてきたセッション情報を受信するセッション情報受信手段と、該情報受信手段で受信したセッション情報に含まれるアドレスを当該サービス提供サーバとの通信に使用し、前記シングルサインオンサーバが当該サービス提供サーバとの間で確立していたセッションを引き継いで、当該サービス提供サーバとの通信を行う通信手段とを有することを特徴とするシングルサインオンシステムである。
【0010】
請求項2に係る発明は、サービスの提供を行うサービス提供サーバの当該サービスを利用するコンピュータに、前記サービス提供サーバへのサーバ接続要求を、シングルサインオンを実現するシングルサインオンサーバへ送信させ、送信したサーバ接続要求に応じて前記シングルサインオンサーバから送られてきたセッション情報を受信し、受信したセッション情報に含まれるアドレスを当該サービス提供サーバとの通信に使用し、前記シングルサインオンサーバが前記サービス提供サーバとの間で確立していたセッションを引き継いで、当該サービス提供サーバとの通信を行わせることを特徴とするプログラムである。
【0011】
請求項3に係る発明は、シングルサインオンを実現するコンピュータに、サービスの提供を行うサービス提供サーバの当該サービスを利用する情報端末装置から送信されてきた前記サービス提供サーバへのサーバ接続要求を受信させ、受信したサーバ接続要求から特定したサービス提供サーバに対して、当該サービス提供サーバとの通信に使用するアドレスと前記コンピュータの認証情報とを少なくとも含む認証要求を送信することで当該サービス提供サーバとの間にセッションを確立させ、当該サービス提供サーバとの通信に使用されるアドレスの使用停止処理を行わせ、前記アドレスの使用が停止された後、少なくとも前記アドレスを含み、当該サービス提供サーバとの間で確立されていたセッションに関するセッション情報を、当該サーバ接続要求を送信した前記情報端末装置へ送信させることを特徴とするプログラムである。
【0012】
請求項4に係る発明は、前記コンピュータに、更に、前記サービス提供サーバとの通信に使用されたアドレスの中からサーバ接続要求から特定されるサービス提供サーバとの通信に使用する未使用のアドレスを選出させることを特徴とするプログラムである。
【0013】
請求項5に係る発明は、前記コンピュータに、更に、同一リンク上で使用可能な任意のアドレスの中からサーバ接続要求から特定されるサービス提供サーバとの通信に使用する未使用のアドレスを選出させることを特徴とするプログラムである。
【0014】
請求項6に係る本発明に係る情報端末装置は、サービスの提供を行うサービス提供サーバへのサーバ接続要求を、シングルサインオンを実現するシングルサインオンサーバへ送信する要求送信手段と、送信したサーバ接続要求に応じて前記シングルサインオンサーバから送られてきたセッション情報に含まれるアドレスを当該サービス提供サーバとの通信に使用することで前記シングルサインオンサーバが当該サービス提供サーバとの間で確立していたセッションを引き継ぎ、当該サービス提供サーバとの通信を行う通信手段とを有することを特徴とする。
【0015】
請求項7に係る発明は、クライアントから送信されてきたユーザ認証後にサービスの提供を行うサービス提供サーバへのサーバ接続要求を受信する受信手段と、受信したサーバ接続要求から特定したサービス提供サーバに対して、当該サービス提供サーバとの通信に使用するアドレスと自己に設定された認証情報とを少なくとも含む認証要求を送信してユーザ認証を受けた後、当該サービス提供サーバとの間にセッションを確立する確立手段と、当該サービス提供サーバとの通信に使用しているアドレスの使用停止処理を行う停止処理手段と、前記アドレスの使用が停止された後、少なくとも前記アドレスを含み、当該サービス提供サーバとの間で確立されていたセッションに関するセッション情報を、当該サーバ接続要求を送信した前記クライアントへ送信する情報送信手段とを有することを特徴とするシングルサインオンサーバである。
【発明の効果】
【0016】
請求項1記載の発明によれば、シングルサインオンサーバを経由せずに、サービス提供サーバが提供するサービスをクライアントに利用させることができる。
【0017】
請求項2記載の発明によれば、シングルサインオンサーバを経由せずに、サービス提供サーバが提供するサービスをコンピュータに利用させることができる。
【0018】
請求項3記載の発明によれば、認証情報を必要に応じて管理するシングルサインオンを提供することができる。
【0019】
請求項4記載の発明によれば、未使用のアドレスを確実に確保することができる。
【0020】
請求項5記載の発明によれば、未使用のアドレスを確実に確保することができる。
【0021】
請求項6記載の発明によれば、シングルサインオンサーバを経由せずに、サービス提供サーバが提供するサービスを利用することができる。
【0022】
請求項7記載の発明によれば、認証情報を必要に応じて管理するシングルサインオンを提供することができる。
【発明を実施するための最良の形態】
【0023】
以下、図面に基づいて、本発明の好適な実施の形態について説明する。
【0024】
図1は、本実施の形態におけるシングルサインオンシステムを示した全体構成図である。図1には、サーバ18とクライアント20とシングルサインオン(SSO)サーバ30とが示されている。サーバ18は、要求に応じて所定のアプリケーションを実行することでサービスの提供を行うサーバコンピュータである。クライアント20は、サーバ18が提供するサービスを利用したいユーザが使用するクライアントコンピュータである。SSOサーバ30は、シングルサインオンを実現するサーバコンピュータである。クライアント20及びSSOサーバ30は、同一のLAN12に接続され、ファイアウォール14、公衆網16を介してサーバ18とデータ通信を行う。
【0025】
図2は、本実施の形態におけるサーバ18、クライアント20及びSSOサーバ30を構成する各コンピュータのハードウェア構成図である。コンピュータは、図2に示したようにCPU1、ROM2、RAM3、ハードディスクドライブ(HDD)4を接続したHDDコントローラ5、入力手段として設けられたマウス6とキーボード7、及び表示装置として設けられたディスプレイ8をそれぞれ接続する入出力コントローラ9、通信手段として設けられたネットワークインタフェース11を内部バス10に接続して構成される。サーバ18、クライアント20及びSSOサーバ30を構成する各コンピュータは、性能的に差異はあるかもしれないが、ハードウェア構成としては、従前から存在する汎用的なハードウェア構成で実現できるため、それぞれ図3のように図示することができる。
【0026】
図3は、本実施の形態におけるシングルサインオンシステムのブロック構成図である。なお、サーバ18及びクライアント20は、それぞれ同様の機能を有していればよいので、図3では1台ずつ示した。また、サーバ18は、本実施の形態を実施する上で新たに追加すべき機能はなく既存機能のみで実施可能である。従って、ユーザ認証機能等本実施の形態を実施する際に利用する機能ブロックは図3から省略した。
【0027】
クライアント20は、接続要求送信部21、セッション情報受信部22及び通信制御部23を有している。接続要求送信部21は、所望のサーバ18への接続要求をSSOサーバ30に対して送信する。セッション情報受信部22は、送信した接続要求に応じてSSOサーバ30から送られてきたセッション情報を受信する。通信制御部23は、サーバ18との間で行うデータ通信の制御を行う。通信制御部23に含まれるサーバ接続部24は、セッション情報受信部22により受信されたセッション情報に含まれるIPアドレスをネットワークインタフェース11に設定することで、そのIPアドレスを当該接続要求にて指定したサーバ18との通信に使用する。
【0028】
クライアント20における各構成要素21〜23は、クライアント20を構成するコンピュータと、コンピュータに搭載されたCPU1で動作するプログラムとの協調動作により実現される。
【0029】
SSOサーバ30は、接続要求受信部31、認証情報取得部32、アドレス決定部33、通信制御部34及びセッション情報送信部35を有している。接続要求受信部31は、クライアント20から送信されてきた接続要求を受信する。認証情報取得部32は、接続要求で指定されたサーバ18から認証を受けるために必要な認証情報、本実施の形態ではSSOサーバ30がサーバ18から認証を受けるために用いる認証情報を取得する。アドレス決定部33は、サーバ18との通信に使用するIPアドレスを決定する。通信制御部34は、サーバ18との間で行うデータ通信の制御を行う。通信制御部34に含まれるサーバ接続部24は、アドレス決定部33により決定されたIPアドレスをネットワークインタフェース11に設定し、また認証要求を送信するなどサーバ18との間でセッションを確立してデータ通信が可能な状態にする。また、セッション中断部37は、サーバ18との通信に使用しているIPアドレスをネットワークインタフェース11から削除するなどサーバ18との間で確立したセッションの使用を停止する使用停止処理を行う。セッション情報送信部35は、セッション中断部37が使用停止処理の実行したことによりIPアドレスの使用が停止された後、サーバ18との間で確立されていたセッションに関するセッション情報を、接続要求を送信したクライアント20へ送信する。
【0030】
SSOサーバ30における各構成要素31〜35は、SSOサーバ30を構成するコンピュータと、特に説明しない限りコンピュータに搭載されたCPU1で動作するプログラムとの協調動作により実現される。
【0031】
また、前述した本実施の形態で用いるプログラムは、通信手段により提供することはもちろん、CD−ROM等の記録媒体に格納して提供することも可能である。
【0032】
クライアント20は、所望のサーバ18との間でセッションを確立してそのサーバ18が提供するサービスを受けることになるが、続いて、クライアント20が所望のサーバ18に対する接続を要求してからセッションが確立されサービスの提供を受けることができるようになるまでの本実施の形態における動作を、図4及び図5に示した各フローチャートを用いて説明する。
【0033】
まず、所望のサーバ18が提供するサービスを利用したいクライアント20のユーザが所定のユーザ操作を行うと、接続要求送信部21は、当該サーバ18との接続要求をSSOサーバ30に対して送信する(ステップ101)。接続要求に相当する情報には、クライアント認証情報とサーバ接続情報とが含まれている。クライアント認証情報は、自己クライアント20がSSOサーバ30へ接続する権限を有していることをSSOサーバ30に確認させるための認証情報であって、自己クライアント20の識別情報(以下、「クライアントID」)及びパスワードを含んでいる。本実施の形態では、クライアントIDとしてIPアドレスを用いるが、MACアドレスなどクライアント20を識別できる情報であればIPアドレスに限定する必要はない。また、詳細は後述するように、クライアント20は、SSOサーバ30からIPアドレスを含むセッション情報を受信することになるが、クライアント認証情報にIPアドレスを含めることで、IPアドレスをクライアントIDとしてだけでなくSSOサーバ30にセッション情報の宛先情報として用いることができる。
【0034】
また、サーバ接続情報には、サーバ18との通信の確立に必要な情報が含まれる。具体的には、サーバ18の名称又はIPアドレス等接続対象とするサーバ18を特定しうる情報が少なくとも含まれている。ポート番号やプロトコル等の情報を合わせて含めるようにすれば、種々の通信方式を採用するクライアント20にも柔軟に対応可能となる。
【0035】
SSOサーバ30において、接続要求受信部31は、クライアント20から送信されてきた接続要求を受信すると(ステップ201)、接続要求に含まれているクライアント認証情報を参照してクライアント20の権限の有無を事前に確認する。すなわち、SSOサーバ30は、いかなるクライアント20からの要求に応じるのではなく、本実施の形態を利用可能なクライアント20に制限を加えるようにしている。従って、接続要求受信部31は、接続要求に含まれているクライアントID及びパスワードによってユーザ認証を行い、この結果、クライアント20に権限が付与されていれば(ステップ202でY)、サーバ接続情報を通信制御部34へ渡す。一方、クライアント20に権限が付与されていなければ(ステップ202でN)、SSOサーバ30は、接続要求送信元のクライアント20へクライアント20の認証不可というエラーを通知する(ステップ214)。
【0036】
認証情報取得部32は、接続要求受信部31によりクライアント20が認証されたことの通知を受けると、SSOサーバ30が接続要求により指定されたサーバ18との接続に必要な認証情報を取得する(ステップ203)。この取得する認証情報というのは、サーバ18にアクセスするためにSSOサーバ30が事前に取得しているSSOサーバ30の認証情報(ユーザID及びパスワード)である。つまり、認証情報取得部32は、各サーバ18へのアクセスに必要なサーバ18それぞれに対応した認証情報の中から、接続要求により指定されたサーバ18との接続に必要な認証情報を取得することになる。従って、接続要求受信部31から受ける通知には、サーバ接続情報が含まれている必要がある。なお、各サーバ18に対する認証情報が蓄積されたディレクトリデータベースを、SSOサーバ30のHDD4に記憶するようにしてもよいし、外部装置で保持管理させるようにしてもよく、認証情報取得部32は、既知の格納先から必要な認証情報を取り出してくる。認証情報が正常に取得できれば(ステップ204でY)、取得した認証情報を通信制御部34へ渡す。一方、クライアント20におけるサーバ18の指定の誤り、SSOサーバ30の管理外などが原因で認証情報を取得できなければ(ステップ204でN)、SSOサーバ30は、接続要求送信元のクライアント20へサーバ18の認証不可というエラーを通知する(ステップ214)。
【0037】
続いて、アドレス決定部33は、接続要求で指定されたサーバ18との通信に用いるIPアドレスを取得する(ステップ205)。アドレス決定部33が取得するIPアドレスは、SSOサーバ30若しくはシステムにおいてサーバ18との通信に用いるために予め確保しておいた少なくとも1つ以上のIPアドレスであって、本実施の形態では、これらの予め確保されたIPアドレスをアドレスプールにて管理する。
【0038】
図6は、本実施の形態において用いるアドレスプールのデータ構成例を示した図である。アドレスプールには、予め確保されたIPアドレスとクライアントIDとが対応付けして管理され、使用されているIPアドレスには、当該IPアドレスを使用しているクライアント20のクライアントIDが対応付けして設定される。従って、クライアントIDの欄が空白のIPアドレスが未使用と把握できるので、アドレス決定部33は、アドレスプールの中から、クライアントIDの欄が空白のIPアドレスを1つ取り出し、それを接続要求で指定されたサーバ18との通信に用いるIPアドレスと決定する。なお、未使用のIPアドレスが複数存在する場合には、アドレスプールの上位に位置する方を使用するなど所定の規則に従い1つのIPアドレスを決定すればよい。
【0039】
なお、図6に示したアドレスプールのデータ構成は、一例である。従って、IPアドレスに、使用中か否かのフラグ情報やIPアドレスを取得したSSOサーバ30の識別情報を対応付けして設定するように構成してもよい。また、アドレスプールは必須ではなく、アドレスプールを用いることなく同一リンク上で使用可能な任意のIPアドレスから未使用のIPアドレスを選出して接続要求で指定されたサーバ18との通信に用いるIPアドレスと決定してもよい。具体的には、使用可能な任意のIPアドレスを選択し、当該IPアドレスが既に使用されているか否かを問い合わせる。例えば、ARP(Address Resolution Protocol)コマンドを用いて当該IPアドレスを持っているノードのMACアドレスを調べる。コマンドに対して応答がなければ、当該IPアドレスは未使用アドレスであるからサーバ18との通信に用いるIPアドレスと決定する。一方、コマンドに対して応答があり既に使用されている場合には、別のIPアドレスを選択して同様の処理を繰り返す。全てのIPアドレスが使用中であれば所定のエラー処理を行い終了する。未使用のIPアドレスの探索処理は一定の繰り返し回数あるいは一定時間に設定してもよく、接続要求で指定されたサーバ18の重要度あるいは接続要求の重要度(あるいは優先度)に応じて探索処理回数や時間を動的に変化させてもよい。未使用のIPアドレスが発見され、サーバ18との通信に用いるIPアドレスと決定した後は、他のノードに対して当該IPアドレスの使用を通知してもよい。他のノードにおいて当該IPアドレスを先使用される事態を防止するためである。未使用アドレスの探索には任意のアルゴリズムを用いることができ、例えば「DAD」(Duplicate Address Detection)として知られる公知の重複アドレス検出方法を用いることができる。なお、本実施形態において、「未使用アドレス」には、過去において一度も使用されていないIPアドレスの他、使用履歴はあるが現在は使用されていないIPアドレスも含まれる。要するに、少なくとも、サーバ18との通信に用いられるであろう予想時間内あるいは期待時間内において未使用であればよい。
【0040】
本実施の形態は、少なくとも1つの未使用のIPアドレスが存在すれば実施可能である。但し、1つだけだとサーバ18とクライアント20との間でデータ通信を同時並行して実施させることができなくなるので、本実施の形態では、複数のIPアドレスを事前に確保してそれらのIPアドレスをアドレスプールにて管理するようにした。そして、その中から未使用のIPアドレスを選出できるように構成した。なお、アドレスプールの保管場所は、SSOサーバ30のRAM3又はHDD4に記憶するようにしてもよいし、外部装置で保持管理させるように構成してもよい。もし、システム内に複数台のSSOサーバ30を設けるのであれば、外部装置にて保持管理させるのが都合良い。アドレス決定部33は、今回使用するIPアドレスを既知の格納先から取り出してくることになる。
【0041】
なお、ステップ203,204と、ステップ205とを同時並行して処理することは可能である。
【0042】
続いて、サーバ接続部36は、アドレス決定部33が取得したIPアドレスをネットワークインタフェース11に設定した後(ステップ206)、接続要求受信部31から送られてきたサーバ接続情報から特定できるサーバ18へ接続要求を送信する(ステップ207)。サーバ18とSSOサーバ30との接続確立手順は、所定のプロトコルに従うものであり、本実施の形態においては、TCPの接続確立手順に従う。ここで、接続に失敗すると(ステップ208でN)、SSOサーバ30は、接続要求送信元のクライアント20へサーバ18との接続エラーを通知する(ステップ214)。
【0043】
接続が正常に行われると(ステップ208でY)、サーバ接続部36は、接続されたサーバ18に対して認証要求を送信する(ステップ209)。この認証要求に含めて送信する認証情報は、認証情報取得部32が取得したSSOサーバ30の認証情報である。
【0044】
ここで、認証に失敗すると(ステップ210でN)、通信制御部34は、サーバ18との接続を切断し、またネットワークインタフェース11から、ステップ206において設定したIPアドレスを削除する(ステップ215)。そして、SSOサーバ30は、接続要求送信元のクライアント20へサーバ18との認証エラーを通知する(ステップ214)。
【0045】
ところで、クライアントIDのアドレスプールへの設定は、アドレス決定部33が当該IPアドレスの使用を決定したとき、あるいは認証が成功してセッションが確立されたときなどが考えられるが、前述したようなエラーの発生を考慮して、クライアントIDの設定タイミングを決める必要がある。ステップ215では、ステップ205からエラーが発生するまでの間に設定した内容を解消して元の状態に戻す必要がある。アドレスプールへのいつ設定するかは、基本的には、エラー処理などを含めたプログラム設計に依存することになるが、本実施の形態では、セッションが確立されたことを確認してからクライアントIDをアドレスプールへ設定するようにした。従って、サーバ接続部36は、サーバ18によりユーザ認証された時点で、使用されることが確定したIPアドレスに対応させて、接続要求を送信したクライアント20のクライアントIDを設定する。
【0046】
サーバ18によりユーザ認証されると(ステップ210でY)、セッション中断部37は、セッションの中断処理を開始する。すなわち、セッション中断部37は、まず確立したセッションに関する情報を取得する(ステップ211)。取得するセッション情報には、TCP情報、サーバ18とのセッションに使用されるIPアドレス、ポート番号、セッション識別子などが含まれる。そして、セッション中断部37は、ネットワークインタフェース11から設定していたIPアドレスを削除するというIPアドレスの停止処理を行う(ステップ212)。この後、セッション情報送信部35は、セッション中断部37により取得されたセッション情報を、接続要求送信元のクライアント20へ送信する(ステップ213)。
【0047】
この時点では、SSOサーバ30のネットワークインタフェース11からIPアドレスが削除されたことから、SSOサーバ30は、サーバ18との間で通信を行うことができない状態、すなわち、セッションが中断されている状態である。一方、サーバ18は、SSOサーバ30との間で確立されたセッションを維持している状態にある。
【0048】
クライアント20は、接続要求送信後セッション情報受信待ちの状態であったが、送信した接続要求に応じてSSOサーバ30から送られてきたセッション情報をセッション情報受信部22が受信すると(ステップ102でY)、サーバ接続部24は、セッション情報に含まれているTCP情報等を用いてTCPセッションを作成する(ステップ103)。特に、重要なのは、セッション情報に含まれているIPアドレスをクライアント20のネットワークインタフェース11に設定することである。一方、ステップ102においてセッション情報を受信できなかった場合というのは、エラー通知を受信する場合や何も受信できないタイムアウトが考えられる。この場合(ステップ102でN)、クライアント20は、ディスプレイ8へのメッセージ表示などによるユーザへの通知、ログ記録等所定の接続エラー処理を実施する(ステップ106)。
【0049】
ステップ103において行われるセッションの設定処理は、SSOサーバ30において確立されていたセッションをクライアント20がそのまま引き継いで使用させるために行う設定処理である。サーバ18と通信を行うSSOサーバ30及びクライアント20を1つの組とみなすと、SSOサーバ30が中断していたセッションをクライアント20に再開させるための環境設定ともいうことができる。
【0050】
なお、SSOサーバ30から通知されたポート番号を、クライアント20がすでに使用している場合も考えられる。これを解消するためには、接続要求時に、使用するポート番号をクライアント20から指定、空きポート番号リストを通知(使用するポート番号候補を通知)等SSOサーバ30と連携しながら使用するポート番号を決定すればよい。
【0051】
以上の設定処理により、クライアント20には、サーバ18とSSOサーバ30との間で確立されたセッションと全く同一の設定内容で、サーバ18との間でセッションが設定されることになる。
【0052】
ところで、同一リンク上の他のネットワーク機器のIPアドレスを内部に記憶して管理するネットワーク機器がLAN12に接続されている場合が考えられる。このような場合、クライアント20内部における設定処理が終了したとしても、この状態のままでは、同一リンク上のクライアント20とSSOサーバ30以外のネットワーク機器は、当該IPアドレスはSSOサーバ30のIPアドレスと認識したままである。そこで、サーバ接続部24は、Gratuitous ARPパケットを送信して、当該IPアドレスはクライアント20のIPアドレスであることを他のネットワーク機器へ通知する(ステップ104)。この処理をより具体的に説明すると、クライアント20は、自己が引き継いだIPアドレスの設定先の問合せをLAN12に送出する。この問合せに対しては、設定先であるクライアント20が自ら応えることになる。つまり、問合せに対する返答をLAN12に送出する。この結果、他のネットワーク機器は、上記返答を受信し参照することによって当該IPアドレスの設定先がSSOサーバ30からクライアント20に変更されたことを認知することができるので、内部で管理している当該IPアドレスの情報を更新することができる。
【0053】
このようにして、サーバ18とのセッションに用いるIPアドレスの設定先はクライアント20であることが周知されると、クライアント20は、サーバ18との間で通信を行うことが可能になり、そのサーバ18が提供するサービスを受けることができるようになる。このサービスが提供される際、クライアント20は、SSOサーバ30を経由せずに、かつSSOサーバ30の認証情報を用いることなくサーバ18と直接情報交換を行うことになる。一方、サーバ18は、セッションが確立された相手が変更されたことを何ら意識する必要はなく、クライアント20によりセッション再開後、クライアント20からの要求に応じて所定のサービスを提供することになる。
【0054】
なお、本実施の形態では、サーバ18が提供するサービスを利用するクライアント20としてコンピュータ、一般にPCを想定して説明したが、前述した他のネットワーク機器に相当する画像形成装置やネットワークプリンタ、ネットワークスキャナ等もクライアント20になりうる。
【図面の簡単な説明】
【0055】
【図1】本実施の形態におけるシングルサインオンシステムを示した全体構成図である。
【図2】本実施の形態におけるサーバ、クライアント及びSSOサーバを構成する各コンピュータのハードウェア構成図である。
【図3】本実施の形態におけるシングルサインオンシステムのブロック構成図である。
【図4】本実施の形態におけるクライアントの動作手順を示したフローチャートである。
【図5】本実施の形態におけるSSOサーバの動作手順を示したフローチャートである。
【図6】本実施の形態におけるアドレス決定部が参照するアドレスプールのデータ構成例を示した図である。
【符号の説明】
【0056】
1 CPU、2 ROM、3 RAM、4 ハードディスクドライブ(HDD)、5 HDDコントローラ、6 マウス、7 キーボード、8 ディスプレイ、9 入出力コントローラ、10 内部バス、11 ネットワークインタフェース(IF)、14 ファイアウォール、16 公衆網、18 サーバ、20 クライアント、21 接続要求送信部、22 セッション情報受信部、23,34 通信制御部、24,36 サーバ接続部、30 シングルサインオン(SSO)サーバ、31 接続要求受信部、32 認証情報取得部、33 アドレス決定部、35 セッション情報送信部、37 セッション中断部。

【特許請求の範囲】
【請求項1】
サービスの提供を行うサービス提供サーバと、
前記サービス提供サーバが提供するサービスを利用するクライアントと、
シングルサインオンを実現するシングルサインオンサーバと、
を有し、
前記シングルサインオンサーバは、
前記クライアントから送信されてきたサーバ接続要求を受信する受信手段と、
受信したサーバ接続要求から特定されたサービス提供サーバに対して、当該サービス提供サーバとの通信に使用するアドレスと前記シングルサインオンサーバの認証情報とを少なくとも含む認証要求を送信してユーザ認証を受けた後、当該サービス提供サーバとの間にセッションを確立する確立手段と、
当該サービス提供サーバとの通信に使用しているアドレスの使用停止処理を行う停止処理手段と、
前記アドレスの使用が停止された後、少なくとも前記アドレスを含み、当該サービス提供サーバとの間で確立されていたセッションに関するセッション情報を、当該サーバ接続要求を送信した前記クライアントへ送信する情報送信手段と、
を有し、
前記クライアントは、
前記サービス提供サーバへのサーバ接続要求を前記シングルサインオンサーバへ送信する要求送信手段と、
送信したサーバ接続要求に応じて前記シングルサインオンサーバから送られてきたセッション情報を受信するセッション情報受信手段と、
該情報受信手段で受信したセッション情報に含まれるアドレスを当該サービス提供サーバとの通信に使用し、前記シングルサインオンサーバが当該サービス提供サーバとの間で確立していたセッションを引き継いで、当該サービス提供サーバとの通信を行う通信手段と、
を有することを特徴とするシングルサインオンシステム。
【請求項2】
サービスの提供を行うサービス提供サーバの当該サービスを利用するコンピュータに、
前記サービス提供サーバへのサーバ接続要求を、シングルサインオンを実現するシングルサインオンサーバへ送信させ、
送信したサーバ接続要求に応じて前記シングルサインオンサーバから送られてきたセッション情報を受信し、
受信したセッション情報に含まれるアドレスを当該サービス提供サーバとの通信に使用し、前記シングルサインオンサーバが前記サービス提供サーバとの間で確立していたセッションを引き継いで、当該サービス提供サーバとの通信を行わせる、
ことを特徴とするプログラム。
【請求項3】
シングルサインオンを実現するコンピュータに、
サービスの提供を行うサービス提供サーバの当該サービスを利用する情報端末装置から送信されてきた前記サービス提供サーバへのサーバ接続要求を受信させ、
受信したサーバ接続要求から特定したサービス提供サーバに対して、当該サービス提供サーバとの通信に使用するアドレスと前記コンピュータの認証情報とを少なくとも含む認証要求を送信することで当該サービス提供サーバとの間にセッションを確立させ、
当該サービス提供サーバとの通信に使用されるアドレスの使用停止処理を行わせ、
前記アドレスの使用が停止された後、少なくとも前記アドレスを含み、当該サービス提供サーバとの間で確立されていたセッションに関するセッション情報を、当該サーバ接続要求を送信した前記情報端末装置へ送信させる、
ことを特徴とするプログラム。
【請求項4】
前記コンピュータに、更に、
前記サービス提供サーバとの通信に使用するために予め用意されたアドレスの中からサーバ接続要求から特定されるサービス提供サーバとの通信に使用する未使用のアドレスを選出させることを特徴とする請求項3記載のプログラム。
【請求項5】
前記コンピュータに、更に、
同一リンク上で使用可能な任意のアドレスの中からサーバ接続要求から特定されるサービス提供サーバとの通信に使用する未使用のアドレスを選出させることを特徴とする請求項3記載のプログラム。
【請求項6】
サービスの提供を行うサービス提供サーバへのサーバ接続要求を、シングルサインオンを実現するシングルサインオンサーバへ送信する要求送信手段と、
送信したサーバ接続要求に応じて前記シングルサインオンサーバから送られてきたセッション情報に含まれるアドレスを当該サービス提供サーバとの通信に使用することで前記シングルサインオンサーバが当該サービス提供サーバとの間で確立していたセッションを引き継ぎ、当該サービス提供サーバとの通信を行う通信手段と、
を有することを特徴とする情報端末装置。
【請求項7】
クライアントから送信されてきたサービスの提供を行うサービス提供サーバへのサーバ接続要求を受信する受信手段と、
受信したサーバ接続要求から特定したサービス提供サーバに対して、当該サービス提供サーバとの通信に使用するアドレスと自己に設定された認証情報とを少なくとも含む認証要求を送信してユーザ認証を受けた後、当該サービス提供サーバとの間にセッションを確立する確立手段と、
当該サービス提供サーバとの通信に使用しているアドレスの使用停止処理を行う停止処理手段と、
前記アドレスの使用が停止された後、少なくとも前記アドレスを含み、当該サービス提供サーバとの間で確立されていたセッションに関するセッション情報を、当該サーバ接続要求を送信した前記クライアントへ送信する情報送信手段と、
を有することを特徴とするシングルサインオンサーバ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2008−181427(P2008−181427A)
【公開日】平成20年8月7日(2008.8.7)
【国際特許分類】
【出願番号】特願2007−15583(P2007−15583)
【出願日】平成19年1月25日(2007.1.25)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】