JP2007259446A - データ・パケットを伝送しながらセキュリティを改良するための方法及び装置 - Google Patents

データ・パケットを伝送しながらセキュリティを改良するための方法及び装置 Download PDF

Info

Publication number
JP2007259446A
JP2007259446A JP2007071816A JP2007071816A JP2007259446A JP 2007259446 A JP2007259446 A JP 2007259446A JP 2007071816 A JP2007071816 A JP 2007071816A JP 2007071816 A JP2007071816 A JP 2007071816A JP 2007259446 A JP2007259446 A JP 2007259446A
Authority
JP
Japan
Prior art keywords
packet
header data
connection
user application
data
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
Application number
JP2007071816A
Other languages
English (en)
Other versions
JP4743894B2 (ja
Inventor
Scott Michael Willenborg
スコット・マイケル・ウィルンボルグ
Edward Fuhs Ronald
ロナルド・エドワード・フース
Paul Sellin Nathaniel
ナザニエル・ポール・セリン
L Calvignac Jean
ジーン・エル・カルビナック
Colin B Verrilli
コリン・ビートン・ベリーリ
Claude Basso
クロード・バッソー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2007259446A publication Critical patent/JP2007259446A/ja
Application granted granted Critical
Publication of JP4743894B2 publication Critical patent/JP4743894B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9042Separate storage for different parts of the packet, e.g. header and payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

【課題】データ・パケットを伝送しながらセキュリティを改良するための方法及び装置を提供する。
【解決手段】本発明の第1の側面では、データ・パケットを伝送する第1の方法が提供される。この第1の方法は、以下の諸ステップを含む。(1)データ・パケットの伝送元となり得るコネクション毎に、前記コネクションに対応するヘッダー・データを格納するステップと、(2)パケットのヘッダー及びペイロード・データを形成するため、前記パケットの伝送元となるコネクションと関連するようなユーザー・アプリケーションを用いるステップと、(3)前記パケット伝送しながら、前記ユーザー・アプリケーションが関連する前記コネクションに対応する前記ヘッダー・データと前記パケット・ヘッダー・データの1個若しくはそれ以上の部分とを比較するステップとを含む。他の多くの側面も提供される。
【選択図】図1

Description

本発明はコンピュータ・システムに関し、特にデータ・パケットを伝送しながらセキュリティを改良するための方法及び装置に関する。
コンピュータ・システム等は、オペレーティング・システム(OS)及び1個若しくはそれ以上のユーザー・アプリケーションとしてのコードを実行することができる。ある従来のシステムでは、ユーザー・アプリケーションがパケットで(例えばコンピュータ・システムから)伝送されるデータをユーザー・バッファに格納し、OS呼出し(OSコール)を実行する。従来の幾つかのシステムでは、そのOS呼出しに応答して、OSがパケットのためにヘッダー・データを形成し、ユーザー・アプリケーション・データがそのパケットのペイロード・データとしての役目を果たすようにOSがユーザー・バッファからOSバッファにそのユーザー・アプリケーション・データをコピーする。
OSは正確なヘッダー・データがパケットに置かれるよう確保する。しかし、パケットを形成するようにOSバッファの中にユーザー・アプリケーション・データをコピーするのは時間を要し、待ち時間を増やしてしまう。従って、幾つかの従来のシステムは、パケット・ヘッダー及びペイロード・データを形成するようにユーザー・アプリケーションを能動化する、例えばTCP/IP加速などの技法を用い、これによってOSバッファへのデータのコピーを回避し、待ち時間を低減してもよい。しかし、もしユーザー・アプリケーションがパケットを形成するよう能動化されるなら、パケットにおかれるヘッダー・データの正確さは確保されないかもしれない。例えば、悪意の或るユーザーのアプリケーションが、形成されるパケットのヘッダー・データを(例えば、他のコネクションを擬態するように)スプーフィング(なりすまし、偽り)するかもしれない。従って、データを伝送する改良された方法及び装置が必要である。
本発明の第1の側面では、データ・パケットを伝送する第1の方法が提供される。この第1の方法は、以下の諸ステップを含む。(1)データ・パケットの伝送元となり得るコネクション毎に、前記コネクションに対応するヘッダー・データを格納するステップと、(2)パケットのヘッダー及びペイロード・データを形成するため、前記パケットの伝送元となるコネクションと関連するユーザー・アプリケーションを用いるステップと、(3)前記パケットを伝送しながら、前記ユーザー・アプリケーションが関連する前記コネクションに対応する前記ヘッダー・データと前記パケット・ヘッダー・データの1個若しくはそれ以上の部分とを比較するステップとを含む。
本発明の第2の側面では、データ・パケットを伝送する第1の装置が提供される。この第1の装置は、(1)格納装置と、(2)前記格納装置に結合されたパケット構文解析論理部とを含む。この装置は以下の諸動作に適用される。即ち、(a)データ・パケットの伝送元となり得るコネクション毎に、前記コネクションに対応するヘッダー・データを格納し、(b)パケットのヘッダー及びペイロード・データを形成するため、前記パケットの伝送元となるコネクションと関連するユーザー・アプリケーションを用い、(c)前記パケットを伝送しながら、前記ユーザー・アプリケーションが関連する前記コネクションに対応する前記ヘッダー・データと前記パケット・ヘッダー・データの1個若しくはそれ以上の部分とを比較するのに適用される。
本発明の第3の側面では、データ・パケットを伝送するための第1のシステムが提供される。この第1のシステムは、(1)1個若しくはそれ以上のユーザー・アプリケーションを実行するように適用されたプロセッサと、(2)前記プロセッサに結合された、データ・パケットを伝送するための装置であって、(a)格納装置と、(b)前記格納装置に結合されたパケット構文解析論理部とを含む装置とを含む。このシステムは、以下の諸動作に適用される。即ち、(i)データ・パケットの伝送元となり得るコネクション毎に、前記コネクションに対応するヘッダー・データを格納し、(ii)パケットのヘッダー及びペイロード・データを形成するため、前記パケットの伝送元となるコネクションと関連するユーザー・アプリケーションを用い、(iii)前記パケットを伝送しながら、前記ユーザー・アプリケーションが関連する前記コネクションに対応する前記ヘッダー・データと前記パケット・ヘッダー・データの1個若しくはそれ以上の部分とを比較するのに適用される。他にも多くの側面が、本発明の前記の、或いは他の側面に従うシステムや装置などとして提供される。
本発明は、データ・パケットを伝送するための方法及び装置を提供する。特に、本発明の方法及び装置は、不正確なヘッダー・データを持つパケットの成功裡の伝送を低減し或いは除去しながら、ユーザー・アプリケーションがパケットを形成できるようにする。このようにして、本発明の方法及び装置は、コンピュータ・システムのOSが、伝送しようとするパケット・ヘッダーを形成するとき、待ち時間が引き起こされるのを回避し、悪意の或るユーザーのアプリケーションがパケット・ヘッダー情報をスプーフィングするのを防止する。
データの転送元となり得るコネクションごとに、本発明の方法及び装置は、記憶装置のコネクション(接続部)に対応するタプル(tuple)若しくは情報の集合体の少なくとも一部分を格納することができる。コネクションに関連するユーザー・アプリケーションは、ヘッダー及びペイロード・データを含むパケットを形成し、ユーザー・バッファ中のそのようなパケットを格納することができる。このようなパケットのヘッダー・データはタプルを含むことができる。パケットが(例えば、コンピュータ・システムのアダプタから)伝送されると、そのパケットからタプルを迅速に(例えばリアルタイムで)抽出するのにパケット構文解析ハードウエアが用いられる。この抽出されたタプルはそのコネクションに関連するタプルと比較され、そして記憶装置に格納できる。もしもそのタプル同士が一致しなければ、そのパケットの伝送は、そのパケットがその送り先に一旦届いたら使用できないように停止されるか又は意図的に壊される。従って、本発明の方法及び装置は、パケットが不正確なヘッダー・データを有するときパケットの成功裡の伝送を低減したり除去したりしながら、ユーザー・アプリケーションがパケット・ヘッダー・データ及びペイロード・データを形成するのを可能ならしめ、これによって、セキュリティの確保されたパケット伝送を提供する。
図1は、本発明の実施例に従い、データ・パケットを伝送するシステムのブロック図である。図1で、システム100はコンピュータ等であってよい。このシステム100は、コードを実行するのに適用される少なくとも1個のプロセッサ102、例えば、オペレーティング・システム(OS)104若しくは1個若しくはそれ以上のユーザー・アプリケーション106又はその両方、を含む。システム100は任意のプロトコルを用いることができるが、このシステム100はTCP/IPプロトコルを用いるものとする。典型的には、システム100から伝送されるパケットを形成するため、TCP/IPプロトコルを用いるとき、ユーザー・アプリケーション106はペイロード・データを形成し、一方でOS104はヘッダー・データを形成する。詳細にはOS104がヘッダー・データを創出し、ユーザー・バッファからOSバッファにユーザー・アプリケーション・データをコピーする。その結果、OS処理の大きなオーバーヘッドが生じる。OS104の負荷を軽減するため、システム100は、改良されたTCP/IP加速技術などの方法を用い、これによってユーザー・アプリケーション106が、(システム100等から)伝送しようとするデータ・パケットを形成するのを可能にすることができる。従って、システム100は、パケットを形成する際にOS104により実行される多くの作業をユーザー・アプリケーション106にシフトすることができる。ユーザー・アプリケーションがデータ・パケットを形成するので、データ・パケットを形成するためにユーザー・バッファからOSバッファにデータをコピーするのにはOSが必要なくなるかもしれず、これによって待ち時間が低減される。更に、以下で説明するとおり、従来のTCP/IP加速技術に比べると、ユーザー・アプリケーション106がデータ・パケットを形成することのできる本発明の方法は、ユーザー・アプリケーション106により形成されるパケット・ヘッダー・データの正確さを確保することができる。このいようにして、悪意のあるユーザーのアプリケーション106によりスプーフィングされたヘッダー・データを服務パケットの成功裡の伝送は低減され若しくは除去される手、データのセキュリティを改良することができる。
システム100はメモリ108を含み、その一部若しくはそれ以上は、ユーザー・アプリケーション106により形成されるパケットのヘッダー・データ及びペイロード・データなどのユーザー・アプリケーション・データを格納するためのバッファとして機能してもよい。プロセッサ102及びメモリ108はネットワーク・リンク若しくはファブリック110(例えば、Ethernet(登録商標)又は他の適当なリンク若しくはファブリック)にネットワーク・インターフェース・カード等のアダプタ112を介して結合されてもよい。このリンク110は複数個のコネクションを代表してもよい。アダプタ112は、システムの待ち時間を低減し、データのセキュリティを改良しつつ、データ・パケットを伝送する。アダプタ110は、データの伝送元である各コネクション(例えば、システム100)に対応するヘッダー・データ若しくは情報を格納するように適用された記憶装置114を含むことができる。例えば、システムのセットアップ中、そのようなコネクション、複数個が確立されてもよい。そのような時間中、夫々のタプル若しくは情報の集合体がそのようなコネクションのために生成される。夫々のそのようなタプルの1個若しくはそれ以上の部分が記憶装置114に格納されてもよい。或る実施例では、記憶装置114が(インフィニバンド・プロトコルで用いられるものに類似する)キュー・ペア・コンテキスト(a queue pair context 待ち行列対コンテキスト)をコネクションごとに格納してもよい。しかし、そのキュー・ペア・コンテキストはコネクションごとの関連するタプルの1個若しくはそれ以上の部分を含んでもよい。このタプル又はキュー・ペア・コンテキストは、これによって形成されたパケットを送り先若しくは目的地に送るためこの全体のタプル(又はキュー・ペア・コンテキスト)又はそのサブセット(例えば、メディア・アクセス・コントロール(MAC)ソース・アドレス、MAC目的地アドレス、トランスポート・コントロール・プロトコル(TCP)ソース・アドレス、TCP目的地アドレス)が用いられてもよい。
代わりに、或る実施例では、各コネクションに対応するヘッダー・データ若しくは情報(例えばタプル)の完全版を記憶装置114に格納するよりはそのようなデータの縮小版(例えば、少ないバイト数の版)を記憶装置114に格納してもよい。例えば、ハッシュ又は他の適当なアルゴリズムが、各コネクションに対応するヘッダー・データ若しくは情報の完全版の上で行われてそのようなデータの縮小版(例えばハッシュ)を形成してもよい。
更には、アダプタ112がパケット構文解析論理部116などのハードウエアを含んでもよく、ユーザー・アプリケーション106によって形成されたデータ・パケットをモニタ(監視)し、相応にデータ・パケットを伝送するように適用できる。このような伝送中、パケット構文解析論理部116はそのデータ・パケットを特定のフィールドを求めてモニタし、そのようなフィールドを抽出してもよい。例えば、パケット構文解析論理部116はそのデータ・パケット伝送をモニタするように適用され、伝送中のそのデータ・パケットからタプルを抽出してもよい。アダプタ112はその抽出されたタプルの1個若しくはそれ以上の部分を、そのパケットを形成したユーザー・アプリケーション106が関連するコネクションに対応するヘッダー・データ若しくは情報と比較するように構成されてもよい。
パケットを伝送するこのシステム100の動作を図2に沿って説明する。図2には、本発明の実施例に従ってデータ・パケットを伝送する方法を示す。図2では、ステップ202でその方法が開始する。ステップ204では、データ・パケットの転送元となるコネクションごとに、そのコネクションに対応するヘッダー・データが格納することができる。例えば、セットアップ中、システム100は夫々のユーザー・アプリケーション106と関連するコネクション(例えば、そこからデータが伝送され得る)を確立することができる。システム100はデータの送信元となる各コネクションに対応する情報(例えば、タプル)のヘッダー・データを格納することができる。このヘッダー・データ若しくは情報は各コネクションに格納されたキュー・ペア・コンテキストの一部であってもよい。このようにして、複数のキュー・ペア・コンテキストが夫々複数のコネクションと関連する。各キュー・ペア・コンテキストはそれに関連するユーザー・コネクションに特有の情報を含むことができる。コネクションごとのキュー・ペア・コンテキストはそのコネクションが確立されるとき、そのOSの信頼されているコード(trusted code)によってセットアップされてもよい。コネクションごとのキュー・ペア・コンテキストは、許可情報、ユーザー・バッファの所在地、及び完了信号(signal completion)情報を他の事項の間に含むことができる。許可情報は、ユーザー・アプリケーション106がアクセスするようなメモリ108の各部を示すことができる。ユーザー・バッファの所在地は、データを受けたときそれをどこに置くべきかを示すことができる。完了信号情報は、或るパケットについてユーザー・アプリケーション106にシステム100がいつ知らせるかを示すことができる。更に、前述のとおり、本発明の方法及び装置によれば、キュー・ペア・コンテキストは、パケットの送信元となるコネクションに対応するタプル(例えば、Ethernet(登録商標) MACソース・アドレス、IPソース・アドレス、IP目的地アドレス、TCPソース・ポート、TCP目的地ポートなど)を含むことができる。
各タプルは100バイトよりもサイズが大きくてもよい。従って、もしシステム100が多くのコネクションをサポートし、各コネクションに対応するタプルを保持するようなシリコンの必要性から著しき大きくなることもある。その結果、システム100は、データの送信元となるコネクション(例えばシステム100から)ごとに対応するヘッダー・データ情報の(そのハッシュ)縮小版を生成し、格納していてもよい。このようにして、コネクションごとに、システム100がそのコネクションから伝送されるべきパケットのヘッダー・データに含まれるべき情報(ないし縮小版)を格納してもよい。
ステップ206では、ユーザー・アプリケーション106がパケット(例えば、TCP/IPパケット)のヘッダー・データ及びペイロード・データを形成するのに用いられ、そこではユーザー・アプリケーション106が伝送しようとするパケットの送信元であるコネクションと関連する。詳細には、ユーザー・アプリケーション106がパケット・ヘッダー・データ及びペイロード・データをメモリ108(例えば、そこにはユーザー・バッファが含まれる)に格納することができる。そのコネクションを介して伝送しようとするパケットのヘッダー・データはタプルを含んでもよい。このタプルは一つのコネクション(例えば、その上にパケットが伝送される)を個別に識別する情報を含むことができる。例えば、このタプルは、Ethernet(登録商標) MACソース・アドレス、VLANタグ、Ethernet(登録商標)プライオリティ・ビット、IPソースや送信先アドレス、TCPソースや送信先ポート、識別子/プロトコル、TCPパケットのSYNビットや論理ポート。インジケータを含んでもよい。このようなフィールドは当業者に良く知られている。しかし、このタプルはもっと多くの若しくはもっと少ない情報或いは異なる情報を含んでいてもよい。データ・パケットを形成するためにユーザー・アプリケーション106を用いることによって、このシステム100はOSにそのよう任務をさせなくて済む。例えば、OS104は108(例えば、ユーザー・バッファを内臓)からOSバッファにユーザー・アプリケーション・データをコピーする必要をなくすことができる。その結果、システムの待ち時間を低減できる。もしユーザー・アプリケーション106が悪意のあるものであれば、一つのコネクション上で伝送されるべきパケットのヘッダー・データをスプーフィングして、異なるコネクションが壊されるかもしれない。例えば、悪意のあるユーザー・アプリケーション106はパケットのタプルの一部若しくはそれ以上を変更することによってスプーフィングするかも知れず、その結果、そのパケットはユーザー・アプリケーション106と関連するコネクション以外のコネクションに迂回されてしまう。
ステップ208では、そのパケットを送信する間、パケット・ヘッダー・データの1個若しくはそれ以上の部分が、そのユーザー・アプリケーションが関連するコネクションに対応するヘッダー・データと比較されることができる。例えば、ユーザー・アプリケーション106がパケット・ヘッダー・データ及びペイロード・データを形成するとき、ユーザー・アプリケーション106はシステム100にそのパケットを伝送することを知らせる。それに応答して、システム100はメモリ108からそのようなデータを引き出し或いは取り出し、そしてそのワイヤ(例えば、Ethernet(登録商標) リンク110)にデータを送出し始める。詳細には、システム100は、ユーザー・アプリケーション106により作成されたデータ・パケットをアダプタ112に与え、そこを介してそのパケットがコネクション上に(例えば、リンクネットワーク・リンク110を介して)伝送される。パケットがコネクションに伝送される間、パケット構文解析論理部116はそのパケット情報をモニタし、そのパケットからヘッダー・データ若しくは情報の部分(例えば、タプル)を抽出する。所望のヘッダー・データや情報(例えば、タプル)を決定するためにこのような態様でパケットを構文解析することは、そのような所望のヘッダー・データや情報を決定するための全ての可能なヘッダーの組み合わせの完全な順列を与えるよりははるかに簡単なタスクである。アダプタ112はその抽出された情報を、記憶装置114により格納されたコネクションに対応するヘッダー・データ若しくは情報に比較することができる。例えば、一旦、パケット・タプルが抽出されると、そのパケット・タプルはキュー・ペア・コンテキストに格納されたタプルと比較される。もしその抽出情報が、記憶装置114により記憶されたコネクションに対応するヘッダー・データ若しくは情報と一致するなら、そのパケット・ヘッダー・データは未だスプーフィングされていず、そのパケットはその送信先にそのコネクションを介して成功裡に伝送されることができる。
代わりに、もしその抽出された情報が、その記憶装置により格納されたコネクションに対応するヘッダー・データ若しくは情報と一致しないなら、ユーザー・アプリケーション106はそのデータ・パケットの一部若しくはそれ以上の部分をスプーフィングしたかもしれない。従って、そのシステム100はそのスプーフィングされたパケットの伝送を停止させる(例えば、そのパケット送信ストリームを予め中断させる)ことができる。代わりに、そのシステム100は意図的にそのようなパケットを(例えば、そのパケットの巡回冗長検査(CRC)値を壊すことによって)壊してもよい。そのようなパケットをそのパケットの送信先で受け取ると、そのCRC値はそのパケットが壊れていることを示すので、その受信側(例えば送信先)で落とされる筈である。このようにして、そのパケットは落とされ、その悪意あるユーザー・アプリケーション106は、そのユーザー・アプリケーション106と関連しているものとは異なるコネクションを損傷するのを防ぐことができる。斯して、パケット伝送中に構文解析が用いられて、セキュリティ・チェックが提供される。
データを伝送する間に(例えばリアルタイムで)このような比較を行うことによって、このシステム100はデータ・パケットを伝送する際の、格納してから進める、という方法に関連してデータ・パケットを記憶する際の時間待ちを回避することができる。更に、この比較は、パケット・ヘッダー・データの正確さを確保することによって安全な(100%のセキュリティ)データ・パケット伝送を提供する。しかし、その抽出された情報をそのヘッダー・データの縮小版に比較するのは100%のセキュリティではないかもしれないが、そのような比較でも多くのデータ・パケット伝送アプリケーションには十分なセキュリティを提供するかもしれない。例えば、この比較はスプーフィングされたパケットが成功裡に伝送される機会を低減し若しくは除去する。斯して、 ユーザー・アプリケーション106は他のコネクションと関連するように成功裡に提供されなかったかもしれない。何故ならユーザー・アプリケーション106が他のコネクションと関連するふりをするなら、ユーザー・アプリケーション106によって作成されたパケットは落とされるからである。このように、本発明の方法及び装置は、性能に悪影響を与えずにリアルタイムのハードウエア・チェックを提供することができる。要約すると、本発明の方法及び装置はパケットがワイヤに送られる際パケット・ヘッダー・データを構文解析し、そのユーザー・アプリケーション106を検証する。即ちそのパケットを形成したユーザー・アプリケーション106が、その伝送しようとするパケット中の情報(例えばタプル)を、ユーザー・アプリケーション106が関連するコネクションに対応する情報と比較することによって、そのパケットをその目的地に送信する権限を有している。
その後、ステップ210でその方法が終了する。本発明の方法及び装置はユーザー・アプリケーションを能動化して、パケット・ヘッダー・データ及びペイロード・データを形成する。その際、不正確なヘッダー・データを持つパケットの成功裡の伝送を低減し若しくは除去し、これによってセキュリティの高いパケット伝送を可能にしている。例えば、本発明の方法及び装置は、改良されたTCP/IP加速エンジンを改良することができる。この改良されたTCP/IP加速エンジンはOS104から負荷を軽減するだけでなく、パケット伝送のセキュリティという特徴を提供する。賢いことに、本発明の方法及び装置はTCP/IPオフロードの利点だけでなく、OS資源を一層フリーにし、待ち時間を改良し、ユーザー・アプリケーション106がコミュニケーションしてはいけない筈のコネクションをユーザー・アプリケーション106が壊さないようなセキュリティを提供する。
具体的には、本発明の方法及び装置は、Ethernet(登録商標)環境で実施されてもよく、OS104よりもユーザー・アプリケーション106がパケットを形成する能力を有し、そのようなパケット(そのヘッダー・データを含む)をアダプタ112に直接送る。本発明の方法及び装置は、ユーザー・アプリケーション106によって作成されたパケットのヘッダー・データの正確さを確保し、これによって悪意のあるユーザーのプログラム又はアプリケーションがヘッダー・データをスプーフィングする(例えば、他のTCP/IPコネクションを擬制したり、データを壊す)のを防止する。例えば、本発明の方法及び装置は、メディア・アクセス・カード(MAC)ソース・アドレス(SA)を変更するのを検出せずに防止することによって、MACサブレイヤーでのスプーフィングを防止する。
ネットワーク環境では、Ethernet(登録商標)など何百、何千或いはそれ以上のコネクションが存在するかもしれない。本発明の装置及び方法は、そのような多くのコネクションに説明をつけ、データ・パケットのセキュリティの高い伝送を提供し、これらをユーザー・アプリケーション106によって提供する。このように、本発明の方法及び装置は、OSがデータ・パケット(及びそこに含まれるヘッダー)を形成するときすでに存在しているネットワーク・セキュリティのレベルを、ユーザー・アプリケーション106がEthernet(登録商標)リンク又はワイヤ110上に(例えば、ユーザー・アプリケーション106がパケット・ヘッダー・データ及びペイロード・データを生じるとき)提供されるパケットの直接制御を有するシステム環境に提供してもよい。
ソフトウエア(例えば、ユーザー・アプリケーション106)を能動化して(そのデータ・ヘッダーを含む)データ・パケットを形成することによって、本発明の方法は。ヘッダー・データを形成するのにハードウエアを用いる問題を回避することができる。例えば、Ethernet(登録商標)パケットのヘッダー・データを形成するのにハードウエアを用いるのは困難である。Ethernet(登録商標)が多くのプロトコルとその多くの変形を有するからである。例えば、インターネット・プロトコル(IP)パケットは0−40バイトのオプションを有することができる。トランスポート・コントロール・プロトコル(TCP)パケットも似たような量のオプションを有する。更に、Ethernet(登録商標)パケットは、DIX,SNAP,LIC、又は他の適当なタイプでVLANタグを含むものでも含まないものなどであってよい。このパケット・ヘッダー・データのフォーマットは、Ethernet(登録商標)パケットのタイプに基いていても、それを変形したものでもよい。更に、ユーザー・アプリケーションは,TCP/IP以外のプロトコルでもよい。その結果、全ての組み合わせのプロトコルを処理できるようにハードウエアを設計することも適切なセキュリティ・チェックを提供することもハードウエアでは困難である。
図3は、本発明の実施例によるデータ・パケットの伝送方法の例示的なプロセスのフローを示す。図3では、コネクションAを介して伝送されるパケットを、ユーザー・アプリケーション106が形成する。ユーザー・アプリケーション106はメモリ108(例えば、ユーザー・バッファが内蔵)にパケット・ペイロード・データを格納することができる。しかし、ユーザー・アプリケーション106は悪意があるかもしれない。従って、コネクションAと関連してパケット・ヘッダー・データを含むよりは、ユーザー・アプリケーション106がそのパケットにコネクションBと関連するパケット・ヘッダー・データを含んでもよい。このシステム100はユーザー・アプリケーション106によって形成されたデータ・パケットをアダプタ112に提供してもよく、このアダプタ112を介してパケットがそのコネクション上に(例えば、リンク100を介して)伝送される。そのパケットがそのコネクションに伝送される際、パケット構文解析論理部116が、コネクションBと関連するパケット・ヘッダー・データを構文解析し、若しくはそこから抽出する。アダプタ112は、そのように抽出されたデータを、記憶装置114により(例えば、システム・セットアップ中に)格納されたコネクションAに対応するヘッダー・データ又は情報に対して比較する。そのような情報が一致しないと、ユーザー・アプリケーション106によって形成されたパケットは伝送されない(例えば、パケットの伝送が停止されてもよい)。このように、本発明の方法及び装置によれば、コネクションが、それらに関連する特定のタプルを有して確立されることができる(例えば、システム・セットアップ中)。このようなタプルは記憶装置114に格納できる。システム動作中、或るコネクションと関連するユーザー・アプリケーション106はタプルを含むデータ・パケットを形成する。そのタプルが、そのコネクションに関連するタプル(その記憶装置によって格納される)と一致しないなら、そのシステム100はそのパケットを落としてもよい。
前述の説明は本発明の単なる実施例を開示したものである。前述の開示した装置や方法の変形例も本発明の範囲に入ることが当業者には用意に理解できよう。例えば、前述のシステム100はユーザー・アプリケーション106を能動化してデータ・パケットを形成する改良した方法を用いているが、そのシステムはOSを能動化して従来と同様の態様でデータ・パケットを形成してもよい。
本発明を例示した実施例に沿って説明してきたが、他の実施例も本発明の趣旨及び範囲内であって、特許請求の範囲によって本発明が定義されることを理解されたい。
本発明の他の特徴や側面はこれまでの詳細な説明や添付図面から一層明らかになろう。
本発明の実施例に従う、データ・パケットを伝送するシステムのブロック図である。 本発明の実施例に従う、データ・パケットを伝送する方法を示す図である。 本発明の実施例に従う、データ・パケットを伝送する方法の典型的なプロセスのフローを示す図である。
符号の説明
100 システム
102 プロセッサ
104 オペレーティング・システム(OS)
106 ユーザー・アプリケーション
108 メモリ
110 (ネットワーク)リンク又はファブリック
112 アダプタ
114 記憶装置
116 パケット構文解析論理部

Claims (20)

  1. データ・パケットを伝送する方法であって、
    データ・パケットの伝送元となり得るコネクション毎に、前記コネクションに対応するヘッダー・データを格納するステップと、
    パケットのヘッダー及びペイロード・データを形成するため、前記パケットの伝送元となるコネクションと関連するユーザー・アプリケーションを用いるステップと、
    前記パケットを伝送しながら、前記ユーザー・アプリケーションが関連する前記コネクションに対応する前記ヘッダー・データと前記パケット・ヘッダー・データの1個若しくはそれ以上の部分とを比較するステップとを含む方法。
  2. 前記ユーザー・アプリケーションを用いるステップが、前記パケットを形成するための待ち時間を低減するステップを含む、請求項1に記載の方法。
  3. 前記比較するステップが、不正確なヘッダー・データを持つパケットの成功裡の伝送を低減するステップを含む、請求項1に記載の方法。
  4. 前記パケット・ヘッダー・データの1個若しくはそれ以上の部分を比較するステップが、
    前記パケット・ヘッダー・データの部分を抽出するステップと、
    前記パケット・ヘッダー・データの前記の抽出された部分を、前記ユーザー・アプリケーションが関連している前記コネクションに対応する前記ヘッダー・データと比較するステップとを含む、請求項1に記載の方法。
  5. 前記パケット・ヘッダー・データの前記1個若しくはそれ以上の部分が、前記ユーザー・アプリケーションが関連している前記コネクションに対応する前記ヘッダー・データと一致しない場合に、前記パケットの伝送を停止するステップを更に含む、請求項1に記載の方法。
  6. 前記パケット・ヘッダー・データの前記1個若しくはそれ以上の部分が、前記ユーザー・アプリケーションが関連している前記コネクションに対応する前記ヘッダー・データと一致しない場合に、前記パケットを壊すステップを更に含む、請求項1に記載の方法。
  7. 前記コネクションに対応するヘッダー・データを格納するステップが、前記コネクションに対応するヘッダー・データの縮小版を格納するステップを含み、
    前記パケット・ヘッダー・データの1個若しくはそれ以上の部分を比較するステップが、
    前記パケット・ヘッダー・データの1個若しくはそれ以上の部分と、前記ヘッダー・データの縮小版とを比較するステップを含む、請求項1に記載の方法。
  8. データ・パケットを伝送する装置であって、
    格納装置と、
    前記格納装置に結合されたパケット構文解析論理部とを含み、
    前記装置が、
    データ・パケットの伝送元となり得るコネクション毎に、前記コネクションに対応するヘッダー・データを格納する手段と、
    パケットのヘッダー及びペイロード・データを形成するため、前記パケットの伝送元となるコネクションと関連するユーザー・アプリケーションを用いる手段と、
    前記パケットを伝送しながら、前記ユーザー・アプリケーションが関連する前記コネクションに対応する前記ヘッダー・データと前記パケット・ヘッダー・データの1個若しくはそれ以上の部分とを比較する手段と
    を含む装置。
  9. 前記比較する手段が、不正確なヘッダー・データを持つパケットの成功裡の伝送を低減する手段を含む、請求項8に記載の装置。
  10. 前記パケット・ヘッダー・データの1個若しくはそれ以上の部分を比較する手段が、
    前記パケット・ヘッダー・データの部分を抽出する手段と、
    前記パケット・ヘッダー・データの前記の抽出された部分を、前記ユーザー・アプリケーションが関連している前記コネクションに対応する前記ヘッダー・データと比較する手段とを含む、請求項8に記載の装置。
  11. 前記パケット・ヘッダー・データの前記1個若しくはそれ以上の部分が、前記ユーザー・アプリケーションが関連している前記コネクションに対応する前記ヘッダー・データと一致しない場合に、前記パケットの伝送を停止する手段を更に含む、請求項8に記載の装置。
  12. 前記パケット・ヘッダー・データの前記1個若しくはそれ以上の部分が、前記ユーザー・アプリケーションが関連している前記コネクションに対応する前記ヘッダー・データと一致しない場合に、前記パケットを壊す手段を更に含む、請求項8に記載の装置。
  13. 前記コネクションに対応するヘッダー・データを格納する手段が、前記コネクションに対応するヘッダー・データの縮小版を格納する手段を含み、
    前記パケット・ヘッダー・データの1個若しくはそれ以上の部分を比較する手段が、
    前記パケット・ヘッダー・データの1個若しくはそれ以上の部分と、前記ヘッダー・データの縮小版とを比較する手段を含む、請求項8に記載の装置。
  14. 1個若しくはそれ以上のユーザー・アプリケーションを実行するように適用されたプロセッサと、
    前記プロセッサに結合された、データ・パケットを伝送するための装置であって、
    格納装置と、
    前記格納装置に結合されたパケット構文解析論理部とを含む装置
    を含むシステムであって、
    前記システムが、
    データ・パケットの伝送元となり得るコネクション毎に、前記コネクションに対応するヘッダー・データを格納する手段と、
    パケットのヘッダー及びペイロード・データを形成するため、前記パケットの伝送元となるコネクションと関連するユーザー・アプリケーションを用いる手段と、
    前記パケットを伝送しながら、前記ユーザー・アプリケーションが関連する前記コネクションに対応する前記ヘッダー・データと前記パケット・ヘッダー・データの1個若しくはそれ以上の部分とを比較する手段と
    を含むシステム。
  15. 前記ユーザー・アプリケーションを用いる手段が、前記パケットを形成するための待ち時間を低減する手段を含む、請求項14に記載のシステム。
  16. 前記比較する手段が、不正確なヘッダー・データを持つパケットの成功裡の伝送を低減する手段を含む、請求項14に記載のシステム。
  17. 前記パケット・ヘッダー・データの1個若しくはそれ以上の部分を比較する手段が、
    前記パケット・ヘッダー・データの部分を抽出する手段と、
    前記パケット・ヘッダー・データの前記の抽出された部分を、前記ユーザー・アプリケーションが関連している前記コネクションに対応する前記ヘッダー・データと比較する手段と
    を含むものに適用される、請求項14に記載のシステム。
  18. 前記パケット・ヘッダー・データの前記1個若しくはそれ以上の部分が、前記ユーザー・アプリケーションが関連している前記コネクションに対応する前記ヘッダー・データと一致しない場合に、前記パケットの伝送を停止する手段を更に含む、請求項14に記載のシステム。
  19. 前記パケット・ヘッダー・データの前記1個若しくはそれ以上の部分が、前記ユーザー・アプリケーションが関連している前記コネクションに対応する前記ヘッダー・データと一致しない場合に、前記パケットを壊す手段を更に含む、請求項14に記載のシステム。
  20. 前記コネクションに対応するヘッダー・データを格納する手段が、前記コネクションに対応するヘッダー・データの縮小版を格納する手段を含み、
    前記パケット・ヘッダー・データの1個若しくはそれ以上の部分を比較する手段が、
    前記パケット・ヘッダー・データの1個若しくはそれ以上の部分と、前記ヘッダー・データの縮小版とを比較する手段を含む、請求項14に記載のシステム。
JP2007071816A 2006-03-23 2007-03-20 データ・パケットを伝送しながらセキュリティを改良するための方法及び装置 Expired - Fee Related JP4743894B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/388,011 2006-03-23
US11/388,011 US7623450B2 (en) 2006-03-23 2006-03-23 Methods and apparatus for improving security while transmitting a data packet

Publications (2)

Publication Number Publication Date
JP2007259446A true JP2007259446A (ja) 2007-10-04
JP4743894B2 JP4743894B2 (ja) 2011-08-10

Family

ID=38533258

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007071816A Expired - Fee Related JP4743894B2 (ja) 2006-03-23 2007-03-20 データ・パケットを伝送しながらセキュリティを改良するための方法及び装置

Country Status (4)

Country Link
US (1) US7623450B2 (ja)
JP (1) JP4743894B2 (ja)
CN (1) CN101043454B (ja)
TW (1) TWI382723B (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7366670B1 (en) * 1997-08-05 2008-04-29 At&T Corp. Method and system for aligning natural and synthetic video to speech synthesis
US7380272B2 (en) * 2000-05-17 2008-05-27 Deep Nines Incorporated System and method for detecting and eliminating IP spoofing in a data transmission network
US8302182B2 (en) * 2008-09-01 2012-10-30 Mediatek Inc. Embedded system with authentication, and associated authentication method
US8351605B2 (en) 2009-09-16 2013-01-08 International Business Machines Corporation Stealth message transmission in a network
US8732351B1 (en) * 2010-04-07 2014-05-20 Applied Micro Circuits Corporation System and method for packet splitting
WO2012036670A1 (en) * 2010-09-14 2012-03-22 Hewlett-Packard Development Company, L.P. Computer system fabric switch
US20160191678A1 (en) * 2014-12-27 2016-06-30 Jesse C. Brandeburg Technologies for data integrity of multi-network packet operations
US9948724B2 (en) * 2015-09-10 2018-04-17 International Business Machines Corporation Handling multi-pipe connections
US11102238B2 (en) 2016-04-22 2021-08-24 Sophos Limited Detecting triggering events for distributed denial of service attacks
US10938781B2 (en) 2016-04-22 2021-03-02 Sophos Limited Secure labeling of network flows
US11165797B2 (en) 2016-04-22 2021-11-02 Sophos Limited Detecting endpoint compromise based on network usage history
US10986109B2 (en) 2016-04-22 2021-04-20 Sophos Limited Local proxy detection
US11277416B2 (en) * 2016-04-22 2022-03-15 Sophos Limited Labeling network flows according to source applications
US12021831B2 (en) 2016-06-10 2024-06-25 Sophos Limited Network security
CN109819274B (zh) * 2019-02-27 2021-09-14 聚好看科技股份有限公司 数据传输方法、数据处理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10154116A (ja) * 1996-11-25 1998-06-09 Hitachi Ltd データ転送方法
JP2000112849A (ja) * 1998-10-08 2000-04-21 Hitachi Ltd 通信パケットのヘッダ付与方式
JP2004007354A (ja) * 2002-04-02 2004-01-08 Nippon Telegr & Teleph Corp <Ntt> 計算機間データ転送方法及びデータ同報配信方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6434620B1 (en) * 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
US6301249B1 (en) * 1998-08-04 2001-10-09 Opuswave Networks, Inc Efficient error control for wireless packet transmissions
US6496520B1 (en) * 2000-01-21 2002-12-17 Broadcloud Communications, Inc. Wireless network system and method
US20040210663A1 (en) * 2003-04-15 2004-10-21 Paul Phillips Object-aware transport-layer network processing engine
US7751440B2 (en) * 2003-12-04 2010-07-06 Intel Corporation Reconfigurable frame parser
US7814219B2 (en) * 2003-12-19 2010-10-12 Intel Corporation Method, apparatus, system, and article of manufacture for grouping packets
US7783769B2 (en) * 2004-03-31 2010-08-24 Intel Corporation Accelerated TCP (Transport Control Protocol) stack processing
US7721299B2 (en) * 2005-08-05 2010-05-18 Red Hat, Inc. Zero-copy network I/O for virtual hosts

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10154116A (ja) * 1996-11-25 1998-06-09 Hitachi Ltd データ転送方法
JP2000112849A (ja) * 1998-10-08 2000-04-21 Hitachi Ltd 通信パケットのヘッダ付与方式
JP2004007354A (ja) * 2002-04-02 2004-01-08 Nippon Telegr & Teleph Corp <Ntt> 計算機間データ転送方法及びデータ同報配信方法

Also Published As

Publication number Publication date
JP4743894B2 (ja) 2011-08-10
US20070223389A1 (en) 2007-09-27
TWI382723B (zh) 2013-01-11
CN101043454A (zh) 2007-09-26
TW200814669A (en) 2008-03-16
US7623450B2 (en) 2009-11-24
CN101043454B (zh) 2012-04-18

Similar Documents

Publication Publication Date Title
JP4743894B2 (ja) データ・パケットを伝送しながらセキュリティを改良するための方法及び装置
US6728265B1 (en) Controlling frame transmission
US8005022B2 (en) Host operating system bypass for packets destined for a virtual machine
US6449656B1 (en) Storing a frame header
US7913077B2 (en) Preventing IP spoofing and facilitating parsing of private data areas in system area network connection requests
US9059965B2 (en) Method and system for enforcing security policies on network traffic
US8625431B2 (en) Notifying network applications of receive overflow conditions
US7499463B1 (en) Method and apparatus for enforcing bandwidth utilization of a virtual serialization queue
US20070064737A1 (en) Receive coalescing and automatic acknowledge in network interface controller
US20080219261A1 (en) Apparatus and method for processing data streams
JP2003525557A (ja) 迅速なパケット・フィルタリング及びパケット・プロセシングのためのシステム、デバイス及び方法
US7613132B2 (en) Method and system for controlling virtual machine bandwidth
US20040111642A1 (en) Content security by network switch
JP2007336551A (ja) 少なくとも1つのtcpデータセグメントストリームをインラインコンテンツ解析にサブミットするための方法及びデバイス、その方法を実施するための1つ又は複数の命令シーケンスを保持するコンピュータ可読媒体、並びにコンピュータプログラム製品
US20070291782A1 (en) Acknowledgement filtering
US8429742B2 (en) Detection of a denial of service attack on an internet server
US20070061439A1 (en) Signalling data reception
US7181616B2 (en) Method of and apparatus for data transmission
US8737431B2 (en) Checking data integrity
US20070076712A1 (en) Processing packet headers
US7672299B2 (en) Network interface card virtualization based on hardware resources and software rings
US7848331B2 (en) Multi-level packet classification
US8149709B2 (en) Serialization queue framework for transmitting packets
JP2015216450A (ja) 情報処理装置、情報処理システム及び中継プログラム
US7178023B1 (en) System and method to facilitate secure communication of data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110215

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110215

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20110215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110217

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110427

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20110427

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110509

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

Free format text: PAYMENT UNTIL: 20140520

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees