(57)【要約】      （修正有）【課題】異なるネットワークに接続されたサーバ装置とクライアント端末の端末認証を可能にする。【解決手段】Webアプリケーション104は、受信したユーザ情報106と、予めWebサーバ102に登録されたユーザ情報を照合しS107、ユーザ認証が成功した場合、過去に未生成のユニークなログインキーをユーザ認証に成功した証明として生成しS108、クライアント端末101上で動作する端末情報取得プログラム103を起動し、端末情報取得プログラム103にログインキー110を渡すS109。端末情報取得プログラム103は、クライアント端末101のMACアドレスを取得しS112、ログインキーおよびMACアドレス113をWebアプリケーション104に返す。Webアプリケーション104は、受信したMACアドレスと、予めWebサーバ102に登録されたMACアドレスを照合して端末認証を行うS114。【選択図】図１
2007011791.tif 000002
【特許請求の範囲】
【請求項１】
互いに異なるネットワークに接続されたサーバ装置およびクライアント端末から構成されるクライアントサーバシステムにおける前記クライアント端末の認証方法であって、
クライアント端末からのログイン要求に対して、ユーザ情報を要求する要求ステップと、
前記クライアント端末から受信したユーザ情報に対応する情報が、データベースに登録されている否かを判定する第一の判定ステップと、
前記ユーザ情報が前記データベースに登録されていると判定した場合、前記クライアント端末に送信すべきログインキーを生成する生成ステップと、
前記クライアント端末から前記ログインキーおよび前記クライアント端末のMACアドレスを受信し、前記MACアドレスが前記データベースに登録されているか否かを判定する第二の判定ステップと、
前記MACアドレスが前記データベースに登録されていると判定した場合、ログイン処理を行うログイン処理ステップとを有することを特徴とする認証方法。
【請求項２】
さらに、前記受信したログインキーを判定するステップを有し、前記ログインキーを受信しなかった場合、あるいは、前記受信したログインキーが、未発行、既発行だがログイン済み、または、発行から所定時間経過している場合は、認証を中断することを特徴とする請求項1に記載された認証方法。
【請求項３】
前記受信するログインキーは所定の方法で暗号化されていることを特徴とする請求項2に記載された認証方法。
【請求項４】
さらに、前記MACアドレスの受信前に、前記クライアント端末にインストールされたMACアドレスの取得プログラムを起動するステップを有することを特徴とする請求項1から請求項3の何れかに記載された認証方法。
【請求項５】
前記ログインキーは、前記ユーザ情報の一部、時間情報、および、履歴情報の少なくとも一つを含むことを特徴とする請求項1から請求項4の何れかに記載の端末認証方法。
【請求項６】
互いに異なるネットワークに接続されたサーバ装置およびクライアント端末から構成されるクライアントサーバシステムにおけるサーバ装置であって、
クライアント端末のログイン要求に対して、ユーザ情報を要求する要求手段と、
前記クライアント端末から受信したユーザ情報に対応する情報が、データベースに登録されている否かを判定する第一の判定手段と、
前記ユーザ情報が前記データベースに登録されていると判定した場合、ログインキーを生成する生成手段と、
前記ログインキーを前記クライアント端末に送信する送信手段と、
前記クライアント端末から前記ログインキーおよび前記クライアント端末のMACアドレスを受信する受信手段と、
前記MACアドレスが前記データベースに登録されているか否かを判定する第二の判定手段と、
前記MACアドレスが前記データベースに登録されていると判定した場合、ログイン処理を行うログイン処理手段とを有することを特徴とするサーバ装置。
【請求項７】
情報処理装置を制御して、請求項1から請求項5の何れかに記載された認証を実現することを特徴とするプログラム。
【請求項８】
請求項7に記載されたプログラムが記録されたことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は認証方法およびサーバ装置に関し、例えば、サーバクライアントシステムにおけるクライアント端末の認証に関する。
【背景技術】
【０００２】
近年、ネットワークを介して複数の端末装置がサーバに接続されるクライアントサーバシステムが広く普及している。このようなシステムにログインする際、システムのセキュリティを維持するために、ユーザIDとパスワードを使ったユーザ認証が一般的に行われる。
【０００３】
さらに、ユーザIDとパスワードを盗んだ第三者による、なりすましログインを防ぐために、システムにアクセス可能なクライアント端末を限定する端末認証も行われている。この端末認証の方法としては、サーバがクライアント端末のMAC (Media Access Control)アドレスの問い合わせをブロードキャストして、クライアント端末から返されたMACアドレスが登録済みか否かを確認するものがある（例えば、特許文献1）。
【０００４】
また、システムにログインする際に、ユーザIDとパスワード、および、クライアント端末のMACアドレスをサーバへ送信して、ユーザ認証と同時に端末認証を行うものがある（例えば、特許文献2）。
【０００５】
しかし、クライアント端末のMACアドレスの問い合わせをブロードキャストで行う方式は、ルータを介したネットワーク間では利用できない。つまり、サーバ装置とクライアント端末が異なるネットワークに接続されている場合に適用することができない。
【０００６】
また、ユーザ認証と同時に端末認証を行う方式は、偽造したMACアドレスを送信する不正アクセスを受ける危険性がある。
【０００７】
【特許文献１】特開2002-83242公報（7頁、図3）
【特許文献２】特開2002-222172公報（6頁、図3）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、異なるネットワークに接続されたサーバ装置とクライアント端末の端末認証を可能にすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１０】
本発明にかかる認証方法は、互いに異なるネットワークに接続されたサーバ装置およびクライアント端末から構成されるクライアントサーバシステムにおける前記クライアント端末の認証方法であって、クライアントサーバシステムにおけるクライアント端末の認証方法であって、クライアント端末からのログイン要求に対して、ユーザ情報を要求する要求ステップと、前記クライアント端末から受信したユーザ情報に対応する情報が、データベースに登録されている否かを判定する第一の判定ステップと、前記ユーザ情報が前記データベースに登録されていると判定した場合、前記クライアント端末に送信すべきログインキーを生成する生成ステップと、前記クライアント端末から前記ログインキーおよび前記クライアント端末のMACアドレスを受信し、前記MACアドレスが前記データベースに登録されているか否かを判定する第二の判定ステップと、前記MACアドレスが前記データベースに登録されていると判定した場合、ログイン処理を行うログイン処理ステップとを有することを特徴とする。
【００１１】
本発明にかかるサーバ装置は、互いに異なるネットワークに接続されたサーバ装置およびクライアント端末から構成されるクライアントサーバシステムにおけるサーバ装置であって、クライアント端末のログイン要求に対して、ユーザ情報を要求する要求手段と、前記クライアント端末から受信したユーザ情報に対応する情報が、データベースに登録されている否かを判定する第一の判定手段と、前記ユーザ情報が前記データベースに登録されていると判定した場合、ログインキーを生成する生成手段と、前記ログインキーを前記クライアント端末に送信する送信手段と、前記クライアント端末から前記ログインキーおよび前記クライアント端末のMACアドレスを受信する受信手段と、前記MACアドレスが前記データベースに登録されているか否かを判定する第二の判定手段と、前記MACアドレスが前記データベースに登録されていると判定した場合、ログイン処理を行うログイン処理手段とを有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、異なるネットワークに接続されたサーバ装置とクライアント端末間の端末認証が可能になる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施例を図面を参照して詳細に説明する。
【実施例１】
【００１４】
［認証手順］
図1はWebサーバが提供するアプリケーションへログインする際の認証手順の一例を示すフローチャートである。
【００１５】
102はWebサーバ、103はクライアント端末上にインストールされている端末情報取得プログラム、104はWebサーバ上にインストールされているWebアプリケーションである。
【００１６】
クライアント端末101のユーザは、Webブラウザを使ってWebサーバ102が提供するアプリケーションにログインを要求（開始）すると(S105)、Webブラウザの画面に、ユーザID、パスワードなどのユーザ情報の入力を促すダイアログが表示される。ユーザがダイアログにユーザID、パスワードなどのユーザ情報106を入力すると、クライアント端末101からWebサーバ102へユーザ情報106が送信される。
【００１７】
Webアプリケーション104は、受信したユーザ情報106と、予めWebサーバ102に登録されたユーザ情報を照合する(S107)。そして、受信したユーザ情報106がWebサーバ102に登録されていない場合はログインを許可せず、処理は中断する。
【００１８】
ステップS107のユーザ認証が成功した場合、Webアプリケーション104は、過去に未生成のユニークなログインキーをユーザ認証に成功した証明として生成する(S108)。その際、ユーザID、現在時刻、ログイン回数、等から容易に推測できない値からログインキーを生成することが望ましい。
【００１９】
次に、Webアプリケーション104は、クライアント端末101上で動作する端末情報取得プログラム103を起動し、そして、端末情報取得プログラム103にログインキー110を渡す(S109)。なお、端末情報取得プログラム103は、予めクライアント端末101にインストールされているものとする。なお、ログインキーを受信したクライアント端末101が、端末情報取得プログラム103を起動するようにしてもよい。
【００２０】
端末情報取得プログラム103は、ログインキー110の有無や妥当性などを確認し(S111)、ログインキー110が無い、ログインキー110の値が妥当ではない場合、MACアドレスの取得を行わず、処理は中断する。また、ログインキー110が存在し、かつ、妥当な値の場合は、クライアント端末101のMACアドレスを取得し(S112)、ログインキーおよびMACアドレス113をWebアプリケーション104に返す。なお、ログインキーは、Webアプリケーション104から渡されたログインキー110をそのまま返してもよい。あるいは、予め決められたルールに基づいてログインキー110を変換してログインキーおよびMACアドレス113に加えてもよい。その場合、Webアプリケーション104は、受信したログインキーおよびMACアドレス113からルールに従いログインキー110を復元する。
【００２１】
次に、Webアプリケーション104は、受信したMACアドレスと、予めWebサーバ102に登録されたMACアドレスを照合して端末認証を行う(S114)。ただし、端末認証の前に、ログインキーおよびMACアドレス113を調べてログインキーが無い、あるいは、未発行のログインキー、既発行だがログイン済みのログインキー、発行から所定時間経過したログインキーなどの場合は、端末認証を行わず、処理は中断する。勿論、端末認証の結果、Webサーバ102に未登録のMACアドレスの場合はログインを許可せず、処理は中断する。
【００２２】
端末認証に成功した場合、クライアント端末101によるWebアプリケーション104のアクセスが許可されログインが完了し(S115)、クライアント端末101は、Webアプリケーション104を使用可能な状態になる。
【００２３】
［システム構成］
図2はクライアントサーバシステムの構成例を示すブロック図である。
【００２４】
図2に示すように、端末情報取得プログラム103がインストールされたクライアント端末101、および、Webアプリケーション104がインストールされたWebサーバ102が、それぞれ異なるローカルエリアネットワークなどネットワーク221、222に接続されている。両ネットワーク221、222は、インターネットなどのネットワーク202を介して接続されている。クライアント端末101とWebサーバ102の間で送受信されるユーザ情報、ログインキー、MACアドレスなどの情報は、このネットワーク202を通過する。
【００２５】
クライアント端末101からWebアプリケーション104にアクセスを要求する場合、クライアント端末103上で稼働するWebブラウザ201を利用する。図1に示すログイン開始処理(S105)は、Webブラウザ201上の操作になる。具体的には、ユーザが、Webアプリケーション104のURLを指定して、Webアプリケーション104のログイン画面を呼び出し、ユーザIDやパスワードなどを入力することになる。
【００２６】
Webアプリケーション104のユーザ認証部203は、図1に示すユーザ認証処理(S107)が実行する。Webサーバ102に登録済みのユーザ情報は、ユーザ端末情報データベース(DB) 206で管理されている。ユーザ認証部203は、ユーザ端末情報DB 206から取り出したユーザ情報と、クライアント端末101から受信したユーザ情報106を照合する。
【００２７】
端末情報取得部204は、図1に示すログインキー生成処理(S108)および端末情報取得プログラム103の起動処理(S109)を実行する。端末情報取得プログラムの起動処理が実行されると、クライアント端末101の端末情報取得プログラム103が起動する。なお、ログインキーを受信したクライアント端末101が、端末情報取得プログラム103を起動するようにしてもよい。
【００２８】
端末情報取得プログラム103のログインキー取得部207は、図1に示すログインキー確認処理(S111)を実行し、MACアドレス取得部208は、図1に示すMACアドレス取得処理(S112)を実行し、端末情報送信部209は、図1に示すログインキーおよびMACアドレス113を返す処理を実行する。
【００２９】
Webアプリケーション104の端末認証部205は、図1に示す端末認証処理(S114)を実行する。Webサーバ102に登録済みのMACアドレスはユーザ端末情報DB 206で管理されている。端末認証部205は、ユーザ端末情報DB 206から取り出したMACアドレスと、クライアント端末101から受信したMACアドレス113を照合する。
【００３０】
［認証動作の詳細］
図3はWebアプリケーション104の認証動作に伴う処理を詳細に示すフローチャートで、クライアント端末101からWebアプリケーション104へログインをするために、Webブラウザ201がシステムから取得したWebアプリケーション104へのリンクが記載された画面を表示したところから、この処理は開始される。
【００３１】
クライアント端末101からユーザが所望するWebアプリケーション104へログインするには、通常、Webブラウザ201の画面上の「入口」やWebアプリケーション名などのボタン（またはリンク）をクリックする。このクリックによるアクセス要求は、Webアプリケーション104により、ログイン要求として受信される(S302)。Webアプリケーション104は、ログイン要求に対して、ログインに必要なユーザIDとパスワードなどのユーザ情報を要求する画面を返す(S303)。
【００３２】
次に、Webアプリケーション104は、クライアント端末101からユーザ情報を受信すると(S304)、ユーザ情報をWebサーバ102のメモリの所定領域に蓄積し、まず、受信したユーザIDがユーザ端末情報DB 206に登録がされているか否かを判定する(S305)。もし、受信したユーザIDがユーザ端末情報DB 206に蓄積されたユーザIDと一致しなければ、メモリに蓄積したユーザ情報を消去し、ログイン処理を終了する。
【００３３】
ユーザIDが登録されていた場合、続いて、Webアプリケーション104は、ユーザIDに関連付けて登録されているパスワードと、受信したパスワードが一致するか否かを判定する(S306)もし、パスワードが一致しなければ、メモリに蓄積したユーザ情報を消去し、ログイン処理を終了する。
【００３４】
パスワードが一致した場合、続いて、Webアプリケーション104は、ログインキーを生成し(S307)、生成したログインキーをWebサーバ102のメモリの所定領域に蓄積する。そして、メモリに蓄積したログインキーを読み出し、クライアント端末101に送信し(S308)、端末情報取得プログラム103を起動する(S309)。なお、ユーザ情報の送信に対してログインキーを受信したクライアント端末101が、端末情報取得プログラム103を起動するようにしてもよい。
【００３５】
クライアント端末101の端末情報取得プログラム103は、クライアント端末101のMACアドレスを取得し、ログインキーとともにMACアドレスをWebサーバ102に送信する。Webアプリケーション104は、MACアドレスを受信（取得）すると(S310)、取得したMACアドレスをWebサーバ102のメモリの所定領域に蓄積する。そして、取得したMACアドレスに一致するMACアドレスがユーザ端末情報DB 206に登録されているか否かを判定する(S310)。取得したMACアドレスが登録されていればログイン処理(S311)を行い、認証動作が完了する。一方、取得したMACアドレスが未登録の場合は、ログイン処理を行うことなくログイン処理を終了する。
【００３６】
なお、ユーザID登録またはMACアドレスが未登録の場合、Webアプリケーション104は、必要に応じて登録画面を生成し、ユーザIDまたはMACアドレスの登録を促してもよい。また、パスワードが一致しない場合は、すぐにログイン処理を終了するのではなく、パスワードの再入力画面を送信してもよい。
【００３７】
ログインキーには、所望する情報を乗せることができ、その情報を暗号化することで、より一層セキュリティを保つことができる。ログインキーに乗せられる情報は、上述したように、Webアプリケーション104が過去に生成したことがないユニークな情報であることが望ましく、ユーザIDなどのログインID、現在時刻、ログイン処理開始時刻のような時間情報、ログイン回数などの履歴情報などを利用してもよいが、それらから容易に推測できない値であることが好ましい。勿論、それらの情報を組み合わせて使用することもできる。
【００３８】
［Webサーバの構成］
図4は上記の認証動作を行うWebサーバ102（コンピュータ）の構成例を示すブロック図である。
【００３９】
Webサーバ102として動作するコンピュータ900は、CPU 901、ROM 902、RAM 903、入力装置としてのキーボード(KB) 909とそのコントローラ(KBC) 905、表示部としてのディスプレイ(DISP) 910とディスプレイコントローラ(DISPC) 906、ハードディスクドライブ(HDD) 911およびフレキシブルディスクドライブ(FDD) 912とそのコントローラ(DKC) 907、並びに、ネットワーク202との接続のためのネットワークインタフェイスコントローラ(NIC) 908がシステムバス904を介して互いに通信可能に接続された構成を有する。
【００４０】
CPU 901は、ROM 902またはHDD 911に記憶されたソフトウェア、あるいは、FDD 912から供給されるソフトウェアを実行して、システムバス904に接続された各構成を総括的に制御する。すなわち、CPU 901は、所定の処理シーケンスに従った処理プログラムを、ROM 902またはHDD 911、あるいは、FDD 912から読み出し、RAM 903をワークメモリとして、プログラムを実行し、上記の動作を実現する各種処理を行う。なお、図4には示さないがハードディスク、フレキシブルディスク以外にも光学記録メディアに記録されたプログラムなどを読み取る他のデバイスが接続されていてもよい。
【００４１】
KBC 905は、KB 909や図示していないマウスなどのポインティングデバイスからの指示入力を制御する。DISPC 906は、DISP 910の表示を制御する。DKC 907は、ブートプログラム、アプリケーションプログラム、ネットワーク管理プログラムなど種々のプログラム、あるいは、編集ファイル、ユーザファイルなどのデータファイル、および、本実実施例における上述したプログラムを記憶するハードディスクやフレキシブルディスクの、CPU 901によるアクセスを制御する。NIC 908は、ネットワーク222を介して、他の装置またはシステムと双方向にデータをやり取りする。
【００４２】
なお、実施例のWebサーバ102の構成は、図4に限定されるわけではない。また、クライアント端末101にも図4に示すコンピュータの構成を適用することができる。
【００４３】
このように、異なるネットワークに接続されたサーバ装置（Webアプリケーション）とクライアント端末間の端末認証が可能になる。
【００４４】
また、ユーザ認証に成功した証明としてのログインキーがない、ログインキーが不正、ログインキーが無効などの場合、MACアドレスを照合する端末認証が実行されない。従って、クライアント端末から偽のMACアドレスを返したとしても端末認証に成功することはない。また、ログインキーの受信をトリガとして、端末情報取得プログラムを起動することもできる。従って、ユーザ認証の成功に続いて端末認証に成功しない限り、Webアプリケーションにログインすることはできない。
【００４５】
［他の実施例］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００４６】
また、本発明の目的は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【００４７】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【００４８】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００４９】
【図１】Webサーバが提供するアプリケーションへログインする際の認証手順の一例を示すフローチャート、
【図２】クライアントサーバシステムの構成例を示すブロック図、
【図３】Webアプリケーションの認証動作に伴う処理を詳細に示すフローチャート、
【図４】認証動作を行うWebサーバ（コンピュータ）の構成例を示すブロック図である。
【図１】
2007011791.tif 000003
【図２】
2007011791.tif 000004
【図３】
2007011791.tif 000005
【図４】
2007011791.tif 000006