(57)【要約】  内部コンピュータネットワークにおける通信を安全にするためのポートスクランブルを提供する方法、システム、およびコンピュータプログラム製品が開示される。変換関数が、発信通信が受信されるように指定される第１のポートの識別子に対して適用され、これによって、発信通信が受信されるように導かれる第２のポートの識別子が取得される。変換関数は、コンピュータネットワークの複数の機器間で共有された少なくとも１つのパラメータに依存し、これによって、第２のポートで通信を受信する機器は、第１のポートの識別子を取得し通信をそこに導くために、第２のポートの識別子に対して逆変換関数を適用することが可能になる。変換関数は、発信通信の伝送が複数の機器用の認証されたアプリケーションプログラムのリストに列記されたアプリケーションプログラムによって要求された条件において適用される。
2018533145.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実施方法であって、
コンピュータ化装置において、第１のポートを介して、送信先で受信されるように指定される発信通信を伝送するために、アプリケーションプログラムの要求を受信することであって、前記アプリケーションプログラムが、前記コンピュータ化装置によって実行され、前記送信先が、前記コンピュータ化装置の外部の送信先である、受信することと、
前記第１のポートの識別子に対して変換関数を適用し、これによって第２のポートの識別子を取得することであって、前記適用することが、コンピュータネットワークの複数の機器用の認証されたアプリケーションプログラムのリストに列記されているアプリケーションプログラムを条件とする、適用することと、
前記第２のポートを介して前記送信先で受信されるように前記発信通信を導くことと、を含み、
前記変換関数は、前記複数の機器間で共有された少なくとも１つのパラメータに依存し、前記少なくとも１つのパラメータは、認証されたアプリケーションプログラムの前記リストに依存するパラメータを含み、前記複数の機器は、前記コンピュータ化装置を備え、これによって、前記複数の機器の第２のコンピュータ化装置は、前記第１のポートの前記識別子を取得するために前記第２のポートの前記識別子に対して逆変換を適用することが可能になる、コンピュータ実施方法。
【請求項２】
前記少なくとも１つのパラメータは、固定暗号鍵、時間依存暗号鍵、固定および時間依存鍵の組み合わせからなる群から選択される、請求項１に記載のコンピュータ実施方法。
【請求項３】
前記少なくとも１つのパラメータは、時間依存暗号鍵を含み、前記コンピュータネットワークは、前記複数の機器間で時間依存暗号鍵を配布および同期化するサーバをさらに備える、請求項１に記載のコンピュータ実施方法。
【請求項４】
前記リストは、前記複数の機器によって検証可能である、請求項１に記載のコンピュータ実施方法。
【請求項５】
前記コンピュータネットワークは、前記リストを維持すること、および前記複数の機器を更新することを担うサーバをさらに備える、請求項１に記載のコンピュータ実施方法。
【請求項６】
前記コンピュータ化装置において、第３のポート識別子を有する第３のポートを介して、着信通信を受信することであって、前記着信通信が、前記コンピュータネットワークを介して外部機器から受信される、受信することと、
前記第３のポート識別子に対して、逆変換関数を適用し、これによって、第４のポートの第４のポート識別子を取得することであって、前記逆変換関数が、前記変換関数の逆関数であり、前記少なくとも１つのパラメータに依存する、適用することと、
前記着信通信を前記第３のポートから前記第４のポートにリダイレクトすることと、をさらに含む、請求項１に記載のコンピュータ実施方法。
【請求項７】
前記第３のポートは、前記第２のポートであり、前記第４のポートは、前記第１のポートである、請求項６に記載のコンピュータ実施方法。
【請求項８】
前記コンピュータ化装置において、前記第１のポートを介して前記コンピュータ化装置の外部の送信先で受信されるように指定された発信通信を伝送するために、前記コンピュータ化装置によって実行されているアプリケーションプログラムの後続要求を受信することと、
前記第１のポートの前記識別子に対して前記変換関数を適用し、これによって、前記第２のポートとは異なる第３のポートの識別子を取得することと、
前記第３のポートを介して前記送信先で受信されるように前記発信通信を導くことと、をさらに含む、請求項１に記載のコンピュータ実施方法。
【請求項９】
前記複数の機器の各機器における少なくとも１つの秘密パラメータの内容を自動的に更新し、これによって、前記複数の機器の全ての機器に対する前記変換関数の動作を動的に変更することをさらに含む、請求項１に記載のコンピュータ実施方法。
【請求項１０】
前記コンピュータ化装置の外部の送信先は、前記複数の機器からなる機器である、請求項１に記載のコンピュータ実施方法。
【請求項１１】
コンピュータ実施方法であって、
コンピュータ化装置において、第１のポート識別子を有する第１のポートを介して、着信通信を受信することであって、前記着信通信が、コンピュータネットワークを介して外部機器から受信される、受信することと、
前記第１のポート識別子に対して逆変換関数を適用し、これによって、第２のポートの第２のポート識別子を取得することと、
前記コンピュータ化装置において前記第１のポートから前記第２のポートに前記着信通信をリダイレクトすることと、を含み、
前記逆変換関数は、前記コンピュータネットワークの複数の機器間で共有された少なくとも１つのパラメータに依存し、前記少なくとも１つのパラメータは、前記複数の機器用の認証されたアプリケーションプログラムのリストに依存するパラメータを含み、前記複数の機器は、前記コンピュータ化装置を備える、コンピュータ実施方法。
【請求項１２】
前記少なくとも１つのパラメータは、固定暗号鍵、時間依存暗号鍵、固定および時間依存鍵の組み合わせからなる群から選択される、請求項１１に記載のコンピュータ実施方法。
【請求項１３】
前記第２のポートがいずれのアプリケーションプログラムにも割り当てられていないことに応答して前記コンピュータネットワークのサーバに通知を発行することをさらに含む、請求項１１に記載のコンピュータ実施方法。
【請求項１４】
前記着信通信は、前記外部機器の発信通信であり、前記発信通信は、前記外部機器のアプリケーションプログラムによって開始され、前記第２のポートを介して前記コンピュータ化装置で受信されるように指定され、前記発信通信は、前記第１のポート識別子を取得するために前記第２のポート識別子に対して変換関数を適用する前記外部機器に基づいて前記第１のポートを介して前記コンピュータ化機器に向かって導かれ、前記変換を適用する前記外部機器は、認証されたアプリケーションプログラムの前記リストに列記されている前記アプリケーションプログラムを条件とし、前記逆変換関数は、前記変換関数の逆関数である、請求項１１に記載のコンピュータ実施方法。
【請求項１５】
プロセッサを有するコンピュータ化装置であって、
コンピュータ化装置において、第１のポートを介して、送信先で受信されるように指定される発信通信を伝送するために、アプリケーションプログラムの要求を受信するステップであって、前記アプリケーションプログラムが、前記コンピュータ化装置によって実行され、前記送信先が、前記コンピュータ化装置の外部の送信先である、ステップと、
前記第１のポートの識別子に対して変換関数を適用し、これによって第２のポートの識別子を取得するステップであって、前記適用することが、コンピュータネットワークの複数の機器用の認証されたアプリケーションプログラムのリストに列記されているアプリケーションプログラムを条件とする、ステップと、
前記第２のポートを介して前記送信先で受信されるように前記発信通信を導くステップと、を実施するように適合されており、
前記変換関数は、前記複数の機器間で共有された少なくとも１つのパラメータに依存し、前記少なくとも１つのパラメータは、認証されたアプリケーションプログラムの前記リストに依存するパラメータを含み、前記複数の機器は、前記コンピュータ化装置を備え、これによって、前記複数の機器の第２のコンピュータ化装置は、前記第１のポートの前記識別子を取得するために前記第２のポートの前記識別子に対して逆変換を適用することが可能になる、コンピュータ化装置。
【請求項１６】
プロセッサを有するコンピュータ化装置であって、前記プロセッサは、
コンピュータ化装置において、第１のポート識別子を有する第１のポートを介して、着信通信を受信するステップであって、前記着信通信が、コンピュータネットワークを介して外部機器から受信される、ステップと、
前記第１のポート識別子に対して逆変換関数を適用し、これによって、第２のポートの第２のポート識別子を取得するステップと、
前記コンピュータ化装置において前記第１のポートから前記第２のポートに前記着信通信をリダイレクトするステップと、を実施するように適合され、
前記逆変換関数は、前記コンピュータネットワークの複数の機器間で共有された少なくとも１つのパラメータに依存し、前記少なくとも１つのパラメータは、前記複数の機器用の認証されたアプリケーションプログラムのリストに依存するパラメータを含み、前記複数の機器は、前記コンピュータ化装置を備える、コンピュータ化装置。
【請求項１７】
プログラム命令を保持しているコンピュータ可読記憶媒体を備えるコンピュータプログラム製品であって、プログラム命令は、プロセッサによって読み出されたときに、前記プロセッサに、
コンピュータ化装置において、第１のポートを介して、送信先で受信されるように指定される発信通信を伝送するために、アプリケーションプログラムの要求を受信することであって、前記アプリケーションプログラムが、前記コンピュータ化装置によって実行され、前記送信先が、前記コンピュータ化装置の外部の送信先である、受信することと、
前記第１のポートの識別子に対して変換関数を適用し、これによって第２のポートの識別子を取得することであって、前記適用することが、コンピュータネットワークの複数の機器用の認証されたアプリケーションプログラムのリストに列記されているアプリケーションプログラムを条件とする、適用することと、
前記第２のポートを介して前記送信先で受信されるように前記発信通信を導くことと、を含む方法を実施させ、
前記変換関数は、前記複数の機器間で共有された少なくとも１つのパラメータに依存し、前記少なくとも１つのパラメータは、認証されたアプリケーションプログラムの前記リストに依存するパラメータを含み、前記複数の機器は、前記コンピュータ化装置を備え、これによって、前記複数の機器の第２のコンピュータ化装置は、前記第１のポートの前記識別子を取得するために前記第２のポートの前記識別子に対して逆変換を適用することが可能になる、コンピュータプログラム製品。
【請求項１８】
プログラム命令を保持しているコンピュータ可読記憶媒体を備えるコンピュータプログラム製品であって、プログラム命令は、プロセッサによって読み出されたときに、前記プロセッサに、
コンピュータ化装置において、第１のポート識別子を有する第１のポートを介して、着信通信を受信することであって、前記着信通信が、コンピュータネットワークを介して外部機器から受信される、受信することと、
前記第１のポート識別子に対して逆変換関数を適用し、これによって、第２のポートの第２のポート識別子を取得することと、
前記コンピュータ化装置において前記第１のポートから前記第２のポートに前記着信通信をリダイレクトすることと、を含む方法を実施させ、
前記逆変換関数は、前記コンピュータネットワークの複数の機器間で共有された少なくとも１つのパラメータに依存し、前記少なくとも１つのパラメータは、前記複数の機器用の認証されたアプリケーションプログラムのリストに依存するパラメータを含み、前記複数の機器は、前記コンピュータ化装置を備える、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、コンピュータネットワーク通信、特に、安全なネットワーク通信のためのポートスクランブルに関する。
【背景技術】
【０００２】
コンピュータネットワークは、多くの企業および組織の間で広く用いられている。一般に、ネットワーク環境は、互いに相互接続された複数のコンピュータ化機器、および、例えば、ネットワークに接続された１つ以上の共通アクセスを通る等の共有リソースを備える。多くの場合において、ネットワーク環境の機器のいくつかまたは全ては、ワールドワイドウェブ等の１つ以上の外部ネットワークにも同時に接続される。結果として、内部ネットワーク環境の機器のうちのいずれも、種々のセキュリティ脅威および攻撃、特に、「ウイルス」または「ワーム」としても一般的に知られる、自己伝播悪性コードの拡散によりいっそう影響を受ける。一度、ネットワーク内の機器が昜感染性になると、感染は、残りの機器に迅速に広がり、修復不可能な障害を引き起こす。
【発明の概要】
【課題を解決するための手段】
【０００３】
開示された発明の対象の１つの例示的な実施形態は、コンピュータ実施方法であって、コンピュータ化装置において、第１のポートを介して、送信先で受信されるように指定される発信通信を伝送するために、アプリケーションプログラムの要求を受信することであって、アプリケーションプログラムが、コンピュータ化装置によって実行され、送信先が、コンピュータ化装置の外部の送信先である、受信することと、第１のポートの識別子に対して変換関数を適用し、これによって第２のポートの識別子を取得することであって、前記適用することが、コンピュータネットワークの複数の機器用の認証されたアプリケーションプログラムのリストに列記されているアプリケーションプログラムを条件とする、適用することと、第２のポートを介して送信先で受信されるように発信通信を導くことと、を含み、変換関数は、複数の機器間で共有された少なくとも１つのパラメータに依存し、複数の機器は、コンピュータ化装置を備え、これによって、複数の機器の第２のコンピュータ化装置は、第１のポートの識別子を取得するために第２のポートの識別子に対して逆変換を適用することが可能になる、コンピュータ実施方法である。
【０００４】
開示された発明の対象の別の例示的な実施形態は、コンピュータ実施方法であって、コンピュータ化装置において、第１のポート識別子を有する第１のポートを介して、着信通信を受信することであって、着信通信が、コンピュータネットワークを介して外部機器から受信される、受信することと、第１のポート識別子に対して逆変換関数を適用し、これによって、第２のポートの第２のポート識別子を取得することと、コンピュータ化装置において第１のポートから第２のポートに着信通信をリダイレクトすることと、を含み、逆変換関数は、コンピュータネットワークの複数の機器間で共有された少なくとも１つのパラメータに依存し、複数の機器は、コンピュータ化装置を備える、コンピュータ実施方法である。
【０００５】
開示された発明の対象のさらに別の例示的な実施形態は、プロセッサを有するコンピュータ化装置であって、プロセッサは、コンピュータ化装置において、第１のポートを介して、送信先で受信されるように指定される発信通信を伝送するために、アプリケーションプログラムの要求を受信するステップであって、アプリケーションプログラムが、コンピュータ化装置によって実行され、送信先が、コンピュータ化装置の外部の送信先である、ステップと、第１のポートの識別子に対して変換関数を適用し、これによって第２のポートの識別子を取得するステップであって、前記適用することが、コンピュータネットワークの複数の機器用の認証されたアプリケーションプログラムのリストに列記されているアプリケーションプログラムを条件とする、ステップと、第２のポートを介して送信先で受信されるように発信通信を導くステップと、を実施するように適合されており、変換関数は、複数の機器間で共有された少なくとも１つのパラメータに依存し、複数の機器は、コンピュータ化装置を備え、これによって、複数の機器の第２のコンピュータ化装置は、第１のポートの識別子を取得するために第２のポートの識別子に対して逆変換を適用することが可能になる、コンピュータ化装置である。
【０００６】
開示された発明の対象のさらに別の例示的な実施形態は、プロセッサを有するコンピュータ化装置であって、プロセッサは、コンピュータ化装置において、第１のポート識別子を有する第１のポートを介して、着信通信を受信するステップであって、着信通信が、コンピュータネットワークを介して外部機器から受信される、ステップと、第１のポート識別子に対して逆変換関数を適用し、これによって、第２のポートの第２のポート識別子を取得するステップと、コンピュータ化装置において第１のポートから第２のポートに着信通信をリダイレクトするステップと、を実施するように適合され、逆変換関数は、コンピュータネットワークの複数の機器間で共有された少なくとも１つのパラメータに依存し、複数の機器は、コンピュータ化装置を備える、コンピュータ化装置である。
【０００７】
開示された発明の対象のさらに別の例示的な実施形態は、プログラム命令を保持しているコンピュータ可読記憶媒体を備えるコンピュータプログラム製品であって、プログラム命令は、プロセッサによって読み出されたときに、プロセッサに、コンピュータ化装置において、第１のポートを介して、送信先で受信されるように指定される発信通信を伝送するために、アプリケーションプログラムの要求を受信することであって、アプリケーションプログラムが、コンピュータ化装置によって実行され、送信先が、コンピュータ化装置の外部の送信先である、受信することと、第１のポートの識別子に対して変換関数を適用し、これによって第２のポートの識別子を取得することであって、前記適用することが、コンピュータネットワークの複数の機器用の認証されたアプリケーションプログラムのリストに列記されているアプリケーションプログラムを条件とする、適用することと、第２のポートを介して送信先で受信されるように発信通信を導くことと、を含む方法を実施させ、変換関数は、複数の機器間で共有された少なくとも１つのパラメータに依存し、複数の機器は、コンピュータ化装置を備え、これによって、複数の機器の第２のコンピュータ化装置は、第１のポートの識別子を取得するために第２のポートの識別子に対して逆変換を適用することが可能になる、コンピュータプログラム製品である。
【０００８】
開示された発明の対象のさらに別の例示的な実施形態は、プログラム命令を保持しているコンピュータ可読記憶媒体を備えるコンピュータプログラム製品であって、プログラム命令は、プロセッサによって読み出されたときに、プロセッサに、コンピュータ化装置において、第１のポート識別子を有する第１のポートを介して、着信通信を受信することであって、着信通信が、コンピュータネットワークを介して外部機器から受信される、受信することと、第１のポート識別子に対して逆変換関数を適用し、これによって、第２のポートの第２のポート識別子を取得することと、コンピュータ化装置において第１のポートから第２のポートに着信通信をリダイレクトすることと、を含む方法を実施させ、逆変換関数は、コンピュータネットワークの複数の機器間で共有された少なくとも１つのパラメータに依存し、複数の機器は、コンピュータ化装置を備える、コンピュータプログラム製品である。
【０００９】
ここで開示された発明の対象は、対応するかまたは同様の番号もしくは文字が、対応するかまたは同様の構成要素を示す、図面と共になされる以下の詳細な説明からより完全に理解され認められることになる。別途、示されない限り、図面は、開示の例示的な実施形態または態様を提供し、開示の範囲を限定するものではない。図面にあるものは以下の通りである。
【図面の簡単な説明】
【００１０】
【図１】図１は、発明の対象のいくつかの例示的な実施形態による、開示された発明の対象が使用されるコンピュータネットワークを示す。
【図２】図２は、開示された発明の対象のいくつかの例示的な実施形態による、システムのブロック図を示す。
【図３Ａ】図３Ａは、開示された発明の対象のいくつかの例示的な実施形態による、方法のフローチャート図を示す。
【図３Ｂ】図３Ｂは、開示された発明の対象のいくつかの例示的な実施形態による、方法のフローチャート図を示す。
【発明を実施するための形態】
【００１１】
開示された発明の対象によって扱われる１つの技術的課題は、コンピュータネットワークにおいて安全な通信を提供することである。
【００１２】
開示された発明の対象によって扱われる別の技術的問題は、コンピュータネットワーク内における悪性コードの広がりを防止することである。
【００１３】
「ポート」は、コンピューティングプラットフォームにあるサービスまたはプロセスと関連付けられた論理構造であり、異なる形式のネットワーク通信に対するエンドポイントとして機能する。いくつかの例示的な実施形態において、ポートは、各ホストアドレスおよび通信プロトコルに対して１６ビットの番号によって識別され、したがってポート番号は、０〜６５５３５の範囲である。概して、ポート番号は、ネットワークパケットにおいて出現し、それらのパケットを取り扱うことができるかまたは待機している送信先機器における特定プロセスまたはリソースにマッピングする。いくつかのリソースは、一定の所定ポート番号のみを受け入れ、他のポートと関連付けられたトラフィックを無視するように事前構成される。一般にリソースにマッピングするためにポート番号に重度に頼るネットワークプロトコルは、伝送制御プロトコル（ＴＣＰ）およびユーザデータグラムプロトコル（ＵＤＰ）を含む。いくつかのポート番号またはポート番号範囲は、ＴＣＰおよびＵＤＰによって使用される０〜１０２３の範囲である「ウェルノウンポート」等の標準サービス用に予約され得る。例えば、ハイパーテキストトランスファープロトコル（ＨＴＴＰ）プロトコルを動かすサービスは、一般にポート８０を受け入れる。
【００１４】
１つの技術的解決策は、選択的に、発信通信が伝送端で導かれるポート番号をスクランブルし、着信通信が受信されるポート番号を逆スクランブルすることである。スクランブルは、承認されたアプリケーションプログラムと関連付けられたポート番号に対してのみ実施される。スクランブルおよび逆スクランブルは、ネットワーク機器間で共有された１つ以上の秘密パラメータを使用して実施される。１つ以上の秘密パラメータは、好ましくは、攻撃者がポートスキャンによって標的ポート番号を「推察する」可能性を低下させるために時変構成要素を含む。
【００１５】
開示された発明の対象を利用する１つの技術的効果は、正規のポート番号でのアクセス試行を識別することによって、攻撃または集団感染の検出を許容することである。さらに、任意の有効なポートのスクランブルされたバージョンではないポートへのアクセス試行はまた、認証された行動が、スクランブルされたポートのみに導かれるように制約されるので、潜在的に非認証の行動を示すものであり得る。
【００１６】
別の技術的効果は、人間工学に頼る悪性行動の広がりを防止することである。人間のユーザが悪性ユーザまたはコードへのアクセスを許容するように操作される場合でさえ（例えば、有害なリンクを押すことまたは電子メールを介して送信されたマルウェアを実行すること）、悪性行動は、感染した機器に含有され、他の機器に広がらないと見られる。
【００１７】
ここで、発明の対象のいくつかの例示的な実施形態による、開示された発明の対象が使用されるコンピュータネットワークを示す図１を参照する。
【００１８】
いくつかの例示的な実施形態において、コンピュータネットワーク１００は、機器１１０、１２０、１３０、１４０、および１５０等の複数のコンピューティング機器を備え得る。コンピュータネットワーク１００は、サーバ１０２および１０４等の１つ以上のサーバを備え得る。機器１１０〜１５０は、サーバ１０２および１０４の１つへの共通アクセス、またはネットワークスイッチ、ハブ等を使用することを通して等の直接接続のいずれかによって、互いに相互接続され得る。例えば、機器１１０、１２０および１３０は、サーバ１０２に接続され、一方で機器１４０および１５０、ならびに機器１３０は、サーバ１０４に接続される。加えて、機器１１０は、機器１５０に直接接続され、機器１２０は、機器１３０に直接接続される。
【００１９】
いくつかの例示的な実施形態において、コンピュータネットワーク１００は、組織のイントラネットネットワークであり得る。コンピュータネットワーク１００は、インターネット（図示せず）等の外部ネットワークに接続され得る。いくつかの場合において、コンピュータネットワーク１００は、悪性行動を防止するためにいくつかの安全対策を提供するように構成され得るかまたはそのように構成されていない可能性がある、ルータ、スイッチ、サーバ等によって外部ネットワークに接続される。一実施形態において、スイッチは、望まない実体のアクセスを防止するファイアウォールを備える。
【００２０】
ここで、開示された発明の対象のいくつかの例示的な実施形態による、システムのブロック図を示す図２を参照する。システムは、図１の機器１１０〜１５０等のコンピューティング機器２００を備え、開示された発明の対象による、ポートスクランブルを提供するように構成され得る。いくつかの例示的な実施形態において、システムは、イーサーネットスイッチ接続等のような、任意の適切な通信経路を介してコンピューティング機器２００と通信し得る、図１のサーバ１０２および１０４等のサーバ２１０をさらに備える。
【００２１】
いくつかの例示的な実施形態において、コンピューティング機器２００は、１つ以上のプロセッサ２０２を備え得る。プロセッサ２０２は、中央処理装置（ＣＰＵ）、マイクロプロセッサ、電子回路、集積回路（ＩＣ）等であり得る。プロセッサ２０２は、コンピューティング機器２００またはその従属構成要素のうちのいずれかによって必要とされる計算を実施するために利用され得る。
【００２２】
開示された発明の対象のいくつかの例示的な実施形態において、コンピューティング機器２００は、入力／出力（Ｉ／Ｏ）モジュール２０５を備え得る。Ｉ／Ｏモジュール２０５は、ユーザに出力を提供し、ユーザから入力を受信するために利用され得る。追加的または代替的に、Ｉ／Ｏモジュール２０５は、サーバ２１０または図１の機器１１０〜１５０のうちの別の１つ等のそれと通信する別のコンピューティング機器２００に出力を提供し、これらから入力を受信するために利用され得る。
【００２３】
いくつかの例示的な実施形態において、コンピューティング機器２００は、メモリ２０７を備え得る。メモリ２０７は、ハードディスクドライブ、フラッシュディスク、ランダムアクセスメモリ（ＲＡＭ）、メモリチップ等であり得る。いくつかの例示的な実施形態において、メモリ２０７は、プロセッサ２０２に、コンピューティング機器２００の従属構成要素のうちのいずれかと関連付けられた作用を実施させるように動作可能なプログラムコードを保持し得る。
【００２４】
メモリ２０７は、実行可能ファイル、ライブラリ、静的ライブラリ、関数、または任意の他の実行可能構成要素として実装される、以下に詳述される１つ以上の構成要素を備え得る。
【００２５】
メモリ２０７は、プログラムリスト２３６および１つ以上の共有鍵２３２を備えるかまたはこれらと通信し得る、ポートスクランブラ２２０を備え得る。ポートスクランブラ２２０は、発信通信と関連付けられたポート番号に対してポートスクランブル関数を選択的に適用するように構成され得る。ポートスクランブラ２２０は、プログラムリスト２３６に列記された（およびコンピューティング機器２００によって実行される）アプリケーションプログラムから発信通信を伝送するために要求を受信することに応答してポートスクランブル関数を適用し得る。ポートスクランブラ２２０は、ポートスクランブル関数のパラメータとして共有鍵２３２を使用し得る。ポートスクランブラ２２０は、発信通信の送信先を識別するポート番号に対してポートスクランブル関数を適用することによって、スクランブルされたポート番号を取得し得る。ポートスクランブラ２２０は、スクランブルされたポート番号によって識別された送信先に発信通信を導き得る。
【００２６】
メモリ２０７は、共有鍵２３２を備えるかまたはこれと通信し得るポート逆スクランブラ２２８を備え得る。ポート逆スクランブラ２２８は、コンピューティング機器２００に対する着信通信と関連付けられたポート番号に対してポート逆スクランブル関数を適用するように構成され得る。ポート逆スクランブル関数は、ポートスクランブラ２２０によって適用されたポートスクランブル関数の逆関数であり得る。ポート逆スクランブラ２２８は、ポート逆スクランブル関数のパラメータとして共有鍵２３２を使用し得る。ポート逆スクランブラ２２８は、スクランブルされたポート番号によって識別されたポートで着信通信を受信し得る。ポート逆スクランブラ２２８は、スクランブルされたポート番号に対してポート逆スクランブル関数を適用することによって逆スクランブルされたポート番号を取得し得る。いくつかの例示的な実施形態において、ポート逆スクランブラ２２８は、全ての着信通信に対してその送信元にかかわらず逆スクランブルを実施し得る。ポート逆スクランブラ２２８は、逆スクランブルされたポート番号によって識別されたポートに着信通信をリダイレクトし得る。ポート逆スクランブラ２２８は、逆スクランブルされたポート番号が、現在、コンピューティング機器２００で実行しているいずれのアプリケーションプログラムにも割り当てられていない場合、サーバ２１０に通知を発行し得る。
【００２７】
コンピューティング機器２００と同様に、サーバ２１０は、プロセッサ（図示せず）、Ｉ／Ｏモジュール（図示せず）およびメモリ（図示せず）を備え得る。
【００２８】
サーバ２１０は、図１のコンピュータネットワーク１００等のコンピュータネットワーク環境において、コンピューティング機器２００等の複数のコンピューティング機器間で共有鍵２３２を生成し配布する鍵配布器２１２を備え得る。鍵配布器２１２は、公開鍵基盤（ＰＫＩ）暗号を使用してコンピューティング機器２００に共有鍵２３２を配布し得る。共有鍵２３２は、固定暗号鍵を備え得る。追加的または代替的に、共有鍵２３２は、定期的に置換され、限定された持続時間に対して有効である、時間依存暗号鍵を備え得る。いくつかの例示的な実施形態において、共有鍵２３２は、定期的に更新される時間依存鍵と、図２のシステムが配備される組織を一意的に識別する固定鍵と、プログラムリスト２３６のハッシュ等のプログラムリスト２３６に依存する鍵と、の３つの鍵を備え得る。
【００２９】
サーバ２１０は、ネットワーク環境において複数のコンピューティング機器間でプログラムリスト２３６を維持し更新するリスト更新器２１４を備え得る。リスト更新器２１４は、例えば、プログラムリスト２３６に対してハッシュ関数を適用し、結果にデジタル署名を行うことによって、コンピューティング機器２００によるプログラムリスト２３６の内容の検証を可能にする資格証明書を提供し得る。資格証明書はまた、共有鍵２３２の１つとして、スクランブルまたは逆スクランブルプロセスのために使用され、鍵配布器２１２によって配布され得る。
【００３０】
サーバ２１０は、鍵配布器２１２によって配布された共有鍵２３２の１つ以上が時間依存である場合に、ネットワーク環境において複数のコンピューティング機器間のシステムクロックを同期化する時間同期器２１６を備え得る。
【００３１】
サーバ２１０は、セキュリティ攻撃および集団感染を検出するために、コンピュータネットワーク環境においてトラフィックを捕捉し分析するために構成された、攻撃検出器２１８を備え得る。攻撃検出器２１８は、逆スクランブルされたポート番号がアプリケーションプログラムに割り当てられていない着信通信に関するコンピューティング機器２００からの通知を受信し分析し得る。
【００３２】
いくつかの例示的な実施形態において、鍵配布器２１２、リスト更新器２１４、時間同期器２１６および攻撃検出器２１８は、１つ以上の別個のサーバに配備され得る。一実施形態において、上記の各々は、単独で別個のサーバに配備される。
【００３３】
ここで、開示された発明の対象のいくつかの例示的な実施形態による、方法のフローチャート図を示す図３Ａを参照する。
【００３４】
ステップ３１０において、発信通信を伝送するためのアプリケーションプログラムの要求が受信され得る。アプリケーションプログラムは、図２のコンピューティング機器２００等のコンピュータ化装置によって実行され得る。発信通信は、第１のポート（「Ｐ」と示される）を介して送信先で受信されるように指定され得る。送信先は、コンピュータ化装置の外部の送信先、例えば、別のコンピューティング機器２００であり得る。例として、ＵＤＰパケットの送信先が、ＩＰアドレスおよびポート（例えば、１９２．１６８．１．５２：８０）として提供され得る。
【００３５】
ステップ３２０において、要求しているアプリケーションプログラムが認証されているか否かの判定がなされ得る。判定は、図２のプログラムリスト２３６等の認証されたプログラムのリストを調べることによって実現され得る。いくつかの例示的な実施形態において、非認証プログラムが、コンピューティング機器において引き続き動作し得るが、開示された発明の対象の視点において、このようなプログラムは、同一ネットワークにおける他の機器と効果的に通信することができない可能性がある。
【００３６】
ステップ３３０において、要求しているアプリケーションプログラムが、ステップ３２０で認証されていると判定された場合において、変換関数が第２のポートの識別子を取得するために第１のポートの識別子に対して適用され得る。変換関数は、図２の共有鍵２３２等の、コンピュータネットワークの複数のコンピューティング機器間で共有された少なくとも１つの秘密パラメータに依存し得る。第１のポートの識別子は、第２のポートの識別子に対して逆変換を適用することによって取得され得る。逆変換は、少なくとも１つの秘密パラメータを共有している機器のみが逆変換を適用することができ得るように、少なくとも１つの秘密パラメータに依存し得る。変換関数は、ＤＥＳ、ＡＥＳ等のような対称暗号関数、またはＲＳＡ、Ｅｌ−Ｇａｍｍａｌ等のような非対称暗号関数のいずれかであり得る。
【００３７】
いくつかの例示的な実施形態において、スクランブルされたポート番号は、Ｉｎｔｅｒｎｅｔ  Ａｓｓｉｇｎｅｄ  Ｎｕｍｂｅｒ  Ａｕｔｈｏｒｉｔｙ（ＩＡＮＡ）等によって公開されている「共通ポート番号」として知られるポート番号等の、概して既知の機能を有するポート番号ではない可能性がある。例として、スクランブルされたポートは、ポート２０〜２１（ＦＴＰ用に使用される）、ポート２２（ＳＳＨ用に使用される）、ポート５３（ＤＮＳ用に使用される）、ポート８０（ＨＴＴＰ用に使用される）、ポート４４３（ＨＴＴＰＳ用に使用される）等ではない可能性がある。ステップ３３０において、変換関数が除外ポートを提供する場合において、次に非除外ポートが選択され得る。追加的または代替的に、除外ポートのリストは、共通ポート番号または常に除外される他のポート番号を含み得る。リストはまた、以前の時間区分においてスクランブルされたポートとして使用されたポート番号を含み得る。例えば、ポート８０が第１の時間区分中にポート１５７９にスクランブルされた場合において、次の時間区分において、ポート８０が異なるポート番号にスクランブルされるとき、全ての他のポートは、衝突および混同を回避するためにポート１５７９にスクランブルされることから除外され得る。このような実施形態において、ポート１５７９に向けられ第２の区分において受信されるパケットは、第１の時間区分中にポート８０に向かって伝送されたパケットとして一意的に識別され得る。
【００３８】
ステップ３４０において、発信通信は、第２のポートを介して送信先で受信されるように導かれ得る。送信元アドレスが１９２．１６８．１．５２：８０であり、ポート８０がポート１５７９にスクランブルされる上記の例において、発信通信は、１９２．１６８．１．５２：１５７９に伝送され得る。
【００３９】
いくつかの例示的な実施形態において、少なくとも１つの秘密パラメータの内容は、ネットワークの複数のコンピューティング機器の各々において更新され得る。結果として、変換関数の動作は、ネットワークの全てのコンピューティング機器に対して動的かつ自動的に変更され得る。特に、第１のポートを介して受信される発信通信を伝送するための後続の要求は、結果として、ステップ３３０における変換関数のアプリケーションが、第２のポートとは異なる第３のポートの識別子を得ることをもたらし得る。いくつかの例示的な実施形態において、変換関数は、ユーザがその変更された定義を提供することなく変更される。
【００４０】
ここで、開示された発明の対象のいくつかの例示的な実施形態による、方法のフローチャート図を示す図３Ｂを参照する。
【００４１】
ステップ３５０において、図２のコンピューティング機器２００等のコンピュータ化装置の第１のポートを介して着信通信が受信され得る。着信通信は、コンピュータネットワーク１００等のコンピュータネットワークを介して外部機器から受信され得る。
【００４２】
ステップ３６０において、第２のポートの識別子は、第１のポートの識別子に対して逆変換関数を適用することによって取得され得る。逆変換関数は、図２の共有鍵２３２等の、コンピュータネットワークの複数のコンピューティング機器間で共有された少なくとも１つの秘密パラメータに依存し得る。
【００４３】
ステップ３７０において、第２のポートが有効であるか否かの判定がなされ得る。有効なポートは、図２のプログラムリスト２３６等の認証されたプログラムのリストの任意のプログラムによって使用される任意のポートであり得る。追加的または代替的に、有効なポートは、任意の共通ポートであり得る。追加的または代替的に、有効なポートは、コンピュータ化装置によって実行されるプログラムによって使用される任意のポートであり得る。
【００４４】
ステップ３８０において、第２のポートがステップ３７０で有効なポートであると判定された場合、着信通信は、第２のポートにリダイレクトされ得る。いくつかの例示的な実施形態において、続いて、着信通信は、プログラムによって受信され、適切に取り扱われる。
【００４５】
ステップ３９０において、第２のポートがステップ３７０で有効なポートではないと判定された場合、対応する通知が、図２のサーバ２１０における攻撃検出器２１８等の、攻撃を検出するためにネットワークトラフィックを捕捉して分析することを担う実体に発行され得る。追加的または代替的に、受信された通信は、除外され無視され得る。
【００４６】
いくつかの例示的な実施形態において、図２のプログラムリスト２３６等の認証されたプログラムのリストの一部ではないアプリケーションによって発行された通信は、図３Ａにおいて説明されたようにはスクランブルされず、したがって、図３Ｂに図示されるように、受信機器において所望の最終送信先によって受信されず取り扱われない。結果として、ネットワーク上の機器によって実行されるいかなる非認証プログラムも、他の機器と効果的に通信することができない。
【００４７】
いくつかの例示的な実施形態において、非認証アプリケーションは、悪性ユーザに報告するために外部ネットワークに効果的にアクセスすることができない。外部ネットワークの機器と通信するために、機器はまず、ネットワークを外部ネットワークに接続する、ルータ、ブリッジ、スイッチまたはルータとして参照される類似機器と通信する必要がある。このような通信はまた、スクランブルされたポートに基づいて実施され得る。結果として、非認証アプリケーションによって開始された通信がスクランブルされていないので、ルータは、その通信を却下し、それを有効化しない。
【００４８】
いくつかの例示的な実施形態において、組織のネットワークの通信は、ファイアウォールを通過し得る。ファイアウォールは、ポートスクランブル／逆スクランブルを取り扱うように構成されていない可能性がある。このような場合において、伝送機器は、パケットがファイアウォールに直接伝送されることを判定し、このようなパケットのポートスクランブルを回避し得る。追加的または代替的に、ファイアウォールからパケットを直接受信する受信機器は、受信されたパケットに対してポート逆スクランブルを実施することを回避し得る。
【００４９】
本発明は、システム、方法、および／またはコンピュータプログラム製品であり得る。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を自身に有するコンピュータ可読記憶媒体（またはメディア）を含み得る。
【００５０】
コンピュータ可読記憶媒体は、命令実行機器によって使用するための命令を保持および記憶し得る有形機器であり得る。コンピュータ可読記憶媒体は、例えば、限定されるものではないが、電子記憶機器、磁気記憶機器、光学記憶機器、電磁記憶機器、半導体記憶機器、または上記の任意の適切な組み合わせであり得る。コンピュータ可読記憶媒体のより具体的例の非排他的リストは、携帯用コンピュータフロッピーディスク、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）、静的ランダムアクセスメモリ（ＳＲＡＭ）、携帯用コンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリスティック、フロッピーディスク、パンチカードまたは自身に記憶された命令を有する溝における隆起構造等の機械的符号化機器、および上記の任意の適切な組み合わせを含む。本明細書において使用されるように、コンピュータ可読記憶媒体は、無線波もしくは他の自由に伝播する電磁波、導波路を通って伝播する電磁波もしくは他の伝送媒体（例えば、光ファイバケーブル通過する光パルス）、または配線を通って伝送される電気信号等の、それ自体が一時的信号であるものとして解釈されるべきではない。
【００５１】
本明細書において説明されたコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング／処理機器、または、例えば、インターネット、ローカルエリアネットワーク、広域ネットワークおよび／または無線ネットワークを介して外部コンピュータもしくは外部記憶機器にダウンロードされ得る。ネットワークは、銅の伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータおよび／またはエッジサーバを備え得る。各コンピューティング／処理機器のネットワークアダプタカードまたはネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング／処理機器内のコンピュータ可読記憶媒体の記憶装置に対してコンピュータ可読プログラム命令を送る。
【００５２】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはスモールトーク、Ｃ＋＋等のようなオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語もしくは類似のプログラミング言語等の従来の手続き型プログラミング言語を含む、１つ以上のプログラミング言語の任意の組み合わせで書かれたソースコードもしくはオブジェクトコードのいずれかであり得る。コンピュータ可読プログラム命令は、完全にユーザのコンピュータにおいて、スタンドアロンソフトウェアパッケージとして部分的にユーザのコンピュータにおいて、部分的にユーザのコンピュータおよび部分的に遠隔コンピュータにおいて、または完全に遠隔コンピュータもしくはサーバにおいて実行され得る。後者のシナリオにおいて、遠隔コンピュータは、ローカルエリアネットワーク（ＬＡＮ）もしくは広域ネットワーク（ＷＡＮ）を含む、任意の形式のネットワークを通してユーザのコンピュータに接続され得るか、または接続は、外部コンピュータになされ得る（例えば、インターネットサービスプロバイダを使用してインターネットを通して）。いくつかの実施形態において、例えば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、またはプログラマブル論理アレイ（ＰＬＡ）を含む電子回路は、本発明の態様を実施するために、電子回路を個別化するようにコンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行し得る。
【００５３】
本発明の態様は、本発明の実施形態による、方法、装置（システム）、およびコンピュータプログラム製品のフローチャートの例示ならびに／またはブロック図を参照して本明細書において説明されている。フローチャートの例示および／またはブロック図の各ブロック、ならびにフローチャートの例示および／またはブロック図のブロックの組み合わせが、コンピュータ可読プログラム命令によって実装され得ることが理解されることになる。
【００５４】
コンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行する命令が、フローチャートおよび／またはブロック図のブロックにおいて特定機能／作用を実装するための手段を作成するように、機械を動かすために、汎用コンピュータ、特定用途向けコンピュータ、または他のプログラマブルデータ処理装置のプロセッサに提供され得る。これらのコンピュータ可読プログラム命令はまた、自身に記憶された命令を有するコンピュータ可読記憶媒体が、フローチャートおよび／またはブロック図のブロックにおいて特定機能／作用の態様を実装する命令を含む製品を備えるように、コンピュータ、プログラマブルデータ処理装置および／または特定様式で機能する他の機器を導き得るコンピュータ可読記憶媒体に記憶され得る。
【００５５】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブルデータ処理装置、または他の機器において実行する命令がフローチャートおよび／またはブロック図のブロックにおいて指定される機能／作用を実装するように、コンピュータ、他のプログラマブルデータ処理装置、または他の機器において実施される一連の動作ステップに、コンピュータ実装プロセスを生成させるために、コンピュータ、他のプログラマブルデータ処理装置、または他の機器において読み出され得る。
【００５６】
図のフローチャートおよびブロック図は、本発明の種々の実施形態による、システム、方法、およびコンピュータプログラム製品の可能な実装のアーキテクチャ、機能、および動作を例示する。この点において、フローチャートまたはブロック図の各ブロックは、特定論理機能を実装するための１つ以上の実行可能命令を備える、モジュール、区分、または命令の部分を表現し得る。いくつかの代替的実装において、ブロックに記された機能は、図に記された順番以外で起こり得る。例えば、連続して示された２つのブロックは、事実上、実質的に同時に実行されてもよく、またはブロックは、関係する機能に依存して、逆の順番で実行されることもあり得る。ブロック図および／またはフローチャートの例示の各ブロック、ならびにブロック図および／またはフローチャートの例示のブロックの組み合わせが、特定機能もしくは作用を実施するかまたは特定用途向けハードウェアおよびコンピュータ命令の組み合わせを実行する、特定用途向けハードウェア基盤システムによって実装され得ることがまた留意されることになる。
【００５７】
本明細書において使用された用語法は、特定実施形態を説明する目的のみのためのものであり、本発明の限定であることを意図されるものではない。本明細書において使用されるように、単一形「ａ」、「ａｎ」および「ｔｈｅ」は、文脈において別途、明確に示されない限り、複数形を同様に含むように意図される。本明細書において使用されるときに「備える」および／または「備えている」という用語は、記載された特徴、整数、ステップ、動作、要素、および／または構成要素の存在を特定するが、１つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、および／またはそれらの群の存在または追加を排除するものではないことがさらに理解されることになる。
【００５８】
以下の請求項において、全ての手段またはステップおよび機能要素の対応する構造、材料、作用、および同等物は、具体的に特許請求される他の特許請求される要素と組み合わせた、該機能を実施するための任意の構造、材料、または作用を含むことが意図される。本発明の説明は、例示および説明の目的のために提示されてきたが、開示された形式の発明に対し、排他的または限定的であることが意図されるものではない。多くの変更例および変形例が、本発明の範囲および概念から逸脱することなく、当技術分野において通常の知識を有する者には明らかとなるであろう。実施形態は、本発明の原理および実用用途を最良に説明するために、ならびに当技術分野において通常の知識を有する他の者が、考慮された特定の用途に適するように種々の変形例を用いる種々の実施形態に対する発明を理解することを可能にするために、選択され説明された。
【図１】
2018533145.tif 000003
【図２】
2018533145.tif 000004
【図３Ａ】
2018533145.tif 000005
【図３Ｂ】
2018533145.tif 000006
【国際調査報告】
2018533145.tif 000007
2018533145.tif 000008
2018533145.tif 000009
2018533145.tif 000010
2018533145.tif 000011
2018533145.tif 000012