(57)【要約】【課題】ネットワークでメッセージを認証するシステムと方法に関し、ファイアウォールの内側の電子装置からの要求に応じて、ファイアウォールの外側の電子装置または他のサードパーティ装置からファイアウォールの内側の電子装置にメッセージまたは情報を直接送信するのを許可することを目的とする。【解決手段】ファイアウォール100の内側の電子装置Aがファイアウォールの外側の電子装置Bからの情報を要求する場合に、ディジタルバトンがファイアウォールや他のゲートウェイ等から電子装置Bに供給される。電子装置Bは、ファイアウォールを経由して電子装置Aにメッセージまたは情報を送るためにディジタルバトンにより要求に応答するような後続の電子装置にディジタルバトンを送る。ファイアウォールは、メッセージ中に含まれるディジタルバトンの認証に基づき、メッセージに対する認証またはフィルタをかける。【選択図】図１
2006216014.tif 000002
【特許請求の範囲】
【請求項１】
メッセージを認証するためのシステムであって、
ファイアウォールと、
ディジタルコードを生成し、かつ、前記ファイアウォールにより保護されている装置に送られる受信されたメッセージの中に前記ディジタルコードを組み込むディジタルコード・ジェネレータと、
前記受信されたメッセージの中に前記ディジタルコードが存在しかつ認証されているか否かに基づいて、前記受信されたメッセージにフィルタをかけるように構成されている前記ファイアウォール内のセキュリティサブシステムとを備えることを特徴とする、メッセージを認証するためのシステム。
【請求項２】
前記ディジタルコード・ジェネレータは、前記ファイアウォール内の前記セキュリティサブシステム内に含まれている請求項１に記載のシステム。
【請求項３】
前記ディジタルコード・ジェネレータは、前記ファイアウォールから独立している請求項１に記載のシステム。
【請求項４】
前記ディジタルコードは、前記ディジタルコードを含むメッセージに対して信用できる識別情報を付与する英数字インディケータである請求項１に記載のシステム。
【請求項５】
前記ディジタルコードは、前記ファイアウォールにより保護されている電子装置（Ａ）と、前記ファイアウォールの保護の外側にある電子装置（Ｂ）との間の通信セッションの全体にわたって使用される請求項１に記載のシステム。
【請求項６】
前記電子装置（Ａ）は、前記電子装置（Ｂ）との通信を開始する請求項５に記載のシステム。
【請求項７】
前記電子装置（Ｂ）は、前記電子装置（Ａ）との通信を開始する請求項５に記載のシステム。
【請求項８】
前記ディジタルコードは、前記電子装置（Ａ）と前記電子装置（Ｂ）との間の通信の開始後に生成される請求項５に記載のシステム。
【請求項９】
前記電子装置（Ｂ）は、前記セキュリティサブシステムを経由して１つまたは複数のメッセージを送ることによってサードパーティ電子装置（Ｒ）が前記ディジタルコードを使用して前記電子装置（Ａ）と直接的に通信することを可能にするために、前記サードパーティ電子装置（Ｒ）に前記ディジタルコードを供給する請求項５に記載のシステム。
【請求項１０】
メッセージを認証するための方法であって、
ディジタルコードを生成するステップと、
ファイアウォールにより保護されている装置に送られる受信されたメッセージの中に前記ディジタルコードを組み込むステップと、
前記受信されたメッセージの中の前記ディジタルコードを認証するステップと、
前記受信されたメッセージの中の前記ディジタルコードが認証されているか否かに基づいて、前記受信されたメッセージにフィルタをかけるステップとを含むことを特徴とする、メッセージを認証するための方法。
【請求項１１】
前記ディジタルコードを生成するステップは、前記ファイアウォール内のセキュリティサブシステム内に含まれているディジタルコード・ジェネレータにより行われる請求項１０に記載の方法。
【請求項１２】
前記ディジタルコードを生成するステップは、前記ファイアウォールから独立しているディジタルコード・ジェネレータにより行われる請求項１０に記載の方法。
【請求項１３】
前記ディジタルコードは、前記ディジタルコードを含むメッセージに対して信用できる識別情報を付与する英数字インディケータである請求項１０に記載の方法。
【請求項１４】
前記方法が、さらに、前記ファイアウォールにより保護されている電子装置（Ａ）と、前記ファイアウォールの保護の外側にある電子装置（Ｂ）との間の通信セッションの全体にわたって、前記ディジタルコードを使用するステップを含む請求項１０に記載の方法。
【請求項１５】
前記電子装置（Ａ）は、前記電子装置（Ｂ）との通信を開始する請求項１４に記載の方法。
【請求項１６】
前記電子装置（Ｂ）は、前記電子装置（Ａ）との通信を開始する請求項１４に記載の方法。
【請求項１７】
前記ディジタルコードは、前記電子装置（Ａ）と前記電子装置（Ｂ）との間の通信の開始後に生成される請求項１４に記載の方法。
【請求項１８】
前記電子装置（Ｂ）は、前記ファイアウォールを経由して１つまたは複数のメッセージを送ることによってサードパーティ電子装置（Ｒ）が前記ディジタルコードを使用して前記電子装置（Ａ）と直接的に通信することを可能にするために、前記サードパーティ電子装置（Ｒ）に前記ディジタルコードを供給する請求項１４に記載の方法。
【請求項１９】
メッセージを認証するためのファイアウォールであって、
ディジタルコードを生成し、かつ、前記ファイアウォールにより保護されている装置に送られる受信されたメッセージの中に前記ディジタルコードを組み込むディジタルコード・ジェネレータと、
前記受信されたメッセージの中の前記ディジタルコードが認証されているか否かに基づいて、前記受信されたメッセージにフィルタをかけるように構成されているセキュリティサブシステムとを有することを特徴とする、メッセージを認証するためのファイアウォール。
【請求項２０】
前記ディジタルコードは、前記ディジタルコードを含むメッセージに対して信用できる識別情報を付与する英数字インディケータである請求項１９に記載のファイアウォール。
【請求項２１】
前記ディジタルコードは、前記ファイアウォールにより保護されている電子装置（Ａ）と、前記ファイアウォールの保護の外側にある電子装置（Ｂ）との間の通信セッションの全体にわたって使用される請求項１に記載のファイアウォール。
【請求項２２】
前記電子装置（Ａ）は、前記電子装置（Ｂ）との通信を開始する請求項２１に記載のファイアウォール。
【請求項２３】
前記電子装置（Ｂ）は、前記電子装置（Ａ）との通信を開始する請求項２１に記載のファイアウォール。
【請求項２４】
前記ディジタルコードは、前記電子装置（Ａ）と前記電子装置（Ｂ）との間の通信の開始後に生成される請求項２１に記載のファイアウォール。
【請求項２５】
前記電子装置（Ｂ）は、前記セキュリティサブシステムを経由して１つまたは複数のメッセージを送ることによってサードパーティ電子装置（Ｒ）が前記ディジタルコードを使用して前記電子装置（Ａ）と直接的に通信することを可能にするために、前記サードパーティ電子装置（Ｒ）に前記ディジタルコードを供給する請求項２１に記載のファイアウォール。
【請求項２６】
ディジタルコードを生成し、かつ、セキュリティサブシステムにより保護されている装置に送られる受信されたメッセージの中に前記ディジタルコードを組み込むディジタルコード・ジェネレータを有しており、
前記セキュリティサブシステムは、前記受信されたメッセージの中の前記ディジタルコードが認証されているか否かに基づいて、前記受信されたメッセージにフィルタをかけるように構成されることを特徴とするネットワーク装置。
【請求項２７】
セキュリティサブシステムにより保護されているネットワーク装置であって、
ディジタルコードを生成し、かつ、電子装置に送られる受信されたメッセージの中に前記ディジタルコードを組み込むように構成されているディジタルコード・ジェネレータを有するセキュリティサブシステムに接続されるように構成されているネットワーク接続部を備えており、
前記セキュリティサブシステムは、前記受信されたメッセージの中の前記ディジタルコードが認証されているか否かに基づいて、前記受信されたメッセージにフィルタをかけるように構成されることを特徴とするネットワーク装置。
【請求項２８】
１つまたは複数のコンピュータ読み取り可能な媒体上に記憶されている一揃いのソフトウェアプログラムであって、前記ソフトウェアプログラムは、メッセージを認証する方法をサポートするために１つまたは複数のコンピュータ上で実行可能であり、さらに、前記一揃いのソフトウェアプログラムは、
ディジタルコードを生成するためのソフトウェアプログラムと、
前記ファイアウォールにより保護されている装置に送られる受信されたメッセージの中に前記ディジタルコードを組み込むためのソフトウェアプログラムと、
前記受信されたメッセージの中の前記ディジタルコードを認証するためのソフトウェアプログラムと、
前記受信されたメッセージの中の前記ディジタルコードが認証されているか否かに基づいて、前記受信されたメッセージにフィルタをかけるソフトウェアプログラムとを含むことを特徴とするソフトウェアプログラム。
【請求項２９】
コンピュータ上で実行されるときに、メッセージを認証するための方法を前記コンピュータが実行することを可能にするプログラムコードを記憶するコンピュータ読み取り可能な媒体であって、前記方法は、
ディジタルコードを生成するステップと、
ファイアウォールにより保護されている装置に送られる受信されたメッセージの中に前記ディジタルコードを組み込むステップと、
前記受信されたメッセージの中の前記ディジタルコードを認証するステップと、
前記受信されたメッセージの中の前記ディジタルコードが認証されているか否かに基づいて、前記受信されたメッセージにフィルタをかけるステップとを含むことを特徴とするコンピュータ読み取り可能な媒体。
【請求項３０】
前記プログラムコードは、前記ファイアウォール内のセキュリティサブシステム内に含まれているディジタルコード・ジェネレータを使用して前記ディジタルコードを生成するステップを実行する請求項２９に記載のコンピュータ読み取り可能な媒体。
【請求項３１】
前記プログラムコードは、前記ファイアウォールから独立しているディジタルコード・ジェネレータを使用して前記ディジタルコードを生成するステップを実行する請求項２９に記載のコンピュータ読み取り可能な媒体。
【請求項３２】
前記ディジタルコードは、前記ディジタルコードを含むメッセージに対して信用できる識別情報を付与する英数字インディケータである請求項２９に記載のコンピュータ読み取り可能な媒体。
【請求項３３】
前記プログラムコードは、さらに、前記ファイアウォールにより保護されている電子装置（Ａ）と、前記ファイアウォールの保護の外側にある電子装置（Ｂ）との間の通信セッションの全体にわたって、前記ディジタルコードを使用するステップを実行する請求項２９に記載のコンピュータ読み取り可能な媒体。
【請求項３４】
前記電子装置（Ａ）は、前記電子装置（Ｂ）との通信を開始する請求項３３に記載のコンピュータ読み取り可能な媒体。
【請求項３５】
前記電子装置（Ｂ）は、前記電子装置（Ａ）との通信を開始する請求項３３に記載のコンピュータ読み取り可能な媒体。
【請求項３６】
前記ディジタルコードは、前記電子装置（Ａ）と前記電子装置（Ｂ）との間の通信の開始後に生成される請求項３３に記載のコンピュータ読み取り可能な媒体。
【請求項３７】
前記電子装置（Ｂ）は、前記ファイアウォールを経由して１つまたは複数のメッセージを送ることによってサードパーティ電子装置（Ｒ）が前記ディジタルコードを使用して前記電子装置（Ａ）と直接的に通信することを可能にするために、前記サードパーティ電子装置（Ｒ）に前記ディジタルコードを供給する請求項３３に記載のコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はネットワークと通信とに関する。特に、本発明は、メッセージを認証するために、ファイアウォールまたは他のゲートウェイ装置により読み取られることが可能なメッセージにおいて、コード、すなわち、ディジタル「バトン（baton ）」を使用することに関するものである。
【背景技術】
【０００２】
ファイアウォールは、ファイアウォール自体によって、すなわち、ファイアウォールの内側で保護されているエンティティ（entities）に出たり入ったりするデータに関して、規則（rules）、いわゆる「ポリシー（policies）」を監視し執行するネットワーク技術である。例えば、ローカルエリアネットワーク（ＬＡＮ）が、このＬＡＮのドメインの外側のクライアントに出たり入ったりするデータにフィルタをかけるようにファイアウォールによって保護されることが可能である。一般に、データがＬＡＮのドメインの中に入ることは、「外側（outside ）」から、すなわち、通常はインターネットから、ファイアウォールを経由して、ＬＡＮのエンティティが存在する「内側（inside）」に入ることとして表現される。
【０００３】
現在のファイアウォール技術に関して次のような問題が生じていることが認められている。すなわち、ファイアウォールにより執行される１つまたは複数の特定のポリシーのために、正当なデータがファイアウォールを通過することができない場合が多い。例えば、２つのネットワーク装置が通信セッションの状態にあるときに１つの問題が生じる。１つのシナリオでは、電子装置（通常、装置と略記される）Ａが電子装置（通常、装置と略記される）Ｂとメッセージの形でデータを交換している。装置Ａはファイアウォールの内側にあり、かつ、装置Ｂはファイアウォールの外側にある。このファイアウォールは、装置Ａを正当なデータを送信する装置として認識し、かつ、そのポリシーの下で、メッセージを装置Ｂに送る許可を得ている。しかしながら、このファイアウォールは、装置Ｂが外側から当該ファイアウォールを経由して装置Ａにメッセージを送信する権利を有するということを認識していない。
【０００４】
制限的ファイアウォール（restrictive firewall）では、このファイアウォールは、装置Ａが装置Ｂにメッセージを送信することだけを許可することが可能であり、さらに、装置Ａが最初に装置Ｂにメッセージを送信し終わっている場合に、および、この場合にのみ、および／または、装置Ｂが、装置Ａまたはそのファイアウォール内の他のエンティティとの通信に関する権限を有するように上記ファイアウォールのポリシーにて予め構成されている場合にのみ、装置Ｂからのメッセージを許可することだけが可能である。ファイアウォールが装置Ｂから装置Ａへのメッセージを予想または許可するようには構成されていないので、装置Ｂは上記ファイアウォールを経由した装置Ａに対する通信を開始することが不可能である。
【０００５】
装置Ａが要求する情報を装置Ｂが持っておらず、装置Ａが必要とする情報を得るために装置Ｂが他の装置を使用しなければならない場合に、別の問題が生じる。現時点での当該問題の解決策は面倒である。この解決策では、装置Ｂに回答を供給するために後続の装置が装置Ｂとの通信経路を再びたどることを必要とし、その後で装置Ｂは装置Ａに回答を送信するであろう。このような後続の装置は、メッセージを装置Ａに伝達することを装置Ｂに委託しない。例えば、装置Ａが装置Ｂから機密の企業人事情報を要求する場合に、装置Ｂはその情報を検索するために人事サーバＰと契約を結ばなければならないであろう。しかしながら、装置Ｂは人事サーバＰから人事情報を受け取る権限を与えられていないことがある。この場合には、人事サーバＰは、要求者としての装置Ａに対して直接情報を送信することしかできないであろう。当初のセッションが装置Ａと装置Ｂとの間で確立されていたならば、ファイアウォールのポリシーは、この当初の通信セッションに関係していなかった第３の装置（third device）が情報を装置Ａに送信することを許可しないであろう。このファイアウォールにとって、サーバＰから装置Ａへの試行された通信が想定外のものとして現れ、当該ファイアウォールによって却下されるであろう。前述のシナリオは、一般に、「委譲（delegation）」に関する問題と呼ばれており、上記の場合には、１つの装置がサードパーティ装置（third party device）（サードパーティ電子装置ともよばれる）に対して要求を委譲しようと試行する。
【０００６】
さらにより複雑な委譲では、装置Ａからの要求が幾つかのサードパーティ装置を経由させられる。概略的に述べると、このシナリオは次の関係のように表されることが可能である。
Ａ−＞‖Ｂ−＞Ｃ−＞．．．−＞Ｒ
装置（すなわち、サードパーティ装置）Ｒが装置Ａに回答を直接送信しようとする場合には、制限的ファイアウォールは、メッセージを装置Ｒに送信する装置Ａのレコードを持っていないので、この回答を阻止するであろう。このような問題は、装置Ｒが情報に関する唯一の信用できるソースであるようなシナリオにおいて、または、中間の装置（例えば、装置Ｃ）が機密保護または個人情報保護の理由から情報を得ることを許可されていない場合に、特別な重要性を有する。
【０００７】
上記問題の１つの公知の解決策は、要求されている情報を装置Ｒが有するというメッセージを装置Ｂが装置Ａに送信することができるようにするために、装置Ｒが装置Ｂにメッセージを送信することである。これによって、装置Ａは装置Ｒにコンタクトし、装置Ｒがその情報を供給することを要求してよい。しかしながら、ファイアウォールは、装置Ｒから当該情報を受信するようには構成されていないことがある。その上、要求されている情報を新たなサードパーティ装置が有することが発見される毎に、上記ファイアウォールの再構成を必要とすることは面倒であろう。
【０００８】
別の公知の解決策は、インターネットプロトコルセキュリティ（ＩＰＳｅｃ（Internet protocol security））を使用してインターネットプロトコル（ＩＰ）アドレスを再構成することを含む。ＩＰＳｅｃは、ＩＰレイヤにおけるパケットの確実な交換をサポートするためにインターネットエンジニアリング・タスク・フォース（ＩＥＴＦ（Internet engineering task force ））によって開発された一揃いのプロトコルである。ＩＰＳｅｃは、仮想私設ネットワーク（ＶＰＮ（virtual private networks））を実現するために広く採用されている。さらに、ＩＰＳｅｃは、２つの暗号化モード、すなわち、トランスポートモードとトンネルモードとをサポートする。トランスポートモードは、各々のパケットのデータ部分（ペイロード）だけを暗号化し、ヘッダはそのままの形で残す。より確実なトンネルモードは、ヘッダとペイロードの両方を暗号化する。受信側では、ＩＰＳｅｃに準拠した装置が各々のパケットを解読する。
【０００９】
ＩＰＳｅｃが機能するためには、送信装置と受信装置とが公開キーを共有しなければならない。これは、インターネットセキュリティ・キー管理プロトコル／オークリー（ＩＳＡＫＭＰ／Ｏａｋｌｅｙ（Internet security association and key management protocol／Oakley ）として知られているプロトコルによって実現され、このプロトコルは、受信側が公開キーを得ることと、ディジタル証明を使用して送信側を認証することとを可能にする。
【００１０】
ＩＰＳｅｃによる解決策は、制限的ファイアウォールを使用することに関連した問題と同様の問題点を有する。このようなＩＰＳｅｃによる解決策は、ＩＰＳｅｃがファイアウォール自体とは別に各装置における構成を必要とするという点以外に、通信に関与する全ての装置の相互間の通信を容易にするために大規模な構成を必要とする。
【００１１】
別の公知の解決策は、ホスト識別プロトコル（ＨＩＰ（host identify protocol））を使用することである。ＨＩＰは、２つのホストの間の装置またはホストの識別情報の迅速な交換を実現する。この交換は、さらに、ＩＰＳｅｃと共に使用されるべき一対のＩＰＳｅｃセキュリティアソシエーション（ＳＡ（security associations ））も確立する。ＨＩＰプロトコルは、サービス拒否攻撃（ＤｏＳ（denial-of-service ））と介入者攻撃（ＭｉｔＭ（man-in-the-middle ））とに対して耐性があるように設計されており、ＴＣＰおよびＵＤＰのような上位レイヤプロトコルのためのＤｏＳおよびＭｉｔＭに対するプロテクションを実現する。しかしながら、純粋なＩＰＳｅｃの場合と同様に、ＨＩＰも、使用可能になるまでに、通信に関与する各装置に関する大規模な構成を必要とする。
【００１２】
別の公知の解決策は、暗号化によって生成されたアドレス（ＣＧＡ（cryptographically generated addresses ））を使用することである。ＣＧＡは、公開キーと補助パラメータとから暗号化一方通行ハッシュ関数を計算することによって生成される。公開キーとアドレスとの間の結合（binding ）は、ハッシュ値を再計算することによって、かつ、そのハッシュ値をインタフェース識別子と比較することによって確認されることが可能である。ＩＰアドレスから送信されたメッセージは、公開キーと補助パラメータとを付与することによって、かつ、対応する秘密キーにより上記メッセージに署名することによって保護されることが可能である。ＣＧＡは、証明機関も他のインフラストラクチャもなしに機能することが可能である。
【００１３】
しかしながら、ＩＰＳｅｃおよびＨＩＰプロトコルの場合と同様に、ＣＧＡプロトコルも、使用可能になるまでに、通信に関与する各装置の大規模な構成を必要とする。このような要求のせいで、前述のような解決策、または、これらの解決策に類似した解決策は、ファイアウォールの内側の装置Ａにとって以前には未知であったサードパーティ装置Ｒが、当初は装置Ｂに対して要求された情報を装置Ａに直接供給することを許可することができないという問題を解決していない。
【発明の開示】
【発明が解決しようとする課題】
【００１４】
本発明は上記問題点に鑑みてなされたものであり、ファイアウォールの内側にある電子装置がファイアウォールの外側にある電子装置からの情報を要求する場合に、ファイアウォールの外側の電子装置または他のサードパーティ電子装置からファイアウォールの内側の電子装置に対してメッセージまたは情報を直接送信することを許可することができるような、メッセージを認証するためのシステムおよび方法、メッセージを認証するためのファイアウォール、ネットワーク装置、および、コンピュータ読み取り可能な媒体を提供することを目的とするものである。
【課題を解決するための手段】
【００１５】
概略的かつ全般的に述べると、本発明の好ましい例示的な実施態様は、ファイアウォールの内側にある装置Ａがファイアウォールの外側にある装置Ｂからの情報を要求する場合に、ファイアウォールまたはゲートウェイ（本願明細書ではファイアウォールとよばれる）から装置Ｂにディジタル「バトン」を供給することによって、前述の問題点を解決する。装置Ｂは、装置Ａの要求に対する後続のレシピエント（recipient ）がファイアウォールを経由して装置Ａにメッセージまたは情報を送信する必要がある場合に上記後続のレシピエントがディジタルバトンを使用することができるようにするために、上記後続のレシピエントに上記ディジタルバトンを送ることが可能である。
【００１６】
このディジタルバトンは、ファイアウォールの外側に送られるメッセージに信用できる識別情報を付与する数字インディケータである。装置Ａのためのファイアウォールにより受け取られたデータパケットまたはメッセージの中に有効なディジタルバトンが検出されたときに、上記ファイアウォールが、装置Ｂ（装置Ａの要求に対する直接のレシピエント）または装置Ｒ（装置Ａの要求に対するサードパーティのレシピエント）を識別するデータパケットのソースＩＰアドレスを認識しなくても、データパケットが上記ファイアウォールを通過することを許可することを可能にするために、上記ファイアウォールはインディケータまたは進行中のセッションとしてディジタルバトンを生成する。
【００１７】
好ましい例示的な実施態様の別の態様では、ディジタルバトンを生成するファイアウォールの代わりに、ディジタルバトンが、例えばブラウザプログラムによって、アプリケーションレイヤにおいて生成されることが可能である。これに関連して、ファイアウォールの外側を移動するデータパケットに対してディジタルバトンを割り当てるために、任意のハードウェアおよび／またはソフトウェアシステムが、ファイアウォールで保護されたシステムまたはネットワークの中で実現されてもよい。
【００１８】
別の好ましい例示的な実施態様では、ファイアウォールの内側にある装置Ａがファイアウォールの外側にある装置Ｂからの情報を要求する場合に、ファイアウォールから装置Ｂにディジタルバトンを供給するための方法が挙げられる。最初に、装置ＡがファイアウォールＧの内側と外側とからメッセージを送信および受信することをファイアウォールまたはゲートウェイ（本願明細書ではファイアウォールＧ）が承認するように、装置ＡがファイアウォールＧに対して信用を確立することが可能である。さらに、装置Ａと装置Ｂとは、これらの装置の相互間の信用を確立することも可能である。装置Ａは、さらに、装置ＢとファイアウォールＧとの間の信用を認証してもよい。装置Ａまたはファイアウォール自体が、装置Ａと装置Ｂとの間で信用できる通信を容易にするためにディジタルバトンを要求してもよい。さらに、装置Ａはディジタルバトンを使用してファイアウォールＧを装置Ｂに対して公開してよい。さらに、装置Ａと装置Ｂとは、ディジタルバトンを使用することによって、ファイアウォールＧを経由して自由に通信し合ってよい。
【００１９】
別の好ましい例示的な実施態様では、ファイアウォールの内側にある装置Ａがファイアウォールの外側にある装置Ｂからの情報を要求し、かつ、装置Ｂが信用に関する要求を開始する場合に、ファイアウォールから装置Ｂに供給されるディジタルバトンを提供するための方法が挙げられる。装置Ｂは最初に装置Ａにコンタクトしてよい。ファイアウォールＧが、上記のコンタクトを開始するデータメッセージを阻止する。その後、ファイアウォールＧは、装置Ａに対して信用を確立する（すなわち、装置Ａが上記ファイアウォールを通過して通信することを許可されるということを確認することによって）。さらに、ファイアウォールＧは、装置Ｂからコンタクトが試みられているということを装置Ａに通知してよい。装置Ａは、装置Ｂが信用できるソースであるということを確認することによって、装置Ｂに対して信用を確立してよい（これは、装置ＢがファイアウォールＧのポリシーに適合するか否かを検査することを含んでもよい）。装置Ａは、ディジタルバトンを供給するファイアウォールＧまたは他のセキュリティ装置からのディジタルバトンを要求する。その次に、装置Ａは、ディジタルバトンを使用して、装置Ｂに対してファイアウォールＧを公開してよい（すなわち、装置Ａは、装置Ｂの要求に対する応答メッセージの中のディジタルバトンを装置Ｂに通知する）。その次に、装置Ａと装置Ｂとは、ディジタルバトンを使用することによって、ファイアウォールＧを経由して自由に通信し合ってよい。
【００２０】
別の好ましい例示的な実施態様では、ファイアウォールの内側の装置Ａがファイアウォールに対して信用を確立することを可能にするために、装置Ａが、ファイアウォールのポリシーに従って装置Ａをファイアウォールに事前に認証させることによってファイアウォールに対する信用を確立するように構成される。あるいは、その代わりに、装置Ａは、装置Ｂとのコンタクトを確立することの一部分としてファイアウォールに対し装置Ａ自体を認証するように構成される。ファイアウォールまたは他のセキュリティ装置は、その後に、装置Ａと装置Ｂとの間で通信し合うためのディジタルバトンを確立してよい。
【００２１】
別の好ましい例示的な実施態様では、システムが、ファイアウォールの内側にある装置Ａがファイアウォールの外側にある装置Ｂからの情報を要求し、かつ、サードパーティ装置Ｒがディジタルバトンを使用して装置Ａにメッセージを直接送信することを可能にするために装置Ｂがサードパーティ装置Ｒにディジタルバトンを送信する場合に、ファイアウォールから装置Ｂに供給されるディジタルバトンを提供することが可能である。装置Ａと装置Ｂとは、前述の方法のいずれかを使用してファイアウォールに対するセッションと信用とを確立してよい。ここで、ファイアウォールは、装置Ａからのメッセージの中で、返答されたメッセージが含むべきディジタルバトンを供与する。このディジタルバトンは、メッセージが上記セッションの一部分であり、正当であり、かつ、装置Ａに送信されることが可能であるということを確認する。この時点で、装置Ａと装置Ｂとは自由に通信し合うことが可能になる。
【００２２】
しかしながら、装置Ａに対して情報を供給するように装置Ｂがサードパーティ装置Ｒに要求する場合には、装置Ｂはディジタルバトンをサードパーティ装置Ｒに供給する。このような情報の要求に関する動作は、一連の他のサードパーティ装置を経由して行われてよい。この場合、装置Ｂは装置Ｃからの情報を要求し、装置Ｃは装置Ｄからの情報を要求し、さらに、装置Ｒが要求された情報の最後の提供者となるまで、情報の要求は同様に繰り返される。ディジタルバトンは、情報を提供する連鎖の中の最後のサードパーティ装置が装置Ａに情報を直接供給するために上記ディジタルバトンを使用することができるように、各々のサードパーティ装置に送られる。
【００２３】
ファイアウォールが、上記の連鎖の中の最後のサードパーティ装置Ｒからの情報を提供するメッセージを検出した場合、当該メッセージが装置Ａに向けられているときには、上記ファイアウォールはディジタルバトンを探索し、かつ、このディジタルバトンが正当である場合には、上記ファイアウォールは当該メッセージを装置Ａに送る。
【発明を実施するための最良の形態】
【００２４】
本発明に従って構成されている好ましい例示的な実施形態は、ファイアウォールの内側にある装置Ａがファイアウォールの外側にある装置Ｂからの情報を要求する場合に、ファイアウォールもしくは他のゲートウェイ（本願明細書ではファイアウォールとよばれる）または他のネットワーク装置から装置Ｂに対してディジタル「バトン」を供給するためのシステムおよび方法に関するものである。このディジタルバトンは、ファイアウォールまたはゲートウェイ装置により認証されることが可能なメッセージを提供するために使用されるべき他の電子装置に送られてもよい。装置Ｂは、ファイアウォールを経由してメッセージまたは情報を装置Ａに送信するためにディジタルバトンを使用して要求に応答することができるような後続の電子装置にディジタルバトンを送ることが可能である。
【００２５】
図１は、メッセージのフィルタリングを行うためのファイアウォールまたはゲートウェイからディジタルバトンを供給するためのシステムおよび方法の例示的な実施形態によるファイアウォールまたはゲートウェイシステムを示すブロック図である。
図１を参照すると、本発明の好ましい例示的な実施形態では、このシステムは、インターネット１０のようなネットワークを経由した悪意ある攻撃から、サーバ４０ａ、４０ｂや、コンピュータ３０ａ、３０ｂ等のような１つまたは複数の電子装置を保護するファイアウォールまたはゲートウェイシステム（図１では、ファイアウォール／ゲートウェイと記す）１００（本願明細書ではファイアウォールとよばれる）を有する。この１つまたは複数の電子装置３０ａ、３０ｂ、４０ａおよび４０ｂは、ファイアウォール１００により保護されているローカルエリアネットワーク（ＬＡＮ）２０を経由してファイアウォールに接続されてよい。このような悪意ある攻撃が、コンピュータ１４ａ、１４ｂや、サーバ７０ａ、７０ｂ等を含み得るような、インターネット１０に接続されている１つまたは複数の電子装置から行われることがある。しかしながら、インターネット１０に接続されている任意の数の電子装置１４ａ、１４ｂ、７０ａおよび７０ｂが、保護されたＬＡＮまたは無線ＬＡＮ２０に有線または無線で接続されている電子装置３０ａ、３０ｂ、４０ａおよび４０ｂと通信するための正当な理由を有することがある。
【００２６】
ファイアウォール１００は、ディジタルバトン・セキュリティサブシステム（図１では、バトン・セキュリティシステムと記す）１２０を含むか、または、このディジタルバトン・セキュリティサブシステム１２０に（有線または無線で）接続されている。このディジタルバトン・セキュリティサブシステム１２０は、ハードウェアベースのシステム、または、ファイアウォール１００のプロセッサ上で実行されるソフトウェアベースのシステムを含んでもよい。例えば、このソフトウェアベースのシステムは、１つまたは複数のコンピュータ読み取り可能な媒体上に記憶されている一揃いのソフトウェアプログラムを含んでよく、これらのソフトウェアプログラムは、ディジタルバトン・セキュリティサブシステム１２０の動作をサポートするように、ファイアウォール１００を含む１つまたは複数のコンピュータ上で実行可能である。これらのソフトウェアプログラムの各々は、前述したディジタルバトン・セキュリティサブシステム１２０によって行われる方法の少なくとも１つのステップまたは部分を実行するための一揃いの実行可能なコードを含んでよい。
【００２７】
ディジタルバトン・セキュリティサブシステム１２０は、好ましくは、ファイアウォール１００自体または別個のメモリチップにおける直接アクセス・ランダムアクセスメモリ内の記憶空間１２２を含む。この記憶空間１２２は、インターネットに接続されている電子装置１４ａ、１４ｂ、７０ａおよび７０ｂと電子装置３０ａ、３０ｂ、４０ａおよび４０ｂのために、オープン状態のネットワークまたはインターネット１０のセッションに関するレコードを含むデータベースを記憶する。各々のレコードは、オープン状態のセッションを有する電子装置３０ａ、３０ｂ、４０ａ、４０ｂのためのＩＰ（バージョン４またはバージョン６）アドレスと、このオープン状態のセッションのために使用されるディジタルバトンとを少なくとも含む。好ましくはディジタルバトン・セキュリティサブシステム１２０によるデータベース内での迅速な探索のために、ＩＰアドレスを含むフィールドとディジタルバトンを含むフィールドの両方に対してインデックスが付与される。
【００２８】
一実施形態では、ディジタルバトンの各々が、ファイアウォール１００の外側を通過するメッセージに対して信用できる識別情報を付与する数値インディケータである。ディジタルバトン・セキュリティサブシステム１２０は、進行中のセッションのためのインディケータとしてディジタルバトンを生成する。この場合、有効なディジタルバトンが、電子装置（例えば３０ａ）のためのファイアウォール１００により受け取られたデータパケットまたはメッセージの中に検出されたときに、ネットワークまたはインターネット１０に接続されている電子装置（例えば１４ａ）を識別するデータパケットのソースＩＰアドレスをファイアウォール１００が認識しない場合にさえ、当該データパケットが上記ファイアウォール１００を通過することを上記ファイアウォール１００が許可するように、上記ディジタルバトンに関するレコードが記憶空間１２２内に記憶される。
【００２９】
したがって、ファイアウォール１００と、ファイアウォール１００の内側のローカルエリアネットワーク（ＬＡＮ）２０上の信用できる装置３０ａは、動的な識別情報を生成する。この動的な識別情報がディジタルバトンである。
【００３０】
一実施形態では、ディジタルバトンを生成するファイアウォール１００の代わりに、そのディジタルバトンが、例えばブラウザプログラムによって、電子装置３０ａにおいてアプリケーションレイヤで生成されることが可能である。これに関して、ディジタルバトン・セキュリティサブシステム１２０は、ファイアウォール１００の外側を移動するデータパケットに対してディジタルバトンを割り当てるための、ファイアウォールにより保護されているシステムまたはローカルエリアネットワーク（ＬＡＮ）２０内の任意のハードウェアシステムおよび／またはソフトウェアシステムの形態をとってもよい。
【００３１】
ディジタルバトンは、さらに、メッセージ／パケット毎に、および、セッション毎に生成されてもよい。その次に、ゲートウェイがセッションの一部分として全ての明らかなバトンを追跡するであろう。
【００３２】
図２は、ファイアウォールまたはディジタルバトン・セキュリティシステムからディジタルバトンを供給するための好ましい例示的な実施形態の一態様において行われる方法の各ステップを示す流れ図である。
図２を参照すると、この図では、データ流れ図が本発明の一態様において行われる諸ステップを示し、本発明の上記態様は、ファイアウォール１００の外側の装置Ｂ（例えば１４ａ）に対してファイアウォール１００またはディジタルバトン・セキュリティサブシステム１２０からのディジタルバトンを提供するための方法を含む。ステップ２００では、ファイアウォール１００の内側にある装置Ａ（例えば３０ａ）が、装置１４ａからの情報を要求してもよい。ステップ２０２では、実施形態によっては、ファイアウォール１００が、そのファイアウォール１００の内側と外側とにメッセージを送信するために、かつ、ファイアウォール１００の内側と外側とからメッセージを受信するために、装置３０ａを認証することができるように、装置３０ａがファイアウォール１００に対して信用を確立することを必要とすることがある。さらに、ステップ２０４において、装置３０ａと装置１４ａとは、これらの装置を互いに識別するために、例えばディジタル署名アルゴリズム（ＤＳＡ（digital signature algorithm ））またはリベスト−シャミール−アーデルマン（ＲＳＡ（Rivest-Shamir-Adleman ））暗号化技術を使用して、これらの装置の間での信用を確立してもよい。ステップ２０６において、装置３０ａは、さらに、同様の手法で装置１４ａとファイアウォール１００との間での信用を認可してもよい。
【００３３】
さらに、ステップ２０８において、装置３０ａまたはディジタルバトン・セキュリティシステム自体１２０が、装置３０ａと装置１４ａとの間のさらに別の信用できる通信を容易にするためにディジタルバトン・セキュリティサブシステム１２０によるディジタルバトンの生成を要求してもよい。装置３０ａは、その次に、ステップ２１０において、ディジタルバトンを使用して装置１４ａに対してファイアウォール１００を公開してよい。さらに、装置１４ａは、このディジタルバトンを、ファイアウォール１００を通過してデータを装置３０ａに送信するときに使用されなければならないディジタルバトンとして認識するであろう。その次に、ステップ２１２では、装置３０ａと装置１４ａとは、ディジタルバトンを使用して、ファイアウォール１００を経由して自由に通信し合ってよい。
【００３４】
図３は、着信データパケットを検査するためにディジタルバトン・セキュリティシステムによって行われる方法を示すデータ流れ図である。
図３を参照すると、流れ図が、着信データパケットを検査するためにディジタルバトン・セキュリティサブシステム１２０によって行われる方法を示す。ステップ３００でファイアウォール１００の外側から受け取られた各々のパケットが、ステップ３０２において、適合するディジタルバトン番号を有するパケット中で指定された宛先ＩＰアドレスに関する有効なオープン状態のセッションがあるか否かに関して検査される。ステップ３０４において、このようなオープン状態のセッションがある場合には、その次に、ステップ３０６において、パケットが、レシピエントの装置３０ａへの転送のためにファイアウォールを経由してローカルエリアネットワーク（ＬＡＮ）２０に送られる。そうでない場合には、ファイアウォール１００と、データパケットがそれから受け取られた電子装置１４ａとの間の信用を確立することが試みられる。
【００３５】
図４は、ファイアウォールまたはディジタルバトン・セキュリティシステムからディジタルバトンを供給するための好ましい実施形態の別の態様に従って行われる別の方法を示すデータ流れ図である。
図４を参照すると、データ流れ図が、装置３０ｂがファイアウォール１００の内側にあり、かつ、ファイアウォール１００の外側の装置１４ｂが信用に関する要求を開始する場合に、ファイアウォール１００からファイアウォール１００の外側の装置１４ｂにディジタルバトンを供給するための、好ましい実施形態の別の態様に従って行われる方法を示す。ステップ４００では、装置１４ｂは、最初に装置３０ａにコンタクトすることを試みてよい。ステップ４０２において、ファイアウォール１００は、その最初のコンタクトのためのデータメッセージを阻止する。その次に、ステップ４０４において、ファイアウォール１００は、（すなわち、ターゲットとなる装置３０ｂが、ファイアウォールのポリシーに従ってファイアウォール１００を経由して通信することが許可されているということを確認することによって）ターゲット装置３０ｂに対して信用を確立してよい。その次に、ステップ４０６において、ファイアウォール１００は、装置１４ｂからコンタクトが装置１４ｂから試みられているということを装置３０ｂに通知してよい。
【００３６】
ステップ４０８において、装置３０ｂは、（例えば、ＤＳＡまたはＲＳＡ暗号化を使用することによって）装置１４ｂが信用できるソースであることを確認することによって、装置１４ｂに対して信用を確立してよい。その次に、ステップ４１０では、ターゲットとなる装置３０ｂは、ファイアウォール１００から、または、当該装置３０ｂがファイアウォール１００に位置していない場合にはディジタルバトン・セキュリティサブブシステム１２０のロケーションから、ディジタルバトンを要求するであろう。その次に、ステップ４１２において、装置３０ｂは、ディジタルバトンを使用することによって装置１４ｂに対しファイアウォール１００を公開してよい（すなわち、装置３０ｂは、ファイアウォールを経由した通信に使用するために、ディジタルバトンを装置１４ｂに通知する）。その次に、装置３０ｂと装置１４ｂとは、ディジタルバトンを使用して、ファイアウォール１００を経由して自由に通信し合ってよい。
【００３７】
好ましい実施形態の別の態様によって、ファイアウォール１００の内側の装置３０ａ、３０ｂ、４０ａおよび４０ｂがファイアウォール１００に対して信用を確立するために、これらの装置３０ａ、３０ｂ、４０ａおよび４０ｂは、ファイアウォールのポリシーに従ってファイアウォール１００により装置３０ａ、３０ｂ、４０ａ、４０ｂを事前に認証することによって、ファイアウォール１００に対して信用を確立する。あるいは、その代わりに、装置３０ａ、３０ｂ、４０ａおよび４０ｂは、ファイアウォール１００の外側の装置１４ａ、１４ｂ、７０ａおよび７０ｂの１つまたは複数とのコンタクトを確立することの一部分として、ファイアウォール１００によって認証される。その次に、ファイアウォール１００またはディジタルバトン・セキュリティサブシステム１２０は、ファイアウォール１００の内側の装置と外側の装置との間で通信し合うためのディジタルバトンを確立してよい。
【００３８】
図５は、ファイアウォールまたはディジタルバトン・セキュリティシステムからディジタルバトンを供給するための好ましい実施形態の別の態様に従って行われるさらに別の方法を示すデータ流れ図である。
図５を参照すると、データ流れ図が、ファイアウォール１００の内側にある装置３０ａがファイアウォール１００の外側にある装置１４ａからの情報を要求し、かつ、装置７０ａがディジタルバトンを使用して装置３０ａにメッセージを直接送信するように、装置１４ａがサードパーティ装置７０ａにディジタルバトンを送信する場合に、ファイアウォール１００から装置１４ａにディジタルバトンを供給するための、好ましい実施形態の別の態様に従って行われる方法を示す。ステップ５００において、装置１４ａと装置３０ａとは、互いに、前述の方法を使用して、ファイアウォール１００に対してセッションと信用とを確立してよい。ステップ５０２において、ファイアウォール１００は、返答されたメッセージがディジタルバトンを含むと共に、この返答されたメッセージがセッションの一部であり、正当であり、かつ、装置３０ａに送信されることが可能であるということを認定するディジタルバトンを、装置３０ａからのメッセージに付加する。この時点において、装置３０ａと装置１４ａとは、前述したように自由に通信し合ってよい。
【００３９】
しかしながら、装置３０ａに対して情報を供給するように装置１４ａがサードパーティ装置Ｒに要求する場合には、ステップ５０４において、装置１４ａはディジタルバトンをサードパーティ装置７０ａに供給する。このような情報の要求に関する動作は、一連の他のサードパーティを経由して行われてよい。この場合、装置１４ａは装置１４ｂからの情報を要求し、装置１４ｂは装置７０ｂからの情報を要求し、装置７０ａが要求された情報の最後の提供者となるまで、情報の要求が同様に繰り返される。したがって、ディジタルバトンは、情報を提供する連鎖の中の最後のサードパーティ装置７０ａが装置３０ａに情報を直接供給するためにディジタルバトンを使用することができるように、各々のサードパーティ装置に送られる。
【００４０】
ステップ５０６では、ファイアウォール１００が、上記の連鎖の中の最後のサードパーティ装置７０ａからの情報を提供するメッセージを受け取る。このメッセージが装置３０ａに送られた場合には、ステップ５０８において、ディジタルバトン・セキュリティサブシステム１２０が記憶装置１２２内のデータベースにおいてディジタルバトンを探索し、かつ、このディジタルバトンが正当である場合には、ステップ５１０において、ファイアウォールが当該メッセージを装置３０ａに送る。
【００４１】
前述したように、ディジタルバトンは英数字コードを含んでよい。好ましい実施形態の別の態様では、ディジタルバトンは、ファイアウォールにより保護されている装置（例えば３０ａ）とファイアウォールの外側の装置（例えば１４ａ）とが確立するセッションに対して固有である数列である。この数列は、個々の具体例に応じて様々な方法で生成されることが可能である。例えば、一実施形態では、バトン・セキュリティサブシステム１２０は、ファイアウォール１００が認識する各パケットに割り当てられる臨時的なディジタルバトンを生成してよい。新たな臨時的なディジタルバトンが、各パケット毎に生成されてよい。
【００４２】
別の実施形態では、数列は、セッションを示すための乱数として生成されることが可能である。この乱数は、同一の値を再生成する可能性が無視できるほど小さいように、充分に大きい。記憶領域１２２内の前述のようなデータベース内では、セッションがファイアウォール１００により終了させられる前のセッションの最大長さ、または、非活性のセッションが終了させられる前の時間の長さを示すために、セッションの持続時間（lifetime）が各々のセッションレコードに割り当てられる。
【００４３】
別の実施形態では、数列が各々の新たなセッション毎に単調に増加する。ファイアウォール１００は、記憶領域１２２に関して前述した現時点で正当であるバトン番号のリストを維持する。このバトン番号は、最大値に達すると反復または一巡してよい。さらに、このバトン番号は、ＴＣＰ／ＩＰプロトコルで使用されるようなフローティングウィンドウによって制御されてよい。このフローティングウィンドウは時間の経過と共に移動し、かつ、このフローティングウィンドウ内の番号だけが有効であると見なされる。
【００４４】
最後に、別の実施形態では、ディジタルバトンは、例えばＲＳＡアルゴリズムを使用して、機密保護のために暗号化されてよい。ファイアウォールだけが、このようにして暗号化されたバトンを解読することが可能であり、それゆえに、ファイアウォール１００の外側の電子装置１４ａ、１４ｂ、７０ａおよび７０ｂは上記ディジタルバトンの実際の値を認識していない。暗号化されたバトンは、ファイアウォール１００の内側の適切な電子装置３０ａ、３０ｂ、４０ａおよび４０ｂに対して情報を供給するために、必要に応じて１つの電子装置からその次の電子装置に単に転送されるだけである。ファイアウォール１００がディジタルバトンを含むメッセージを受け取ると、このディジタルバトンは、その値を復元するために解読され、かつ、そのメッセージが記憶領域１２２のデータベース内の使用を認証される。あるいは、その代わりに、ＤＳＡアルゴリズムが使用されてもよく、この場合には、ディジタルバトンのハッシュ値のみが、メッセージが受け取られたときに認証のために記憶領域１２２内に記憶される。
【００４５】
以上のように、幾つかの好ましい例示的な実施形態が例示され説明されてきたが、本発明の精神および範囲から逸脱することなく様々な変形が加えられることが可能であるということが、前述の内容から明らかであろう。したがって、本願明細書では、上記のような好ましい例示的な実施形態の詳細な説明によって本発明が限定されることは意図されていない。
【図面の簡単な説明】
【００４６】
【図１】メッセージのフィルタリングを行うためのファイアウォールまたはゲートウェイからディジタルバトンを供給するためのシステムおよび方法の例示的な実施形態によるファイアウォールまたはゲートウェイシステムを示すブロック図である。
【図２】ファイアウォールまたはディジタルバトン・セキュリティシステムからディジタルバトンを供給するための好ましい例示的な実施形態の１つの態様において行われる方法の各々のステップを示す流れ図である。
【図３】着信データパケットを検査するためにディジタルバトン・セキュリティシステムによって行われる方法を示すデータ流れ図である。
【図４】ファイアウォールまたはディジタルバトン・セキュリティシステムからディジタルバトンを供給するための好ましい実施形態の別の態様に従って行われる別の方法を示すデータ流れ図である。
【図５】ファイアウォールまたはディジタルバトン・セキュリティシステムからディジタルバトンを供給するための好ましい実施形態の別の態様に従って行われるさらに別の方法を示すデータ流れ図である。
【図１】
2006216014.tif 000003
【図２】
2006216014.tif 000004
【図３】
2006216014.tif 000005
【図４】
2006216014.tif 000006
【図５】
2006216014.tif 000007
【外国語明細書】
2006216014000001.pdf