(57)【特許請求の範囲】
【請求項１】
ユーザ装置とネットワークを介して接続されるサーバ装置であって、
ユーザによる文字列の指定を受け付ける文字列受付手段と、
前記サーバ装置に割り当てられたドメインに属するサブドメインとして、前記文字列受付手段が受け付けた文字列を含むサブドメインを生成するサブドメイン生成手段と、
前記サブドメイン生成手段が生成したサブドメインと、当該サブドメインが割り当てられたサービス環境を利用するユーザグループに所属するユーザのユーザＩＤ及びパスワードと、を関連付けて記憶する手段と、
前記サブドメイン生成手段が生成したサブドメインと、当該サブドメインが割り当てられたサービス環境を利用するユーザグループ専用のログイン画面に関するログイン画面情報と、を関連付けて記憶する手段と、
前記サブドメイン生成手段が生成したサブドメインがユーザにより指定された場合、前記ユーザ装置によるアクセス要求を受け付けるアクセス要求受付手段と、
前記アクセス要求受付手段がアクセス要求を受け付けた場合、当該アクセス要求をしたユーザ装置との通信内容に基づいて、前記ユーザにより指定されたサブドメインを取得するサブドメイン取得手段と、
前記サブドメイン取得手段が取得したサブドメインに関連付けられた前記ログイン画面情報に基づいて、前記アクセス要求をしたユーザ装置に、当該サブドメインが割り当てられたサービス環境を利用するユーザグループ専用のログイン画面を表示させる表示制御手段と、
前記表示制御手段が表示させたログイン画面において前記ユーザにより入力されたユーザＩＤ及びパスワードと、前記サブドメイン取得手段が取得したサブドメインに関連付けられたユーザＩＤ及びパスワードと、に基づいて認証を行う認証手段と、
を含むことを特徴とするサーバ装置。
【請求項２】
ユーザ装置とネットワークを介して接続されるサーバ装置であって、
ユーザによる文字列の指定を受け付ける文字列受付手段と、
前記サーバ装置に割り当てられたドメインに属するサブドメインとして、前記文字列受付手段が受け付けた文字列を含むサブドメインを生成するサブドメイン生成手段と、
前記サブドメイン生成手段が生成したサブドメインと、当該サブドメインが割り当てられたサービス環境のログイン画面に関するログイン画面情報と、を関連付けて記憶する手段と、
前記サブドメイン生成手段が生成したサブドメインがユーザにより指定された場合、前記ユーザ装置によるアクセス要求を受け付けるアクセス要求受付手段と、
前記アクセス要求受付手段がアクセス要求を受け付けた場合、当該アクセス要求をしたユーザ装置との通信内容に基づいて、前記ユーザにより指定されたサブドメインを取得するサブドメイン取得手段と、
前記サブドメイン生成手段が生成したサブドメインと、当該サブドメインが割り当てられたサービス環境へのアクセスを許可するコンピュータのＩＰアドレスと、を関連付けて記憶する手段と、
前記アクセス要求受付手段がアクセス要求を受け付けた場合、当該アクセス要求をしたユーザ装置との通信内容に基づいて、当該ユーザ装置のＩＰアドレスを取得するＩＰアドレス取得手段と、
前記サブドメイン取得手段が取得したサブドメインに関連付けられたＩＰアドレスと、前記ＩＰアドレス取得手段が取得したＩＰアドレスと、を比較することによって、前記アクセス要求をした前記ユーザ装置を当該サブドメインが割り当てられたサービス環境にアクセスさせるか否かを判定する判定手段と、
前記判定手段が前記サブドメインにアクセスさせると判定した場合、前記サブドメイン取得手段が取得したサブドメインに関連付けられた前記ログイン画面情報に基づいて、前記アクセス要求をしたユーザ装置にログイン画面を表示させる表示制御手段と、
を含むことを特徴とするサーバ装置。
【請求項３】
ユーザ装置とネットワークを介して接続され、ＳＳＬ通信によって前記ユーザ装置と暗号化通信を行うサーバ装置であって、
ユーザによる文字列の指定を受け付ける文字列受付手段と、
前記サーバ装置に割り当てられたドメインに属するサブドメインとして、前記文字列受付手段が受け付けた文字列を含むサブドメインを生成するサブドメイン生成手段と、
前記サブドメイン生成手段が生成したサブドメインと、当該サブドメインが割り当てられたサービス環境のログイン画面に関するログイン画面情報と、を関連付けて記憶する手段と、
前記サブドメイン生成手段が生成したサブドメインがユーザにより指定された場合、前記ユーザ装置によるアクセス要求を受け付けるアクセス要求受付手段と、
前記アクセス要求受付手段がアクセス要求を受け付けた場合、ＳＳＬ通信の拡張機能であるＳＮＩ(Server Name Indication)を利用して、当該アクセス要求をしたユーザ装置とのＳＳＬ通信の確立前に、前記ユーザにより指定されたサブドメインを取得するサブドメイン取得手段と、
前記サブドメイン取得手段が取得したサブドメインに関連付けられた前記ログイン画面情報に基づいて、前記アクセス要求をしたユーザ装置にログイン画面を表示させる表示制御手段と、
を含むことを特徴とするサーバ装置。
【請求項４】
ユーザ装置とネットワークを介して接続され、ＳＳＬ通信によって前記ユーザ装置と暗号化通信を行うサーバ装置であって、
ユーザによる文字列の指定を受け付ける文字列受付手段と、
前記サーバ装置に割り当てられたドメインに属するサブドメインとして、前記文字列受付手段が受け付けた文字列を含むサブドメインを生成するサブドメイン生成手段と、
前記サブドメイン生成手段が生成したサブドメインと、当該サブドメインが割り当てられたサービス環境のログイン画面に関するログイン画面情報と、を関連付けて記憶する手段と、
前記サブドメイン生成手段が生成したサブドメインがユーザにより指定された場合、前記ユーザ装置によるアクセス要求を受け付けるアクセス要求受付手段と、
前記アクセス要求受付手段がアクセス要求を受け付けた場合、当該アクセス要求をしたユーザ装置とのＳＳＬ通信が確立した後において、ＨＴＴＰを利用して前記ユーザにより指定されたサブドメインを取得するサブドメイン取得手段と、
前記サブドメイン取得手段が取得したサブドメインに関連付けられた前記ログイン画面情報に基づいて、前記アクセス要求をしたユーザ装置にログイン画面を表示させる表示制御手段と、
を含むことを特徴とするサーバ装置。
【請求項５】
前記サーバ装置は、
前記ユーザ装置とのＳＳＬ通信が確立した後、前記ユーザ装置から受信される前記ユーザ装置の識別情報と前記ユーザにより指定されたサブドメインとに基づいて、前記ユーザ装置とのセッションを継続させる手段、
を更に含むことを特徴とする請求項３又は４に記載のサーバ装置。
【請求項６】
前記ログイン画面情報は、前記ログイン画面のレイアウトに関する情報を含み、
前記表示制御手段は、前記サブドメイン取得手段が取得したサブドメインに関連付けられた前記ログイン画面情報が示すレイアウトに基づいて、前記ユーザ装置にログイン画面を表示させる、
ことを特徴とする請求項１〜５の何れか一項に記載のサーバ装置。
【請求項７】
ユーザ装置とネットワークを介して接続されるサーバ装置の制御方法であって、
ユーザによる文字列の指定を受け付ける文字列受付ステップと、
前記サーバ装置に割り当てられたドメインに属するサブドメインとして、前記文字列受付ステップにおいて受け付けられた文字列を含むサブドメインを生成するサブドメイン生成ステップと、
前記サブドメイン生成ステップにおいて生成されたサブドメインと、当該サブドメインが割り当てられたサービス環境を利用するユーザグループに所属するユーザのユーザＩＤ及びパスワードと、を関連付けて記憶する手段の記憶内容を読み出すステップと、
前記サブドメイン生成ステップにおいて生成されたサブドメインと、当該サブドメインが割り当てられたサービス環境を利用するユーザグループ専用のログイン画面に関するログイン画面情報と、を関連付けて記憶する手段の記憶内容を読み出すステップと、
前記サブドメイン生成ステップにおいて生成されたサブドメインがユーザにより指定された場合、前記ユーザ装置によるアクセス要求を受け付けるアクセス要求受付ステップと、
前記アクセス要求受付ステップにおいてアクセス要求が受け付けられた場合、当該アクセス要求をしたユーザ装置との通信内容に基づいて、前記ユーザにより指定されたサブドメインを取得するサブドメイン取得ステップと、
前記サブドメイン取得ステップにおいて取得されたサブドメインに関連付けられた前記ログイン画面情報に基づいて、前記アクセス要求をしたユーザ装置に、当該サブドメインが割り当てられたサービス環境を利用するユーザグループ専用のログイン画面を表示させる表示制御ステップと、
前記表示制御ステップにおいて表示されたログイン画面において前記ユーザにより入力されたユーザＩＤ及びパスワードと、前記サブドメイン取得ステップにおいて取得されたサブドメインに関連付けられたユーザＩＤ及びパスワードと、に基づいて認証を行う認証ステップと、
を含むことを特徴とするサーバ装置の制御方法。
【請求項８】
ユーザ装置とネットワークを介して接続されるサーバ装置の制御方法であって、
ユーザによる文字列の指定を受け付ける文字列受付ステップと、
前記サーバ装置に割り当てられたドメインに属するサブドメインとして、前記文字列受付ステップにおいて受け付けられた文字列を含むサブドメインを生成するサブドメイン生成ステップと、
前記サブドメイン生成ステップにおいて生成されたサブドメインと、当該サブドメインが割り当てられたサービス環境のログイン画面に関するログイン画面情報と、を関連付けて記憶する手段の記憶内容を読み出すステップと、
前記サブドメイン生成ステップにおいて生成されたサブドメインがユーザにより指定された場合、前記ユーザ装置によるアクセス要求を受け付けるアクセス要求受付ステップと、
前記アクセス要求受付ステップにおいてアクセス要求を受け付けられた場合、当該アクセス要求をしたユーザ装置との通信内容に基づいて、前記ユーザにより指定されたサブドメインを取得するサブドメイン取得ステップと、
前記サブドメイン生成ステップにおいて生成されたサブドメインと、当該サブドメインが割り当てられたサービス環境へのアクセスを許可するコンピュータのＩＰアドレスと、を関連付けて記憶する手段の記憶内容を読み出すステップと、
前記アクセス要求受付ステップにおいてアクセス要求が受け付けられた場合、当該アクセス要求をしたユーザ装置との通信内容に基づいて、当該ユーザ装置のＩＰアドレスを取得するＩＰアドレス取得ステップと、
前記サブドメイン取得ステップにおいて取得されたサブドメインに関連付けられたＩＰアドレスと、前記ＩＰアドレス取得ステップにおいて取得されたＩＰアドレスと、を比較することによって、前記アクセス要求をした前記ユーザ装置を当該サブドメインが割り当てられたサービス環境にアクセスさせるか否かを判定する判定ステップと、
前記判定ステップにおいて前記サブドメインにアクセスさせると判定された場合、前記サブドメイン取得ステップにおいて取得されたサブドメインに関連付けられた前記ログイン画面情報に基づいて、前記アクセス要求をしたユーザ装置にログイン画面を表示させる表示制御ステップと、
を含むことを特徴とするサーバ装置の制御方法。
【請求項９】
ユーザ装置とネットワークを介して接続され、ＳＳＬ通信によって前記ユーザ装置と暗号化通信を行うサーバ装置の制御方法であって、
ユーザによる文字列の指定を受け付ける文字列受付ステップと、
前記サーバ装置に割り当てられたドメインに属するサブドメインとして、前記文字列受付ステップにおいて受け付けられた文字列を含むサブドメインを生成するサブドメイン生成ステップと、
前記サブドメイン生成ステップにおいて生成されたサブドメインと、当該サブドメインが割り当てられたサービス環境のログイン画面に関するログイン画面情報と、を関連付けて記憶する手段の記憶内容を読み出すステップと、
前記サブドメイン生成ステップにおいて生成されたサブドメインがユーザにより指定された場合、前記ユーザ装置によるアクセス要求を受け付けるアクセス要求受付ステップと、
前記アクセス要求受付ステップにおいてアクセス要求が受け付けられた場合、ＳＳＬ通信の拡張機能であるＳＮＩ(Server Name Indication)を利用して、当該アクセス要求をしたユーザ装置とのＳＳＬ通信の確立前に、前記ユーザにより指定されたサブドメインを取得するサブドメイン取得ステップと、
前記サブドメイン取得ステップにおいて取得されたサブドメインに関連付けられた前記ログイン画面情報に基づいて、前記アクセス要求をしたユーザ装置にログイン画面を表示させる表示制御ステップと、
を含むことを特徴とするサーバ装置の制御方法。
【請求項１０】
ユーザ装置とネットワークを介して接続され、ＳＳＬ通信によって前記ユーザ装置と暗号化通信を行うサーバ装置の制御方法であって、
ユーザによる文字列の指定を受け付ける文字列受付ステップと、
前記サーバ装置に割り当てられたドメインに属するサブドメインとして、前記文字列受付ステップにおいて受け付けられた文字列を含むサブドメインを生成するサブドメイン生成ステップと、
前記サブドメイン生成ステップにおいて生成されたサブドメインと、当該サブドメインが割り当てられたサービス環境のログイン画面に関するログイン画面情報と、を関連付けて記憶する手段の記憶内容を読み出すステップと、
前記サブドメイン生成ステップにおいて生成されたサブドメインがユーザにより指定された場合、前記ユーザ装置によるアクセス要求を受け付けるアクセス要求受付ステップと、
前記アクセス要求受付ステップにおいてアクセス要求が受け付けられた場合、当該アクセス要求をしたユーザ装置とのＳＳＬ通信が確立した後において、ＨＴＴＰを利用して前記ユーザにより指定されたサブドメインを取得するサブドメイン取得ステップと、
前記サブドメイン取得ステップにおいて取得されたサブドメインに関連付けられた前記ログイン画面情報に基づいて、前記アクセス要求をしたユーザ装置にログイン画面を表示させる表示制御ステップと、
を含むことを特徴とするサーバ装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置及びサーバ装置の制御方法に関する。
【背景技術】
【０００２】
近年、ユーザがネットワークを介してウェブサーバにアクセスして種々のウェブサービスを利用する技術が知られている。このようなウェブサービスでは、ユーザ毎またはユーザグループ毎のサービス環境にアクセスする際に表示するログイン画面のＵＲＬとして、全ユーザで共通のものを設定している場合が多い。
【０００３】
例えば、特許文献１には、サーバが管理しているデータをユーザが利用する際に、全ユーザで共通のＵＲＬにアクセスしてログインを行う技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−３１０４３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の技術のように、ウェブサービスへのログイン時に全ユーザで共通のＵＲＬにアクセスさせる場合、ユーザ毎またはユーザグループ毎に設定されたサービス環境への不正アクセスの可能性が高くなってしまうという問題点があった。
【０００６】
例えば、ログイン時の認証には、各ユーザを識別するためのＩＤと当該ＩＤに関連付けられたパスワードとが用いられることが多い。実際には、第三者にとって比較的入手しやすいメールアドレスがＩＤとして利用されることがある。このような場合には、実質的にパスワードのみで不正アクセスを防止するしかない状況となっていた。
【０００７】
この点、特許文献１に記載の発明では、ウェブサービスへのログイン時に全ユーザで共通のＵＲＬにアクセスさせるシステムにおいて、アクセスの時間帯に対応したＩＤ、パスワードをアクセスの都度付与することで、セキュリティ性を高めることとしている。
【０００８】
しかしながら、この技術では、ユーザがウェブサービスへのアクセスを行うたびに、各ユーザにアクセス申請を行わせてＩＤ及びパスワードを付与する必要があるため、ユーザの操作が煩雑になるとともに、サーバの処理負荷が増大する可能性がある。また、全ユーザで共通のドメインのログイン画面を利用するので、悪意のある第三者がこのログイン画面を装ったウェブサイトにユーザを誘導し、ＩＤやパスワード等を獲得するフィッシングがなされる可能性もある。
【０００９】
本発明は上記課題に鑑みてなされたものであって、その目的は、ウェブサービスを利用するユーザにとって簡易なログイン環境を維持しつつ、セキュリティを高めることが可能なサーバ装置及びサーバ装置の制御方法を提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明に係るサーバ装置は、ユーザ装置とネットワークを介して接続されるサーバ装置であって、ユーザによる文字列の指定を受け付ける文字列受付手段と、前記サーバ装置に割り当てられたドメインに属するサブドメインとして、前記文字列受付手段が受け付けた文字列を含むサブドメインを生成するサブドメイン生成手段と、前記サブドメイン生成手段が生成したサブドメインと、当該サブドメインが割り当てられたサービス環境のログイン画面に関するログイン画面情報と、を関連付けて記憶する手段と、前記サブドメイン生成手段が生成したサブドメインがユーザにより指定された場合、前記ユーザ装置によるアクセス要求を受け付けるアクセス要求受付手段と、前記アクセス要求受付手段がアクセス要求を受け付けた場合、当該アクセス要求をしたユーザ装置との通信内容に基づいて、前記ユーザにより指定されたサブドメインを取得するサブドメイン取得手段と、前記サブドメイン取得手段が取得したサブドメインに関連付けられた前記ログイン画面情報に基づいて、前記アクセス要求をしたユーザ装置にログイン画面を表示させる表示制御手段と、を含むことを特徴とする。
【００１１】
また、本発明に係るサーバ装置の制御方法は、ユーザ装置とネットワークを介して接続されるサーバ装置の制御方法であって、ユーザによる文字列の指定を受け付ける文字列受付ステップと、前記サーバ装置に割り当てられたドメインに属するサブドメインとして、前記文字列受付ステップにおいて受け付けられた文字列を含むサブドメインを生成するサブドメイン生成ステップと、前記サブドメイン生成ステップにおいて生成されたサブドメインと、当該サブドメインが割り当てられたサービス環境のログイン画面に関するログイン画面情報と、を関連付けて記憶する手段の記憶内容を読み出すステップと、前記サブドメイン生成ステップにおいて生成されたサブドメインがユーザにより指定された場合、前記ユーザ装置によるアクセス要求を受け付けるアクセス要求受付ステップと、前記アクセス要求受付ステップにおいてアクセス要求が受け付けられた場合、当該アクセス要求をしたユーザ装置との通信内容に基づいて、前記ユーザにより指定されたサブドメインを取得するサブドメイン取得ステップと、前記サブドメイン取得ステップにおいて取得されたサブドメインに関連付けられた前記ログイン画面情報に基づいて、前記アクセス要求をしたユーザ装置にログイン画面を表示させる表示制御ステップと、を含むことを特徴とする。
【００１２】
本発明によれば、ウェブサービスを利用するユーザにとって簡易なログイン環境を維持しつつ、セキュリティを高めることが可能になる。
【００１３】
また、本発明の一態様では、前記ログイン画面情報は、前記ログイン画面のレイアウトに関する情報を含み、前記表示制御手段は、前記サブドメイン取得手段が取得したサブドメインに関連付けられた前記ログイン画面情報が示すレイアウトに基づいて、前記ユーザ装置にログイン画面を表示させる、ことを特徴とする。
【００１４】
また、本発明の一態様では、  前記サーバ装置は、前記サブドメイン生成手段が生成したサブドメインと、当該サブドメインが割り当てられたサービス環境へのアクセスを許可するコンピュータのＩＰアドレスと、を関連付けて記憶する手段と、前記アクセス要求受付手段がアクセス要求を受け付けた場合、当該アクセス要求をしたユーザ装置との通信内容に基づいて、当該ユーザ装置のＩＰアドレスを取得するＩＰアドレス取得手段と、前記サブドメイン取得手段が取得したサブドメインに関連付けられたＩＰアドレスと、前記ＩＰアドレス取得手段が取得したＩＰアドレスと、を比較することによって、前記アクセス要求をした前記ユーザ装置を当該サブドメインが割り当てられたサービス環境にアクセスさせるか否かを判定する判定手段と、を含み、前記表示制御手段は、前記判定手段が前記サブドメインにアクセスさせると判定した場合、前記サブドメイン取得手段が取得したサブドメインに関連付けられたログイン画面情報に基づいて、前記アクセス要求をしたユーザ装置にログイン画面を表示させる、ことを特徴とする。
【００１５】
また、本発明の一態様では、前記サーバ装置は、ＳＳＬ通信によって前記ユーザ装置と暗号化通信を行い、前記サブドメイン取得手段は、ＳＳＬ通信の拡張機能であるＳＮＩ(Server Name Indication)を利用して、ＳＳＬ通信の確立前に、前記ユーザにより指定されたサブドメインを取得する、ことを特徴とする。
【００１６】
また、本発明の一態様では、前記サーバ装置は、ＳＳＬ通信によって前記ユーザ装置と暗号化通信を行い、前記サブドメイン取得手段は、前記ユーザ装置とのＳＳＬ通信が確立した後において、ＨＴＴＰを利用して前記ユーザにより指定されたサブドメインを取得する、ことを特徴とする。
【００１７】
また、本発明の一態様では、前記サーバ装置は、前記ユーザ装置とのＳＳＬ通信が確立した後、前記ユーザ装置から受信される前記ユーザ装置の識別情報と前記ユーザにより指定されたサブドメインとに基づいて、前記ユーザ装置とのセッションを継続させる手段、を更に含むことを特徴とする。
【図面の簡単な説明】
【００１８】
【図１】本発明に係るサービス提供システムのネットワーク構成例を示す図である。
【図２】アドレステーブルのデータ格納例を示す図である。
【図３】ユーザグループの管理者がユーザ登録操作を行う際に表示される登録画面の一例である。
【図４】ユーザグループＡに所属するユーザが操作するユーザ装置に表示されるログイン画面の一例を示す図である。
【図５】ユーザグループＢに所属するユーザが操作するユーザ装置に表示されるログイン画面の一例を示す図である。
【図６】サーバ装置の機能ブロック図である。
【図７】登録データのデータ格納例を示す図である。
【図８】サービス提供システムにおいて実行される処理を示す図である。
【図９】サービス提供システムにおいて実行される処理を示す図である。
【図１０】サービス提供システムにおいて実行される処理を示す図である。
【図１１】サービス提供システムにおいて実行される処理を示す図である。
【図１２】デフォルト画面の一例を示す図である。
【発明を実施するための形態】
【００１９】
［１．実施形態］
以下、本発明の好適な実施の形態について図面に基づき詳細に説明する。本発明に係るサーバ装置は、ユーザ装置とネットワークを介して接続される。ここでは、本発明に係るサーバ装置を含むサービス提供システムについて説明する。
【００２０】
［２．サービス提供システムの構成］
図１は、本発明に係るサービス提供システムのネットワーク構成例を示す図である。図１に示すように、サービス提供システム１は、ユーザが操作するユーザ装置１０と、ドメインを管理するＤＮＳサーバ２０と、ユーザにサービスを提供するサーバ装置３０と、を含んで構成される。
【００２１】
ユーザ装置１０は、例えば、ＣＰＵ等からなる制御部１１と、各種プログラムや当該プログラムを実行するために必要な各種データを記憶する記憶部１２と、マウスやキーボード等からなる操作部１３と、液晶ディスプレイ等からなる表示部１４と、光ディスク再生装置等からなる入力部１５と、他の装置と有線又は無線で通信を行うためのネットワークカード等からなる通信部１６と、を含んで構成されている。
【００２２】
ユーザは、操作部１３を操作して記憶部１２に記憶されるウェブブラウザを起動し、通信部１６を介して他のコンピュータにアクセスする。ユーザがウェブブラウザ上で所与のＵＲＬを入力すると、ＤＮＳサーバ２０に対して接続先のＩＰアドレスの問い合わせが行われる。ユーザ装置１０がＤＮＳサーバ２０から接続先のＩＰアドレスの回答を受信すると、このＩＰアドレスが割り当てられたコンピュータに通信部１６及びネットワークＮを介してアクセスすることになる。
【００２３】
また、ここでは、記憶部１２に記憶されるウェブブラウザに、ＳＳＬ通信の拡張機能であるＳＮＩ(Server Name Indication)が実装されている場合を例に挙げて説明する。ＳＮＩは、クライアント（例えば、ユーザ装置１０）が接続しようとしているサーバ（例えば、サーバ装置３０）のホスト名を他のコンピュータに伝達するための機能である。
【００２４】
ここでは、ユーザ装置１０とサーバ装置３０とのＳＳＬ通信を確立するために行われるハンドシェイクにおいてホスト名が伝達される。例えば、ＳＮＩを搭載したウェブブラウザを用いた場合、ハンドシェイクにおいてユーザ装置１０がサーバ装置３０に送信するデータである「ClientHello」にホスト名が含まれる。なお、この場合には、暗号化通信をするための鍵の交換が行われる前段階であるので、ホスト名は暗号化されない状態で（即ち、平文で）サーバ装置３０に送られることになる。
【００２５】
ＤＮＳサーバ２０は、例えば、ＣＰＵ等からなる制御部２１と、各種プログラムや当該プログラムを実行するために必要な各種データを記憶する記憶部２２と、他の装置と有線又は無線で通信を行うためのネットワークカード等からなる通信部２３と、を含んで構成されている。
【００２６】
ＤＮＳサーバ２０は、他のコンピュータからドメイン名に対応する接続先の問い合わせを受け付けた場合に、当該ドメイン名をＩＰアドレスに変換してこのコンピュータに回答を行う。記憶部２２には、ドメイン名とＩＰアドレスとが対応付けられたアドレステーブルが記憶される。
【００２７】
図２は、アドレステーブルのデータ格納例を示す図である。図２に示すように、アドレステーブルには、ドメイン名と、接続先のＩＰアドレスと、が関連付けられて記憶される。本実施形態においては、アドレステーブルに格納されたドメイン名には、ワイルドカードが指定されているものがある。
【００２８】
ワイルドカードは、任意の文字列を許容することを意味し、あるドメインに属するサブドメインについて接続先の問い合わせを受け付けた場合に、共通の接続先を回答するために用いられる。ＤＮＳサーバ２０は、ワイルドカードが指定されているドメイン名の文字列と、他のコンピュータから問い合わせを受け付けたドメイン名の文字列と、が部分一致（例えば、後方一致）している場合に、ワイルドカードが指定されているドメイン名に関連付けられたＩＰアドレスをこのコンピュータに回答することになる。
【００２９】
図２に示すデータ格納例では、アドレステーブルに、ワイルドカードが指定された「* xxx.com」が格納されているので、「xxx.com」のドメインに属するサブドメインであれば、当該「* xxx.com」に関連付けられたＩＰアドレスにアクセスさせることを示している。例えば、他のコンピュータから「project123.xxx.com」の問い合わせを受けた場合であっても、「department99.xxx.com」の問い合わせを受けた場合であっても、「* xxx.com」に関連付けられた「ＩＰアドレスＸ」を回答することになる。
【００３０】
サーバ装置３０は、例えば、ＣＰＵ等からなる制御部３１と、各種プログラムや当該プログラムを実行するために必要な各種データを記憶する記憶部３２と、他の装置と有線又は無線で通信を行うためのネットワークカード等からなる通信部３３と、を含んで構成されている。
【００３１】
サーバ装置３０は、記憶部２２に記憶されているＣＧＩ（Common Gateway Interface）プログラム及びＨＴＴＰＤ（Http Daemon）によって、ユーザ装置１０を操作する各ユーザに対して各種サービスを提供するためのサービス環境を構成する。サービス環境は、ウェブサービスを利用するユーザの利用環境を含む意味であり、例えば、サーバ装置３０が提供する全サービスのうちユーザが利用可能な範囲及びユーザが当該範囲を利用する際の利用状態を含む意味である。例えば、サーバ装置３０に構成されたサービス環境において、ＨＴＴＰ（Hypertext Transfer Protocol）に則り、スケジュール管理サービス、掲示板管理サービス、アドレス帳管理サービス、ＴｏＤｏリスト管理サービス等を、ユーザ装置１０を操作する各ユーザに提供するようにしてもよい。
【００３２】
本実施形態においては、ユーザが所属するユーザグループに応じて、サーバ装置３０におけるサービス環境が異なる。各ユーザグループには、一又は複数のユーザが所属する。例えば、サービス提供システム１が構成するサービス環境を、ある会社が利用する場合には、ユーザグループは会社であり、ユーザは社員となる。サーバ装置３０には、ユーザグループ毎に、サービス提供システム１が提供するサービスを利用するユーザを識別するためのユーザＩＤが記憶（登録）されている。
【００３３】
詳しくは後述するが、本実施形態においては、ユーザグループ毎に、このユーザグループが使用するサービス環境のログイン画面にアクセスするサブドメインが設定されている。各ユーザは、自分が所属するユーザグループのサービス環境に割り当てられたサブドメインにより、個々のユーザグループ毎に設定されたログイン画面にアクセスしてサービスを利用することになる。また、あるユーザグループが新たにサービスを利用する場合には、このユーザグループの管理者が、ユーザ登録操作を行うことによって、このユーザグループが使用するサービス環境にアクセスするためのサブドメインを指定する。
【００３４】
図３は、ユーザグループの管理者がユーザ登録操作を行う際に表示される登録画面の一例である。ユーザグループの管理者がサーバ装置３０の所与のＵＲＬにアクセスすると、表示部１４に登録画面４０が表示される。管理者は、登録画面４０において、このユーザグループが使用するサブドメインを指定することができる。
【００３５】
例えば、管理者がラジオボタン４１にチェックを入れ、プルダウンメニュー４２から予め用意された複数のサブドメインの何れかを選択することによって、ユーザグループで使用するサブドメインが指定される。プルダウンメニュー４２から選択可能なサブドメインは、サービス提供者によって用意され、記憶部３２に予め記憶されている。
【００３６】
また、管理者は、ラジオボタン４３にチェックを入れ、文字列入力欄４４に文字列を入力することによって、ユーザグループで使用するサブドメインが指定されるようにしてもよい。この場合、他のユーザグループで既に使用されているサブドメインを記憶部３２に記憶させておき、このサブドメインの文字列が文字列入力欄４４に入力されると、当該サブドメインが使用できないことを案内するようにしてもよい。
【００３７】
管理者が登録画面４０から所与の操作を行うと、管理者により指定された文字列を含むサブドメインがユーザグループ専用のサブドメインとして生成され、別途ユーザグループ毎に生成されたサービス環境に対して、当該サブドメインが割り当てられる。なお、管理者は、登録画面４０から、ユーザグループに所属する各ユーザのユーザＩＤ及び初期パスワードや利用するサービスの種類等を設定するようにしてもよい。
【００３８】
管理者によってユーザ登録が行われると、ユーザグループに所属する各ユーザは、上記生成されたサブドメインが割り当てられたサービス環境にアクセスしてサービスを利用することができる。当該生成されるサブドメインは、サーバ装置３０に割り当てられたドメインを含む文字列となる。例えば、サーバ装置３０に割り当てられたドメインを「xxx.com」とすると、第１のユーザグループ（ユーザグループＡという。）がサービスを利用する場合には、第１のサブドメインである「project123.xxx.com」（サブドメインＡという。）を用い、第２のユーザグループ（ユーザグループＢという。）がサービスを利用する場合には、第２のサブドメインである「department99.xxx.com」（サブドメインＢという。）を用いる。
【００３９】
また、ここでは、サブドメインにアクセス可能なコンピュータのＩＰアドレスが定められており、ＩＰアドレス制限が各サブドメインにかけられている。例えば、ユーザグループの管理者がユーザ登録を行う場合、又は、ユーザ登録が行われた後の設定操作によって、サブドメインにアクセス可能なＩＰアドレスが記憶部３２に登録される。
【００４０】
例えば、ユーザグループＡに属するユーザが操作するユーザ装置１０のＩＰアドレスからアクセスした場合にのみ、サブドメインＡが割り当てられたサービス環境へのアクセスが許可される。サブドメインＡが割り当てられたサービス環境へのアクセスが許可されると、このユーザが操作するユーザ装置１０には、ログイン画面が表示される。
【００４１】
図４は、ユーザグループＡに所属するユーザが操作するユーザ装置１０に表示されるログイン画面の一例を示す図である。例えば、ユーザグループＡに所属するユーザが、ＵＲＬ欄５１ＡにサブドメインＡを含むＵＲＬを入力すると、このユーザが操作するユーザ装置１０には、ログイン画面５０Ａが表示される。
【００４２】
ログイン画面５０Ａには、ユーザグループＡの名称を示すユーザグループ名５２Ａが表示される。ユーザは、ユーザＩＤ入力欄５３ＡにユーザＩＤを入力し、パスワード入力欄５４Ａにパスワードを入力して、ログインボタン５５Ａを選択する。ログインボタン５５Ａが選択されると、ユーザが入力したユーザＩＤ及びパスワードが暗号化されてサーバ装置３０に送信される。サーバ装置３０においては、ユーザ装置から受け取ったユーザＩＤ及びパスワードに基づいて認証処理が行われる。
【００４３】
サーバ装置３０において認証が行われると、ユーザグループＡのサービス環境においてサービスを提供するためのサービス利用画面（図示せず）が表示される。その後、ユーザ装置１０は、ウェブブラウザを用いてサーバ装置３０のＣＧＩプログラムにアクセスし、ＣＧＩプログラムにより出力されるＨＴＭＬデータが表示部１４に表示されることによって、ユーザに各種サービスが提供される。
【００４４】
一方、サブドメインＢが割り当てられたサービス環境は、ユーザグループＢに属するユーザが操作するユーザ装置１０のＩＰアドレスからアクセスした場合にのみアクセスが許可される。ここでは、ユーザグループＢに所属するユーザがサブドメインＢを含むＵＲＬを入力すると、ログイン画面５０Ａとは異なるログイン画面が表示される。
【００４５】
図５は、ユーザグループＢに所属するユーザが操作するユーザ装置１０に表示されるログイン画面の一例を示す図である。例えば、ユーザグループＢに所属するユーザが、ＵＲＬ欄５１ＢにサブドメインＢを含むＵＲＬを入力すると、このユーザが操作するユーザ装置１０にはログイン画面５０Ｂが表示される。
【００４６】
図５に示すように、ユーザグループ名５２Ｂは、ユーザグループＢの社名を示している。ユーザグループ名５２Ｂが表示されることによって、ユーザグループＢ専用のログイン画面５０Ｂが表示されていることをユーザに把握させることができる。ユーザが、ユーザＩＤ入力欄５３ＢにユーザＩＤを入力し、パスワード入力欄５４Ｂにパスワードを入力して、ログインボタン５５Ｂを選択すると、認証処理が行われる点はログイン画面５０Ａと同様である。
【００４７】
なお、図４及び図５に示すように、ユーザグループの管理者が当該ユーザグループの名称とは異なる文字列を指定し、ユーザグループ名とは異なる文字列を含むサブドメインを生成させる場合には、第三者にサブドメインを想起させることを防止できるので、更にセキュリティを向上させることができる。
【００４８】
また、ユーザが、自分が所属するユーザグループ以外のユーザグループのサービス環境に割り当てられたサブドメインを含むＵＲＬを指定すると、このユーザが操作するユーザ装置１０にはアクセス権限がないので、表示部１４にエラーページ（図示せず）が表示されるようにしてもよい。例えば、ユーザグループＡに所属するユーザが、ユーザグループＢのサブドメインＢが割り当てられたサービス環境にアクセスしようとしても、当該ユーザのユーザ装置１０のＩＰアドレスでは、サブドメインＢが割り当てられたサービス環境にアクセスする権限がないため、表示部１４にはログイン画面５０Ｂではなくエラーページが表示される。
【００４９】
このように、本実施形態のサービス提供システム１は、あるユーザグループの管理者が文字列を指定すると、当該文字列を含むサブドメインを自動生成し、このユーザグループに所属するユーザが当該サブドメインを含むＵＲＬを指定すると、専用のログイン画面が表示される構成になっている。即ち、各ユーザグループに所属するユーザに、自分達のサービス環境をより安全に利用させるために、サブドメインを自動生成するとともに、当該サブドメインにサービス環境を割り当てて専用のログイン画面を用意する構成になっている。以降、この技術について詳細に説明する。
【００５０】
［３．サーバ装置において実現される機能］
図６は、サーバ装置３０の機能ブロック図である。図６に示すように、サーバ装置３０は、登録データ記憶部６０と、文字列受付部６１と、サブドメイン生成部６２、アクセス要求受付部６３と、サブドメイン取得部６４と、ＩＰアドレス取得部６５と、判定部６６と、表示制御部６７と、を実現する。制御部３１が記憶部３２に記憶されたプログラムを実行することによって、これらの機能が実現される。
【００５１】
［３−１．登録データ記憶部］
登録データ記憶部６０は、記憶部３２を主として実現される。登録データ記憶部６０は、ユーザグループの登録内容を示す登録データを記憶する。ここでは、登録データには、サブドメイン生成部６２が生成したサブドメインと、当該サブドメインに割り当てられたサービス環境のログイン画面に関するログイン画面情報と、が関連付けられる。更に、登録データには、サブドメイン生成部６２が生成したサブドメインと、当該サブドメインが割り当てられたサービス環境へのアクセスを許可するコンピュータのＩＰアドレスと、が関連付けられる。
【００５２】
図７は、登録データのデータ格納例を示す図である。図７に示すように、登録データには、サーバ装置３０に登録済みのサブドメインと、当該サブドメインが割り当てられたサービス環境へのアクセスを許可するＩＰアドレスと、ログイン画面５０（以降、本実施形態において、単にログイン画面５０と記載した場合は、ログイン画面５０Ａ，５０Ｂの何れかを示す。）に関するログイン画面情報と、が関連付けられて記憶される。ログイン画面情報は、各サブドメインが割り当てられたサービス環境にユーザをログインさせるためのログイン画面５０の表示態様を示す情報であり、例えば、ログイン画面５０に表示させるユーザグループ名を示す情報が格納される。
【００５３】
登録データは、ユーザの操作を受け付けると内容が更新される。例えば、あるユーザグループの管理者が新たにサービスを利用するためにユーザ登録操作を行った場合、当該ユーザ登録操作に基づいて登録データに新たなレコードが格納される。
【００５４】
また、あるユーザグループの管理者が、ユーザ登録後に、このユーザグループが使用するサブドメインの変更操作を行った場合には、当該変更操作に基づいて、当該ユーザグループのサービス環境に割り当てられたサブドメインが変更される。この場合、登録データの内容が更新されるので、変更前のサブドメインを含むＵＲＬをユーザが指定しても、当該ユーザグループのサービス環境にアクセスする権限がないとして、エラーページが表示される。
【００５５】
また例えば、あるユーザグループの管理者が、ユーザ登録後に、このユーザグループが使用するサブドメインにアクセスさせるＩＰアドレスの編集操作を行った場合には、当該編集操作に基づいて、このサブドメインに関連付けられたＩＰアドレスが追加又は削除される。また例えば、あるユーザグループの管理者が、サブドメインにアクセスさせる際のログイン画面の編集操作を行った場合には、このユーザグループが使用するサブドメインに関連付けられたログイン画面情報が変更される。
【００５６】
なお、登録データには、ユーザグループの登録内容が含まれていればよく、登録データに格納される内容は上記の例に限られない。他にも例えば、ユーザグループに所属するユーザのユーザＩＤとパスワードとが関連付けられて格納されていてもよい。例えば、各サブドメイン毎に、このサブドメインが割り当てられたサービス環境を利用するユーザグループに所属するユーザのユーザＩＤとパスワードとが記憶される。サブドメイン毎にユーザＩＤとパスワードとを記憶させることによって、ユーザが各サブドメインに割り当てられたサービス環境を利用する際には、当該ユーザが所属するユーザグループ専用のログイン画面からユーザＩＤとパスワードを入力しなければログインすることができないので、セキュリティを向上させることができる。
【００５７】
また、登録データ記憶部６０が記憶する内容は、上記の例に限られない。登録データ記憶部６０は、サーバ装置３０が各ユーザにサービスを提供するために用いられる各種データを記憶するようにすればよい。なお、制御部３１は、登録データ記憶部６０の記憶内容を読み出す手段及び更新する手段として機能する。
【００５８】
［３−２．文字列受付部］
文字列受付部６１は、制御部３１及び通信部３３を主として実現される。文字列受付部６１は、ユーザによる文字列の指定を受け付ける。当該文字列は、サブドメインに含まれる文字列であり、例えば、サブドメインとドメインとの差分の文字列である。例えば、文字列受付部６１は、登録画面４０においてユーザにより指定された文字列をユーザ装置１０から取得する。
【００５９】
［３−３．サブドメイン生成部］
サブドメイン生成部６２は、制御部３１を主として実現される。サブドメイン生成部６２は、サーバ装置３０に割り当てられたドメインに属するサブドメインとして、文字列受付部６１が受け付けた文字列を含むサブドメインを生成する。ここでは、文字列受付部６１が受け付けた文字列に、サーバ装置３０のドメインを結合させた文字列が、サブドメインとして生成される。
【００６０】
サブドメイン生成部６２によりサブドメインが生成されると、当該サブドメインは、登録データの新たなレコードに格納される。各ユーザグループが利用するウェブサービスのサービス環境には、サブドメイン生成部６２により生成されたサブドメインが割り当てられることになる。ユーザグループの管理者によって、サブドメインにアクセスさせるＩＰアドレスの指定や、ユーザグループ名の指定が受け付けられた場合には、上記レコードにＩＰアドレスやユーザグループ名が格納される。
【００６１】
［３−４．アクセス要求受付部］
アクセス要求受付部６３は、制御部３１及び通信部３３を主として実現される。アクセス要求受付部６３は、サブドメイン生成部６２が生成したサブドメインがユーザにより指定された場合、ユーザ装置１０によるアクセス要求を受け付ける。
【００６２】
ユーザがウェブブラウザにおいてサブドメインを指定した場合（即ち、サブドメインを含むＵＲＬを指定した場合）、ＤＮＳサーバの制御によりユーザ装置１０はサーバ装置３０に対してアクセス要求を行う。先述のように、ＤＮＳサーバ２０にはワイルドカードが指定されているので、サーバ装置３０のドメインを含むサブドメインが指定された場合には、ワイルドカードに関連付けられた共通のＩＰアドレスがユーザ装置１０に回答されることになる。このＩＰアドレスはサーバ装置３０に割り当てられたものであるので、ユーザ装置１０はサーバ装置３０に対してアクセス要求を行うことになる。
【００６３】
［３−５．サブドメイン取得部］
サブドメイン取得部６４は、制御部３１及び通信部３３を主として実現される。サブドメイン取得部６４は、アクセス要求受付部６３がアクセス要求を受け付けた場合、当該アクセス要求をしたユーザ装置１０との通信内容に基づいて、ユーザにより指定されたサブドメインを取得する。サブドメイン取得部６４は、ユーザ装置１０とサーバ装置３０とのＳＳＬ通信の確立前又は確立後にユーザ装置１０が送信するデータに基づいて、ユーザが指定したサブドメインを取得する。
【００６４】
本実施形態においては、サブドメイン取得部６４は、ＳＳＬ通信の拡張機能であるＳＮＩ(Server Name Indication)を利用して、ＳＳＬ通信の確立前に、ユーザにより指定されたサブドメインを取得する。先述のように、本実施形態においては、ユーザ装置１０のウェブブラウザにはＳＮＩ機能が実装されており、ユーザ装置１０は、ＳＳＬ通信の確立処理における「ClientHello」にサブドメインを含ませてサーバ装置３０に送信する。サブドメイン取得部６４は、ユーザ装置１０から「ClientHello」を受信することによって、サブドメインを取得することになる。
【００６５】
［３−６．ＩＰアドレス取得部］
ＩＰアドレス取得部６５は、制御部３１及び通信部３３を主として実現される。ＩＰアドレス取得部６５は、アクセス要求受付部６３がアクセス要求を受け付けた場合、当該アクセス要求をしたユーザ装置１０との通信結果に基づいて、当該ユーザ装置１０のＩＰアドレスを取得する。ユーザ装置１０のＩＰアドレスは、アクセス要求受付部６３が受け付けたアクセス要求に含まれる。
【００６６】
［３−７．判定部］
判定部６６は、制御部３１を主として実現される。判定部６６は、サブドメイン取得部６４が取得したサブドメインに関連付けられたＩＰアドレスと、ＩＰアドレス取得部６５が取得したＩＰアドレスと、を比較することによって、当該サブドメインにアクセス要求をしたユーザ装置１０をアクセスさせるか否かを判定する。ここでは、判定部６６は、ＩＰアドレス取得部６５により取得されたＩＰアドレスが、サブドメイン取得部６４が取得したサブドメインに関連付けられたＩＰアドレスと一致した場合、当該サブドメインにアクセス要求をしたユーザ装置１０をアクセスさせると判定する。
【００６７】
［３−８．表示制御部］
表示制御部６７は、制御部３１を主として実現される。表示制御部６７は、サブドメイン取得部６４が取得したサブドメインに関連付けられたログイン画面情報に基づいて、アクセス要求をしたユーザ装置１０にログイン画面を表示させる。ここでは、表示制御部６７は、ログイン画面情報が示すユーザグループ名を含むログイン画面５０をユーザ装置１０に表示させる。
【００６８】
また、本実施形態においては、表示制御部６７は、判定部６６がユーザ装置１０をアクセスさせると判定した場合、サブドメイン取得部６４が取得したサブドメインに関連付けられたログイン画面情報に基づいて、アクセス要求をしたユーザ装置１０にログイン画面を表示させる。即ち、判定部６６がユーザ装置１０をアクセスさせないと判定した場合、サブドメイン取得部６４が取得したサブドメインに関連付けられたログイン画面情報に基づいて、アクセス要求をしたユーザ装置１０にログイン画面を表示させる処理が制限（抑止）される。
【００６９】
［４．サービス提供システムにおいて実行される処理］
図８〜図１１は、サービス提供システムにおいて実行される処理を示す図である。ここでは、ユーザグループの管理者がユーザ登録を行った後に、このユーザグループに所属するユーザがサービスを利用する際の処理の流れについて説明する。制御部１１が記憶部１２に記憶されたプログラムを実行し、制御部２１が記憶部２２に記憶されたプログラムを実行し、制御部３１が記憶部３２に記憶されたプログラムを実行することによって、以降説明する処理が実現される。
【００７０】
図８に示すように、まず、制御部１１は、ウェブブラウザを起動し、ユーザによるＵＲＬの指定を受け付ける（Ｓ１）。例えば、ウェブブラウザに表示されたリンクやショートカットが選択されたり、ＵＲＬが直接入力されたりすることによって、ＵＲＬの指定が受け付けられる。ここでは、ユーザが所属するユーザグループが使用するサブドメインを含むＵＲＬが、ユーザにより指定される。
【００７１】
ユーザがＵＲＬを指定すると、制御部１１は、ＤＮＳサーバ２０に対して接続先の問い合わせを行う（Ｓ２）。Ｓ２においては、ユーザにより指定されたＵＲＬを示すデータが、ネットワークＮを介してＤＮＳサーバ２０に送信される。
【００７２】
ＤＮＳサーバ２０においては、制御部２１は、ユーザにより指定されたＵＲＬを示すデータを受信し、ユーザ装置１０からの接続先の問い合わせを受け付ける（Ｓ３）。制御部２１は、接続先の問い合わせを受け付けると、記憶部２２に記憶されたアドレステーブルを参照する（Ｓ４）。
【００７３】
制御部２１は、ユーザ装置１０から受信したＵＲＬとアドレステーブルに格納されたドメイン名とを比較し、接続先をユーザ装置１０に回答する（Ｓ５）。アドレステーブルにはワイルドカードが指定されているので、サーバ装置３０のドメインに属するサブドメインが指定された場合には、ワイルドカードに関連付けられたＩＰアドレスが回答されることになる。ここでは、サーバ装置３０のドメインである「xxx.com」に属するサブドメインであれば、ユーザグループＡの「project123.xxx.com」が指定されても、ユーザグループＢの「department99.xxx.com」が指定されても、ワイルドカードに関連付けられたＩＰアドレスがユーザ装置１０に送信されることになる。
【００７４】
ユーザ装置１０においては、制御部１１は、ＤＮＳサーバ２０から接続先のＩＰアドレスを取得する（Ｓ６）。図９に移り、ユーザ装置１０は、当該ＩＰアドレスが割り当てられているサーバ装置３０に対してアクセス要求を行う（Ｓ７）。Ｓ７において行われるアクセス要求には、ユーザ装置１０のＩＰアドレスが含まれる。
【００７５】
サーバ装置３０においては、制御部３１は、ユーザ装置１０からのアクセス要求を受け付ける（Ｓ８）。制御部３１は、アクセス要求をしたユーザ装置１０のＩＰアドレスを取得する（Ｓ９）。Ｓ９において取得されたＩＰアドレスによって、サーバ装置３０は、通信相手のユーザ装置１０を識別することになる。
【００７６】
制御部３１は、記憶部３２に記憶されたサーバ証明書（ワイルドカード証明書）を用いて、ユーザ装置１０とサーバ装置３０との間のＳＳＬ通信の確立処理を実行する（Ｓ１０）。Ｓ１０においては、ユーザ装置１０とサーバ装置３０とのハンドシェイクが行われ、ＳＳＬ通信において使用される共通鍵の交換が行われる。なお、ワイルドカード証明書を用いることによって、複数のサブドメインで同じ証明書を共有することができる。
【００７７】
制御部３１は、ＳＳＬ通信の確立処理においてユーザ装置１０から受信したデータに含まれるサブドメインを取得する（Ｓ１１）。ここでは、ユーザ装置１０のウェブブラウザにＳＳＬの拡張機能であるＳＮＩが実装されているものとする。この場合、Ｓ１１において、ＳＳＬ通信のハンドシェイクが行われる際に、ユーザ装置１０がサーバ装置３０に対して送信する「ClientHello」の信号に、ユーザがウェブブラウザで指定したサブドメインが含まれる。本実施形態においては、サーバ装置３０は、「ClientHello」を受信することによってサブドメインを取得する。
【００７８】
制御部３１は、記憶部３２に記憶された登録データを参照し、Ｓ１１において取得されたサブドメインが格納されているか否かを判定する（Ｓ１２）。Ｓ１２においては、登録データの「サブドメイン」フィールドが参照され、Ｓ１１で取得されたサブドメインと一致するレコードがあるか否かが判定される。
【００７９】
Ｓ１１において取得されたサブドメインが登録データに格納されていないと判定された場合（Ｓ１２；Ｎ）、制御部３１は、記憶部３２からデフォルト画面のＨＴＭＬデータを読み出し、ユーザ装置１０に送信する（Ｓ１３）。デフォルト画面は、サーバ装置３０に登録されていないサブドメインをユーザが指定した場合に表示させる画面であり、例えば、ユーザ登録を行っていないユーザに対してユーザ登録を案内する画面であってもよい。
【００８０】
ユーザ装置１０においては、制御部１１は、デフォルト画面のＨＴＭＬデータを受信すると、デフォルト画面を表示部１４に表示させる（Ｓ１４）。
【００８１】
図１２は、デフォルト画面の一例を示す図である。図１２に示すように、デフォルト画面７０には、ユーザが新たにユーザ登録を行うためのユーザ登録ボタン７１が表示される。なお、デフォルト画面７０は、図１２の例に限られず、サービス提供者のポータルサイトの画面であってもよい。即ち、ユーザが指定したサブドメインが登録データに格納されていなかった場合には、ユーザ装置１０をポータルサイトにリダイレクトさせ、ユーザ登録を促すようにしてもよい。
【００８２】
図１０に移り、制御部１１は、ユーザ登録ボタン７１が選択されたか否かを判定する（Ｓ１５）。ユーザ登録ボタン７１が選択されたと判定されない場合（Ｓ１５；Ｎ）、処理は終了する。一方、ユーザ登録ボタン７１が選択されたと判定された場合（Ｓ１５；Ｙ）、制御部１１は、登録画面４０の表示要求をサーバ装置３０に対して送信する（Ｓ１６）。
【００８３】
サーバ装置３０においては、登録画面４０の表示要求を受け付けると、制御部３１は、登録画面４０のＨＴＭＬデータをユーザ装置１０に送信する（Ｓ１７）。登録画面４０のＨＴＭＬデータは、記憶部３２に記憶されていてもよいし、記憶部３２に記憶されたＣＧＩプログラムが実行されることによって生成されるようにしてもよい。
【００８４】
ユーザ装置１０においては、制御部１１は、登録画面４０を表示部１４に表示させる（Ｓ１８）。登録画面４０が表示されると、ユーザにより、ユーザグループ名が入力される他、サブドメインを構成する文字列が入力されたり、サブドメインにアクセスさせるＩＰアドレスが指定されたりする。当該入力内容は、記憶部１２に一時的に記憶される。
【００８５】
制御部１１は、ユーザの登録操作に応じて、登録画面４０において入力された内容をサーバ装置３０に送信する（Ｓ１９）。
【００８６】
サーバ装置３０においては、制御部３１は、登録画面４０におけるユーザの入力内容を受信する（Ｓ２０）。制御部３１は、Ｓ２０において受信した内容に基づいてサブドメインを生成してユーザ登録を行い（Ｓ２１）、本処理は終了する。登録内容に、サブドメインに含める文字列が含まれるので、Ｓ２１においては、ユーザによる文字列の指定を受け付けることになる。登録データには、上記生成されたサブドメインと、ユーザにより指定されたＩＰアドレスと、ユーザグループ名と、を少なくとも含むデータが、新たなレコードとして格納される。ユーザ登録が行われると、ユーザグループのサービス環境に、Ｓ２１において生成されたサブドメインが割り当てられることになり、このユーザグループに所属するユーザは、当該サブドメインに割り当てられたサービス環境でウェブサービスを利用可能になる。
【００８７】
一方、Ｓ１１において取得されたサブドメインが登録データに格納されている場合（Ｓ１２；Ｙ）、制御部３１は、記憶部３２に記憶された登録データを参照し、Ｓ９において取得したＩＰアドレスと、Ｓ１１において取得されたサブドメインに関連付けられたＩＰアドレスと、を比較して、ユーザをサブドメインが割り当てられたサービス環境にアクセスさせるか否かを判定する（Ｓ２２）。Ｓ２２においては、登録データに格納されたレコードのうち、Ｓ１１において取得されたサブドメインと一致するレコードが参照される。そして、Ｓ９において取得されたＩＰアドレスが、このレコードに格納されたＩＰアドレスであるか否かが判定される。Ｓ９において取得されたＩＰアドレスが格納されていた場合、ユーザをサブドメインが割り当てられたサービス環境にアクセスさせると判定される。
【００８８】
ユーザをアクセスさせると判定された場合（Ｓ２２；Ｙ）、制御部３１は、ユーザが指定したサブドメインに関連付けられたサービス環境のログイン画面情報に基づいてログイン画面５０のＨＴＭＬデータを生成し、ユーザ装置１０に送信する（Ｓ２３）。Ｓ２３においては、Ｓ１１において取得されたサブドメインに関連付けられたサービス環境のログイン画面情報が読みだされ、ユーザグループ名を含むログイン画面５０のＨＴＭＬデータが生成される。
【００８９】
ユーザ装置１０においては、ログイン画面５０のＨＴＭＬデータを受信すると、表示部１４にログイン画面５０を表示させる（Ｓ２４）。制御部１１は、ユーザによるユーザＩＤ及びパスワードの入力を受け付け、ＳＳＬ通信による暗号化を行ってサーバ装置３０に送信する（Ｓ２５）。
【００９０】
サーバ装置３０においては、ユーザＩＤ及びパスワードを受信すると、制御部３１は、記憶部３２に記憶されたユーザＩＤ及びパスワードと比較することによって、正当なユーザであるか否かを判定する（Ｓ２５）。Ｓ２５においては、Ｓ７においてユーザが指定したＵＲＬに含まれるサブドメインに関連付けられたユーザＩＤ及びパスワードと、Ｓ２４において表示されたログイン画面５０からユーザが入力したユーザＩＤ及びパスワードと、が比較されることによってユーザの認証が行われる。即ち、ここでは、サブドメイン毎にユーザＩＤ及びパスワードが登録されているので、サーバ装置３０に登録された全てのユーザＩＤ及びパスワードの組みのうち、ユーザが指定したサブドメインに関連付けられたもののみが比較対象となる。
【００９１】
正当なユーザであると判定された場合（Ｓ２５；Ｙ）、制御部３１は、ユーザが所属するユーザグループ用のサービス利用画面のＨＴＭＬデータを生成してユーザ装置１０に送信し、サービスの提供を開始する（Ｓ２６）。
【００９２】
一方、Ｓ１１において取得されたサブドメインが登録データに格納されていない場合（Ｓ２２；Ｎ）、及び、正当なユーザであると判定されない場合（Ｓ２５；Ｙ）、制御部３１は、エラー画面のＨＴＭＬデータをユーザ装置１０に送信し（Ｓ２７）、処理は終了する。
【００９３】
［５．実施形態のまとめ］
以上説明したサービス提供システム１によれば、ユーザグループの管理者が登録画面４０において文字列を入力してユーザ登録を行うと、当該文字列を含むサブドメインが自動生成される。ユーザ登録後には、このユーザグループに所属するユーザが、当該サブドメインにアクセスすると、ユーザグループ専用のサービス環境に関連付けられたログイン画面５０を表示させることができる。ユーザＩＤ及びパスワードが、このログイン画面５０から入力されることによって、当該ユーザの認証処理が行われるので、ユーザの立場からすれば、簡易なログイン環境を維持することができる。一方、サービス提供者の立場からすれば、各サブドメインが割り当てられたサービス環境毎に異なるログイン画面を用意してユーザＩＤ及びパスワードが管理されているので、ユーザのセキュリティを向上させることができる。
【００９４】
また、サブドメインにアクセス可能なコンピュータのＩＰアドレスを定めておくことによって、このＩＰアドレスからアクセスしないと各サービス環境のログイン画面を表示させないように設定することができる。単に、ユーザＩＤとパスワードのみの認証が行われる場合よりもセキュリティを強化することができる。更に、ユーザグループのサービス環境毎に異なるログイン画面を表示させるので、悪意のある第三者にログイン画面の内容が公開されないので、フィッシングを予防することもできる。
【００９５】
更に、従来のＡＳＰ（Application Service Provider）業者等は、顧客のサービス環境毎に異なるドメインを割り当ててカスタマイズを行わせることもあるが、この場合には、顧客がユーザ登録を行うたびに新たにドメインを作成する必要があるため、ユーザ登録を行ってからサービスを開始するまでに時間がかかる問題がある。この点、本発明に係るサーバ装置３０によれば、ユーザグループのサービス環境毎にサブドメインを生成するので、ドメインを新たに生成する必要がなく、ユーザ登録後すぐにサービスを開始させることができる。
【００９６】
また、実施形態のようにＳＮＩを用いてサブドメインを取得することによって、ＳＳＬ通信が確立する前に、サブドメインが割り当てられたサービス環境にユーザをアクセスさせるか否かを判定することができる。即ち、あるサブドメインが割り当てられたサービス環境にアクセス要求をしたユーザ装置１０が、このサブドメインが割り当てられたサービス環境へのアクセス権限がない場合には、ＳＳＬ通信の確立前にアクセスを拒否することができる。
【００９７】
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
【００９８】
［６．変形例］
（１）例えば、実施形態においては、ログイン画面５０にユーザグループ名を表示させる場合を説明したが、ユーザグループ毎にユーザＩＤ入力欄５３やパスワード入力欄５４等のレイアウトを異ならせるようにしてもよい。即ち、ユーザグループ毎にログイン画面５０のレイアウトをカスタマイズさせるようにしてもよい。
【００９９】
変形例（１）におけるログイン画面情報は、ユーザ装置１０に表示させるログイン画面５０のレイアウトに関する情報を含む。即ち、ログイン画面情報は、ログイン画面５０に表示させるべき各種情報のレイアウトを示し、例えば、ログイン画面５０に表示させる画像、当該画像の位置、文字のフォントサイズ又は色彩、背景の模様又は色彩、入力フォームの位置又は大きさ（例えば、ユーザＩＤ入力欄５３及びパスワード入力欄５４）に関する情報を含む。
【０１００】
変形例（１）の表示制御部６７は、サブドメイン取得部６４が取得したサブドメインに関連付けられたログイン画面情報が示すレイアウトに基づいて、ユーザ装置にログイン画面を表示させる。表示制御部６７は、サブドメイン取得部６４が第１のサブドメインを取得した場合、第１のサブドメインに関連付けられた第１のレイアウトのログイン画面５０を表示させ、サブドメイン取得部６４が第２のサブドメインを取得した場合、第２のサブドメインに関連付けられた第２のレイアウトのログイン画面５０（第１のレイアウトとは異なるレイアウトのログイン画面５０）を表示させる。
【０１０１】
変形例（１）によれば、ユーザグループが使用するサブドメイン毎にログイン画面５０のレイアウトを異ならせることができる。例えば、全ユーザに同じドメインを使用させるような場合には、ログイン画面５０のレイアウトも全ユーザで共通するため、悪意のある第三者はログイン画面を真似やすくフィッシングの被害にあいやすいが、変形例（１）では、ユーザグループ毎に異なるレイアウトであるため、悪意のある第三者のＵＲＬに誘導されたとしてもレイアウトが異なるのでユーザがフィッシングに気付きやすくなり被害を予防することができる。
【０１０２】
（２）また、実施形態においては、サーバ装置３０がＳＳＬ通信の拡張機能であるＳＮＩを利用してユーザ装置１０からサブドメインを取得する場合を例に挙げて説明したが、ＳＮＩをサポートしていないウェブブラウザをユーザが使用している場合には、他の方法によってサブドメインが取得されるようにしてもよい。例えば、ユーザ装置１０とサーバ装置３０とのＳＳＬ接続をいったん確立させ、その後のＨＴＴＰを利用してユーザ装置１０からサブドメインが取得されるようにしてもよい。
【０１０３】
変形例（２）のサブドメイン取得部６４は、ユーザ装置１０とのＳＳＬ通信が確立した後において、ＨＴＴＰを利用してユーザにより指定されたサブドメインを取得する。例えば、サーバ装置３０がユーザ装置１０からアクセス要求を受け付けた場合、サービス提供者により予め指定されたデフォルトのサブドメイン（デフォルトのＵＲＬ）にアクセスさせる。当該デフォルトのサブドメインには、ＩＰアドレス制限はかけられていない。即ち、どのコンピュータからアクセスしたとしても、デフォルトのサブドメインにはアクセスすることができる。
【０１０４】
サーバ装置３０は、デフォルトのサブドメインにアクセスさせて、ユーザ装置１０とサーバ装置３０とのＳＳＬ通信をいったん確立させる。その後、ＨＴＴＰを利用してユーザ装置１０が送信するデータには、ユーザがウェブブラウザで指定したサブドメインが含まれる。即ち、サーバ装置３０は、デフォルトのサブドメインを用いてユーザ装置１０とのＳＳＬ通信を確立させることによって、ＨＴＴＰを利用してサブドメインを取得することができる。サブドメインが取得された後の処理の流れは実施形態と同様であるので説明を省略する。
【０１０５】
変形例（２）によれば、ＳＮＩをサポートしていないウェブブラウザをユーザが使用した場合であっても、サーバ装置３０がサブドメインを取得することができる。
【０１０６】
（３）また例えば、実施形態においては、ユーザが所属するユーザグループのサブドメインにログインしてサービスを開始するまでの流れを説明したが、あるユーザが、ユーザグループＡとユーザグループＢとの両方に所属する場合、このユーザにサブドメインＡとサブドメインＢとの両方に同時にログインさせるようにしてもよい。
【０１０７】
変形例（３）のサーバ装置３０は、ユーザ装置１０とのＳＳＬ通信が確立した後、ユーザ装置１０から受信されるユーザ装置１０の識別情報とユーザにより指定されたサブドメインとに基づいて、ユーザ装置１０とのセッションを継続させる手段を含む。当該手段は、制御部３１を主として実現される。
【０１０８】
ユーザ装置１０の識別情報は、セッションＩＤ等であり、ユーザ装置１０から送信されるクッキーに含まれる。ユーザ装置１０の識別情報は、例えば、ユーザ装置１０とサーバ装置３０との接続が完了した場合にサーバ装置３０により生成される。当該生成された識別情報は、ユーザ装置１０に送信されてウェブブラウザのクッキーに格納されるとともに、記憶部３２に記憶される。サーバ装置３０は、ユーザ装置１０から受信する識別情報と記憶部３２に記憶させた識別情報とを比較することになる。
【０１０９】
ユーザにより指定されたサブドメインは、ＳＮＩ又はＨＴＴＰを利用して取得される。例えば、サーバ装置３０が図９のＳ１１で取得したサブドメインを記憶部３２に記憶しておき、その後の通信でユーザ装置１０から取得するサブドメインと比較する。サーバ装置３０は、ユーザの識別情報とサブドメインとの組み合わせでセッションを管理することになる。
【０１１０】
例えば、あるユーザがユーザ装置１０を用いてユーザグループＡとユーザグループＢとのサービスを利用する場合を説明する。サーバ装置３０は、ユーザ装置１０からこのユーザを識別する情報とサブドメインＡを識別する情報とを取得し、この組み合わせが既に記憶部３２に記憶されていた場合、当該ユーザ装置１０を操作するユーザが、既にユーザグループＡのサブドメインＡが割り当てられたサービス環境にログイン済みであり、ユーザグループＡのサービス環境でサービスを提供可能であると判定する。
【０１１１】
一方、サーバ装置３０は、ユーザ装置１０からこのユーザを識別する情報とサブドメインＢを識別する情報とを取得し、この組み合わせが既に記憶部３２に記憶されていた場合、当該ユーザ装置１０を操作するユーザが、既にユーザグループＢのサブドメインＢが割り当てられたサービス環境にログイン済みであり、ユーザグループＢのサービス環境でサービスを提供可能であると判定する。
【０１１２】
変形例（３）によれば、サーバ装置３０は、複数のユーザグループに所属するユーザに、これら複数のユーザグループの各々のサブドメインが割り当てられたサービス環境に同時にログインさせることができる。従来の技術では、全ユーザで共通するドメインを使用してウェブサービスを提供するため、変形例（３）のような同時ログインが困難であるが、本発明に係るサーバ装置３０では、ユーザグループ毎のサービス環境にサブドメインを割り振っているので、上記のようにして一人のユーザに同時ログインをさせることができる。
【０１１３】
（４）また例えば、実施形態においては、ユーザグループによって生成されたサブドメイン毎に、アクセス可能なコンピュータのＩＰアドレスが指定されている場合を説明したが、必ずしもＩＰアドレスは指定されていなくてもよい。例えば、あるサブドメインについてはＩＰ制限をかけずにユーザＩＤ及びパスワードのみの認証が行われるようにしてもよい。このように、ユーザグループ毎にセキュリティポリシーを異ならせるようにしてもよい。他にも例えば、ユーザグループが利用するサブドメイン毎に、各ユーザが設定しなければならないパスワードの文字数や文字種別が設定されていたり、ユーザ証明書を用いた認証の有無が設定されていたりするようにしてもよい。
【０１１４】
（５）また例えば、ユーザ装置１０、ＤＮＳサーバ２０、及びサーバ装置３０は、パーソナルコンピュータ等の公知のコンピュータによって実現されるようにすればよく、ユーザ装置１０、ＤＮＳサーバ２０、及びサーバ装置３０のハードウェア構成は、上記の例に限られない。また、実施形態において、記憶部１２、記憶部２２、又は記憶部３２に記憶されていることとして説明するプログラムやデータは、例えば、ＣＤ−ＲＯＭ、ＤＶＤ、フラッシュメモリ等の情報記憶媒体を介して供給されるようにしてもよいし、ネットワークＮ等の通信手段を介して供給されるようにしてもよい。
【符号の説明】
【０１１５】
１  サービス提供システム、１０  ユーザ装置、１１  制御部、１２  記憶部、１３  操作部、１４  表示部、１５  入力部、１６  通信部、２０  ＤＮＳサーバ、２１  制御部、２２  記憶部、２３  通信部、３０  サーバ装置、３１  制御部、３２  記憶部、３３  通信部、４０  登録画面、４１，４３  ラジオボタン、４２  プルダウンメニュー、４４  文字列入力欄、５０，５０Ａ，５０Ｂ  ログイン画面、５１Ａ，５１Ｂ  ＵＲＬ欄、５２Ａ，５２Ｂ  ユーザグループ名、５３Ａ，５３Ｂ  ユーザＩＤ入力欄、５４Ａ，５４Ｂ  パスワード入力欄、５５Ａ，５５Ｂ  ログインボタン、６０  登録データ記憶部、６１  文字列受付部、６２  サブドメイン生成部、６３  アクセス要求受付部、６４  サブドメイン取得部、６５  ＩＰアドレス取得部、６６  判定部、６７  表示制御部、７０  デフォルト画面、７１  ユーザ登録ボタン、Ｎ  ネットワーク。
【図１】
0005863398.tif 000002
【図２】
0005863398.tif 000003
【図３】
0005863398.tif 000004
【図４】
0005863398.tif 000005
【図５】
0005863398.tif 000006
【図６】
0005863398.tif 000007
【図７】
0005863398.tif 000008
【図８】
0005863398.tif 000009
【図９】
0005863398.tif 000010
【図１０】
0005863398.tif 000011
【図１１】
0005863398.tif 000012
【図１２】
0005863398.tif 000013