(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0008】
種々の実装に従って、セキュリティコンテキストをネットワーク経路制御決定に統合するための方法及び装置が、本明細書に記載される。実装は、ルータを介して、データにアクセスするための要求に対する応答のセキュリティコンテキストに基づいて、データの流れを制御する。セキュリティコンテキストの例としては、要求に対する応答内のデータの秘密度、応答に関連付けられたネットワークのセキュリティ、要求を受信するためのユーザデバイスのセキュリティ等が挙げられるが、これらに限定されない。例えば、応答データの秘密性が極めて高く、ネットワーク及び/又はユーザデバイスが安全ではないと考えられる場合、ルータは、秘密性が極めて高い応答データのユーザデバイスへの流れを防ぐことができる。本開示の実装は、応答のセキュリティコンテキストに基づいてルートを選択することによって、ルータを使用して、データの流れを制御するためのポリシーを自動的に実装することができる。実装は、異なる応答のために異なるルートを選択することができる。実装は、要求に対する応答において行うことができる動作、その動作を行うために使用することができるユーザデバイス及びネットワーク、並びにその動作を行うために使用することができるデータを制御することができる。
【0009】
図1は、本開示の実装が実装され得る一例となるシステムアーキテクチャ100である。システムアーキテクチャ100は、1つ以上のネットワーク120A〜Cを介して接続された1つ以上の機械130、140、160、180、1つ以上のルータ110A〜D、1つ以上のスイッチ150A〜B、及び1つ以上のユーザデバイス104A〜Bを含むことができる。ネットワーク120A〜Cは、インターネット若しくは同様の通信システム等の1つ以上のローカルエリアネットワーク(LAN)、1つ以上の無線ネットワーク、1つ以上の移動体通信ネットワーク、1つ以上の広域ネットワーク(WAN)、又はそれらの組み合わせを含むことができる。ネットワーク120A〜Cは、有線及び無線デバイス等の1つ以上のネットワークデバイス及び/又は計算デバイスを含むことができる。
【0010】
例えば、ネットワーク120Cは、プライベートネットワークであってもよい。プライベートネットワークは、以降、オンプレミスネットワークと称される。例えば、企業は、オンプレミス環境105においてオンプレミスネットワーク120Cを提供及び管理してもよい。企業は、任意の個人、法人等の営利事業体、専門学校及び大学等の教育機関等の実体であり得るが、これらに限定されない。ネットワーク120A〜Bは、公共ネットワークであってもよい。ネットワーク120Aは、Wi−Fiネットワークであってもよい。Wi−Fiは、電子デバイスが、ネットワークを介して無線でデータを交換することを可能にする技術である。ユーザデバイス104Aは、Wi−Fiを使用して、無線アクセスポイントプロキシ132を介して、インターネット等のネットワークリソースに接続することができるデバイスであり得る。
【0011】
無線アクセスポイント(WAP)プロキシ132は、ユーザデバイス104Aが、Wi−Fi又は関連標準を使用して有線ネットワークに接続することを可能にする。無線アクセスポイントプロキシ132は、サーバコンピュータ、ゲートウェイコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、又は同様の計算デバイスを含む、あらゆる型の計算デバイスによってホストされ得る。無線アクセスポイントプロキシ132は、インターネットサービスプロバイダへの回線に接続されているルータ110Aの使用を通じて、無線ローカルエリアネットワークを介してインターネットアクセスを提供する場所であるホットスポットを作成する。ホットスポットは、典型的には、Wi−Fi技術を使用する。ホットスポットは、ホテル、空港、コーヒーショップ、小売店、及び種々の別の公共施設において見ることができる。無線アクセスポイントプロキシ132は、第三者(例えば、ホテル、空港、コーヒーショップ、小売店、種々の別の公共施設等)によって提供され、維持され得る。
【0012】
ユーザデバイス104A〜Bは、デスクトップコンピュータ、セットトップボックス、ゲーミングコンソール、テレビ、及び限定されないが、携帯電話、携帯情報端末(PDA)、携帯メディアプレーヤー、ネットブック、ラップトップコンピュータ、電子書籍リーダー等の携帯計算デバイス等の計算デバイスであり得る。
【0013】
機械140、160は、記憶デバイス(例えば、データストア170A〜B)上にファイルとしてデータ171A〜Bを記憶するための記憶サーバ143A〜Bを含み得る。機械140、160、180には、サーバコンピュータ、ゲートウェイコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、主コンピュータ、携帯情報端末、手持ち式デバイス、又はデータを処理するために構成された任意の別のデバイス等の任意のデータ処理デバイスを含み得るが、これらに限定されない。記憶サーバ143A〜Bは、1つ以上のスイッチ150A〜Bを介してネットワーク120Cと連結することができる。
【0014】
データストア170A〜Bは、磁気若しくは光記憶ベースのディスク、ソリッドステートドライブ(SSD)、又はハードドライブ等の大量記憶デバイスであり得る。1つの実装において、システムアーキテクチャ100は、分散ファイルシステムを含み、それは、1つ以上の機械140、160及び1つ以上のデータストア170A〜Bを含むネットワーク接続された記憶ファイルシステムであり得る。記憶サーバ143A〜Bは、データ171A〜Bへのアクセスを管理することができる。
【0015】
ユーザデバイス104A〜Bは、記憶サーバ143A〜Bを介して、データ171A〜Bへのアクセスを作成する又は要求する1つ以上のアプリケーションをホストすることができる。アプリケーションは、例えば、ウェブアプリケーション、デスクトップアプリケーション、ブラウザアプリケーション等を含む任意の種類のアプリケーションであり得る。データ171A〜Bにアクセスするための要求の例には、データの読み取り、データの書き込み、データの変更等が含まれるが、これらに限定されない。
【0016】
1つ以上の機械180は、データ171A〜Bに関するサービスを提供するための1つ以上のサーバを含むことができる。サービスの例としては、データ消失防止(DLP)、バックアップ、アーカイブ、抗ウイルス、データ管理、開示、フォレンジック、監査、データ共有分析等が挙げられるが、これらに限定されない。簡潔及び簡略化のため、本書面全体を通して、DLPサーバ181が、サービスを提供するサーバの一例として使用される。DLPサーバ181は、データストア170A〜Bに記憶されたデータ171A〜Bの秘密度レベルを記述する秘密度データ118を生成し得る。例えば、秘密度データ118は、データ171Aが極秘データであること、及びデータ171Bが秘密データではないことを記述し得る。1つの実装において、DLPサーバ181は、秘密度データ118を制御モジュール115に送信し、制御モジュール115は、秘密度データ118をローカルに記憶する。
【0017】
機械130は、データ171A〜Bに関するポリシー117を定義するためのポリシー管理サーバ135を含み得る。例えば、ポリシー117は、極秘データが、安全なユーザデバイス及びデータトラフィックに対する安全なルート経路を含む安全なネットワークを使用して、アクセスされるべきであることを指定し得る。ルータ経路は、ネットワーク要素(例えば、ルータ、スイッチ等)を含む。ルータ経路は、選択されたネットワーク要素に基づいて変更され得る。ポリシー管理サーバ135は、ポリシー管理サーバ135と連結しているユーザインタフェース(UI)を介するユーザ(例えば、システム管理者)の入力からポリシー117を作成することができる。UIは、グラフィカルユーザインタフェース(GUI)、コマンドラインインタフェース等であってもよい。1つの実装において、ポリシー管理サーバ135は、ポリシー117を制御モジュール115に送信し、制御モジュール115は、ポリシー117をローカルに記憶する。
【0018】
例えば、ユーザデバイス104A〜Bによってデータが要求されるとき、企業は、応答内のデータの秘密度及び要求に対する応答のセキュリティコンテキストに基づいて、データ171A〜Bの流れを制御することを望む場合がある。応答のセキュリティコンテキストは、例えば、応答を受信するユーザデバイスのセキュリティ、応答に関連付けられたネットワークのセキュリティ等を含むが、これらに限定されない。例えば、企業ユーザ102Bは、ユーザデバイス102B及びオンプレミスネットワーク120Cを使用するデータ171Bへのアクセスを要求し得る。記憶サーバ143Aは、データ171Bを含む応答を生成し得る。ルータ110Cは、オンプレミスネットワーク120Cを介するルータ経路を使用して、ユーザデバイス102Bへの応答を送信することを決定し得る。別の例では、企業ユーザ102Aは、ユーザデバイス102A及び公共ネットワーク120Aを使用してデータ171Bへのアクセスを要求し得る。記憶サーバ143Bは、データ171Bを含む応答を生成し得る。ルータ11Cは、応答が、公共ネットワーク120Aを介したルータ経路を使用してユーザデバイス102Aに送信されることを防ぐことを決定し得る。
【0019】
ソフトウェア確定ネットワークは、第三者ポリシー及びポリシーに関する第三者コンテキストデータを記憶するように構成され得る要素(例えば、ルータ、スイッチ等)を含むネットワークである。例えば、会社Aによって製造されたルータは、企業であり得る会社Bが、ルータ上に会社Bポリシー117及び会社Bコンテキストデータを記憶することを可能にするAPI(アプリケーションプログラミングインタフェース)を含み得る。ルータは、APIを介して、会社Bのポリシー117を実装するように構成されてもよい。例えば、ネットワーク120Cは、企業ポリシー117を実装する1つ以上のルータ(例えば、ルータ110C)を含むソフトウェア確定ネットワークであり得る。ルータ110Cは、応答のセキュリティコンテキストに基づいて、要求に対する応答の流れを制御するためのポリシー117を実装するための制御モジュール115を含み得る。例えば、記憶サーバ(例えば、記憶サーバ143A〜B)は、要求されたデータ(例えば、企業データ171A〜B)を含み得る応答を構築し得る。制御モジュール115は、記憶サーバから応答を受信し、応答内のデータ(例えば、データ171A)が、ネットワーク(例えば、ネットワーク120A)を介して、ユーザデバイス(例えば、ユーザデバイス104A)に流れることを許可するかどうか、及び許可する場合、そのデータの流れに対して、どのルータ、ルータ経路、スイッチ(例えば、スイッチ150A〜B)、及び/又はネットワークを使用するかを決定し得る。制御モジュール115は、ポリシー117及び秘密度データ118を使用して確定することができる。制御モジュール115は、企業のポリシー117、応答データ(例えば、データ171A)の秘密度レベル、応答を受信するユーザデバイス104Aに関連付けられたセキュリティレベル、及び応答に関連付けられ得るネットワーク120Aに関連付けられたセキュリティレベルに基づいて、確定し得る。例えば、制御モジュール115は、応答が、秘密性が極めて高いデータ171Aを含むこと、応答を受信するユーザデバイス102Aがスマートフォンであり、安全ではないデバイスの種類として分類されること、並びに応答を送達するために使用されるネットワーク120Aが、公共のWi−Fiホットスポットであり、安全ではないネットワークの種類として分類されることを決定し得る。ポリシー117は、制御モジュール115が、応答データ(例えば、データ171A)がユーザデバイス102Aに流れることを許可するべきではないことを指定し得る。別の例では、ポリシー117は、応答データ(例えば、データ171A)が、安全なネットワーク、1つ以上の安全なルータ経路、及び安全なネットワーク要素(例えば、ルータ、スイッチ)を使用して、安全なユーザデバイスに流れることを許可してもよい。例えば、制御モジュール115は、ユーザデバイス104Bが、セキュリティエージェント(例えば、DLPエージェント、抗ウイルスエージェント等)を実行しているデスクトップコンピュータであること、及びネットワーク120Cが、安全な自社運用ネットワークであることを決定することができ、制御モジュール115は、応答データ(例えば、データ171A)が、ネットワーク120C並びにルータ110C及びスイッチ150Aを含むルータ経路を介して、ユーザデバイス104Bに流れることを許可し得る。
【0020】
ポリシー管理サーバ135は、システムアーキテクチャ100内の種々の種類のネットワーキングリソース(例えば、ルータ110A〜D、スイッチ150A〜B、ネットワーク120A〜C、ユーザデバイス104A〜B等)にセキュリティ分類を割り当てるための分類データ119を作成し得る。例えば、分類データ119は、スマートフォン及びタブレットコンピュータを安全ではないデバイスとして分類し得る。別の例では、分類データ119は、公共ネットワークを安全ではないネットワークとして分類し得る。実装上において、ポリシー管理サーバ135は、分類データ119を制御モジュール115に送信し、制御モジュール115は、分類データ119をローカルで記憶する。
【0021】
例えば、ユーザデバイス104A中のアプリケーションは、データ171Aへのアクセスを要求することができる。要求は、ユーザデバイス104Aから、WAP 132及びルータ(例えば、ルータ110A、ルータ110B、ルータ110C)を通してデータ171Aを管理する記憶サーバ143Aに伝送される。記憶サーバ143Aは、要求に対するネットワークペイロード(例えば、データ171A)を含む応答を構築することができる。ネットワークパケットは、制御情報及びユーザデータ(例えば、データ171A)(ネットワークペイロードとしても知られる)からなる。ルータ110Cは、応答を受信し、応答データ(例えば、ネットワークペイロードデータ171A)の秘密度、応答のセキュリティコンテキスト、及びポリシー117に基づいて、応答をユーザデバイス104Aに経路制御するか、又は応答がユーザデバイス104Aへ送信されることを防ぐかどうかを決定し得る。制御モジュール115は、ローカルに記憶された秘密度データ118を使用して、応答データ内のネットワークペイロード(例えば、データ171A)の秘密度レベルを決定し得る。制御モジュール115は、ローカルに記憶された分類データ119を使用して、ユーザデバイス104A、ネットワーク120A、及び種々のルータ経路のルータ(例えば、ルータ110A及びルータ110B)、並びにネットワーク120Aと連結しているネットワーク(例えば、ネットワーク120B)に関連付けられたセキュリティレベルを決定することができる。制御モジュール115は、応答を受信するユーザデバイスの種類及び応答に関連付けられたネットワークの種類を識別するデータをローカルに記憶することができる。
【0022】
制御モジュール115は、応答データ内のネットワークペイロード(例えば、データ171A)が、秘密性が極めて高いこと、ユーザデバイス104Aが、安全ではないデバイスとして分類されるスマートフォンであること、ルータ経路のルータ110Aが安全ではないと分類されること、並びにネットワーク120Aが、安全ではないネットワークとして分類される公共ネットワークであることを決定し得る。制御モジュール115は、ネットワーク120B及びルータ経路のルータ110Bが、安全であることを決定し得る。ルータ110D上でローカルに記憶されたポリシー117のうちの1つは、極秘データが、安全なネットワーク、安全なルータ経路の安全なルータを介して安全なユーザデバイスに流れることができることを示してもよく、制御モジュール115は、ネットワーク120、ルータ110A、及びユーザデバイス104Aが安全ではない場合に、応答データ(例えば、データ171A)のユーザデバイス104Aへの流れを妨げることができる。あるいは、制御モジュール115は、1つ以上のポリシー117に基づいて、ストロングキーを使用して応答データ(例えば、データ171A)を暗号化することを選択してもよい。
【0023】
1つの実装において、制御モジュール115は、種々の地理(例えば、都市、州、国等)にあるルータを使用して、データの流れを制御することができる。例えば、制御モジュール115は、日本に常駐するルータ110Dと連結していてもよい。分類データ119は、地理学に基づいてルータを安全である又は安全ではないと分類するデータを含み得る。制御モジュール115は、安全なルータを使用してデータを制御することができ、敵対的な地理におけるルータを避けてもよい。敵対的な地理とは、データ攻撃、データ傍受等の傾向があるものである。
【0024】
図2は、制御モジュール200の1つの実装のブロック図である。制御モジュール200は、
図1のルータ110Cにおける制御モジュール115と同じものであってもよい。制御モジュール200は、データサブモジュール201、コンテキストサブモジュール205、アクションサブモジュール207、及びユーザインタフェースサブモジュール209を含み得る。サブモジュールは、特定の実装に従って、更なるサブモジュールと一緒に組み合わされていてもよく、又は別々であってもよい。
【0025】
制御モジュール200は、これらに限定されないが、構成データ251、秘密度データ253、分類データ255、ポリシー257、及びリソースデータ259等のデータを記憶する1つ以上のデータストア250と連結し得る。1つの実装において、データサブモジュール203は、データ(例えば、構成データ251、秘密度データ253、分類データ255、ポリシー257、及びリソースデータ259等)を1つ以上のシステム(例えば、ポリシー管理サーバ、DLPサーバ等)から受信し、そのデータをデータストア250に記憶する。1つの実装において、データサブモジュール203は、ユーザインタフェース(UI)201を介して、ユーザインタフェース(UI)サブモジュール209によって生成されるユーザ入力を受信し、UI 201を介して、データ(例えば、構成データ251、秘密度データ253、分類データ255、ポリシー257、及びリソースデータ259等)を定義及び/又は更新する。UI 201は、グラフィカルユーザインタフェース(GUI)、コマンドラインインタフェース等であってもよい。
【0026】
秘密度データ253は、要求に対する応答に含まれるデータ(例えば、ファイル)に対する秘密度レベルを記述することができ、1つ以上のデータストアに記憶される。種々の秘密度識別子を使用して、秘密度レベルを記述することができる。例えば、秘密度レベルには、「秘密性−高」、「秘密性−中」、及び「秘密性−低」が含まれるが、これらに限定されない。別の例では、秘密度レベルは、「秘密性−1」、「秘密性−2」、及び「秘密性−n」を含み得るが、これらに限定されず、尺度は、秘密度の度合いを示し得る。
【0027】
例えば、ユーザデバイスによってデータが要求されるとき、要求は、ルータを通して、要求されたデータを管理する記憶サーバに経路制御される。コンテキストサブモジュール205は、要求に対する応答データ261をデータストア250に記憶することができる。応答データの例としては、要求に対する応答を受信するためのユーザデバイスの種類を示すユーザデバイス識別子、IP(インターネットプロトコル)アドレス等が挙げられるが、これらに限定されない。
【0028】
記憶サーバが要求を受信するとき、記憶サーバは、要求に対する応答を作成し、その応答をルータ内の制御モジュール200を通してユーザデバイスへ送信することを試みることができる。応答データは、要求されたデータを含むことができる。コンテキストサブモジュール205は、応答のためのセキュリティコンテキストを決定することができる。セキュリティコンテキストの例としては、応答データの秘密度レベル、応答を受信するためのユーザデバイスのセキュリティレベル、応答に関連付けられたネットワーク要素(例えば、ルータ経路、ルータ、スイッチ等)のセキュリティレベル、並びに応答に関連付けられた宛先ネットワークのセキュリティレベルが挙げられるが、これらに限定されない。例えば、コンテキストサブモジュール205は、ネットワークペイロード(例えば、要求されたファイル)を含む記憶サーバからの応答を受信し得る。コンテキストサブモジュール205は、ネットワークペイロード(例えば、ファイル)の秘密度レベルを決定することができる。コンテキストサブモジュール205は、ハッシュ値を計算するためにネットワークペイロードに対してハッシュ関数を行うことができる。構成データ251は、どのハッシュ関数をコンテキストサブモジュール205が使用するべきかを指定することができる。コンテキストサブモジュール205は、例えば、データ分類サービスに照会することにより、秘密度データ253内のネットワークペイロード(例えば、ファイル)に対する秘密度レベルを探索するためのキーとしてハッシュ値を使用することができる。データ分類サービスは、企業環境(例えば、
図1の自社運用環境105)におけるサーバコンピュータシステムによってホストされ得る。例えば、応答は、「秘密性−高」として分類され得るファイル−2839758のネットワークペイロードを含み得る。
【0029】
コンテキストサブモジュール205は、分類データ255を使用して、ユーザデバイスのセキュリティレベル、ルータ経路を作製するネットワーク要素(例えば、ルータ、スイッチ等)、及びユーザデバイスへの応答の送信に関連付けられたネットワークを決定し得る。分類データ255は、種々の種類のネットワーク要素(例えば、ユーザデバイス、ルータ、スイッチ、ネットワーク等)に割り当てられたセキュリティレベルを含み得る。例えば、分類データ255は、スマートフォン及びタブレットコンピュータを安全ではないユーザデバイスとして、公共ネットワークを安全ではないネットワークとして、敵対的な地理におけるルータ及びスイッチを安全ではないネットワーク要素として等のように、割り当てることができる。
【0030】
アクションサブモジュール207は、応答のためのセキュリティコンテキストに1つ以上のポリシー257を適用し、応答のためのデータの流れを制御するために行う経路制御アクションを決定することができる。ポリシー257は、アクセスされ得る応答データの種類(例えば、極秘、中度の秘密性、秘密ではない)、応答データにアクセスするために使用され得るユーザデバイスの種類、応答データの伝送及び/若しくはアクセスに使用され得るネットワークの種類、並びに/又は応答データの伝送及び/又はアクセスに使用され得るネットワーク要素(例えば、ルータ、スイッチ等)の種類及びルータ経路の種類を定義することができる。例えば、ポリシーは、極秘応答データが、安全なルータ経路の安全なネットワーク要素及び安全なネットワークを使用して、ユーザデバイスに伝送されるべきであることを指定し得る。経路制御アクションは、例えば、要求に対する応答と通信するために使用するユーザデバイス、ルータ、スイッチ、ルータ経路、及び/又はネットワークの種類、並びに存在する場合、応答データに対する認可へのアクセスの種類を指定し得る。
【0031】
アクションサブモジュール207は、リソースデータ259を使用して、経路制御アクションを行うために使用する1つ以上のネットワークリソース(例えば、ルータ、スイッチ等)及び/又は1つ以上のルータ経路を選択することができる。例えば、経路制御アクションは、特定のルータ経路及びネットワークにおける1つ以上の安全なルータ及びスイッチを使用して、ユーザデバイスへの応答データの流れを許可することであり得る。リソースデータには、例えば、安全である、安全ではない、利用可能である、利用不可能である、暗号化された、私的な、公共の、敵対的な地理にある、ルータ、スイッチ、ルータ経路、ネットワーク等の一覧、並びにルータ、スイッチ、ネットワーク等に関連付けられ得るサービス料が挙げられるが、これらに限定されない。
【0032】
例えば、リソースデータ259は、ルータ−3894728が敵対的な地理にあるルータ経路の一部であることを記述し得る。アクションサブモジュール207は、リソースデータ259から、どれが選択される安全なルータ、スイッチ、ルータ経路、及び/又はネットワークであるかを決定し得、その安全なルータ、スイッチ、ルータ経路、及び/又はネットワークのうちの1つ以上を選択することができる。
【0033】
アクションサブモジュール207は、選択されたルータ、スイッチ、及び/又はネットワークを使用して、要求に対する応答を送信することができる。アクションサブモジュール207は、応答命令を生成し、その応答命令をデータ経路にある次のルータに送信することができる。応答命令は、要求に応答するために、どのルータ、スイッチ、及び/又はネットワークが使用されるべきかを記述することができる。例えば、アクションサブモジュール207は、データが、アメリカ合衆国からインドへ流れることを許可してもよく、データの流路にある次のルータとして日本のルータ−3489728が選択されてもよい。アクションサブモジュール207は、要求に対するデータの流れが、中国の1つ以上のルータ及びインドの1つ以上のルータからなるネットワーク経路を使用するべきであるという命令をルータ−3489728に送信し得る。
【0034】
データストア250は、永続的な記憶装置であり得る。永続的な記憶装置は、ローカル記憶装置又は遠隔記憶装置であり得る。永続的な記憶装置は、磁気記憶装置、光記憶装置、ソリッドステート記憶装置、電子記憶装置(メインメモリ)、又は同様の記憶装置であり得る。永続的な記憶装置は、モノリシックデバイス又は分散したセットのデバイスであり得る。本明細書で使用される場合、「セット」とは、品目のあらゆる正の整数を指す。
【0035】
図3は、セキュリティコンテキストをネットワーク経路制御決定に統合するための方法300の実装の流れ図である。方法300は、ハードウェア(例えば、回路網、専用ロジック、プログラマブルロジック、マイクロコード等)、ソフトウェア(例えば、処理デバイス上で実行される命令)、又はそれらの組み合わせを備えることができる、処理ロジックによって行われ得る。1つの実装において、方法300は、
図1のルータ110Cにおける制御モジュール115によって行われる。
【0036】
ブロック301では、ルータは、データ(例えば、ファイル)にアクセスするための要求に対する応答内のファイル等のデータに対するネットワークペイロードを受信する。ユーザデバイス中のアプリケーションは、データ(例えば、ファイル)へのアクセスを要求することができる。アプリケーションは、例えば、ウェブアプリケーション、デスクトップアプリケーション、ブラウザアプリケーション等を含む任意の種類のアプリケーションであり得る。要求に対する応答において、記憶サーバは、ネットワークペイロード(例えば、ファイル)をルータに送信し、ユーザデバイスへ経路制御することができる。
【0037】
ブロック303では、ルータが記憶サーバから応答データ内のネットワークペイロードを受信するとき、ルータは、ハッシュ値を計算するためにネットワークペイロードに対してハッシュ関数を行う。ハッシュ関数は、ルータと連結しているデータストアに記憶された構成データにおいて定義され得る。ブロック305では、ルータは、ハッシュ値を秘密度データに対するキーとして使用して、ネットワークペイロード(例えば、ファイル)の秘密度レベルを決定する。ルータは、ハッシュ値を使用して、ネットワークペイロード(例えば、ファイル)に対する秘密度レベルを決定することができる。例えば、ルータは、ハッシュ値を使用して、ネットワークペイロードに対する秘密度レベルに関して分類サーバに照会することができる。秘密度データは、ファイルが、例えば、これらに限定されないが、「極秘」、「中度の秘密性」等であるかどうかを示し得る。
【0038】
ブロック307では、ルータは、応答に対する宛先ユーザデバイスのセキュリティレベルを識別する。ルータは、種々の種類のユーザデバイスに関する分類データを記憶するデータストアと連結し得る。例えば、分類データは、スマートフォンを安全ではないデバイスとして、タブレットコンピュータを安全ではないデバイスとして、セキュリティエージェントを実行するラップトップを安全なデバイスとして、セキュリティエージェントを実行するデスクトップを安全なデバイスとして等、分類することができる。ルータは、ユーザデバイスからの初期要求からの応答に関連付けられたユーザデバイスの種類を決定することができる。例えば、要求は、データ(例えば、ファイル)を要求しているユーザデバイスの種類(例えば、スマートフォン)を識別するユーザデバイス情報を含む文字列を含み得る。
【0039】
ブロック309では、ルータは、応答に対する宛先ネットワークのセキュリティレベルを識別する。ルータは、種々の種類のネットワーク及びネットワーク要素に関する分類データを記憶するデータストアと連結し得る。例えば、分類データは、1つ以上の無線ネットワークを安全ではないネットワークとして、1つ以上の自社運用ネットワークを安全なネットワークとして、1つ以上の自社運用ネットワークを安全ではないネットワークとして、敵対的な地理におけるネットワーク要素を安全ではないネットワーク要素として等、分類することができる。ルータは、応答において、IP(インターネットプロトコル)アドレスからの応答に関連付けられたネットワークの種類を決定することができる。例えば、応答は、応答を受信するための宛先ユーザデバイスのIPアドレスを含み得る。サーバは、応答に関連付けられたIPアドレスからネットワークの種類を決定することができ、分類データを使用して、ネットワークの種類に割り当てられるセキュリティレベルを決定し得る。
【0040】
ブロック311では、ルータは、応答データ及び応答のためのコンテキストデータ(例えば、ユーザデバイスのセキュリティレベル、ネットワークのセキュリティレベル等)のネットワークペイロード(例えば、ファイル)の秘密度レベルに1つ以上のポリシーを適用することによって、応答のために行う経路制御アクションを決定する。例えば、ポリシーは、極秘データを含み、安全ではないネットワーク(例えば、公共ネットワーク)を使用して、安全ではないデバイス(例えば、スマートフォン)にアドレス指定された任意の応答が、拒否されるべきであることを指定し得る。別の例では、ポリシーは、極秘データを含み、安全なネットワーク(例えば、安全な自社運用ネットワーク)を使用して、安全なデバイス(例えば、ラップトップ)にアドレス指定された任意の応答が、承諾されるべきであることを指定し得る。別の例では、ポリシーは、秘密ではないデータを含み、安全ではないか、又は安全なネットワークを使用して、安全ではないか、又は安全なデバイスにアドレス指定された任意の応答が、承諾されるべきであることを指定し得る。別の例では、ポリシーは、最も費用効果が高いルータ経路(複数可)、最も利用可能なルータ経路(複数可)、最も安全なルータ経路(複数可)等が、要求に対するデータを送達するために使用されるべきであることを指定し得る。
【0041】
ブロック313では、ルータは、応答のための経路制御アクションを行う。例えば、ルータは、応答内の任意の秘密データがユーザデバイスに伝送されることを妨げることによって、応答が送達されるのを防ぐことができる。別の例では、ルータは、応答データのユーザデバイスへの伝送に使用するための安全なルータ経路上の安全なルータを選択することによって、応答データへのアクセスを承諾してもよい。ルータは、データストアに記憶されたリソースデータにアクセスし、どのルータが安全又は安全ではないルータであるか、並びにどのルータ経路が安全及び安全ではないかを決定することができる。1つの実装において、ルータは、ユーザデバイスに最も近接している安全なルータを選択する。ルータは、応答に対して使用されるべきであるネットワーク要素(例えば、ルータ、スイッチ等)の種類を指定し得る命令を作成することができる。
【0042】
図4は、コンピュータシステム400の一例となる機械を例示し、その中で、機械に、本明細書で考察される方法論のうちのいずれか1つ以上を行わせるための1セットの命令が実行され得る。代替となる実装では、機械は、LAN、イントラネット、エクストラネット、及び/又はインターネットで別の機械に接続され得る(例えば、ネットワーク接続される)。機械は、クライアント−サーバネットワーク環境におけるサーバ若しくはクライアント機械として、又はピアツーピア(若しくは分散)ネットワーク環境におけるピア機械として、動作し得る。
【0043】
機械は、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯情報端末(PDA)、セルラー電話、ウェブアプライアンス、サーバ、ネットワークルータ、スイッチ若しくはブリッジ、又はその機械によって行われるべきアクションを指定する1セットの(さもなければ一連の)命令を実行することができる任意の機械であり得る。更に、単一の機械が例示されるが、「機械」という用語は、本明細書で考察される方法論のうちのいずれか1つ以上を行うための1セット(又は複数セット)の命令を個々に又は共同で実行する機械の任意の集合を含むようにも取られるものとする。
【0044】
例となるコンピュータシステム400は、処理デバイス402、メインメモリ404(例えば、読み取り専用メモリ(ROM)、フラッシュメモリ、同期DRAM(SDRAM)又はDRAM(RDRAM)等のダイナミックランダムアクセスメモリ(DRAM)等)、静的メモリ406(例えば、フラッシュメモリ、静的ランダムアクセスメモリ(SRAM)等)、及びデータ記憶デバイス418を含み、それらはバス430を介して互いに通信する。
【0045】
処理デバイス402は、マイクロプロセッサー、中央処理装置等の1つ以上の汎用処理デバイスを表す。より具体的には、処理デバイスは、複合命令セットコンピューティング(CISC)マイクロプロセッサー、縮小命令セットコンピューティング(RISC)マイクロプロセッサー、超長命令語(VLIW)マイクロプロセッサー、又は別の命令セットを実装するプロセッサー若しくは命令セットの組み合わせを実装するプロセッサーであり得る。また、処理デバイス402は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタルシグナルプロセッサー(DSP)、ネットワークプロセッサー等の1つ以上の特殊目的用処理デバイスであってもよい。処理デバイス402は、本明細書で考察される動作及びステップを行うための命令422を実行するように構成される。
【0046】
コンピュータシステム400は、ネットワークインタフェースデバイス408を更に含み得る。コンピュータシステム400はまた、ビデオディスプレイ装置410(例えば、液晶ディスプレイ(LCD)又はブラウン管(CRT))、英数字入力デバイス412(例えば、キーボード)、カーソル制御デバイス414(例えば、マウス)、及び信号生成デバイス416(例えば、スピーカー)も含み得る。
【0047】
データ記憶デバイス418は、本明細書に記載される方法論若しくは機能のうちのいずれか1つ以上を具体化する1つ以上のセットの命令422又はソフトウェアをそこに記憶した機械可読記憶媒体428(コンピュータ可読媒体としても知られる)を含み得る。また、命令422は、コンピュータシステム400によるその実行の間、メインメモリ404内及び/又は処理デバイス402内に完全に又は少なくとも部分的に属し、メインメモリ404及び処理デバイス402もまた、機械可読記憶媒体を構成する。
【0048】
1つの実装において、命令422は、制御モジュール(例えば、
図2の制御モジュール200)並びに/又はセキュリティポリシーモジュール及び/若しくは記憶ネットワーク経路モジュール内のモジュールを呼び出す方法を含むソフトウェアライブラリに対する命令を含む。機械可読記憶媒体428は、一例となる実装において単一の媒体であるように示されるが、「機械可読記憶媒体」という用語は、1つ以上の命令のセットを記憶する単一の媒体又は複数の媒体(例えば、集中型又は分散型データベース、及び/若しくは関連するキャッシュ及びサーバ)を含むように取られるべきである。「機械可読記憶媒体」という用語は、機械による実行のための1セットの命令を記憶するか、又はコードすることができ、かつ、機械に本開示の方法論のうちのいずれか1つ以上を行わせる任意の媒体を含むようにも取られるものとする。したがって、「機械可読記憶媒体」という用語は、限定されないが、ソリッドステートメモリ、光媒体、及び磁気媒体を含むように取られるものとする。
【0049】
前述の詳細な記述の一部は、コンピュータメモリ内のデータビットにおける動作のアルゴリズム及び象徴的表現において示された。これらのアルゴリズム記述及び表現は、データ処理分野の技術者によって、当該技術分野の他者にその作業の内容を最も効果的に伝えるために使用される方法である。本明細書において及び一般的に、アルゴリズムは、所望の結果をもたらす動作の自己無撞着シーケンスとなるように考案される。動作は、物理量の物理的操作を必要とするものである。通常、必須ではないが、これらの量は、記憶される、組み合わせる、比較される、ないしは操作されることができる電気信号又は磁気信号の形態をとる。時には、主に一般的な用法の理由で、これらの信号をビット、値、要素、記号、文字、項、数等と称することが好都合であることが判明している。
【0050】
しかしながら、これらのすべて及び同様の項は、適切な物理量に関連付けられるべきであり、これらの量に適用された単に好都合な標識であることに留意すべきである。上記考察から明らかであるように具体的に別途定められない限り、本記述全体を通して、「識別すること」又は「決定すること」又は「実行すること」又は「選択すること」又は「送信すること」又は「妨げること」又は「行うこと」等の用語を利用した考察は、コンピュータシステム、又はコンピュータシステムのレジスタ及びメモリ内の物理(電子)量で表されるデータを操作し、コンピュータシステムメモリ若しくはレジスタ又は別のそのような情報記憶デバイス内の物理量で同様に表される別のデータに変換する同様の電子計算デバイスのアクション及び処理を指すことを理解されたい。
【0051】
本開示はまた、本明細書の動作を行うための装置に関する。この装置は、初期の目的のために特別に構築され得るか、又はコンピュータに記憶されたコンピュータプログラムによって選択的に作動又は再構成される汎用コンピュータを含み得る。そのようなコンピュータプログラムは、これらに限定されないが、各々が、コンピュータシステムバスと連結しているフロッピー(登録商標)ディスク、光ディスク、CD−ROM、及び磁気−光ディスクを含む任意の種類のディスク、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気若しくは光カード、又は電子命令を記憶するのに適した任意の種類の媒体等のコンピュータ可読記憶媒体に記憶され得る。
【0052】
本明細書で提示されるアルゴリズム及びディスプレイは、任意の特定のコンピュータ又は別の装置に本質的に関係しない。種々の汎用システムは、本明細書の教示に従ってプログラムを用いて使用され得るか、又は、本方法を行うためのより特化した装置を構築することが好都合であることが判明し得る。様々なこれらのシステムのための構造は、以下の記述に示されるように明らかとなるだろう。更に、本開示は、任意の特定のプログラミング言語を参照して記載されない。様々なプログラミング言語を使用して、本明細書に記載される本開示の教示を実装し得ることが理解されるだろう。
【0053】
本開示は、コンピュータプログラム製品、又はそこに記憶された、本開示に従って処理を行うコンピュータシステム(若しくは別の電子デバイス)をプログラムするために使用され得る命令を有する機械可読媒体を含み得るソフトウェアとして提供されてもよい。機械可読媒体は、機械(例えば、コンピュータ)によって読み取り可能な形態で情報を記憶するための任意の機構を含む。例えば、機械可読(例えば、コンピュータ可読)媒体としては、読み取り専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス等の機械(例えば、コンピュータ)可読記憶媒体が挙げられる。
【0054】
前述の明細書では、本開示の実装は、その特定の例示的実装を参照して記載された。以下の特許請求の範囲において示される本開示の実装の広範な趣旨及び範囲から逸脱することなく、本明細書に対して種々の修正がなされてもよいことは、明らかだろう。したがって、本明細書及び図面は、限定的な意味ではなく、例示的な意味において扱われる。