JP5863398B2 - サーバ装置及びサーバ装置の制御方法 - Google Patents

サーバ装置及びサーバ装置の制御方法 Download PDF

Info

Publication number
JP5863398B2
JP5863398B2 JP2011242831A JP2011242831A JP5863398B2 JP 5863398 B2 JP5863398 B2 JP 5863398B2 JP 2011242831 A JP2011242831 A JP 2011242831A JP 2011242831 A JP2011242831 A JP 2011242831A JP 5863398 B2 JP5863398 B2 JP 5863398B2
Authority
JP
Japan
Prior art keywords
subdomain
user
access request
login screen
user device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011242831A
Other languages
English (en)
Other versions
JP2013097741A (ja
Inventor
山本 泰宇
泰宇 山本
Original Assignee
サイボウズ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by サイボウズ株式会社 filed Critical サイボウズ株式会社
Priority to JP2011242831A priority Critical patent/JP5863398B2/ja
Publication of JP2013097741A publication Critical patent/JP2013097741A/ja
Application granted granted Critical
Publication of JP5863398B2 publication Critical patent/JP5863398B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Description

本発明は、サーバ装置及びサーバ装置の制御方法に関する。
近年、ユーザがネットワークを介してウェブサーバにアクセスして種々のウェブサービスを利用する技術が知られている。このようなウェブサービスでは、ユーザ毎またはユーザグループ毎のサービス環境にアクセスする際に表示するログイン画面のURLとして、全ユーザで共通のものを設定している場合が多い。
例えば、特許文献1には、サーバが管理しているデータをユーザが利用する際に、全ユーザで共通のURLにアクセスしてログインを行う技術が記載されている。
特開2007−310435号公報
しかしながら、従来の技術のように、ウェブサービスへのログイン時に全ユーザで共通のURLにアクセスさせる場合、ユーザ毎またはユーザグループ毎に設定されたサービス環境への不正アクセスの可能性が高くなってしまうという問題点があった。
例えば、ログイン時の認証には、各ユーザを識別するためのIDと当該IDに関連付けられたパスワードとが用いられることが多い。実際には、第三者にとって比較的入手しやすいメールアドレスがIDとして利用されることがある。このような場合には、実質的にパスワードのみで不正アクセスを防止するしかない状況となっていた。
この点、特許文献1に記載の発明では、ウェブサービスへのログイン時に全ユーザで共通のURLにアクセスさせるシステムにおいて、アクセスの時間帯に対応したID、パスワードをアクセスの都度付与することで、セキュリティ性を高めることとしている。
しかしながら、この技術では、ユーザがウェブサービスへのアクセスを行うたびに、各ユーザにアクセス申請を行わせてID及びパスワードを付与する必要があるため、ユーザの操作が煩雑になるとともに、サーバの処理負荷が増大する可能性がある。また、全ユーザで共通のドメインのログイン画面を利用するので、悪意のある第三者がこのログイン画面を装ったウェブサイトにユーザを誘導し、IDやパスワード等を獲得するフィッシングがなされる可能性もある。
本発明は上記課題に鑑みてなされたものであって、その目的は、ウェブサービスを利用するユーザにとって簡易なログイン環境を維持しつつ、セキュリティを高めることが可能なサーバ装置及びサーバ装置の制御方法を提供することにある。
上記課題を解決するために、本発明に係るサーバ装置は、ユーザ装置とネットワークを介して接続されるサーバ装置であって、ユーザによる文字列の指定を受け付ける文字列受付手段と、前記サーバ装置に割り当てられたドメインに属するサブドメインとして、前記文字列受付手段が受け付けた文字列を含むサブドメインを生成するサブドメイン生成手段と、前記サブドメイン生成手段が生成したサブドメインと、当該サブドメインが割り当てられたサービス環境のログイン画面に関するログイン画面情報と、を関連付けて記憶する手段と、前記サブドメイン生成手段が生成したサブドメインがユーザにより指定された場合、前記ユーザ装置によるアクセス要求を受け付けるアクセス要求受付手段と、前記アクセス要求受付手段がアクセス要求を受け付けた場合、当該アクセス要求をしたユーザ装置との通信内容に基づいて、前記ユーザにより指定されたサブドメインを取得するサブドメイン取得手段と、前記サブドメイン取得手段が取得したサブドメインに関連付けられた前記ログイン画面情報に基づいて、前記アクセス要求をしたユーザ装置にログイン画面を表示させる表示制御手段と、を含むことを特徴とする。
また、本発明に係るサーバ装置の制御方法は、ユーザ装置とネットワークを介して接続されるサーバ装置の制御方法であって、ユーザによる文字列の指定を受け付ける文字列受付ステップと、前記サーバ装置に割り当てられたドメインに属するサブドメインとして、前記文字列受付ステップにおいて受け付けられた文字列を含むサブドメインを生成するサブドメイン生成ステップと、前記サブドメイン生成ステップにおいて生成されたサブドメインと、当該サブドメインが割り当てられたサービス環境のログイン画面に関するログイン画面情報と、を関連付けて記憶する手段の記憶内容を読み出すステップと、前記サブドメイン生成ステップにおいて生成されたサブドメインがユーザにより指定された場合、前記ユーザ装置によるアクセス要求を受け付けるアクセス要求受付ステップと、前記アクセス要求受付ステップにおいてアクセス要求が受け付けられた場合、当該アクセス要求をしたユーザ装置との通信内容に基づいて、前記ユーザにより指定されたサブドメインを取得するサブドメイン取得ステップと、前記サブドメイン取得ステップにおいて取得されたサブドメインに関連付けられた前記ログイン画面情報に基づいて、前記アクセス要求をしたユーザ装置にログイン画面を表示させる表示制御ステップと、を含むことを特徴とする。
本発明によれば、ウェブサービスを利用するユーザにとって簡易なログイン環境を維持しつつ、セキュリティを高めることが可能になる。
また、本発明の一態様では、前記ログイン画面情報は、前記ログイン画面のレイアウトに関する情報を含み、前記表示制御手段は、前記サブドメイン取得手段が取得したサブドメインに関連付けられた前記ログイン画面情報が示すレイアウトに基づいて、前記ユーザ装置にログイン画面を表示させる、ことを特徴とする。
また、本発明の一態様では、 前記サーバ装置は、前記サブドメイン生成手段が生成したサブドメインと、当該サブドメインが割り当てられたサービス環境へのアクセスを許可するコンピュータのIPアドレスと、を関連付けて記憶する手段と、前記アクセス要求受付手段がアクセス要求を受け付けた場合、当該アクセス要求をしたユーザ装置との通信内容に基づいて、当該ユーザ装置のIPアドレスを取得するIPアドレス取得手段と、前記サブドメイン取得手段が取得したサブドメインに関連付けられたIPアドレスと、前記IPアドレス取得手段が取得したIPアドレスと、を比較することによって、前記アクセス要求をした前記ユーザ装置を当該サブドメインが割り当てられたサービス環境にアクセスさせるか否かを判定する判定手段と、を含み、前記表示制御手段は、前記判定手段が前記サブドメインにアクセスさせると判定した場合、前記サブドメイン取得手段が取得したサブドメインに関連付けられたログイン画面情報に基づいて、前記アクセス要求をしたユーザ装置にログイン画面を表示させる、ことを特徴とする。
また、本発明の一態様では、前記サーバ装置は、SSL通信によって前記ユーザ装置と暗号化通信を行い、前記サブドメイン取得手段は、SSL通信の拡張機能であるSNI(Server Name Indication)を利用して、SSL通信の確立前に、前記ユーザにより指定されたサブドメインを取得する、ことを特徴とする。
また、本発明の一態様では、前記サーバ装置は、SSL通信によって前記ユーザ装置と暗号化通信を行い、前記サブドメイン取得手段は、前記ユーザ装置とのSSL通信が確立した後において、HTTPを利用して前記ユーザにより指定されたサブドメインを取得する、ことを特徴とする。
また、本発明の一態様では、前記サーバ装置は、前記ユーザ装置とのSSL通信が確立した後、前記ユーザ装置から受信される前記ユーザ装置の識別情報と前記ユーザにより指定されたサブドメインとに基づいて、前記ユーザ装置とのセッションを継続させる手段、を更に含むことを特徴とする。
本発明に係るサービス提供システムのネットワーク構成例を示す図である。 アドレステーブルのデータ格納例を示す図である。 ユーザグループの管理者がユーザ登録操作を行う際に表示される登録画面の一例である。 ユーザグループAに所属するユーザが操作するユーザ装置に表示されるログイン画面の一例を示す図である。 ユーザグループBに所属するユーザが操作するユーザ装置に表示されるログイン画面の一例を示す図である。 サーバ装置の機能ブロック図である。 登録データのデータ格納例を示す図である。 サービス提供システムにおいて実行される処理を示す図である。 サービス提供システムにおいて実行される処理を示す図である。 サービス提供システムにおいて実行される処理を示す図である。 サービス提供システムにおいて実行される処理を示す図である。 デフォルト画面の一例を示す図である。
[1.実施形態]
以下、本発明の好適な実施の形態について図面に基づき詳細に説明する。本発明に係るサーバ装置は、ユーザ装置とネットワークを介して接続される。ここでは、本発明に係るサーバ装置を含むサービス提供システムについて説明する。
[2.サービス提供システムの構成]
図1は、本発明に係るサービス提供システムのネットワーク構成例を示す図である。図1に示すように、サービス提供システム1は、ユーザが操作するユーザ装置10と、ドメインを管理するDNSサーバ20と、ユーザにサービスを提供するサーバ装置30と、を含んで構成される。
ユーザ装置10は、例えば、CPU等からなる制御部11と、各種プログラムや当該プログラムを実行するために必要な各種データを記憶する記憶部12と、マウスやキーボード等からなる操作部13と、液晶ディスプレイ等からなる表示部14と、光ディスク再生装置等からなる入力部15と、他の装置と有線又は無線で通信を行うためのネットワークカード等からなる通信部16と、を含んで構成されている。
ユーザは、操作部13を操作して記憶部12に記憶されるウェブブラウザを起動し、通信部16を介して他のコンピュータにアクセスする。ユーザがウェブブラウザ上で所与のURLを入力すると、DNSサーバ20に対して接続先のIPアドレスの問い合わせが行われる。ユーザ装置10がDNSサーバ20から接続先のIPアドレスの回答を受信すると、このIPアドレスが割り当てられたコンピュータに通信部16及びネットワークNを介してアクセスすることになる。
また、ここでは、記憶部12に記憶されるウェブブラウザに、SSL通信の拡張機能であるSNI(Server Name Indication)が実装されている場合を例に挙げて説明する。SNIは、クライアント(例えば、ユーザ装置10)が接続しようとしているサーバ(例えば、サーバ装置30)のホスト名を他のコンピュータに伝達するための機能である。
ここでは、ユーザ装置10とサーバ装置30とのSSL通信を確立するために行われるハンドシェイクにおいてホスト名が伝達される。例えば、SNIを搭載したウェブブラウザを用いた場合、ハンドシェイクにおいてユーザ装置10がサーバ装置30に送信するデータである「ClientHello」にホスト名が含まれる。なお、この場合には、暗号化通信をするための鍵の交換が行われる前段階であるので、ホスト名は暗号化されない状態で(即ち、平文で)サーバ装置30に送られることになる。
DNSサーバ20は、例えば、CPU等からなる制御部21と、各種プログラムや当該プログラムを実行するために必要な各種データを記憶する記憶部22と、他の装置と有線又は無線で通信を行うためのネットワークカード等からなる通信部23と、を含んで構成されている。
DNSサーバ20は、他のコンピュータからドメイン名に対応する接続先の問い合わせを受け付けた場合に、当該ドメイン名をIPアドレスに変換してこのコンピュータに回答を行う。記憶部22には、ドメイン名とIPアドレスとが対応付けられたアドレステーブルが記憶される。
図2は、アドレステーブルのデータ格納例を示す図である。図2に示すように、アドレステーブルには、ドメイン名と、接続先のIPアドレスと、が関連付けられて記憶される。本実施形態においては、アドレステーブルに格納されたドメイン名には、ワイルドカードが指定されているものがある。
ワイルドカードは、任意の文字列を許容することを意味し、あるドメインに属するサブドメインについて接続先の問い合わせを受け付けた場合に、共通の接続先を回答するために用いられる。DNSサーバ20は、ワイルドカードが指定されているドメイン名の文字列と、他のコンピュータから問い合わせを受け付けたドメイン名の文字列と、が部分一致(例えば、後方一致)している場合に、ワイルドカードが指定されているドメイン名に関連付けられたIPアドレスをこのコンピュータに回答することになる。
図2に示すデータ格納例では、アドレステーブルに、ワイルドカードが指定された「* xxx.com」が格納されているので、「xxx.com」のドメインに属するサブドメインであれば、当該「* xxx.com」に関連付けられたIPアドレスにアクセスさせることを示している。例えば、他のコンピュータから「project123.xxx.com」の問い合わせを受けた場合であっても、「department99.xxx.com」の問い合わせを受けた場合であっても、「* xxx.com」に関連付けられた「IPアドレスX」を回答することになる。
サーバ装置30は、例えば、CPU等からなる制御部31と、各種プログラムや当該プログラムを実行するために必要な各種データを記憶する記憶部32と、他の装置と有線又は無線で通信を行うためのネットワークカード等からなる通信部33と、を含んで構成されている。
サーバ装置30は、記憶部22に記憶されているCGI(Common Gateway Interface)プログラム及びHTTPD(Http Daemon)によって、ユーザ装置10を操作する各ユーザに対して各種サービスを提供するためのサービス環境を構成する。サービス環境は、ウェブサービスを利用するユーザの利用環境を含む意味であり、例えば、サーバ装置30が提供する全サービスのうちユーザが利用可能な範囲及びユーザが当該範囲を利用する際の利用状態を含む意味である。例えば、サーバ装置30に構成されたサービス環境において、HTTP(Hypertext Transfer Protocol)に則り、スケジュール管理サービス、掲示板管理サービス、アドレス帳管理サービス、ToDoリスト管理サービス等を、ユーザ装置10を操作する各ユーザに提供するようにしてもよい。
本実施形態においては、ユーザが所属するユーザグループに応じて、サーバ装置30におけるサービス環境が異なる。各ユーザグループには、一又は複数のユーザが所属する。例えば、サービス提供システム1が構成するサービス環境を、ある会社が利用する場合には、ユーザグループは会社であり、ユーザは社員となる。サーバ装置30には、ユーザグループ毎に、サービス提供システム1が提供するサービスを利用するユーザを識別するためのユーザIDが記憶(登録)されている。
詳しくは後述するが、本実施形態においては、ユーザグループ毎に、このユーザグループが使用するサービス環境のログイン画面にアクセスするサブドメインが設定されている。各ユーザは、自分が所属するユーザグループのサービス環境に割り当てられたサブドメインにより、個々のユーザグループ毎に設定されたログイン画面にアクセスしてサービスを利用することになる。また、あるユーザグループが新たにサービスを利用する場合には、このユーザグループの管理者が、ユーザ登録操作を行うことによって、このユーザグループが使用するサービス環境にアクセスするためのサブドメインを指定する。
図3は、ユーザグループの管理者がユーザ登録操作を行う際に表示される登録画面の一例である。ユーザグループの管理者がサーバ装置30の所与のURLにアクセスすると、表示部14に登録画面40が表示される。管理者は、登録画面40において、このユーザグループが使用するサブドメインを指定することができる。
例えば、管理者がラジオボタン41にチェックを入れ、プルダウンメニュー42から予め用意された複数のサブドメインの何れかを選択することによって、ユーザグループで使用するサブドメインが指定される。プルダウンメニュー42から選択可能なサブドメインは、サービス提供者によって用意され、記憶部32に予め記憶されている。
また、管理者は、ラジオボタン43にチェックを入れ、文字列入力欄44に文字列を入力することによって、ユーザグループで使用するサブドメインが指定されるようにしてもよい。この場合、他のユーザグループで既に使用されているサブドメインを記憶部32に記憶させておき、このサブドメインの文字列が文字列入力欄44に入力されると、当該サブドメインが使用できないことを案内するようにしてもよい。
管理者が登録画面40から所与の操作を行うと、管理者により指定された文字列を含むサブドメインがユーザグループ専用のサブドメインとして生成され、別途ユーザグループ毎に生成されたサービス環境に対して、当該サブドメインが割り当てられる。なお、管理者は、登録画面40から、ユーザグループに所属する各ユーザのユーザID及び初期パスワードや利用するサービスの種類等を設定するようにしてもよい。
管理者によってユーザ登録が行われると、ユーザグループに所属する各ユーザは、上記生成されたサブドメインが割り当てられたサービス環境にアクセスしてサービスを利用することができる。当該生成されるサブドメインは、サーバ装置30に割り当てられたドメインを含む文字列となる。例えば、サーバ装置30に割り当てられたドメインを「xxx.com」とすると、第1のユーザグループ(ユーザグループAという。)がサービスを利用する場合には、第1のサブドメインである「project123.xxx.com」(サブドメインAという。)を用い、第2のユーザグループ(ユーザグループBという。)がサービスを利用する場合には、第2のサブドメインである「department99.xxx.com」(サブドメインBという。)を用いる。
また、ここでは、サブドメインにアクセス可能なコンピュータのIPアドレスが定められており、IPアドレス制限が各サブドメインにかけられている。例えば、ユーザグループの管理者がユーザ登録を行う場合、又は、ユーザ登録が行われた後の設定操作によって、サブドメインにアクセス可能なIPアドレスが記憶部32に登録される。
例えば、ユーザグループAに属するユーザが操作するユーザ装置10のIPアドレスからアクセスした場合にのみ、サブドメインAが割り当てられたサービス環境へのアクセスが許可される。サブドメインAが割り当てられたサービス環境へのアクセスが許可されると、このユーザが操作するユーザ装置10には、ログイン画面が表示される。
図4は、ユーザグループAに所属するユーザが操作するユーザ装置10に表示されるログイン画面の一例を示す図である。例えば、ユーザグループAに所属するユーザが、URL欄51AにサブドメインAを含むURLを入力すると、このユーザが操作するユーザ装置10には、ログイン画面50Aが表示される。
ログイン画面50Aには、ユーザグループAの名称を示すユーザグループ名52Aが表示される。ユーザは、ユーザID入力欄53AにユーザIDを入力し、パスワード入力欄54Aにパスワードを入力して、ログインボタン55Aを選択する。ログインボタン55Aが選択されると、ユーザが入力したユーザID及びパスワードが暗号化されてサーバ装置30に送信される。サーバ装置30においては、ユーザ装置から受け取ったユーザID及びパスワードに基づいて認証処理が行われる。
サーバ装置30において認証が行われると、ユーザグループAのサービス環境においてサービスを提供するためのサービス利用画面(図示せず)が表示される。その後、ユーザ装置10は、ウェブブラウザを用いてサーバ装置30のCGIプログラムにアクセスし、CGIプログラムにより出力されるHTMLデータが表示部14に表示されることによって、ユーザに各種サービスが提供される。
一方、サブドメインBが割り当てられたサービス環境は、ユーザグループBに属するユーザが操作するユーザ装置10のIPアドレスからアクセスした場合にのみアクセスが許可される。ここでは、ユーザグループBに所属するユーザがサブドメインBを含むURLを入力すると、ログイン画面50Aとは異なるログイン画面が表示される。
図5は、ユーザグループBに所属するユーザが操作するユーザ装置10に表示されるログイン画面の一例を示す図である。例えば、ユーザグループBに所属するユーザが、URL欄51BにサブドメインBを含むURLを入力すると、このユーザが操作するユーザ装置10にはログイン画面50Bが表示される。
図5に示すように、ユーザグループ名52Bは、ユーザグループBの社名を示している。ユーザグループ名52Bが表示されることによって、ユーザグループB専用のログイン画面50Bが表示されていることをユーザに把握させることができる。ユーザが、ユーザID入力欄53BにユーザIDを入力し、パスワード入力欄54Bにパスワードを入力して、ログインボタン55Bを選択すると、認証処理が行われる点はログイン画面50Aと同様である。
なお、図4及び図5に示すように、ユーザグループの管理者が当該ユーザグループの名称とは異なる文字列を指定し、ユーザグループ名とは異なる文字列を含むサブドメインを生成させる場合には、第三者にサブドメインを想起させることを防止できるので、更にセキュリティを向上させることができる。
また、ユーザが、自分が所属するユーザグループ以外のユーザグループのサービス環境に割り当てられたサブドメインを含むURLを指定すると、このユーザが操作するユーザ装置10にはアクセス権限がないので、表示部14にエラーページ(図示せず)が表示されるようにしてもよい。例えば、ユーザグループAに所属するユーザが、ユーザグループBのサブドメインBが割り当てられたサービス環境にアクセスしようとしても、当該ユーザのユーザ装置10のIPアドレスでは、サブドメインBが割り当てられたサービス環境にアクセスする権限がないため、表示部14にはログイン画面50Bではなくエラーページが表示される。
このように、本実施形態のサービス提供システム1は、あるユーザグループの管理者が文字列を指定すると、当該文字列を含むサブドメインを自動生成し、このユーザグループに所属するユーザが当該サブドメインを含むURLを指定すると、専用のログイン画面が表示される構成になっている。即ち、各ユーザグループに所属するユーザに、自分達のサービス環境をより安全に利用させるために、サブドメインを自動生成するとともに、当該サブドメインにサービス環境を割り当てて専用のログイン画面を用意する構成になっている。以降、この技術について詳細に説明する。
[3.サーバ装置において実現される機能]
図6は、サーバ装置30の機能ブロック図である。図6に示すように、サーバ装置30は、登録データ記憶部60と、文字列受付部61と、サブドメイン生成部62、アクセス要求受付部63と、サブドメイン取得部64と、IPアドレス取得部65と、判定部66と、表示制御部67と、を実現する。制御部31が記憶部32に記憶されたプログラムを実行することによって、これらの機能が実現される。
[3−1.登録データ記憶部]
登録データ記憶部60は、記憶部32を主として実現される。登録データ記憶部60は、ユーザグループの登録内容を示す登録データを記憶する。ここでは、登録データには、サブドメイン生成部62が生成したサブドメインと、当該サブドメインに割り当てられたサービス環境のログイン画面に関するログイン画面情報と、が関連付けられる。更に、登録データには、サブドメイン生成部62が生成したサブドメインと、当該サブドメインが割り当てられたサービス環境へのアクセスを許可するコンピュータのIPアドレスと、が関連付けられる。
図7は、登録データのデータ格納例を示す図である。図7に示すように、登録データには、サーバ装置30に登録済みのサブドメインと、当該サブドメインが割り当てられたサービス環境へのアクセスを許可するIPアドレスと、ログイン画面50(以降、本実施形態において、単にログイン画面50と記載した場合は、ログイン画面50A,50Bの何れかを示す。)に関するログイン画面情報と、が関連付けられて記憶される。ログイン画面情報は、各サブドメインが割り当てられたサービス環境にユーザをログインさせるためのログイン画面50の表示態様を示す情報であり、例えば、ログイン画面50に表示させるユーザグループ名を示す情報が格納される。
登録データは、ユーザの操作を受け付けると内容が更新される。例えば、あるユーザグループの管理者が新たにサービスを利用するためにユーザ登録操作を行った場合、当該ユーザ登録操作に基づいて登録データに新たなレコードが格納される。
また、あるユーザグループの管理者が、ユーザ登録後に、このユーザグループが使用するサブドメインの変更操作を行った場合には、当該変更操作に基づいて、当該ユーザグループのサービス環境に割り当てられたサブドメインが変更される。この場合、登録データの内容が更新されるので、変更前のサブドメインを含むURLをユーザが指定しても、当該ユーザグループのサービス環境にアクセスする権限がないとして、エラーページが表示される。
また例えば、あるユーザグループの管理者が、ユーザ登録後に、このユーザグループが使用するサブドメインにアクセスさせるIPアドレスの編集操作を行った場合には、当該編集操作に基づいて、このサブドメインに関連付けられたIPアドレスが追加又は削除される。また例えば、あるユーザグループの管理者が、サブドメインにアクセスさせる際のログイン画面の編集操作を行った場合には、このユーザグループが使用するサブドメインに関連付けられたログイン画面情報が変更される。
なお、登録データには、ユーザグループの登録内容が含まれていればよく、登録データに格納される内容は上記の例に限られない。他にも例えば、ユーザグループに所属するユーザのユーザIDとパスワードとが関連付けられて格納されていてもよい。例えば、各サブドメイン毎に、このサブドメインが割り当てられたサービス環境を利用するユーザグループに所属するユーザのユーザIDとパスワードとが記憶される。サブドメイン毎にユーザIDとパスワードとを記憶させることによって、ユーザが各サブドメインに割り当てられたサービス環境を利用する際には、当該ユーザが所属するユーザグループ専用のログイン画面からユーザIDとパスワードを入力しなければログインすることができないので、セキュリティを向上させることができる。
また、登録データ記憶部60が記憶する内容は、上記の例に限られない。登録データ記憶部60は、サーバ装置30が各ユーザにサービスを提供するために用いられる各種データを記憶するようにすればよい。なお、制御部31は、登録データ記憶部60の記憶内容を読み出す手段及び更新する手段として機能する。
[3−2.文字列受付部]
文字列受付部61は、制御部31及び通信部33を主として実現される。文字列受付部61は、ユーザによる文字列の指定を受け付ける。当該文字列は、サブドメインに含まれる文字列であり、例えば、サブドメインとドメインとの差分の文字列である。例えば、文字列受付部61は、登録画面40においてユーザにより指定された文字列をユーザ装置10から取得する。
[3−3.サブドメイン生成部]
サブドメイン生成部62は、制御部31を主として実現される。サブドメイン生成部62は、サーバ装置30に割り当てられたドメインに属するサブドメインとして、文字列受付部61が受け付けた文字列を含むサブドメインを生成する。ここでは、文字列受付部61が受け付けた文字列に、サーバ装置30のドメインを結合させた文字列が、サブドメインとして生成される。
サブドメイン生成部62によりサブドメインが生成されると、当該サブドメインは、登録データの新たなレコードに格納される。各ユーザグループが利用するウェブサービスのサービス環境には、サブドメイン生成部62により生成されたサブドメインが割り当てられることになる。ユーザグループの管理者によって、サブドメインにアクセスさせるIPアドレスの指定や、ユーザグループ名の指定が受け付けられた場合には、上記レコードにIPアドレスやユーザグループ名が格納される。
[3−4.アクセス要求受付部]
アクセス要求受付部63は、制御部31及び通信部33を主として実現される。アクセス要求受付部63は、サブドメイン生成部62が生成したサブドメインがユーザにより指定された場合、ユーザ装置10によるアクセス要求を受け付ける。
ユーザがウェブブラウザにおいてサブドメインを指定した場合(即ち、サブドメインを含むURLを指定した場合)、DNSサーバの制御によりユーザ装置10はサーバ装置30に対してアクセス要求を行う。先述のように、DNSサーバ20にはワイルドカードが指定されているので、サーバ装置30のドメインを含むサブドメインが指定された場合には、ワイルドカードに関連付けられた共通のIPアドレスがユーザ装置10に回答されることになる。このIPアドレスはサーバ装置30に割り当てられたものであるので、ユーザ装置10はサーバ装置30に対してアクセス要求を行うことになる。
[3−5.サブドメイン取得部]
サブドメイン取得部64は、制御部31及び通信部33を主として実現される。サブドメイン取得部64は、アクセス要求受付部63がアクセス要求を受け付けた場合、当該アクセス要求をしたユーザ装置10との通信内容に基づいて、ユーザにより指定されたサブドメインを取得する。サブドメイン取得部64は、ユーザ装置10とサーバ装置30とのSSL通信の確立前又は確立後にユーザ装置10が送信するデータに基づいて、ユーザが指定したサブドメインを取得する。
本実施形態においては、サブドメイン取得部64は、SSL通信の拡張機能であるSNI(Server Name Indication)を利用して、SSL通信の確立前に、ユーザにより指定されたサブドメインを取得する。先述のように、本実施形態においては、ユーザ装置10のウェブブラウザにはSNI機能が実装されており、ユーザ装置10は、SSL通信の確立処理における「ClientHello」にサブドメインを含ませてサーバ装置30に送信する。サブドメイン取得部64は、ユーザ装置10から「ClientHello」を受信することによって、サブドメインを取得することになる。
[3−6.IPアドレス取得部]
IPアドレス取得部65は、制御部31及び通信部33を主として実現される。IPアドレス取得部65は、アクセス要求受付部63がアクセス要求を受け付けた場合、当該アクセス要求をしたユーザ装置10との通信結果に基づいて、当該ユーザ装置10のIPアドレスを取得する。ユーザ装置10のIPアドレスは、アクセス要求受付部63が受け付けたアクセス要求に含まれる。
[3−7.判定部]
判定部66は、制御部31を主として実現される。判定部66は、サブドメイン取得部64が取得したサブドメインに関連付けられたIPアドレスと、IPアドレス取得部65が取得したIPアドレスと、を比較することによって、当該サブドメインにアクセス要求をしたユーザ装置10をアクセスさせるか否かを判定する。ここでは、判定部66は、IPアドレス取得部65により取得されたIPアドレスが、サブドメイン取得部64が取得したサブドメインに関連付けられたIPアドレスと一致した場合、当該サブドメインにアクセス要求をしたユーザ装置10をアクセスさせると判定する。
[3−8.表示制御部]
表示制御部67は、制御部31を主として実現される。表示制御部67は、サブドメイン取得部64が取得したサブドメインに関連付けられたログイン画面情報に基づいて、アクセス要求をしたユーザ装置10にログイン画面を表示させる。ここでは、表示制御部67は、ログイン画面情報が示すユーザグループ名を含むログイン画面50をユーザ装置10に表示させる。
また、本実施形態においては、表示制御部67は、判定部66がユーザ装置10をアクセスさせると判定した場合、サブドメイン取得部64が取得したサブドメインに関連付けられたログイン画面情報に基づいて、アクセス要求をしたユーザ装置10にログイン画面を表示させる。即ち、判定部66がユーザ装置10をアクセスさせないと判定した場合、サブドメイン取得部64が取得したサブドメインに関連付けられたログイン画面情報に基づいて、アクセス要求をしたユーザ装置10にログイン画面を表示させる処理が制限(抑止)される。
[4.サービス提供システムにおいて実行される処理]
図8〜図11は、サービス提供システムにおいて実行される処理を示す図である。ここでは、ユーザグループの管理者がユーザ登録を行った後に、このユーザグループに所属するユーザがサービスを利用する際の処理の流れについて説明する。制御部11が記憶部12に記憶されたプログラムを実行し、制御部21が記憶部22に記憶されたプログラムを実行し、制御部31が記憶部32に記憶されたプログラムを実行することによって、以降説明する処理が実現される。
図8に示すように、まず、制御部11は、ウェブブラウザを起動し、ユーザによるURLの指定を受け付ける(S1)。例えば、ウェブブラウザに表示されたリンクやショートカットが選択されたり、URLが直接入力されたりすることによって、URLの指定が受け付けられる。ここでは、ユーザが所属するユーザグループが使用するサブドメインを含むURLが、ユーザにより指定される。
ユーザがURLを指定すると、制御部11は、DNSサーバ20に対して接続先の問い合わせを行う(S2)。S2においては、ユーザにより指定されたURLを示すデータが、ネットワークNを介してDNSサーバ20に送信される。
DNSサーバ20においては、制御部21は、ユーザにより指定されたURLを示すデータを受信し、ユーザ装置10からの接続先の問い合わせを受け付ける(S3)。制御部21は、接続先の問い合わせを受け付けると、記憶部22に記憶されたアドレステーブルを参照する(S4)。
制御部21は、ユーザ装置10から受信したURLとアドレステーブルに格納されたドメイン名とを比較し、接続先をユーザ装置10に回答する(S5)。アドレステーブルにはワイルドカードが指定されているので、サーバ装置30のドメインに属するサブドメインが指定された場合には、ワイルドカードに関連付けられたIPアドレスが回答されることになる。ここでは、サーバ装置30のドメインである「xxx.com」に属するサブドメインであれば、ユーザグループAの「project123.xxx.com」が指定されても、ユーザグループBの「department99.xxx.com」が指定されても、ワイルドカードに関連付けられたIPアドレスがユーザ装置10に送信されることになる。
ユーザ装置10においては、制御部11は、DNSサーバ20から接続先のIPアドレスを取得する(S6)。図9に移り、ユーザ装置10は、当該IPアドレスが割り当てられているサーバ装置30に対してアクセス要求を行う(S7)。S7において行われるアクセス要求には、ユーザ装置10のIPアドレスが含まれる。
サーバ装置30においては、制御部31は、ユーザ装置10からのアクセス要求を受け付ける(S8)。制御部31は、アクセス要求をしたユーザ装置10のIPアドレスを取得する(S9)。S9において取得されたIPアドレスによって、サーバ装置30は、通信相手のユーザ装置10を識別することになる。
制御部31は、記憶部32に記憶されたサーバ証明書(ワイルドカード証明書)を用いて、ユーザ装置10とサーバ装置30との間のSSL通信の確立処理を実行する(S10)。S10においては、ユーザ装置10とサーバ装置30とのハンドシェイクが行われ、SSL通信において使用される共通鍵の交換が行われる。なお、ワイルドカード証明書を用いることによって、複数のサブドメインで同じ証明書を共有することができる。
制御部31は、SSL通信の確立処理においてユーザ装置10から受信したデータに含まれるサブドメインを取得する(S11)。ここでは、ユーザ装置10のウェブブラウザにSSLの拡張機能であるSNIが実装されているものとする。この場合、S11において、SSL通信のハンドシェイクが行われる際に、ユーザ装置10がサーバ装置30に対して送信する「ClientHello」の信号に、ユーザがウェブブラウザで指定したサブドメインが含まれる。本実施形態においては、サーバ装置30は、「ClientHello」を受信することによってサブドメインを取得する。
制御部31は、記憶部32に記憶された登録データを参照し、S11において取得されたサブドメインが格納されているか否かを判定する(S12)。S12においては、登録データの「サブドメイン」フィールドが参照され、S11で取得されたサブドメインと一致するレコードがあるか否かが判定される。
S11において取得されたサブドメインが登録データに格納されていないと判定された場合(S12;N)、制御部31は、記憶部32からデフォルト画面のHTMLデータを読み出し、ユーザ装置10に送信する(S13)。デフォルト画面は、サーバ装置30に登録されていないサブドメインをユーザが指定した場合に表示させる画面であり、例えば、ユーザ登録を行っていないユーザに対してユーザ登録を案内する画面であってもよい。
ユーザ装置10においては、制御部11は、デフォルト画面のHTMLデータを受信すると、デフォルト画面を表示部14に表示させる(S14)。
図12は、デフォルト画面の一例を示す図である。図12に示すように、デフォルト画面70には、ユーザが新たにユーザ登録を行うためのユーザ登録ボタン71が表示される。なお、デフォルト画面70は、図12の例に限られず、サービス提供者のポータルサイトの画面であってもよい。即ち、ユーザが指定したサブドメインが登録データに格納されていなかった場合には、ユーザ装置10をポータルサイトにリダイレクトさせ、ユーザ登録を促すようにしてもよい。
図10に移り、制御部11は、ユーザ登録ボタン71が選択されたか否かを判定する(S15)。ユーザ登録ボタン71が選択されたと判定されない場合(S15;N)、処理は終了する。一方、ユーザ登録ボタン71が選択されたと判定された場合(S15;Y)、制御部11は、登録画面40の表示要求をサーバ装置30に対して送信する(S16)。
サーバ装置30においては、登録画面40の表示要求を受け付けると、制御部31は、登録画面40のHTMLデータをユーザ装置10に送信する(S17)。登録画面40のHTMLデータは、記憶部32に記憶されていてもよいし、記憶部32に記憶されたCGIプログラムが実行されることによって生成されるようにしてもよい。
ユーザ装置10においては、制御部11は、登録画面40を表示部14に表示させる(S18)。登録画面40が表示されると、ユーザにより、ユーザグループ名が入力される他、サブドメインを構成する文字列が入力されたり、サブドメインにアクセスさせるIPアドレスが指定されたりする。当該入力内容は、記憶部12に一時的に記憶される。
制御部11は、ユーザの登録操作に応じて、登録画面40において入力された内容をサーバ装置30に送信する(S19)。
サーバ装置30においては、制御部31は、登録画面40におけるユーザの入力内容を受信する(S20)。制御部31は、S20において受信した内容に基づいてサブドメインを生成してユーザ登録を行い(S21)、本処理は終了する。登録内容に、サブドメインに含める文字列が含まれるので、S21においては、ユーザによる文字列の指定を受け付けることになる。登録データには、上記生成されたサブドメインと、ユーザにより指定されたIPアドレスと、ユーザグループ名と、を少なくとも含むデータが、新たなレコードとして格納される。ユーザ登録が行われると、ユーザグループのサービス環境に、S21において生成されたサブドメインが割り当てられることになり、このユーザグループに所属するユーザは、当該サブドメインに割り当てられたサービス環境でウェブサービスを利用可能になる。
一方、S11において取得されたサブドメインが登録データに格納されている場合(S12;Y)、制御部31は、記憶部32に記憶された登録データを参照し、S9において取得したIPアドレスと、S11において取得されたサブドメインに関連付けられたIPアドレスと、を比較して、ユーザをサブドメインが割り当てられたサービス環境にアクセスさせるか否かを判定する(S22)。S22においては、登録データに格納されたレコードのうち、S11において取得されたサブドメインと一致するレコードが参照される。そして、S9において取得されたIPアドレスが、このレコードに格納されたIPアドレスであるか否かが判定される。S9において取得されたIPアドレスが格納されていた場合、ユーザをサブドメインが割り当てられたサービス環境にアクセスさせると判定される。
ユーザをアクセスさせると判定された場合(S22;Y)、制御部31は、ユーザが指定したサブドメインに関連付けられたサービス環境のログイン画面情報に基づいてログイン画面50のHTMLデータを生成し、ユーザ装置10に送信する(S23)。S23においては、S11において取得されたサブドメインに関連付けられたサービス環境のログイン画面情報が読みだされ、ユーザグループ名を含むログイン画面50のHTMLデータが生成される。
ユーザ装置10においては、ログイン画面50のHTMLデータを受信すると、表示部14にログイン画面50を表示させる(S24)。制御部11は、ユーザによるユーザID及びパスワードの入力を受け付け、SSL通信による暗号化を行ってサーバ装置30に送信する(S25)。
サーバ装置30においては、ユーザID及びパスワードを受信すると、制御部31は、記憶部32に記憶されたユーザID及びパスワードと比較することによって、正当なユーザであるか否かを判定する(S25)。S25においては、S7においてユーザが指定したURLに含まれるサブドメインに関連付けられたユーザID及びパスワードと、S24において表示されたログイン画面50からユーザが入力したユーザID及びパスワードと、が比較されることによってユーザの認証が行われる。即ち、ここでは、サブドメイン毎にユーザID及びパスワードが登録されているので、サーバ装置30に登録された全てのユーザID及びパスワードの組みのうち、ユーザが指定したサブドメインに関連付けられたもののみが比較対象となる。
正当なユーザであると判定された場合(S25;Y)、制御部31は、ユーザが所属するユーザグループ用のサービス利用画面のHTMLデータを生成してユーザ装置10に送信し、サービスの提供を開始する(S26)。
一方、S11において取得されたサブドメインが登録データに格納されていない場合(S22;N)、及び、正当なユーザであると判定されない場合(S25;Y)、制御部31は、エラー画面のHTMLデータをユーザ装置10に送信し(S27)、処理は終了する。
[5.実施形態のまとめ]
以上説明したサービス提供システム1によれば、ユーザグループの管理者が登録画面40において文字列を入力してユーザ登録を行うと、当該文字列を含むサブドメインが自動生成される。ユーザ登録後には、このユーザグループに所属するユーザが、当該サブドメインにアクセスすると、ユーザグループ専用のサービス環境に関連付けられたログイン画面50を表示させることができる。ユーザID及びパスワードが、このログイン画面50から入力されることによって、当該ユーザの認証処理が行われるので、ユーザの立場からすれば、簡易なログイン環境を維持することができる。一方、サービス提供者の立場からすれば、各サブドメインが割り当てられたサービス環境毎に異なるログイン画面を用意してユーザID及びパスワードが管理されているので、ユーザのセキュリティを向上させることができる。
また、サブドメインにアクセス可能なコンピュータのIPアドレスを定めておくことによって、このIPアドレスからアクセスしないと各サービス環境のログイン画面を表示させないように設定することができる。単に、ユーザIDとパスワードのみの認証が行われる場合よりもセキュリティを強化することができる。更に、ユーザグループのサービス環境毎に異なるログイン画面を表示させるので、悪意のある第三者にログイン画面の内容が公開されないので、フィッシングを予防することもできる。
更に、従来のASP(Application Service Provider)業者等は、顧客のサービス環境毎に異なるドメインを割り当ててカスタマイズを行わせることもあるが、この場合には、顧客がユーザ登録を行うたびに新たにドメインを作成する必要があるため、ユーザ登録を行ってからサービスを開始するまでに時間がかかる問題がある。この点、本発明に係るサーバ装置30によれば、ユーザグループのサービス環境毎にサブドメインを生成するので、ドメインを新たに生成する必要がなく、ユーザ登録後すぐにサービスを開始させることができる。
また、実施形態のようにSNIを用いてサブドメインを取得することによって、SSL通信が確立する前に、サブドメインが割り当てられたサービス環境にユーザをアクセスさせるか否かを判定することができる。即ち、あるサブドメインが割り当てられたサービス環境にアクセス要求をしたユーザ装置10が、このサブドメインが割り当てられたサービス環境へのアクセス権限がない場合には、SSL通信の確立前にアクセスを拒否することができる。
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
[6.変形例]
(1)例えば、実施形態においては、ログイン画面50にユーザグループ名を表示させる場合を説明したが、ユーザグループ毎にユーザID入力欄53やパスワード入力欄54等のレイアウトを異ならせるようにしてもよい。即ち、ユーザグループ毎にログイン画面50のレイアウトをカスタマイズさせるようにしてもよい。
変形例(1)におけるログイン画面情報は、ユーザ装置10に表示させるログイン画面50のレイアウトに関する情報を含む。即ち、ログイン画面情報は、ログイン画面50に表示させるべき各種情報のレイアウトを示し、例えば、ログイン画面50に表示させる画像、当該画像の位置、文字のフォントサイズ又は色彩、背景の模様又は色彩、入力フォームの位置又は大きさ(例えば、ユーザID入力欄53及びパスワード入力欄54)に関する情報を含む。
変形例(1)の表示制御部67は、サブドメイン取得部64が取得したサブドメインに関連付けられたログイン画面情報が示すレイアウトに基づいて、ユーザ装置にログイン画面を表示させる。表示制御部67は、サブドメイン取得部64が第1のサブドメインを取得した場合、第1のサブドメインに関連付けられた第1のレイアウトのログイン画面50を表示させ、サブドメイン取得部64が第2のサブドメインを取得した場合、第2のサブドメインに関連付けられた第2のレイアウトのログイン画面50(第1のレイアウトとは異なるレイアウトのログイン画面50)を表示させる。
変形例(1)によれば、ユーザグループが使用するサブドメイン毎にログイン画面50のレイアウトを異ならせることができる。例えば、全ユーザに同じドメインを使用させるような場合には、ログイン画面50のレイアウトも全ユーザで共通するため、悪意のある第三者はログイン画面を真似やすくフィッシングの被害にあいやすいが、変形例(1)では、ユーザグループ毎に異なるレイアウトであるため、悪意のある第三者のURLに誘導されたとしてもレイアウトが異なるのでユーザがフィッシングに気付きやすくなり被害を予防することができる。
(2)また、実施形態においては、サーバ装置30がSSL通信の拡張機能であるSNIを利用してユーザ装置10からサブドメインを取得する場合を例に挙げて説明したが、SNIをサポートしていないウェブブラウザをユーザが使用している場合には、他の方法によってサブドメインが取得されるようにしてもよい。例えば、ユーザ装置10とサーバ装置30とのSSL接続をいったん確立させ、その後のHTTPを利用してユーザ装置10からサブドメインが取得されるようにしてもよい。
変形例(2)のサブドメイン取得部64は、ユーザ装置10とのSSL通信が確立した後において、HTTPを利用してユーザにより指定されたサブドメインを取得する。例えば、サーバ装置30がユーザ装置10からアクセス要求を受け付けた場合、サービス提供者により予め指定されたデフォルトのサブドメイン(デフォルトのURL)にアクセスさせる。当該デフォルトのサブドメインには、IPアドレス制限はかけられていない。即ち、どのコンピュータからアクセスしたとしても、デフォルトのサブドメインにはアクセスすることができる。
サーバ装置30は、デフォルトのサブドメインにアクセスさせて、ユーザ装置10とサーバ装置30とのSSL通信をいったん確立させる。その後、HTTPを利用してユーザ装置10が送信するデータには、ユーザがウェブブラウザで指定したサブドメインが含まれる。即ち、サーバ装置30は、デフォルトのサブドメインを用いてユーザ装置10とのSSL通信を確立させることによって、HTTPを利用してサブドメインを取得することができる。サブドメインが取得された後の処理の流れは実施形態と同様であるので説明を省略する。
変形例(2)によれば、SNIをサポートしていないウェブブラウザをユーザが使用した場合であっても、サーバ装置30がサブドメインを取得することができる。
(3)また例えば、実施形態においては、ユーザが所属するユーザグループのサブドメインにログインしてサービスを開始するまでの流れを説明したが、あるユーザが、ユーザグループAとユーザグループBとの両方に所属する場合、このユーザにサブドメインAとサブドメインBとの両方に同時にログインさせるようにしてもよい。
変形例(3)のサーバ装置30は、ユーザ装置10とのSSL通信が確立した後、ユーザ装置10から受信されるユーザ装置10の識別情報とユーザにより指定されたサブドメインとに基づいて、ユーザ装置10とのセッションを継続させる手段を含む。当該手段は、制御部31を主として実現される。
ユーザ装置10の識別情報は、セッションID等であり、ユーザ装置10から送信されるクッキーに含まれる。ユーザ装置10の識別情報は、例えば、ユーザ装置10とサーバ装置30との接続が完了した場合にサーバ装置30により生成される。当該生成された識別情報は、ユーザ装置10に送信されてウェブブラウザのクッキーに格納されるとともに、記憶部32に記憶される。サーバ装置30は、ユーザ装置10から受信する識別情報と記憶部32に記憶させた識別情報とを比較することになる。
ユーザにより指定されたサブドメインは、SNI又はHTTPを利用して取得される。例えば、サーバ装置30が図9のS11で取得したサブドメインを記憶部32に記憶しておき、その後の通信でユーザ装置10から取得するサブドメインと比較する。サーバ装置30は、ユーザの識別情報とサブドメインとの組み合わせでセッションを管理することになる。
例えば、あるユーザがユーザ装置10を用いてユーザグループAとユーザグループBとのサービスを利用する場合を説明する。サーバ装置30は、ユーザ装置10からこのユーザを識別する情報とサブドメインAを識別する情報とを取得し、この組み合わせが既に記憶部32に記憶されていた場合、当該ユーザ装置10を操作するユーザが、既にユーザグループAのサブドメインAが割り当てられたサービス環境にログイン済みであり、ユーザグループAのサービス環境でサービスを提供可能であると判定する。
一方、サーバ装置30は、ユーザ装置10からこのユーザを識別する情報とサブドメインBを識別する情報とを取得し、この組み合わせが既に記憶部32に記憶されていた場合、当該ユーザ装置10を操作するユーザが、既にユーザグループBのサブドメインBが割り当てられたサービス環境にログイン済みであり、ユーザグループBのサービス環境でサービスを提供可能であると判定する。
変形例(3)によれば、サーバ装置30は、複数のユーザグループに所属するユーザに、これら複数のユーザグループの各々のサブドメインが割り当てられたサービス環境に同時にログインさせることができる。従来の技術では、全ユーザで共通するドメインを使用してウェブサービスを提供するため、変形例(3)のような同時ログインが困難であるが、本発明に係るサーバ装置30では、ユーザグループ毎のサービス環境にサブドメインを割り振っているので、上記のようにして一人のユーザに同時ログインをさせることができる。
(4)また例えば、実施形態においては、ユーザグループによって生成されたサブドメイン毎に、アクセス可能なコンピュータのIPアドレスが指定されている場合を説明したが、必ずしもIPアドレスは指定されていなくてもよい。例えば、あるサブドメインについてはIP制限をかけずにユーザID及びパスワードのみの認証が行われるようにしてもよい。このように、ユーザグループ毎にセキュリティポリシーを異ならせるようにしてもよい。他にも例えば、ユーザグループが利用するサブドメイン毎に、各ユーザが設定しなければならないパスワードの文字数や文字種別が設定されていたり、ユーザ証明書を用いた認証の有無が設定されていたりするようにしてもよい。
(5)また例えば、ユーザ装置10、DNSサーバ20、及びサーバ装置30は、パーソナルコンピュータ等の公知のコンピュータによって実現されるようにすればよく、ユーザ装置10、DNSサーバ20、及びサーバ装置30のハードウェア構成は、上記の例に限られない。また、実施形態において、記憶部12、記憶部22、又は記憶部32に記憶されていることとして説明するプログラムやデータは、例えば、CD−ROM、DVD、フラッシュメモリ等の情報記憶媒体を介して供給されるようにしてもよいし、ネットワークN等の通信手段を介して供給されるようにしてもよい。
1 サービス提供システム、10 ユーザ装置、11 制御部、12 記憶部、13 操作部、14 表示部、15 入力部、16 通信部、20 DNSサーバ、21 制御部、22 記憶部、23 通信部、30 サーバ装置、31 制御部、32 記憶部、33 通信部、40 登録画面、41,43 ラジオボタン、42 プルダウンメニュー、44 文字列入力欄、50,50A,50B ログイン画面、51A,51B URL欄、52A,52B ユーザグループ名、53A,53B ユーザID入力欄、54A,54B パスワード入力欄、55A,55B ログインボタン、60 登録データ記憶部、61 文字列受付部、62 サブドメイン生成部、63 アクセス要求受付部、64 サブドメイン取得部、65 IPアドレス取得部、66 判定部、67 表示制御部、70 デフォルト画面、71 ユーザ登録ボタン、N ネットワーク。

Claims (10)

  1. ユーザ装置とネットワークを介して接続されるサーバ装置であって、
    ユーザによる文字列の指定を受け付ける文字列受付手段と、
    前記サーバ装置に割り当てられたドメインに属するサブドメインとして、前記文字列受付手段が受け付けた文字列を含むサブドメインを生成するサブドメイン生成手段と、
    前記サブドメイン生成手段が生成したサブドメインと、当該サブドメインが割り当てられたサービス環境を利用するユーザグループに所属するユーザのユーザID及びパスワードと、を関連付けて記憶する手段と、
    前記サブドメイン生成手段が生成したサブドメインと、当該サブドメインが割り当てられたサービス環境を利用するユーザグループ専用のログイン画面に関するログイン画面情報と、を関連付けて記憶する手段と、
    前記サブドメイン生成手段が生成したサブドメインがユーザにより指定された場合、前記ユーザ装置によるアクセス要求を受け付けるアクセス要求受付手段と、
    前記アクセス要求受付手段がアクセス要求を受け付けた場合、当該アクセス要求をしたユーザ装置との通信内容に基づいて、前記ユーザにより指定されたサブドメインを取得するサブドメイン取得手段と、
    前記サブドメイン取得手段が取得したサブドメインに関連付けられた前記ログイン画面情報に基づいて、前記アクセス要求をしたユーザ装置に、当該サブドメインが割り当てられたサービス環境を利用するユーザグループ専用のログイン画面を表示させる表示制御手段と、
    前記表示制御手段が表示させたログイン画面において前記ユーザにより入力されたユーザID及びパスワードと、前記サブドメイン取得手段が取得したサブドメインに関連付けられたユーザID及びパスワードと、に基づいて認証を行う認証手段と、
    を含むことを特徴とするサーバ装置。
  2. ユーザ装置とネットワークを介して接続されるサーバ装置であって、
    ユーザによる文字列の指定を受け付ける文字列受付手段と、
    前記サーバ装置に割り当てられたドメインに属するサブドメインとして、前記文字列受付手段が受け付けた文字列を含むサブドメインを生成するサブドメイン生成手段と、
    前記サブドメイン生成手段が生成したサブドメインと、当該サブドメインが割り当てられたサービス環境のログイン画面に関するログイン画面情報と、を関連付けて記憶する手段と、
    前記サブドメイン生成手段が生成したサブドメインがユーザにより指定された場合、前記ユーザ装置によるアクセス要求を受け付けるアクセス要求受付手段と、
    前記アクセス要求受付手段がアクセス要求を受け付けた場合、当該アクセス要求をしたユーザ装置との通信内容に基づいて、前記ユーザにより指定されたサブドメインを取得するサブドメイン取得手段と、
    前記サブドメイン生成手段が生成したサブドメインと、当該サブドメインが割り当てられたサービス環境へのアクセスを許可するコンピュータのIPアドレスと、を関連付けて記憶する手段と、
    前記アクセス要求受付手段がアクセス要求を受け付けた場合、当該アクセス要求をしたユーザ装置との通信内容に基づいて、当該ユーザ装置のIPアドレスを取得するIPアドレス取得手段と、
    前記サブドメイン取得手段が取得したサブドメインに関連付けられたIPアドレスと、前記IPアドレス取得手段が取得したIPアドレスと、を比較することによって、前記アクセス要求をした前記ユーザ装置を当該サブドメインが割り当てられたサービス環境にアクセスさせるか否かを判定する判定手段と、
    前記判定手段が前記サブドメインにアクセスさせると判定した場合、前記サブドメイン取得手段が取得したサブドメインに関連付けられた前記ログイン画面情報に基づいて、前記アクセス要求をしたユーザ装置にログイン画面を表示させる表示制御手段と、
    を含むことを特徴とするサーバ装置。
  3. ユーザ装置とネットワークを介して接続され、SSL通信によって前記ユーザ装置と暗号化通信を行うサーバ装置であって、
    ユーザによる文字列の指定を受け付ける文字列受付手段と、
    前記サーバ装置に割り当てられたドメインに属するサブドメインとして、前記文字列受付手段が受け付けた文字列を含むサブドメインを生成するサブドメイン生成手段と、
    前記サブドメイン生成手段が生成したサブドメインと、当該サブドメインが割り当てられたサービス環境のログイン画面に関するログイン画面情報と、を関連付けて記憶する手段と、
    前記サブドメイン生成手段が生成したサブドメインがユーザにより指定された場合、前記ユーザ装置によるアクセス要求を受け付けるアクセス要求受付手段と、
    前記アクセス要求受付手段がアクセス要求を受け付けた場合、SSL通信の拡張機能であるSNI(Server Name Indication)を利用して、当該アクセス要求をしたユーザ装置とのSSL通信の確立前に、前記ユーザにより指定されたサブドメインを取得するサブドメイン取得手段と、
    前記サブドメイン取得手段が取得したサブドメインに関連付けられた前記ログイン画面情報に基づいて、前記アクセス要求をしたユーザ装置にログイン画面を表示させる表示制御手段と、
    を含むことを特徴とするサーバ装置。
  4. ユーザ装置とネットワークを介して接続され、SSL通信によって前記ユーザ装置と暗号化通信を行うサーバ装置であって、
    ユーザによる文字列の指定を受け付ける文字列受付手段と、
    前記サーバ装置に割り当てられたドメインに属するサブドメインとして、前記文字列受付手段が受け付けた文字列を含むサブドメインを生成するサブドメイン生成手段と、
    前記サブドメイン生成手段が生成したサブドメインと、当該サブドメインが割り当てられたサービス環境のログイン画面に関するログイン画面情報と、を関連付けて記憶する手段と、
    前記サブドメイン生成手段が生成したサブドメインがユーザにより指定された場合、前記ユーザ装置によるアクセス要求を受け付けるアクセス要求受付手段と、
    前記アクセス要求受付手段がアクセス要求を受け付けた場合、当該アクセス要求をしたユーザ装置とのSSL通信が確立した後において、HTTPを利用して前記ユーザにより指定されたサブドメインを取得するサブドメイン取得手段と、
    前記サブドメイン取得手段が取得したサブドメインに関連付けられた前記ログイン画面情報に基づいて、前記アクセス要求をしたユーザ装置にログイン画面を表示させる表示制御手段と、
    を含むことを特徴とするサーバ装置。
  5. 前記サーバ装置は、
    前記ユーザ装置とのSSL通信が確立した後、前記ユーザ装置から受信される前記ユーザ装置の識別情報と前記ユーザにより指定されたサブドメインとに基づいて、前記ユーザ装置とのセッションを継続させる手段、
    を更に含むことを特徴とする請求項3又は4に記載のサーバ装置。
  6. 前記ログイン画面情報は、前記ログイン画面のレイアウトに関する情報を含み、
    前記表示制御手段は、前記サブドメイン取得手段が取得したサブドメインに関連付けられた前記ログイン画面情報が示すレイアウトに基づいて、前記ユーザ装置にログイン画面を表示させる、
    ことを特徴とする請求項1〜5の何れか一項に記載のサーバ装置。
  7. ユーザ装置とネットワークを介して接続されるサーバ装置の制御方法であって、
    ユーザによる文字列の指定を受け付ける文字列受付ステップと、
    前記サーバ装置に割り当てられたドメインに属するサブドメインとして、前記文字列受付ステップにおいて受け付けられた文字列を含むサブドメインを生成するサブドメイン生成ステップと、
    前記サブドメイン生成ステップにおいて生成されたサブドメインと、当該サブドメインが割り当てられたサービス環境を利用するユーザグループに所属するユーザのユーザID及びパスワードと、を関連付けて記憶する手段の記憶内容を読み出すステップと、
    前記サブドメイン生成ステップにおいて生成されたサブドメインと、当該サブドメインが割り当てられたサービス環境を利用するユーザグループ専用のログイン画面に関するログイン画面情報と、を関連付けて記憶する手段の記憶内容を読み出すステップと、
    前記サブドメイン生成ステップにおいて生成されたサブドメインがユーザにより指定された場合、前記ユーザ装置によるアクセス要求を受け付けるアクセス要求受付ステップと、
    前記アクセス要求受付ステップにおいてアクセス要求が受け付けられた場合、当該アクセス要求をしたユーザ装置との通信内容に基づいて、前記ユーザにより指定されたサブドメインを取得するサブドメイン取得ステップと、
    前記サブドメイン取得ステップにおいて取得されたサブドメインに関連付けられた前記ログイン画面情報に基づいて、前記アクセス要求をしたユーザ装置に、当該サブドメインが割り当てられたサービス環境を利用するユーザグループ専用のログイン画面を表示させる表示制御ステップと、
    前記表示制御ステップにおいて表示されたログイン画面において前記ユーザにより入力されたユーザID及びパスワードと、前記サブドメイン取得ステップにおいて取得されたサブドメインに関連付けられたユーザID及びパスワードと、に基づいて認証を行う認証ステップと、
    を含むことを特徴とするサーバ装置の制御方法。
  8. ユーザ装置とネットワークを介して接続されるサーバ装置の制御方法であって、
    ユーザによる文字列の指定を受け付ける文字列受付ステップと、
    前記サーバ装置に割り当てられたドメインに属するサブドメインとして、前記文字列受付ステップにおいて受け付けられた文字列を含むサブドメインを生成するサブドメイン生成ステップと、
    前記サブドメイン生成ステップにおいて生成されたサブドメインと、当該サブドメインが割り当てられたサービス環境のログイン画面に関するログイン画面情報と、を関連付けて記憶する手段の記憶内容を読み出すステップと、
    前記サブドメイン生成ステップにおいて生成されたサブドメインがユーザにより指定された場合、前記ユーザ装置によるアクセス要求を受け付けるアクセス要求受付ステップと、
    前記アクセス要求受付ステップにおいてアクセス要求を受け付けられた場合、当該アクセス要求をしたユーザ装置との通信内容に基づいて、前記ユーザにより指定されたサブドメインを取得するサブドメイン取得ステップと、
    前記サブドメイン生成ステップにおいて生成されたサブドメインと、当該サブドメインが割り当てられたサービス環境へのアクセスを許可するコンピュータのIPアドレスと、を関連付けて記憶する手段の記憶内容を読み出すステップと、
    前記アクセス要求受付ステップにおいてアクセス要求が受け付けられた場合、当該アクセス要求をしたユーザ装置との通信内容に基づいて、当該ユーザ装置のIPアドレスを取得するIPアドレス取得ステップと、
    前記サブドメイン取得ステップにおいて取得されたサブドメインに関連付けられたIPアドレスと、前記IPアドレス取得ステップにおいて取得されたIPアドレスと、を比較することによって、前記アクセス要求をした前記ユーザ装置を当該サブドメインが割り当てられたサービス環境にアクセスさせるか否かを判定する判定ステップと、
    前記判定ステップにおいて前記サブドメインにアクセスさせると判定された場合、前記サブドメイン取得ステップにおいて取得されたサブドメインに関連付けられた前記ログイン画面情報に基づいて、前記アクセス要求をしたユーザ装置にログイン画面を表示させる表示制御ステップと、
    を含むことを特徴とするサーバ装置の制御方法。
  9. ユーザ装置とネットワークを介して接続され、SSL通信によって前記ユーザ装置と暗号化通信を行うサーバ装置の制御方法であって、
    ユーザによる文字列の指定を受け付ける文字列受付ステップと、
    前記サーバ装置に割り当てられたドメインに属するサブドメインとして、前記文字列受付ステップにおいて受け付けられた文字列を含むサブドメインを生成するサブドメイン生成ステップと、
    前記サブドメイン生成ステップにおいて生成されたサブドメインと、当該サブドメインが割り当てられたサービス環境のログイン画面に関するログイン画面情報と、を関連付けて記憶する手段の記憶内容を読み出すステップと、
    前記サブドメイン生成ステップにおいて生成されたサブドメインがユーザにより指定された場合、前記ユーザ装置によるアクセス要求を受け付けるアクセス要求受付ステップと、
    前記アクセス要求受付ステップにおいてアクセス要求が受け付けられた場合、SSL通信の拡張機能であるSNI(Server Name Indication)を利用して、当該アクセス要求をしたユーザ装置とのSSL通信の確立前に、前記ユーザにより指定されたサブドメインを取得するサブドメイン取得ステップと、
    前記サブドメイン取得ステップにおいて取得されたサブドメインに関連付けられた前記ログイン画面情報に基づいて、前記アクセス要求をしたユーザ装置にログイン画面を表示させる表示制御ステップと、
    を含むことを特徴とするサーバ装置の制御方法。
  10. ユーザ装置とネットワークを介して接続され、SSL通信によって前記ユーザ装置と暗号化通信を行うサーバ装置の制御方法であって、
    ユーザによる文字列の指定を受け付ける文字列受付ステップと、
    前記サーバ装置に割り当てられたドメインに属するサブドメインとして、前記文字列受付ステップにおいて受け付けられた文字列を含むサブドメインを生成するサブドメイン生成ステップと、
    前記サブドメイン生成ステップにおいて生成されたサブドメインと、当該サブドメインが割り当てられたサービス環境のログイン画面に関するログイン画面情報と、を関連付けて記憶する手段の記憶内容を読み出すステップと、
    前記サブドメイン生成ステップにおいて生成されたサブドメインがユーザにより指定された場合、前記ユーザ装置によるアクセス要求を受け付けるアクセス要求受付ステップと、
    前記アクセス要求受付ステップにおいてアクセス要求が受け付けられた場合、当該アクセス要求をしたユーザ装置とのSSL通信が確立した後において、HTTPを利用して前記ユーザにより指定されたサブドメインを取得するサブドメイン取得ステップと、
    前記サブドメイン取得ステップにおいて取得されたサブドメインに関連付けられた前記ログイン画面情報に基づいて、前記アクセス要求をしたユーザ装置にログイン画面を表示させる表示制御ステップと、
    を含むことを特徴とするサーバ装置の制御方法。
JP2011242831A 2011-11-04 2011-11-04 サーバ装置及びサーバ装置の制御方法 Active JP5863398B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011242831A JP5863398B2 (ja) 2011-11-04 2011-11-04 サーバ装置及びサーバ装置の制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011242831A JP5863398B2 (ja) 2011-11-04 2011-11-04 サーバ装置及びサーバ装置の制御方法

Publications (2)

Publication Number Publication Date
JP2013097741A JP2013097741A (ja) 2013-05-20
JP5863398B2 true JP5863398B2 (ja) 2016-02-16

Family

ID=48619578

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011242831A Active JP5863398B2 (ja) 2011-11-04 2011-11-04 サーバ装置及びサーバ装置の制御方法

Country Status (1)

Country Link
JP (1) JP5863398B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004355338A (ja) * 2003-05-29 2004-12-16 Ssi Corp ホームページ公開サーバ装置、ホームページを利用した情報提供方法、およびサーバ装置用プログラム
JP2007094466A (ja) * 2005-09-27 2007-04-12 Cns:Kk 負荷分散システムおよび方法並びにプログラム
JP2007094465A (ja) * 2005-09-27 2007-04-12 Cns:Kk 負荷分散システムおよび方法並びにプログラム
JP2008065680A (ja) * 2006-09-08 2008-03-21 Ill Inc 求人情報管理方法、求人情報管理装置、求人情報管理プログラムおよび求人情報管理システム
JP5146088B2 (ja) * 2008-05-02 2013-02-20 富士通株式会社 ウェブ情報中継方法及び装置

Also Published As

Publication number Publication date
JP2013097741A (ja) 2013-05-20

Similar Documents

Publication Publication Date Title
US8474030B2 (en) User authentication system using IP address and method thereof
JP4782986B2 (ja) パブリックキー暗号法を用いたインターネット上でのシングルサインオン
US8881248B2 (en) Service provider access
US11082225B2 (en) Information processing system and control method therefor
JP4551369B2 (ja) サービスシステムおよびサービスシステム制御方法
CN101331731B (zh) 由身份提供商对联盟内的客户进行定制认证的方法、装置和程序产品
JP4579546B2 (ja) 単一サインオンサービスにおけるユーザ識別子の取り扱い方法及び装置
US20090013063A1 (en) Method for enabling internet access to information hosted on csd
KR101177456B1 (ko) 서버를 통한 사용자 인증 방법 및 이를 이용한화상형성장치
CN109428891A (zh) 权限转移系统及其控制方法和客户端
JP2005538434A (ja) 連携型(フェデレーテッド)環境におけるユーザ判定による認証のための方法およびシステム
EP2540051A1 (en) Method for managing access to protected resources and delegating authority in a computer network
KR20040005815A (ko) 사용자를 웹 서버에 인증시키기 위한 시스템 및 방법
GB2448396A (en) Managing user digital identities through a single interface
JP7047322B2 (ja) 情報処理装置、情報処理システム及びプログラム
JP2022144003A (ja) 情報処理装置及び情報処理プログラム
JP4932154B2 (ja) アイデンティティ管理ネットワークにおいてユーザーの認証をメンバーサイトに与える方法及びシステム、アイデンティティ管理ネットワークに属するホームサイトでユーザーの認証を行う方法、コンピュータ読み取り可能な媒体、ならびに、階層的分散アイデンティティ管理のためのシステム
JP4551367B2 (ja) サービスシステムおよびサービスシステム制御方法
JP5252721B2 (ja) 情報提供サーバ
JP2009093580A (ja) ユーザ認証システム
JP5863398B2 (ja) サーバ装置及びサーバ装置の制御方法
JP2006235743A (ja) アクセス制御装置、アクセス制御方法およびプログラム
JP7043480B2 (ja) 情報処理システムと、その制御方法とプログラム
JP4979672B2 (ja) 表示機能を備えたルータ及びこのルータを利用したシステム
JP2007272689A (ja) オンラインストレージ認証システム、オンラインストレージ認証方法、及びオンラインストレージ認証プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140925

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150901

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151102

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151222

R150 Certificate of patent or registration of utility model

Ref document number: 5863398

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250