以下、図面を参照して、本発明の実施形態について説明する。本実施形態においては、ネットワークを介してHTTP(Hypertext Transfer Protocol)プロトコルを用いてアクセスすることにより提供されるウェブサービスにおいて、ウェブブラウザ側にログインIDやパスワード等の認証情報を保存することなく自動ログイン処理を実現するシステムについて説明する。
図1に示すように、本実施形態に係るシステムは、PC(Personal Computer)等の一般的な情報処理装置であるクライアント端末1と、ウェブサービスを提供するウェブサーバ2とによって実現される。尚、図1においては、1つのクライアント端末1が図示されているが、インターネットなどのネットワークを介して多くのクライアント端末1がウェブサーバ2にアクセス可能である。
クライアント端末1は、Cookieを利用可能な一般的なウェブブラウザがインストールされた情報処理装置であり、ユーザの操作に応じてウェブブラウザの機能によりウェブサーバ2にアクセスしてウェブページの情報を取得し、表示装置に表示する。本実施形態に係るシステムにおいては、Cookieが利用可能なウェブブラウザがインストールされていること以外、クライアント端末1に対して特別な機能は要求されない。
ウェブサーバ2は、クライアント端末1からのネットワークを介したアクセスに応じてHTML(HyperText Markup Language)等のウェブサイトの情報を送信する。また、ウェブサーバ2は、クライアント端末1を操作するユーザを認証することによりクライアント端末1のログイン処理を行い、個人情報等のセキュリティを確保するべき情報を用いたサービスを提供する。その際、クライアント端末1において、ウェブブラウザの機能によって保存されているCookieの情報を取得することにより、クライアント端末1を操作するユーザに認証情報の入力を求めることなくログイン処理を行う自動ログイン処理機能を有する。即ち、ウェブサーバ2は、自動ログイン処理装置としても機能する。
次に、本実施形態に係るクライアント端末1、ウェブサーバ2等の情報処理装置のハードウェア構成について図2を参照して説明する。図2に示すように、本実施形態に係る情報処理装置は、一般的なサーバやPC等と同様の構成を含む。即ち、本実施形態に係る情報処理装置は、CPU(Central Processing Unit)10、RAM(Random Access Memory)20、ROM(Read Only Memory)30、HDD(Hard Disk Drive)40及びI/F50がバス80を介して接続されている。また、I/F50にはLCD(Liquid Crystal Display)60及び操作部70が接続されている。
CPU10は演算手段であり、情報処理装置全体の動作を制御する。RAM20は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、CPU10が情報を処理する際の作業領域として用いられる。ROM30は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。HDD40は、情報の読み書きが可能な不揮発性の記憶媒体であり、OS(Operating System)や各種の制御プログラム、アプリケーション・プログラム等が格納される。
I/F50は、バス80と各種のハードウェアやネットワーク等を接続し制御する。LCD60は、ユーザが情報処理装置の状態を確認するための視覚的ユーザインタフェースである。操作部70は、キーボードやマウス等、ユーザが情報処理装置に情報を入力するためのユーザインタフェースである。尚、本実施形態に係るウェブサーバ2は、ユーザが直接操作することの無いサーバとして運用されるため、LCD60や操作部70等のユーザインタフェースは省略可能である。
このようなハードウェア構成において、ROM30やHDD40若しくは図示しない光学ディスク等の記憶媒体に格納されたプログラムがRAM20に読み出され、CPU10がRAM20にロードされたプログラムに従って演算を行うことにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係るクライアント端末1及びウェブサーバ2の機能を実現する機能ブロックが構成される。
次に、本実施形態に係るクライアント端末1の機能構成について、図3を参照して説明する。図3に示すように、本実施形態に係るクライアント端末3は、図2において説明したLCD60、操作部70に加えて、コントローラ100及びネットワークI/F110を含む。また、コントローラ100は、入出力制御部101、操作制御部102、表示制御部103及びウェブブラウザ104を含む。
ネットワークI/F110は、クライアント端末1がネットワークを介して他の機器と通信するためのインタフェースであり、Ethernet(登録商標)等のインタフェースが用いられる。また、無線通信の場合には、Bluetooth(登録商標)、Wi−Fi(Wireless Fidelity)等のインタフェースが用いられる。ネットワークI/F110は、図2に示すI/F50によって実現される。
コントローラ100は、ソフトウェアとハードウェアとの組み合わせによって構成される。コントローラ100は、クライアント端末1全体を制御する制御部である。入出力制御部101は、ネットワークI/F110を介して入力される情報を取得すると共に、ネットワークI/F110を介して他の機器に情報を送信する。
操作制御部102は、操作部70に対するユーザによる操作内容の信号を取得し、ウェブブラウザ104等のクライアント端末1において動作するモジュールに入力する。表示制御部103は、ウェブブラウザ104のGUI(Graphical User Interface)等、クライアント端末1の状態をLCD60に表示させる。
ウェブブラウザ104は、ウェブサーバ2にアクセスしてウェブサイトを閲覧するための機能をクライアント端末1において利用するために、クライアント端末1にインストールされて動作するソフトウェア・プログラムによって構成される。また、ウェブブラウザ104は、クライアント端末1においてアクセス可能な記憶媒体に、アクセス先のウェブサーバ2との関係において利用可能な情報であるCookieの情報を格納し、アクセス先のウェブサーバ2に応じて読み出して利用する機能を有する。
上述したCookieの情報は、本実施形態に係るシステムにおいては、ウェブサーバ2によって提供されるウェブサービスへの自動ログイン処理のために用いられる。一般的な自動ログイン処理においては、Cookieの情報としてウェブサービスにログインするための認証情報が記憶される。そして、所定のウェブサーバにアクセスした場合に、ウェブサーバに関連付けられたCookieの情報を送信することにより、ウェブサーバにおいて認証処理が実行される。
上述した認証情報としては、ユーザを識別するためのログインID及びユーザの本人確認を行うためのパスワードが用いられることが一般的である。しかしながら、このような自動ログイン処理の場合、Cookie情報を不正に取得されてしまうことにより、認証情報が漏えいし、悪意のある第三者によって悪用されてしまう可能性がある。そのため、Cookie情報としてログインID及びパスワードを保存することなく自動ログインを実現することが、本実施形態に係る要旨である。
ここで、本実施形態に係るシステムにおいて、ウェブサーバ2との関係においてウェブブラウザ104によってクライアント端末1の記憶媒体に記憶されるCookie情報の例について図4を参照して説明する。図4に示すように、本実施形態に係るウェブブラウザ104は、ウェブサーバ2によって提供されるウェブサービスのCookie情報として、ユーザ判定用情報及び自動ログイン判定用情報の2つの情報を記憶媒体に記憶させる。即ち、図4に示すCookieの情報が、ウェブブラウザ104に関連付けて格納されるブラウザ関連情報として用いられる。
ユーザ判定用情報は、ウェブサーバ2がウェブブラウザ104を利用しているユーザを識別するために用いられる情報であり、図4に示すように、“有効ドメイン名”、“キーコード”、“有効期限”、“暗号化属性”の情報を含む。“有効ドメイン名”は、そのCookieの情報を利用可能なウェブサーバ2を判断するための情報であり、ウェブサーバ2のドメイン名が指定される。
“キーコード”は、ウェブサーバ2において、そのウェブブラウザ104に関するログイン情報の設定を個別に識別するための設定識別子である。“有効期限”は、そのCookieの情報の有効期限を示す情報である。“暗号化属性”は、このCookieの情報は、SSL(Secure Socket Layer)等の暗号化された通信でのみやり取りが許されることを示す識別子である。
自動ログイン判定用情報は、ウェブブラウザ104がウェブサーバ2に対するアクセスにおいて自動ログイン処理の対象となっていることを示す情報であり、図4に示すように、“有効ドメイン名”及び“自動ログイン設定情報”を含む。“有効ドメイン名”は、そのCookieの情報を利用可能なウェブサーバ2を判断するための情報であり、ウェブサーバ2のドメイン名が指定される。“自動ログイン設定情報”は、ウェブサーバ2において、ウェブブラウザ104が自動ログイン処理の対象であることを識別するための自動ログイン識別子である。
このように、本実施形態に係るシステムにおいては、図4に示すユーザ判定用情報及び自動ログイン判定用情報は、夫々別個のCookieの情報としてクライアント端末1において保存される。従って、いずれか一方が不正に取得されたとしても、その情報だけでは本実施形態に係るシステムにおける自動ログイン認証を受けることができず、セキュリティを高めることができる。
また、本実施形態に係るシステムにおいては、クライアント端末1において、ログインIDやパスワードがCookieの情報として保存されない。従って、Cookieの情報が不正に取得されたとしても、その情報を用いて従来の一般的なウェブサービスへのログイン認証方式、即ち、ログインID及びパスワードを入力して認証を受ける認証方式ではログインすることができないため、セキュリティが高められている。
次に、本実施形態に係るウェブサーバ2の機能構成について説明する。図5は、本実施形態に係るウェブサーバ2の機能構成を示す図である。図5に示すように、本実施形態に係るウェブサーバ2は、コントローラ200及びネットワークI/F210を有する。また、コントローラ200は、入出力制御部201、ウェブサーバアプリケーション202、自動ログインDB203、ユーザ情報DB204及びサイト情報記憶部205を含む。
ネットワークI/F210は、ウェブサーバ2がネットワークを介してクライアント端末1等の他の機器と通信するためのインタフェースであり、Ethernet(登録商標)やUSB(Universal Serial Bus)インタフェースが用いられる。
コントローラ200は、ソフトウェアとハードウェアとの組み合わせによって構成される。具体的には、ROM30や不揮発性メモリ並びにHDD40や光学ディスク等の不揮発性記憶媒体に格納されたプログラムが、RAM20等の揮発性メモリ(以下、メモリ)にロードされ、CPU10がそのプログラムに従って演算を行うことにより構成されるソフトウェア制御部と集積回路などのハードウェアとによってコントローラ200が構成される。コントローラ200は、ウェブサーバ2全体を制御する制御部として機能する。
入出力制御部201は、ネットワークI/F210を介してのネットワーク通信を制御する。ウェブサーバアプリケーション202は、ウェブサーバ2が実現するウェブサービスの機能を担うソフトウェアモジュールであり、ネットワークを介したウェブアクセスに応じてウェブサイトの情報を送信する機能や、クライアント端末1から送信された情報に基づいて様々な処理を実行する機能を担う。
また、ウェブサーバアプリケーション202は、本実施形態の要旨に係る機能として、クライアント端末1から送信されるログインID及びパスワード以外の情報であるCookieの情報に基づいて自動ログイン認証を行う機能を担う。この機能により、クライアント端末1においてCookieの情報が漏えいしたとしても、権限無き第三者によるログインを防ぐことが本実施形態に係る要旨の1つである。
自動ログインDB203は、本実施形態の要旨に係る構成であり、図4において説明した“キーコード”に基づいて自動ログイン認証を行うための情報が格納された設定情報記憶部として機能するデータベースである。ユーザ情報DB204は、一般的なログイン認証処理において用いられるユーザ毎の情報であるユーザ関連情報が格納されたユーザ情報記部としてのデータベースである。サイト情報記憶部205は、ウェブサーバアプリケーション202が、クライアント端末1のウェブブラウザ104からのアクセスに応じて送信するべきウェブサイトの情報を記憶している記憶部である。
ここで、本実施形態に係るウェブサーバアプリケーション202の機能について、図6を参照して説明する。図6に示すように、本実施形態に係るウェブサーバアプリケーション202は、アクセス処理部221、Cookie取得部222、Cookie確認部223、自動ログイン判定部224及びログイン処理部225を含む。アクセス処理部221は、一般的なウェブサーバの機能として含まれる機能であり、ウェブブラウザ104からのウェブアクセスに応じたウェブサイトの情報をサイト情報記憶部205から取得して、ネットワークを介して送信する。
Cookie取得部222は、一般的なウェブサーバの機能として含まれる機能であり、ウェブブラウザ104からのウェブアクセスに際して、クライアント端末1においてウェブサーバ2に関連付けて記憶されているCookieの情報、即ち、図4において説明したユーザ判定用情報及び自動ログイン判定用情報を取得する。即ち、Cookie取得部222が、ウェブブラウザ104に関連付けて格納されているブラウザ関連情報を自動ログイン要求とともに取得する自動ログイン要求取得部として機能する。
Cookie確認部223は、本実施形態に係るシステムの要旨に係る機能であり、Cookie取得部222が取得したCookieの情報を参照して、アクセス元のウェブブラウザ104が自動ログイン処理の対象であるか否かを判断する。Cookie確認部223は、取得されたCookieの情報から上述したユーザ判定用情報及び自動ログイン判定用情報を抽出することにより上記確認を行う。即ち、Cookie確認部が、情報抽出部として機能する。
自動ログイン判定部224は、本実施形態に係るシステムの要旨に係る機能であり、Cookie確認部223による確認結果を受けて、Cookieの情報に基づいて自動ログインDB203を参照して自動ログイン処理の可否を判定する。ログイン処理部225は、ログイン認証を行うウェブサーバにおいて一般的に含まれる機能であり、入力された認証情報に基づいてユーザ情報DB204を参照し、認証処理を行う認証処理部である。但し、本実施形態に係るログイン処理部225は、自動ログイン判定部224が自動ログインDB203から読み出した認証情報を取得して認証処理を行う機能を有する。このような、自動ログイン処理の機能を構成するためのプログラムが、自動ログイン処理プログラムとして用いられる。
図7を参照して自動ログインDB203に含まれる各レコードの1つの情報について説明する。図7に示すように、本実施形態に係る自動ログインDB203の1つのレコードは、“キーコード”、“ログインID”、“パスワード”、“無効フラグ”、“有効期限”の情報を含む。“キーコード”は、図4において説明した“キーコード”に対応する情報であり、ウェブサーバ2にアクセスする複数のウェブブラウザ104夫々の自動ログイン処理の設定を識別する識別子である。この“キーコード”は、自動ログインDBにおける主キーとしても用いられる。
“ログインID”は、ウェブブラウザ104を利用してウェブサーバ2にアクセスするユーザを識別するユーザ識別子である。また、“パスワード”は、ウェブブラウザ104を利用してウェブサーバ2にアクセスするユーザの本人確認を行うための認証情報である。
自動ログインDB203における“ログインID”、“パスワード”は、従来の自動ログイン処理においてクライアント端末側のCookieの情報として保存される情報に対応する。“無効フラグ”は、そのレコードによる自動ログイン処理を無効化するために設定されるフラグ情報である。“有効期限”は、そのレコードによる自動ログイン処理の有効期限を示す情報である。
このように、本実施形態に係るシステムにおいては、自動ログイン処理において用いられる“ログインID”、“パスワード”等の認証情報が、自動ログインの設定を識別するための設定識別子である“キーコード”と関連付けられてウェブサーバ2において記憶されている。そして、この自動ログインDB203のレコードは、図4において説明した自動ログイン設定情報がCookie確認部223によって確認されて初めて利用可能となる。このような2つの別個のCookie情報による自動ログイン処理の可否の判断が、本実施形態に係る要旨の1つである。
次に、図8を参照してユーザ情報DB204に含まれる各レコードの1つの情報について説明する。図8に示すように、本実施形態に係るユーザ情報DB204の1つのレコードは、“ログインID”、“パスワード”、“最終ログイン日時”、“パスワード不一致回数”、“パスワード状態”、“規約同意状況”、“会員属性”、“ログイン回数”及び“ログイン履歴”の情報を含む。
“ログインID”は、“ログインID”は、ウェブブラウザ104を利用してウェブサーバ2にアクセスするユーザを識別するユーザ識別子である。また、“ログインID”は、ユーザ情報DB204における主キーとしても用いられる。“パスワード”は、ウェブブラウザ104を利用してウェブサーバ2にアクセスするユーザの本人確認を行うための認証情報である。
ここで、自動ログインDB203における“ログインID”及び“パスワード”と、ユーザ情報DB204における“ログインID”及び“パスワード”とは、その意義が異なる。自動ログインDB203における“ログインID”及び“パスワード”は、上述したように、自動ログインのためにログイン処理部225に入力される認証情報であり、ユーザ情報DB204における“ログインID”及び“パスワード”は、ログイン認証のためにログイン処理部225が参照する情報である。
“最終ログイン日時”は、その“ログインID”によって識別されるユーザが最後にウェブサーバ2のウェブサービスにログインした日時を示す情報である。“パスワード不一致回数”は、その“ログインID”に対するログイン要求に際して、入力されたパスワードがユーザ情報DB204に格納されている“パスワード”と不一致となりログインが拒否された回数を示す情報である。
“パスワード状態”は、そのレコードに係る“パスワード”の状態を示す情報であり、アカウントが作成された際に付与された初期パスワードであるか否かや、一定期間以内にパスワードが変更されているか否かを示す。“規約同意状況”は、そのレコードに係るユーザの、ウェブサーバ2によって提供されるウェブサービスの規約への同意状況を示す情報である。
“ログイン回数”は、そのレコードに係るユーザの、ウェブサーバ2によって提供されるウェブサービスへのログイン回数を示す情報である。“ログイン履歴”は、そのレコードに係るユーザの、ウェブサーバ2によって提供されるウェブサービスへのログイン履歴を示す情報である。このようなユーザ情報DB204の情報は、ユーザのログイン認証の他、本実施形態に係るシステムにおいては、自動ログインを許可するか否かの判断のためにも用いられる。
次に、本実施形態に係るシステム全体の動作について、図9のシーケンス図を用いて説明する。図9に示すように、まずは、クライアント端末1のウェブブラウザ104が、ユーザの操作に応じてウェブサーバ2によって提供されるウェブサービスのトップページにアクセスする(S901)。ウェブサーバ2においては、アクセス処理部221が、クライアント端末1からのアクセスに応じて、指定されたURL(Uniform Resource Locator)に対応するウェブサイトの情報、ここでは、ウェブサービスのトップページの情報を送信する(S902)。
トップページの情報を受信したクライアント端末1においては、ウェブブラウザ104がトップページの情報を取得し、トップページの情報に従ってCookieの情報を確認する(S903)。さらに、ウェブブラウザ104は、トップページの情報に従い、ウェブサービスの自動ログインページへのリダイレクトを行うとともに、確認したCookieの情報をウェブサーバ2に送信する(S904)。
ウェブサーバ2においては、クライアント端末1から受信したCookieの情報及び自動ログインページへのアクセス要求に基づき、ウェブサーバアプリケーション202が自動ログイン処理を行う(S905)。自動ログイン処理が完了すると、ウェブサーバアプリケーション202は、Cookieの情報やユーザ情報DB204の情報に基づいてログイン後のページの情報を生成し(S906)、自動ログイン要求への応答としてクライアント端末1に送信する(S907)。
ログイン後のページの情報を受信したクライアント端末1においては、ウェブブラウザ104が、ログイン後のページを幼児装置に表示させ(908)、処理を終了する。このような処理により、本実施形態に係るシステムにおける自動ログイン処理が完了する。
次に、図9のS905における自動ログイン処理の詳細について、図10を参照して説明する。図10に示す自動ログイン処理は、Cookie取得部222が、自動ログインページへアクセスしたウェブブラウザ104からCookieの情報を取得することにより開始される。
Cookie取得部222がCookieの情報を取得すると、Cookie確認部223がそのCookieの情報を参照し、図4において説明した自動ログイン判定用情報が含まれているか否かを確認する(S1001)。その結果、自動ログイン判定用情報が含まれていなかった場合(S1001/NO)、アクセス処理部221は、その判断結果に従い、ログイン前のページ、即ち、手動により“ログインID”及び“パスワード”を入力させるためのページをクライアント端末1に送信し(S1011)、処理を終了する。
自動ログイン判定用情報が含まれていた場合(S1001/YES)、次に、Cookie確認部223は、図4において説明したユーザ判定用情報が含まれているか否かを確認する(S1002)。その結果、ユーザ判定用情報が含まれていなかった場合(S1002/NO)、アクセス処理部221は、その判断結果に従い、ログイン前のページをクライアント端末1に送信し(S1011)、処理を終了する。
ユーザ判定用情報が含まれていた場合(S1002/YES)、次に、Cookie確認部223からユーザ判定用情報を取得した自動ログイン判定部224が、ユーザ判定用情報に含まれる“キーコード”に基づいて自動ログインDB203を参照し、その“キーコード”のレコードがあるか否かを確認する(S1003)。即ち、自動ログイン判定部224が、認証情報取得部として機能する。その結果、対応するレコードが含まれていなかった場合(S1003/NO)、アクセス処理部221は、その判断結果に従い、ログイン前のページをクライアント端末1に送信し(S1011)、処理を終了する。
対応するレコードが含まれていた場合(S1003/YES)、次に、自動ログイン判定部224は、Cookieの情報に一般的に含まれるウェブブラウザ104の種類の情報を参照し、ウェブサーバ2によって提供されているウェブサービスにて起動したブラウザであるか否かを確認する(S1004)。その結果、適合するブラウザではなかった場合(S1004/NO)、アクセス処理部221は、適合しないブラウザであることを表示するためのエラーページをクライアント端末1に送信し(S1012)、処理を終了する。
適合するブラウザであった場合(S1004/YES)、自動ログイン判定部224から自動ログインDB203の対応するレコードに含まれる“ログインID”及び“パスワード”並びにユーザ判定用情報を取得したログイン処理部225は、取得した“ログインID”に基づいてユーザ情報DB204からアカウントの情報を取得する(S1006)。
ここで、アカウントの末梢等により、対応するアカウントの情報がユーザ情報DB204に格納されていなかった場合(S1006/NO)、アクセス処理部221は、その判断結果に従い、ログイン前のページをクライアント端末1に送信し(S1013)、処理を終了する。
アカウントの情報が取得された場合(S1006/YES)、ログイン処理部225は、図8において説明した“パスワード不一致回数”等を参照し、アカウントがロックされておらず、有効か否かを確認する(S1007)。その結果、アカウントがロック状態であった場合(S1007/NO)、アクセス処理部221は、アカウントがロック状態であることを表示するためのページをクライアント端末1に送信し(S1014)、処理を終了する。
アカウントが有効であった場合(S1007/YES)、ログイン処理部225は、図8において説明した“パスワード状態”を参照し、パスワードが初期パスワードではないか否かを確認する(S1008)。その結果、初期パスワードであった場合(S1008/NO)、アクセス処理部221は、その判断結果に従い、ログイン前のページをクライアント端末1に送信し(S1015)、処理を終了する。
初期パスワードではなかった場合(S1008/YES)、ログイン処理部225は、図8において説明した“規約同意状況”を参照し、未同意の規約がないか否かを確認する(S1009)。その結果、未同意の規約があった場合(S1009/NO)、アクセス処理部221は、その判断結果に従い、規約同意を確認するための規約同意画面をクライアント端末1に送信し(S1016)、処理を終了する。
未同意規約がなかった場合(S1009/YES)、ログイン処理部225は、図8において説明した“会員属性”を参照し、会員属性が適正であるか否かを確認する(S1010)。その結果、会員属性が適正でなかった場合(S1010/NO)、アクセス処理部221は、その判断結果に従い、会員属性を入力するための会員属性入力画面をクライアント端末1に送信し(S1017)、処理を終了する。
未同意規約がなかった場合(S1009/YES)、ログイン処理部225は、図8において説明した“会員属性”を参照し、会員属性が適正であるか否かを確認する(S1010)。その結果、会員属性が適正でなかった場合(S1010/NO)、アクセス処理部221は、その判断結果に従い、会員属性を入力するための会員属性入力画面をクライアント端末1に送信し(S1017)、処理を終了する。
会員属性が適正であった場合(S1010/YES)、ログイン処理部225は、自動ログイン処理が可能であると判断し、自動ログイン判定部224から入力された“ログインID”及び“パスワード”と、ユーザ情報DB204から取得した“ログインID”及び“パスワード”とを比較し、ログイン認証を行い(S1018)図9のS905に進む。このような処理により、本実施形態に係る自動ログイン処理が完了する。
このように、本実施形態に係る自動ログイン処理システムにおいては、ログイン認証のための認証情報をクライアント端末1側では保存せず、ウェブサーバ2側において、自動ログイン処理の設定を識別するための“キーコード”と関連付けて1つのレコードとして自動ログインDB203に記憶する。
そして、自動ログイン処理に際してクライアント端末1側からCookieの情報を取得したウェブサーバ2は、自動ログイン処理の対象のウェブブラウザ104であることを識別するための自動ログイン判定用情報及び自動ログイン処理の設定を識別するためのユーザ判定用情報がCookieの情報から抽出され、且つユーザ判定用情報に含まれる“キーコード”に対応するレコードが自動ログインDB203から抽出された場合にのみ、自動ログイン処理を行う。
従って、クライアント端末1側においてCookieの情報が不正に取得された場合であっても、“ログインID”及び“パスワード”等の認証情報は流出しないため、従来通りの認証方式ではウェブサービスにログインすることは不可能であり、セキュリティの高い自動ログイン処理を提供することができる。また、本実施形態に係るシステムにおける自動ログイン処理においては、ユーザ判定用情報及び自動ログイン判定用情報の2つのCookieの情報が必要であり、いずれか一方の情報だけでは、システムの方式に則ったとしても自動ログイン認証を受けることは不可能であるため、この点からもセキュリティを向上することができる。
また、図10のS1006〜S1010において説明したように、本実施形態に係るシステムにおいては、ウェブサービスのために管理されるユーザ情報に基づいて自動ログイン処理の可否が更に判断されるため、この点からもセキュリティの高い自動ログイン処理を提供することが可能となる。
尚、図4において説明したように、クライアント端末1においては、ユーザ判定用情報及び自動ログイン判定用情報の2つのCookieの情報が保存されるが、これらの情報はクライアント端末1において暗号化された状態で保存され、Cookie取得部222によって複合されるようにすることができる。これにより、第三者はもちろん、正当な権限を有するユーザであっても、ユーザ判定用情報や自動ログイン判定用情報の内容を判別することは不可能であり、セキュリティを向上することができる。
また、昨今の上記機器の普及に伴い、1人のユーザが複数の情報処理端末を所持し、夫々の端末から別個にウェブサーバ2のウェブサービスを利用する態様が考えられる。この場合、Cookieの情報は夫々の情報処理端末毎に生成されて保存されるため、図4において説明したユーザ判定用情報に含まれる“キーコード”の情報は、夫々の情報処理端末毎に別々に生成されることとなる。そのような態様について、図11を参照して説明する。
図11は、1人のユーザがPCであるクライアント端末1aとモバイル端末1bとを所持しており、夫々の端末によってウェブサーバ2のウェブサービスを利用する場合に生成される情報を模式的に示す図である。図11に示すように、クライアント端末1aによってウェブサーバ2にアクセスして自動ログインの設定を行うことにより、「key001」というキーコードを含むユーザ判定用情報がCookieの情報として生成される。
他方、モバイル端末1bによってウェブサーバ2にアクセスして自動ログインの設定を行うことにより、「key002」というキーコードを含むユーザ判定用情報がCookieの情報として生成される。このように、夫々の端末毎に、別個の“キーコード”を含むユーザ判定用情報が生成される。換言すると、夫々の端末毎に別個の自動ログイン処理の設定情報が生成される。
また、図11に示すように、ウェブサーバ2側においては、上述した「key001」及び「key002」夫々に対応する自動ログインDB203のレコードが生成される。ここで、クライアント端末1a及びモバイル端末1bは同一のユーザによって使用されるため、ログイン認証の際に用いられる“ログインID”及び“パスワード”は同一である。そのため、図11に示すように、「key001」及び「key002」いずれのレコードにおいても、“ログインID”は「user001」であり、“パスワード”は「passeordXXX」である。
このように、本実施形態に係る自動ログイン処理システムにおいては、夫々の情報処理端末毎に、換言すると、夫々のウェブブラウザ104毎に、自動ログイン処理の設定が別個に生成される。従って、図7において説明した“有効期限”の情報に基づいて自動ログインDB203からレコードを消去して自動ログイン設定を無効にする場合には、夫々のレコードごとに判断を行うことが可能となる。例えば、クライアント端末1aからは所定期間以上がアクセスがなく、“有効期限”が更新されなかったために自動ログインを無効にするが、モバイル端末1bの自動ログインは可能な状態を維持するような制御が可能である。
他方、図11に示すように、同一のアカウントについて夫々のウェブブラウザ毎に生成された自動ログイン設定は、“ログインID”や“パスワード”に基づいて関連付けることが可能である。従って、上述したように、夫々のレコード毎に消去の判断を行う場合の他、1つのレコードについて消去要因が発生した場合において、“ログインID”や“パスワード”に基づいて関連付けられた同一アカウントの他のウェブブラウザでの自動ログイン設定も同時に消去するような判断も可能である。
そのような、自動ログインDB203のレコードの消去時の判断動作について、図12を参照して説明する。図12に示すように、ウェブサーバアプリケーション202は、自動ログインDB203に記憶されている一のレコードについて消去要因が発生すると(S1201)、その消去要因が同一アカウントの他の自動ログイン設定も同時に消去する一括消去を行うべき要因であるか否かを判断する(S1202)。
S1202の判断の結果、一括消去要因であった場合(S1202/YES)、ウェブサーバアプリケーション202は、消去要因の発生したレコードの“ログインID”に基づいて同一アカウントの他のレコードを自動ログインDB203から抽出し(S1203)、消去要因の発生したレコードと共に一括して消去する(S1204)。他方、一括消去要因ではなかった場合(S1202/NO)、ウェブサーバアプリケーション202は、消去要因の発生したレコードを消去する(S1204)。
S1202の判断における一括消去要因は、予めリスト化して記憶しておくことにより判断可能である。図13は、リスト化された一括消去要因の例を示す図である。図13の例においては、“消去要求”、“最終ログイン判断期間経過”、“アカウント消滅”の情報が一括消去要因としてリスト化されている。換言すると、図13に示す情報は、自動ログイン設定を無効化する際に、認証情報が同一である他の設定情報を一括して無効化する場合の要因が列挙された一括無効化要因情報である。
“消去要求”は、ウェブブラウザ104を介して、ユーザにより自動ログイン設定の消去が要求された場合であり、ユーザによる消去の要求であるため、同一のアカウントの自動ログイン設定を一括して消去するべきであるとの判断を行う趣旨である。“最終ログイン判断期間経過”は、図8に示す“最終ログイン日時”が、現在の日時よりも所定期間以上過去である場合であり、長らくログインされていないアカウントについて利用が再開される場合には、セキュリティ確保のために正当なログイン処理を求めるべきであるとの趣旨である。
“アカウント消滅”は、態様する“ログインID”のレコードがユーザ情報DB204から消滅した場合であり、アカウントが消滅したため、自動ログイン設定を残しても無意味であるとの趣旨である。このような処理により、情報を効率的に管理することが可能である。
尚、図12の例においては、自動ログインDB203のレコードを消去する場合を例として説明したが、これは、そのレコードに基づく自動ログインを無効化するための一態様であり、例えば、無効化対象のレコードに無効化を示すフラグを設定するような態様も考えられる。また、図12の処理は、例えば自動ログイン判定部224によって実現されるが、ウェブサーバアプリケーション202において、図12に示す処理を実行する専用のモジュールが構成されても良い。いずれの場合においても、図12に示す処理を実行するモジュールが、設定情報無効化処理部として機能する。
また、上記実施形態においては、自動ログイン処理を実現するための構成が、ウェブサーバ2のウェブサーバアプリケーション202において実現される場合を例として説明したが、ウェブサーバ2とは別個に設けられた自動ログイン処理専用のサーバによって実現されても良い。このような態様は、図9のS904において、ウェブサーバ2のページから自動ログイン処理専用のサーバのページにリダイレクトされることにより実現される。