JP2001067317A - サーブレットエンジンにカスタマイズ可能なセキュリティおよびロギングプロトコルを提供するための方法および装置 - Google Patents
サーブレットエンジンにカスタマイズ可能なセキュリティおよびロギングプロトコルを提供するための方法および装置Info
- Publication number
- JP2001067317A JP2001067317A JP2000178858A JP2000178858A JP2001067317A JP 2001067317 A JP2001067317 A JP 2001067317A JP 2000178858 A JP2000178858 A JP 2000178858A JP 2000178858 A JP2000178858 A JP 2000178858A JP 2001067317 A JP2001067317 A JP 2001067317A
- Authority
- JP
- Japan
- Prior art keywords
- servlet
- request
- logging
- module
- servlet engine
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
- Storage Device Security (AREA)
Abstract
ュリティおよびロギングプロトコルを提供するための方
法および装置を開示する。 【解決手段】 サーブレットエンジン(204)は、適
切に認証および許可されたリクエストのみがサーブレッ
ト(216)によってサービスされることを確証するセ
キュリティモジュール(212)を含む。ロギングモジ
ュール(214)は、セキュリティモジュール(21
2)とサーブレットトランザクションの双方のカスタマ
イズされた記録を提供する。
Description
タシステムに関する。より詳しくは、サーバ環境内にお
いて、カスタマイズ可能なセキュリティおよびロギング
モジュールを提供するための方法および装置に関する。
とも言う)が爆発的な成長を遂げるにつれて、安全なト
ランザクションを効率的に記録する能力を提供すると共
に、インターネット上においてこれら多数のトランザク
ションを処理する能力を向上させることが、重要な課題
となっている。
が、図1に示されるように非常に単純なネットワークへ
のアプローチを採っている。ウェブブラウザ100と、
ホスト名およびホスト上のドキュメント(httpリク
エストとも呼ばれる)を含んだURL(universal reso
urce locator)とが与えられると、ブラウザ102はU
RLを、指名されたホスト部分104とリクエストされ
たドキュメント106とに分割(解析)する。本発明の
一実施形態では、リクエストされたドキュメント106
は、当業者に周知のHTML(Hyper Text Markup Lang
uage)文の形を採る。リクエストされたドキュメントが
ローカルなキャッシュメモリに格納されていない場合
は、ブラウザ102は、サーバ108を含んだ指名ホス
ト104にTCP(伝送制御プロトコル)接続する。こ
のウェブでは、ウェブサーバは、リクエストされたHT
MLページやファイルを提供するコンピュータプログラ
ム(通常はホストコンピュータ104内に存在する)で
あり、ウェブクライアントは、ユーザに関連したリクエ
ストプログラム(ブラウザ100等)である。
ホストコンピュータ104に格納されたスタティックウ
ェブページ110の形を採る場合がある。しかしなが
ら、リクエストされたドキュメント106は、いわゆる
ダイナミックウェブページ112である場合もある。ダ
イナミックウェブページ112は、一般に、例えばサー
バ108がコモンゲートウェイインターフェース(CG
I:common gateway interface)アプリケーションによ
りアクセスする外部データベース116等のデータベー
スに格納されている。
GI)は、ウェブサーバが、ウェブユーザのリクエスト
をアプリケーションプログラムに引き渡したり、ユーザ
へ転送するためのデータを受信したりするための標準的
なな方法である。ユーザがウェブページをリクエストす
ると(例えば、強調文字をクリックしたり、またはウェ
ブサイトのアドレスを入力したりすることにより)、サ
ーバ108は、リクエストされたページをhttpレス
ポンスの形で返信する。しかしながら、ユーザがウェブ
ページ上で記入したフォームを送信する場合は、アプリ
ケーションプログラムで処理する必要があるのが通常で
ある。ウェブサーバ108は一般に、このフォーム情報
を、データを処理し、提供された情報に基づいてレスポ
ンスを返信する小アプリケーションプログラムに引き渡
す。
ースは、非効率的でリソース集約的である。例えば、現
在のウェブアプリケーションのほとんどが、何らかのデ
ータベースアクセスを必要とする。CGIアプリケーシ
ョンを使用するということは、CGIが走るたびに、新
しいデータベース接続が形成されて数秒の時間を要する
ことを意味する。このためCGIは、インターネットを
経済的に使用するのに必要とされる多数のトランザクシ
ョン(「ヒット」と呼ばれ、数千、数十万、ときにはそ
れ以上の数になる)を処理するのには適さない。CGI
の壁を越える解決策の1つに、サーブレットまたはJa
vaサーブレット(Javaベースのウェブサーバに組
み込まれている場合)と呼ばれるものがある。
からのリクエスト(すなわちhttpリクエスト)に応
えてウェブまたはHTTPサーバ上で実行されるJav
aプログラムである。ウェブサーバソフトウェアは、サ
ーブレットを走らせてHTMLページを生成するため
に、Java仮想マシンを使用する。サーブレットは、
HTML入力タグを含んだHTMLページ(httpリ
クエスト)からの入力を取り入れ、処理して、それに応
えるHTMLページ(httpレスポンス)を結果と共
に返す。Javaサーブレットは、シングルブラウザ専
用であるため、従来のCGIアプリケーションよりも多
くのトラフィックを(httpリクエストおよび関連の
httpレスポンスの形で)処理することができる。
サーブレットは、カスタマイズされたセキュリティおよ
びロギングプロトコルを提供することができない。現在
のところ、セキュリティおよびロギングプロトコルはウ
ェブサーバのみによって提供されており、これは、それ
をサポートする全てのウェブアプリケーションに対して
同じである。この方法では、あるウェブサーバに接続さ
れた全てのアプリケーション(またはHTTPサーバ)
が、アプリケーションごとに特有なニーズがあるにも関
わらず、そのウェブサーバに与えられたセキュリティお
よびロギングプロトコルのみを使用することしかできな
い。このような非柔軟性は、e−コマースウェブサイト
の遂行に実質的なコストの増加をもたらす。これは、ユ
ーザ/開発者が、予想される(望ましい)数のトランザ
クション(ヒット)を処理することができるうえに特殊
なセキュリティおよびロギング要求を満たすような望ま
しいウェブサーバを探さすか、またはアプリケーション
の一部としてセキュリティおよびロギングコードを開発
するかしなければならないためである。
に、サーブレット環境において、カスタマイズされたセ
キュリティおよびロギングプロトコルを提供するため
の、方法および装置が望まれている。
発明の一実施形態では、選択されたセキュリティおよび
ロギングプロトコルを提供するように構成されたサーブ
レットエンジンが開示されている。サーブレットエンジ
ンは、セキュリティモジュールと、ロギングモジュール
と、サーブレットと、を有したサーブレットコンテナを
含む。一実施形態におけるセキュリティモジュールは、
認証プロトコル(オーセンティフィケーションプロトコ
ル)および許可プロトコル(オーソライゼイションプロ
トコル)を含む選択されたセキュリティプロトコルを提
供する。認証プロトコルは、サーブレットエンジンによ
り受信されたリクエストが検証済みの発信源を有するこ
とを確認し、許可プロトコルは、検証済みの発信源が適
切な許可を有していることを確認する。ロギングモジュ
ールは、検証済みの発信源から発生したのではないか、
または、適切な認可を有していない受信リクエストがロ
ギングモジュールによって記録されるように、選択され
たロギングプロトコルを提供する。
トは、セキュリティモジュールにより認証および許可さ
れたこれらリクエストを取り扱い、サーブレットにより
うまく取り扱われたこれらリクエストを、第1のタイプ
のフラグでロギングモジュールに通知する。サーブレッ
トはまた、サーブレットによりうまくハンドルされなか
ったこれらリクエストを、第2のタイプのフラグでロギ
ングモジュールに通知する。
によって選択されたセキュリティおよびロギングプロト
コルを利用するサーブレットエンジンに接続されている
保護されたリソースにアクセスするための方法が説明さ
れている。一実施形態において、サーブレットエンジン
内に含まれるサーブレットで処理されるのは、全てのセ
キュリティプロトコルをパスしたリクエストのみであ
る。好ましい一実施形態において、セキュリティプロト
コルは、プログラマによって定義された認証プロトコル
および許可プロトコルを含む。この方法では、データベ
ース等の保護されたリソースにアクセスできるのは、適
切なセキュリティへの認証を有するリクエスト者のみで
ある。
リソースへのアクセスを提供するための装置が開示され
ている。保護リソースアクセスリクエストの発信源が検
証済みかを第1に決定するための認証手段は、保護リソ
ースアクセスリクエストの発信源が適切な保護リソース
アクセス許可を有するかを第2に決定するための許可手
段に接続されている。許可手段に接続されているリクエ
スト処理手段は、認証手段および許可手段を共にパスし
たリクエストにサービスし、認証手段および許可手段に
接続されたロギング手段は、サービスされたトランザク
ションだけでなく、失敗した認証トランザクションや失
敗した許可トランザクションも記録する。
/サーバ環境等のウェブサーバ内に、カスタマイズされ
たセキュリティおよびロギングプロトコルを提供するた
めの構成および方法を説明する。以下では、本発明を先
ずマルチスレッドオブジェクト指向のコンピューティン
グシステムに属するサーバアプリケーションの視点から
説明するが、本発明が、httpリクエストおよびレス
ポンスを処理することのできる他の任意のシステム内で
使用できる点に注意が必要である。
TPページとも呼ばれるブラウザがhttリクエストを
生成すると、プログラマ/開発者によって提供されてウ
ェブサーバに含まれるセキュリティモジュールは、ht
tpリクエストを提供するブラウザの認証を行う(すな
わち、一実施形態ではIDを確認する)。認証が成功す
る、すなわちブラウザの識別が適切に行われると、セキ
ュリティモジュールは、そのブラウザが、リクエストさ
れたデータベースにアクセスするのに適切な許可を有し
ているかを決定する。ブラウザが適切に識別され且つ適
切な許可を有している場合は、関連のサーブレットが呼
び出され、必要であればセキュアデータベース等の保護
されたリソースにアクセスすることにより、その検証済
みのhttpリクエストにサービスする。
を処理すると、関連のロギングモジュールがhttpリ
クエストの処理状態を記録する。ある実施形態では、エ
ラーフラグと関連していない(すなわち処理が「成功し
た」)httpリクエストのみが、成功したものとして
記録される。別の実施形態では、失敗した許可および/
または認証も全て同様に、ロギングモジュールにより記
録される。この方法では、ハッキングを試みる者や、さ
もなくばセキュアデータベースまたはウェブサーバに割
り込もうとする者を追跡したり、周知のIDや追跡技術
を使用して犯罪者を識別したりすることができる。
中における許可は、あらかじめセキュリティモジュール
から提供されたクッキー(ブラウザ内に存在する)に部
分的にもとづくものである。当業者には明らかなよう
に、セッションとは、同一ユーザ(すなわち同一ブラウ
ザ)からの一連のリクエストに関する状態を一定期間に
渡って維持するために、サーブレットが使用するメカニ
ズムである。クッキーとは、ユーザに関連付けられた少
量の状態情報をクライアントに保持させるために、サー
ブレットが使用するメカニズムである。サーブレット
は、クッキー内の情報を、ユーザがサイトに入る際に
(例えば低セキュリティユーザのサインオンとして)使
用するか、ユーザがサイトをナビゲートする際に(例え
ばユーザプレファレンスの保管場所として)使用する
か、またはその両方の際に使用することができる。
るようにネットワークへの非常に単純なアプローチを採
っている。ブラウザ200(クライアントアプリケーシ
ョンまたはクライアントプログラムとも呼ばれる)は、
ローカルコンピュータ202上に存在するプログラムで
あり、指名されたホストコンピュータ204と、このホ
ストコンピュータ204に接続され外部データベース2
06に格納されているのが一般的なドキュメントと、を
含むhttpリクエストと呼ばれるものを生成するプロ
グラムである。ホストコンピュータ204は、ローカル
エリアネットワーク(LAN)もしくは広域データ通信
ネットワーク(WAN)等のネットワーク内コンピュー
タの集まりに接続されているのが一般的であり、また
は、コンピュータのインターネットネットワークの一部
となっているのがさらに一般的である。上述した実施形
態では、ホストコンピュータ204はウェブサーバアプ
リケーションプログラム(サーバ)208を含む。
は、ロギングモジュール214に接続されたセキュリテ
ィモジュール212を含むサーブレットコンテナ210
を含み、ロギングモジュール214はサーブレット21
6に接続される。ある実装例では、サーブレットコンテ
ナ210はサーブレットエンジンとも呼ばれ、サーバ2
08とサーブレット216との間のインターフェースを
提供する。セキュリティモジュール212がアクティブ
になる(すなわち開発者/プログラマセキュリティプロ
トコルを提供する)と、サーブレット216は、セキュ
リティモジュール212によって認証および許可された
httpリクエストのみをサービスする(すなわち、処
理する)。セキュリティモジュール212がアクティブ
でない場合、または、あるセキュリティプロトコルがサ
ーバプログラマによって必要ないと決定された場合は、
本発明の一実装例では、ウェブサーバ204によってす
でに提供されているセキュリティプロトコルがデフォル
トモードで使用される。
敗した場合は、ロギングモジュール214にエラーフラ
グが供給される。このようなエラーフラグは、認証が失
敗したことを示すいわゆる「401」エラーコード等の
エラーコードを含むことができる。別の故障モードで
は、あるオブジェクトが見つからなかったことを示す
「404」エラーコードが生成される。本発明の利点の
1つは、サーブレットエンジン開発者/プログラマに、
ロギングモジュール214が記録するエラーコードの種
類と数の両方をカスタマイズする能力が提供されること
である。この方法により、サーブレットプログラマ/開
発者は、例えば、一定期間内に多数回アクセスに失敗し
たブラウザを記録してハッカを追跡したり、あるブラウ
ザのユーザによって公表された種々のセキュリティ故障
の頻度および種類を決定したりする能力を、提供するこ
とができる。
ュリティモジュール212により有効とされた場合は、
その有効とされたhttpリクエストがサーブレット2
16に転送される。上述した実施形態において、サーブ
レット216は、例えば、有効なhttpリクエストに
関連付けられたデータベース206に格納されているリ
クエストされたドキュメントに対応するドキュメントオ
ブジェクトモジュール(DOM)を生成することによ
り、httpリクエストを処理する。リクエストされた
ドキュメントは、データベース206から引き出されて
サーブレット216に転送される。するとサーブレット
216は、引き出されたドキュメントをhttpレスポ
ンスの形でブラウザ200に引き渡すとほぼ同時にロギ
ングモジュール214への通知を行う。
は一般に、成功したヒット数対セキュリティモジュール
212によって報告された許可および/または認証され
なかったリクエスト数に関連した情報のみでなく、ブラ
ウザ200の仮想場所を示すIP(インターネットプロ
トコル)アドレス情報に関連した情報の追跡も行う。こ
の情報によって開発者は、サーブレットが処理するht
tpリクエストの数および種類を追跡することができ
る。この方法では、ウェブサイトの所有者が、あるサイ
トに入ろうと試みたユーザ数、ならびに問題のサイトに
入るのに失敗および/または成功したユーザ数を決定で
きるだけでなく、ウェブサイトの利用状況をより正確に
追跡することもできる。
の開始を決定した場合は、そのセッションの開始時に、
セキュリティモジュール212がセッション期間中アク
ティブであるブラウザ200にクッキー218を提供す
る。このようなセッションの一例として、セキュアウェ
ブサイトまたはデータベース206にアクセスするため
に、ユーザが例えばブラウザ200内でアプレット22
0をインスタンス化する場合が挙げられる。ユーザは、
データバンク206内に格納された機密情報にアクセス
することにより、例えば、銀行のオンラインバンキング
ウェブサイトを使用したり最新の紳士服をオーダーした
りするために、安全なビジネスの実行を希望することが
できる。クッキー218は、セッション用に定義された
期間中に必要とされる許可および認証を、ブラウザ20
0に提供する。この期間中は、クッキー218が有効で
ある限り、そのセキュアウェブサイトのためにアプレッ
ト220により生成された全てのhttpリクエスト
が、セキュリティモジュール212を効率的に迂回し
て、サーブレット216により処理される。しかしなが
ら、クッキー218が例えば期限切れまたは特定セッシ
ョンの終了により無効になった場合は、セキュリティモ
ジュール212はどんな時であれ、適切なセキュリティ
プロトコルに基づき新しいクッキーを再送出しなくては
ならない。
ブレットのライフサイクル300を詳述したフローチャ
ートである。ここで、サーブレットのライフサイクル3
00が、オブジェクト指向コンピューティングシステム
のJava仮想マシン内で実行されるように設計され
た、Javaサーブレットの視点から説明されている点
に注意が必要である。本発明の一実施形態において、サ
ーブレットのライフサイクル300は、ステップ302
においてサーブレットをインスタンス化することにより
開始し、続くステップ304ではサーバによってサーブ
レットが初期化される。サーバは、サーブレットを初期
化するために、サーブレットをロードしてその「init m
ethod」を走らせる。ここで、サーブレットの初期化
が、クライアントのリクエストが処理される前であっ
て、かつ、サーブレットが破壊される前に完了する点に
注意が必要である。ほとんどのサーブレットはマルチス
レッド化されたサーバ内で走るが、サーブレットの初期
化中に同時発生の問題が生じることはない。サーバは、
サーブレットをロードする時にinit methodを一回呼び
出すが、サーブレットを再ロードしない限りは再び呼び
出すことはない。サーバは、破壊メソッドを呼び出して
サーブレットを破壊するまでサーブレットを再ロードす
ることはできない。サーブレットは、サーバによって初
期化された後、ステップ306においてhttpリクエ
ストを待つ。httpリクエストが受信され、その一部
がクライアントセッションである場合は、ステップ30
8において、クライアントセッションが認証されたか否
かを決定する。この認証は、一般に、セッションに対応
するクッキーが期限切れでないか、および/または、適
切なサインオンを有しているかを決定することにより実
施される。セッションを認証しないと決定した場合は、
セキュリティモジュールはステップ310において、例
えばクッキーを検査してセッションを認証することによ
りセキュリティを処理する。受信されたhttpリクエ
ストがあるセッションの初期のhttpリクエストであ
った場合は、セキュリティモジュールによりそのhtt
pリクエストの有効性を検査した(すなわち認証および
許可の両方を行った)後、クライアントブラウザに新し
いクッキーが送出される。
ッションが認証された場合は、ステップ312において
httpリクエストがサーブレットによりサービスされ
た後、ステップ314においてhttpレスポンスがロ
ギングモジュールにより記録される。ここで、http
リクエストが何らかの理由で失敗したことをセキュリテ
ィモジュールが決定した場合は、いつ何時であろうと、
適切なエラーフラグがロギングモジュールに供給される
点に注意が必要である。
httpリクエストがセッションの一部ではない場合
は、ステップ310においてセキュリティモジュールが
セキュリティを処理するとともに、ステップ314にお
ける記録に備えて故障であることがロギングモジュール
に報告され、ステップ312において、有効とされたh
ttpリクエストがサーブレットによりサービスされ
る。
択された期間中に追加のhttpリクエストが来なかっ
た場合は、ステップ316において、サーブレットを破
壊するか否かに関する決定がなされる。サーブレットを
破壊しないと決定された場合は、httpリクエストが
受信される時までステップ306に制御が戻る。これに
対して、サーブレットを破壊すると決定された場合は、
サーバはステップ318において、サーブレットの破壊
メソッドを走らせることによりサーブレットを破壊す
る。上述した実施形態において、破壊メソッドが走るの
は一度のみであり、そのサーブレットは、サーバにより
再ロード・再初期化されるまで再び走ることはない。破
壊メソッドが一度走った後は、破壊されたサーブレット
がステップ320においてガーベッジコレクションされ
る。ここで、マルチスレッド化されたシステムの場合
は、サービスリクエストをまだ走らせている長期継続の
スレッドが存在する可能性があるため、クリーンなシャ
ットダウンを提供しなくてはならない点に注意が必要で
ある。
0を実現するプロセス400を詳述したフローチャート
である。ここで、プロセス400が本発明に従ってセキ
ュリティを処理する方法の1つに過ぎず、本発明の範囲
を限定するものとは解釈されない点に注意が必要であ
る。プロセス400は、ステップ402において、セキ
ュリティモジュールがアクティブに設定されているかを
決定することにより開始する。セキュリティモジュール
がアクティブに設定されていないと決定された場合は、
ステップ404において、サーブレットがサーバのデフ
ォルトセキュリティモードを利用する。これに対して、
セキュリティモジュールがアクティブに設定されている
場合には、受信されたhttpリクエストを認証するた
めに、ステップ406において、関連するセキュリティ
モジュールにより認証リクエストとしての認証メソッド
が呼び出される。そしてステップ408において、認証
が成功したか否かに関する決定がなされる。認証が成功
しなかった場合は、ステップ314(ロギング)に制御
が引き渡され、それ以外の場合は、ステップ410にお
いてセキュリティモジュールがhttpリクエスト上に
許可メソッドを呼び出す。許可が成功しなかった場合
は、ステップ314(ロギング)に制御が引き渡され、
それ以外の場合は、ステップ312においてhttpリ
クエストがサーブレットによりサービスされる。
実現するプロセス500を詳述したフローチャートであ
る。ここで、プロセス500が本発明に従ってロギング
を処理する方法の1つに過ぎず、本発明の範囲を限定す
るものとは解釈されない点に注意が必要である。プロセ
ス500は、ステップ502において、httpレスポ
ンスオブジェクトに故障コードが設定されているかを決
定することにより開始する。故障コードが設定されてい
ないと決定された場合は、httpリクエストは、ロギ
ングモジュール上にログメソッドを呼び出すことにより
記録される。これに対して、故障コードが設定されてい
る場合は、httpリクエストは、ステップ504にお
いてロギングモジュール上にログエラーメソッドを呼び
出すことにより記録される。いずれの場合も、ロギング
メソッドが完了してからステップ306において次のh
ttpリクエストが受信されるまでの間、サーブレット
は待ち状態に置かれる。
とができるコンピュータシステム600を描いた図であ
る。コンピュータシステム600は、より厳密に言えば
複数のCPU602は、当業者には明らかなように、仮
想マシンをサポートするように構成することができる。
当業者に周知のように、ROMが、データおよび命令を
CPU602に一方向的に伝送するよう作動する一方
で、RAMは、データおよび命令を双方向的に伝送する
ように使用されるのが典型的である。CPU602は、
一般に任意数のプロセッサを含んで良い。主記憶装置6
04,606は、ともに任意の適切なコンピュータ読み
取り可能媒体を含んで良い。二次記憶媒体608は、大
容量のメモリデバイスであるのが典型的であり、CPU
602に双方向的に接続されて追加のデータ格納容量を
提供する。大容量メモリデバイス608は、コンピュー
タコードやデータ等を含むプログラムを格納するのに使
用され得るコンピュータ読み取り可能媒体である。典型
的な大容量メモリデバイス608は、一般の主記憶装置
604,606よりも低速な、ハードディスクやテープ
等の記憶媒体である。大容量メモリデバイス608は、
磁気もしくは紙テープ読取り装置、またはその他の周知
な装置の形を採っても良い。大容量メモリデバイス60
8内に保持される情報は、適切な場合には、RAM60
6内に、その一部を占める仮想メモリとしてスタンダー
ドな方式で組み込まれていても良い。CD−ROM等の
特定の主記憶装置604は、CPU602に一方向的に
データを引き渡しても良い。
の入出力デバイス610に接続されていて良い。入出力
デバイスは、ビデオモニタ、トラックボール、マウス、
キーボード、マイクロフォン、タッチディスプレイ、ト
ランスデューサカードリーダ、磁気もしくは紙テープリ
ーダ、タブレット、スタイラス、音声もしくは筆跡認識
装置、または他のコンピュータ等のその他の周知な入力
デバイスを含み、これらの限定されない。CPU602
は、最終的にコンピュータに接続されるか、または、例
えばインターネットやイントラネット等の通信網に、6
12として一般に示されるようなネットワーク接続を使
用して選択的に接続されても良い。このようなネットワ
ーク接続により、CPU602は、上述した方法の工程
の最中に、ネットワークから情報を受信したりネットワ
ークに情報を出力したりできると考えられる。これらの
情報は、CPU602で実行される命令のシーケンスと
して表現されることが多く、例えば搬送波に組み込まれ
たコンピュータデータ信号の形で、ネットワークから受
信されたりネットワークに出力されても良い。上述した
装置および材料は、コンピュータのハードウェアおよび
ソフトウェア技術の当業者にとって周知のものである。
り上げたが、本発明が、本発明の精神または範囲を逸脱
することなく他の多くの特殊な形で実施できる点に注意
が必要である。
ィおよびロギングプロトコルをサーブレットエンジンに
提供するための方法は、Java(商標)ベースの環境
で実現するのに特に適しているが、この方法は、一般
に、任意の適切なオブジェクトベースの環境に適用する
ことが可能である。この方法は特に、プラットフォーム
独立のオブジェクトベース環境で使用するのに適してい
る。ここで、この方法を、分散オブジェクト指向システ
ムで実現することも可能である点に注意が必要である。
ザおよびウェブサーバを有するコンピュータシステムに
使用した場合を説明したが、本発明が一般に、任意の適
切なオブジェクト指向コンピュータシステム上で実現で
きる点に注意が必要である。したがって、本発明は例示
的なものであり限定的ではないと考えられ、ここで示し
た詳細に限定されることはない。よって本発明は、最大
限の範囲で同等物が可能であるのに加え、添付した特許
請求の範囲の範囲内で各種の変更を加えることが可能で
ある。
る。
ーザによる設定が可能なセキュリティおよびロギングプ
ロトコルを提供するサーブレットコンテナとを本発明の
一実施形態に従って示した図である。
ライフサイクルを詳細に示したフローチャートである。
スを詳細に示したフローチャートである。
詳細に示したフローチャートである。
ンピュータシステムを描いた図である。
Claims (18)
- 【請求項1】 選択されたセキュリティおよびロギング
プロトコルを提供するように構成されたサーブレットエ
ンジンであって、 認証および許可プロトコルを含む前記選択されたセキュ
リティプロトコルを提供するように構成されたセキュリ
ティモジュールであって、前記認証プロトコルは、前記
サーブレットエンジンによって受信されたリクエストが
検証済みの発信源を有していることを確認するものであ
り、前記許可プロトコルは、前記検証済みの発信源が適
切な許可を有していることを確認するものである、セキ
ュリティモジュールと、 前記セキュリティモジュールに接続されたロギングモジ
ュールであって、前記検証済みの発信源から発生してい
ないか、または、適切な許可を有していない前記受信さ
れたリクエストが前記ロギングモジュールにより記録さ
れるように、前記供給されたロギングプロトコルを提供
するように構成されたロギングモジュールと、 前記セキュリティモジュールと前記ロギングモジュール
とに接続され、前記セキュリティモジュールにより認証
および許可された前記受信されたリクエストを処理する
ように構成されたサーブレットであって、前記サーブレ
ットによりうまく処理された前記リクエストを第1のタ
イプのフラグを用いて前記ロギングモジュールに通知
し、前記サーブレットによりうまく処理されなかった前
記リクエストを第2のタイプのフラグを用いて前記ロギ
ングモジュールに通知するサーブレットと、を含むサー
ブレットコンテナを備えたサーブレットエンジン。 - 【請求項2】 請求項1記載のサーブレットエンジンで
あって、 前記サーブレットエンジンはサーバ内に含まれている、
サーブレットエンジン。 - 【請求項3】 請求項2記載のサーブレットエンジンで
あって、 前記サーバは、前記サーブレットエンジンによって受信
された前記リクエストを生成することができるクライア
ントアプリケーションに接続されている、サーブレット
エンジン。 - 【請求項4】 請求項2または3記載のサーブレットエ
ンジンであって、 前記クライアントアプリケーションはウェブブラウザで
あり、前記サーバはウェブサーバであり、前記リクエス
トは、リクエストされたドキュメントが格納されている
データベースを有したホストコンピュータを特定するh
ttpリクエストである、サーブレットエンジン。 - 【請求項5】 請求項2ないし4のいずれかに記載のサ
ーブレットエンジンであって、 前記データベースは前記サーブレットエンジンに接続さ
れており、前記リクエストは、前記データベースに格納
された情報を獲得するために前記データベースにアクセ
スするのに必要とされるデータベースアクセスリクエス
トである、サーブレットエンジン。 - 【請求項6】 請求項2ないし5のいずれかに記載のサ
ーブレットエンジンであって、 前記サーブレットは、前記ウェブブラウザにhttpレ
スポンスを提供することにより前記httpリクエスト
に応える、サーブレットエンジン。 - 【請求項7】 請求項2ないし6のいずれかに記載のサ
ーブレットエンジンであって、 前記ブラウザは、ユーザが供給した入力に応えて前記h
ttpリクエストを生成するように構成されたアプレッ
トを含む、サーブレットエンジン。 - 【請求項8】 請求項2ないし7のいずれかに記載のサ
ーブレットエンジンであって、 前記ウェブブラウザによりセッションが開始されるとき
に、前記セキュリティモジュールにより前記ウェブブラ
ウザにクッキーが提供され、前記クッキーは、前記セッ
ション中に引き続いてなされるhttpリクエストが、
前記サーブレットにより直接処理されるために前記セキ
ュリティモジュールを迂回するのに使用される、サーブ
レットエンジン。 - 【請求項9】 請求項2ないし8のいずれかに記載のサ
ーブレットエンジンであって、 前記セキュリティモジュールは、前記クッキーが有効な
クッキーであるかを周期的に決定する、サーブレットエ
ンジン。 - 【請求項10】 請求項2ないし9のいずれかに記載の
サーブレットエンジンであって、 前記有効なクッキーは期限切れでないクッキーである、
サーブレットエンジン。 - 【請求項11】 請求項2ないし10のいずれかに記載
のサーブレットエンジンであって、 前記ウェブサーバは前記ホストコンピュータ内に存在し
ており、前記ホストコンピュータはコンピュータのイン
ターネットネットワークの一部である、サーブレットエ
ンジン。 - 【請求項12】 ユーザにより選択されたセキュリティ
およびロギングプロトコルを提供するように構成された
サーブレットエンジンに接続された保護リソースにアク
セスする方法であって、前記サーブレットエンジンは、
認証および許可プロトコルを含む前記ユーザ選択セキュ
リティプロトコルを提供するように構成されたセキュリ
ティモジュールと、ロギングモジュールと、前記セキュ
リティモジュールおよび前記ロギングモジュールに接続
されたサーブレットと、を備えており、前記方法は、 前記サーブレットエンジンによりリソースアクセスリク
エストを受信し、 前記受信したアクセスリクエストが検証済み発信源から
発生しているかを前記認証プロトコルに基づいて、ま
た、前記受信したアクセスリクエストが適切な許可を有
しているかを前記許可プロトコルに基づいて、前記セキ
ュリティモジュールにより決定し、 前記検証済み発信源から発生していないか、または、適
切な許可を有していない前記リクエストを、前記ロギン
グプロトコルに基づいて前記ロギングモジュールにより
記録し、 前記セキュリティモジュールにより認証および許可され
た前記受信されたリクエストを、前記サーブレットによ
り処理し、 前記サーブレットによりうまく処理された前記リクエス
トを、前記サーブレットにより第1のタイプのフラグを
用いて前記ロギングモジュールに通知し、また、前記サ
ーブレットによりうまく処理されなかった前記リクエス
トを、前記サーブレットにより第2のタイプのフラグを
用いて前記ロギングモジュールに通知し、 前記第1のタイプのフラグで識別された前記リクエスト
のために、前記保護データベースへのアクセスを前記サ
ーブレットにより提供すること、を備えた方法。 - 【請求項13】 請求項12記載の方法であって、 前記保護リソースはデータベースである、方法。
- 【請求項14】 請求項13記載の方法であって、 前記リクエストはデータベースアクセスリクエストであ
る、方法。 - 【請求項15】 請求項14記載の方法であって、 前記サーブレットエンジンは、前記保護データベースに
接続されたホストコンピュータ内に存在する、方法。 - 【請求項16】 請求項15記載の方法であって、 前記ホストコンピュータはクライアントアプリケーショ
ンに接続されており、前記クライアントアプリケーショ
ンはhttpリクエストの形で前記データベースアクセ
スリクエストを生成する、方法。 - 【請求項17】 請求項16記載の方法であって、 前記クライアントアプリケーションは、ユーザが供給し
た入力に前記httpリクエストを生成することにより
応えるアプレットを有する、方法。 - 【請求項18】 保護されたリソースへのアクセスを提
供するための装置であって、 保護リソースアクセスリクエストの発信源が検証済みか
を第1に決定するための認証手段と、 前記保護アクセスリクエストの発信源が適切な保護リソ
ースアクセス許可を有するかを第2の決定するための許
可手段と、 前記許可手段に接続され、前記認証手段および前記許可
手段によっていずれも合格とされた前記リクエストにサ
ービスするためのリクエストハンドル手段と、 前記認証手段および前記許可手段に接続され、サービス
されたトランザクションのみでなく、認証に失敗したま
たは許可に失敗したトランザクションも記録するための
ロギング手段と、を備えた装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/333877 | 1999-06-14 | ||
US09/333,877 US6701438B1 (en) | 1999-06-14 | 1999-06-14 | Methods and apparatus for providing customizable security and logging protocols in a servlet engine |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001067317A true JP2001067317A (ja) | 2001-03-16 |
JP4615096B2 JP4615096B2 (ja) | 2011-01-19 |
Family
ID=23304635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000178858A Expired - Fee Related JP4615096B2 (ja) | 1999-06-14 | 2000-06-14 | サーブレットエンジンにカスタマイズ可能なセキュリティおよびロギングプロトコルを提供するための方法および装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6701438B1 (ja) |
EP (1) | EP1061709B1 (ja) |
JP (1) | JP4615096B2 (ja) |
DE (1) | DE60017319T2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015232837A (ja) * | 2014-06-10 | 2015-12-24 | 東芝テック株式会社 | サーバ装置及びプログラム |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6832223B1 (en) * | 1996-04-23 | 2004-12-14 | Sun Microsystems, Inc. | Method and system for facilitating access to a lookup service |
US7877492B2 (en) * | 1999-10-12 | 2011-01-25 | Webmd Corporation | System and method for delegating a user authentication process for a networked application to an authentication agent |
JP2001249892A (ja) * | 2000-03-03 | 2001-09-14 | Seiko Epson Corp | ウエブページ閲覧制限方法とサーバシステム |
US20020046240A1 (en) * | 2000-08-31 | 2002-04-18 | Scott Graham | Web server framework |
CA2327078C (en) * | 2000-11-30 | 2005-01-11 | Ibm Canada Limited-Ibm Canada Limitee | Secure session management and authentication for web sites |
US7389354B1 (en) * | 2000-12-11 | 2008-06-17 | Cisco Technology, Inc. | Preventing HTTP server attacks |
US7702800B2 (en) * | 2000-12-18 | 2010-04-20 | International Business Machines Corporation | Detecting and handling affinity breaks in web applications |
US6965939B2 (en) * | 2001-01-05 | 2005-11-15 | International Business Machines Corporation | Method and apparatus for processing requests in a network data processing system based on a trust association between servers |
US20020143958A1 (en) * | 2001-03-30 | 2002-10-03 | Montero Gabriel G. | Method and apparatus for asynchronous time-based updates of http sessions |
US20030048296A1 (en) * | 2001-09-12 | 2003-03-13 | Paul Cullen | Method & apparatus for enhancing the graphical user interface presented by an application |
US7003570B2 (en) * | 2001-10-05 | 2006-02-21 | Bea Systems, Inc. | System for integrating java servlets with asynchronous messages |
US7607171B1 (en) | 2002-01-17 | 2009-10-20 | Avinti, Inc. | Virus detection by executing e-mail code in a virtual machine |
US9652613B1 (en) | 2002-01-17 | 2017-05-16 | Trustwave Holdings, Inc. | Virus detection by executing electronic message code in a virtual machine |
WO2003063009A1 (en) * | 2002-01-18 | 2003-07-31 | Bea Systems, Inc. | System, method and interface for controlling server lifecycle |
US7197530B2 (en) * | 2002-01-18 | 2007-03-27 | Bea Systems, Inc. | System and method for pluggable URL pattern matching for servlets and application servers |
US7793342B1 (en) * | 2002-10-15 | 2010-09-07 | Novell, Inc. | Single sign-on with basic authentication for a transparent proxy |
WO2004038997A1 (en) | 2002-10-18 | 2004-05-06 | American Express Travel Related Services Company, Inc. | Device independent authentication system and method |
US7305470B2 (en) | 2003-02-12 | 2007-12-04 | Aol Llc | Method for displaying web user's authentication status in a distributed single login network |
US7209929B2 (en) * | 2003-04-17 | 2007-04-24 | Salesforce.Com, Inc. | Java object cache server for databases |
WO2005008434A2 (en) * | 2003-07-11 | 2005-01-27 | Computer Associates Think, Inc. | A distributed locking method and system for networked device management |
US7353536B1 (en) * | 2003-09-23 | 2008-04-01 | At&T Delaware Intellectual Property, Inc | Methods of resetting passwords in network service systems including user redirection and related systems and computer-program products |
US7552321B2 (en) * | 2003-11-20 | 2009-06-23 | The Boeing Company | Method and hybrid system for authenticating communications |
US20060185004A1 (en) * | 2005-02-11 | 2006-08-17 | Samsung Electronics Co., Ltd. | Method and system for single sign-on in a network |
US8140695B2 (en) * | 2005-12-12 | 2012-03-20 | International Business Machines Corporation | Load balancing and failover of distributed media resources in a media server |
US8015304B2 (en) * | 2005-12-12 | 2011-09-06 | International Business Machines Corporation | Method to distribute speech resources in a media server |
US7930736B2 (en) * | 2006-01-13 | 2011-04-19 | Google, Inc. | Providing selective access to a web site |
US7937762B2 (en) * | 2007-01-15 | 2011-05-03 | Microsoft Corporation | Tracking and identifying operations from un-trusted clients |
US8201231B2 (en) * | 2007-02-21 | 2012-06-12 | Microsoft Corporation | Authenticated credential-based multi-tenant access to a service |
US7696869B2 (en) * | 2007-04-05 | 2010-04-13 | Health Hero Network, Inc. | Interactive programmable container security and compliance system |
US8321936B1 (en) | 2007-05-30 | 2012-11-27 | M86 Security, Inc. | System and method for malicious software detection in multiple protocols |
US8301876B2 (en) * | 2008-05-16 | 2012-10-30 | Emc Corporation | Techniques for secure network communication |
US10007668B2 (en) * | 2008-08-01 | 2018-06-26 | Vantrix Corporation | Method and system for triggering ingestion of remote content by a streaming server using uniform resource locator folder mapping |
US9128764B2 (en) | 2011-09-27 | 2015-09-08 | Oracle International Corporation | System and method for providing flexibility in configuring HTTP load balancing in a traffic director environment |
US9830435B2 (en) * | 2011-10-04 | 2017-11-28 | Salesforce.Com, Inc. | Method and system for providing login as a service |
US9888034B2 (en) * | 2014-12-24 | 2018-02-06 | Oracle International Corporation | Pluggable API firewall filter |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10133892A (ja) * | 1996-05-30 | 1998-05-22 | Sun Microsyst Inc | サーブレットを処理する方法及び装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5944781A (en) | 1996-05-30 | 1999-08-31 | Sun Microsystems, Inc. | Persistent executable object system and method |
US6766454B1 (en) | 1997-04-08 | 2004-07-20 | Visto Corporation | System and method for using an authentication applet to identify and authenticate a user in a computer network |
US6151599A (en) * | 1998-07-17 | 2000-11-21 | International Business Machines Corporation | Web client scripting test architecture for web server-based authentication |
EA003374B1 (ru) | 1998-08-21 | 2003-04-24 | Висто Корпорейшн | Система и способ обеспечения безопасного доступа к сервисам в компьютерной сети |
US6226752B1 (en) * | 1999-05-11 | 2001-05-01 | Sun Microsystems, Inc. | Method and apparatus for authenticating users |
-
1999
- 1999-06-14 US US09/333,877 patent/US6701438B1/en not_active Expired - Lifetime
-
2000
- 2000-06-13 EP EP00304967A patent/EP1061709B1/en not_active Expired - Lifetime
- 2000-06-13 DE DE60017319T patent/DE60017319T2/de not_active Expired - Fee Related
- 2000-06-14 JP JP2000178858A patent/JP4615096B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10133892A (ja) * | 1996-05-30 | 1998-05-22 | Sun Microsyst Inc | サーブレットを処理する方法及び装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015232837A (ja) * | 2014-06-10 | 2015-12-24 | 東芝テック株式会社 | サーバ装置及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
EP1061709A3 (en) | 2003-06-25 |
DE60017319T2 (de) | 2005-05-25 |
EP1061709B1 (en) | 2005-01-12 |
US6701438B1 (en) | 2004-03-02 |
JP4615096B2 (ja) | 2011-01-19 |
EP1061709A2 (en) | 2000-12-20 |
DE60017319D1 (de) | 2005-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4615096B2 (ja) | サーブレットエンジンにカスタマイズ可能なセキュリティおよびロギングプロトコルを提供するための方法および装置 | |
US6341352B1 (en) | Method for changing a security policy during processing of a transaction request | |
US5918228A (en) | Method and apparatus for enabling a web server to impersonate a user of a distributed file system to obtain secure access to supported web documents | |
US5875296A (en) | Distributed file system web server user authentication with cookies | |
US6668327B1 (en) | Distributed authentication mechanisms for handling diverse authentication systems in an enterprise computer system | |
US7424720B2 (en) | Process and implementation for dynamically determining probe enablement using out of process correlating token | |
US7296077B2 (en) | Method and system for web-based switch-user operation | |
US8949990B1 (en) | Script-based XSS vulnerability detection | |
US7024394B1 (en) | System and method for protecting user logoff from web business transactions | |
KR100308321B1 (ko) | 서버그룹사이의동작을조정하는방법및시스템 | |
US6338064B1 (en) | Method for enabling a web server running a “closed” native operating system to impersonate a user of a web client to obtain a protected file | |
US9459888B2 (en) | Implementing browser based hypertext transfer protocol session storage | |
US20090132713A1 (en) | Single-roundtrip exchange for cross-domain data access | |
US20020165954A1 (en) | System and method for monitoring browser event activities | |
US20090100438A1 (en) | Browser-based logoff from distributed and federated environments | |
US20040143625A1 (en) | Component proxy with interception logic in remote component container | |
JPH11282804A (ja) | ユーザ認証機能付き通信システム及びユーザ認証方法 | |
JP2003501726A (ja) | サーバ・エージェント・システム | |
US20090006935A1 (en) | Methods, Systems, and Products for Verifying Integrity of Web-Server Served Content | |
US7536390B2 (en) | Accessing Web content from any virtualized store | |
US20030145103A1 (en) | Method and system for providing exactly-once semantics for web-based transaction processing | |
US6535916B1 (en) | Systems, methods and computer program products for linking transactions by multiple web site servers to web site visitors | |
US20060047662A1 (en) | Capability support for web transactions | |
US20010049796A1 (en) | Authentication-technology independent, non-programmatic method and apparatus for bootstrapping a user database from the WEB tier | |
US20040111394A1 (en) | Hidden fields for containing debug information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070514 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100302 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100531 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100603 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100831 |
|
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: 20100921 |
|
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: 20101020 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4615096 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131029 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131029 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131029 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |