アクセス制御のための方法、装置、およびコンピュータ・プログラム
【課題】パブリッシュ/サブスクライブ・メッセージ・ブローカへのアクセスを制御するための方法、装置、およびコンピュータ・プログラムを提供すること。
【解決手段】メッセージ・ブローカにより提供されるパブリッシュ/サブスクライブ機能は、機能セットへと分割される。各機能セットは、通信経路と関連付けられる。要求は、メッセージ・ブローカで受信される。要求は、複数の通信経路の1つを介してメッセージ・ブローカに到来し、メッセージ・ブローカによって提供されるパブリッシュ機能またはサブスクライブ機能へのアクセスを要求する。どの通信経路が使用されるかが判定され、また要求された機能は、どの機能セットの一部分であるかが識別される。次いで、識別された機能セットが、使用される通信経路と関連付けられているかどうかが判定され、その結果が肯定的である場合、要求されたパブリッシュ機能またはサブスクライブ機能へのアクセスが提供される。
【解決手段】メッセージ・ブローカにより提供されるパブリッシュ/サブスクライブ機能は、機能セットへと分割される。各機能セットは、通信経路と関連付けられる。要求は、メッセージ・ブローカで受信される。要求は、複数の通信経路の1つを介してメッセージ・ブローカに到来し、メッセージ・ブローカによって提供されるパブリッシュ機能またはサブスクライブ機能へのアクセスを要求する。どの通信経路が使用されるかが判定され、また要求された機能は、どの機能セットの一部分であるかが識別される。次いで、識別された機能セットが、使用される通信経路と関連付けられているかどうかが判定され、その結果が肯定的である場合、要求されたパブリッシュ機能またはサブスクライブ機能へのアクセスが提供される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はアクセス制御に関する。
【背景技術】
【0002】
サーバは、各ネットワークが特定タイプのデバイスをそのサーバに接続する2つ以上のネットワークに接続されることが多い。図1は、SCADA(監視制御データ収集)システム10の一例を示す。デバイス30、40、および50は、石油パイプライン20に接続される。それらは、例えば、石油の流量および温度などの情報を監視する感知デバイスとすることができる。それらは、ネットワーク60を介してメッセージ・ブローカ70に情報を公開(publish)する。メッセージ・ブローカ70は、第1のネットワーク・アダプタ・カードを介してこのネットワークに接続され、また第2のネットワーク・アダプタ・カードを介して、デバイス80、85、および90を含む企業イントラネット95にも接続される(アダプタ・カードはいずれも図に示されていない)。このようなデバイスは、公開するデバイスから情報を受信するように承認(subscribe)し、またこのような情報を使用して石油パイプラインのオペレーションを監視する。
【0003】
図2に示すように、メッセージ・ブローカ70は、いわゆる「非武装地帯」(DMZ)ネットワーク100中に位置することができる。このゾーンは、外部ネットワーク(例えば、インターネット)と内部ネットワーク(例えば、企業イントラネット)の間の緩衝域として働く。外部および内部ネットワーク上のマシンは共に、DMZ内のサーバに接続されるが、ファイアウォール110、120により制御された特定のポートでのみ接続され得る。SCADAアプリケーションに対して使用される公開/承認メッセージ・ブローカの場合では、インターネットから接続されるマシンは、例として、データを公開し、また企業イントラネットから接続されるマシンは、例として、その到来するデータを承認することができる。ブローカは、ブローカとそのサブスクライバの間で、事前に確立された接続を介してこのような情報を送信することになる。DMZは、インターネット接続されたマシンが、DMZ内のどのIPアドレスおよびポートに接続できるかを判定するパケット・フィルタ(ファイアウォール)110を入口に有することができる。メッセージ・ブローカと企業ネットワークの間にもまた、同様の設定120がある。
【0004】
したがって、マシンとのトラフィックを規制するファイアウォールが既知であることを理解されたい。ファイアウォールは、数多くのタイプのものとすることができる。例えば、ネットワーク・レイヤのファイアウォールは、ソースもしくは宛先IPアドレス、およびソースもしくは宛先ポート、ならびにプロトコル・タイプに基づいて、トラフィックをフィルタするように構成することができる。アプリケーション・レイヤのファイアウォールも知られており、これらは、特定のアプリケーションとのトラフィックをフィルタするために使用することができる。それらは、例えば、不適切なコンテンツがウェブ・ページで表示されるのを阻止するために使用することができる。
【0005】
しかし、ファイアウォールは、完全なセキュリティ・ソリューションの一部に過ぎない。他のアクセス制御機構もまた、当技術分野でよく知られている。例えば、VPN(仮想私設網)は、信頼されるユーザに一般のユーザには利用できない資源へのアクセスを提供する。公開/承認領域のACL(アクセス制御リスト)は、特定のトピックに関してどのユーザが公開できるか、また特定のトピックをどのユーザが承認できるかを判定するために使用することができる。同様に、特定のマシンまたはアプリケーションへのアクセスは、特定のアクセス・ポートを介してのみ可能となり得る。
【0006】
サーバが1つのネットワークだけを介してアクセスされる場合も、セキュリティがやはり問題になる。
【発明の開示】
【発明が解決しようとする課題】
【0007】
1つのサーバが、異なるデバイスによってアクセスされる状況に対処する、改善されたセキュリティ機構が業界で求められている。サーバは、1つのネットワークだけに、あるいは複数のネットワークに接続され得るが、各ネットワーク上のデバイスは、そのサーバにアクセスしようと試みる。
【課題を解決するための手段】
【0008】
第1の態様によると、公開/承認メッセージ・ブローカへのアクセスを制御するための方法が提供され、本方法は、
メッセージ・ブローカにより提供される公開/承認機能を機能セットに分割するステップと、
各機能セットを通信経路と関連付けるステップと、
複数の通信経路の1つを介してメッセージ・ブローカに到来し、かつメッセージ・ブローカにより提供される公開機能または承認機能へのアクセスを要求する要求を、メッセージ・ブローカで受信するステップと、
どの通信経路が使用されるかを判定するステップと、
要求された機能が、どの機能セットの一部分であるか識別するステップと、
識別された機能セットが、使用される通信経路と関連付けられているかどうかを判定するステップと、
識別された機能セットが、使用される通信経路と関連付けられていると判定されたのに応じて、要求される公開機能または承認機能へのアクセスを提供するステップと
を含む。
【0009】
一実施形態では、メッセージ・ブローカにアクセスするために、どのポートが使用されるかが判定され、次いで、識別された機能セットが、ブローカにアクセスするために使用されるポートと関連付けられているかどうかが判定される。
【0010】
一実施形態では、どの通信ネットワークから要求が生成されたかが判定され、次いで、識別された機能セットが、要求が生成された通信ネットワークと関連付けられているかどうかが判定される。
【0011】
一実施形態では、要求が生成された通信ネットワークが、ネットワーク部分およびホスト部分を含むアドレスにより識別可能である。この実施形態では、識別された機能セットが関連付けられている通信ネットワークはまた、少なくともネットワーク部分によって識別可能である。識別された機能セットが、要求が生成された通信ネットワークと関連付けられているかどうか判定するために、要求が生成された通信ネットワークのネットワーク部分が、識別された機能セットが関連付けられている通信ネットワークのネットワーク部分と比較される。
【0012】
一実施形態では、両方の通信ネットワークのネットワーク部分が同じかどうか判定するために、サブネット・マスクが使用される。
【0013】
一実施形態では、ブローカに接続するための要求が受信される。これは、接続要求に対して接続オブジェクトが作成される結果となる。接続オブジェクト内に含まれる情報が次いで使用されて、同じリクエスタからの任意の将来の要求がそれを介して到来する通信ネットワークを決定する。
【0014】
一実施形態では、識別された機能セットが、使用される通信経路と関連付けられていないと判定された場合、要求は廃棄される。リクエスタは、要求が許容されなかったことをリクエスタに通知することができる。
【0015】
一実施形態では、データベース機能を求める要求がそれを介して到来する通信経路に基づいて、データベースにより提供される機能へのアクセスが提供される。
【0016】
他の態様によると、公開/承認メッセージ・ブローカへのアクセスを制御するための装置が提供され、その装置は、
メッセージ・ブローカにより提供される公開/承認機能を機能セットへと分割する手段と、
各機能セットを、通信経路と関連付ける手段と、
複数の通信経路の1つを介してメッセージ・ブローカに到来し、かつメッセージ・ブローカにより提供される公開機能または承認機能へのアクセスを要求する要求を、メッセージ・ブローカで受信する手段と、
どの通信経路が使用されるかを判定する手段と、
要求される機能が、どの機能セットの一部分であるか識別する手段と、
識別された機能セットが、使用される通信経路と関連付けられているかどうかを判定する手段と、
識別された機能セットが、使用される通信経路と関連付けられていると判定されたのに応じて、要求された公開機能または承認機能へのアクセスを提供する手段と
を備える。
【0017】
本発明は、コンピュータ・ソフトウェアで実施することができる。
【0018】
本発明の好ましい実施形態を、例示のためだけであるが、添付の図面を参照して次に説明する。
【発明を実施するための最良の形態】
【0019】
デバイスのネットワーク位置に基づいて、サーバにより提供される機能へのデバイス・アクセスを制御するための機構が開示される。
【0020】
本発明は、図3から図11を参照し、好ましい実施形態に従って説明する。図は、互いに関連させて読むべきである。
【0021】
メッセージ・ブローカ70により提供される何らかの機能を実施するための要求は、ステップ400(図10)で受信される。要求は、ブローカの接続ポート(例えば、ネットワーク9.2.x.x上のIPアドレス9.2.3.4を有するポート1883)で受信される。このような要求のフォーマットが図5に示されている。要求は、そのフォーマットに対して2つの部分を有する。すなわち、ネットワーク情報部分300、および要求情報部分310である。部分310は、
i)ユーザID
ii)メッセージ・ブローカで、ブローカ提供機能にマップする機能コード。このような機能は、コンポーネント230により提供される。
iii)メッセージ長さ
iv)QoS(サービス品質)およびメッセージ優先順位などの情報に関係し得るフラグ
v)メッセージ・トピック
vi)メッセージの主ペイロード
などの情報を含む。
【0022】
ネットワーク情報部分300は、
i)ソースIPアドレス
ii)ソース・ポート
iii)宛先アドレス
iv)宛先ポート
v)使用されるプロトコルの識別子(例えば、TCPまたはUDP)
などのより低いレベルの情報を含む。
【0023】
これらのエレメントは、プロトコル・ヘッダの一部である。要求デバイスは、必ずしも、ブローカが接続されているネットワークと同じネットワーク上にある必要がなく、したがって、IPソース・アドレスは、完全に異なるものであり得ることに留意されたい。
【0024】
ステップ410で、新しく受信された要求が接続要求であると判定された場合、図6で示す接続オブジェクト320(本質的に、状態情報)を作成する(ステップ420で)ためには、ユーザIDと共にネットワーク情報が使用される。この接続オブジェクトは、受信接続ポートに記憶される。各接続オブジェクトはまた、それと関連付けられたソケットIDを有する。
【0025】
いずれにしても、処理はステップ430に達し、接続ポートは、その要求をブローカ・インターフェース220への経路で(on its way to)送る。ブローカ・インターフェースは、ブローカ70により提供される機能230に対するコールを行うために使用される。ステップ440で、要求は、インターセプタ200により、具体的には、インターセプト・コンポーネント270により、ブローカ・インターフェースへの経路上でインターセプトされる。接続情報コンポーネント240は、ステップ450で、インターセプトされた要求に対する接続情報がローカルで利用できるかどうかを判定する。これが、現在の接続セッションに対して、この特定のクライアントから受ける最初の要求である場合、ローカルに利用可能な接続情報は何もないことになる。その場合、その要求が生成された接続ポートに、その要求に関連する接続オブジェクトを要求する(ステップ460)。受信された接続オブジェクトは、次いで、将来の要求で使用するために、インターセプタ・コンポーネントでローカルに記憶される(図示せず)。他の実施形態では、単に、接続情報を、要求ごとに接続ポートに要求することもできる。
【0026】
ステップ470で、要求されたオペレーションが、特定の要求デバイスに対して許可されるかどうか判定するために、(図7および図8で示された)ユーザ・プロファイルおよび機能テーブル情報330、340が(照会コンポーネント250を用いて)照会される。
【0027】
機能テーブル330は、コンポーネント230(図3)によって提供されるブローカ機能を一覧表示する。したがって、デバイスは、例示のためだけであるが、以下のオペレーションを要求することができる。
i)接続する
ii)切断する
iii)公開する
iv)ackを公開する(Publish_ack)(サブスクライバがメッセージの受領を確認応答することができる)
v)リリースを公開する(Publish_release)(パブリッシャは、一度限りのメッセージをリリースすることができる)
vi)完了を公開する(Publish_complete)(サブスクライバは、一度限りのメッセージの完了を確認することができる)
vii)承認する
【0028】
要求メッセージの機能コードはそれぞれ、上記オペレーションの1つに対して、テーブルによりマップされる。
【0029】
デバイスは、任意の機能を要求することができるが、好ましい実施形態によれば、デバイスのネットワーク位置が、要求されたオペレーションをブローカが実際に実行するかどうかに対して影響を与える。機能テーブル330の第3列は、各オペレーションに対して許可されたユーザのユーザ・プロファイルを示す。したがって、タイプ2のユーザだけがメッセージを公開することができるが、一方、タイプ1のユーザだけが承認オペレーションを要求することができる。したがって、事実上、メッセージ・ブローカのアプリケーション機能は、特定タイプのユーザだけが各機能セットへのアクセス権を有する機能セットに分割される。これは、図9でベン図により示される。この図から、以下の機能が、機能セット1の一部であることが分かるはずである。
i)ackを公開する(Publish_ack)
ii)完了を公開する(Publish_complete)
iii)承認する
iv)接続する
v)切断する
【0030】
機能セット2には以下のものがある。
i)公開する
ii)リリースを公開する(Publish_release)
iii)接続する
iv)切断する
【0031】
2つの機能セットだけが示されており、また各セットには複数の機能があるが、これはそうである必要はない。2を超える機能セットとすることができる。さらに、機能セットは1つの機能を有するだけでもよい。
【0032】
ユーザ・プロファイル・テーブル340は、タイプ2のユーザと比較したとき、タイプ1のユーザが何を意味するかを定義する。図のテーブルは、要求デバイスがブローカにより提供される機能にアクセスできるかどうかを判定する場合、関連する情報が、指定されたNet ID(ネットワークID)/サブネット・マスクの対と、ブローカがそれを介してアクセスされる宛先ポートと、要求ユーザ名とであることを定義している。ユーザ・プロファイル中のいくつかのエントリは、ワイルドカード化され得ることが、図から理解できる。言い換えると、プロファイル1のユーザが誰であるかは問題ではない。
【0033】
図11の処理に戻って参照すると、照会コンポーネント250は、インターセプトされたメッセージの要求情報部分から機能コードを抽出する。これは、ユーザから要求されるオペレーション、およびこのようなオペレーションを実施することが許可されるユーザ・タイプを、機能テーブル330から決定するために使用される。例として、機能7が要求される。これは、機能テーブル中で、タイプ1のユーザだけに許可される公開オペレーションにマップされている。次いで、プロファイル・テーブル340がアクセスされて、タイプ1のユーザに必要な特性が決定される。論理的なAND演算が、要求のソースIPアドレス(例えば、10.0.56.77)とサブネット・マスク(例えば、255.255.0.0)の間で行われる。IPアドレスは、通常、Net ID(すなわち、ネットワーク部分)およびノードID(すなわち、ホスト/マシン部分)から構成される。AND演算が実施されて、ソースIPアドレスからNet ID部分(この場合10.0)が抽出される。次いで、それを、プロファイル中で指定されたNet IDと比較することができる。(フル・アドレスである10.0.0.0をプロファイル中で指定することもできるが、この実施形態での関連する(Net ID)部分は10.0であり、代替の実施形態では、ネットワーク部分だけがプロファイル中で指定されることに留意されたい。)ソースIPアドレスから抽出されたNet IDが、プロファイル中で指定されたNet ID部分に一致する場合、プロファイルのこの部分はマッチされる。言い換えると、要求は、適切なサブネットから来ている。この例ではマッチがあり、その結果、適切なIPアドレス範囲から要求が来ていることになる。しかし、特定のポートを介してブローカにアクセスすることが必要になる可能性もあるが、その場合もやはり、これが検査される。ステップ460で要求された接続オブジェクトは(すでに、よりローカルに利用可能でなければ)、要求ソースIPアドレス、宛先ポートなどを決定するのに使用できることに留意されたい。したがって、テーブル中の各列に対して、関連する接続オブジェクトから値を取得することができる。いくつかの自動化されたルールを適用することができる。例えば、ユーザ名フィールドは、その中にワイルドカードを有する。その結果、接続オブジェクトからこの値を取得する必要がなくなる。同様に、ソースIPアドレスが取得され、デバイスがこの特性を満たしていないと判定された場合、他の列に対して値を取得する必要はなくなる。
【0034】
ユーザ・プロファイル・テーブルの列は、例示のためだけに過ぎないことに留意されたい。重要な点は、アプリケーション機能へのユーザのアクセスが、ユーザのネットワーク位置に関連する1つまたは複数の特性に基づいて制御されていることである。
【0035】
要求メッセージ、したがって、要求メッセージから作成される接続オブジェクトは、ソースIPアドレスが、ユーザ・プロファイル中で指定されるNet IDとサブネット・マスクの組合せにより定義される範囲内に含まれるかどうかを指定しないことが図5および図6から理解されよう。しかし、その要求のソースIPアドレスと、指定されたNet ID/サブネットの組合せの比較は、それがその範囲に存在するかどうかを判定することになる(上記を参照)。サブネットおよびサブネット・マスクは、当技術分野ですでによく知られたトピックであり、したがって、本明細書で詳細をさらに述べないものとする。
【0036】
照会ステップ470から得られた情報は、ゲート・キーパ260に渡される。言い換えると、要求が必要な基準を満たしているかどうかにかかわらず渡される。ゲート・キーパ260は、次いで、このような情報を用いて、要求が許容可能であるかどうか判定する(ステップ480)。要求が必要な基準を満たしていなかった場合(例えば、要求が、関連するプロファイル情報中で指定されたものとは異なるサブネットから生成されている場合)、ステップ490で要求は廃棄される。これは、要求が単に実行されないことを意味することもできるが、より一般的に、要求が許容されていないことを要求デバイスに通知することを含むこともできる。
【0037】
他方で、ステップ480で、要求が許容可能であると見なされた場合、ゲート・キーパ260は、要求をブローカ・インターフェース220に渡し、それを介して、適切なオペレーション(この例では、公開)を要求することができる。これ以降、メッセージ・ブローカの機能は、当技術分野でよく知られた方法で動作する。
【0038】
要約すると、サーバのアプリケーション・レベルのプロトコルは、機能によりセットへとセグメント化される。これらのセットのそれぞれは、次いで、この機能セットにアクセスするための要件を記述するプロファイルと関連付けられる。図1の例に戻って参照すると、このような発明は、SCADAタイプの環境で非常に効果的に使用することができる。繰り返すと、このような環境では、センサは外部ネットワークを介してメッセージ・ブローカにアクセスできるが、一方、モニタは内部ネットワークを介してメッセージ・ブローカにアクセスすることができる。このような設定では、モニタに公開させること、および情報を受信するようにセンサに承認させることは望ましくない可能性がある。すべてのデバイスのユーザIDおよびそのアクセス許可を一覧表示にする必要があるのではなく、要求デバイスのネットワーク位置に基づくことにより、アクセス制御を実施することが可能になる。
【0039】
上記で示したように、アクセス制御の実施において、ソースIPアドレス、サブネット、宛先ポート、およびユーザID情報の使用は、例示的なものに過ぎない。例えば、それ自体の宛先ポートを使用することができる。その場合、本発明の機能は、ファイアウォール技術(例えば、図2のパケット・フィルタ110、120)中に構築され得る。現在のファイアウォールを使用してポート・アクセスを制限することはすでに知られている。しかし、このようなファイアウォール技術は、特定のポートを介して要求できるオペレーション・タイプを指定するように拡張され得る。
【0040】
最後に、上述の実施形態は、2つ以上のネットワークに接続されたサーバに関して参照を行っているが、本発明はそのように限定されることはない。例えば、デバイスは、単一のネットワークを介してサーバにアクセスすることができる。サーバは、単一のネットワーク上の複数のポートで待ち受ける(listen)ことができる。ファイアウォールを、どのソースIPアドレス範囲が、サーバ上のどのポートにアクセスすることが許容されているかを制御するために使用することができ、その場合、照会コンポーネントは、その意志決定において、ポート番号を検討する必要があるだけである。代替的には、ソースIPアドレス範囲およびポートをプロファイル中で指定することもでき、また照会コンポーネントは、妥当性検証を行うこともできる。
【図面の簡単な説明】
【0041】
【図1】従来技術による、外部と内部ネットワークの両方に接続されたサーバを示す図である。
【図2】従来技術による、非武装地帯(DMZ)ネットワーク中に位置する図1のサーバを示す図である。
【図3】好ましい実施形態による、本発明の構成部品を示す図である。
【図4】好ましい実施形態による、本発明の構成部品を示す図である。
【図5】本発明の好ましい実施形態による、図1のサーバで受信されるメッセージのフォーマットを示す図である。
【図6】本発明の好ましい実施形態による、デバイスが図1のサーバに接続されたときに作成される接続オブジェクトのフォーマットを示す図である。
【図7】本発明の好ましい実施形態による、ユーザ・プロファイルに、サーバのアプリケーション機能をマッピングした表形式の情報を示す図である。
【図8】本発明の好ましい実施形態による、ユーザ・プロファイルに、サーバのアプリケーション機能をマッピングした表形式の情報を示す図である。
【図9】例示的な実施形態で提供される機能セットのベン図である。
【図10】好ましい実施形態による本発明の処理を示す図である。
【図11】好ましい実施形態による本発明の処理を示す図である。
【技術分野】
【0001】
本発明はアクセス制御に関する。
【背景技術】
【0002】
サーバは、各ネットワークが特定タイプのデバイスをそのサーバに接続する2つ以上のネットワークに接続されることが多い。図1は、SCADA(監視制御データ収集)システム10の一例を示す。デバイス30、40、および50は、石油パイプライン20に接続される。それらは、例えば、石油の流量および温度などの情報を監視する感知デバイスとすることができる。それらは、ネットワーク60を介してメッセージ・ブローカ70に情報を公開(publish)する。メッセージ・ブローカ70は、第1のネットワーク・アダプタ・カードを介してこのネットワークに接続され、また第2のネットワーク・アダプタ・カードを介して、デバイス80、85、および90を含む企業イントラネット95にも接続される(アダプタ・カードはいずれも図に示されていない)。このようなデバイスは、公開するデバイスから情報を受信するように承認(subscribe)し、またこのような情報を使用して石油パイプラインのオペレーションを監視する。
【0003】
図2に示すように、メッセージ・ブローカ70は、いわゆる「非武装地帯」(DMZ)ネットワーク100中に位置することができる。このゾーンは、外部ネットワーク(例えば、インターネット)と内部ネットワーク(例えば、企業イントラネット)の間の緩衝域として働く。外部および内部ネットワーク上のマシンは共に、DMZ内のサーバに接続されるが、ファイアウォール110、120により制御された特定のポートでのみ接続され得る。SCADAアプリケーションに対して使用される公開/承認メッセージ・ブローカの場合では、インターネットから接続されるマシンは、例として、データを公開し、また企業イントラネットから接続されるマシンは、例として、その到来するデータを承認することができる。ブローカは、ブローカとそのサブスクライバの間で、事前に確立された接続を介してこのような情報を送信することになる。DMZは、インターネット接続されたマシンが、DMZ内のどのIPアドレスおよびポートに接続できるかを判定するパケット・フィルタ(ファイアウォール)110を入口に有することができる。メッセージ・ブローカと企業ネットワークの間にもまた、同様の設定120がある。
【0004】
したがって、マシンとのトラフィックを規制するファイアウォールが既知であることを理解されたい。ファイアウォールは、数多くのタイプのものとすることができる。例えば、ネットワーク・レイヤのファイアウォールは、ソースもしくは宛先IPアドレス、およびソースもしくは宛先ポート、ならびにプロトコル・タイプに基づいて、トラフィックをフィルタするように構成することができる。アプリケーション・レイヤのファイアウォールも知られており、これらは、特定のアプリケーションとのトラフィックをフィルタするために使用することができる。それらは、例えば、不適切なコンテンツがウェブ・ページで表示されるのを阻止するために使用することができる。
【0005】
しかし、ファイアウォールは、完全なセキュリティ・ソリューションの一部に過ぎない。他のアクセス制御機構もまた、当技術分野でよく知られている。例えば、VPN(仮想私設網)は、信頼されるユーザに一般のユーザには利用できない資源へのアクセスを提供する。公開/承認領域のACL(アクセス制御リスト)は、特定のトピックに関してどのユーザが公開できるか、また特定のトピックをどのユーザが承認できるかを判定するために使用することができる。同様に、特定のマシンまたはアプリケーションへのアクセスは、特定のアクセス・ポートを介してのみ可能となり得る。
【0006】
サーバが1つのネットワークだけを介してアクセスされる場合も、セキュリティがやはり問題になる。
【発明の開示】
【発明が解決しようとする課題】
【0007】
1つのサーバが、異なるデバイスによってアクセスされる状況に対処する、改善されたセキュリティ機構が業界で求められている。サーバは、1つのネットワークだけに、あるいは複数のネットワークに接続され得るが、各ネットワーク上のデバイスは、そのサーバにアクセスしようと試みる。
【課題を解決するための手段】
【0008】
第1の態様によると、公開/承認メッセージ・ブローカへのアクセスを制御するための方法が提供され、本方法は、
メッセージ・ブローカにより提供される公開/承認機能を機能セットに分割するステップと、
各機能セットを通信経路と関連付けるステップと、
複数の通信経路の1つを介してメッセージ・ブローカに到来し、かつメッセージ・ブローカにより提供される公開機能または承認機能へのアクセスを要求する要求を、メッセージ・ブローカで受信するステップと、
どの通信経路が使用されるかを判定するステップと、
要求された機能が、どの機能セットの一部分であるか識別するステップと、
識別された機能セットが、使用される通信経路と関連付けられているかどうかを判定するステップと、
識別された機能セットが、使用される通信経路と関連付けられていると判定されたのに応じて、要求される公開機能または承認機能へのアクセスを提供するステップと
を含む。
【0009】
一実施形態では、メッセージ・ブローカにアクセスするために、どのポートが使用されるかが判定され、次いで、識別された機能セットが、ブローカにアクセスするために使用されるポートと関連付けられているかどうかが判定される。
【0010】
一実施形態では、どの通信ネットワークから要求が生成されたかが判定され、次いで、識別された機能セットが、要求が生成された通信ネットワークと関連付けられているかどうかが判定される。
【0011】
一実施形態では、要求が生成された通信ネットワークが、ネットワーク部分およびホスト部分を含むアドレスにより識別可能である。この実施形態では、識別された機能セットが関連付けられている通信ネットワークはまた、少なくともネットワーク部分によって識別可能である。識別された機能セットが、要求が生成された通信ネットワークと関連付けられているかどうか判定するために、要求が生成された通信ネットワークのネットワーク部分が、識別された機能セットが関連付けられている通信ネットワークのネットワーク部分と比較される。
【0012】
一実施形態では、両方の通信ネットワークのネットワーク部分が同じかどうか判定するために、サブネット・マスクが使用される。
【0013】
一実施形態では、ブローカに接続するための要求が受信される。これは、接続要求に対して接続オブジェクトが作成される結果となる。接続オブジェクト内に含まれる情報が次いで使用されて、同じリクエスタからの任意の将来の要求がそれを介して到来する通信ネットワークを決定する。
【0014】
一実施形態では、識別された機能セットが、使用される通信経路と関連付けられていないと判定された場合、要求は廃棄される。リクエスタは、要求が許容されなかったことをリクエスタに通知することができる。
【0015】
一実施形態では、データベース機能を求める要求がそれを介して到来する通信経路に基づいて、データベースにより提供される機能へのアクセスが提供される。
【0016】
他の態様によると、公開/承認メッセージ・ブローカへのアクセスを制御するための装置が提供され、その装置は、
メッセージ・ブローカにより提供される公開/承認機能を機能セットへと分割する手段と、
各機能セットを、通信経路と関連付ける手段と、
複数の通信経路の1つを介してメッセージ・ブローカに到来し、かつメッセージ・ブローカにより提供される公開機能または承認機能へのアクセスを要求する要求を、メッセージ・ブローカで受信する手段と、
どの通信経路が使用されるかを判定する手段と、
要求される機能が、どの機能セットの一部分であるか識別する手段と、
識別された機能セットが、使用される通信経路と関連付けられているかどうかを判定する手段と、
識別された機能セットが、使用される通信経路と関連付けられていると判定されたのに応じて、要求された公開機能または承認機能へのアクセスを提供する手段と
を備える。
【0017】
本発明は、コンピュータ・ソフトウェアで実施することができる。
【0018】
本発明の好ましい実施形態を、例示のためだけであるが、添付の図面を参照して次に説明する。
【発明を実施するための最良の形態】
【0019】
デバイスのネットワーク位置に基づいて、サーバにより提供される機能へのデバイス・アクセスを制御するための機構が開示される。
【0020】
本発明は、図3から図11を参照し、好ましい実施形態に従って説明する。図は、互いに関連させて読むべきである。
【0021】
メッセージ・ブローカ70により提供される何らかの機能を実施するための要求は、ステップ400(図10)で受信される。要求は、ブローカの接続ポート(例えば、ネットワーク9.2.x.x上のIPアドレス9.2.3.4を有するポート1883)で受信される。このような要求のフォーマットが図5に示されている。要求は、そのフォーマットに対して2つの部分を有する。すなわち、ネットワーク情報部分300、および要求情報部分310である。部分310は、
i)ユーザID
ii)メッセージ・ブローカで、ブローカ提供機能にマップする機能コード。このような機能は、コンポーネント230により提供される。
iii)メッセージ長さ
iv)QoS(サービス品質)およびメッセージ優先順位などの情報に関係し得るフラグ
v)メッセージ・トピック
vi)メッセージの主ペイロード
などの情報を含む。
【0022】
ネットワーク情報部分300は、
i)ソースIPアドレス
ii)ソース・ポート
iii)宛先アドレス
iv)宛先ポート
v)使用されるプロトコルの識別子(例えば、TCPまたはUDP)
などのより低いレベルの情報を含む。
【0023】
これらのエレメントは、プロトコル・ヘッダの一部である。要求デバイスは、必ずしも、ブローカが接続されているネットワークと同じネットワーク上にある必要がなく、したがって、IPソース・アドレスは、完全に異なるものであり得ることに留意されたい。
【0024】
ステップ410で、新しく受信された要求が接続要求であると判定された場合、図6で示す接続オブジェクト320(本質的に、状態情報)を作成する(ステップ420で)ためには、ユーザIDと共にネットワーク情報が使用される。この接続オブジェクトは、受信接続ポートに記憶される。各接続オブジェクトはまた、それと関連付けられたソケットIDを有する。
【0025】
いずれにしても、処理はステップ430に達し、接続ポートは、その要求をブローカ・インターフェース220への経路で(on its way to)送る。ブローカ・インターフェースは、ブローカ70により提供される機能230に対するコールを行うために使用される。ステップ440で、要求は、インターセプタ200により、具体的には、インターセプト・コンポーネント270により、ブローカ・インターフェースへの経路上でインターセプトされる。接続情報コンポーネント240は、ステップ450で、インターセプトされた要求に対する接続情報がローカルで利用できるかどうかを判定する。これが、現在の接続セッションに対して、この特定のクライアントから受ける最初の要求である場合、ローカルに利用可能な接続情報は何もないことになる。その場合、その要求が生成された接続ポートに、その要求に関連する接続オブジェクトを要求する(ステップ460)。受信された接続オブジェクトは、次いで、将来の要求で使用するために、インターセプタ・コンポーネントでローカルに記憶される(図示せず)。他の実施形態では、単に、接続情報を、要求ごとに接続ポートに要求することもできる。
【0026】
ステップ470で、要求されたオペレーションが、特定の要求デバイスに対して許可されるかどうか判定するために、(図7および図8で示された)ユーザ・プロファイルおよび機能テーブル情報330、340が(照会コンポーネント250を用いて)照会される。
【0027】
機能テーブル330は、コンポーネント230(図3)によって提供されるブローカ機能を一覧表示する。したがって、デバイスは、例示のためだけであるが、以下のオペレーションを要求することができる。
i)接続する
ii)切断する
iii)公開する
iv)ackを公開する(Publish_ack)(サブスクライバがメッセージの受領を確認応答することができる)
v)リリースを公開する(Publish_release)(パブリッシャは、一度限りのメッセージをリリースすることができる)
vi)完了を公開する(Publish_complete)(サブスクライバは、一度限りのメッセージの完了を確認することができる)
vii)承認する
【0028】
要求メッセージの機能コードはそれぞれ、上記オペレーションの1つに対して、テーブルによりマップされる。
【0029】
デバイスは、任意の機能を要求することができるが、好ましい実施形態によれば、デバイスのネットワーク位置が、要求されたオペレーションをブローカが実際に実行するかどうかに対して影響を与える。機能テーブル330の第3列は、各オペレーションに対して許可されたユーザのユーザ・プロファイルを示す。したがって、タイプ2のユーザだけがメッセージを公開することができるが、一方、タイプ1のユーザだけが承認オペレーションを要求することができる。したがって、事実上、メッセージ・ブローカのアプリケーション機能は、特定タイプのユーザだけが各機能セットへのアクセス権を有する機能セットに分割される。これは、図9でベン図により示される。この図から、以下の機能が、機能セット1の一部であることが分かるはずである。
i)ackを公開する(Publish_ack)
ii)完了を公開する(Publish_complete)
iii)承認する
iv)接続する
v)切断する
【0030】
機能セット2には以下のものがある。
i)公開する
ii)リリースを公開する(Publish_release)
iii)接続する
iv)切断する
【0031】
2つの機能セットだけが示されており、また各セットには複数の機能があるが、これはそうである必要はない。2を超える機能セットとすることができる。さらに、機能セットは1つの機能を有するだけでもよい。
【0032】
ユーザ・プロファイル・テーブル340は、タイプ2のユーザと比較したとき、タイプ1のユーザが何を意味するかを定義する。図のテーブルは、要求デバイスがブローカにより提供される機能にアクセスできるかどうかを判定する場合、関連する情報が、指定されたNet ID(ネットワークID)/サブネット・マスクの対と、ブローカがそれを介してアクセスされる宛先ポートと、要求ユーザ名とであることを定義している。ユーザ・プロファイル中のいくつかのエントリは、ワイルドカード化され得ることが、図から理解できる。言い換えると、プロファイル1のユーザが誰であるかは問題ではない。
【0033】
図11の処理に戻って参照すると、照会コンポーネント250は、インターセプトされたメッセージの要求情報部分から機能コードを抽出する。これは、ユーザから要求されるオペレーション、およびこのようなオペレーションを実施することが許可されるユーザ・タイプを、機能テーブル330から決定するために使用される。例として、機能7が要求される。これは、機能テーブル中で、タイプ1のユーザだけに許可される公開オペレーションにマップされている。次いで、プロファイル・テーブル340がアクセスされて、タイプ1のユーザに必要な特性が決定される。論理的なAND演算が、要求のソースIPアドレス(例えば、10.0.56.77)とサブネット・マスク(例えば、255.255.0.0)の間で行われる。IPアドレスは、通常、Net ID(すなわち、ネットワーク部分)およびノードID(すなわち、ホスト/マシン部分)から構成される。AND演算が実施されて、ソースIPアドレスからNet ID部分(この場合10.0)が抽出される。次いで、それを、プロファイル中で指定されたNet IDと比較することができる。(フル・アドレスである10.0.0.0をプロファイル中で指定することもできるが、この実施形態での関連する(Net ID)部分は10.0であり、代替の実施形態では、ネットワーク部分だけがプロファイル中で指定されることに留意されたい。)ソースIPアドレスから抽出されたNet IDが、プロファイル中で指定されたNet ID部分に一致する場合、プロファイルのこの部分はマッチされる。言い換えると、要求は、適切なサブネットから来ている。この例ではマッチがあり、その結果、適切なIPアドレス範囲から要求が来ていることになる。しかし、特定のポートを介してブローカにアクセスすることが必要になる可能性もあるが、その場合もやはり、これが検査される。ステップ460で要求された接続オブジェクトは(すでに、よりローカルに利用可能でなければ)、要求ソースIPアドレス、宛先ポートなどを決定するのに使用できることに留意されたい。したがって、テーブル中の各列に対して、関連する接続オブジェクトから値を取得することができる。いくつかの自動化されたルールを適用することができる。例えば、ユーザ名フィールドは、その中にワイルドカードを有する。その結果、接続オブジェクトからこの値を取得する必要がなくなる。同様に、ソースIPアドレスが取得され、デバイスがこの特性を満たしていないと判定された場合、他の列に対して値を取得する必要はなくなる。
【0034】
ユーザ・プロファイル・テーブルの列は、例示のためだけに過ぎないことに留意されたい。重要な点は、アプリケーション機能へのユーザのアクセスが、ユーザのネットワーク位置に関連する1つまたは複数の特性に基づいて制御されていることである。
【0035】
要求メッセージ、したがって、要求メッセージから作成される接続オブジェクトは、ソースIPアドレスが、ユーザ・プロファイル中で指定されるNet IDとサブネット・マスクの組合せにより定義される範囲内に含まれるかどうかを指定しないことが図5および図6から理解されよう。しかし、その要求のソースIPアドレスと、指定されたNet ID/サブネットの組合せの比較は、それがその範囲に存在するかどうかを判定することになる(上記を参照)。サブネットおよびサブネット・マスクは、当技術分野ですでによく知られたトピックであり、したがって、本明細書で詳細をさらに述べないものとする。
【0036】
照会ステップ470から得られた情報は、ゲート・キーパ260に渡される。言い換えると、要求が必要な基準を満たしているかどうかにかかわらず渡される。ゲート・キーパ260は、次いで、このような情報を用いて、要求が許容可能であるかどうか判定する(ステップ480)。要求が必要な基準を満たしていなかった場合(例えば、要求が、関連するプロファイル情報中で指定されたものとは異なるサブネットから生成されている場合)、ステップ490で要求は廃棄される。これは、要求が単に実行されないことを意味することもできるが、より一般的に、要求が許容されていないことを要求デバイスに通知することを含むこともできる。
【0037】
他方で、ステップ480で、要求が許容可能であると見なされた場合、ゲート・キーパ260は、要求をブローカ・インターフェース220に渡し、それを介して、適切なオペレーション(この例では、公開)を要求することができる。これ以降、メッセージ・ブローカの機能は、当技術分野でよく知られた方法で動作する。
【0038】
要約すると、サーバのアプリケーション・レベルのプロトコルは、機能によりセットへとセグメント化される。これらのセットのそれぞれは、次いで、この機能セットにアクセスするための要件を記述するプロファイルと関連付けられる。図1の例に戻って参照すると、このような発明は、SCADAタイプの環境で非常に効果的に使用することができる。繰り返すと、このような環境では、センサは外部ネットワークを介してメッセージ・ブローカにアクセスできるが、一方、モニタは内部ネットワークを介してメッセージ・ブローカにアクセスすることができる。このような設定では、モニタに公開させること、および情報を受信するようにセンサに承認させることは望ましくない可能性がある。すべてのデバイスのユーザIDおよびそのアクセス許可を一覧表示にする必要があるのではなく、要求デバイスのネットワーク位置に基づくことにより、アクセス制御を実施することが可能になる。
【0039】
上記で示したように、アクセス制御の実施において、ソースIPアドレス、サブネット、宛先ポート、およびユーザID情報の使用は、例示的なものに過ぎない。例えば、それ自体の宛先ポートを使用することができる。その場合、本発明の機能は、ファイアウォール技術(例えば、図2のパケット・フィルタ110、120)中に構築され得る。現在のファイアウォールを使用してポート・アクセスを制限することはすでに知られている。しかし、このようなファイアウォール技術は、特定のポートを介して要求できるオペレーション・タイプを指定するように拡張され得る。
【0040】
最後に、上述の実施形態は、2つ以上のネットワークに接続されたサーバに関して参照を行っているが、本発明はそのように限定されることはない。例えば、デバイスは、単一のネットワークを介してサーバにアクセスすることができる。サーバは、単一のネットワーク上の複数のポートで待ち受ける(listen)ことができる。ファイアウォールを、どのソースIPアドレス範囲が、サーバ上のどのポートにアクセスすることが許容されているかを制御するために使用することができ、その場合、照会コンポーネントは、その意志決定において、ポート番号を検討する必要があるだけである。代替的には、ソースIPアドレス範囲およびポートをプロファイル中で指定することもでき、また照会コンポーネントは、妥当性検証を行うこともできる。
【図面の簡単な説明】
【0041】
【図1】従来技術による、外部と内部ネットワークの両方に接続されたサーバを示す図である。
【図2】従来技術による、非武装地帯(DMZ)ネットワーク中に位置する図1のサーバを示す図である。
【図3】好ましい実施形態による、本発明の構成部品を示す図である。
【図4】好ましい実施形態による、本発明の構成部品を示す図である。
【図5】本発明の好ましい実施形態による、図1のサーバで受信されるメッセージのフォーマットを示す図である。
【図6】本発明の好ましい実施形態による、デバイスが図1のサーバに接続されたときに作成される接続オブジェクトのフォーマットを示す図である。
【図7】本発明の好ましい実施形態による、ユーザ・プロファイルに、サーバのアプリケーション機能をマッピングした表形式の情報を示す図である。
【図8】本発明の好ましい実施形態による、ユーザ・プロファイルに、サーバのアプリケーション機能をマッピングした表形式の情報を示す図である。
【図9】例示的な実施形態で提供される機能セットのベン図である。
【図10】好ましい実施形態による本発明の処理を示す図である。
【図11】好ましい実施形態による本発明の処理を示す図である。
【特許請求の範囲】
【請求項1】
公開/承認メッセージ・ブローカへのアクセスを制御するための方法であって、
前記メッセージ・ブローカにより提供される公開/承認機能を機能セットに分割するステップと、
各機能セットを通信経路と関連付けるステップと、
複数の通信経路の1つを介して前記メッセージ・ブローカに到来し、かつ前記メッセージ・ブローカにより提供される公開機能または承認機能へのアクセスを要求する要求を、前記メッセージ・ブローカで受信するステップと、
どの通信経路が使用されるかを判定するステップと、
前記要求される機能が、どの機能セットの一部分であるか識別するステップと、
前記識別された機能セットが、使用される前記通信経路と関連付けられているかどうかを判定するステップと、
前記識別された機能セットが、使用される前記通信経路と関連付けられていると判定されたのに応じて、前記要求される公開機能または承認機能へのアクセスを提供するステップと
を含む方法。
【請求項2】
どの通信経路が使用されるかを判定する前記ステップが、
前記メッセージ・ブローカにアクセスするために、どのポートが使用されるかを判定するステップを含み、また
前記識別された機能セットが、使用される前記通信経路と関連付けられているかどうか判定する前記ステップが、
前記識別された機能セットが、前記ブローカにアクセスするために使用される前記ポートと関連付けられているかどうか判定するステップを含む、請求項1に記載の方法。
【請求項3】
どの通信経路が使用されるかを判定する前記ステップが、
前記要求が生成された通信ネットワークを決定するステップを含み、また
前記識別された機能セットが、使用される前記通信経路と関連付けられているかどうかを判定する前記ステップが、
前記識別された機能セットが、前記要求が生成された前記通信ネットワークと関連付けられているかどうか判定するステップを含む、請求項1または2に記載の方法。
【請求項4】
前記要求が生成された前記通信ネットワークが、ネットワーク部分およびホスト部分を含むアドレスにより識別可能であり、また前記識別された機能セットが関連付けられている前記通信ネットワークがまた、少なくともネットワーク部分によって識別可能であり、さらに、前記識別された機能セットが、前記要求が生成された前記通信ネットワークと関連付けられているかどうか判定する前記ステップが、
前記要求が生成された前記通信ネットワークの前記ネットワーク部分を、前記識別された機能セットが関連付けられている前記通信ネットワークの前記ネットワーク部分と比較するステップを含む、請求項3に記載の方法。
【請求項5】
前記比較するステップが、
両方の通信ネットワークの前記ネットワーク部分が同じかどうか判定するために、サブネット・マスクを使用するステップを含む、請求項4に記載の方法。
【請求項6】
前記ブローカに接続するための要求が受信され、前記方法が、
前記接続要求に対する接続オブジェクトを作成するステップと、
前記接続オブジェクト内に含まれる情報を用いて、同じリクエスタからの任意の将来の要求がそれを介して到来する前記通信ネットワークを決定するステップとを含む、請求項1ないし5のいずれかに記載の方法。
【請求項7】
前記識別された機能セットが、使用される前記通信経路と関連付けられていないと判定されたことに応じて、前記要求を廃棄するステップを含む、請求項1ないし6のいずれかに記載の方法。
【請求項8】
前記要求が許容されなかったことを前記リクエスタに通知するステップを含む、請求項7に記載の方法。
【請求項9】
データベース機能を求める要求がそれを介して到来する前記通信経路に基づいて、データベースにより提供される機能へのアクセスを提供するステップを含む、請求項1ないし8のいずれかに記載の方法。
【請求項10】
公開/承認メッセージ・ブローカへのアクセスを制御するための装置であって、
前記メッセージ・ブローカにより提供される公開/承認機能を機能セットに分割する手段と、
各機能セットを、通信経路と関連付ける手段と、
複数の通信経路の1つを介して前記メッセージ・ブローカに到来し、かつ前記メッセージ・ブローカにより提供される公開機能または承認機能へのアクセスを要求する要求を、前記メッセージ・ブローカで受信する手段と、
どの通信経路が使用されるかを判定する手段と、
前記要求される機能が、どの機能セットの一部分であるか識別する手段と、
前記識別された機能セットが、使用される前記通信経路と関連付けられているかどうかを判定する手段と、
前記識別された機能セットが、使用される前記通信経路と関連付けられていると判定されたのに応じて、前記要求される公開機能または承認機能へのアクセスを提供する手段と
を備える装置。
【請求項11】
どの通信経路が使用されるかを判定する前記手段が、
前記メッセージ・ブローカにアクセスするために、どのポートが使用されるかを判定する手段を備え、また
前記識別された機能セットが、使用される前記通信経路と関連付けられているかどうかを判定する前記手段が、
前記識別された機能セットが、前記ブローカにアクセスするために使用される前記ポートと関連付けられているかどうか判定する手段を備える、請求項10に記載の装置。
【請求項12】
どの通信経路が使用されるかを判定する前記手段が、
前記要求が生成された通信ネットワークを決定する手段を備え、また
前記識別された機能セットが、使用される前記通信経路と関連付けられているかどうかを判定する前記手段が、
前記識別された機能セットが、前記要求が生成された前記通信ネットワークと関連付けられているかどうか判定する手段を備える、請求項10または11に記載の装置。
【請求項13】
前記要求が生成された前記通信ネットワークが、ネットワーク部分およびホスト部分を含むアドレスにより識別可能であり、また前記識別された機能セットが関連付けられている前記通信ネットワークがまた、少なくともネットワーク部分によって識別可能であり、さらに、前記識別された機能セットが、前記要求が生成された前記通信ネットワークと関連付けられているかどうか判定する手段が、
前記要求が生成された前記通信ネットワークの前記ネットワーク部分を、前記識別された機能セットが関連付けられている前記通信ネットワークの前記ネットワーク部分と比較する手段を備える、請求項12に記載の装置。
【請求項14】
前記比較する手段が、
両方の通信ネットワークの前記ネットワーク部分が同じかどうか判定するために、サブネット・マスクを使用する手段を備える、請求項13に記載の装置。
【請求項15】
前記ブローカに接続するための要求が受信され、前記装置が、
前記接続要求に対する接続オブジェクトを作成する手段と、
前記接続オブジェクト内に含まれる情報を用いて、同じリクエスタからの任意の将来の要求がそれを介して到来する前記通信ネットワークを決定する手段とを備える、請求項10ないし14のいずれかに記載の装置。
【請求項16】
前記識別された機能セットが、使用される前記通信経路と関連付けられていないと判定されたことに応じて、前記要求を廃棄する手段を備える、請求項10ないし15のいずれかに記載の装置。
【請求項17】
前記要求が許容されなかったことを前記リクエスタに通知する手段を備える、請求項16に記載の装置。
【請求項18】
データベース機能を求める要求がそれを介して到来する前記通信経路に基づいて、データベースにより提供される機能へのアクセスを提供する手段を備える、請求項10ないし17のいずれかに記載の装置。
【請求項19】
コンピュータ上で動作するとき、請求項1ないし9のいずれかの方法を実施するように適合されたプログラム・コード手段を備えるコンピュータ・プログラム。
【請求項1】
公開/承認メッセージ・ブローカへのアクセスを制御するための方法であって、
前記メッセージ・ブローカにより提供される公開/承認機能を機能セットに分割するステップと、
各機能セットを通信経路と関連付けるステップと、
複数の通信経路の1つを介して前記メッセージ・ブローカに到来し、かつ前記メッセージ・ブローカにより提供される公開機能または承認機能へのアクセスを要求する要求を、前記メッセージ・ブローカで受信するステップと、
どの通信経路が使用されるかを判定するステップと、
前記要求される機能が、どの機能セットの一部分であるか識別するステップと、
前記識別された機能セットが、使用される前記通信経路と関連付けられているかどうかを判定するステップと、
前記識別された機能セットが、使用される前記通信経路と関連付けられていると判定されたのに応じて、前記要求される公開機能または承認機能へのアクセスを提供するステップと
を含む方法。
【請求項2】
どの通信経路が使用されるかを判定する前記ステップが、
前記メッセージ・ブローカにアクセスするために、どのポートが使用されるかを判定するステップを含み、また
前記識別された機能セットが、使用される前記通信経路と関連付けられているかどうか判定する前記ステップが、
前記識別された機能セットが、前記ブローカにアクセスするために使用される前記ポートと関連付けられているかどうか判定するステップを含む、請求項1に記載の方法。
【請求項3】
どの通信経路が使用されるかを判定する前記ステップが、
前記要求が生成された通信ネットワークを決定するステップを含み、また
前記識別された機能セットが、使用される前記通信経路と関連付けられているかどうかを判定する前記ステップが、
前記識別された機能セットが、前記要求が生成された前記通信ネットワークと関連付けられているかどうか判定するステップを含む、請求項1または2に記載の方法。
【請求項4】
前記要求が生成された前記通信ネットワークが、ネットワーク部分およびホスト部分を含むアドレスにより識別可能であり、また前記識別された機能セットが関連付けられている前記通信ネットワークがまた、少なくともネットワーク部分によって識別可能であり、さらに、前記識別された機能セットが、前記要求が生成された前記通信ネットワークと関連付けられているかどうか判定する前記ステップが、
前記要求が生成された前記通信ネットワークの前記ネットワーク部分を、前記識別された機能セットが関連付けられている前記通信ネットワークの前記ネットワーク部分と比較するステップを含む、請求項3に記載の方法。
【請求項5】
前記比較するステップが、
両方の通信ネットワークの前記ネットワーク部分が同じかどうか判定するために、サブネット・マスクを使用するステップを含む、請求項4に記載の方法。
【請求項6】
前記ブローカに接続するための要求が受信され、前記方法が、
前記接続要求に対する接続オブジェクトを作成するステップと、
前記接続オブジェクト内に含まれる情報を用いて、同じリクエスタからの任意の将来の要求がそれを介して到来する前記通信ネットワークを決定するステップとを含む、請求項1ないし5のいずれかに記載の方法。
【請求項7】
前記識別された機能セットが、使用される前記通信経路と関連付けられていないと判定されたことに応じて、前記要求を廃棄するステップを含む、請求項1ないし6のいずれかに記載の方法。
【請求項8】
前記要求が許容されなかったことを前記リクエスタに通知するステップを含む、請求項7に記載の方法。
【請求項9】
データベース機能を求める要求がそれを介して到来する前記通信経路に基づいて、データベースにより提供される機能へのアクセスを提供するステップを含む、請求項1ないし8のいずれかに記載の方法。
【請求項10】
公開/承認メッセージ・ブローカへのアクセスを制御するための装置であって、
前記メッセージ・ブローカにより提供される公開/承認機能を機能セットに分割する手段と、
各機能セットを、通信経路と関連付ける手段と、
複数の通信経路の1つを介して前記メッセージ・ブローカに到来し、かつ前記メッセージ・ブローカにより提供される公開機能または承認機能へのアクセスを要求する要求を、前記メッセージ・ブローカで受信する手段と、
どの通信経路が使用されるかを判定する手段と、
前記要求される機能が、どの機能セットの一部分であるか識別する手段と、
前記識別された機能セットが、使用される前記通信経路と関連付けられているかどうかを判定する手段と、
前記識別された機能セットが、使用される前記通信経路と関連付けられていると判定されたのに応じて、前記要求される公開機能または承認機能へのアクセスを提供する手段と
を備える装置。
【請求項11】
どの通信経路が使用されるかを判定する前記手段が、
前記メッセージ・ブローカにアクセスするために、どのポートが使用されるかを判定する手段を備え、また
前記識別された機能セットが、使用される前記通信経路と関連付けられているかどうかを判定する前記手段が、
前記識別された機能セットが、前記ブローカにアクセスするために使用される前記ポートと関連付けられているかどうか判定する手段を備える、請求項10に記載の装置。
【請求項12】
どの通信経路が使用されるかを判定する前記手段が、
前記要求が生成された通信ネットワークを決定する手段を備え、また
前記識別された機能セットが、使用される前記通信経路と関連付けられているかどうかを判定する前記手段が、
前記識別された機能セットが、前記要求が生成された前記通信ネットワークと関連付けられているかどうか判定する手段を備える、請求項10または11に記載の装置。
【請求項13】
前記要求が生成された前記通信ネットワークが、ネットワーク部分およびホスト部分を含むアドレスにより識別可能であり、また前記識別された機能セットが関連付けられている前記通信ネットワークがまた、少なくともネットワーク部分によって識別可能であり、さらに、前記識別された機能セットが、前記要求が生成された前記通信ネットワークと関連付けられているかどうか判定する手段が、
前記要求が生成された前記通信ネットワークの前記ネットワーク部分を、前記識別された機能セットが関連付けられている前記通信ネットワークの前記ネットワーク部分と比較する手段を備える、請求項12に記載の装置。
【請求項14】
前記比較する手段が、
両方の通信ネットワークの前記ネットワーク部分が同じかどうか判定するために、サブネット・マスクを使用する手段を備える、請求項13に記載の装置。
【請求項15】
前記ブローカに接続するための要求が受信され、前記装置が、
前記接続要求に対する接続オブジェクトを作成する手段と、
前記接続オブジェクト内に含まれる情報を用いて、同じリクエスタからの任意の将来の要求がそれを介して到来する前記通信ネットワークを決定する手段とを備える、請求項10ないし14のいずれかに記載の装置。
【請求項16】
前記識別された機能セットが、使用される前記通信経路と関連付けられていないと判定されたことに応じて、前記要求を廃棄する手段を備える、請求項10ないし15のいずれかに記載の装置。
【請求項17】
前記要求が許容されなかったことを前記リクエスタに通知する手段を備える、請求項16に記載の装置。
【請求項18】
データベース機能を求める要求がそれを介して到来する前記通信経路に基づいて、データベースにより提供される機能へのアクセスを提供する手段を備える、請求項10ないし17のいずれかに記載の装置。
【請求項19】
コンピュータ上で動作するとき、請求項1ないし9のいずれかの方法を実施するように適合されたプログラム・コード手段を備えるコンピュータ・プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公表番号】特表2009−517900(P2009−517900A)
【公表日】平成21年4月30日(2009.4.30)
【国際特許分類】
【出願番号】特願2008−541662(P2008−541662)
【出願日】平成18年7月17日(2006.7.17)
【国際出願番号】PCT/EP2006/064332
【国際公開番号】WO2007/060030
【国際公開日】平成19年5月31日(2007.5.31)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】
【公表日】平成21年4月30日(2009.4.30)
【国際特許分類】
【出願日】平成18年7月17日(2006.7.17)
【国際出願番号】PCT/EP2006/064332
【国際公開番号】WO2007/060030
【国際公開日】平成19年5月31日(2007.5.31)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】
[ Back to top ]