JP4894241B2 - コンピュータシステム、認証制御方法、プログラム及びサーバ・クライアントシステム - Google Patents

コンピュータシステム、認証制御方法、プログラム及びサーバ・クライアントシステム Download PDF

Info

Publication number
JP4894241B2
JP4894241B2 JP2005336087A JP2005336087A JP4894241B2 JP 4894241 B2 JP4894241 B2 JP 4894241B2 JP 2005336087 A JP2005336087 A JP 2005336087A JP 2005336087 A JP2005336087 A JP 2005336087A JP 4894241 B2 JP4894241 B2 JP 4894241B2
Authority
JP
Japan
Prior art keywords
user
success record
client
authentication
server
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.)
Expired - Fee Related
Application number
JP2005336087A
Other languages
English (en)
Other versions
JP2007141085A (ja
Inventor
陽一 廣瀬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2005336087A priority Critical patent/JP4894241B2/ja
Publication of JP2007141085A publication Critical patent/JP2007141085A/ja
Application granted granted Critical
Publication of JP4894241B2 publication Critical patent/JP4894241B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、コンピュータシステムにおけるユーザ認証に関し、特にアカウントロック制御に関する。
ユーザ認証を行うコンピュータシステムにおいては、必ず悪意のユーザによる攻撃が想定される。そのため、この種のシステムにおいては、アカウントロック機能が設けられていることが一般的である。アカウントロック機能は、ログイン試行が短期間の間に何度か続けて失敗すると、攻撃と判断してログインが試みられたアカウントをロックし、そのアカウントでのログインを認めないよう制御する機能である。攻撃に曝されたアカウントをロックすることで、そのアカウントのパスワードが破られる危険性を低減できる。
このように、アカウントロック機能はシステムへの不正侵入を防ぐ意味で重要な役割を果たすが、欠点もある。例えば、悪意あるユーザが他人のアカウントに対して適当なパスワードを用いてログイン試行を繰り返すことで、そのアカウントをロックさせることが起こり得る。また、悪意のあるユーザによらなくとも、例えば一般のユーザが自分のユーザIDを間違って入力しログイン試行を繰り返すと、その間違ったユーザIDがたまたま他人のユーザIDに一致していた場合、後者がアカウントロック状態となってしまう。
いったんアカウントがロックされると、システム管理者などシステムの管理情報を操作する権限を持った人に要請してアカウントが利用可能な状態に変更してもらうまでは、ユーザは自分のアカウントでログインができなくなるため、正当なユーザが不自由を強いられる。
この問題に対する従来技術として、特許文献1に示される装置では、ユーザがパスワードを間違えて入力した時、装置が、入力されたパスワードと正しいパスワードとの相違を調べ、キーボードの単純な打ち間違いと判断されるケースに該当する場合には、再試行を認める。これにより、正当なユーザが打鍵ミスによりアカウントロック状態となる事態を減らしている。
また特許文献2に示される認証方法では、パスワードの入力間違いが数度続くごとに、認証のために要求するパスワードの入力回数を増やしていく。すなわち、例えば最初は正しいパスワードを1回入力すればよいところを、何度か入力間違いが行われると、正しいパスワードを例えば2回続けて入力しないと認証成功としないように制御している。
また特許文献3には、パスワードの入力誤りがあるとある遅延時間が経過するまでパスワード入力を受け付けず、誤りの回数が増えるに連れてその遅延時間を長くしていく技術が示される(同文献第5段落)。また、同文献には、例えば破られやすい短いパスワードほど誤り時の遅延時間を大きくするなど、パスワードを構成する文字列の長さに応じて遅延時間の長さを決定する方式も示されている。
これらの従来技術は、いずれも悪意のユーザによる攻撃を行いにくくしたり、攻撃が成功する確率を下げたりすることはできるが、最終的に攻撃とみなされた場合には結局アカウントをロックせざるを得ない。アカウントをロックしない限り、攻撃が続く可能性があるからである。
特開平11−259425号公報 特開2003−141079号公報 特開2001−202334号公報
本発明は、何らかの理由でアカウントがロックされた場合でも、正当なユーザならシステムへのログインができる機会を増やせる方式を提供する。
本発明は、クライアントを操作するユーザから入力されたユーザIDと認証情報を、当該クライアントから受け取り、受け取ったユーザIDと認証情報に基づき所定の認証手段を用いてユーザ認証を行い、該ユーザ認証が成功した場合にユーザのログインを許可し、該ユーザ認証において所定の不正アクセス条件が満足された場合には当該ユーザのユーザIDをアカウントロック状態とすると共に、ユーザIDのアカウントロック状態を解除するためには特定のシステム管理者からの操作を必要とするコンピュータシステムに対し、前記認証手段によるユーザ認証が成功した場合に、成功記録情報を生成してユーザ宛に送信し、前記成功記録情報前記ユーザのユーザIDと前記クライアントのIDとの組合せを成功記録記憶手段に記憶し、クライアントからユーザID及び認証情報に対応づけて成功記録情報を受け取った場合、当該ユーザIDがアカウントロック状態である場合でも、当該ユーザIDと当該クライアントのIDと当該成功記録情報との組合せ前記成功記録記憶手段に登録されたものであれば、アカウントロック状態を維持したままログインを許可クライアントからユーザID及び認証情報を受け取ったが成功記録情報は受け取らなかった場合、当該ユーザIDがアカウントロック状態であれば、ログインを許可しない、処理を実行させるためのプログラムを提供する。
この構成において、認証手段は、当該コンピュータシステム自身が内蔵していてもよいし、当該コンピュータシステムからアクセス可能な他の装置であってもよい。
好適な態様では、前記成功記録記憶手段には、成功記録情報を発行した発行時刻が登録される。
更に好適な態様では、コンピュータシステムが、ユーザから受け取った成功記録情報の発行時刻を前記成功記録記憶手段から求め、その発行時刻が現在時刻より所定時間以上前の場合には、そのユーザIDとその成功記録情報とが前記成功記録記憶手段に登録されたものであっても、ログインを許可しないようにする。
別の好適な態様では、コンピュータシステムが、ユーザから受け取った成功記録情報の発行時刻を前記成功記録記憶手段から求め、求めた発行時刻を示す情報を前記ユーザに提供する、ようにする。

更に別の好適な態様では、コンピュータシステムが、アカウントロック状態のユーザに対してログインを許可した場合、アカウントロック状態である旨を示す通知を前記ユーザに送信する、ようにする。
以下、図面を参照して、本発明の実施の形態を説明する。
図1に示すように、この実施の形態のシステムは、サーバ10と、このサーバ10にアクセスしてサービスの提供を受けるクライアント20とを含む。サーバ10がクライアント20に提供するサービスは特に問わない。サーバ10とクライアント20とは、インターネット等のネットワークを介して接続されている。サーバ10は、クライアント20を操作するユーザからログイン要求を受けた場合、ログインの認められた正当なユーザであるか否かの認証を行う。図1には、サーバ10の持つ構成要素群のうち、このユーザ認証に係る構成要素群を主として示している。
ログイン処理部12は、ユーザからのログイン要求を処理する機能モジュールである。ログイン処理部12は、例えば、クライアント20からユーザのログイン要求を受け取り、認証処理部14やアカウントロックDB(データベース)18などを用いて、そのログイン要求を認めるかどうかを判定する。
認証DB16には、サーバ10へのログインを許可する各ユーザのユーザIDと認証情報(例えばパスワード)のペアが登録されている。認証処理部14は、ユーザの入力したユーザID及び認証情報のペアをログイン処理部12から受け取り、そのペアが認証DB16に登録されている正しいペアであるか否かを判定し、正しければ認証成功とし、そうでなければ認証失敗とする。ログイン処理部12は、この認証の結果に応じ、ユーザからのログイン要求を認めるか否かを判定する。
ログイン処理部12は、あらかじめ定めた期間にユーザ認証の失敗が所定回数以上連続して繰り返された場合、当該ユーザのアカウントをロックする。なお、この判定の基準とする期間の長さや、認証失敗の回数は他の条件に応じて可変としてもよい。
アカウントロックDB18は、アカウントロック状態にあるユーザを登録するデータベースである。例えば、アカウントロック状態にあるユーザのユーザIDが登録される。また、所定時間経過後にアカウントロック状態を自動解除する場合は、アカウントロックされた時刻の情報も登録される。ログイン処理部12は、あるユーザについてアカウントロックの条件が満たされた場合、そのユーザをアカウントロックDB18に登録するとともに、アクセスしてきたユーザのユーザIDがアカウントロックDB18に登録されているか否かを調べることで、当該ユーザがアカウントロック状態であるかどうかを判定する。
成功記録リポジトリ30は、ユーザがログインに成功した場合に成功記録IDを発行し、図2に示すように、この成功記録IDをそのユーザのユーザIDと対応づけて記録する。図示例では、成功記録リポジトリ30は、サーバ10内に内蔵されている。しかし、これは必須のことではない。成功記録リポジトリ30をサーバ10と別のコンピュータ装置上に構築し、サーバ10とインターネット等のネットワーク経由又は専用ケーブル経由で接続してもよい。
成功記録IDは、ログインが成功したという事実(イベント)を個別に識別するための一意な識別情報である。同じユーザが同じクライアント20の同じブラウザ24からログインした場合でも、ログインの時刻が異なれば、異なる成功記録IDが付与される。成功記録IDとしては、例えば、乱数発生器が発生する乱数(又は擬似乱数)を用いることができる。十分な桁数の乱数を用いれば、実用的な範囲でIDに重複が生じる可能性は低い。また、成功記録IDとして乱数を用いることで、攻撃者による成功記録IDの推測を困難にすることができる。また、サーバ10がネットワーク上に複数存在する場合を考慮すると、成功記録IDとしては、サーバ10の識別情報と、乱数などといったそのサーバ10内での識別情報との組み合わせを用いてもよい。なお、複数のサーバ10に対する成功記録IDの発行及び管理を、1つの成功記録リポジトリ30が担う構成をとる場合は、成功記録リポジトリ30は、全てのサーバ10の間で一意な成功記録IDを発行し、発行した成功記録IDに対し、そのIDに対応するログインが行われたサーバの識別情報を対応づけて記録しておく。
成功記録IDは、(ログイン(すなわちユーザ認証)が成功したことのある)正当なユーザであることを示すいわば「信用情報」として機能する。すなわち、この実施の形態では、サーバ10から成功記録IDを受け取ったユーザのクライアント20のブラウザ24(ここでは、サーバ10がウェブサーバである場合を想定している)は、その成功記録IDを成功記録保存部22に保存する。そして、後で再びユーザがサーバ10にログインする際には、ブラウザ24がその成功記録IDをサーバ10に送る。サーバ10は、ユーザからのログイン要求が正当な成功記録IDを伴っていれば、少なくとも前にログインを認めた正当なユーザが自分のクライアント20からログイン要求をしてきたことが分かる。そのように正当な成功記録IDを伴うログイン要求が到来した場合、ログイン処理部12は、仮にそのユーザがアカウントロック状態であったとしても、過去にログインが成功したという事実をいわば信頼して、アカウントロック状態とは取り扱わないようにする。
すなわち、従来は、アカウントロック状態の場合、ユーザを門前払い(すなわちユーザID及び認証情報の入力すら認めない)とするか、或いは正当なユーザID及び認証情報をユーザが提示してもログインは認めなかった。これに対し、このログイン処理部12は、正当な成功記録IDがユーザから提示された場合にはユーザを門前払いとせず、正しいユーザIDと認証情報が入力されればログインを認める。ここで、「正当な成功記録ID」とは、例えば、成功記録リポジトリ30に登録されているユーザIDと成功記録IDのペアに合致するもののことをいう。すなわち、あるユーザIDのユーザがある成功記録IDをログイン処理部12に提示した場合、そのユーザIDと成功記録IDのペアが成功記録リポジトリ30に登録されていれば、その成功記録IDは「正当な成功記録ID」である。
なお、ログインが成功したことを一種の「信用」として利用するとは言っても、その成功があまりに遠い過去のことであれば、その間に成功記録IDが漏洩するなどのリスクがあり、信用度は下がる。そこで、発行した成功記録IDに対して有効期限又は有効期間を設定し、成功記録IDが提示されても、その有効期限又は有効期間が切れていれば、成功記録IDの提示がないものとして取り扱うことも好適である。この場合、成功記録リポジトリ30は、図3に示すように、成功記録IDを記録する際に、その成功記録IDの発行時刻(又は記録時刻)も併せて記録するようにしてもよい。この発行時刻を基準に、有効期間が過ぎたかどうかを判断できる。また、成功記録リポジトリ30が、成功記録IDを発行した際、その成功記録IDの有効期限を定め(例えばその発行時刻に所定の有効期間を足すなど)、その有効期間を成功記録IDと対応づけて記録するようにしてもよい。また、成功記録リポジトリ30が、自分の管理する各成功記録IDの発行時刻や有効期限を例えば定期的に調べ、有効期間が過ぎた成功記録IDを発見した場合には、そのような成功記録IDを削除するようにしてもよい。この場合、クライアント20が有効期限を過ぎた成功記録IDを送ってきたとしても、それは成功記録リポジトリ30にないので、そのクライアントの要求はそのIDの提示がないものとして取り扱われる。
また、ユーザに対して発行した成功記録IDが、コピーなどにより不正利用されるリスクを低減するために、図4に示すように成功記録IDを送ったクライアント20の識別情報(クライアントID)を併せて成功記録リポジトリ30に記録するようにしてもよい。クライアントIDとしては、クライアント20のIPアドレスやMACアドレスなど、クライアント20を一意に特定できるものを用いればよい。サーバ10がクライアント20から成功記録IDを伴うログイン要求を受けた場合、そのクライアント20のクライアントIDがその成功記録IDに対応して成功記録リポジトリ30に登録されたクライアントIDと一致しているか否かが判定され、一致していなければ、その成功記録IDは無効とみなされる。これにより、ユーザが、自分が以前にサーバ10にログインする際に利用したクライアント20以外からは、成功記録IDを利用できないようにすることができる。
以上、サーバ10を中心に説明した。これに対し、クライアント20は、ユーザが操作するパーソナルコンピュータなどのコンピュータ装置である。
ここでは、サーバ10がウェブサーバである場合を想定しているので、ユーザはクライアント20にインストールされたブラウザ(ウェブブラウザ)24を介してサーバ10にアクセスする。このブラウザ24は、サーバ10から送られてきた成功記録IDをクライアント20の記憶装置に保存するための仕組みを備える。これには、例えばWebのクッキー(HTTP cookie)技術を利用することができる。この場合、サーバ10は、ログインページでのログイン認証が成功した場合成功記録IDをクッキーとしてブラウザ24に提供し、ブラウザ24はそのクッキーをテキストファイルとして保存する。そして、次に同じサーバ10のログインページにアクセスする際には、そのクッキーをそのサーバ10に送る。このようなクッキーの処理機構はウェブブラウザに標準的に搭載されているので、ブラウザ24としては一般的なウェブブラウザをそのまま利用できる。
成功記録保存部22は、サーバ10から受け取った成功記録IDを保存する記憶装置である。成功記録IDがクッキーとして提供される場合、ブラウザ24がそのクッキーがどのサーバ10(のどのページ)からのものであるかを管理するので、成功記録保存部22は単なるファイルシステムでよい。ブラウザ24が持っていないプロトコルを用いて成功記録IDをサーバ・ブラウザ間で受け渡す場合は、その受け渡しのための管理を行うプログラムを例えばブラウザ24にプラグインするなどの方法をとればよい。この受け渡しの管理のためのプログラムは、成功記録IDをサーバ10から受け取った場合、その成功記録IDをそのサーバの識別情報と対応づけて成功記録保存部22に保存し、ブラウザがサーバ10のログインページにアクセス(ログイン要求)する場合には、そのサーバ10に対応する成功記録IDが成功記録保存部22にあるかどうかを調べ、あればその成功記録IDをそのログイン要求に付加する。
なお、サーバ10がウェブサーバでない場合は、クライアント20には、ブラウザ24に代えて、サーバ10との間での処理を行うのに必要なプロトコルを有する対サーバ処理部を設ければよい。そして、その対サーバ処理部が成功記録IDの保存と、サーバ10への送信との管理を行えばよい。
次に、図5〜図9を参照して、このシステムにおけるログイン処理の流れを説明する。まず、図5を参照して、成功記録IDを持たないクライアントからアカウントロック状態でないユーザがサーバにログインを試みた場合の処理の流れを説明する。
この処理では、
[1]まず、ユーザの指示に従いクライアント20(以下では、特記しない限りブラウザ24のことを指す)がサーバ10にログイン要求を行う。ログイン要求は、例えばサーバ10が提供するログインページを要求するHTTP要求をブラウザ24が発行することによりなされる。この例では、クライアント20はサーバ10からの成功記録IDを持っていないので、ログイン要求には成功記録IDが付随しない。
[1R]このようなログイン要求を受けたサーバ10は、ログイン要求に成功記録IDが伴っていないことを認識すると共に、ユーザIDとパスワードを入力するためのログインフォーム(ログインページ)をクライアント20に返す。以下では、「サーバ10」と示した場合、特記しなければ、ログイン処理部12のことを指すものとする。
[2]そのログインフォームに対し、クライアント20を操作するユーザがユーザIDとパスワードを入力すると、それらユーザIDとパスワードとがサーバ10に送信される。
[2.1]サーバ10は、クライアント20から受け取ったユーザID及びパスワードを認証処理部14に渡し、ユーザ認証を行わせる。ここで、仮にそのユーザ認証が失敗した場合は、サーバ10はログイン失敗の旨と再度ユーザIDとパスワードを入力するためのフォームとを示したページをクライアント20に提供し、再入力を受け付ける。アカウントロックの条件が満足される(例えば所定時間以内に所定回数以上続けて認証失敗となるなど)までは、正しいユーザIDとパスワードが入力されるまでその再入力のための処理が繰り返される。なお、図5の例では、ユーザ認証が成功し、ログインが認められたものとする。
[2.2]ユーザ認証が成功した場合、サーバ10は、成功記録リポジトリ30に対して成功記録の登録を要求する。この要求には、認証が成功したことを示す情報と、認証が成功したユーザのユーザIDとが含まれる。
[2.2R]成功記録リポジトリ30は、サーバ10の要求に応じ、一意な成功記録IDを生成し、この成功記録IDをサーバ10に対して発行する。また、成功記録リポジトリ30は、発行したい成功記録IDを、サーバ10からの要求に示されるユーザIDと対応づけて(また構成によっては更に発行時刻又は有効期限と共に、別の例ではクライアントIDと共に)記録する。
[2R]サーバ10は、ログインが成功した旨を示す情報(例えばログイン成功時に提供するウェブページ)と共に、成功記録リポジトリ30から受け取った成功記録IDをクライアント20に、例えばクッキー情報の形で送信する。
[3]クライアント20は、サーバ10から受け取った成功記録IDを、例えばクッキーとして、自分の記憶装置に保存する。
以上に説明した図5の処理は、成功記録IDに関連する処理以外は、従来のログイン認証処理と同様の流れでよい。
次に、図6を参照して、成功記録IDを持つクライアントからアカウントロック状態でないユーザがサーバにログインを試みた場合の処理の流れを説明する。
[1]このケースでは、クライアント20は、ユーザからサーバ10へのログインを指示された場合、自分の成功記録保存部22に保存されているそのサーバ10についての成功記録IDを読み出し(クッキーの場合はブラウザ24の機能により自動的に読み出される)、ログイン要求と対応づけてこの成功記録IDをサーバ10に送る。
[1.1]サーバ10は、その成功記録IDが有効か否かを成功記録リポジトリ30に問い合わせる。
[1.1R]成功記録リポジトリ30は、サーバ10からの要求に応じその成功記録IDが有効か否かを判定する。1つの例では、その成功記録IDがリポジトリ30内に記録されていれば有効と、そうでなければ無効と判定する。また、成功記録IDに有効期間又は期限が設定されている場合は、その有効期間又は期限が切れているか否かを確認し、切れていればその成功記録IDは無効と判定する。図6は、成功記録IDが有効と判定された場合であり、成功記録リポジトリ30は有効である旨の回答をサーバ10に返している。
なお、クライアント20からの成功記録IDが無効である場合は、成功記録リポジトリ30は無効の旨の回答をサーバ10に返す。この場合、サーバ10は、ユーザからのログイン要求を、成功記録IDがない場合と同様に取り扱う。
[1R]成功記録IDが有効である旨の回答を受けたサーバ10は、クライアント20に対してログインフォームを送信する。このログインフォームは、図5のステップ1R.で送信するログインフォームと同じものでよい。以下の他のケースでも、ログインフォームは同じものでよい。
[2]そのログインフォームに対し、クライアント20を操作するユーザがユーザIDとパスワードを入力すると、それらユーザIDとパスワードとがサーバ10に送信される。
[2.1]サーバ10は、クライアント20から受け取ったユーザID及びパスワードを認証処理部14に渡し、ユーザ認証を行わせる。図6の例では、ユーザ認証が成功し、ログインが認められたものとする。
[2.2]ユーザ認証が成功した場合、サーバ10は、ログイン要求元のユーザのユーザIDを成功記録リポジトリ30に送り、チェックを依頼する。
[2.2.1]チェック依頼を受けた成功記録リポジトリ30は、受け取ったユーザIDと、ステップ1.1で受け取った成功記録IDのペア(ステップ2.2でサーバ10からユーザIDと成功記録IDのペアを送った場合はそのペア)が、成功記録リポジトリ30に記録されているペアと一致するか否かを判定する。これは成功記録IDの正当性の検査である。また、成功記録リポジトリ30は、自分の記録しているデータの中から、その成功記録IDに対応するエントリを削除する。これは、一度利用された成功記録IDを削除するためである。
[2.2R]成功記録リポジトリ30は、ユーザIDと成功記録IDのペアが自分の記録したものと一致したかどうかの判定結果をサーバ10に返す。
[2.3]図6の例では、ステップ2.1のユーザ認証が成功しているので、サーバ10は、成功記録リポジトリ30に対してユーザIDを送り、成功記録の登録を要求する。
[2.3R]成功記録リポジトリ30は、サーバ10の要求に応じ一意な成功記録IDを生成し、この新たな成功記録IDをサーバ10に対して発行すると共に、これをユーザIDと対応づけて記録する。
[2R]サーバ10は、ログインが成功した旨を示す情報(例えばログイン成功時に提供するウェブページ)と共に、成功記録リポジトリ30から受け取った成功記録IDをクライアント20に送信する。
[3]クライアント20は、サーバ10から受け取った成功記録IDを保存する。
なお、成功記録リポジトリ30に成功記録IDの発行時刻を記録する構成の場合、ステップ2.2.1で削除した古い成功記録IDの発行時刻を、新たに発行された成功記録IDと共に、成功記録リポジトリ30からサーバ10に渡すこともできる。この場合、サーバ10は、その古い成功記録IDの発行時刻を当該ユーザのサーバ10に対する最終ログイン時刻として示す画面(例えばウェブページ)を生成し、クライアント20にこれを提供して表示させてもよい。この時刻は、そのユーザIDのユーザがそのクライアント20から最後にアクセスした時刻を示す。このシステムでは、成功記録IDは、クライアント20からサーバ10へ送られると必ず成功記録リポジトリ30から削除されるので、成功記録IDとクライアント20とは必ず一対一に対応している。このため、成功記録IDの発行時刻は、そのクライアント20からの最終ログイン時刻を示すことになる。サーバ10は、これとは別に、一般にユーザIDごとにその最終ログイン時刻を管理しているので、これも併せてユーザに提供すれば、ユーザは、ユーザIDに対応する最終ログイン時刻と、当該クライアント20からの最終ログイン時刻との比較ができる。ユーザが最後にログインしたのがそのクライアント20からだと認識していて、ユーザIDに対応する最終ログイン時刻がそのクライアント20からの最終ログイン時刻より後であることが分かれば、誰かが別のコンピュータから自分になりすましてログインしたことが分かる。なお、このようなクライアント20ごとの最終ログイン時刻の提供は、後述する図9の処理の場合にも適用できる。
図6の例では、ログイン要求を行ったユーザはアカウントロック状態ではなく、またステップ2.1の認証も成功したので、ステップ2.2Rにおける判定結果の如何によらず、新たな成功記録IDは発行される。
また、図6の処理では、成功記録IDの有効性のみをまずステップ1.1で判定し、ステップ2.2で成功記録IDとユーザIDのペアの正当性を判定したが、ステップ2.2において有効性及びペアの正当性を併せて判定してもよい。
次に、図7を参照して、ユーザがクライアント20からサーバ10へ不正ログインを試みた場合の処理の流れを説明する。ここでは、ユーザは正しいパスワードを知らないため、様々なパスワードを入力して侵入を試みたとする。
[1]まず、クライアント20からサーバ10にログイン要求が行われる。ここで、サーバ10についての成功記録IDがクライアント20に保持されている場合は、その成功記録IDもサーバ10に渡され、サーバ10はその成功記録IDの有効性をリポジトリ30に問い合わせ、リポジトリ30はその有効性の判定結果をサーバ10に返す(図示省略)。
[1R]サーバ10はログインフォームをクライアント20に返す。
[2]クライアント20は、ユーザが入力したユーザID及びパスワードをサーバ10に送信する。
[2.1]サーバ10は、受け取ったユーザID及びパスワードを認証処理部14に渡してユーザ認証を行わせる。図7の例では、このユーザ認証が所定の期間の間に同じユーザIDについて所定回数以上連続して失敗するなど、アカウントロックの条件が満たされるとする。この場合、サーバ10は、そのユーザIDをアカウントロックDB18に登録する。
[2.2]ステップ1のログイン要求に成功記録IDが伴っていた場合は、サーバ10は成功記録リポジトリ30にその成功記録IDの削除を指示する。これは、一度使用された成功記録IDが再び使用されることをなくすためである。なお、ログイン要求に成功記録IDが伴っていなかった場合は、このステップは不要である。
[2R]サーバ10は、クライアント20に対してログイン失敗の旨を回答(例えばログイン失敗のメッセージを表示したウェブページ)する。この回答を受けたクライアント20は、その回答を画面表示するなどの処理を行う。
次に、図8を参照して、成功記録IDを持たないクライアントからアカウントロック状態のユーザがサーバにログインを試みた場合の処理の流れを説明する。
[1]まず、クライアント20からサーバ10にログイン要求が行われる。このケースでは成功記録IDは伴わない。
[1R]サーバ10はログインフォームをクライアント20に返す。
[2]クライアント20は、ユーザが入力したユーザID及びパスワードをサーバ10に送信する。
[2.1]サーバ10は、受け取ったユーザID及びパスワードに対する認証処理を行うが、このときアカウントロックDB18にそのユーザIDが登録されているかどうかを判定する(この判定は、図5〜7の処理でも行われているが、煩雑さを避けるため説明を省略した)。図8のケースでは、そのユーザIDはアカウントロックDB18に登録されている(すなわち、アカウントロック状態)なので、ユーザ認証を行うまでもなく、ログイン失敗となる(ただし、ユーザIDとパスワードを用いたユーザ認証を行ってももちろんよい)。
[2R]サーバ10は、クライアント20に対してログイン失敗の旨を回答する。
以上に説明した図8の処理は、従来のログイン認証処理において、アカウントロック状態のユーザからのログイン要求を処理する処理と同様でよい。
次に、図9を参照して、成功記録IDを持つクライアントからアカウントロック状態のユーザがサーバにログインを試み、成功する場合の処理の流れを説明する。
[1]クライアント20は、ユーザからサーバ10へのログインを指示された場合、そのサーバ10についての成功記録IDを読み出し、ログイン要求と対応づけてこの成功記録IDをサーバ10に送る。
[1.1]サーバ10は、その成功記録IDが有効か否かを成功記録リポジトリ30に問い合わせる。
[1.1R]成功記録リポジトリ30は、サーバ10からの要求に応じその成功記録IDが有効か否かを判定する。この例では、成功記録IDが有効と判定され、成功記録リポジトリ30は有効である旨の回答をサーバ10に返す。なお、成功記録IDが無効と判定された場合は、成功記録リポジトリ30は無効の旨の回答をサーバ10に返し、サーバ10は、ユーザからのログイン要求を、成功記録IDがない場合と同様に取り扱う(すなわち図8と同様の取り扱い)。
[1R]成功記録IDが有効である旨の回答を受けたサーバ10は、クライアント20に対してログインフォームを送信する。
[2]そのログインフォームに対し、クライアント20を操作するユーザがユーザIDとパスワードを入力すると、それらユーザIDとパスワードとがサーバ10に送信される。
[2.1]サーバ10は、ユーザID及びパスワードを受け取った場合、アカウントロックDB18にそのユーザIDが登録されているかどうかを判定する。このケースでは、ユーザIDはアカウントロックDB18に登録されている。従来なら、これで直ちにログイン失敗となるが、この例では、クライアント20から提示された成功記録IDが有効だったので、ユーザIDとパスワードを用いたユーザ認証を行う。図9の例では、ユーザ認証は成功したものとする。
[2.2]ユーザ認証が成功した場合、サーバ10は、ログイン要求元のユーザのユーザIDを成功記録リポジトリ30に送り、チェックを依頼する。なお、このユーザ認証が失敗した場合、ユーザは、ログイン失敗の旨をクライアント20に通知する。
[2.2.1]チェック依頼を受けた成功記録リポジトリ30は、図6のステップ2.2.1と同様、ユーザIDと成功記録IDのペアが成功記録リポジトリ30に記録されているペアと一致するか否かを判定すると共に、自分の記録しているデータの中から、その成功記録IDに対応するエントリを削除する。
[2.2R]成功記録リポジトリ30は、ユーザIDと成功記録IDのペアが自分の記録しているものと一致したかどうかの判定結果をサーバ10に返す。
ここで、ユーザIDと成功記録IDのペアが記録されたものと一致しなければ、サーバ10は、ユーザ認証の結果によらず、ログイン失敗と判定する。これは、成功記録IDが正当なものである場合にのみ、アカウントロック時のログイン認証を認めるという立場にしたがったものである。
ユーザIDと成功記録IDのペアが記録されたものと一致していれば、ステップ2.1のユーザ認証は成功しているので、ログイン成功となる。
[2.3]このケースではログイン成功なので、サーバ10は、成功記録リポジトリ30に対してユーザIDを送り、成功記録の登録を要求する。
[2.3R]成功記録リポジトリ30は、サーバ10の要求に応じ一意な成功記録IDを生成し、この新たな成功記録IDをサーバ10に対して発行すると共に、これをユーザIDと対応づけて記録する。
[2R]サーバ10は、ログインが成功した旨を示す情報(例えばログイン成功時に提供するウェブページ)と共に、成功記録リポジトリ30から受け取った成功記録IDをクライアント20に送信する。
[3]クライアント20は、サーバ10から受け取った成功記録IDを保存する。
ここで、サーバ10は、ログイン成功後にクライアント20に提供する画面(例えばウェブページ)で、アカウントロック状態であることをユーザに通知することも好適である。ユーザはこの通知を見て、システム管理者に事情の調査やアカウントロック状態の解除を依頼するなどの処置をとることができる。
図9の処理では、成功記録IDの有効性のみをまずステップ1.1で判定し、ステップ2.2で成功記録IDとユーザIDのペアの正当性を判定したが、ステップ2.2において有効性及びペアの正当性を併せて判定してもよい。
以上、図1のシステムにおけるログイン認証処理について説明した。このシステムによれば、あるユーザが何らかの事情であるサーバ10においてアカウントロック状態となっていたとしても、そのユーザが以前にそのサーバ10に対しログインに成功したクライアント20からなら、即座に門前払いとなることなく、ユーザ認証に合格すればログインできる。従来ならば、システム管理者がアカウントロックを解除するまでは、正当なユーザはログインが不可能であったが、図1のシステムによればそのような不便は軽減される。
以上のシステムでは、サーバ10自身が認証処理部14及び認証DB16を備えていたが、サーバ10に認証処理部14及び認証DB16を設けず、ネットワーク上にある認証サーバに対しサーバ10が認証を依頼するようにしてもよい。
また、以上の例では、成功記録IDをクッキーとしてクライアント20に保存したが、この代わりに、ActiveX(マイクロソフト社の登録商標)コンポーネント等の技術を用いることで、その成功記録IDをクライアント20のハードウエア固有の情報(例えばMACアドレスやハードディスクドライブのシリアル番号など)を用いて暗号化した上で、クライアント20に保存することも好適である。このようにすることで、その成功記録IDをコピーして別のコンピュータで不正利用されることを防止できる。
以上説明したサーバ10やクライアント20の各機能は、汎用コンピュータに対し、それら各機能を記述したプログラムを実行させることにより実現される。それらプログラムは、CD−ROM等の可搬型の記録媒体から、又はネットワークからのダウンロードにより、そのコンピュータに付属する固定記憶装置にインストールされ、実行可能となる。
実施の形態のシステム構成を示す図である。 成功記録リポジトリが記録する成功記録データの例を示す図である。 成功記録リポジトリが記録する成功記録データの別の例を示す図である。 成功記録リポジトリが記録する成功記録データの更に別の例を示す図である。 成功記録IDを持たないクライアントからアカウントロック状態でないユーザがサーバにログインを試み、成功する場合の処理の流れを示す図である。 成功記録IDを持つクライアントからアカウントロック状態でないユーザがサーバにログインを試み、成功する場合の処理の流れを示す図である。 不正ログイン時の処理の流れを示す図である。 成功記録IDを持たないクライアントからアカウントロック状態のユーザがサーバにログインを試みた場合の処理の流れを示す図である。 成功記録IDを持つクライアントからアカウントロック状態のユーザがサーバにログインを試み、成功する場合の処理の流れを示す図である。
符号の説明
10 サーバ、12 ログイン処理部、14 認証処理部、16 認証DB、18 アカウントロックDB、20 クライアント、22 成功記録保存部、24 ブラウザ、30 成功記録リポジトリ。

Claims (7)

  1. クライアントを操作するユーザから入力されたユーザIDと認証情報を、当該クライアントから受け取り、受け取ったユーザIDと認証情報に基づき所定の認証手段を用いてユーザ認証を行い、該ユーザ認証が成功した場合にユーザのログインを許可し、該ユーザ認証において所定の不正アクセス条件が満足された場合には当該ユーザのユーザIDをアカウントロック状態とすると共に、ユーザIDのアカウントロック状態を解除するためには特定のシステム管理者からの操作を必要とするコンピュータシステムに対し、
    前記認証手段によるユーザ認証が成功した場合に、成功記録情報を生成してユーザ宛に送信し、
    前記成功記録情報と前記ユーザのユーザIDと前記クライアントのIDとの組合せを成功記録記憶手段に記憶し、
    クライアントからユーザID及び認証情報に対応づけて成功記録情報を受け取った場合、当該ユーザIDがアカウントロック状態である場合でも、当該ユーザIDと当該クライアントのIDと当該成功記録情報との組合せが前記成功記録記憶手段に登録されたものであれば、アカウントロック状態を維持したままログインを許可し、
    クライアントからユーザID及び認証情報を受け取ったが成功記録情報は受け取らなかった場合、当該ユーザIDがアカウントロック状態であれば、ログインを許可しない、
    処理を実行させるためのプログラム。
  2. 請求項1記載のプログラムであって、前記成功記録記憶手段には、成功記録情報を発行した発行時刻が登録されることを特徴とする、プログラム。
  3. 請求項2記載のプログラムであって、前記コンピュータシステムに対し、
    ユーザから受け取った成功記録情報の発行時刻を前記成功記録記憶手段から求め、
    その発行時刻が現在時刻より所定時間以上前の場合には、そのユーザIDとその成功記録情報とが前記成功記録記憶手段に登録されたものであっても、ログインを許可しない、
    処理を実行させることを特徴とするプログラム。
  4. 請求項2記載のプログラムであって、前記コンピュータシステムに対し、
    ユーザから受け取った成功記録情報の発行時刻を前記成功記録記憶手段から求め、
    求めた発行時刻を示す情報を前記ユーザに提供する、
    処理を実行させることを特徴とするプログラム。
  5. 請求項1記載のプログラムであって、前記コンピュータシステムに対し、
    アカウントロック状態のユーザに対してログインを許可した場合、アカウントロック状態である旨を示す通知を前記ユーザに送信する、
    処理を更に実行させることを特徴とするプログラム。
  6. クライアントを操作するユーザから入力されたユーザIDと認証情報を、当該クライアントから受け取り、受け取ったユーザIDと認証情報に基づき所定の認証手段を用いてユーザ認証を行い、該ユーザ認証が成功した場合にユーザのログインを許可し、該ユーザ認証において所定の不正アクセス条件が満足された場合には当該ユーザのユーザIDをアカウントロック状態とすると共に、ユーザIDのアカウントロック状態を解除するためには特定のシステム管理者からの操作を必要とするコンピュータシステムであって、
    前記認証手段によるユーザ認証が成功した場合に、成功記録情報を生成してユーザ宛に送信する成功記録発行手段と、
    前記成功記録発行手段が発行した成功記録情報と前記ユーザのユーザIDと前記クライアントのIDとの組合せを記憶する成功記録記憶手段と、
    クライアントからユーザID及び認証情報に対応づけて成功記録情報を受け取った場合、当該ユーザIDがアカウントロック状態である場合でも、当該ユーザIDと当該クライアントのIDと当該成功記録情報との組合せが前記成功記録記憶手段に登録されたものであれば、アカウントロック状態を維持したままログインを許可し、クライアントからユーザID及び認証情報を受け取ったが成功記録情報は受け取らなかった場合、当該ユーザIDがアカウントロック状態であれば、ログインを許可しない、ログイン制御手段と、
    を備えるコンピュータシステム。
  7. クライアントを操作するユーザから入力されたユーザIDと認証情報を、当該クライアントから受け取り、受け取ったユーザIDと認証情報に基づき所定の認証手段を用いてユーザ認証を行い、該ユーザ認証が成功した場合にユーザのログインを許可し、該ユーザ認証において所定の不正アクセス条件が満足された場合には当該ユーザのユーザIDをアカウントロック状態とすると共に、ユーザIDのアカウントロック状態を解除するためには特定のシステム管理者からの操作を必要とするサーバと、このサーバに対してアクセスするクライアントからなるサーバ・クライアントシステムであって、
    サーバは、
    前記認証手段によるユーザ認証が成功した場合に、成功記録情報を生成してクライアント宛に送信する成功記録発行手段と、
    前記成功記録発行手段が発行した成功記録情報と前記ユーザのユーザIDと前記クライアントのIDとの組合せを記憶する成功記録記憶手段と、
    クライアントから、ユーザのユーザID及び認証情報に対応づけて成功記録情報を受け取った場合、当該ユーザIDがアカウントロック状態である場合でも、当該ユーザIDと当該クライアントのIDと当該成功記録情報との組合せが前記成功記録記憶手段に登録されたものであれば、アカウントロック状態を維持したままログインを許可し、クライアントからユーザID及び認証情報を受け取ったが成功記録情報は受け取らなかった場合、当該ユーザIDがアカウントロック状態であれば、ログインを許可しない、ログイン制御手段と、
    を備え、
    クライアントは、
    前記サーバから受信した成功記録情報を保存する保存手段と、
    前記サーバにログイン要求を行う際、そのサーバに対応する成功記録情報が前記保存手段に保存されていれば、当該成功記録情報を前記サーバに送信する手段と、
    を備える、
    ことを特徴とするサーバ・クライアントシステム。
JP2005336087A 2005-11-21 2005-11-21 コンピュータシステム、認証制御方法、プログラム及びサーバ・クライアントシステム Expired - Fee Related JP4894241B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005336087A JP4894241B2 (ja) 2005-11-21 2005-11-21 コンピュータシステム、認証制御方法、プログラム及びサーバ・クライアントシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005336087A JP4894241B2 (ja) 2005-11-21 2005-11-21 コンピュータシステム、認証制御方法、プログラム及びサーバ・クライアントシステム

Publications (2)

Publication Number Publication Date
JP2007141085A JP2007141085A (ja) 2007-06-07
JP4894241B2 true JP4894241B2 (ja) 2012-03-14

Family

ID=38203843

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005336087A Expired - Fee Related JP4894241B2 (ja) 2005-11-21 2005-11-21 コンピュータシステム、認証制御方法、プログラム及びサーバ・クライアントシステム

Country Status (1)

Country Link
JP (1) JP4894241B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4911678B2 (ja) * 2006-03-31 2012-04-04 株式会社沖データ 情報処理装置及び情報処理システム
US20150088688A1 (en) * 2012-09-21 2015-03-26 Rakuten, Inc E-commerce system and its authentication method
CN104426835B (zh) * 2013-08-20 2020-03-20 深圳市腾讯计算机系统有限公司 一种登录检测的方法、服务器、登录检测装置及其系统
CN104426844B (zh) * 2013-08-21 2019-02-05 深圳市腾讯计算机系统有限公司 一种安全认证方法、服务器以及安全认证系统
JP6891455B2 (ja) * 2016-11-10 2021-06-18 日本電気株式会社 アカウント制御装置、アカウント制御方法、および、アカウント制御プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073557A (ja) * 2000-08-25 2002-03-12 Fujitsu Ltd サーバに認証に係る処理を行なわせるためのプログラムを記憶した記憶媒体
JP2002344484A (ja) * 2001-05-21 2002-11-29 Nec Corp ネットワークの接続復旧方法及びシステム
JP2003157235A (ja) * 2001-11-20 2003-05-30 Hirohiko Nakano 情報端末およびそのためのプログラム、ならびにそれを用いた情報ネットワークシステム
JP2003178029A (ja) * 2001-12-12 2003-06-27 Nec Corp 認証管理システムと方法、認証サーバ、セッション管理サーバおよびプログラム
JP2003233592A (ja) * 2002-02-12 2003-08-22 Toshiba Corp 認証サーバ、認証システム及び認証方法
JP3904533B2 (ja) * 2003-05-29 2007-04-11 京セラコミュニケーションシステム株式会社 ログイン管理システムおよびその方法

Also Published As

Publication number Publication date
JP2007141085A (ja) 2007-06-07

Similar Documents

Publication Publication Date Title
US8141138B2 (en) Auditing correlated events using a secure web single sign-on login
US7590731B2 (en) Accessing a server using a user authentication indicator
US6584505B1 (en) Authenticating access to a network server without communicating login information through the network server
KR100464755B1 (ko) 이메일 주소와 하드웨어 정보를 이용한 사용자 인증방법
US7134138B2 (en) Methods and apparatus for providing security for a data storage system
US7827318B2 (en) User enrollment in an e-community
US8776199B2 (en) Authentication of a server by a client to prevent fraudulent user interfaces
JP4070708B2 (ja) セキュリティ確保支援プログラム及びそのプログラムを実行するサーバ装置並びにそのプログラムを記憶した記憶媒体
JP5125187B2 (ja) 認証処理プログラム、情報処理プログラム、認証処理装置、認証処理システムおよび情報処理システム
US8438383B2 (en) User authentication system
WO2006072994A1 (ja) ネットワークカメラへのログイン認証システム
US20100318806A1 (en) Multi-factor authentication with recovery mechanisms
US20080270571A1 (en) Method and system of verifying permission for a remote computer system to access a web page
JP5013931B2 (ja) コンピューターログインをコントロールする装置およびその方法
JP4334515B2 (ja) サービス提供サーバ、認証サーバ、および認証システム
JP5193787B2 (ja) 情報処理方法、中継サーバおよびネットワークシステム
JP4894241B2 (ja) コンピュータシステム、認証制御方法、プログラム及びサーバ・クライアントシステム
CN115118444A (zh) 信息处理装置以及存储介质
US7356711B1 (en) Secure registration
US20060129828A1 (en) Method which is able to centralize the administration of the user registered information across networks
JP5254755B2 (ja) 特権id管理システム
JP2020030759A (ja) 権限委譲システム、情報処理装置およびその制御方法、並びにプログラム。
JP2005267529A (ja) ログイン認証方式、ログイン認証システム、認証プログラム、通信プログラムおよび記憶媒体
KR100545676B1 (ko) 사용자 단말기의 상태 정보를 이용한 인증 방법 및 시스템
JP4683856B2 (ja) 認証プログラムおよび認証サーバ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081022

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110621

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111109

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: 20111129

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111212

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150106

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees