JP2004355471A - 不正アクセス防止方法 - Google Patents
不正アクセス防止方法 Download PDFInfo
- Publication number
- JP2004355471A JP2004355471A JP2003154340A JP2003154340A JP2004355471A JP 2004355471 A JP2004355471 A JP 2004355471A JP 2003154340 A JP2003154340 A JP 2003154340A JP 2003154340 A JP2003154340 A JP 2003154340A JP 2004355471 A JP2004355471 A JP 2004355471A
- Authority
- JP
- Japan
- Prior art keywords
- web
- session
- web server
- server
- client
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】Webアプリケーションの不正アクセスを防止する。
【解決手段】Webサーバにおいて、セッション開始時に暗号キーを生成し、以降、Webサーバは暗号コードが一致した場合のみプログラム実行を行う。Webクライアントは、セッション開始時に取得したセッション情報と、現在時刻を暗号キーにより暗号化した暗号コードを付加して、Webサーバにプログラム実行を要求する。
【選択図】 図1
【解決手段】Webサーバにおいて、セッション開始時に暗号キーを生成し、以降、Webサーバは暗号コードが一致した場合のみプログラム実行を行う。Webクライアントは、セッション開始時に取得したセッション情報と、現在時刻を暗号キーにより暗号化した暗号コードを付加して、Webサーバにプログラム実行を要求する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は不正アクセス防止方法に関し、特に、WebサーバおよびWebブラウザを使用したWebアプリケーションのセキュリティに関するものである。
【0002】
【従来の技術】
従来、Webアプリケーションで使用されるURLさえ知っていれば、URLを盗聴することにより、悪意のあるユーザーが不正に使用することが可能であった。
【0003】
【特許文献1】
特開2000−099466号公報
【特許文献2】
特開2001−243193号公報
【0004】
【発明が解決しようとする課題】
本発明では、Webアプリケーションを悪意のあるユーザーによる不正アクセスから守ることのできる不正アクセス防止方法を提供することを目的としている。
【0005】
【課題を解決するための手段】
本発明は、上記課題を解決するために以下(1)〜(4)の構成を備え、Webサーバ、Webクライアント双方で暗号処理の元となる暗号キーを保持しクライアントからWebサーバにプログラムの処理を要求する際に、この暗号キーにより特定の情報を暗号化して付加しておき、サーバ側では暗号解析が成功した場合のみ要求された処理を実行するようにしている。
【0006】
(1)ネットワーク上に、Webサーバ、Webクライアントとデータベースサーバが配置されており、Webサーバには、コンテンツとして、プログラム、HTMLドキュメント、イメージデータがWebアプリケーションを構成されている、Webサーバは、httpおよびhttpsプロトコルによりWebブラウザと通信する手段、Webクライアントからの要求によりコンテンツを配信する手段、Webクライアントからの要求に応じてWebアプリケーションプログラムを動作させHTMLページを動的に生成する手段、Webクライアントからの要求に応じてデータベースサーバに接続し、データベース操作を行う手段、セッションID、ユーザーID、パスワード、セッションデータディレクトリ、暗号キーからなるセッション情報を生成、管理する手段、暗号キーを用いて暗号コードを生成する手段、cookieを送付する手段、備え、データベースサーバには、少なくともWebアプリケーションで使用されるユーザーIDとパスワードの組が管理され、Webクライアントには、httpおよびhttpsプロトコルによりWebサーバと通信する手段、ユーザーの操作に応じてWebページを取得する手段、Webサーバから取得したWebページを表示する手段、ユーザーの操作に応じてWebサーバにプログラム実行要求を送付する手段、Webサーバから送付されたCookieを保存する手段、暗号コードを生成する手段、を備えるWebアプリケーションシステムにおいて、Webサーバにおいて、セッション開始時にセッション情報を作成し、WebクライアントにセッションIDと暗号キーを通知し、以降、Webクライアントからプログラム実行要求があった場合には、プログラム実行要求中に含まれるセッションIDおよび暗号コードの照合を行い、照合に合格した場合のみプログラム実行を行い、クライアントは、プログラム実行要求を行う際にサーバから通知されたセッションIDおよび暗号キーを用いて特定の情報を暗号化した暗号コードを付加することを特徴とする不正アクセス防止方法。
【0007】
(2)上記(1)において、さらに、Webクライアントに現在時刻を取得する手段を設け、暗号コード作成手段は、現在時刻と暗号キーから暗号コードを生成するように構成され、また、プログラム実行要求にはさらに現在時刻が含まれるように構成され、Webサーバの暗号コード生成手段はクライアントから受信したクライアントの現在時刻と暗号キーから暗号コードを生成するように構成されていることを特徴とする不正アクセス防止方法。
【0008】
(3)上記(2)において、Webサーバにも現在時刻取得手段を設け、プログラム実行要求には現在時刻が含まれないように構成され、Webサーバの暗号コード生成手段はWebサーバの現在時刻と暗号キーから暗号コードを生成するように構成されていることを特徴とする不正アクセス防止方法。
【0009】
(4)上記(1)において、さらに、セッション開始時にhttpsプロトコルを使用することにより、暗号キーの漏洩を防止することを特徴とする不正アクセス防止方法。
【0010】
【発明の実施の形態】
【0011】
【実施例】
以下に図面を用いながら本発明の1実施例を説明する。
【0012】
図1は本発明に簡単なシステム構成図である。本発明は、通常のWebアプリケーションと同様、複数のコンピュータ(Webサーバ1、DBサーバ2、Webクライアント3,4)がイーサネット(R)5に接続されている。ここで、Webサーバ1はネットワークを介してHttp・HttpsプロトコルによりWebクライアント3,4と通信を行えるように構成されている。また、クライアントからプログラム実行の要求があればCGIなどの手段によりプログラムが実行できるようになっている。また、ネットワークを介してDBサーバ2との通信が行えるように構成されており、Webクライアント3,4によりDB上のデータ表示処理要求に応じてDBサーバ2からデータを取得可能なように構成されている。
【0013】
DBサーバ2にはデータベースサーバであり、本発明で使用されるデータベースが格納されているものとする。
【0014】
Webクライアント3,4はWebブラウザが動作するように構成されており、Webサーバ1と通信が可能になっている。また、Webブラウザでは、Java(R)Scriptなどのクライアントサイドでのプログラム実行が可能なように構成されている。
【0015】
図2はWebクライアント3,4からプログラム実行要求があったときにWebサーバ1から起動されるプログラムが行う処理を説明するフローチャートである。
【0016】
1001は、HTTPヘッダやCGIパラメータなどをWebサーバプログラムから取得する処理である。Webサーバプログラムから取得した情報は適宜メモリに保存され、以降の処理で参照されるのに備えておく。
【0017】
また、一定時間アクセスがないセッション情報(後述する)を削除する。
【0018】
1002は、CGIプログラムへの要求の種別を判断し、次に行う処理を決定する分岐処理である。本発明のCGIプログラムはパラメータとして要求種別を備えており、要求種別ごとに異なる処理を実施する。ここで、要求種別が、ログイン要求であった場合には、処理を1003に、その他の要求の場合には1007に、未定義の要求や、要求種別パラメータが指定されていない場合には1009に処理を進める。
【0019】
1003は、要求種別がログイン要求であった場合に行われる認証処理である。要求種別がログイン要求である場合には、プログラムのパラメータとしてさらに、ユーザーID、パスワードが付加される。パラメータで与えられたユーザーID、パスワードを使用してWebアプリケーションの認証処理を行う。本実施例ではDBサーバ2でWebアプリケーションのユーザーID、パスワードが管理されているものとする。
【0020】
与えられたユーザーID、パスワードによるDBサーバ2での認証処理が成功した場合には、処理を1004に進め、必要なパラメータが与えられなかった場合や、認証に失敗した場合は、1009に処理を進める。
【0021】
1004は、セッション情報を作成する処理である。セッション情報は、セッションID、ユーザー名、セッションデータディレクトリ、暗号キー、最終アクセス時刻から構成される。
【0022】
セッションIDは、セッション情報作成時に作成されるシステム上で一意のIDである。セッションデータディレクトリは、セッション中に使用されるデータの一時保管場所である。このディレクトリはセッション情報作成時に作成され、セッション情報が削除されると同時に削除される。
【0023】
暗号キーは、暗号化処理を行うときに暗号キーとして使用されるデータであり、ランダムに生成される。また、暗号の強度となるキーの長さは設定により変更可能である。最終アクセス時刻は、このセッションIDによりCGIプログラムが呼び出された最終時刻である。本実施例では、セッション情報は、Webサーバ1上のファイルに管理されているものとする。また、セッション情報は、ログアウト要求があったとき、および、最終時刻から一定時間アクセスがなかった場合に削除される。
【0024】
1005は、1004で作成したデータをWebクライアントに通知するためのHTMLページを作成する処理である。このHTMLページはブラウザのcookieにセッションIDを保存する。また、非表示データとして暗号キーをWebページに記述する。
【0025】
本発明におけるHTMLページは、フレーム構成になっておりルートウインドウ内部に複数のフレームを表示し、各フレーム内にそれぞれHTMLページが表示されるように構成されている。また、各HTMLページは、入力領域や、ボタン、ハイパーリンクなどの部品が配置されており、それぞれの部品を操作することにより、CGI要求をサーバに送ったり、Webブラウザ内での入力処理、表示変更処理などを行えるようになっている。また、各CGIはルートウインドウの表示は書き換えずに、各フレームのHTMLページを書き換えるように動作することになっている。したがって、暗号キーがWebサーバ2とWebブラウザの間でやり取りされるのは、ログイン要求時の1度だけである。そのため、暗号キーを盗聴される危険がある機会は1度きりである。
【0026】
1007は、ログイン要求以外の要求種別の要求があった場合に行われる処理である。この場合、CGIパラメータには要求種別のほかに、必ず、セッション番号、現在時刻、現在時刻をログイン時に生成された暗号キーで暗号化した暗号コードが付加される。また、要求種別に定義された個別のパラメータも付加される。
【0027】
ここで、送付された、暗号コードの確認処理を行う。確認処理は、セッション情報に保存した暗号IDと、パラメータとして送付された現在時刻から、Webクライアント3,4と同様の計算方法により暗号コードを計算し、Webクライアント3,4から送付された暗号コードと比較し、これらが一致した場合は、認証に合格したものとする。
【0028】
1008は、要求種別に応じた処理を行うステップである。要求処理に応じてDBサーバー2から必要なデータを取得して、取得したデータをもとにWebページを作成する処理である。
【0029】
1009はエラー情報をユーザーに通知するためのエラー画面を作成する処理である。エラーの種類に応じて通知メッセージを編集して書き出す。またこのとき、必要に応じてログアウト処理を行う。
【0030】
1006は、CGI処理において作成されたWebページをWebクライアント3,4に送信する処理であり、CGIはWebサーバ1に送信依頼を行うのみであり、実際にはWebサーバ1により処理される。
【0031】
図3は、本発明におけるWebアプリケーションでWebクライアント3,4で行われる処理を説明するフローチャートである。
【0032】
2001はログイン処理をWebサーバ1に要求する処理である。Webブラウザの画面上にユーザーID,パスワードを入力するための入力領域、およびフォーム送信ボタンが配置されており、フォーム送信ボタンを押下することにより、入力されたデータをパラメータとしたログイン要求をWebサーバ1に送信する。
【0033】
2002は、2001のログイン要求に応じて、CGIで作成されたHTMLページを解釈し、セッションIDをWebブラウザのcookieに保存する処理である。
【0034】
このHTMLページはJava(R)ScritptなどのWebブラウザ上で動作可能なプログラム言語で記述されたプログラムを含んでおり、このページがWebブラウザにロードされると同時に、このプログラムが実行される。このプログラムは、本発明におけるWebアプリケーションの初期画面を表示する処理を行うものであり、以降、このプログラムの動作を説明する。
【0035】
2003では、現在の時刻を取得し、CGIによりHTMLページに埋め込まれた暗号キーを使用して現在の時刻を暗号化して暗号コードを生成する処理である。
【0036】
2004では、初期化要求のCGIリクエストを行うためのパラメータ作成を行う。初期化要求には、パラメータとしてセッションID、現在時刻、暗号コードが付加される。
【0037】
2005では、2004で作成した初期化要求CGIをWebサーバ1に送信する処理を行う。
【0038】
2006では、2005のCGIにより作成されたWebアプリケーションの初期画面を構成するHTMLページをWebブラウザに表示する処理を行う。
【0039】
初期画面には、ユーザーが操作可能な部品が配置されており、ユーザーが操作することにより、Webサーバ1に対してさまざまな処理要求を行うCGI要求を送信するように構成されている。
【0040】
【実施例2】
実施例1では、Webアプリケーションで使用されるデータベースをWebサーバ1と異なるコンピュータDBサーバ2で管理するとしているが、Webサーバ1でデータベースプログラムが動作するように構成しても構わない。
【0041】
【実施例3】
実施例1では、セッション情報をWebサーバ1上のファイルに管理されるものとしたが、DBサーバ2のデータベース上に管理されていても構わない。
【0042】
【実施例4】
実施例1では、Webサーバ1からWebアプリケーションプログラムを実行する際にCGIを用いるように構成する例を示したが、Webアプリケーションの起動は、ISAP、サーバーサイドスクリプト、Java(R)サーブレットなど、Webサーバ1からプログラムを起動できる構成であれば構わない。
【0043】
【実施例5】
実施例1では、Webクライアント3,4の構成画面がマルチ・フレームである場合を説明したが、フレーム構成となっていれば、1フレームだけでも構わない。
【0044】
【実施例6】
実施例1では、Webクライアント3,4から毎回現在時刻を送付するようになっているが、Webサーバ1とWebクライアント3,4でコンピュータに正しい時刻が設定されている場合は、この必要はない。図2の1007で確認用の暗号コードを計算する際に、Webサーバ1の現在時刻を使用すればよい。このとき、Webサーバ1とWebクライアント3,4双方のタイムゾーンが異なる場合は、問題となるが、この問題を回避するためには、世界標準時を使用するようにすれば問題は回避できる。
【0045】
【実施例7】
実施例6では、Webサーバ1とWebクライアント3,4に正しい時刻が設定されている必要があるが、双方のコンピュータ時刻が多少の狂いを生じる可能性がある。このことを考慮して、使用する時刻データの桁数の切捨て処理などを行うことにより多少の誤差を許容してもよい。
【0046】
【実施例8】
実施例1では、ログイン処理を行うときにHTTPプロトコルを使用するように構成されているが、ログイン処理にHTTPSプロトコルを使用しても構わない。HTTPSを使用することにより、暗号キーを盗聴される危険性をさらに低下することができる。
【0047】
【発明の効果】
以上説明したように、本発明により、悪意のあるユーザーからの不正アクセスを防止できる。
【図面の簡単な説明】
【図1】本発明におけるシステム構成図
【図2】本発明におけるWebサーバ1のフローチャート
【図3】本発明におけるWebクライアント3,4のフローチャート
【符号の説明】
1 Webサーバ
2 DBサーバ
3,4 Webクライアント
【発明の属する技術分野】
本発明は不正アクセス防止方法に関し、特に、WebサーバおよびWebブラウザを使用したWebアプリケーションのセキュリティに関するものである。
【0002】
【従来の技術】
従来、Webアプリケーションで使用されるURLさえ知っていれば、URLを盗聴することにより、悪意のあるユーザーが不正に使用することが可能であった。
【0003】
【特許文献1】
特開2000−099466号公報
【特許文献2】
特開2001−243193号公報
【0004】
【発明が解決しようとする課題】
本発明では、Webアプリケーションを悪意のあるユーザーによる不正アクセスから守ることのできる不正アクセス防止方法を提供することを目的としている。
【0005】
【課題を解決するための手段】
本発明は、上記課題を解決するために以下(1)〜(4)の構成を備え、Webサーバ、Webクライアント双方で暗号処理の元となる暗号キーを保持しクライアントからWebサーバにプログラムの処理を要求する際に、この暗号キーにより特定の情報を暗号化して付加しておき、サーバ側では暗号解析が成功した場合のみ要求された処理を実行するようにしている。
【0006】
(1)ネットワーク上に、Webサーバ、Webクライアントとデータベースサーバが配置されており、Webサーバには、コンテンツとして、プログラム、HTMLドキュメント、イメージデータがWebアプリケーションを構成されている、Webサーバは、httpおよびhttpsプロトコルによりWebブラウザと通信する手段、Webクライアントからの要求によりコンテンツを配信する手段、Webクライアントからの要求に応じてWebアプリケーションプログラムを動作させHTMLページを動的に生成する手段、Webクライアントからの要求に応じてデータベースサーバに接続し、データベース操作を行う手段、セッションID、ユーザーID、パスワード、セッションデータディレクトリ、暗号キーからなるセッション情報を生成、管理する手段、暗号キーを用いて暗号コードを生成する手段、cookieを送付する手段、備え、データベースサーバには、少なくともWebアプリケーションで使用されるユーザーIDとパスワードの組が管理され、Webクライアントには、httpおよびhttpsプロトコルによりWebサーバと通信する手段、ユーザーの操作に応じてWebページを取得する手段、Webサーバから取得したWebページを表示する手段、ユーザーの操作に応じてWebサーバにプログラム実行要求を送付する手段、Webサーバから送付されたCookieを保存する手段、暗号コードを生成する手段、を備えるWebアプリケーションシステムにおいて、Webサーバにおいて、セッション開始時にセッション情報を作成し、WebクライアントにセッションIDと暗号キーを通知し、以降、Webクライアントからプログラム実行要求があった場合には、プログラム実行要求中に含まれるセッションIDおよび暗号コードの照合を行い、照合に合格した場合のみプログラム実行を行い、クライアントは、プログラム実行要求を行う際にサーバから通知されたセッションIDおよび暗号キーを用いて特定の情報を暗号化した暗号コードを付加することを特徴とする不正アクセス防止方法。
【0007】
(2)上記(1)において、さらに、Webクライアントに現在時刻を取得する手段を設け、暗号コード作成手段は、現在時刻と暗号キーから暗号コードを生成するように構成され、また、プログラム実行要求にはさらに現在時刻が含まれるように構成され、Webサーバの暗号コード生成手段はクライアントから受信したクライアントの現在時刻と暗号キーから暗号コードを生成するように構成されていることを特徴とする不正アクセス防止方法。
【0008】
(3)上記(2)において、Webサーバにも現在時刻取得手段を設け、プログラム実行要求には現在時刻が含まれないように構成され、Webサーバの暗号コード生成手段はWebサーバの現在時刻と暗号キーから暗号コードを生成するように構成されていることを特徴とする不正アクセス防止方法。
【0009】
(4)上記(1)において、さらに、セッション開始時にhttpsプロトコルを使用することにより、暗号キーの漏洩を防止することを特徴とする不正アクセス防止方法。
【0010】
【発明の実施の形態】
【0011】
【実施例】
以下に図面を用いながら本発明の1実施例を説明する。
【0012】
図1は本発明に簡単なシステム構成図である。本発明は、通常のWebアプリケーションと同様、複数のコンピュータ(Webサーバ1、DBサーバ2、Webクライアント3,4)がイーサネット(R)5に接続されている。ここで、Webサーバ1はネットワークを介してHttp・HttpsプロトコルによりWebクライアント3,4と通信を行えるように構成されている。また、クライアントからプログラム実行の要求があればCGIなどの手段によりプログラムが実行できるようになっている。また、ネットワークを介してDBサーバ2との通信が行えるように構成されており、Webクライアント3,4によりDB上のデータ表示処理要求に応じてDBサーバ2からデータを取得可能なように構成されている。
【0013】
DBサーバ2にはデータベースサーバであり、本発明で使用されるデータベースが格納されているものとする。
【0014】
Webクライアント3,4はWebブラウザが動作するように構成されており、Webサーバ1と通信が可能になっている。また、Webブラウザでは、Java(R)Scriptなどのクライアントサイドでのプログラム実行が可能なように構成されている。
【0015】
図2はWebクライアント3,4からプログラム実行要求があったときにWebサーバ1から起動されるプログラムが行う処理を説明するフローチャートである。
【0016】
1001は、HTTPヘッダやCGIパラメータなどをWebサーバプログラムから取得する処理である。Webサーバプログラムから取得した情報は適宜メモリに保存され、以降の処理で参照されるのに備えておく。
【0017】
また、一定時間アクセスがないセッション情報(後述する)を削除する。
【0018】
1002は、CGIプログラムへの要求の種別を判断し、次に行う処理を決定する分岐処理である。本発明のCGIプログラムはパラメータとして要求種別を備えており、要求種別ごとに異なる処理を実施する。ここで、要求種別が、ログイン要求であった場合には、処理を1003に、その他の要求の場合には1007に、未定義の要求や、要求種別パラメータが指定されていない場合には1009に処理を進める。
【0019】
1003は、要求種別がログイン要求であった場合に行われる認証処理である。要求種別がログイン要求である場合には、プログラムのパラメータとしてさらに、ユーザーID、パスワードが付加される。パラメータで与えられたユーザーID、パスワードを使用してWebアプリケーションの認証処理を行う。本実施例ではDBサーバ2でWebアプリケーションのユーザーID、パスワードが管理されているものとする。
【0020】
与えられたユーザーID、パスワードによるDBサーバ2での認証処理が成功した場合には、処理を1004に進め、必要なパラメータが与えられなかった場合や、認証に失敗した場合は、1009に処理を進める。
【0021】
1004は、セッション情報を作成する処理である。セッション情報は、セッションID、ユーザー名、セッションデータディレクトリ、暗号キー、最終アクセス時刻から構成される。
【0022】
セッションIDは、セッション情報作成時に作成されるシステム上で一意のIDである。セッションデータディレクトリは、セッション中に使用されるデータの一時保管場所である。このディレクトリはセッション情報作成時に作成され、セッション情報が削除されると同時に削除される。
【0023】
暗号キーは、暗号化処理を行うときに暗号キーとして使用されるデータであり、ランダムに生成される。また、暗号の強度となるキーの長さは設定により変更可能である。最終アクセス時刻は、このセッションIDによりCGIプログラムが呼び出された最終時刻である。本実施例では、セッション情報は、Webサーバ1上のファイルに管理されているものとする。また、セッション情報は、ログアウト要求があったとき、および、最終時刻から一定時間アクセスがなかった場合に削除される。
【0024】
1005は、1004で作成したデータをWebクライアントに通知するためのHTMLページを作成する処理である。このHTMLページはブラウザのcookieにセッションIDを保存する。また、非表示データとして暗号キーをWebページに記述する。
【0025】
本発明におけるHTMLページは、フレーム構成になっておりルートウインドウ内部に複数のフレームを表示し、各フレーム内にそれぞれHTMLページが表示されるように構成されている。また、各HTMLページは、入力領域や、ボタン、ハイパーリンクなどの部品が配置されており、それぞれの部品を操作することにより、CGI要求をサーバに送ったり、Webブラウザ内での入力処理、表示変更処理などを行えるようになっている。また、各CGIはルートウインドウの表示は書き換えずに、各フレームのHTMLページを書き換えるように動作することになっている。したがって、暗号キーがWebサーバ2とWebブラウザの間でやり取りされるのは、ログイン要求時の1度だけである。そのため、暗号キーを盗聴される危険がある機会は1度きりである。
【0026】
1007は、ログイン要求以外の要求種別の要求があった場合に行われる処理である。この場合、CGIパラメータには要求種別のほかに、必ず、セッション番号、現在時刻、現在時刻をログイン時に生成された暗号キーで暗号化した暗号コードが付加される。また、要求種別に定義された個別のパラメータも付加される。
【0027】
ここで、送付された、暗号コードの確認処理を行う。確認処理は、セッション情報に保存した暗号IDと、パラメータとして送付された現在時刻から、Webクライアント3,4と同様の計算方法により暗号コードを計算し、Webクライアント3,4から送付された暗号コードと比較し、これらが一致した場合は、認証に合格したものとする。
【0028】
1008は、要求種別に応じた処理を行うステップである。要求処理に応じてDBサーバー2から必要なデータを取得して、取得したデータをもとにWebページを作成する処理である。
【0029】
1009はエラー情報をユーザーに通知するためのエラー画面を作成する処理である。エラーの種類に応じて通知メッセージを編集して書き出す。またこのとき、必要に応じてログアウト処理を行う。
【0030】
1006は、CGI処理において作成されたWebページをWebクライアント3,4に送信する処理であり、CGIはWebサーバ1に送信依頼を行うのみであり、実際にはWebサーバ1により処理される。
【0031】
図3は、本発明におけるWebアプリケーションでWebクライアント3,4で行われる処理を説明するフローチャートである。
【0032】
2001はログイン処理をWebサーバ1に要求する処理である。Webブラウザの画面上にユーザーID,パスワードを入力するための入力領域、およびフォーム送信ボタンが配置されており、フォーム送信ボタンを押下することにより、入力されたデータをパラメータとしたログイン要求をWebサーバ1に送信する。
【0033】
2002は、2001のログイン要求に応じて、CGIで作成されたHTMLページを解釈し、セッションIDをWebブラウザのcookieに保存する処理である。
【0034】
このHTMLページはJava(R)ScritptなどのWebブラウザ上で動作可能なプログラム言語で記述されたプログラムを含んでおり、このページがWebブラウザにロードされると同時に、このプログラムが実行される。このプログラムは、本発明におけるWebアプリケーションの初期画面を表示する処理を行うものであり、以降、このプログラムの動作を説明する。
【0035】
2003では、現在の時刻を取得し、CGIによりHTMLページに埋め込まれた暗号キーを使用して現在の時刻を暗号化して暗号コードを生成する処理である。
【0036】
2004では、初期化要求のCGIリクエストを行うためのパラメータ作成を行う。初期化要求には、パラメータとしてセッションID、現在時刻、暗号コードが付加される。
【0037】
2005では、2004で作成した初期化要求CGIをWebサーバ1に送信する処理を行う。
【0038】
2006では、2005のCGIにより作成されたWebアプリケーションの初期画面を構成するHTMLページをWebブラウザに表示する処理を行う。
【0039】
初期画面には、ユーザーが操作可能な部品が配置されており、ユーザーが操作することにより、Webサーバ1に対してさまざまな処理要求を行うCGI要求を送信するように構成されている。
【0040】
【実施例2】
実施例1では、Webアプリケーションで使用されるデータベースをWebサーバ1と異なるコンピュータDBサーバ2で管理するとしているが、Webサーバ1でデータベースプログラムが動作するように構成しても構わない。
【0041】
【実施例3】
実施例1では、セッション情報をWebサーバ1上のファイルに管理されるものとしたが、DBサーバ2のデータベース上に管理されていても構わない。
【0042】
【実施例4】
実施例1では、Webサーバ1からWebアプリケーションプログラムを実行する際にCGIを用いるように構成する例を示したが、Webアプリケーションの起動は、ISAP、サーバーサイドスクリプト、Java(R)サーブレットなど、Webサーバ1からプログラムを起動できる構成であれば構わない。
【0043】
【実施例5】
実施例1では、Webクライアント3,4の構成画面がマルチ・フレームである場合を説明したが、フレーム構成となっていれば、1フレームだけでも構わない。
【0044】
【実施例6】
実施例1では、Webクライアント3,4から毎回現在時刻を送付するようになっているが、Webサーバ1とWebクライアント3,4でコンピュータに正しい時刻が設定されている場合は、この必要はない。図2の1007で確認用の暗号コードを計算する際に、Webサーバ1の現在時刻を使用すればよい。このとき、Webサーバ1とWebクライアント3,4双方のタイムゾーンが異なる場合は、問題となるが、この問題を回避するためには、世界標準時を使用するようにすれば問題は回避できる。
【0045】
【実施例7】
実施例6では、Webサーバ1とWebクライアント3,4に正しい時刻が設定されている必要があるが、双方のコンピュータ時刻が多少の狂いを生じる可能性がある。このことを考慮して、使用する時刻データの桁数の切捨て処理などを行うことにより多少の誤差を許容してもよい。
【0046】
【実施例8】
実施例1では、ログイン処理を行うときにHTTPプロトコルを使用するように構成されているが、ログイン処理にHTTPSプロトコルを使用しても構わない。HTTPSを使用することにより、暗号キーを盗聴される危険性をさらに低下することができる。
【0047】
【発明の効果】
以上説明したように、本発明により、悪意のあるユーザーからの不正アクセスを防止できる。
【図面の簡単な説明】
【図1】本発明におけるシステム構成図
【図2】本発明におけるWebサーバ1のフローチャート
【図3】本発明におけるWebクライアント3,4のフローチャート
【符号の説明】
1 Webサーバ
2 DBサーバ
3,4 Webクライアント
Claims (4)
- ネットワーク上に、Webサーバ、Webクライアントとデータベースサーバが配置されており、
Webサーバには、コンテンツとして、プログラム、HTMLドキュメント、イメージデータがWebアプリケーションを構成されている、
Webサーバは、
httpおよびhttpsプロトコルによりWebブラウザと通信する手段、
Webクライアントからの要求によりコンテンツを配信する手段、
Webクライアントからの要求に応じてWebアプリケーションプログラムを動作させHTMLページを動的に生成する手段、
Webクライアントからの要求に応じてデータベースサーバに接続し、データベース操作を行う手段、
セッションID、ユーザーID、パスワード、セッションデータディレクトリ、暗号キーからなるセッション情報を生成、管理する手段、
暗号キーを用いて暗号コードを生成する手段、
cookieを送付する手段、
を備え、
データベースサーバには、
少なくともWebアプリケーションで使用されるユーザーIDとパスワードの組が管理され、
Webクライアントには、
httpおよびhttpsプロトコルによりWebサーバと通信する手段、
ユーザーの操作に応じてWebページを取得する手段、
Webサーバから取得したWebページを表示する手段、
ユーザーの操作に応じてWebサーバにプログラム実行要求を送付する手段、
Webサーバから送付されたCookieを保存する手段、
暗号コードを生成する手段、
を備えるWebアプリケーションシステムにおいて、
Webサーバにおいて、セッション開始時にセッション情報を作成し、WebクライアントにセッションIDと暗号キーを通知し、
以降、Webクライアントからプログラム実行要求があった場合には、
プログラム実行要求中に含まれるセッションIDおよび暗号コードの照合を行い、
照合に合格した場合のみプログラム実行を行い、
クライアントは、プログラム実行要求を行う際にサーバから通知されたセッションIDおよび暗号キーを用いて特定の情報を暗号化した暗号コードを付加することを特徴とする不正アクセス防止方法。 - 上記請求項1において、さらに、
Webクライアントに現在時刻を取得する手段を設け、
暗号コード作成手段は、現在時刻と暗号キーから暗号コードを生成するように構成され、
また、プログラム実行要求にはさらに現在時刻が含まれるように構成され、
Webサーバの暗号コード生成手段はクライアントから受信したクライアントの現在時刻と暗号キーから暗号コードを生成するように構成されていることを特徴とする不正アクセス防止方法。 - 上記請求項2において、
Webサーバにも現在時刻取得手段を設け、
プログラム実行要求には現在時刻が含まれないように構成され、
Webサーバの暗号コード生成手段はWebサーバの現在時刻と暗号キーから暗号コードを生成するように構成されていることを特徴とする不正アクセス防止方法。 - 上記請求項1において、
さらに、セッション開始時にhttpsプロトコルを使用することにより、暗号キーの漏洩を防止することを特徴とする不正アクセス防止方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003154340A JP2004355471A (ja) | 2003-05-30 | 2003-05-30 | 不正アクセス防止方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003154340A JP2004355471A (ja) | 2003-05-30 | 2003-05-30 | 不正アクセス防止方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004355471A true JP2004355471A (ja) | 2004-12-16 |
Family
ID=34049026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003154340A Withdrawn JP2004355471A (ja) | 2003-05-30 | 2003-05-30 | 不正アクセス防止方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004355471A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007110517A (ja) * | 2005-10-14 | 2007-04-26 | Fujitsu Ltd | 携帯端末装置、携帯端末装置のロック制御プログラムおよびロック制御方法 |
JP2008078694A (ja) * | 2006-09-19 | 2008-04-03 | Amano Corp | 時刻認証サービスにおける不正チェックシステム |
JP2011100207A (ja) * | 2009-11-04 | 2011-05-19 | Nippon Yunishisu Kk | リモートアクセス装置、リモートアクセスプログラム、リモートアクセス方法及びリモートアクセスシステム |
WO2012134369A1 (en) * | 2011-04-01 | 2012-10-04 | Telefonaktiebolaget L M Ericsson (Publ) | Methods and apparatuses for avoiding damage in network attacks |
JP2015119322A (ja) * | 2013-12-18 | 2015-06-25 | セコム株式会社 | 通信システム及び通信方法 |
-
2003
- 2003-05-30 JP JP2003154340A patent/JP2004355471A/ja not_active Withdrawn
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007110517A (ja) * | 2005-10-14 | 2007-04-26 | Fujitsu Ltd | 携帯端末装置、携帯端末装置のロック制御プログラムおよびロック制御方法 |
JP4681419B2 (ja) * | 2005-10-14 | 2011-05-11 | 富士通株式会社 | 携帯端末装置、携帯端末装置のロック制御プログラムおよびロック制御方法 |
JP2008078694A (ja) * | 2006-09-19 | 2008-04-03 | Amano Corp | 時刻認証サービスにおける不正チェックシステム |
JP2011100207A (ja) * | 2009-11-04 | 2011-05-19 | Nippon Yunishisu Kk | リモートアクセス装置、リモートアクセスプログラム、リモートアクセス方法及びリモートアクセスシステム |
WO2012134369A1 (en) * | 2011-04-01 | 2012-10-04 | Telefonaktiebolaget L M Ericsson (Publ) | Methods and apparatuses for avoiding damage in network attacks |
US8903095B2 (en) | 2011-04-01 | 2014-12-02 | Telefonaktiebolaget L M Ericsson (Publ) | Methods and apparatuses for avoiding damage in network attacks |
US9338173B2 (en) | 2011-04-01 | 2016-05-10 | Telefonaktiebolaget L M Ericsson (Publ) | Methods and apparatuses for avoiding damage in network attacks |
JP2015119322A (ja) * | 2013-12-18 | 2015-06-25 | セコム株式会社 | 通信システム及び通信方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3657745B2 (ja) | ユーザ認証方法及びユーザ認証システム | |
EP1997270B1 (en) | Method and system for authenticating a user | |
JP4886508B2 (ja) | 既存のsslセッションを中断することなく証明書ベースの認証にステップアップするための方法及びシステム | |
JP3995338B2 (ja) | ネットワーク接続制御方法及びシステム | |
US8364968B2 (en) | Dynamic web services systems and method for use of personal trusted devices and identity tokens | |
US7103666B2 (en) | System and user interface supporting concurrent application operation and interoperability | |
JP4863777B2 (ja) | 通信処理方法及びコンピュータ・システム | |
JP4628354B2 (ja) | 通信装置および認証装置 | |
US7143437B2 (en) | System and user interface for managing user access to network compatible applications | |
US7127609B2 (en) | System and user interface for adaptively processing and communicating URL data between applications | |
JP2004288169A (ja) | ネットワーク接続システム | |
JP2014503094A (ja) | サーバとクライアントとの間の通信方法、並びに対応するクライアント、サーバ、及びシステム | |
JP2004304304A (ja) | 電子署名生成方法,電子署名検証方法,電子署名生成依頼プログラム,及び電子署名検証依頼プログラム | |
JP2012528411A (ja) | 非http通信プロトコルを用いてウエブアプリケーションの状態非依存型安全性管理を提供するシステム及び方法 | |
JP2006301992A (ja) | 認証管理方法及びシステム | |
JP4608929B2 (ja) | 認証システム、サーバ用認証プログラム、およびクライアント用認証プログラム | |
JP2014096101A (ja) | ユーザ認証装置及びユーザ認証プログラム | |
JP5687455B2 (ja) | サーバ、端末、プログラムおよびサービス提供方法 | |
JP2004355471A (ja) | 不正アクセス防止方法 | |
JP2003244123A (ja) | 共通鍵管理システム、共通鍵管理サーバ、共通鍵管理方法、及び共通鍵管理プログラム | |
TWI421723B (zh) | 資訊處理系統、方法、紀錄媒體、以及伺服器系統、客戶端裝置 | |
JP2003323409A (ja) | シングルサインオンシステム、そのプログラム及びその方法 | |
WO2010103800A1 (ja) | サーバ、端末、プログラムおよびサービス提供方法 | |
JP2000172645A (ja) | サーバコンピュータ及びサーバコンピュータにおける認証情報管理方法 | |
JP2008269220A (ja) | 認証委譲システム及び認証委譲方法並びに端末装置及び認証サーバ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060801 |