以下、ログイン中継サーバ装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態)
図1は、本実施の形態におけるログイン中継サーバ装置を備えた情報処理システムの一例を示すブロック図である。
情報処理システム1000は、ログイン中継サーバ装置1と、1または2以上のユーザ端末2と、1または2以上のサーバ装置3と、1または2以上の管理用サーバ装置4とを備えている。、ログイン中継サーバ装置1と、1または2以上のユーザ端末2と、1または2以上のサーバ装置3と、1または2以上の管理用サーバ装置4とは、情報等の送受信が可能となるよう、無線や有線のネットワークや通信回線等により接続されている。なお、ここでは、説明のため、ユーザ端末2と、サーバ装置3と、管理用サーバ装置4とをそれぞれ一つずつ備えている場合を例に挙げて示しているが、それぞれは複数であっても良い。
ログイン中継サーバ装置1は、受信部101、第三パスワード格納部102、第二パスワード取得部103、送信部104、更新部105、操作関連情報格納部106、処理実行部107を備える。
処理実行部107は、管理送信手段1071、管理受信手段1072、許可出力手段1073を備える。
ログイン中継サーバ装置1は、例えば、ユーザ端末2のユーザが、サーバ装置3にログインする際に利用されるサーバ装置である。例えば、ログイン中継サーバ装置1は、サーバ装置3にログインするためのパスワードを取得し、このパスワードを用いてユーザ端末2のためにログインを行う装置である。また、ログイン中継サーバ装置1は、例えば、ユーザ端末2のユーザが、サーバ装置3にアクセスする際に利用される。例えば、ユーザ端末2は、ログイン中継サーバ装置1を介して、サーバ装置3にアクセスを行う。ログイン中継サーバ装置1は、例えば、サーバ装置3を利用するための、いわゆるポータルサイト等を提供する装置である。
受信部101は、ユーザ端末2から送信される情報を受信する。受信部101は、ユーザ識別子と、第一パスワードとの対を、ユーザ端末2から受信する。ユーザ識別子は、ユーザの識別子であり、ユーザを識別可能な情報であればどのような情報であっても良い。ユーザ識別子は、例えば、ユーザ名や、ユーザのアカウント等である。第一パスワードの文字数等は問わない。ユーザ識別子は、例えば、サーバ装置3にログインする際に用いられるユーザのログイン用識別子(以下、ログインIDと称す)である。ユーザ識別子は、サーバ装置3にログインするために、ログイン中継サーバ装置1に対して一のユーザ端末2から入力(送信)されるログインIDと考えてもよい。
第一パスワードは、ユーザ識別子と対応づけられたパスワードである。具体的には、第一パスワードは、サーバ装置3にログインするために、ログイン中継サーバ装置1に対して一のユーザ端末2から入力(送信)されるパスワードである。第一パスワードは、例えば、1または2以上の任意の文字列である。ここでの文字列は、数字等も含む概念である。かかることは、以下の他のパスワードについても同様である。
例えば、受信部101は、操作情報をユーザ端末2から受信する。操作情報は、ユーザの操作に関する情報である。操作情報は、操作によって入力された情報であっても良いし、操作自体を示す情報、例えば、入力デバイス等の動きを示す情報等であっても良い。例えば、操作情報として、ユーザがマウスやキーボード等を用いてユーザ端末2に対して行った操作を示す情報をユーザ端末2から受信しても良い。この操作を示す情報は、例えば、カーソルやポインタ等の位置や軌跡を示す座標等情報や、マウスクリック等のイベントの情報や、マウスやキーボードで入力された文字列や図形等の情報や、ユーザが操作したキーの種類等を示す情報である。操作情報は、例えば、ログイン中継サーバ装置1を介してサーバ装置3に送信される情報や命令、クエリ等であってもよい。また、例えば、上述したようなユーザ識別子や第一パスワードや、これらを入力する操作を示す情報も操作情報と考えてよい。受信部101は、ユーザ識別子と、第一パスワードとの対以外の操作情報を受信してもよい。なお、操作情報は、これらに対応した時刻の情報等を有していても良い。
なお、ユーザがサーバ装置3からログアウトしている状態においては、ログイン中継サーバ装置1のいずれの格納部にも、ユーザ識別子と、このユーザ識別子と対応づけられた第一パスワードとの対が格納されていないようにすることが好ましい。このようにすることで、第三者が、ログイン中継サーバ装置1に侵入したとしても、ユーザの第一パスワードを取得することができないようにすることができる。ここでのログアウトしている状態は、例えば、ログインしている状態以外の状態と考えてもよいし、ログインしている状態と、ログインの直前及びログアウトの直後の状態の少なくとも一方と、を除外した状態と考えてもよい。
また、受信部101は、サーバ装置3からログイン中継サーバ装置1に送信された情報を、適宜、受信しても良い。
受信部101は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。受信部101は、通信デバイスを含むと考えても、含まないと考えても良い。
第三パスワード格納部102には、1または2以上の第三パスワードが格納される。第三パスワードは、受信部101が受信した第一パスワードを用いて、第二パスワードを取得するために用いられる情報である。第三パスワードは、1または2以上の文字列である。第三パスワードは、例えば、ランダムに作成されたパスワードであっても良い。第一パスワードを用いて、第二パスワードを取得する処理については後述する。
第三パスワード格納部102には、例えば、複数のユーザ識別子とそれぞれ対応づけられた複数の第三パスワードが格納されている。複数の第三パスワードは、異なるものであることが好ましい。なお、ここでの異なる複数の第三パスワードとは、複数の第三パスワードのうちの一部が重複したものであっても良く、重複がないものであっても良い。
以下、本実施の形態においては、第三パスワード格納部102に、複数のユーザ識別子とそれぞれ対応づけられた複数の第三パスワードが格納されている場合を例に挙げて説明する。
ただし、第三パスワード格納部102には、一の第三パスワードのみが格納されていても良い。
第三パスワード格納部102は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。かかることは、他の格納部においても同様である。
第二パスワード取得部103は、受信部101が受信した第一パスワードを用いて第二パスワードを取得する。第二パスワードは、受信部101が受信した第一パスワードと対をなすユーザ識別子に対応づけられたパスワードである。第一パスワードと対をなすユーザ識別子とは、例えば、第一パスワードとともに受信したユーザ識別子である。第二パスワードは、サーバ装置3にログインするためのパスワードである。具体的には、第一パスワードを用いて取得された第二パスワードと、この第一パスワードと対をなすユーザ識別子との組み合わせを用いて、サーバ装置3に対してログインが行われる。
第一パスワードと、この第一パスワードを用いて取得される第二パスワードとは、通常異なるものとなるようする。また、第二パスワード取得部103は、例えば、異なる第一パスワードについてそれぞれ取得される第二パスワード同士が、異なるものとなるように第二パスワードを取得する。
第二パスワード取得部103は、例えば、第一パスワードと、第三パスワード格納部102に格納されている第三パスワードとを用いて第二パスワードを取得する。例えば、第二パスワード取得部103は、第一パスワードと、第三パスワード格納部102にユーザ識別子と対応づけらて格納されている第三パスワードとを用いて第二パスワードを取得する。例えば、第二パスワード取得部103は、受信部101が受信したユーザ識別子に対応する第三パスワードを第三パスワード格納部102から取得し、第三パスワードと、受信部101が受信した第一パスワードとを用いて第二パスワードを取得する。ここでの受信部101が受信した第一パスワードは、第三パスワードを取得する際に用いたユーザ識別子と対をなす第一パスワードである。
第二パスワード取得部103が、第一パスワードと第三パスワードとを用いてどのように第二パスワードを取得するかは問わない。例えば、第二パスワード取得部103は、受信部101が受信した第一パスワードの前後に、第三パスワード格納部102から取得した第二パスワードを配置して得られた文字列を、第二パスワードとして取得する。また、受信部101が受信した第一パスワードを構成する文字列のうちの1または2以上の文字の前後に、第三パスワード格納部102から取得した第三パスワードを構成する文字を、予め指定されたルール等に従って配置して得られた文字列を、第二パスワードとして取得する。また、第一パスワードが数字列であり、第二パスワードが数字列である場合、数字列の同じ配列順の数字同士に対して予め指定された四則演算等の演算を行い、取得された数字、あるいは取得された数字のうちの一桁目等の数字で構成される数字列を第三パスワードとして取得しても良い。
第二パスワード取得部103は、第一パスワードと、第三パスワードとの組み合わせが一定である場合に取得される第二パスワードが一定となるよう第二パスワードを取得することが好ましい。
なお、上記においては、ユーザ識別子と対応づけられた第三パスワードを取得し、この第三パスワードとユーザ識別子と対をなす第一パスワードとを用いて、第二パスワードを取得するようにしたが、第二パスワード取得部103は、ユーザ識別子に関係なく、予め指定された1または2以上の第三パスワードを第三パスワード格納部102から取得し、この第三パスワードと第一パスワードとを用いて第二パスワードを取得するようにしても良い。例えば、第三パスワード格納部102にユーザ識別子と対応づけられていない1以上の第三パスワード、あるいはユーザ識別子に共通の1以上の第三パスワードを格納しておくようにし、この1以上の第三パスワードを用いて、第二パスワードを取得するようにしてもよい。この場合の第一パスワードと第三パスワードとを用いて第二パスワードを取得する処理としては、例えば、上述したユーザ識別子と対応づけられた第三パスワードを第三パスワード格納部102から取得して第二パスワードを取得する場合と同様の処理が利用可能である。なお、この場合、第三パスワードをユーザ識別子と対応づけて第三パスワード格納部103に蓄積しなくてよい。
また、上記においては、第三パスワードを用いて、第二パスワードを取得する例について説明したが、本発明においては、第二パスワード取得部103が第一パスワードを用いてどのように第二パスワードを取得するかは問わない。
例えば、第二パスワード取得部103は、予め指定されたハッシュ関数等の関数や演算式等を用いて第一パスワードから取得した値を、第二パスワードとして取得するようにしてもよい。例えば、第一パスワードから予め指定されたハッシュ関数を用いて取得したハッシュ値を、第二パスワードとして取得しても良い。ここで利用する予め指定されたハッシュ関数等の関数や演算式等は、上述した第三パスワードと同様に、ユーザ識別子と対応づけられた関数や演算式等であっても良いし、ユーザ識別子に関係なく予め指定されている関数や演算式等であってもよい。このような関数や演算式は、例えば、図示しない格納部等に予め蓄積しておくようにすればよい。また、このような関数や演算式は、関数や演算式を用いた演算を実行するアルゴリズム等と考えてもよい。なお、第三パスワードを利用しない場合、第三パスワード格納部103は設けないようにしても良い。
なお、後述する更新部105が第三パスワード格納部102に格納されている第三パスワードを更新した場合、第二パスワード取得部103は、例えば、更新部105が更新した第三パスワードを用いて、更新用の第二パスワードを取得する。
また、第二パスワード取得部103は、後述する処理実行部107の管理受信手段1072がログインの許可を示す情報を受信した場合に、第二パスワードを取得するようにしてもよい。管理受信手段1072がログインの許可を受信した場合とは、後述する許可出力手段1073が第二パスワードとユーザ識別子との対をサーバ装置3に送信する許可を出力した場合と考えてもよい。
第二パスワード取得部103は、通常、MPUやメモリ等から実現され得る。第二パスワード取得部103の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
送信部104は、第二パスワード取得部103が取得した第二パスワードと、受信部101が受信したユーザ識別子との対を、ログイン情報としてサーバ装置に送信する。送信部104が送信するユーザ識別子は、第二パスワードを取得する際に用いられた第一パスワードと対をなすユーザ識別子である。ログイン情報とは、サーバ装置3にログインするための情報であり、サーバ装置3にログインする際に用いられる情報である。ログイン情報は、例えば、ログインのための認証処理に利用される情報である。ログイン情報は、例えば、サーバ装置3のログインの際にサーバ装置3に対して入力される情報であり、具体的には、ログイン用のユーザ識別子とパスワードとの組である。例えば、ログイン情報は、サーバ装置3にログインする際に、ユーザ識別子とパスワードとをそれぞれ入力するための入力フィールド(図示せず)等に入力されるユーザ識別子とパスワードとの組である。例えば、送信部104は、ユーザ識別子をログイン時に用いられるユーザ識別子として、また、第二パスワードをログイン時に用いられるパスワードとして送信する。送信部104は、例えば、ユーザ識別子と第二パスワードとに、ログイン情報のユーザ識別子とパスワードとであることを示す情報を対応づけて、サーバ装置3に送信しても良い。また、送信部104は、例えば、ユーザ識別子と第二パスワードとを、ログインのためのユーザ識別子とパスワードとして用いることを指示する情報と対応づけてサーバ装置3に送信しても良い。また、送信部104は、更に、送信したログイン情報を用いて、ログインのための認証処理を実行させる指示等を有していても良い。
なお、後述する更新部105が第三パスワード格納部102に格納されている第三パスワードを更新した場合、送信部104は、例えば、第二パスワード取得部103が取得した更新用の第二パスワードと、更新部105が更新した第三パスワードに対応するユーザ識別子とを有する情報を、ログインに用いられる情報を更新するための情報として、サーバ装置3に送信するようにしてもよい。ログインに用いられる情報とは、例えば、ログインの可否を判断するための情報である。ログインに用いられる情報とは、例えば、ログイン情報について認証を行うための認証情報である。ログインに用いられる情報とは、例えば、ログイン情報に対応した情報であって、サーバ装置3が有する情報である。
また、送信部104は、後述する処理実行部107の管理受信手段1072がログインの許可を示す情報を受信した場合に、第二パスワードとユーザ識別子との対をサーバ装置3に送信するようにしてもよい。管理受信手段1072がログインの許可を受信した場合とは、後述する許可出力手段1073が第二パスワードとユーザ識別子との対をサーバ装置3に送信する許可を出力した場合と考えてもよい。管理受信手段1072がログインの許可を示す情報を受信していない場合、あるいは、許可出力手段1073が許可を出力しない場合には、送信部104は、例えば、第二パスワードとユーザ識別子との対をサーバ装置3に送信しないようにしてよい。なお、後述する許可出力手段1073が第二パスワードとユーザ識別子との対をサーバ装置3に送信する許可を出力するまで、第二パスワード取得部103が第二パスワードを取得していない場合、後述する許可出力手段1073が第二パスワードとユーザ識別子との対をサーバ装置3に送信する許可を出力した場合に、第二パスワード取得部103が、第二パスワードを取得するようにし、その後に、取得した第二パスワードとユーザ識別子との対を送信部104が送信するようにしても良い。
なお、送信部104は、第二パスワードとユーザ識別子との対以外、即ちログイン情報以外の情報を、サーバ装置3に送信しても良い。例えば、送信部104は、受信部101が受信した情報、例えば、操作情報や、サーバ装置3に書き込む情報や、サーバ装置3に処理を実行させる指示等の情報を、サーバ装置3に送信しても良い。
また、送信部104は、サーバ装置3からログイン中継サーバ装置1が受信した情報等を、適宜、ユーザ端末2に送信しても良い。また、送信部104は、操作関連情報格納部106に格納されている操作情報を、ユーザ端末2や、管理用サーバ装置4等に送信するようにしてもよい。
送信部104は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。送信部104は、通信デバイスを含むと考えても、含まないと考えても良い。
更新部105は、第三パスワード格納部102に格納されている第三パスワードを更新する。更新部105は、例えば、第二パスワード取得部103が第二パスワードを取得した後に、第三パスワード格納部102に格納されている第三パスワードを更新する。例えば、更新部105は、第二パスワード取得部103が第二パスワードを取得した直後に、第三パスワードを更新してもよい。また、更新部105は、ユーザがサーバ装置3からログアウトする直前、または直後に、第三パスワードを更新してもよい。
例えば、ユーザ識別子と対応づけて第三パスワードが第三パスワード格納部102に格納されている場合、更新部105は、受信部101が受信したユーザ識別子に対応づけられた第三パスワードを用いて、この取得した第二パスワードに対応する第三パスワードを更新する。取得した第二パスワードに対応する第三パスワードとは、この第二パスワードを取得する際に用いられた第三パスワードであり、受信部101が受信したユーザ識別子と対応づけられて第三パスワード格納部102に格納されている第三パスワードである。
更新部105は、どのように第三パスワードを更新しても良い。例えば、ランダムに取得された第三パスワードで、既存の第三パスワードを更新しても良い。また、予め指定されたルールで取得した更新用の第三パスワードで、既存の第三パスワードを更新しても良い。例えば、複数のユーザ識別子に対応づけられている複数の第三パスワードから、現在の第三パスワードとは異なる第三パスワードをランダムに取得して、取得した第三パスワードで、パスワードを更新しても良い。また、更新部105は、現在の第三パスワードの任意の1以上の文字を、ランダムな1以上の文字で置き換えることで、第三パスワードを更新しても良い。ここでの更新は上書きや置換等である。
なお、送信部104が上記以外のタイミングで更新を行うようにしてもよい。
更新部105は、通常、MPUやメモリ等から実現され得る。更新部105の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
操作関連情報格納部106には、操作情報に関連する操作関連情報が格納される。例えば、操作関連情報格納部106には、操作関連情報が操作を行ったユーザのユーザ識別子と対応づけられて格納される。また、操作関連情報格納部106には、例えば、操作関連情報が、この操作関連情報に対応する操作情報を受信した時刻等と対応づけて格納される。操作関連情報については後述する。操作情報については、上述しているため、ここでは説明は省略する。
操作関連情報格納部106は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
処理実行部107は、受信部101が受信した情報に応じて、予め指定された処理を実行する。処理実行部107は、予め指定された処理として、どのような処理を実行しても良い。
受信した情報に応じて処理を実行するということは、例えば、受信した情報を用いて処理を実行することであっても良いし、情報の受信をトリガーとして処理を実行することであっても良い。
例えば、処理実行部107は、受信部101が受信したユーザ識別子が、サーバ装置3に対するログインが許可されているユーザ識別子であるか否かを判断する処理を、予め指定された処理として実行する。例えば、処理実行部107は、受信部101が受信したユーザ識別子を予め指定された管理用サーバ装置4に送信し、この管理用サーバ装置4からログインの許可を示す情報を受信する処理を、予め指定された処理として実行する。なお、ログインの許可を示す情報を受信することを、ログインが許可されているユーザ識別子であると判断することと考えてもよい。処理実行部107は、管理送信手段1071と、管理受信手段1072と、許可出力手段1073等を用いて、予め指定された処理を行う。例えば、処理実行部107は、管理送信手段1071と、管理受信手段1072と、を用いて、このようなログインの許可を示す情報を受信する処理を行う。更に、処理実行部107は、ログインの許可を示す情報を受信した場合に、許可出力手段1073を用いて、第二パスワードを用いたログインを行う許可等を第二パスワード取得部103や送信部104等に出力するようにしてもよい。
また、例えば、処理実行部107は、操作関連情報を取得して操作関連情報格納部106に蓄積する処理を、予め指定された処理として実行する。操作関連情報は、受信部101が受信した操作情報に関する情報である。操作関連情報は、例えば、操作情報自身やその一部を有するものであってもよく、操作情報の名称や、操作情報に割り当てられたコード等の、操作情報が示す操作の属性を判別可能な情報であってもよい。操作の属性とは、例えば、操作の内容や概要等である。また、操作関連情報は、操作対象となる情報や、操作に用いられた情報等を有していても良い。例えば、操作関連情報は、操作情報が有する命令名等であってもよい。
例えば、処理実行部107は、受信した操作情報に関する操作関連情報を、ユーザ識別子や、操作情報の受信日時を示す情報と対応づけて、操作関連情報格納部106に蓄積してもよい。
なお、処理実行部107が、ログインが許可されているか否かの判断を行う処理と、操作情報を蓄積する処理との両方を行うようにしてもよいし、いずれか一方のみを行うようにしてもよい。なお、操作関連情報を蓄積する処理を実行しない場合、操作関連情報格納部106は省略しても良い。また、ログインが許可されているか否かの判断処理を行わない場合、後述する管理送信手段1071、管理受信手段1072、及び許可出力手段1073は、省略しても良い。
処理実行部107は、例えば、MPUやメモリ等から実現され得る。処理実行部107の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
管理送信手段1071は、受信部101が受信したユーザ識別子を、予め指定された管理用サーバ装置4に送信する。管理送信手段1071は、ユーザ識別子に加えて、他の情報、例えば、ユーザ識別子と対をなす第一パスワード等を、予め指定された管理用サーバ装置4に送信してもよい。管理送信手段1071は、受信部101がユーザ識別子と第二パスワードとを受信した後であって、送信部104がユーザ識別子と第二パスワードとをサーバ装置3に送信する前に、好ましくは、第二パスワード取得部103が第二パスワードを取得する前に、ユーザ識別子を送信する。
管理送信手段1071は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。管理送信手段1071は、通信デバイスを含むと考えても、含まないと考えても良い。
管理受信手段1072は、管理送信手段1071が送信したユーザ識別子について、サーバ装置3に対するログインの許可を示す情報を管理用サーバ装置4から受信する。ログインの許可を示す情報を、以下、ログイン承認情報と呼ぶ。ログインの許可を示す情報は、例えば、送信したユーザ識別子について、ログインを認めることを示す情報と考えてもよい。ユーザ識別子についてログインを認めることは、ユーザ識別子が示すユーザのログインを認めることや、ユーザ識別子を用いたログインを認めることと考えてもよい。なお、管理受信手段1072は、ログインを許可しないことを示す情報を管理用サーバ装置4から受信しても良い。
管理受信手段1072は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。管理受信手段1072は、通信デバイスを含むと考えても、含まないと考えても良い。
許可出力手段1073は、管理受信手段1072がログイン承認情報を受信した場合に、第二パスワードとユーザ識別子との対をサーバ装置3に送信する許可を出力する。例えば、許可出力手段1073は、送信する許可を送信部104に出力する。また、許可出力手段1073は、送信する許可を第二パスワード取得部103に出力するようにしてもよい。また、許可出力手段1073は、例えば、管理受信手段1072がログイン承認情報を受信していない場合には、第二パスワードとユーザ識別子との対をサーバ装置3に送信する許可を出力しないようにしてもよい。なお、第二パスワード取得部103や送信部104等が、管理受信手段1072がログイン承認情報を受信した場合に、第二パスワードを取得したり、第二パスワードとユーザ識別子とをログイン情報としてサーバ装置3に送信する場合においては、許可出力手段1073は省略しても良い。
許可出力手段1073は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。許可出力手段1073は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
ユーザ端末2は、ユーザが利用する端末であり、具体的には、情報の通信が可能な情報処理端末である。ユーザ端末2は、例えば、コンピュータや、携帯電話機、携帯情報端末、いわゆるスマートフォン等の多機能携帯電話機、タブレット型端末等である。
サーバ装置3は、例えば、ネットワーク等を介して外部からアクセスを受ける際に、ユーザに対してログインを要求するサーバ装置である。例えば、サーバ装置3は、外部からデータの読出しや書き込みを行う際や、外部から送信される指示や情報に応じてサーバ装置3が有するアプリケーションソフトウェア等のプログラムを実行させる際に、ログインが必要なサーバ装置である。サーバ装置3は、例えば、ユーザ端末2等から、ネットワーク経由で送信された情報に応じて、アプリケーションソフトウェア等を実行して、その実行結果を送信するサーバ装置である。サーバ装置3は、例えば、データベースを提供するサーバ装置であっても良い。サーバ装置3は、例えば、いわゆるクラウドコンピューティングや、SAAS(Software as a Service)に用いられるサーバ装置である。なお、サーバ装置4は、いわゆるファイルサーバ装置や、WEBサーバ装置等であっても良い。
例えば、サーバ装置3は、1以上のユーザ識別子と第二パスワードとの対がログイン時の認証用の情報として格納されている図示しない格納部等を有しており、受信部101が受信したユーザ識別子と、第二パスワード取得部103が取得した第二パスワードとの対が、ログイン中継サーバ装置1からサーバ装置3に送信されると、サーバ装置3は、上記の認証用の情報を用いて、ログイン中継サーバ装置1から送信されるユーザ識別子と、第二パスワードとの対について認証処理を行う。認証が成功した場合、ユーザ識別子に対応するユーザのログインが成功したこととなる。例えば、ログインが成功した場合、ログイン状態であることを示す情報、例えば、いわゆるセッションID等を、サーバ装置3は、ログイン中継サーバ装置1に送信する。これにより、ユーザ識別子を送信したユーザ端末2は、ログイン中継サーバ装置1を介して、サーバ装置3にログインした状態、例えば、サーバ装置3にアクセス可能な状態となる。なお、ログイン後は、ユーザ端末2が、サーバ装置3に、ログイン中継サーバ装置1を介さずにアクセス可能となるようにしても良い。例えば、ログイン中継サーバ装置1が、サーバ装置3にログインした際に受信したセッションID等を、ログイン中継サーバ装置1が、ユーザ端末2に送信することで、このセッションID等を用いて、ユーザ端末2が、サーバ装置3にアクセスできるようにしてもよい。
管理用サーバ装置4は、例えば、ユーザ識別子が示すユーザが、サーバ装置3へのログインが認められている(言い換えれば、許可されている)ユーザであるか否かを判断するサーバ装置である。管理用サーバ装置4は、例えば、サーバ装置3の利用を管理する管理者、具体的にはサーバ装置3へのログインを管理する管理者が利用するサーバ装置である。なお、ここでの管理者は、サーバ装置3自体を管理する管理者とは異なる管理者であっても良い。管理用サーバ装置4は、例えば、コンピュータ等により実現される。
例えば、管理用サーバ装置4は、管理受信手段1072から送信されるユーザ識別子等を受信して受信したユーザ識別子等を図示しないモニタ等に表示する。そして、この管理用サーバ装置4を利用する管理者が、モニタの表示等から、このユーザ識別子によるサーバ装置3へのログインが許可可能であるか否かを判断し、許可可能であれば、管理者が予め指定された操作を行うことで、ログインの許可を示すログイン承認情報をログイン中継サーバ装置1に送信する。また、許可可能でなければ、ログイン承認情報を送信しない、あるいは、予め指定された操作を管理者が行うことで、許可可能でないことを示す情報を、ログイン中継サーバ装置1に送信する。
また、例えば、管理用サーバ装置4は、サーバ装置3に対するログインが認められているユーザのユーザ識別子を図示しない格納部等に有しており、この格納部等において、管理受信手段1072から送信されるユーザ識別子と一致するユーザ識別子を検索し、検出できた場合、このユーザ識別子についてログイン承認情報をログイン中継サーバ装置1に送信するようにしてもよい。なお、検出できなかった場合、管理用サーバ装置4は、ログインを認められていないことを示す情報を送信しても良いし、あるいは、単にログインが認められていることを示す情報を送信しないようにしてもよい。
あるいは、管理用サーバ装置4が有する図示しない格納部等に、ログインが認められているか否かを示す情報をユーザ識別子と対応づけて格納しておくようにし、この格納部等において、管理受信手段1072から送信されるユーザ識別子と一致するユーザ識別子を検索し、検出したユーザ識別子と対応づけられた情報が、ログインが認められていることを示す情報である場合、このユーザ識別子に対してログイン承認情報をログイン中継サーバ装置1に送信するようにしても良い。
また、ユーザ識別子とともに、第一パスワード等を受信する場合、このユーザ識別子と第一パスワードとを用いて、管理者用サーバ装置4において、通常の認証処理を行い、認証が成功した場合にだけ、ログイン承認情報をサーバ装置1に送信するようにしても良い。
管理用サーバ装置4を用いることで、サーバ装置3に格納されているログイン情報等を変更することなく、ログイン中継サーバ装置1を経由したサーバ装置3へのログインを制御、例えば制限することができる。例えば、ログイン中継サーバ装置1を用いることで、サーバ装置3では、ログインが許可されているユーザであっても、サーバ装置3にはログインを許可しないようにすることができる。これにより、例えば、管理用サーバ装置4が、サーバ装置3の管理者とは異なる管理者が利用する装置である場合、サーバ装置3の利用について、管理用サーバ装置4の管理者が、サーバ装置3の管理者とは異なる運用を行うことが可能となる。
次に、ログイン中継サーバ装置1の動作の一例について図2のフローチャートを用いて説明する。なお、ここでは、処理実行部107が、ログインが許可されているか否かの判断を行う処理だけを行い、操作情報を蓄積する処理を行わない場合を例に挙げて説明する。
(ステップS101)受信部101は、ユーザ識別子と第一パスワードとの対を受信したか否かを判断する。受信した対は、例えば、図示しないメモリ等の格納部に一時記憶する。受信した場合、ステップS102に進み、受信していない場合、ステップS101に戻る。
(ステップS102)管理送信手段1071は、ステップS101で受信したユーザ識別子を管理用サーバ装置4に送信する。
(ステップS103)管理受信手段1072は、管理用サーバ装置4からログイン承認情報を受信したか否かを判断する。受信した場合、ステップS104に進み、受信しなかった場合、ステップS101に戻る。受信しなかった場合、更に、ログインができない旨の情報を、送信部104等から、ユーザ端末2に送信するようにしてもよい。
(ステップS104)第二パスワード取得部103は、ステップS101で受信したユーザ識別子に対応する第三パスワードを、第三パスワード格納部102にユーザ識別子と対応づけて格納されている第三パスワードから検索等により取得する。
(ステップS105)第二パスワード取得部103は、ステップS101で受信した第一パスワードと、ステップS104で取得した第三パスワードとを用いて第二パスワードを取得する。
(ステップS106)送信部104は、ステップS101で受信したユーザ識別子と、ステップS105で取得した第三パスワードとの対を、ログイン情報としてサーバ装置3に送信する。
(ステップS107)ログイン中継サーバ装置1は、ログインが成功したか否かを判断する。例えば、サーバ装置3が送信するログインが成功したことを示す情報、例えばセッションID等を受信したか否かを判断し、受信した場合、ログインが成功したと判断し、受信しなかった場合や、ログインが失敗したことを示す情報を受信した場合や、タイムアウト時に、ログインが失敗したと判断する。ログインが成功した場合、例えば、ユーザ端末2にログインが成功したことを示す情報、例えば、セッションIDをユーザ端末2に送信する。このセッションIDは、サーバ装置3が送信するセッションIDと異なるものであってもよく、同じものであっても良い。ログインが成功した場合、ステップS108に進み、成功しなかった場合、ステップS101に戻る。
(ステップS108)受信部101は、1以上の操作情報を受信したか否かを判断する。ここで受信する操作情報は、例えば、ユーザ識別子や、第一パスワードを除いた操作情報である。受信した場合、ステップS109に進み、受信していない場合、ステップS110に進む。
(ステップS109)送信部104は、操作情報を、サーバ装置3に送信する。
(ステップS110)受信部101は、サーバ装置3が送信する情報を受信したか否かを判断する。受信した場合、ステップS111に進み、受信していない場合、ステップS108に戻る。
(ステップS111)受信部101は、ステップS110でサーバ装置3から受信した情報が、ログアウトの処理が行われたことを示す情報であるか否かを判断する。ログアウトの処理が行われたことを示す情報である場合、ステップS113に進み、ログアウトの処理が行われたことを示す情報でない場合、ステップS112に進む。
(ステップS112)送信部104は、ステップS111で受信した情報をユーザ端末2に送信する。そして、ステップS109に戻る。
(ステップS113)更新部108は、更新用の第三パスワードを取得する。
(ステップS114)更新部108は、ステップS113で取得した第三パスワードで、ステップS101で受け付けたユーザ識別子と対応づけられた第三パスワード格納部102に格納されている第三パスワードを更新する。
(ステップS115)第二パスワード取得部103は、ステップS114で更新した第三パスワードと、ステップS101で受信した第一パスワードとを用いて、第二パスワードを取得する。
(ステップS116)送信部104は、ステップS115で取得した第二パスワードと、ステップS101で受信したユーザ識別子とを、更新用のユーザ識別子と第二パスワードとの対として、サーバ装置3に送信する。送信部104は、これらの情報とともに、第二パスワードを更新するための指示等を送信するようにしてもよい。なお、送信部104は、ステップS101で受信したユーザ識別子及び第一パスワードは、メモリ等の一時記憶用の格納部(図示せず)から削除する。例えば、サーバ装置3は、この更新用のユーザ識別子と第二パスワードとの対を用いて、サーバ装置3の格納部等にユーザ識別子と対応づけて格納されている認証用の第二パスワードを更新する。
(ステップS117)送信部104は、ユーザ端末2にログアウトが行われたことを示す情報を送信する。そして、ユーザ端末2とのセッションを終了する。そして、ステップS101に戻る。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
なお、処理実行部107が、操作関連情報を蓄積する処理を行う場合、処理実行部107は、図2のフローチャートのステップS108等において受信した操作情報や、ステップS101等でユーザ識別子や第一パスワードを受け付ける際に行われた操作についての操作関連情報等を取得し、操作関連情報格納部106に順次蓄積するようにすればよい。
以下、本実施の形態におけるログイン中継サーバ装置1の具体的な動作について一例を挙げて説明する。なお、ここでは、一例として、サーバ装置3はユーザ等の指示に応じてアプリケーションソフトウェア等を実行し、その実行結果を格納するサーバ装置であるとする。また、ここでは、処理実行部107が、操作情報を蓄積しない場合を例に挙げて説明する。
1)登録処理
まず、サーバ装置3に、ユーザ識別子と、第二パスワードとを登録する処理について説明する。
サーバ装置3を初めて利用するユーザAがユーザ端末2を用いて、ネットワーク経由で、ログイン中継サーバ装置1に対して、サーバ装置3を利用する際のユーザ識別子と第一パスワードとを登録する画面を呼び出す情報を送信したとする。この画面を呼び出す情報は、例えば、ユーザ端末2の図示しない端末送信部等から送信される。ログイン中継サーバ装置1は、この呼び出す情報を受信部101等を用いて受信し、この呼び出す情報に応じて、図示しない格納部から、ユーザ識別子と第一パスワードとを登録するためのインターフェース画面を読出し、送信部104等からユーザ端末2に送信する。ユーザ端末2は、ログイン中継サーバ装置1から送信されるインターフェース画面を図示しない端末受信部等で受信する。ユーザ端末2は、受信したインターフェース画面をモニタ10等に表示する。
図3は、ユーザ端末2のモニタ10において表示されるユーザ識別子と第一パスワードとを登録するためのインターフェース画面の一例を示す図である。インターフェース画面11は、ユーザ識別子を入力するためのフィールド12と、第一パスワードを入力するためのフィールド13と、登録を行うためのボタン14を有している。なお、ここでは、図示しないが、インターフェース画面は、更に、ユーザの個人情報社員情報等を登録するフィールド等を有していても良い。
ユーザAが、フィールド12にユーザ識別子として「sasaki」を、また、フィールド13に第一パスワードとして「87654321」を入力し、登録のためのボタン14を押したとする。入力されたユーザ識別子と第一パスワードと、これらを登録する指示とが、ユーザ端末2の図示しない端末送信部からログイン中継サーバ装置1に送信される。
ログイン中継サーバ装置1の受信部101が、ユーザ識別子と、第一パスワードと、これらを登録する指示とを一のユーザ端末2から受信すると、ログイン中継サーバ装置1の図示しない登録部等が、このユーザ識別子に対応する第三パスワードを取得する。ここでは、登録部が、第三パスワードとしてランダムな8文字の文字列を生成するものとする。例えば、登録部が取得した第三パスワード、即ちランダムに生成した文字列が、「xd3rv5gy」であったとする。登録部は、取得した第三パスワードと、受信部101が受信したユーザ識別子「sasaki」との対を、第三パスワード格納部102に蓄積する。なお、ログイン中継サーバ装置1が図示しない登録部を有する代わりに、上述した登録部が行う処理を更新部105等が行うようにしても良い。
図4は、第三パスワード格納部102に格納されているユーザ識別子と、第三パスワードとの対を管理する第三パスワード管理表である。第三パスワード管理表は、「ユーザID
」と「第三パスワード」という属性を有している。「ユーザID」はユーザ識別子である。「第三パスワード」は、第三パスワードである。第三パスワード管理表において、各行(レコード)が、ユーザ識別子と第三パスワードとの対を示している。ここでは、上記で蓄積された対以外の対が既に複数格納されている場合を示している。
第二パスワード取得部103は、上述した登録部が登録した第三パスワードと、受信部101が受信した登録用の第一パスワードとを用いて、第二パスワードを取得する。ここでは、例えば、第二パスワードを取得するためのルールとして、第一パスワードの後ろに第三パスワードを配置した文字列を第二パスワードとして取得するルールが、第二パスワード取得部103に予め設定されているとする。このルールは、アルゴリズム等と考えてもよい。第二パスワード取得部103は、ここでは、受信部101が受信した第一パスワード「87654321」の後ろに、登録部が生成した第三パスワード「xd3rv5gy」を配置した文字列「87654321xd3rv5gy」を、第二パスワードとして取得する。
そして、送信部104は、第二パスワード取得部103が取得した第二パスワード「87654321xd3rv5gy」と、受信部101が受信した登録のためのユーザ識別子「sasaki」との対をサーバ装置3に送信する。サーバ装置3の新規ユーザを登録する処理の仕組みによっては、この対を送信する際に、この対を新規ユーザのログインに用いられるログイン情報として登録する指示もサーバ装置3に送信するようにしてもよい。
サーバ装置3の図示しないサーバ受信部が、ログイン中継サーバ装置1から送信される第二パスワード「87654321xd3rv5gy」と、ユーザ識別子「sasaki」との対を受信すると、サーバ受信部は、この対を、ログイン可能なユーザについての認証情報として、図示しない認証情報格納部に蓄積する。認証情報は、ログインの際の認証に用いられる情報である。
図5は、サーバ装置3の登録情報格納部(図示せず)に格納されている認証情報を管理する認証情報管理表である。認証情報管理表は、「ユーザID」と、「第二パスワード」という属性を有している、「ユーザID」は、ユーザ識別子である。「第二パスワード」は第二パスワードである。図に示した認証情報管理表において、各行(レコード)が、一の認証情報を示している。
これにより、ユーザの登録が完了する。なお、予め指定されたユーザだけがサーバ装置3に第二パスワードを登録できるようにするために、ユーザ端末2から送信されたユーザ識別子が、ログイン中継サーバ装置1やサーバ装置3等が有する格納部等に予め格納されている1以上のユーザ識別子と一致しない場合には、登録部による第三パスワードの取得や登録、第二パスワードとユーザ識別子との対のサーバ装置3への蓄積は行わないようにしてもよい。
2)サーバ装置の利用
次に、ユーザが、サーバ装置3にログインして、サーバ装置3を利用する処理について説明する。
ユーザAがサーバ装置3にログインするために、ユーザ端末2を用いて、ユーザ識別子と第一パスワードとを入力するインターフェース画面を呼び出す情報をログイン中継サーバ装置1に送信したとすると、上記の登録処理時と同様に、ログイン中継サーバ装置1は、この呼び出す情報に応じて、図示しない格納部から、ユーザ識別子と第一パスワードとを入力するためのフィールドを有するログインのためのインターフェース画面を読出しユーザ端末2に送信する。ユーザ端末2は、ログイン中継サーバ装置1から送信されるインターフェース画面を図示しない端末受信部等で受信し、受信したインターフェース画面を、モニタ10等に表示する。このインターフェース画面は、登録のためのボタンの代わりに、ログインの実行を指示するボタンを備えている点を除けば、図3に示した画面と同様の画面であるとする。
ユーザAが、図示しないログインのためのインターフェース画面に、上記で登録したユーザ識別子「sasaki」と、第二パスワード「87654321」とを入力し、ログインの実行を指示するボタンを押したとすると、このユーザ識別子「sasaki」と、第二パスワード「87654321」との対が、ログインのための情報としてユーザ端末2から、ログイン中継サーバ装置1に送信される。この対とともに、ログインの実行を指示する情報を、ユーザ端末2が送信するようにしてもよい。
ログイン中継サーバ装置1の受信部101は、ユーザ端末2から送信されたユーザ識別子「sasaki」と、第二パスワード「87654321」との対を受信する。
受信部101がユーザ識別子と第二パスワードとの対を受信すると、処理実行部107の管理送信手段1071は、予め指定された管理用サーバ装置4に、受信したユーザ識別子「sasaki」を送信する。
図6はサーバ装置3に対するログインが認められたユーザのユーザ識別子を管理する許可ユーザ管理表である。許可ユーザ管理表は、管理用サーバ装置4が有する図示しない格納部に予め格納されているものとする。許可ユーザ管理表は、「許可ユーザID」という属性を有している。「許可ユーザID」は、サーバ装置3に対するログインが認められたユーザのユーザ識別子である。
管理用サーバ装置4の図示しない管理用サーバ受信部が、管理送信手段1071から送信されるユーザ識別子「sasaki」を受信すると、管理用サーバ装置4は、図6に示した許可ユーザ管理表において、「許可ユーザID」の属性値が、受信したユーザ識別子「sasaki」と一致するレコードを検索する。そして、一致するものが検出された場合、例えば、図示しない管理用サーバ送信部から、ログインが認められていることを示すログイン承認情報をログイン中継サーバ装置1に対して送信する。また、一致するものが検出されなかった場合、例えば、図示しない管理用サーバ送信部から、ログインが認められていないことを示す情報をログイン中継サーバ装置1に対して送信する。ここでは、一致するものが検出されたとし、管理用サーバ送信部がログイン承認情報をログイン中継サーバ装置1に送信したとする。
処理実行部107の管理受信手段1072は、管理用サーバ装置4から送信されるログイン承認情報を受信する。許可出力手段1073は、管理受信手段1072がログイン承認情報を受信したため、第二パスワード取得部103が取得する第二パスワードと、受信部101が受信したユーザ識別子との対をログイン情報としてサーバ装置3に送信することを許可を、例えば、第二パスワード取得部103や送信部104等に出力する。この出力を受けて、第二パスワード取得部103は、第二パスワードを取得する処理を行う。
なお、管理受信手段1072が、ログインが認められていないことを示す情報を受信した場合、例えば、送信部104が、ユーザ端末2にログインができない旨の情報を送信し、受信部101は、受信したユーザ識別子と第一パスワードとを破棄し、ログインの処理を中止する。
第二パスワード取得部103は、図4に示した第三パスワード管理表において、「ユーザID」の値が、受信部101が受信したユーザ識別子「sasaki」と一致するレコード(行)を検索する。そして、検出したレコードの「第三パスワード」の属性値を取得する。ここでは、図4の1行目のレコードの「ユーザID」の値が一致するため、第二パスワード取得部103は、この1行目のレコードの「第三パスワード」の値である「xd3rv5gy」を、第三パスワード格納部102から読み出す。
第二パスワード取得部103は、読み出した第三パスワード「xd3rv5gy」と、上記で受信部101が受信した第一パスワード「87654321」とを用いて、第二パスワードを取得する。ここでは、第二パスワード取得部103は、登録処理時と同様のルールにより、第一パスワードの後ろに、第三パスワードを並べた文字列を、第二パスワードとして取得する。ここでは、第一パスワード「87654321」の後ろに第三パスワード「xd3rv5gy」を並べた文字列「87654321xd3rv5gy」を第二パスワードとして取得する。
送信部104は、受信部101が受信したユーザ識別子「sasaki」と、第二パスワード取得部103が取得した第二パスワード「87654321xd3rv5gy」との対をログイン情報として、サーバ装置3に送信する。なお、送信部104は、この対に対して、ログインの実行を指示する情報を更に有する情報をサーバ装置3に送信しても良い。
サーバ装置3の図示しないサーバ受信部が、ログイン中継サーバ装置1からユーザ識別子「sasaki」と、第二パスワード「87654321xd3rv5gy」との対を有するログイン情報を受信すると、サーバ装置3の図示しない認証部は、受信したログイン情報と、図5に示した認証情報管理表を用いて認証処理を行う。具体的には、認証部は、受信したログイン情報が有するユーザ識別子「sasaki」と、第二パスワード「87654321xd3rv5gy」とを有するレコード(行)を検索し、レコードが検出された場合、ログインを許可する情報を出力し、検出されなかった場合、ログインを許可しない情報を出力する。ここでは、レコードが検出されるため、認証部は、ログインを許可する情報を出力する。
認証部がログインを許可する情報を出力したため、サーバ装置3の送信部は、サーバ装置3に対するアクセスを許可する情報、例えばセッションIDを、図示しないサーバ送信部等からログイン中継サーバ装置1に送信する。ここでのセッションIDは、例えば、ログイン中継サーバ装置1とサーバ装置3との間の接続を示すセッションIDである。
ログイン中継サーバ装置1の受信部101が、サーバ装置3から、アクセスを許可する情報を受信すると、送信部104は、ユーザAが利用するユーザ端末2に、サーバ装置3に対するアクセスを許可する情報、例えばセッションIDを送信する。ここでのセッションIDは、例えば、ユーザ端末2と、ログイン中継サーバ装置一との間の接続を示すセッションIDである。ここでのセッションIDは、例えば、ユーザ端末2から、ログイン中継サーバ装置1を介してサーバ装置3にアクセスする際の、ユーザ端末2からログイン中継サーバ装置1へのアクセスを許可する情報等と考えてもよい。
これにより、ユーザ端末2から、ログイン中継サーバ装置1を介して、サーバ装置3を利用することが可能となる。なお、ログイン中継サーバ装置1が受信したユーザ識別子と、第二パスワードとは、例えば、セッションID等と対応づけて、図示しない格納部等に一時記憶しておく。
例えば、サーバ装置3が、顧客情報を管理するデータベースを提供するアプリケーションソフトウェアを実行するものであるとすると、サーバ装置3は、例えば、データベースの入力インターフェース画面(図示せず)を、ログイン中継サーバ装置1に送信する。ここで送信する入力インターフェース画面は、例えば、入力インターフェース画面を示す画像情報や、画像情報を表示するために用いられる情報等である。ログイン中継サーバ装置1は、受信部101がサーバ装置から受信したデータベースの入力インターフェース画面を、ユーザAが利用するユーザ端末2に送信する。ユーザ端末2の図示しない端末受信部が、ログイン中継サーバ装置1から送信される入力インターフェース画面を受信すると、図示しない表示部等が、モニタ10等に受信した入力インターフェース画面を表示する。
例えば、ユーザAがユーザ端末2を操作して、モニタ10等に表示された入力インターフェース画面に文字列を入力する操作を行うと、この文字列を入力する操作を示す操作情報が、ログイン中継サーバ装置1に送信される。ログイン中継サーバ装置1の受信部101が操作情報を受信すると、受信した操作情報を、ログイン中継サーバ装置1の送信部104がサーバ装置3に送信する。
サーバ装置3の図示しないサーバ受信部が、ログイン中継サーバ装置1から送信される操作情報を受信すると、サーバ装置3は、入力インターフェース画面の操作情報が示す位置に、操作情報が示す文字列を配置した更新用の入力インターフェース画面を作成する。そして、サーバ装置3は、操作情報に対応した処理結果の情報として、作成した更新用の入力インターフェース画面をログイン中継サーバ装置1に送信する。
ログイン中継サーバ装置1は、サーバ装置3から送信される更新用の入力インターフェース画面を、操作情報に対応した情報としてユーザ端末2に送信する。
ユーザ端末2は、ログイン中継サーバ装置1から送信される更新用の入力インターフェース画面を受信し、受信した更新用の入力インターフェース画面で、直前に出力していた文字列の入力を行う直前の入力インターフェース画面を更新、例えば、書き換える。これにより、ユーザAの操作に応じた文字列が入力された入力インターフェース画面が表示される。
このようにして、ログインした状態においては、ユーザ端末2から、ログイン中継サーバ装置1を介して、サーバ装置3にアクセスして、サーバ装置3を利用することができる。
なお、ここでは、文字入力を行う場合について説明したが、文字入力以外の操作に関しても同様である。
ここで、例えば、ユーザAがユーザ端末2に入力した操作がサーバ装置3からログアウトする操作であったとすると、ユーザ端末2からログイン中継サーバ装置1を経由してサーバ装置3に、ログアウトする操作を示す操作情報が送信される。サーバ装置3は、ログアウトする操作情報を受信すると、ログアウトする処理を行う。具体的には、ログイン中継サーバ装置1から送信された操作情報に対応したセッションを終了する処理を行う。サーバ装置3は、ログイン中継サーバ装置1に対して、ログアウトしたことを示す情報を送信する。ここでは、ログアウトしたことを示す情報として、セッションを終了したことを示す情報を送信する場合を例に挙げて説明する。。
ログイン中継サーバ装置1の受信部101が、ログアウトしたことを示す情報、ここではセッションを終了したことを示す情報をサーバ装置3から受信すると、更新部105は、このセッションに対応した第三パスワード情報を更新する処理を行う。例えば、更新部105は、ランダムな8文字の文字列を更新用の第三パスワードとして取得し、図4に示した第三パスワード管理表の、終了したセッションに対応したレコードの「第三パスワード」の属性値を、更新用の第三パスワードの値で更新する。例えば、更新部105が取得した更新用の第三パスワードが「5uc97rnm」であったとすると、終了したセッションに対応したレコードである、「ユーザID」が「sasaki」であるレコードの、「第三パスワード」である「xd3rv5gy」を、更新用の第三パスワードが「5uc97rnm」で更新する。
なお、第三パスワードを更新しただけでは、次に「ユーザID」が「sasaki」であるユーザがログインする際にサーバ装置3にログインできなくなるため、第二パスワード取得部103は、この終了したセッションに対応するセッションIDと対応づけられて一時記憶されていた「ユーザID」である「sasaki」と第一パスワード「87654321」とを読出し、更新後の第三パスワード「5uc97rnm」を用いて、更新後の第二パスワードである「876543215uc97rnm」を取得する。
そして、送信部104は、サーバ装置3に格納されているログインのための認証情報を更新するために、ユーザ識別子「sasaki」と、更新後の第二パスワード「876543215uc97rnm」とをサーバ装置3に送信する。
認証情報を更新するためのユーザ識別子と第二パスワードとを受信したサーバ装置3は、図5に示した認証情報管理表において、ユーザ識別子が「sasaki」であるレコードを検出し、検出したレコードの「第二パスワード」の値を、ログイン中継サーバ装置1から受信した更新後の第二パスワード「876543215uc97rnm」の値で更新する。これにより、次回ユーザ識別子が「sasaki」であるユーザがログインする際には、更新した第三パスワードを用いて作成した第二パスワードでログインを行うことが可能となる。
なお、サーバ装置3の認証情報を更新する際に、サーバ装置3が更新前の第二パスワードを要求する場合、更新部105が第三パスワードを更新する前に、第二パスワード取得部103が、更新前の第三パスワードを用いて第二パスワードを取得するようにし、取得した第二パスワードを、更新前の第二パスワードとして、サーバ装置3に送信するようにすれば良い。
ログイン中継サーバ装置1は、ユーザ端末2に対して、サーバ装置3がログアウトしたことを示す情報、例えば、セッションを終了したことを示す情報を送信する。これにより、ログイン中継サーバ装置1に、サーバ装置3からログアウトしたことを示すことができる。
上記具体例においては、例えば、仮に、ユーザAが、ログイン中継サーバ装置1を介さずに直接サーバ装置3にユーザ識別子「sasaki」と、第一パスワード「87654321」とを送信してログインしようとしても、このユーザ識別子と第一パスワードとの組み合わせが、図5に示す認証情報管理表に格納されていないため、ログインを行うことができない。つまり、本発明においては、例えば、ユーザが、ログイン中継サーバ装置1を経由しなければ、サーバ装置3にログインできないようにすることができる。このため、例えば、ログイン中継サーバ装置1をイントラネット等のように、外部からのアクセスが困難なネットワーク内に設置することで、個々のユーザの第一パスワードが誤って外部に流出しても、外部の第三者が、この流出した第一パスワードを用いて、直接サーバ装置3にアクセスすることができないようにすることができる。
また、本発明においては、仮に、ログイン中継サーバ装置1内の第三パスワードが、仮に外部からの攻撃や、誤操作等によって、誤って外部に流出したとしても、この第三パスワードだけでは、サーバ装置3にアクセスすることができない。このため、ログインに利用されるパスワードをそのまま一括管理する場合とは異なり、ログイン中継サーバ装置1から、大量のユーザのログイン用のパスワードが流出するリスクを抑えることができる。
以上、本実施の形態によれば、第一パスワードを用いて作成した第二パスワードを用いて、サーバ装置にログインするようにしたことにより、パスワードを利用したログインにおけるセキュリティを向上させることができる。
なお、上記具体例においては、処理実行部107が操作関連情報を蓄積する処理を行わない場合を例に挙げて説明したが、処理実行部107は、受信部101が受信した操作情報に関する操作関連情報を順次取得して、操作関連情報格納部106に蓄積するようにしても良い。例えば、上記のように、受信部101が、文字列を入力する操作を示す操作情報を受け付けた場合、この操作情報に関する操作関連情報として、文字列を入力する操作を示す文字列「input text」等を取得して蓄積しても良い。また、例えば、ユーザ端末2のカーソルの位置の情報やイベント等の情報が操作情報としてユーザ端末2からログイン中継サーバ装置1に送信されるようにし、このカーソルの位置の情報やイベント等を示す情報(例えばイベント名等)を、操作関連情報として、予め指定されたタイミング等で順次蓄積するようにしてもよい。
例えば、本実施の形態によれば、ログイン中継サーバ装置1を介して、サーバ装置3にログインして、サーバ装置3を利用することとなるため、ユーザ端末2に負荷をかけることなく、ユーザ端末2の操作に関する情報を、適切に取得することできるとともに、ログイン中継サーバ装置1を介さずにサーバ装置3にログインできないようにして、操作関連情報の取得漏れをなくすことができる。
なお、上記実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記実施の形態において、一の装置に存在する2以上の通信手段(受信部や送信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、格納部(例えば、ハードディスクやメモリ等の記録媒体)にアクセスしながらプログラムを実行してもよい。
なお、上記実施の形態におけるログイン中継サーバ装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、ユーザ端末と、サーバ装置とに接続されるログイン中継サーバ装置であって、ユーザの識別子であるユーザ識別子と、ユーザ識別子と対応づけられたパスワードである第一パスワードとの対を、ユーザ端末から受信する受信部と、受信部が受信した第一パスワードを用いて、サーバ装置にログインするためのパスワードであって、第一パスワードと対をなすユーザ識別子に対応するパスワードである第二パスワードを取得する第二パスワード取得部と、第二パスワード取得部が取得した第二パスワードと、受信部が受信したユーザ識別子との対を、サーバ装置にログインするためのログイン情報としてサーバ装置に送信する送信部と、を備えたログイン中継サーバ装置として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図7は、上記プログラムを実行して、上記実施の形態によるログイン中継サーバ装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図7において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図8は、コンピュータシステム900の内部構成を示す図である。図8において、コンピュータ901は、CD−ROMドライブ905に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態によるログイン中継サーバ装置等の機能を実行させるプログラムは、CD−ROM921に記憶されて、CD−ROMドライブ905に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態によるログイン中継サーバ装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。