JP2004528609A - フィルタリングのなされたアプリケーション間通信 - Google Patents
フィルタリングのなされたアプリケーション間通信 Download PDFInfo
- Publication number
- JP2004528609A JP2004528609A JP2001587167A JP2001587167A JP2004528609A JP 2004528609 A JP2004528609 A JP 2004528609A JP 2001587167 A JP2001587167 A JP 2001587167A JP 2001587167 A JP2001587167 A JP 2001587167A JP 2004528609 A JP2004528609 A JP 2004528609A
- Authority
- JP
- Japan
- Prior art keywords
- application
- communication
- filtered
- hardware
- providing
- 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.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 70
- 238000001914 filtration Methods 0.000 title claims description 26
- 238000000034 method Methods 0.000 claims description 61
- 230000008569 process Effects 0.000 claims description 31
- 239000003795 chemical substances by application Substances 0.000 description 12
- 238000012546 transfer Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 239000000835 fiber Substances 0.000 description 2
- 238000013338 intended final formulation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
-
- 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/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
- Polysaccharides And Polysaccharide Derivatives (AREA)
- Communication Control (AREA)
- Telephonic Communication Services (AREA)
- Hardware Redundancy (AREA)
Abstract
本発明の実施例は、マルチチャネルで高信頼性のハードウェア環境(例えば、インフィニバンド)におけるサーバ・ファームでフィルタリングのなされたアプリケーション間の通信を可能にするシステムに関するものである。このシステムは、また、このファームにおけるサーバ間でのアプリケーション間の通信のパフォーマンスを向上させる。マルチチャネルで高信頼性の通信ハードウェアの実現により、それよりも上位の通信ソフトウェア層の数を減少させることができる。
Description
【0001】
【関連出願への相互参照】
本出願は、2000年5月24日に出願された米国特許仮出願第60/206,776号に基づく優先権を主張するものであり、この米国特許仮出願の内容はその全体を本出願において援用する。
【0002】
【発明の背景】
同じ又は異なる機能を有する複数のサーバを接続してサーバ・ファームを形成することによって、高い計算能力が達成される。これらのサーバ上で動作しているアプリケーションは、データを相互に転送する必要がない。サーバ・ファーム環境は、セキュリティ・レベルが異なるサーバから構築されているのが一般的である。そのような環境では、安全なサーバは、セキュリティの程度がより低いサーバにおいて生じる攻撃から自分自身を保護しなければならない。
【0003】
損なわれやすいサーバを信頼度がより低いサーバからの攻撃から保護する方法の1つとして、アプリケーション・レベルのファイアウォールの使用がある。アプリケーション・レベルのファイアウォールは、ホストを動作させているプロキシ・サーバであるのが一般的であり、このプロキシ・サーバは、ネットワークのセグメントの間での直接的なトラフィックを許可せず、それ自身を通過するデータ・トラフィックの詳細なロギングと検査とを実行する。プロキシ・アプリケーションは、ファイアウォール上で動作するソフトウェア成分であって、ターゲットとなる実際のアプリケーションをエミュレートする。途中にプロキシ・アプリケーションを有していると、サーバ・ファームの全体としてのパフォーマンスに悪影響が及ぶ。更に、そのために、ファイアウォールの透明性が低下し、互換性の問題が生じる。
【0004】
ファイアウォールは、ネットワークのセグメントの間の別個のユニットであって、複雑なロジックを含むから、アプリケーションからアプリケーションへの通信にかなりの遅延を生じさせる。フィルタリングがより複雑で高レベルになるにつれて、遅延もそれだけ大きくなる。更に、ファイアウォールは、通信障害を生じさせたり、アプリケーションの間において故障点を追加することもありうる。また、サーバ・ファームは、冗長リンクと並列構成とを含む複雑なトポロジを有することがある。そのようなトポロジに対するセキュリティ・レベルを維持するためには、新たなセグメントが作成されるたびに新たなファイアウォールが追加される可能性がある。
【0005】
更に、プロトコルが複雑であるか又は文書化されていない場合には、高レベルのフィルタリングはほとんど不可能である。というのは、検査対象となる層よりも下位のネットワーク層がエミュレートされる必要があるからである。従って、アプリケーション・レベルのフィルタリングは、現時点では、パフォーマンス感知性がより低い環境におけるうまく文書化された(well−documented)プロトコルに対してだけ実行されている。そのようなうまく文書化されたプロトコルの例としては、電子メール・プロトコル、ファイル転送プロトコル(FTP)、ハイパーテキスト転送プロトコル(HTTP)などがある。高レベルのフィルタリングが実行されていない例としては、データベース・トランザクション、ネットワーク・ファイル・システム(NFS)トランザクション、リモート・プロシージャ・コール(RPC)トランザクションなどがある。
【0006】
ネットワーク上でのアプリケーション間の通信は、現時点では、例えば、オープン・システムズ・インターコネクション(OSI)モデルの7つの層など、複数の層のプロトコルに関係する。その多くの機能の中で、これらの層は、エラー処理、誤った順序で到着するパケットの再配列、そして、異なるアプリケーションからのデータの多重化を行うことができる。
【0007】
近い将来には、アプリケーション間の通信は、ほとんどがハードウェアとして実現されている通信プロトコルを備えたマルチチャネル通信ハードウェアを有する効率的なネットワーク上で生じることになるであろう。そのようなネットワークの例としては、限定的ではないが、新たなシステム・エリア・ネットワーク(SAN)、インフィニバンド(InfiniBand)ネットワーク、ファイバ・チャネル・ネットワーク、非同期転送モード(ATM)ネットワークなどがある。これらのネットワークの内部では、これらのアーキテクチャの帯域幅とトポロジとをサポートすることができるファイアウォールを提供することは、ほとんど不可能であるか、およそ現実的でない。従って、アプリケーション間のトラフィックをフィルタリングする新たな効率的な方法を提供することには意味があるであろう。
【0008】
【発明の実施の形態】
本発明と見なされる主題は、冒頭の特許請求の範囲において特に指摘され明確に権利が主張されている。しかし、本発明は、構成及び動作方法の両方において、また、その目的、特徴及び効果に関しても、以下の詳細な説明を添付の図面と共に参照することによって最もよく理解されるはずである。
【0009】
図解を簡略かつ明瞭にするために、図面に示されている構成要素は必ずしも寸法通りでないことを理解すべきである。例えば、ある構成要素の大きさは、明瞭にする目的で、他の構成要素と比較して誇張されている。更に、適切であると考えられる場合には、複数の図面において参照番号が反復されているが、これは、対応する又は類似の構成要素であることを示唆するためである。
【0010】
以下の詳細な説明では、多数の特定の詳細が、本発明に関する完全な理解を提供するために与えられている。しかし、当業者であれば理解するであろうが、本発明は、これらの特定の詳細なしでも実現することができる。また、周知の方法、手順及び構成要素に関しては、詳細を割愛する。これは、本発明を曖昧にしないためである。
【0011】
本発明の実施例は、マルチチャネル高信頼性ハードウェア環境(例えば、インフィニバンド)においてサーバ・ファームでのフィルタリングされたアプリケーション間通信を可能にするシステムに関する。このシステムは、また、そのファームにおけるサーバの間でのアプリケーション間通信のパフォーマンスを向上させることができる。マルチチャネル高信頼性通信ハードウェアの実現により、上述の通信ソフトウェア層の数を減少させることができる。
【0012】
本発明の実施例では、部分的にハードウェア・ベースの軽量プロトコルによって、OSIモデルの既存のアプリケーション/トランスポート・ネットワーク層(第4層から第7層まで)を置き換えることができる。このプロトコルは、アプリケーション(ユーザ・スペース)からハードウェアへの直接的な通信を可能にし、トランスポート・プロトコルのハードウェアでの実現を可能にする。
【0013】
まず図1A及び図1Bを参照すると、これらの図には、例示的な標準的ネットワーク・サーバと本発明の実施例による例示的なマルチ・チャネル通信ハードウェア・サーバとの比較が図解されている。図1Aは、標準的なネットワーク・サーバのブロック図がOSIモデルとの関係で図解されている。標準的なネットワークでは、ネットワーク・インターフェース・カード(NIC)とNICドライバとが、主にOSIモデルの物理層とリンク層とに関連付けられている。
【0014】
ネットワーク・プロトコル(例えば、TCP/IP)は、主に、ネットワーク層とトランスポート層とに関連付けられている。OSIモデルの上位の4つの層は、ソケット(例えば、winsock)とアプリケーション・トランスポート・プロバイダ(例えば、netlib)とに関連付けられている。ユーザ間の通信においては、一方の端部では、それぞれの層とそのサーバにおける層を通過するデータ・フローがあり、他方の端部では、データが到着すると、受信側サーバの層を通過し最終的にはエンド・ユーザに至る別のデータ・フローが存在する。これとは対照的に、本発明の実施例では、以下で説明するように、マルチチャネル高信頼性通信ハードウェアがOSIモデルのアプリケーション層と関連付けられたアプリケーションと直接に通信する。
【0015】
図1Bには、高速ネットワークにおけるマルチチャネル通信ハードウェア・サーバ(MMC HW)のブロック図が図解されている。このサーバによれば、本発明の実施例により、複数のサーバ間での高速でありフィルタリングのなされたアプリケーション間通信が可能となる。そのような実施例では、マルチチャネル高信頼性通信ハードウェア106が、標準的なネットワーク・カードに取って代わるのである。OSIモデルとの関係では、通信ハードウェア106は、最初の4つのOSI層と、同様にそれよりの上位のOSI層のいくつかの機能とに取って代わるのである。
【0016】
サーバ100は、複数のアプリケーション102と、複数のアプリケーション・プログラム・インターフェース(API)及びフィルタ(IFF)104と、マルチチャネル通信ハードウェア106とを備えている。更に、サーバ100は、カーネル・エージェント108を備えており、オプションとして、セキュリティ・モニタ110を備えている。「カーネル・エージェント」という用語は、カーネル・システムにおけるソフトウェア要素を意味しており、このソフトウェア要素がカーネル・システムのハードウェア要素を初期化する。これらのソフトウェア要素は、更に、チャネル配分やエラー処理などを行うように構成することができる。
【0017】
通信ハードウェア106は、データを高信頼性をもってプロセスからプロセスへ転送する特別の通信能力を提供する。そのような通信能力の例としては、限定的ではないが、エラー検出、キューイング、メモリ管理、多重化、セキュリティなどがある。従って、アプリケーション間通信のパフォーマンスが著しく向上するのであるが、その理由は、これらの能力は、アプリケーション間通信のソフトウェア部分において提供されることがもはや必要でないからである。注意すべきであるが、通信ハードウェア106は、ハードウェアとして実現されたトランスポート通信層とカーネル・バイパス能力とを備えている場合もある。
【0018】
通信ハードウェア106の例としては、制限的ではないが、仮想インターフェース、インフィニバンド、ファイバ・チャネル、スモール・コンピュータ・システム・インターフェース(SCSI)、非同期転送モード(ATM)、そして修正型のイーサネット(R)など、新たなシステム・エリア・ネットワーク(SAN)技術を含む。
【0019】
IFF104は、標準的なネットワークではアプリケーション層、プレゼンテーション層、セッション層及びトランスポート層によって実行される機能を実行するように構成される。この点については、後で図2との関係で述べる。
【0020】
次に、図2を参照すると、本発明の実施例によるネットワーク装置のためのフィルタリング・システムの概要が図解されている。サーバ・ファームは、サーバ100A及び100Bを含んでおり、ここでは、例えば、サーバ100Aの方がサーバ100Bよりも信頼性が高いとする。サーバ100Aは、複数のアプリケーション102Aと、複数のAPI及びフィルタ(IFF)104と、マルチチャネル通信ハードウェア106Aとを備えている。サーバ100Aは、更に、カーネル・エージェント108Aと、オプションであるが、セキュリティ・モニタ110Aとを備えている。
【0021】
同様に、サーバ100Bは、複数のアプリケーション102Bと、複数のアプリケーションIFF104Bと、マルチチャネル通信ハードウェア106Bとを備えている。サーバ100Bは、更にカーネル・エージェント108Bを備えており、オプションであるが、セキュリティ・モニタ11Bも備えている。サーバ100A及び100Bは、相互の間を、マルチチャネル通信ハードウェア106Aと106Bとの間のマルチチャネル通信リンク101を介して接続されている。
【0022】
それぞれのアプリケーションIFF104は、特定のタイプのアプリケーション102にインターフェースを提供する。例えば、ソケット(例えば、ウィンソック(Winsock))、ネットワーク・ドライバ・インターフェース仕様(NDIS)、リモート・プロシジャ・コール(RPC)、ネットワーク・ファイル・システム(NFS)、分散型コンポーネント・オブジェクト・モデル(DCOM)及びデータベース・アプリケーションなどに対して、別個のアプリケーションIFF104が存在する。アプリケーションIFF104は、ソフトウェアにおいて実現され、アプリケーション102とマルチチャネル通信ハードウェア106との間のインターフェースを提供する。例えば、データベース・アプリケーション102は、オブジェクト・リンク及び埋め込みデータベース(OLEDB)機能をコールする。アプリケーションIFF104の1つは、データベースアプリケーション102にOLEDB機能を提供し、通信ハードウェア106に直接アクセスする新たなプロトコルを実現することができる。
【0023】
それぞれのIFF104は、所定の方式に基づいて通信をフィルタリングするフィルタを含む。このフィルタは、アプリケーション層に位置するから、アプリケーション間のトランザクションを監視し、違法又は許可できないクライアントIDを含む高レベルでアプリケーションに特有な規則にトランザクションが従わない場合には、トランザクションを拒絶する、又は、アラートを生じさせることができる。高レベルのフィルタリングを実行することができるトランザクションの制限的でない例を次に挙げる。すなわち、
a)データベースのSQLトランザクション、ログイン、記憶されているプロシジャのフィルタリング;
b)RPCトランザクション、オブジェクト及び方法の呼び出しのフィルタリング;
c)ソケット(ウィンソック、BSDなど)の動作のフィルタリング;
d)リモート・ログインのフィルタリング;
e)パス及び/又はアクセス・タイプ(読み出し、書き込み、作成、削除など)に基づく、リモート・ファイル・システムへのアクセス・コマンド(すなわち、ファイル共有、NFS、CIFS)のフィルタリング;及び
f)リモート管理コマンド(例えば、ウェブ・サーバがアプリケーション・サーバにあるプロセスを消滅させるように命令できない、ウェブ・サーバがアプリケーション・サーバに閉じるように命令できない、など)のフィルタリング、などである。
【0024】
API及びフィルタ(IFF)104の例は、ソケット・アプリケーション・フィルタ(ソケットIFF)であり、これは、本発明の実施例に従って構成される。ソケットIFFの例には、ウィンソックIFFがある。ウィンソックIFFは、ウィンソック・ベースのアプリケーションをフィルタリングするきのうを有する。このフィルタリング・プロセスは、ウィンソックAPIコールをインターセプトすることによって実行される。
【0025】
ソケットIFFに対して利用可能なデータの例には、制限的ではないが、ソケットをコールするプロセスの名称、接続のための要求されたピア・アドレス、ポート番号、受信又は送信された実際のデータ及び開通している接続の総数が含まれる。これらの入力に基づいて、IFFは、動作を静かに失敗させるか、システム管理者に怪しいアクティビティに関するアラートを提供するか、リクエストを通過させるか又はリクエストを認証するかを判断する。
【0026】
フィルタ(IFF)は、複数の方法で動作する。1つの動作方法は、プロセスを許容されたコール・プロセスのリストと比較することによってローカルなプロセスを阻止することである。ソケット・ライブラリ(例えば、ウィンソックDLL)が、コールしているプロセスのアドレス空間にマップされる。従って、フィルタは、コールしているプロセスのファイル情報を要求し、受け取った値を1組の規則と比較してそのコールしているプロセスはソケット・アプリケーションをコールすることを許容されるのかどうかを判断することができる。
【0027】
別の動作方法として、クライアント・ポートを阻止することによるものがある。フィルタは、「接続」APIのパラメータをチェックして、宛先のアドレス及びポートを受け取ることができる。サーバ・アドレスとポート番号とは、1組の所定の規則を用いてテストされる。このテストに合格しない場合には、接続は拒絶される。
【0028】
あるいは、フィルタは、サーバ・ポートを阻止する。フィルタは、「聴く」API、すなわち、新たな接続に耳を傾けるのに用いられるソケットをチェックする。この聴いている側のポートが所定のフィルタリング方式によると有効ではない場合には、この機能は失敗に終わる。別の更に特定のフィルタが、「受け入れ」APIに適用される。接続を受け入れる際に、このフィルタは、クライアント・アドレスをチェックする。アドレスが所定のフィルタリング方式により有効である場合には、接続が認められる。
【0029】
ウィンソックIFFの動作のための別の方法として、特定データの阻止がある。フィルタは、接続を介して送られたバッファを調べる(送信及び受信API)。データが、所定のフィルタリング方式に従って検査される。ソケットIFFは、1組のテーブルを管理している。このテーブルの例としては、制限的ではないのであるが、プロセス名、パス、チェックサム、そして、ポート番号とサーバ・ポートに許容される最大の接続とを含む聴く側のポート・テーブルを有する特権的なプロセス・テーブルがある。これ以外の例としては、クライアント・アドレスとそのクライアントからの最大の許容される接続とデータ・フィルタ・テーブルとを含む承認されたクライアント・アドレス・テーブルがある。
【0030】
API及びフィルタ(IFF)の別の例としては、本発明の実施例によって構成されたデータベース・フィルタがある。
このデータベースIFFは、データベースへのコールをインターセプトしてそのコールを安全なプロトコル層で置き換えることによって、通信プロトコルを規制する。より詳しくは、このフィルタは、OLE−DBプロバイダとして実現される。データベースIFFに利用可能なデータの制限的ではない例として、データベース・ユーザ、トランザクションのタイプ、パスワード、クライアント・マシンの位置、レコード及びテーブル・データなどがある。これらの入力に基づいて、フィルタ層は、動作を失敗させるかどうかを判断する。
【0031】
データベースIFFは、接続パケットをチェックすることによって特定のユーザの位置を特定し、物理的な接続リクエストをチェックすることによって特定のクライアント・マシンを識別し、トランザクションの性質又はその任意の組合せを調べることによって特定のトランザクションをフィルタリングする。
【0032】
次の表では、クライアントが送ることができるデータのタイプとFFIに対して利用可能なデータのタイプとが特定されている。
【0033】
【表1】
【0034】
アプリケーション102は、接続を作成する前にIFF104に向けて識別/認証され、従って、トロイの木馬、操作ツール及びプロトコル・ホールを通じてのサーバ・アプリケーションの利用という問題を回避する。これは、以下の任意のものを識別及び/又は認証することによって行うことができる。
【0035】
a)モジュール名及び/又は実行可能ファイル(executable(s))名称;
b)実行可能ファイルの位置;
c)実行可能ファイルのタイムスタンプ
d)実行可能ファイルのサイズ;
e)実行可能ファイルのハッシュ(例えば、CRC、MD5、SHA);
f)認証サービス及び/又はサブネット・マネジャ及び/又はドメイン・コントローラによってアプリケーション及び/又はアプリケーション・プロセスに提供されるトークン及び/又はキー;
この明細書と特許請求の範囲とにおいては、トークン(token)という用語は、任意のタイプのセキュリティ・トークン、セキュリティ・キー、シード又は任意の均等物を含むものとする。
【0036】
上述した高レベルのフィルタリングは、許容されたアプリケーションが(例えば、違法なトランザクションを生じさせるなど)セキュリティを損なうような態様では使用されないことを保証するために用いられうる。スプーフィングを回避するためには、このフィルタリングによって、特定のリソースから生じる論理的なユーザ名、リソース名又はリソース・アドレスが、当該リソースの物理アドレスや、キー、トークン又はグローバル・ユニークID(GUID)など、当該リソースと関連付けられたそれ以外の一意的な値と対応することを証明することができる。
【0037】
アプリケーションIFF104と通信ハードウェア106との間の通信もまた、安全であることが必要である。1つの可能性として、接続を開通する前にアプリケーションIFF104と通信ハードウェア106との間でのハンドシェークを強制することがある。この場合には、通信ハードウェア106が認証機構を有していなければならない。
【0038】
別の可能性として、IFF104AがデータをIFF104Bに送ることを望むときには、IFF104AとIFF104Bとの間でのハンドシェークを強制することがありうる。この場合には、上述した標準的な通信ハードウェア106を用いることができる。更に別の可能性としては、オペレーティング・システム(OS)がIFF104及び/又はそれ以外の関連するソフトウェアが変化していないことを保証することがありうる。
【0039】
カーネル・ソフトウェアは、一般的に、安全であると考えられる。しかし、カーネルが安全であることを保証する必要があるときには、以下のプロセスを用いるのが効果的である。すなわち、サーバ100がブートアップするときに、カーネル・エージェント108がチャレンジ・レスポンスのプロセスにおいて通信ハードウェア106を用いてそれ自体を認証することができる、というプロセスである。また、別のマシンの中に存在しうる認証サービスを用いて、カーネル・エージェントはそれ自体を認証することができる、というプロセスである。そうであれば、サーバ100におけるユーザ・プロセスは、アプリケーション又は他のサーバと通信することを望むときは常に、カーネル・エージェント108を用いてそれ自体を認証しなくてはならない。この認証がいったん完了すると、カーネル・エージェント108は通信ハードウェア106とコンタクトを取り、通信ハードウェア106はアプリケーションIFF104に送られるべきカーネル・エージェント108へのチャネルを生じる。そして、アプリケーションIFF104は、このチャネルを用いて、安全な通信を継続する。
【0040】
セキュリティ・モニタ110は、他のシステムに対して、セキュリティ違反が生じたのであるサーバをもはや信頼することができないという旨のアラートを生じさせることができる。セキュリティ・モニタ110は、マルチチャネル通信ハードウェア106又は中央管理サービスに宛ててハートビートを送り、すべてが順調であることを知らせることができる。セキュリティ・モニタ110は、オペレーティング・システムの一部として実現することが可能である。
【0041】
次に、図3を参照すると、本発明の実施例によるフィルタリング・サーバを有するネットワーク装置のためのフィルタリング・システムの概略が図解されている。サーバ・ファームは、複数のサーバ100と認証サーバ120とを備えている。認証サーバ120は、マルチチャネル通信ハードウェア106と、オプションであるカーネル・エージェント108と、マルチチャネル通信ハードウェア106とカーネル・エージェント108とに結合された認証サービス122とを備えている。そのような認証サービスは、限定を意味しているのではないが、サブネット・マネジャと、ドメイン・コントローラと、証明機関(CA)とを含む。このような実施例では、上述した認証プロセスは、認証サーバ120において実行されうる。このシステムは、サーバ100それぞれにおいてセキュリティ・ポリシー(セキュリティ方式)を実行するのではなく、その代わりに、通信リンク101の高性能を利用することによって集中的な認証を実行することができる。
【0042】
IFF104におけるアプリケーション層フィルタは、アプリケーション102の間でのトランザクションを検査し、認証サーバ120に認証を要求することができる。図2との関係で既に述べたように、アプリケーション102は、接続がなされる前にアプリケーションIFFに対して識別及び/又は認証されうる。本発明の別の実施例では、サーバが、認証目的のための専用のマルチチャネル通信ハードウェアを有していることもありうる。しかし、サーバは、標準的なリンクを介して他のデータを転送することもできる。
【0043】
次に、図4A及び4Bを参照すると、本発明の実施例によるインフィニバンド・ネットワークにおける接続及びトランザクションのプロセスに関する流れ図が示されている。この例では、サーバ100Aはクライアント・コンピュータと称され、サーバ100Bはサーバ・コンピュータと称される。ブロック200に図解されている第1段は、コンピュータ100A及び100Bの初期化である。クライアント100Aとサーバ100Bとがブートアップすると(ステップ201)、これらのコンピュータのオペレーティング・システムは、カーネル・ソフトウェア要素すなわちカーネル・エージェント108が真正であることを確認する(ステップ202)。更に、インフィニバンド・サブネット管理ソフトウェアは、ファブリックを検出し、パーティション、ローカルID及びパスを配分する(ステップ203)。
【0044】
ブロック205に図解されている第2段は、接続の確立である。クライアント・コンピュータ100Aの上のクライアント・アプリケーションは、サーバ・コンピュータ100Bの上のサーバ・アプリケーションとの間に接続を確立することを望む。アプリケーション102Aは、証明書と共にリクエストをIFF104Aへ送る(ステップ204)。IFF104Aは、認証サービスにトークンを要求する(ステップ206)。あるいは、IFF104Aは、クライアント・コンピュータ100のオペレーティング・システムにトークン、キー又はシードを要求することもある。この動作は、後述するように、トランザクションごとにこれよりもあとの段階で実行されることもある。
【0045】
次には、IFF104Aは、システム・カーネルに埋め込まれている通信マネジャに、アプリケーション102Bへの接続を要求する(ステップ208)。IFF104Aは、トークンをシステム・カーネルへパラメータとして送る。
【0046】
クライアント・コンピュータ100Aの通信マネジャは、サーバ・コンピュータ100Bの通信マネジャに接続を要求する(ステップ210)。サーバ・マシンでは、コンピュータ100Bの通信マネジャは、リクエストをトークンと共にIFF104Bに送る(ステップ212)。
【0047】
IFF104Bは、送られたトークンが真正であるかどうか、そして、ソースが認証されているかを判断する(ステップ214)。IFF104Bは、オプションであるが、乱数をIFF104Aに送り返してチャレンジ・レスポンス認証を形成することもできる。認証が終了すると、サーバ・コンピュータ100BのIFF104Bと通信マネジャとは、任意の既知の方法でクライアント100Aのリクエストに応答する(ステップ216)。オプションであるが、データ転送と共に、セッション・トークンがサーバ100Bからクライアント100Aに与えられることもある(ステップ217)。このセッション・トークンは、それ以降のトランザクションにおいて用いられる。
【0048】
既に述べたように、認証と識別とは、接続が標準的な方法ですべに確立された後で、別々のトランザクションにおいて実行されうる。
以上で、アプリケーション102Aとアプリケーション102Bとの間の接続が確立される。すべてのトランザクションとそれからのデータ転送とは、カーネルが介入することを要せずに、アプリケーション102Aとアプリケーション102Bとの間で直接に流れる。このトランザクション・プロセスは、ブロック218との関係で以下に述べられている。
【0049】
アプリケーション102Aは、カーネルの介入なしで、アプリケーション102Bからのトランザクションを生じる(ステップ220)。IFF104は、トランザクションをアプリケーション102Bに送る。セッション・トークンが利用可能な場合には、IFF104Aは、セッション・トークンをIFF104Bに送る(ステップ222)。IFF104Bは、このトランザクションを受け取り、予め定められているセキュリティ・ポリシーに従ってトークンとトランザクションとをチェックする(ステップ224)。トランザクションが適法である場合には、IFF104Bは、そのトランザクションを実行のためにアプリケーション102Bに転送する(ステップ226)。
【0050】
本発明のいくつかの特徴を以上で説明したが、この技術分野の当業者であれば、多くの修正、置き換え、変更及び均等物を想到することができるはずである。従って、冒頭の特許請求の範囲は本発明の真の精神に包含されるこれらすべての修正及び変更に及ぶことが意図されていることを理解すべきである。
【図面の簡単な説明】
【図1】
図1A及び1Bは、OSIモデルに関する標準的なネットワークと本発明の実施例による例示的なシステムとの比較を図解している。
【図2】
本発明の実施例による、ネットワーク装置のためのフィルタリング・システムの概略図である。
【図3】
本発明の実施例による、フィルタリング・サーバを有するネットワーク装置のためのフィルタリング・システムの概略図である。
【図4】
図4A及び4Bは、本発明の実施例による、インフィニバンド・ネットワークにおける接続及びトランザクションのプロセスの流れ図を示している。
【関連出願への相互参照】
本出願は、2000年5月24日に出願された米国特許仮出願第60/206,776号に基づく優先権を主張するものであり、この米国特許仮出願の内容はその全体を本出願において援用する。
【0002】
【発明の背景】
同じ又は異なる機能を有する複数のサーバを接続してサーバ・ファームを形成することによって、高い計算能力が達成される。これらのサーバ上で動作しているアプリケーションは、データを相互に転送する必要がない。サーバ・ファーム環境は、セキュリティ・レベルが異なるサーバから構築されているのが一般的である。そのような環境では、安全なサーバは、セキュリティの程度がより低いサーバにおいて生じる攻撃から自分自身を保護しなければならない。
【0003】
損なわれやすいサーバを信頼度がより低いサーバからの攻撃から保護する方法の1つとして、アプリケーション・レベルのファイアウォールの使用がある。アプリケーション・レベルのファイアウォールは、ホストを動作させているプロキシ・サーバであるのが一般的であり、このプロキシ・サーバは、ネットワークのセグメントの間での直接的なトラフィックを許可せず、それ自身を通過するデータ・トラフィックの詳細なロギングと検査とを実行する。プロキシ・アプリケーションは、ファイアウォール上で動作するソフトウェア成分であって、ターゲットとなる実際のアプリケーションをエミュレートする。途中にプロキシ・アプリケーションを有していると、サーバ・ファームの全体としてのパフォーマンスに悪影響が及ぶ。更に、そのために、ファイアウォールの透明性が低下し、互換性の問題が生じる。
【0004】
ファイアウォールは、ネットワークのセグメントの間の別個のユニットであって、複雑なロジックを含むから、アプリケーションからアプリケーションへの通信にかなりの遅延を生じさせる。フィルタリングがより複雑で高レベルになるにつれて、遅延もそれだけ大きくなる。更に、ファイアウォールは、通信障害を生じさせたり、アプリケーションの間において故障点を追加することもありうる。また、サーバ・ファームは、冗長リンクと並列構成とを含む複雑なトポロジを有することがある。そのようなトポロジに対するセキュリティ・レベルを維持するためには、新たなセグメントが作成されるたびに新たなファイアウォールが追加される可能性がある。
【0005】
更に、プロトコルが複雑であるか又は文書化されていない場合には、高レベルのフィルタリングはほとんど不可能である。というのは、検査対象となる層よりも下位のネットワーク層がエミュレートされる必要があるからである。従って、アプリケーション・レベルのフィルタリングは、現時点では、パフォーマンス感知性がより低い環境におけるうまく文書化された(well−documented)プロトコルに対してだけ実行されている。そのようなうまく文書化されたプロトコルの例としては、電子メール・プロトコル、ファイル転送プロトコル(FTP)、ハイパーテキスト転送プロトコル(HTTP)などがある。高レベルのフィルタリングが実行されていない例としては、データベース・トランザクション、ネットワーク・ファイル・システム(NFS)トランザクション、リモート・プロシージャ・コール(RPC)トランザクションなどがある。
【0006】
ネットワーク上でのアプリケーション間の通信は、現時点では、例えば、オープン・システムズ・インターコネクション(OSI)モデルの7つの層など、複数の層のプロトコルに関係する。その多くの機能の中で、これらの層は、エラー処理、誤った順序で到着するパケットの再配列、そして、異なるアプリケーションからのデータの多重化を行うことができる。
【0007】
近い将来には、アプリケーション間の通信は、ほとんどがハードウェアとして実現されている通信プロトコルを備えたマルチチャネル通信ハードウェアを有する効率的なネットワーク上で生じることになるであろう。そのようなネットワークの例としては、限定的ではないが、新たなシステム・エリア・ネットワーク(SAN)、インフィニバンド(InfiniBand)ネットワーク、ファイバ・チャネル・ネットワーク、非同期転送モード(ATM)ネットワークなどがある。これらのネットワークの内部では、これらのアーキテクチャの帯域幅とトポロジとをサポートすることができるファイアウォールを提供することは、ほとんど不可能であるか、およそ現実的でない。従って、アプリケーション間のトラフィックをフィルタリングする新たな効率的な方法を提供することには意味があるであろう。
【0008】
【発明の実施の形態】
本発明と見なされる主題は、冒頭の特許請求の範囲において特に指摘され明確に権利が主張されている。しかし、本発明は、構成及び動作方法の両方において、また、その目的、特徴及び効果に関しても、以下の詳細な説明を添付の図面と共に参照することによって最もよく理解されるはずである。
【0009】
図解を簡略かつ明瞭にするために、図面に示されている構成要素は必ずしも寸法通りでないことを理解すべきである。例えば、ある構成要素の大きさは、明瞭にする目的で、他の構成要素と比較して誇張されている。更に、適切であると考えられる場合には、複数の図面において参照番号が反復されているが、これは、対応する又は類似の構成要素であることを示唆するためである。
【0010】
以下の詳細な説明では、多数の特定の詳細が、本発明に関する完全な理解を提供するために与えられている。しかし、当業者であれば理解するであろうが、本発明は、これらの特定の詳細なしでも実現することができる。また、周知の方法、手順及び構成要素に関しては、詳細を割愛する。これは、本発明を曖昧にしないためである。
【0011】
本発明の実施例は、マルチチャネル高信頼性ハードウェア環境(例えば、インフィニバンド)においてサーバ・ファームでのフィルタリングされたアプリケーション間通信を可能にするシステムに関する。このシステムは、また、そのファームにおけるサーバの間でのアプリケーション間通信のパフォーマンスを向上させることができる。マルチチャネル高信頼性通信ハードウェアの実現により、上述の通信ソフトウェア層の数を減少させることができる。
【0012】
本発明の実施例では、部分的にハードウェア・ベースの軽量プロトコルによって、OSIモデルの既存のアプリケーション/トランスポート・ネットワーク層(第4層から第7層まで)を置き換えることができる。このプロトコルは、アプリケーション(ユーザ・スペース)からハードウェアへの直接的な通信を可能にし、トランスポート・プロトコルのハードウェアでの実現を可能にする。
【0013】
まず図1A及び図1Bを参照すると、これらの図には、例示的な標準的ネットワーク・サーバと本発明の実施例による例示的なマルチ・チャネル通信ハードウェア・サーバとの比較が図解されている。図1Aは、標準的なネットワーク・サーバのブロック図がOSIモデルとの関係で図解されている。標準的なネットワークでは、ネットワーク・インターフェース・カード(NIC)とNICドライバとが、主にOSIモデルの物理層とリンク層とに関連付けられている。
【0014】
ネットワーク・プロトコル(例えば、TCP/IP)は、主に、ネットワーク層とトランスポート層とに関連付けられている。OSIモデルの上位の4つの層は、ソケット(例えば、winsock)とアプリケーション・トランスポート・プロバイダ(例えば、netlib)とに関連付けられている。ユーザ間の通信においては、一方の端部では、それぞれの層とそのサーバにおける層を通過するデータ・フローがあり、他方の端部では、データが到着すると、受信側サーバの層を通過し最終的にはエンド・ユーザに至る別のデータ・フローが存在する。これとは対照的に、本発明の実施例では、以下で説明するように、マルチチャネル高信頼性通信ハードウェアがOSIモデルのアプリケーション層と関連付けられたアプリケーションと直接に通信する。
【0015】
図1Bには、高速ネットワークにおけるマルチチャネル通信ハードウェア・サーバ(MMC HW)のブロック図が図解されている。このサーバによれば、本発明の実施例により、複数のサーバ間での高速でありフィルタリングのなされたアプリケーション間通信が可能となる。そのような実施例では、マルチチャネル高信頼性通信ハードウェア106が、標準的なネットワーク・カードに取って代わるのである。OSIモデルとの関係では、通信ハードウェア106は、最初の4つのOSI層と、同様にそれよりの上位のOSI層のいくつかの機能とに取って代わるのである。
【0016】
サーバ100は、複数のアプリケーション102と、複数のアプリケーション・プログラム・インターフェース(API)及びフィルタ(IFF)104と、マルチチャネル通信ハードウェア106とを備えている。更に、サーバ100は、カーネル・エージェント108を備えており、オプションとして、セキュリティ・モニタ110を備えている。「カーネル・エージェント」という用語は、カーネル・システムにおけるソフトウェア要素を意味しており、このソフトウェア要素がカーネル・システムのハードウェア要素を初期化する。これらのソフトウェア要素は、更に、チャネル配分やエラー処理などを行うように構成することができる。
【0017】
通信ハードウェア106は、データを高信頼性をもってプロセスからプロセスへ転送する特別の通信能力を提供する。そのような通信能力の例としては、限定的ではないが、エラー検出、キューイング、メモリ管理、多重化、セキュリティなどがある。従って、アプリケーション間通信のパフォーマンスが著しく向上するのであるが、その理由は、これらの能力は、アプリケーション間通信のソフトウェア部分において提供されることがもはや必要でないからである。注意すべきであるが、通信ハードウェア106は、ハードウェアとして実現されたトランスポート通信層とカーネル・バイパス能力とを備えている場合もある。
【0018】
通信ハードウェア106の例としては、制限的ではないが、仮想インターフェース、インフィニバンド、ファイバ・チャネル、スモール・コンピュータ・システム・インターフェース(SCSI)、非同期転送モード(ATM)、そして修正型のイーサネット(R)など、新たなシステム・エリア・ネットワーク(SAN)技術を含む。
【0019】
IFF104は、標準的なネットワークではアプリケーション層、プレゼンテーション層、セッション層及びトランスポート層によって実行される機能を実行するように構成される。この点については、後で図2との関係で述べる。
【0020】
次に、図2を参照すると、本発明の実施例によるネットワーク装置のためのフィルタリング・システムの概要が図解されている。サーバ・ファームは、サーバ100A及び100Bを含んでおり、ここでは、例えば、サーバ100Aの方がサーバ100Bよりも信頼性が高いとする。サーバ100Aは、複数のアプリケーション102Aと、複数のAPI及びフィルタ(IFF)104と、マルチチャネル通信ハードウェア106Aとを備えている。サーバ100Aは、更に、カーネル・エージェント108Aと、オプションであるが、セキュリティ・モニタ110Aとを備えている。
【0021】
同様に、サーバ100Bは、複数のアプリケーション102Bと、複数のアプリケーションIFF104Bと、マルチチャネル通信ハードウェア106Bとを備えている。サーバ100Bは、更にカーネル・エージェント108Bを備えており、オプションであるが、セキュリティ・モニタ11Bも備えている。サーバ100A及び100Bは、相互の間を、マルチチャネル通信ハードウェア106Aと106Bとの間のマルチチャネル通信リンク101を介して接続されている。
【0022】
それぞれのアプリケーションIFF104は、特定のタイプのアプリケーション102にインターフェースを提供する。例えば、ソケット(例えば、ウィンソック(Winsock))、ネットワーク・ドライバ・インターフェース仕様(NDIS)、リモート・プロシジャ・コール(RPC)、ネットワーク・ファイル・システム(NFS)、分散型コンポーネント・オブジェクト・モデル(DCOM)及びデータベース・アプリケーションなどに対して、別個のアプリケーションIFF104が存在する。アプリケーションIFF104は、ソフトウェアにおいて実現され、アプリケーション102とマルチチャネル通信ハードウェア106との間のインターフェースを提供する。例えば、データベース・アプリケーション102は、オブジェクト・リンク及び埋め込みデータベース(OLEDB)機能をコールする。アプリケーションIFF104の1つは、データベースアプリケーション102にOLEDB機能を提供し、通信ハードウェア106に直接アクセスする新たなプロトコルを実現することができる。
【0023】
それぞれのIFF104は、所定の方式に基づいて通信をフィルタリングするフィルタを含む。このフィルタは、アプリケーション層に位置するから、アプリケーション間のトランザクションを監視し、違法又は許可できないクライアントIDを含む高レベルでアプリケーションに特有な規則にトランザクションが従わない場合には、トランザクションを拒絶する、又は、アラートを生じさせることができる。高レベルのフィルタリングを実行することができるトランザクションの制限的でない例を次に挙げる。すなわち、
a)データベースのSQLトランザクション、ログイン、記憶されているプロシジャのフィルタリング;
b)RPCトランザクション、オブジェクト及び方法の呼び出しのフィルタリング;
c)ソケット(ウィンソック、BSDなど)の動作のフィルタリング;
d)リモート・ログインのフィルタリング;
e)パス及び/又はアクセス・タイプ(読み出し、書き込み、作成、削除など)に基づく、リモート・ファイル・システムへのアクセス・コマンド(すなわち、ファイル共有、NFS、CIFS)のフィルタリング;及び
f)リモート管理コマンド(例えば、ウェブ・サーバがアプリケーション・サーバにあるプロセスを消滅させるように命令できない、ウェブ・サーバがアプリケーション・サーバに閉じるように命令できない、など)のフィルタリング、などである。
【0024】
API及びフィルタ(IFF)104の例は、ソケット・アプリケーション・フィルタ(ソケットIFF)であり、これは、本発明の実施例に従って構成される。ソケットIFFの例には、ウィンソックIFFがある。ウィンソックIFFは、ウィンソック・ベースのアプリケーションをフィルタリングするきのうを有する。このフィルタリング・プロセスは、ウィンソックAPIコールをインターセプトすることによって実行される。
【0025】
ソケットIFFに対して利用可能なデータの例には、制限的ではないが、ソケットをコールするプロセスの名称、接続のための要求されたピア・アドレス、ポート番号、受信又は送信された実際のデータ及び開通している接続の総数が含まれる。これらの入力に基づいて、IFFは、動作を静かに失敗させるか、システム管理者に怪しいアクティビティに関するアラートを提供するか、リクエストを通過させるか又はリクエストを認証するかを判断する。
【0026】
フィルタ(IFF)は、複数の方法で動作する。1つの動作方法は、プロセスを許容されたコール・プロセスのリストと比較することによってローカルなプロセスを阻止することである。ソケット・ライブラリ(例えば、ウィンソックDLL)が、コールしているプロセスのアドレス空間にマップされる。従って、フィルタは、コールしているプロセスのファイル情報を要求し、受け取った値を1組の規則と比較してそのコールしているプロセスはソケット・アプリケーションをコールすることを許容されるのかどうかを判断することができる。
【0027】
別の動作方法として、クライアント・ポートを阻止することによるものがある。フィルタは、「接続」APIのパラメータをチェックして、宛先のアドレス及びポートを受け取ることができる。サーバ・アドレスとポート番号とは、1組の所定の規則を用いてテストされる。このテストに合格しない場合には、接続は拒絶される。
【0028】
あるいは、フィルタは、サーバ・ポートを阻止する。フィルタは、「聴く」API、すなわち、新たな接続に耳を傾けるのに用いられるソケットをチェックする。この聴いている側のポートが所定のフィルタリング方式によると有効ではない場合には、この機能は失敗に終わる。別の更に特定のフィルタが、「受け入れ」APIに適用される。接続を受け入れる際に、このフィルタは、クライアント・アドレスをチェックする。アドレスが所定のフィルタリング方式により有効である場合には、接続が認められる。
【0029】
ウィンソックIFFの動作のための別の方法として、特定データの阻止がある。フィルタは、接続を介して送られたバッファを調べる(送信及び受信API)。データが、所定のフィルタリング方式に従って検査される。ソケットIFFは、1組のテーブルを管理している。このテーブルの例としては、制限的ではないのであるが、プロセス名、パス、チェックサム、そして、ポート番号とサーバ・ポートに許容される最大の接続とを含む聴く側のポート・テーブルを有する特権的なプロセス・テーブルがある。これ以外の例としては、クライアント・アドレスとそのクライアントからの最大の許容される接続とデータ・フィルタ・テーブルとを含む承認されたクライアント・アドレス・テーブルがある。
【0030】
API及びフィルタ(IFF)の別の例としては、本発明の実施例によって構成されたデータベース・フィルタがある。
このデータベースIFFは、データベースへのコールをインターセプトしてそのコールを安全なプロトコル層で置き換えることによって、通信プロトコルを規制する。より詳しくは、このフィルタは、OLE−DBプロバイダとして実現される。データベースIFFに利用可能なデータの制限的ではない例として、データベース・ユーザ、トランザクションのタイプ、パスワード、クライアント・マシンの位置、レコード及びテーブル・データなどがある。これらの入力に基づいて、フィルタ層は、動作を失敗させるかどうかを判断する。
【0031】
データベースIFFは、接続パケットをチェックすることによって特定のユーザの位置を特定し、物理的な接続リクエストをチェックすることによって特定のクライアント・マシンを識別し、トランザクションの性質又はその任意の組合せを調べることによって特定のトランザクションをフィルタリングする。
【0032】
次の表では、クライアントが送ることができるデータのタイプとFFIに対して利用可能なデータのタイプとが特定されている。
【0033】
【表1】
【0034】
アプリケーション102は、接続を作成する前にIFF104に向けて識別/認証され、従って、トロイの木馬、操作ツール及びプロトコル・ホールを通じてのサーバ・アプリケーションの利用という問題を回避する。これは、以下の任意のものを識別及び/又は認証することによって行うことができる。
【0035】
a)モジュール名及び/又は実行可能ファイル(executable(s))名称;
b)実行可能ファイルの位置;
c)実行可能ファイルのタイムスタンプ
d)実行可能ファイルのサイズ;
e)実行可能ファイルのハッシュ(例えば、CRC、MD5、SHA);
f)認証サービス及び/又はサブネット・マネジャ及び/又はドメイン・コントローラによってアプリケーション及び/又はアプリケーション・プロセスに提供されるトークン及び/又はキー;
この明細書と特許請求の範囲とにおいては、トークン(token)という用語は、任意のタイプのセキュリティ・トークン、セキュリティ・キー、シード又は任意の均等物を含むものとする。
【0036】
上述した高レベルのフィルタリングは、許容されたアプリケーションが(例えば、違法なトランザクションを生じさせるなど)セキュリティを損なうような態様では使用されないことを保証するために用いられうる。スプーフィングを回避するためには、このフィルタリングによって、特定のリソースから生じる論理的なユーザ名、リソース名又はリソース・アドレスが、当該リソースの物理アドレスや、キー、トークン又はグローバル・ユニークID(GUID)など、当該リソースと関連付けられたそれ以外の一意的な値と対応することを証明することができる。
【0037】
アプリケーションIFF104と通信ハードウェア106との間の通信もまた、安全であることが必要である。1つの可能性として、接続を開通する前にアプリケーションIFF104と通信ハードウェア106との間でのハンドシェークを強制することがある。この場合には、通信ハードウェア106が認証機構を有していなければならない。
【0038】
別の可能性として、IFF104AがデータをIFF104Bに送ることを望むときには、IFF104AとIFF104Bとの間でのハンドシェークを強制することがありうる。この場合には、上述した標準的な通信ハードウェア106を用いることができる。更に別の可能性としては、オペレーティング・システム(OS)がIFF104及び/又はそれ以外の関連するソフトウェアが変化していないことを保証することがありうる。
【0039】
カーネル・ソフトウェアは、一般的に、安全であると考えられる。しかし、カーネルが安全であることを保証する必要があるときには、以下のプロセスを用いるのが効果的である。すなわち、サーバ100がブートアップするときに、カーネル・エージェント108がチャレンジ・レスポンスのプロセスにおいて通信ハードウェア106を用いてそれ自体を認証することができる、というプロセスである。また、別のマシンの中に存在しうる認証サービスを用いて、カーネル・エージェントはそれ自体を認証することができる、というプロセスである。そうであれば、サーバ100におけるユーザ・プロセスは、アプリケーション又は他のサーバと通信することを望むときは常に、カーネル・エージェント108を用いてそれ自体を認証しなくてはならない。この認証がいったん完了すると、カーネル・エージェント108は通信ハードウェア106とコンタクトを取り、通信ハードウェア106はアプリケーションIFF104に送られるべきカーネル・エージェント108へのチャネルを生じる。そして、アプリケーションIFF104は、このチャネルを用いて、安全な通信を継続する。
【0040】
セキュリティ・モニタ110は、他のシステムに対して、セキュリティ違反が生じたのであるサーバをもはや信頼することができないという旨のアラートを生じさせることができる。セキュリティ・モニタ110は、マルチチャネル通信ハードウェア106又は中央管理サービスに宛ててハートビートを送り、すべてが順調であることを知らせることができる。セキュリティ・モニタ110は、オペレーティング・システムの一部として実現することが可能である。
【0041】
次に、図3を参照すると、本発明の実施例によるフィルタリング・サーバを有するネットワーク装置のためのフィルタリング・システムの概略が図解されている。サーバ・ファームは、複数のサーバ100と認証サーバ120とを備えている。認証サーバ120は、マルチチャネル通信ハードウェア106と、オプションであるカーネル・エージェント108と、マルチチャネル通信ハードウェア106とカーネル・エージェント108とに結合された認証サービス122とを備えている。そのような認証サービスは、限定を意味しているのではないが、サブネット・マネジャと、ドメイン・コントローラと、証明機関(CA)とを含む。このような実施例では、上述した認証プロセスは、認証サーバ120において実行されうる。このシステムは、サーバ100それぞれにおいてセキュリティ・ポリシー(セキュリティ方式)を実行するのではなく、その代わりに、通信リンク101の高性能を利用することによって集中的な認証を実行することができる。
【0042】
IFF104におけるアプリケーション層フィルタは、アプリケーション102の間でのトランザクションを検査し、認証サーバ120に認証を要求することができる。図2との関係で既に述べたように、アプリケーション102は、接続がなされる前にアプリケーションIFFに対して識別及び/又は認証されうる。本発明の別の実施例では、サーバが、認証目的のための専用のマルチチャネル通信ハードウェアを有していることもありうる。しかし、サーバは、標準的なリンクを介して他のデータを転送することもできる。
【0043】
次に、図4A及び4Bを参照すると、本発明の実施例によるインフィニバンド・ネットワークにおける接続及びトランザクションのプロセスに関する流れ図が示されている。この例では、サーバ100Aはクライアント・コンピュータと称され、サーバ100Bはサーバ・コンピュータと称される。ブロック200に図解されている第1段は、コンピュータ100A及び100Bの初期化である。クライアント100Aとサーバ100Bとがブートアップすると(ステップ201)、これらのコンピュータのオペレーティング・システムは、カーネル・ソフトウェア要素すなわちカーネル・エージェント108が真正であることを確認する(ステップ202)。更に、インフィニバンド・サブネット管理ソフトウェアは、ファブリックを検出し、パーティション、ローカルID及びパスを配分する(ステップ203)。
【0044】
ブロック205に図解されている第2段は、接続の確立である。クライアント・コンピュータ100Aの上のクライアント・アプリケーションは、サーバ・コンピュータ100Bの上のサーバ・アプリケーションとの間に接続を確立することを望む。アプリケーション102Aは、証明書と共にリクエストをIFF104Aへ送る(ステップ204)。IFF104Aは、認証サービスにトークンを要求する(ステップ206)。あるいは、IFF104Aは、クライアント・コンピュータ100のオペレーティング・システムにトークン、キー又はシードを要求することもある。この動作は、後述するように、トランザクションごとにこれよりもあとの段階で実行されることもある。
【0045】
次には、IFF104Aは、システム・カーネルに埋め込まれている通信マネジャに、アプリケーション102Bへの接続を要求する(ステップ208)。IFF104Aは、トークンをシステム・カーネルへパラメータとして送る。
【0046】
クライアント・コンピュータ100Aの通信マネジャは、サーバ・コンピュータ100Bの通信マネジャに接続を要求する(ステップ210)。サーバ・マシンでは、コンピュータ100Bの通信マネジャは、リクエストをトークンと共にIFF104Bに送る(ステップ212)。
【0047】
IFF104Bは、送られたトークンが真正であるかどうか、そして、ソースが認証されているかを判断する(ステップ214)。IFF104Bは、オプションであるが、乱数をIFF104Aに送り返してチャレンジ・レスポンス認証を形成することもできる。認証が終了すると、サーバ・コンピュータ100BのIFF104Bと通信マネジャとは、任意の既知の方法でクライアント100Aのリクエストに応答する(ステップ216)。オプションであるが、データ転送と共に、セッション・トークンがサーバ100Bからクライアント100Aに与えられることもある(ステップ217)。このセッション・トークンは、それ以降のトランザクションにおいて用いられる。
【0048】
既に述べたように、認証と識別とは、接続が標準的な方法ですべに確立された後で、別々のトランザクションにおいて実行されうる。
以上で、アプリケーション102Aとアプリケーション102Bとの間の接続が確立される。すべてのトランザクションとそれからのデータ転送とは、カーネルが介入することを要せずに、アプリケーション102Aとアプリケーション102Bとの間で直接に流れる。このトランザクション・プロセスは、ブロック218との関係で以下に述べられている。
【0049】
アプリケーション102Aは、カーネルの介入なしで、アプリケーション102Bからのトランザクションを生じる(ステップ220)。IFF104は、トランザクションをアプリケーション102Bに送る。セッション・トークンが利用可能な場合には、IFF104Aは、セッション・トークンをIFF104Bに送る(ステップ222)。IFF104Bは、このトランザクションを受け取り、予め定められているセキュリティ・ポリシーに従ってトークンとトランザクションとをチェックする(ステップ224)。トランザクションが適法である場合には、IFF104Bは、そのトランザクションを実行のためにアプリケーション102Bに転送する(ステップ226)。
【0050】
本発明のいくつかの特徴を以上で説明したが、この技術分野の当業者であれば、多くの修正、置き換え、変更及び均等物を想到することができるはずである。従って、冒頭の特許請求の範囲は本発明の真の精神に包含されるこれらすべての修正及び変更に及ぶことが意図されていることを理解すべきである。
【図面の簡単な説明】
【図1】
図1A及び1Bは、OSIモデルに関する標準的なネットワークと本発明の実施例による例示的なシステムとの比較を図解している。
【図2】
本発明の実施例による、ネットワーク装置のためのフィルタリング・システムの概略図である。
【図3】
本発明の実施例による、フィルタリング・サーバを有するネットワーク装置のためのフィルタリング・システムの概略図である。
【図4】
図4A及び4Bは、本発明の実施例による、インフィニバンド・ネットワークにおける接続及びトランザクションのプロセスの流れ図を示している。
Claims (20)
- フィルタリングのなされたアプリケーション間の通信のための方法であって、
アプリケーションへの通信インターフェースを提供するステップと、
所定の方式に従って、前記アプリケーションのプロセスから受け取られたアプリケーション・データをフィルタリングするステップと、
前記フィルタリングされたアプリケーション・データを直接に通信ハードウェアに提供するステップと、
を含むことを特徴とする方法。 - 請求項1記載の方法において、
前記フィルタリングされたアプリケーション・データを提供する前に前記アプリケーションのIDを確認するステップを更に含むことを特徴とする方法。 - 請求項2記載の方法において、
少なくとも1つのセキュリティ・トークンを送るステップを更に含むことを特徴とする方法。 - 請求項1記載の方法において、
前記フィルタリングされたアプリケーション・データを提供する前に前記プロセスに参加しているマシンのIDを確認するステップを更に含むことを特徴とする方法。 - 請求項4記載の方法において、
少なくとも1つのセキュリティ・トークンを送るステップを更に含むことを特徴とする方法。 - 請求項1記載の方法において、前記フィルタリングされたアプリケーション・データを提供するステップは、前記フィルタリングされたアプリケーション・データを直接的なユーザからハードウェアへのアクセスを有するマルチチャネル・ネットワーク・インターフェース・カードに直接に提供するステップを含むことを特徴とする方法。
- 請求項6記載の方法において、前記マルチチャネル・ネットワーク・インターフェース・カードはインフィニバンド・カードであることを特徴とする方法。
- フィルタリングのなされたアプリケーション間の通信のための方法であって、
アプリケーションへの通信インターフェースを提供するステップと、
前記アプリケーションのプロセスから受け取られたアプリケーション・データをフィルタリングするステップと、
認証リクエストを認証サービスに送るステップと、
認証情報を受け取るステップと、
前記フィルタリングされたアプリケーション・データを直接に通信ハードウェアに提供するステップと、
を含むことを特徴とする方法。 - 請求項8記載の方法において、
前記フィルタリングされたアプリケーション・データを提供する前に前記アプリケーションのIDを確認するステップを更に含むことを特徴とする方法。 - 請求項9記載の方法において、
少なくとも1つのセキュリティ・トークンを送るステップを更に含むことを特徴とする方法。 - 請求項8記載の方法において、
前記フィルタリングされたアプリケーション・データを提供する前に前記プロセスに参加しているマシンのIDを確認するステップを更に含むことを特徴とする方法。 - 請求項11記載の方法において、
少なくとも1つのセキュリティ・トークンを送るステップを更に含むことを特徴とする方法。 - 請求項8記載の方法において、前記フィルタリングされたアプリケーション・データを提供するステップは、前記フィルタリングされたアプリケーション・データを直接的なユーザからハードウェアへのアクセスを有するマルチチャネル・ネットワーク・インターフェース・カードに直接に提供するステップを含むことを特徴とする方法。
- 請求項13記載の方法において、前記マルチチャネル・ネットワーク・インターフェース・カードはインフィニバンド・カードであることを特徴とする方法。
- フィルタリングのなされたアプリケーション間の通信のためのシステムであって、
マルチチャネル通信ハードウェアと、
フィルタリングされたデータをアプリケーション・プロセスから前記マルチチャネル通信ハードウェアへ直接に提供するように動作する少なくとも1つのアプリケーション・インターフェース及びフィルタと、
を備えていることを特徴とするシステム。 - 請求項15記載のシステムにおいて、前記通信ハードウェアは直接的なユーザからハードウェアへのアクセスを有するマルチチャネル・ネットワーク・インターフェース・カードであることを特徴とするシステム。
- 請求項16記載のシステムにおいて、前記マルチチャネル・ネットワーク・インターフェース・カードはインフィニバンド・カードであることを特徴とするシステム。
- フィルタリングのなされたアプリケーション間の通信のためのシステムであって、
マルチチャネル通信ハードウェアと、
フィルタリングされたデータをアプリケーション・プロセスから前記マルチチャネル通信ハードウェアへ直接に提供するように動作する少なくとも1つのアプリケーション・インターフェース及びフィルタと、
前記アプリケーション・プロセスが真正であるかどうかと、前記アプリケーション・プロセスに参加している少なくとも1つのマシンが真正であるかどうかとの少なくとも1つを判断するように構成された少なくとも1つの認証サービスと、
を備えていることを特徴とするシステム。 - 請求項18記載のシステムにおいて、前記通信ハードウェアは直接的なユーザからハードウェアへのアクセスを有するマルチチャネル・ネットワーク・インターフェース・カードであることを特徴とするシステム。
- 請求項19記載のシステムにおいて、前記マルチチャネル・ネットワーク・インターフェース・カードはインフィニバンド・カードであることを特徴とするシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US20677600P | 2000-05-24 | 2000-05-24 | |
PCT/IL2001/000482 WO2001090838A2 (en) | 2000-05-24 | 2001-05-24 | Filtered application-to-application communication |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004528609A true JP2004528609A (ja) | 2004-09-16 |
JP2004528609A5 JP2004528609A5 (ja) | 2005-02-03 |
Family
ID=22767906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001587167A Pending JP2004528609A (ja) | 2000-05-24 | 2001-05-24 | フィルタリングのなされたアプリケーション間通信 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7216225B2 (ja) |
EP (1) | EP1305687B1 (ja) |
JP (1) | JP2004528609A (ja) |
AT (1) | ATE403323T1 (ja) |
AU (1) | AU6262701A (ja) |
DE (1) | DE60135127D1 (ja) |
WO (1) | WO2001090838A2 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009028342A1 (ja) * | 2007-08-28 | 2009-03-05 | Nec Corporation | サービス提供システム、フィルタリング装置、フィルタリング方法及びメッセージ確認方法 |
JP2009527030A (ja) * | 2006-01-17 | 2009-07-23 | キダロ (イスラエル) リミテッド | ネットワーク化環境におけるデータの安全保護 |
JP2010511965A (ja) * | 2006-12-05 | 2010-04-15 | クゥアルコム・インコーポレイテッド | モバイル動作環境のための、安全なアプリケーション間通信を提供すること |
JP4822224B2 (ja) * | 2004-11-12 | 2011-11-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | キーを提供することなく要求者を認証するための方法およびシステム |
US8606895B2 (en) | 2006-01-17 | 2013-12-10 | Kidaro (Israel) Ltd. | Seamless integration of multiple computing environments |
JP2014517406A (ja) * | 2011-06-03 | 2014-07-17 | オラクル・インターナショナル・コーポレイション | ネットワークにおけるコンポーネントを認証するためのシステムおよび方法 |
Families Citing this family (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5941972A (en) * | 1997-12-31 | 1999-08-24 | Crossroads Systems, Inc. | Storage router and method for providing virtual local storage |
USRE42761E1 (en) | 1997-12-31 | 2011-09-27 | Crossroads Systems, Inc. | Storage router and method for providing virtual local storage |
DE10129371B4 (de) * | 2001-06-20 | 2006-06-14 | T-Mobile Deutschland Gmbh | Verfahren zur automatischen Wegesteuerung von Informationen |
GB0221464D0 (en) * | 2002-09-16 | 2002-10-23 | Cambridge Internetworking Ltd | Network interface and protocol |
US7313101B2 (en) * | 2002-12-20 | 2007-12-25 | Hewlett-Packard Development Company, L.P. | Need-based filtering for rapid selection of devices in a tree topology network |
MY141160A (en) * | 2003-01-13 | 2010-03-31 | Multimedia Glory Sdn Bhd | System and method of preventing the transmission of known and unknown electronic content to and from servers or workstations connected to a common network |
GB0304807D0 (en) * | 2003-03-03 | 2003-04-09 | Cambridge Internetworking Ltd | Data protocol |
US7484011B1 (en) * | 2003-10-08 | 2009-01-27 | Cisco Technology, Inc. | Apparatus and method for rate limiting and filtering of HTTP(S) server connections in embedded systems |
US7434232B2 (en) * | 2003-11-07 | 2008-10-07 | Hewlett-Packard Development Company, L.P. | System and method for writing to a drive when an application lacks administrator privileges |
GB0404696D0 (en) | 2004-03-02 | 2004-04-07 | Level 5 Networks Ltd | Dual driver interface |
US7823192B1 (en) * | 2004-04-01 | 2010-10-26 | Sprint Communications Company L.P. | Application-to-application security in enterprise security services |
GB0408876D0 (en) | 2004-04-21 | 2004-05-26 | Level 5 Networks Ltd | User-level stack |
GB0408868D0 (en) | 2004-04-21 | 2004-05-26 | Level 5 Networks Ltd | Checking data integrity |
US20080289004A1 (en) * | 2004-06-04 | 2008-11-20 | International Business Machines Corporation | Method and Module for Protecting Against Attacks in a High-Speed Network |
JP4327698B2 (ja) * | 2004-10-19 | 2009-09-09 | 富士通株式会社 | ネットワーク型ウィルス活動検出プログラム、処理方法およびシステム |
EP1694023A1 (en) * | 2005-02-18 | 2006-08-23 | Deutsche Thomson-Brandt Gmbh | Method for performing data transport over a serial bus using internet protocol and apparatus for use in the method |
GB0505297D0 (en) | 2005-03-15 | 2005-04-20 | Level 5 Networks Ltd | Redirecting instructions |
EP3217285B1 (en) | 2005-03-10 | 2021-04-28 | Xilinx, Inc. | Transmitting data |
GB0506403D0 (en) | 2005-03-30 | 2005-05-04 | Level 5 Networks Ltd | Routing tables |
GB0505300D0 (en) | 2005-03-15 | 2005-04-20 | Level 5 Networks Ltd | Transmitting data |
US7634584B2 (en) * | 2005-04-27 | 2009-12-15 | Solarflare Communications, Inc. | Packet validation in virtual network interface architecture |
DE602006013128D1 (de) | 2005-06-15 | 2010-05-06 | Solarflare Comm Inc | Empfangen von daten gemäss eines datentransferprotokolls von daten, die ein beliebiges einer mehrzahl von empgangsgeräten gerichtet sind |
US7984180B2 (en) | 2005-10-20 | 2011-07-19 | Solarflare Communications, Inc. | Hashing algorithm for network receive filtering |
GB0600417D0 (en) | 2006-01-10 | 2006-02-15 | Level 5 Networks Inc | Virtualisation support |
US8116312B2 (en) | 2006-02-08 | 2012-02-14 | Solarflare Communications, Inc. | Method and apparatus for multicast packet reception |
US20070188298A1 (en) * | 2006-02-11 | 2007-08-16 | Radioframe Networks, Inc. | Establishing secure tunnels for using standard cellular handsets with a general access network |
US9686117B2 (en) | 2006-07-10 | 2017-06-20 | Solarflare Communications, Inc. | Chimney onload implementation of network protocol stack |
EP2645674B1 (en) * | 2006-07-10 | 2020-09-02 | Xilinx, Inc. | Interrupt management |
US9948533B2 (en) | 2006-07-10 | 2018-04-17 | Solarflare Communitations, Inc. | Interrupt management |
GB0621774D0 (en) * | 2006-11-01 | 2006-12-13 | Level 5 Networks Inc | Driver level segmentation |
CN101114938B (zh) * | 2007-08-10 | 2010-06-23 | 杭州华三通信技术有限公司 | 分布式系统减少统计所需控制报文量的方法、系统和装置 |
US8621573B2 (en) * | 2007-08-28 | 2013-12-31 | Cisco Technology, Inc. | Highly scalable application network appliances with virtualized services |
GB0723422D0 (en) * | 2007-11-29 | 2008-01-09 | Level 5 Networks Inc | Virtualised receive side scaling |
US8413173B2 (en) * | 2008-01-07 | 2013-04-02 | Dell Products L.P. | Method, apparatus and system for automatic loading of a network stack |
GB0802126D0 (en) * | 2008-02-05 | 2008-03-12 | Level 5 Networks Inc | Scalable sockets |
US8094560B2 (en) | 2008-05-19 | 2012-01-10 | Cisco Technology, Inc. | Multi-stage multi-core processing of network packets |
US8677453B2 (en) | 2008-05-19 | 2014-03-18 | Cisco Technology, Inc. | Highly parallel evaluation of XACML policies |
US8667556B2 (en) | 2008-05-19 | 2014-03-04 | Cisco Technology, Inc. | Method and apparatus for building and managing policies |
GB0823162D0 (en) * | 2008-12-18 | 2009-01-28 | Solarflare Communications Inc | Virtualised Interface Functions |
US9256560B2 (en) * | 2009-07-29 | 2016-02-09 | Solarflare Communications, Inc. | Controller integration |
US9210140B2 (en) | 2009-08-19 | 2015-12-08 | Solarflare Communications, Inc. | Remote functionality selection |
EP2309680B1 (en) * | 2009-10-08 | 2017-07-19 | Solarflare Communications Inc | Switching API |
US8429671B2 (en) * | 2009-10-21 | 2013-04-23 | Exxonmobil Upstream Research Company | Integrated workflow builder for disparate computer programs |
US8743877B2 (en) * | 2009-12-21 | 2014-06-03 | Steven L. Pope | Header processing engine |
US9154462B2 (en) * | 2009-12-22 | 2015-10-06 | At&T Intellectual Property I, L.P. | Methods, systems, and computer program products for managing firewall change requests in a communication network |
WO2012037518A1 (en) | 2010-09-17 | 2012-03-22 | Oracle International Corporation | System and method for facilitating protection against run-away subnet manager instances in a middleware machine environment |
US9674318B2 (en) | 2010-12-09 | 2017-06-06 | Solarflare Communications, Inc. | TCP processing for devices |
US9600429B2 (en) | 2010-12-09 | 2017-03-21 | Solarflare Communications, Inc. | Encapsulated accelerator |
US9258390B2 (en) | 2011-07-29 | 2016-02-09 | Solarflare Communications, Inc. | Reducing network latency |
US8996644B2 (en) | 2010-12-09 | 2015-03-31 | Solarflare Communications, Inc. | Encapsulated accelerator |
US10873613B2 (en) | 2010-12-09 | 2020-12-22 | Xilinx, Inc. | TCP processing for devices |
US9008113B2 (en) | 2010-12-20 | 2015-04-14 | Solarflare Communications, Inc. | Mapped FIFO buffering |
US9384071B2 (en) | 2011-03-31 | 2016-07-05 | Solarflare Communications, Inc. | Epoll optimisations |
US9935848B2 (en) | 2011-06-03 | 2018-04-03 | Oracle International Corporation | System and method for supporting subnet manager (SM) level robust handling of unkown management key in an infiniband (IB) network |
US8763018B2 (en) | 2011-08-22 | 2014-06-24 | Solarflare Communications, Inc. | Modifying application behaviour |
EP2574000B1 (en) | 2011-09-22 | 2020-04-08 | Xilinx, Inc. | Message acceleration |
US9294549B2 (en) | 2012-02-14 | 2016-03-22 | Citrix Systems, Inc. | Client bandwidth emulation in hosted services |
US9391840B2 (en) | 2012-05-02 | 2016-07-12 | Solarflare Communications, Inc. | Avoiding delayed data |
US9584605B2 (en) | 2012-06-04 | 2017-02-28 | Oracle International Corporation | System and method for preventing denial of service (DOS) attack on subnet administrator (SA) access in an engineered system for middleware and application execution |
US9665719B2 (en) | 2012-06-04 | 2017-05-30 | Oracle International Corporation | System and method for supporting host-based firmware upgrade of input/output (I/O) devices in a middleware machine environment |
US9391841B2 (en) | 2012-07-03 | 2016-07-12 | Solarflare Communications, Inc. | Fast linkup arbitration |
US10505747B2 (en) | 2012-10-16 | 2019-12-10 | Solarflare Communications, Inc. | Feed processing |
US10742604B2 (en) | 2013-04-08 | 2020-08-11 | Xilinx, Inc. | Locked down network interface |
US9426124B2 (en) | 2013-04-08 | 2016-08-23 | Solarflare Communications, Inc. | Locked down network interface |
EP2809033B1 (en) | 2013-05-30 | 2018-03-21 | Solarflare Communications Inc | Packet capture in a network |
KR102121472B1 (ko) | 2013-09-23 | 2020-06-17 | 삼성전자주식회사 | 기기 별 응용 프로그램간 통신을 위한 장치 및 방법 |
US10394751B2 (en) | 2013-11-06 | 2019-08-27 | Solarflare Communications, Inc. | Programmed input/output mode |
US10432452B2 (en) * | 2014-04-11 | 2019-10-01 | Oracle International Corporation | System and method for enabling application-to-application communication in an enterprise computer system |
US11063762B1 (en) | 2018-02-22 | 2021-07-13 | Allscripts Software, Llc | Computing system for inter-application communication |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5204961A (en) | 1990-06-25 | 1993-04-20 | Digital Equipment Corporation | Computer network operating with multilevel hierarchical security with selectable common trust realms and corresponding security protocols |
US5987611A (en) * | 1996-12-31 | 1999-11-16 | Zone Labs, Inc. | System and methodology for managing internet access on a per application basis for client computers connected to the internet |
US6412035B1 (en) * | 1997-02-03 | 2002-06-25 | Real Time, Inc. | Apparatus and method for decreasing the response times of interrupt service routines |
US5896499A (en) * | 1997-02-21 | 1999-04-20 | International Business Machines Corporation | Embedded security processor |
US6178505B1 (en) * | 1997-03-10 | 2001-01-23 | Internet Dynamics, Inc. | Secure delivery of information in a network |
US6067569A (en) | 1997-07-10 | 2000-05-23 | Microsoft Corporation | Fast-forwarding and filtering of network packets in a computer system |
US6247128B1 (en) * | 1997-07-22 | 2001-06-12 | Compaq Computer Corporation | Computer manufacturing with smart configuration methods |
IL123512A0 (en) * | 1998-03-02 | 1999-03-12 | Security 7 Software Ltd | Method and agent for the protection against hostile resource use access |
US6182226B1 (en) * | 1998-03-18 | 2001-01-30 | Secure Computing Corporation | System and method for controlling interactions between networks |
US6675218B1 (en) * | 1998-08-14 | 2004-01-06 | 3Com Corporation | System for user-space network packet modification |
US6574669B1 (en) * | 1998-08-31 | 2003-06-03 | Nortel Networks Limited | Method and apparatus for routing traffic within a network utilizing linear optimization |
US6487600B1 (en) * | 1998-09-12 | 2002-11-26 | Thomas W. Lynch | System and method for supporting multimedia communications upon a dynamically configured member network |
US6445682B1 (en) * | 1998-10-06 | 2002-09-03 | Vertical Networks, Inc. | Systems and methods for multiple mode voice and data communications using intelligently bridged TDM and packet buses and methods for performing telephony and data functions using the same |
US6526523B1 (en) * | 1998-10-27 | 2003-02-25 | Microsoft Corporation | Kernel streaming test method and system |
US6502135B1 (en) * | 1998-10-30 | 2002-12-31 | Science Applications International Corporation | Agile network protocol for secure communications with assured system availability |
US6691165B1 (en) * | 1998-11-10 | 2004-02-10 | Rainfinity, Inc. | Distributed server cluster for controlling network traffic |
US6928469B1 (en) * | 1998-12-29 | 2005-08-09 | Citrix Systems, Inc. | Apparatus and method for determining a program neighborhood for a client node in a client-server network using markup language techniques |
US6398105B2 (en) * | 1999-01-29 | 2002-06-04 | Intermec Ip Corporation | Automatic data collection device that intelligently switches data based on data type |
US6694379B1 (en) * | 1999-04-09 | 2004-02-17 | Sun Microsystems, Inc. | Method and apparatus for providing distributed clip-list management |
US6915457B1 (en) * | 1999-04-23 | 2005-07-05 | Nortel Networks Limited | Apparatus and method for monitoring messages forwarded between applications |
US6757289B1 (en) * | 1999-04-23 | 2004-06-29 | Nortel Networks Limited | Apparatus and method for managing communication between a failed application and other executing applications |
US6678827B1 (en) * | 1999-05-06 | 2004-01-13 | Watchguard Technologies, Inc. | Managing multiple network security devices from a manager device |
US6799202B1 (en) * | 1999-12-16 | 2004-09-28 | Hachiro Kawaii | Federated operating system for a server |
US6785713B1 (en) * | 2000-05-08 | 2004-08-31 | Citrix Systems, Inc. | Method and apparatus for communicating among a network of servers utilizing a transport mechanism |
US6747997B1 (en) * | 2000-06-13 | 2004-06-08 | Intel Corporation | Network channel receiver architecture |
US6690757B1 (en) * | 2000-06-20 | 2004-02-10 | Hewlett-Packard Development Company, L.P. | High-speed interconnection adapter having automated lane de-skew |
US6751235B1 (en) * | 2000-06-27 | 2004-06-15 | Intel Corporation | Communication link synchronization method |
-
2001
- 2001-05-24 AU AU62627/01A patent/AU6262701A/en not_active Abandoned
- 2001-05-24 EP EP01936768A patent/EP1305687B1/en not_active Expired - Lifetime
- 2001-05-24 DE DE60135127T patent/DE60135127D1/de not_active Expired - Lifetime
- 2001-05-24 AT AT01936768T patent/ATE403323T1/de not_active IP Right Cessation
- 2001-05-24 WO PCT/IL2001/000482 patent/WO2001090838A2/en active IP Right Grant
- 2001-05-24 JP JP2001587167A patent/JP2004528609A/ja active Pending
- 2001-05-24 US US09/863,423 patent/US7216225B2/en not_active Expired - Lifetime
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4822224B2 (ja) * | 2004-11-12 | 2011-11-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | キーを提供することなく要求者を認証するための方法およびシステム |
JP2009527030A (ja) * | 2006-01-17 | 2009-07-23 | キダロ (イスラエル) リミテッド | ネットワーク化環境におけるデータの安全保護 |
US8341756B2 (en) | 2006-01-17 | 2012-12-25 | Kidaro (Israel) Ltd. | Securing data in a networked environment |
US8606895B2 (en) | 2006-01-17 | 2013-12-10 | Kidaro (Israel) Ltd. | Seamless integration of multiple computing environments |
JP2010511965A (ja) * | 2006-12-05 | 2010-04-15 | クゥアルコム・インコーポレイテッド | モバイル動作環境のための、安全なアプリケーション間通信を提供すること |
US8225093B2 (en) | 2006-12-05 | 2012-07-17 | Qualcomm Incorporated | Providing secure inter-application communication for a mobile operating environment |
WO2009028342A1 (ja) * | 2007-08-28 | 2009-03-05 | Nec Corporation | サービス提供システム、フィルタリング装置、フィルタリング方法及びメッセージ確認方法 |
JP2014517406A (ja) * | 2011-06-03 | 2014-07-17 | オラクル・インターナショナル・コーポレイション | ネットワークにおけるコンポーネントを認証するためのシステムおよび方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2001090838A2 (en) | 2001-11-29 |
ATE403323T1 (de) | 2008-08-15 |
EP1305687A2 (en) | 2003-05-02 |
DE60135127D1 (de) | 2008-09-11 |
EP1305687B1 (en) | 2008-07-30 |
EP1305687A4 (en) | 2004-09-01 |
US20020059517A1 (en) | 2002-05-16 |
AU6262701A (en) | 2001-12-03 |
WO2001090838A3 (en) | 2002-04-04 |
US7216225B2 (en) | 2007-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7216225B2 (en) | Filtered application-to-application communication | |
US10313368B2 (en) | System and method for providing data and device security between external and host devices | |
CN107079003B (zh) | 在多租户环境中提供用于安全网络通信的集成防火墙的系统和方法 | |
JP5067771B2 (ja) | セキュアネットワークファイルアクセス制御システム | |
US8468235B2 (en) | System for extranet security | |
US7143288B2 (en) | Secure file system server architecture and methods | |
EP1634175B1 (en) | Multilayer access control security system | |
US8332464B2 (en) | System and method for remote network access | |
US7313618B2 (en) | Network architecture using firewalls | |
US8356335B2 (en) | Techniques for authentication via network connections | |
US9781096B2 (en) | System and method for out-of-band application authentication | |
US20060224897A1 (en) | Access control service and control server | |
WO2022251220A1 (en) | Securing containerized applications | |
WO2008147475A2 (en) | Providing a generic gateway for accessing protected resources | |
KR20060047551A (ko) | 네트워크 검역을 제공하기 위한 방법 및 시스템 | |
CN111628960B (zh) | 用于连接至专用网络上的网络服务的方法和装置 | |
Schmitt et al. | Vulnerability assessment of InfiniBand networking | |
US11831638B1 (en) | Single-packet authorization using proof of work | |
Foster | " Why does MPTCP have to make things so complicated?": cross-path NIDS evasion and countermeasures | |
CN116980180A (zh) | 数据传输方法、装置及系统 | |
CN116015692A (zh) | 一种网络准入控制方法、装置、终端及存储介质 | |
Deverick | A Framework for Active Firewalls |