IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ プライビット テクノロジー インクの特許一覧

特開2022-43329トンネルに基盤して端末のネットワーク接続を制御するためのシステム及びそれに関する方法
<>
  • 特開-トンネルに基盤して端末のネットワーク接続を制御するためのシステム及びそれに関する方法 図1
  • 特開-トンネルに基盤して端末のネットワーク接続を制御するためのシステム及びそれに関する方法 図2
  • 特開-トンネルに基盤して端末のネットワーク接続を制御するためのシステム及びそれに関する方法 図3
  • 特開-トンネルに基盤して端末のネットワーク接続を制御するためのシステム及びそれに関する方法 図4
  • 特開-トンネルに基盤して端末のネットワーク接続を制御するためのシステム及びそれに関する方法 図5
  • 特開-トンネルに基盤して端末のネットワーク接続を制御するためのシステム及びそれに関する方法 図6
  • 特開-トンネルに基盤して端末のネットワーク接続を制御するためのシステム及びそれに関する方法 図7
  • 特開-トンネルに基盤して端末のネットワーク接続を制御するためのシステム及びそれに関する方法 図8
  • 特開-トンネルに基盤して端末のネットワーク接続を制御するためのシステム及びそれに関する方法 図9
  • 特開-トンネルに基盤して端末のネットワーク接続を制御するためのシステム及びそれに関する方法 図10a
  • 特開-トンネルに基盤して端末のネットワーク接続を制御するためのシステム及びそれに関する方法 図10b
  • 特開-トンネルに基盤して端末のネットワーク接続を制御するためのシステム及びそれに関する方法 図11
  • 特開-トンネルに基盤して端末のネットワーク接続を制御するためのシステム及びそれに関する方法 図12
  • 特開-トンネルに基盤して端末のネットワーク接続を制御するためのシステム及びそれに関する方法 図13
  • 特開-トンネルに基盤して端末のネットワーク接続を制御するためのシステム及びそれに関する方法 図14
  • 特開-トンネルに基盤して端末のネットワーク接続を制御するためのシステム及びそれに関する方法 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022043329
(43)【公開日】2022-03-15
(54)【発明の名称】トンネルに基盤して端末のネットワーク接続を制御するためのシステム及びそれに関する方法
(51)【国際特許分類】
   H04L 45/42 20220101AFI20220308BHJP
【FI】
H04L45/42
【審査請求】有
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022002658
(22)【出願日】2022-01-11
(62)【分割の表示】P 2021039780の分割
【原出願日】2021-03-12
(31)【優先権主張番号】10-2020-0030721
(32)【優先日】2020-03-12
(33)【優先権主張国・地域又は機関】KR
(71)【出願人】
【識別番号】521105732
【氏名又は名称】プライビット テクノロジー インク
(74)【代理人】
【識別番号】110002343
【氏名又は名称】特許業務法人 東和国際特許事務所
(72)【発明者】
【氏名】キム、 ヨンラン
(72)【発明者】
【氏名】リ、 ミンゼ
(72)【発明者】
【氏名】ソン、 ピルホ
(72)【発明者】
【氏名】キム、 ジュテ
(57)【要約】
【課題】トンネルに基盤してノードのネットワーク接続を制御する。
【解決手段】ノードは、通信回路と、プロセッサと、ターゲットアプリケーション及び接続制御アプリケーションを保存するメモリを含み、前記メモリは、ネットワーク接続イベントを感知し、前記ノードとゲートウェイとの間にトンネルが存在するか否かを確認し、外部サーバから受信されたデータフローの情報に基盤して前記ターゲットアプリケーションが前記目的地ネットワークに接続可能か否かを確認し、前記ターゲットアプリケーションが前記目的地ネットワークに接続できると判断された場合、前記トンネルを介して前記ターゲットアプリケーションのデータパケットを伝送し、前記ターゲットアプリケーションが前記目的地ネットワークに接続できないと判断された場合、前記ターゲットアプリケーションのデータパケットをドロップ(drop)するようにする命令語を保存する、ノード。
【選択図】図2
【特許請求の範囲】
【請求項1】
ノードであって、
通信回路と、
前記通信回路と作動的に連結されるプロセッサと、
前記プロセッサと作動的に連結され、ターゲットアプリケーション及び接続制御アプリケーションを保存するメモリと、を含み、前記メモリは、前記プロセッサにより実行されるとき、前記ノードが、
前記接続制御アプリケーションを介し、前記ターゲットアプリケーションの目的地ネットワークに対するネットワーク接続イベントを感知し、
前記接続制御アプリケーションを介し、前記ノードとゲートウェイとの間にトンネルが存在するか否かを確認し、
前記接続制御アプリケーションを介し、外部サーバから受信されたデータフローの情報に基盤して前記ターゲットアプリケーションが前記目的地ネットワークに接続可能か否かを確認し、前記データフローの情報は、前記ターゲットアプリケーションと前記目的地ネットワークに基盤し、
前記接続制御アプリケーションを介し、前記トンネルが存在し、前記ターゲットアプリケーションが前記目的地ネットワークに接続できると判断された場合、前記トンネルを介して前記ターゲットアプリケーションのデータパケットを伝送し、及び
前記接続制御アプリケーションを介し、前記トンネルが存在しないか、前記ターゲットアプリケーションが前記目的地ネットワークに接続できないと判断された場合、前記ターゲットアプリケーションのデータパケットをドロップ(drop)するようにする命令語を保存する、ノード。
【請求項2】
前記命令語は、前記ノードが、
前記ネットワーク接続イベントを感知する前に、前記接続制御アプリケーションを介して前記外部サーバに対するコントローラ接続を要請し、
前記接続制御アプリケーション及び前記外部サーバに対応する制御フローの情報を含む第1応答を前記外部サーバから受信する、請求項1に記載のノード。
【請求項3】
前記命令語は、前記ノードが、
前記ネットワーク接続イベントを感知した場合、前記接続制御アプリケーションを介して前記外部サーバにネットワーク接続を要請し、
前記データフローの情報を含む第2応答を前記外部サーバから受信する、請求項1に記載のノード。
【請求項4】
前記命令語は、前記ノードが、
前記ネットワーク接続を要請する前に、前記接続制御アプリケーションを介して前記外部サーバから受信された接続政策データベースに基盤して前記ターゲットアプリケーションの有効性検査を行い、
前記ターゲットアプリケーションの有効性検査が失敗すると、前記ターゲットアプリケーションの前記データパケットをドロップする、請求項3に記載のノード。
【請求項5】
前記データフローの情報は、前記トンネルを生成するための情報をさらに含み、
前記命令語は、前記ノードが、
前記トンネルが存在しないと判断された場合、前記データフローの情報に基盤して前記ゲートウェイと前記トンネルとを生成し、
前記トンネルの生成が完了されると、前記ターゲットアプリケーションの前記データパケットを前記トンネルを介して伝送する、請求項3に記載のノード。
【請求項6】
ディスプレイをさらに含み、
前記命令語は、前記ノードが、
前記データパケットが伝送されると、前記ディスプレイを介して前記目的地ネットワークから提供される画面を出力し、
前記データパケットがドロップされると、前記ディスプレイを介して前記目的地ネットワークに対する接続が許容されないことを示すユーザインターフェース画面を出力する、請求項1に記載のノード。
【請求項7】
前記命令語は、前記ノードが、
ユーザ認証を要請するユーザ入力を受信し、
前記外部サーバにユーザ認証を要請し、前記ユーザ認証要請は、前記ユーザ入力に対応する情報を含み、
前記ユーザ認証が完了されたか否かを示す第3応答を前記外部サーバから受信する、請求項1に記載のノード。
【請求項8】
ターゲットアプリケーション及び接続制御アプリケーションが設けられたノードの動作方法であって、
前記接続制御アプリケーションが前記ターゲットアプリケーションの目的地ネットワークに対するネットワーク接続イベントを感知する段階と、
前記接続制御アプリケーションが前記ノードとゲートウェイとの間にトンネルが存在するか否かを確認する段階と、
前記接続制御アプリケーションを介し、外部サーバから受信されたデータフローの情報に基盤して前記ターゲットアプリケーションが前記目的地ネットワークに接続可能か否かを確認する段階、前記データフローの情報は、前記ターゲットアプリケーション及び前記目的地ネットワークに基盤し、
前記トンネルが存在し、前記ターゲットアプリケーションが前記目的地ネットワークに接続できると判断された場合、前記接続制御アプリケーションがトンネルを介し、前記ターゲットアプリケーションのデータパケットを伝送する段階と、
前記トンネルが存在しないか、前記ターゲットアプリケーションが前記目的地ネットワークに接続できないと判断された場合、前記接続制御アプリケーションを介して前記ターゲットアプリケーションのデータパケットをドロップする段階と、を含む、方法。
【請求項9】
サーバの動作方法であって、
ノードの接続制御アプリケーションからターゲットアプリケーションの目的地ネットワークに対するネットワーク接続要請を受信する段階と、
前記ターゲットアプリケーションの識別情報及び前記目的地ネットワークの識別情報に基盤して前記ターゲットアプリケーションが前記目的地ネットワークに接続可能か否かを確認する段階と、
前記ターゲットアプリケーションが前記目的地ネットワークに接続可能であると判断された場合、前記ターゲットアプリケーション及び前記目的地ネットワークの識別情報に基盤したデータフローを伝送する段階と、を含む、方法。
【請求項10】
ゲートウェイの動作方法であって、
トンネルの生成に必要な情報を外部サーバから受信する段階、前記トンネルの生成に必要な情報は、ターゲットアプリケーション及び目的地ネットワークに基盤し、
前記トンネルの生成に必要な情報に基盤して前記ゲートウェイと前記ターゲットアプリケーションを保存するノードとの間にトンネルを生成する段階と、
データパケットを受信する段階と、
前記受信されたデータパケットが前記トンネルを介して受信されるか否かを確認する段階と、
前記データパケットが前記トンネルを介して受信されたものと判断されると、前記データパケットを前記目的地ネットワークにフォワーディングする段階と、
前記データパケットが前記トンネルを介して受信されないものと判断されると、前記データパケットをドロップする段階と、を含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本文書で開示される実施形態は、ネットワーク環境でトンネル(tunnel)に基盤して端末のネットワーク接続を制御するための技術に関する。
【背景技術】
【0002】
多数の装置は、ネットワークを介してデータを通信することができる。例えば、スマートフォンは、インターネットを介してサーバとデータを送信したり受信したりすることができる。ネットワークは、インターネットのような公用ネットワーク(public network)だけではなく、イントラネットのような私設ネットワーク(private network)を含むことができる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
ネットワークに対する無分別な接続を統制するためにTCP(transmission control protocol)/IP(internet protocol)を基盤としてネットワークへの接続を制限する技術が適用されている。
【0004】
例えば、NAC(network access controller)は、認可された端末が認可されたIPアドレスの提供を受けることによりネットワークに接続することができるように許容し、非認可された端末が非認可されたIPアドレスを用いる場合、ARPスプーフィング(address resolution protocol spoofing)を利用して非認可された端末を遮断する方式である。ファイアウォール(fire wall)は、IPヘッダー情報に含まれる出発地IP、目的地IP、及びポート情報と、政策に基盤してデータパケットの伝送を許容するか否かを決定する方式である。VPN(virtual private network)は、TCP/IPプロトコル上で暗号化が適用されたトンネルを利用することでデータパケットの無欠性及び機密性を保障する方式である。
【0005】
しかし、ARPスプーフィングは、ネットワークに負荷を与えるので、最近は、これを迂回する技術が発達している。ファイアウォールは、データパケットのフローを制御するためのものなので、2つのノード間の連結(connection)生成過程で直接的に関与できないことがある。また、VPNは、トンネルが生成された後のデータパケットのフローに対する管理に脆弱である。それだけではなく、前記技術は、TCP/IPに基盤するため、OSI(open system interconnection)階層中で他の階層(例:応用階層)に対する保安に脆弱であり得る。
【0006】
本文書で開示される多様な実施形態は、ネットワーク環境で前述した問題点を解決するためのシステム及びそれに関する方法の提供を図る。
【課題を解決するための手段】
【0007】
本文書で開示される実施形態による端末は、ディスプレイ、通信回路、前記ディスプレイ及び前記通信回路と作動的に連結されるプロセッサ、及び前記プロセッサと作動的に連結され、ターゲットアプリケーション及び接続制御アプリケーションを保存するメモリを含み、前記メモリは、前記プロセッサにより実行されるとき、前記端末が、前記接続制御アプリケーションを介し、前記ターゲットアプリケーションの目的地ネットワークに対するネットワーク接続イベントを感知し、前記接続制御アプリケーションを介し、前記ターゲットアプリケーションの識別情報及び前記目的地ネットワークに対応して外部サーバから認可されたトンネルが存在するか否かを確認し、前記認可されたトンネルが存在すると、前記通信回路を利用し、前記ターゲットアプリケーションのデータパケットを前記認可されたトンネルを介して伝送し、前記認可されたトンネルが存在しなければ、前記ターゲットアプリケーションのデータパケットをドロップ(drop)するようにする命令語を保存することができる。
【0008】
本文書で開示される実施形態によるサーバは、通信回路、データベースを保存するメモリ、及び前記通信回路及び前記メモリと作動的に連結されるプロセッサを含み、前記プロセッサは、端末の接続制御アプリケーションから、前記端末に保存されたターゲットアプリケーションの目的地ネットワークに対するネットワーク接続を要請する第1要請を受信し、前記第1要請は、制御フローの識別情報、前記ターゲットアプリケーションの識別情報、及び前記目的地ネットワークの識別情報を含み、前記制御フローの識別情報及び前記データベースに基盤して前記ターゲットアプリケーションが接続可能か否かを確認し、前記ターゲットアプリケーションが接続可能であれば、前記データベースと、前記ターゲットアプリケーションの識別情報及び前記目的地ネットワークの識別情報に基盤して前記ターゲットアプリケーションと前記目的地ネットワークのゲートウェイ間の認可されたトンネルが存在するか否かを確認し、前記確認された結果を前記通信回路を利用して前記接続制御アプリケーションに伝送するように構成され得る。
【0009】
本文書で開示される実施形態によるゲートウェイは、端末からデータパケットを受信し、前記受信されたデータパケットが外部サーバにより認可されたトンネルを介して受信されたのかを確認し、前記データパケットが前記認可されたトンネルを介して受信されていれば、前記データパケットを目的地ネットワークにフォワーディングし、前記データパケットが前記認可されたトンネルを介して受信されていなければ、前記データパケットをドロップするように構成され得る。
【0010】
本文書で開示される実施形態による端末は、ディスプレイ、通信回路、前記ディスプレイ及び前記通信回路と作動的に連結されるプロセッサ、及び前記プロセッサと作動的に連結され、ターゲットアプリケーション及び接続制御アプリケーションを保存するメモリを含み、前記メモリは、前記プロセッサにより実行されるとき、前記端末が、前記接続制御アプリケーションを介し、前記ターゲットアプリケーションの目的地ネットワークに対するネットワーク接続イベントを感知し、前記通信回路を利用し、前記目的地ネットワークに対するネットワーク接続を前記外部サーバに要請し、前記外部サーバから前記ネットワーク接続要請に対する第1応答を受信し、前記第1応答に基盤し、利用可能なトンネルが存在するか否かを確認し、前記利用可能なトンネルが存在すると、前記通信回路を利用し、前記ターゲットアプリケーションのデータパケットを前記利用可能なトンネルを介して伝送し、前記利用可能なトンネルが存在しなければ、前記ターゲットアプリケーションのデータパケットをドロップするようにする命令語を保存することができる。
【発明の効果】
【0011】
本文書に開示される実施形態によると、端末は認可されていないアプリケーションのデータパケット伝送を遮断することができる。
【0012】
また、本文書に開示される実施形態によると、NACのような広範囲なIPアドレス基盤のネットワーク保安技術に比べて政策設定及び回収の問題を解決し、迂迴的な攻撃を防止することができる。
【0013】
また、本文書に開示される実施形態によると、ゼロトラストネットワーク環境でMITM(man in the middle attack)攻撃を遮断することができるので、区間保護のみ提供するVPNに比べてトンネル基盤の接続制御を行うことができる。
【0014】
また、本文書に開示される実施形態によると、TCP/IP基盤ネットワーク保安技術が内在している問題点を解消して安全なネットワーク連結を提供することができる。
【0015】
また、本文書に開示される実施形態によると、ネットワーク制御装備に従って政策を設定しなければならないという問題を解消することができる。
【0016】
その他、本文書を介して直接的または間接的に把握される多様な効果が提供され得る。
【図面の簡単な説明】
【0017】
図1】複数のネットワークを含む環境を示す図である。
図2】多様な実施形態によるネットワーク環境内のアーキテクチャを示す図である。
図3】多様な実施形態によりコントローラに保存されたデータベースを示す機能的ブロック図である。
図4】多様な実施形態による端末の機能的ブロック図である。
図5】多様な実施形態によりデータパケットの伝送を制御する動作を説明する図である。
図6】多様な実施形態によるコントローラ接続のための信号のフローチャート図である。
図7】多様な実施形態によるコントローラ接続のためのユーザインターフェース画面を示す図である。
図8】多様な実施形態によるユーザ認証のための信号のフローチャート図である。
図9】多様な実施形態によるネットワーク接続を制御するための信号のフローチャート図である。
図10a】多様な実施形態によるネットワーク接続が遮断されるときのユーザインターフェース画面を示す図である。
図10b】多様な実施形態によるネットワーク接続が許容されるときのユーザインターフェース画面を示す図である。
図11】多様な実施形態により端末でネットワーク接続を制御するための動作フローチャート図である。
図12】多様な実施形態により端末でネットワーク接続を制御するための他の動作フローチャート図である。
図13】多様な実施形態によりゲートウェイでネットワーク接続を制御するための動作フローチャート図である。
図14】多様な実施形態によりネットワーク接続を解除するための信号のフローチャート図である。
図15】多様な実施形態によりネットワーク接続を解除するためのユーザインターフェース画面を示す図である。
【0018】
図面の説明と関連して、同一または類似の構成要素に対しては同一または類似の参照符号が用いられ得る。
【発明を実施するための形態】
【0019】
以下、本発明の多様な実施形態が図を参照して記載される。しかし、これは本発明を特定の実施形態に対して限定しようとするものではなく、本発明の実施形態の多様な変更(modification)、均等物(equivalent)、及び/または代替物(alternative)を含むものと理解しなければならない。
【0020】
本文書において、アイテムに対応する名詞の単数型は、関連の文脈上明らかに異なって指示しない限り、前記アイテム1つまたは複数個を含むことができる。本文書において「AまたはB」、「A及びBの少なくとも1つ」、「AまたはBの少なくとも1つ」、「A、BまたはC」、「A、B及びCの少なくとも1つ」及び「A、B、またはCの少なくとも1つ」のような語句のそれぞれは、その語句中で該当する語句にともに羅列された項目のいずれか1つ、またはそれら全ての可能な組み合わせを含むことができる。「第1」、「第2」、または「1番目」または「2番目」のような用語は、単に当該構成要素を他の当該構成要素と区分するために使用されてよく、当該構成要素を他の側面(例:重要性または順序)で限定しない。ある(例:第1)構成要素が異なる(例:第2)構成要素に、「機能的に」または「通信的に」という用語とともに、またはこのような用語なく、「カップルド」または「コネクテッド」と言及された場合、それは、前記ある構成要素が前記異なる構成要素に直接的に(例:有線で)、無線で、または第3構成要素を介して連結され得るということを意味する。
【0021】
本文書において説明される構成要素のそれぞれの構成要素(例:モジュールまたはプログラム)は、単数または複数の個体を含むことができる。多様な実施形態によると、当該構成要素のうち1つ以上の構成要素または動作が省略されるか、または1つ以上の他の構成要素または動作が追加され得る。大体的にまたは追加的に、複数の構成要素(例:モジュールまたはプログラム)は1つの構成要素に統合され得る。このような場合、統合された構成要素は、前記複数の構成要素それぞれの構成要素の1つ以上の機能を前記統合以前に前記複数の構成要素中の当該構成要素によって行われることと同一または類似に行うことができる。多様な実施形態によると、モジュール、プログラムまたは異なる構成要素によって行われる動作は、順次、並列的に、繰り返して、またはヒューリスティックに実行されるか、前記動作のうち1つ以上が異なる順に実行されるか、省略されるか、または1つ以上の他の動作が追加され得る。
【0022】
本文書において用いられる用語「モジュール」は、ハードウェア、ソフトウェアまたはファームウエアに具現されたユニットを含むことができ、例えば、ロジック、論理ブロック、部品、または回路のような用語と相互互換的に用いられ得る。モジュールは、一体に構成された部品または1つまたはそれ以上の機能を行う、前記部品の最小単位またはその一部となり得る。例えば、一実施形態によると、モジュールは、ASIC(application-specific integrated circuit)の形態に具現され得る。
【0023】
本文書の多様な実施形態は、機器(machine)によって読み取ることができる保存媒体(storage medium)(例:メモリ)に保存された1つ以上の命令語を含むソフトウェア(例:プログラムまたはアプリケーション)として具現され得る。例えば、機器のプロセッサは、保存媒体から保存された1つ以上の命令語の少なくとも1つの命令を呼び出し、それを実行することができる。これは、機器が前記呼び出された少なくとも1つの命令語によって少なくとも1つの機能を行うように運営されることを可能とする。前記1つ以上の命令語は、コンパイラによって生成されたコードまたはインタプリタによって実行され得るコードを含むことができる。機器で読み取ることができる保存媒体は、非一時的(non-transitory)保存媒体の形態で提供され得る。ここで、「非一時的」は、保存媒体が実在(tangible)する装置であり、信号(signal)(例:電磁気波)を含まないということを意味するだけであり、この用語はデータが保存媒体に半永久的に保存される場合と臨時的に保存される場合とを区分しない。
【0024】
本文書において開示された多様な実施形態による方法は、コンピュータプログラム製品(computer program product)に含まれて提供され得る。コンピュータプログラム製品は、商品として販売者及び購買者の間に取引され得る。コンピュータプログラム製品は、機器で読み取ることができる保存媒体(例:compact disc readonly memory(CD-ROM))の形態で配布されるか、またはアプリケーションストア(例:プレイストアTM)を介してまたは2つのユーザ装置(例:スマートフォン)間に直接、オンラインで配布(例:ダウンロードまたはアップロード)され得る。オンライン配布の場合に、コンピュータプログラム製品の少なくとも一部は、製造社のサーバ、アプリケーションストアのサーバ、または中継サーバのメモリのような機器で読み出すことができる保存媒体に少なくとも一時保存されるか、臨時的に生成され得る。
【0025】
図1は、複数のネットワークを含む環境を示す図である。
【0026】
図1を参照すると、第1ネットワーク10及び第2ネットワーク20は互いに異なるネットワークであり得る。例えば、第1ネットワーク10はインターネットのような公用ネットワークで、第2ネットワーク20はイントラネットまたはVPNのような私設ネットワークであり得る。
【0027】
第1ネットワーク10は、端末101を含むことができる。図1及び以下に記述される実施形態において、「端末」は、データ通信を行うことができる多様な形態の装置であり得る。例えば、端末101は、スマートフォンまたはタブレットのような携帯装置、デスクトップ(desktop)またはラップトップ(laptop)のようなコンピュータ装置、マルチメディア装置、医療機器、カメラ、ウェアラブル装置、VR(virtual reality)装置、または家電装置を含むことができ、前述した機器に限定されない。端末101は、「電子装置」または「ノード」としても参照され得る。
【0028】
端末101は、第2ネットワーク20への接続(access)を試み、第2ネットワーク20に含まれたサーバ102a、102bにデータを伝送することができる。端末101は、ゲートウェイ103及びトンネル105を介してデータをサーバ102a、102bに伝送することができる。図1は、第2ネットワーク20がサーバのみを含む例を示すが、多様な実施形態によると、第2ネットワーク20は、端末101のような電子装置または端末をさらに含むことができる。
【0029】
端末101の第1ネットワーク10に対する接続が承認されると、端末101は第1ネットワーク10に含まれた全てのサーバと通信することができるので、端末101は悪性(malicious)プログラムの攻撃から露出され得る。例えば、端末101は、インターネットウェブブラウザ110a、ビジネスアプリケーション110bのような信頼された(trusted)及び/または保安された(secure)アプリケーションだけではなく、悪性コード110c、感染した(infected)ビジネスアプリケーション110dのように信頼されないか保安されないアプリケーションのデータを受信することができる。
【0030】
悪性プログラムから感染した端末101は、第2ネットワーク20への接続及び/またはデータ伝送を試みることができる。第2ネットワーク20がVPNのようにIPに基盤して形成される場合、第2ネットワーク20は第2ネットワーク20内に含まれる複数の装置を個別にモニタリングしにくいことがあり、OSI階層における応用階層または伝送階層に対する保安に脆弱であり得る。また、トンネルが既に生成された後に、端末101が悪性アプリケーションを含む場合、前記悪性アプリケーションのデータは第2ネットワーク20内の異なる電子装置に伝達され得る。
【0031】
図2は、多様な実施形態によるネットワーク環境内のアーキテクチャを示す図である。
【0032】
図2を参照すると、端末201、ゲートウェイ203、及び目的地ネットワーク205の個数は、図2に示された個数に制限されるものではない。例えば、端末201は、複数のゲートウェイを介して複数の目的地ネットワークにデータを伝送することができ、コントローラ202は複数の端末及びゲートウェイを管理することができる。端末201は、図1に示された端末101と同一の類似した機能を行うことができ、ゲートウェイ203は、図1に示されたゲートウェイ103と同一の類似した機能を行うことができ、目的地ネットワーク205は、図1の第1ネットワーク10または第2ネットワーク20と同一の類似した構造を有し得る。
【0033】
コントローラ202は、例えば、サーバ(またはクラウドサーバ)であり得る。コントローラ202は、端末201、ゲートウェイ203、及び異なるネットワーク(例:目的地ネットワーク205)間のデータ伝送を管理することにより、ネットワーク環境内で信頼されるデータ伝送を保障することができる。例えば、コントローラ202は、政策情報またはブラックリスト情報を介して端末201の目的地ネットワーク205に対する接続を管理するか、端末201とゲートウェイ203との間の認可されたトンネル210の生成を仲介するか、端末201またはゲートウェイ203から収集された保安イベントによってトンネル210を除去することができる。端末201は、コントローラ202により認可されたトンネル210を介して目的地ネットワーク205と通信することができ、認可されたトンネル210が存在しなければ、端末201は目的地ネットワーク205への接続が遮断され得る。一実施形態によると、コントローラ202は、端末201のネットワーク接続と連関された多様な動作(例:登録、承認、認証、更新、終了)を行うために端末201と制御データパケットを送受信することができる。制御データパケットが伝送されるフロー(例:220)は、制御フロー(control flow)として参照され得る。
【0034】
ゲートウェイ203は、端末201が属するネットワークの境界または目的地ネットワーク205の境界に位置することができる。ゲートウェイ203は複数であり得る。ゲートウェイ203は、端末201から受信されたデータパケット中で認可されたトンネル210を介して受信されたデータパケットのみを目的地ネットワーク205にフォワーディングできる。端末201とゲートウェイ203、またはゲートウェイ203と目的地ネットワーク205との間でデータパケットが伝送されるフロー(例:230)はデータフローとして参照され得る。一実施形態によると、ゲートウェイ203は、クラウド(cloud)基盤でコントローラ202と連結され得る。ゲートウェイ203は、コントローラ202の制御に従って端末201と認可されたトンネル210を生成することができる。
【0035】
多様な実施形態によると、端末201は、端末201内に保存されたアプリケーションのネットワーク接続を管理するための接続制御アプリケーション211及びネットワークドライバー(図示せず)を含むことができる。例えば、端末201に含まれたターゲットアプリケーション221(例:図1のアプリケーション110aから110dのうち任意の1つ)の目的地ネットワーク205に対する接続イベントが発生すると、接続制御アプリケーション211は、ターゲットアプリケーション221の接続可否を決定することができる。ターゲットアプリケーション221が接続可能であれば、接続制御アプリケーション211は、トンネル210を介してゲートウェイ203にデータパケットを伝送することができる。接続制御アプリケーション211は、端末201内で運営体制を含むカーネル(kernel)及びネットワークドライバーを介してデータパケットの伝送を制御することができる。
【0036】
図3は、多様な実施形態によりコントローラ(例:図2のコントローラ202)に保存されたデータベースを示す機能的ブロック図である。図3は、メモリ330のみを示すが、コントローラは、外部電子装置(例:図2の端末201またはゲートウェイ203と通信を行うための通信回路(例:図4の通信回路430)及びコントローラの全般的な動作を制御するためのプロセッサ(例:図4のプロセッサ410)をさらに含むことができる。
【0037】
図3を参照すると、コントローラは、ネットワーク接続及びデータ伝送の制御のためのデータベース311~317をメモリ330に保存することができる。
【0038】
接続政策データベース311は、識別されたネットワーク、端末、ユーザ、またはアプリケーションが接続可能なネットワーク及び/またはサービスに対する情報を含むことができる。例えば、端末から目的地ネットワークに対する接続が要請されると、コントローラは、接続政策データベース311に基盤して識別されたネットワーク(例:端末が属するネットワーク)、端末、ユーザ(例:端末のユーザ)、及び/またはアプリケーション(例:端末に含まれるアプリケーション)が目的地ネットワークに接続が可能か否かを決定することができる。
【0039】
トンネル政策データベース312は、連結(connection)経路上で出発地ノード(例:端末)とネットワークの境界に存在するゲートウェイに連結されるトンネルの種類、暗号化方法、及び暗号化水準情報を含むことができる。例えば、端末から目的地ネットワークに対する接続が要請されると、コントローラは、トンネル政策データベース312に基盤して目的地ネットワークに接続するための最適のトンネル及びそれに関する情報を端末に提供することができる。
【0040】
ブラックリスト政策データベース313は、特定端末の接続を永久的または一時的に遮断するための政策を含むことができる。ブラックリスト政策データベース313は、端末またはゲートウェイで周期的に収集される保安イベントのうちで保安イベントの危険度、発生周期、及び/または行為分析を介して識別された情報(例:端末ID(identifier))、IPアドレス、MAC(media access control)アドレス、またはユーザIDの少なくとも1つ)を基盤に生成され得る。
【0041】
ブラックリストデータベース314は、ブラックリスト政策データベース313により遮断された端末、IPアドレス、MACアドレス、またはユーザの少なくとも1つに対するリストを含むことができる。例えば、コントローラは、目的地ネットワークへの接続を要請する端末の識別情報がブラックリストデータベース314に含まれると、前記端末の接続要請を拒否することにより前記目的地ネットワークから前記端末を隔離させることができる。
【0042】
制御フローテーブル315は、端末とコントローラとの間に生成された制御データパケットのフロー(例:制御フロー)を管理するためのセッション(session)テーブルの一実施形態である。端末が成功的にコントローラに接続する場合、制御フロー情報がコントローラにより生成され得る。制御フロー情報は、制御フローの識別情報、コントローラに対する接続及び認証時に識別されるIPアドレス、端末ID、またはユーザIDの少なくとも1つを含むことができる。例えば、端末から目的地ネットワークに対する接続が要請されると、コントローラは、端末から受信された制御フロー識別情報を介して制御フロー情報を検索し、検索された制御フロー情報内に含まれたIPアドレス、端末ID、またはユーザIDの少なくとも1つを接続政策データベース311にマッピングすることで端末が接続可能か否か及びトンネル生成可否を決定することができる。
【0043】
一実施形態によると、制御フローは満了時刻を有し得る。端末は、制御フローの満了時刻を更新しなければならず、一定時間の間に満了時刻が更新されなければ制御フロー(または、制御フロー情報)は除去され得る。また、端末またはゲートウェイから収集された保安イベントに沿って直ちに接続遮断が必要であると決定される場合、コントローラは端末の接続終了要請に沿って制御フローを除去することができる。制御フローが除去されると、既存に生成されたトンネル及びデータフローも除去されるので、端末のネットワークに対する接続が遮断され得る。
【0044】
トンネルテーブル316は、端末とゲートウェイとの間に連結されたトンネルを管理するためのテーブルである。トンネルは、例えば、装置またはIP単位で生成され得る。端末とゲートウェイとの間にトンネルが生成されると、トンネルテーブル316は、トンネル識別情報、トンネルが制御フローに従属した場合には制御フロー識別情報、トンネルエンドポイント(tunnel end point、TEP)、トンネルスタートポイント(tunnel start point、TSP)、トンネルアルゴリズム、トンネルの種類、及び/またはトンネルを管理するための付加情報を含むことができる。
【0045】
データフローテーブル317は、端末とゲートウェイとの間に詳細的なデータパケットが伝送されるフロー(例:データフロー)を管理するためのテーブルである。データフローは、トンネル内でTCPセッション、出発地端末のアプリケーション、または、より詳細的な単位で生成され得る。データフローテーブル317は、データフロー識別情報、データフローが制御フローに従属する場合には、制御フロー識別情報、認可された対象のデータフローを識別するためのアプリケーションID、到着地IPアドレス、及び/またはサービスポートを含むことができる。
【0046】
図4は、多様な実施形態による端末(例:図2の端末201)の機能的ブロック図である。
【0047】
図4を参照すると、端末は、プロセッサ410、メモリ420、及び通信回路430を含むことができる。一実施形態によると、端末は、ユーザとインターフェースを行うためにディスプレイ440をさらに含むことができる。
【0048】
プロセッサ410は、端末の全般的な動作を制御することができる。多様な実施形態において、プロセッサ410は、1つのプロセッサコア(single core)を含むか、複数のプロセッサコアを含むことができる。例えば、プロセッサ410は、デュアルコア(dual-core)、クアッドコア(quad-core)、ヘキサコア(hexa-core)などのマルチコア(multi-core)を含むことができる。実施形態により、プロセッサ410は、内部または外部に位置されたキャッシュメモリ(cache memory)をさらに含むことができる。実施形態により、プロセッサ410は、1つ以上のプロセッサから構成され(configured with)得る。例えば、プロセッサ410は、アプリケーションプロセッサ(application processor)、通信プロセッサ(communication processor)、またはGPU(graphical processingunit)の少なくとも1つを含むことができる。
【0049】
プロセッサ410の全部または一部は、端末内の異なる構成要素(例えば、メモリ420、通信回路430、またはディスプレイ440と電気的に(electrically)または作動的に(operatively)結合(coupled with)されるか、連結され(connected to)得る。プロセッサ410は、端末の異なる構成要素の命令を受信することができ、受信された命令を解釈することができ、解釈された命令に沿って計算を行うかデータを処理することができる。プロセッサ410は、メモリ420、通信回路430、またはディスプレイ440から受信されるメッセージ、データ、命令語、または信号を解釈することができ、加工することができる。プロセッサ410は、受信されたメッセージ、データ、命令語、または信号に基盤して新しいメッセージ、データ、命令語、または信号を生成することができる。プロセッサ410は、加工されるか生成されたメッセージ、データ、命令語、または信号をメモリ420、通信回路430、またはディスプレイ440に提供することができる。
【0050】
プロセッサ410は、プログラムで生成されるか発生されるデータまたは信号を処理することができる。例えば、プロセッサ410は、プログラムを行うか制御するためにメモリ420に命令語、データまたは信号を要請することができる。プロセッサ410は、プログラムを行うか制御するためにメモリ420に命令語、データ、または信号を記録(または保存)するか更新することができる。
【0051】
メモリ420は、端末を制御する命令語、制御命令語コード、制御データ、またはユーザデータを保存することができる。例えば、メモリ420は、アプリケーション(application)プログラム、OS(operating system)、ミドルウェア(middleware)、またはデバイスドライバー(device driver)の少なくとも1つを含むことができる。
【0052】
メモリ420は、揮発性メモリ(volatile memory)または不揮発性(non-volatile memory)のうち1つ以上を含むことができる。揮発性メモリは、DRAM(dynamic random access memory)、SRAM(static RAM)、SDRAM(synchronous DRAM)、PRAM(phase-change RAM)、MRAM(magnetic RAM)、RRAM(resistive RAM)、FeRAM(ferroelectric RAM)などを含むことができる。不揮発性メモリは、ROM(read only memory)、PROM(programmable ROM)、EPROM(electrically programmable ROM)、EEPROM(electrically erasable programmable ROM)、フラッシュメモリ(flash memory)などを含むことができる。
【0053】
メモリ420は、ハードディスクドライブ(HDD、hard disk drive)、ソリッドステートディスク(SSD、solid state disk)、eMMC(embedded multi media card)、UFS(universal flash storage)のような揮発性媒体(medium)をさらに含むことができる。
【0054】
一実施形態によると、メモリ420は、コントローラのメモリ(例:図3のメモリ330)に含まれた情報中の一部を保存することができる。例えば、メモリ420は、図3で説明されたトンネルテーブル316及びデータフローテーブル317を保存することができる。
【0055】
通信回路430は、端末と外部電子装置(例:図2のコントローラ202またはゲートウェイ203)間の有線または無線通信連結の樹立、及び樹立された連結を介した通信遂行を支援することができる。一実施形態によると、通信回路430は、無線通信回路(例:セルラー通信回路、近距離無線通信回路、またはGNSS(global navigation satellite system)通信回路)または有線通信回路(例:LAN(local area network)通信回路、または電力線通信回路)を含み、そのうち該当する通信回路を利用してブルートース、WiFi directまたはIrDA(infrared data association)のような近距離通信ネットワークまたはセルラーネットワーク、インターネット、または、コンピュータネットワークのような遠距離通信ネットワークを介して外部電子装置と通信することができる。前述した多くの種類の通信回路430は、1つのチップに具現されるかまたはそれぞれ別途のチップに具現され得る。
【0056】
ディスプレイ440は、コンテンツ、データ、または信号を出力することができる。多様な実施形態において、ディスプレイ440は、プロセッサ410により加工されたイメージデータを表示することができる。実施形態により、ディスプレイ440はタッチ入力などを受信することができる複数のタッチセンサー(図示せず)と結合されることで一体型のタッチスクリーン(touch screen)から構成され(configured with)てもよい。ディスプレイ440がタッチスクリーンで構成される場合、前記複数のタッチセンサーは、ディスプレイ440上に配置されるか、ディスプレイ440下に配置され得る。
【0057】
図5は、多様な実施形態によりデータパケットの伝送を制御する動作を説明する図である。
【0058】
図5を参照すると、接続制御アプリケーション211は、ターゲットアプリケーション221の目的地ネットワーク205に対する接続要請を感知し、端末201またはターゲットアプリケーション221がコントローラ202と接続された状態であるか否かを決定することができる。端末201またはターゲットアプリケーション221がコントローラ202と接続された状態でなければ、接続制御アプリケーション211は、運営体制が含まれるカーネル(kernel)やネットワークドライバーからデータパケットの伝送を遮断することができる(動作510)。接続制御アプリケーション211を介して、端末201は、OSI階層中の応用階層で悪意的なアプリケーションの接続を予め遮断することができる。
【0059】
他の実施形態によると、端末201に接続制御アプリケーション211が設置されないか悪性アプリケーションが接続制御アプリケーション211の制御を迂回する場合、非認可されたデータパケットが端末201から伝送され得る。この場合、ネットワークの境界に存在するゲートウェイ203は、認可されていないトンネルに受信されるデータパケットを遮断するので(動作520)、端末201から送信されたデータパケット(例:TCPセッション生成のためのデータパケット)は、目的地ネットワーク205に到達しないこともある。すなわち、端末201は、目的地ネットワーク205から隔離され得る。
【0060】
図6から図7は、多様な実施形態によるコントローラ接続のための動作を説明する図である。図6は、コントローラ接続のための信号フローチャート図であり、図7は、コントローラ接続のためのユーザインターフェース画面を示す図である。
【0061】
端末201が目的地ネットワーク(例:図2の目的地ネットワーク205)に接続するためにはコントローラ202により認可される必要があるので、端末201の接続制御アプリケーション211は、コントローラ202に制御フローの生成を要請することで端末201のコントローラ接続を試みることができる。
【0062】
図6を参照すると、動作605において、端末201はコントローラ接続イベントを感知することができる。例えば、端末201は、端末201内で接続制御アプリケーション211が設置及び実行され、接続制御アプリケーション211を介してコントローラ202に対する接続が要請されることを感知することができる。
【0063】
一実施形態において、図7を参照すると、接続制御アプリケーション211が実行されると、端末201はコントローラ接続のために必要な情報を受信するためのユーザインターフェース画面710を表示することができる。ユーザインターフェース画面710は、コントローラ202のIPまたはドメインを入力するための入力ウィンドウ711、ユーザIDを入力するための入力ウィンドウ712、及び/またはパスワードを入力するための入力ウィンドウ713を含むことができる。入力ウィンドウ711から713に対する情報が入力された後、認証されたユーザのコントローラ接続のためのボタン714を受信することで、端末201はコントローラ接続イベントを感知することができる。他の例を挙げると、端末201のユーザ認証がまだ完了していない状態であれば、端末201は非認可されたユーザ(すなわち、ゲスト)のコントローラ接続のためのボタン715を受信することでコントローラ接続イベントを感知することができる。
【0064】
動作610において、端末201は、コントローラ接続イベントを感知したことに応答
してコントローラ202にコントローラ接続を要請することができる。端末201は、接続制御アプリケーション211を介してコントローラ接続を要請することができる。一実施形態によると、接続制御アプリケーション211は、端末201の識別情報(例:端末ID、IPアドレス、MACアドレス)、種類、位置、環境、端末201が属するネットワークの識別情報、及び/または接続制御アプリケーション211の識別情報をコントローラ202に伝送することができる。
【0065】
動作615において、コントローラ202は、受信された要請に応答して端末201の接続可否を確認(identify)することができる。一実施形態によると、コントローラ202は、コントローラ202のメモリ(例:図3のメモリ330)に含まれたデータベースに基盤して端末201の接続可否を確認することができる。例えば、コントローラ202は、接続制御アプリケーション211から受信された情報が接続政策データベースに含まれるか否かと、端末201及び/または端末201が属したネットワークの識別情報がブラックリストデータベースに含まれるか否かに基盤して端末201の接続可否を確認することができる。
【0066】
端末201が接続可能であれば、コントローラ202は、端末201とコントローラ202間の制御フローを生成することができる。この場合、コントローラ202は、乱数形態で制御フロー識別情報を生成し、端末201及び/または端末201が属したネットワークの識別情報を制御フローテーブルに保存することができる。制御フローテーブルに保存された情報(例:制御フロー識別情報及び/または制御フロー情報)は、端末201のユーザ認証、端末201の情報アップデート、端末201のネットワーク接続のための政策確認、及び/または有効性検査に利用され得る。
【0067】
制御フローが生成されると、動作620において、コントローラ202は、コントローラ接続要請に対する応答を端末201に伝送することができる。この場合、コントローラ202は、生成された制御フロー識別情報を端末201に伝送することができる。
【0068】
動作625において、端末201は受信された応答に従って結果値を処理することができる。例えば、接続制御アプリケーション211は、受信された制御フロー識別情報を保存し、コントローラ接続が完了することを示すユーザインターフェース画面をユーザに表示することができる。コントローラ接続が完了すると、端末201の目的地ネットワークに対するネットワーク接続要請はコントローラ202により統制され得る。
【0069】
他の実施形態により、コントローラ202は、端末201が接続不可能なものとして決定することができる。例えば、端末201及び/または端末201が属したネットワークの識別情報がブラックリストデータベースに含まれると、コントローラ202は端末201が接続不可能なものとして決定することできる。この場合、コントローラ202は、動作615において制御フローを生成せずに、動作620において端末201の接続が不可能であることを示す応答を伝送することができる。
【0070】
端末201の接続が不可能であることを示す応答を受信すると、動作625において端末201はコントローラ接続が不可能であることを示すユーザインターフェース画面をユーザに出力することができる。例えば、図7を参照すると、端末201は、接続制御アプリケーション211を介してユーザインターフェース画面720を表示することができる。ユーザインターフェース画面720は、端末201の接続が遮断されることを示し、管理者(例:コントローラ202)を介する隔離解除をガイドするユーザインターフェース725を含むことができる。
【0071】
図8は、多様な実施形態によるユーザ認証のための信号のフローチャート図である。
【0072】
端末201が目的地ネットワークに対する詳細な接続権限の付与を受けるため、端末201の接続制御アプリケーション211は、コントローラ202から端末201のユーザに対する認証を受けることができる。
【0073】
図8を参照すると、動作805において、端末201はユーザ認証のための入力を受信することができる。ユーザ認証のための入力は、例えば、ユーザID及びパスワードを入力するユーザ入力であり得る。他の例を挙げると、ユーザ認証のための入力は、より強化された認証のためのユーザ入力(例:生体情報)であり得る。
【0074】
動作810において、端末201は、コントローラ202にユーザ認証を要請することができる。例えば、接続制御アプリケーション211は、ユーザ認証のための入力情報をコントローラ202に伝送することができる。端末201とコントローラ202間の制御フローが既に生成されている状態であれば、接続制御アプリケーション211はユーザ認証のための入力情報を制御フロー識別情報とともに伝送することができる。
【0075】
動作815において、コントローラ202は、端末201から受信された情報に基盤してユーザを認証することができる。例えば、コントローラ202は、受信された情報に含まれたユーザID、パスワード、及び/または強化された認証情報と、コントローラ202のメモリに含まれたデータベース(例:図3の接続政策データベース311またはブラックリストデータベース314)に基盤してユーザが接続政策により接続可能であるか否か及びユーザがブラックリストに含まれているか否かを決定することができる。
【0076】
ユーザが認証されると、コントローラ202は、制御フローの識別情報にユーザの識別情報(例:ユーザID)を追加することができる。追加されたユーザ識別情報は、認証されたユーザのコントローラ接続またはネットワーク接続に利用され得る。
【0077】
動作820において、コントローラ202は、ユーザ認証要請に対する応答としてユーザが認証されることを示す情報を端末201に伝送することができる。
【0078】
動作825において、端末201は、ユーザ認証に対する結果値を処理することができる。例えば、端末201は、ユーザ認証が完了することを示すユーザインターフェース画面をユーザに表示することができる。
【0079】
他の実施形態により、コントローラ202は、ユーザ認証が不可能であることを決定することができる。例えば、ユーザの識別情報がブラックリストデータベースに含まれると、コントローラ202は、ユーザ認証が不可能なものとして決定することができる。この場合、動作820において、コントローラ202はユーザ認証が不可能であることを示す情報を端末201に伝送し、動作825において、端末201はユーザ認証が失敗することを示すユーザインターフェース画面を表示することができる。
【0080】
図9図10a及び図10bは、多様な実施形態によりネットワーク接続を制御する動作を説明する図である。図9は、ネットワーク接続を制御するための信号のフローチャート図である。図10aは、ネットワーク接続が遮断されるときのユーザインターフェース画面を示す図である。図10bは、ネットワーク接続が許容されるときのユーザインターフェース画面を示す図である。
【0081】
端末201がコントローラ202から認可された後に、端末201は、端末201の接続制御アプリケーション211を介して端末201内に保存された他のアプリケーションのネットワーク接続を制御することで信頼されたデータ伝送を保障することができる。
【0082】
図9を参照すると、動作905において、接続制御アプリケーション211は、ネットワーク接続イベントを感知することができる。例えば、接続制御アプリケーション211は、ウェブブラウザのようなターゲットアプリケーションがインターネットのような目的地ネットワークへの接続を試みることを感知することができる。例えば、ユーザは、ウェブブラウザを実行して接続しようとするウェブアドレスを入力し呼び出すことができる。
【0083】
動作910において、接続制御アプリケーション211は、コントローラ202にターゲットアプリケーションのネットワーク接続を要請することができる。この場合、接続制御アプリケーション211は、ターゲットアプリケーションの識別情報、接続対象のIP、及び/またはサービスポート情報を端末201とコントローラ202との間に生成された制御フローの識別情報とともにコントローラ202に伝送することができる。
【0084】
動作915において、コントローラ202は、接続制御アプリケーション211から受信された要請に基盤して接続政策及びトンネル政策を確認することができる。例えば、コントローラ202は、接続制御アプリケーション211から受信された情報がコントローラ202の接続政策を満足するか否かに基盤してターゲットアプリケーションの接続可否を決定することができる。ターゲットアプリケーションの接続が不可能であれば、コントローラ202は、動作925において端末201に接続が不可能であることを示す情報を伝送することができる。この場合、接続制御アプリケーション211は、ターゲットアプリケーションのデータパケットをドロップし、ネットワークに対する接続が不可能であることを示すユーザインターフェース画面を表示することができる。
【0085】
ターゲットアプリケーションの接続が可能であれば、コントローラ202は、端末201とゲートウェイ203間の認可されたトンネルが存在するか否かを確認することができる。例えば、コントローラ202は、目的地ネットワークに対応するトンネル政策でトンネルエンドポイント(tunnel end point、TEP)及び/またはトンネル種類を確認し、確認されたTEPに対応する認可されたトンネルがトンネルテーブル内に存在するか否かを決定することができる。認可されたトンネルが存在すると、コントローラ202は、既に生成されたトンネルのトンネルIDとデータフローテーブル内に含まれた情報を生成し、動作925において、生成された情報を端末201に伝送することができる。認可されたトンネルが存在しなければ、コントローラ202は、トンネル生成に必要な情報(例:トンネル種類、方式、認証情報、及び/またはTEPのIP及びフォト)とデータフローテーブル内に含まれた情報を生成し、生成された情報をゲートウェイ203及び端末201に伝送することができる(動作920及び925)。
【0086】
他の例を挙げると、端末201とゲートウェイ203間の生成されるトンネル中でトンネル政策を満足するトンネルが存在しない場合、コントローラ202は、動作925において端末201にネットワーク接続が不可能であることを通知することができる。この場合、接続制御アプリケーション211は、ターゲットアプリケーションのデータパケットをドロップしてネットワーク接続が不可能であることを示すユーザインターフェース画面を表示することができる。
【0087】
接続制御アプリケーション211は、動作925において受信された応答に従って結果値を処理することができる。一実施形態によりコントローラ202からターゲットアプリケーションのネットワーク接続が不可能であるという情報または認可されたトンネルが存在しないという情報を受信すると、接続制御アプリケーション211は、データパケットをドロップしてネットワーク接続が不可能であることを示すユーザインターフェース画面を出力することができる。例えば、図10aを参照すると、端末201は、ディスプレイを介して目的地ネットワークに対する接続が遮断されることを示すユーザインターフェース画面1010または1020を出力することができる。ユーザインターフェース画面1010または1020は、接続が遮断されることを示すテキスト1015またはポップアップウィンドウ1025を含むことができる。
【0088】
他の実施形態により、コントローラ202からトンネル生成に必要な情報が受信されると、接続制御アプリケーション211は、動作930においてゲートウェイ203とトンネルを生成し、動作935において生成されたトンネルを介してターゲットアプリケーションのデータパケットを伝送することができる。この場合、接続制御アプリケーション211は、目的地ネットワークからデータパケットを受信し、前記目的地ネットワークで提供するデータを処理することができる。例えば、図10bを参照すると、端末201は、接続が許容された目的地ネットワーク(例:ウェブサイト)から提供される画面1030をディスプレイを介して出力することができる。
【0089】
他の実施形態により、コントローラ202から既に存在するトンネルのトンネルIDを受信すると、接続制御アプリケーション211は、追加的なトンネル生成手続きを行わずに動作935においてターゲットアプリケーションのデータパケットを前記トンネルIDに対応するトンネルを介してゲートウェイ203に伝送する。
【0090】
一実施形態によると、接続制御アプリケーション211は、動作910を行う前にターゲットアプリケーションと目的地ネットワークの境界にあるゲートウェイ203間の認可されたトンネルが存在するか否かを先ず確認することができる。例えば、接続制御アプリケーション211は、ターゲットアプリケーションの識別情報、目的地ネットワークの識別情報(例:到着地IP)、及びサービスポート情報を識別し、端末201のメモリに保存されたデータフローテーブルで識別された情報に対応するトンネルが存在するかを確認することができる。認可されたトンネルが存在すると、接続制御アプリケーション211は、ネットワーク接続を要請せずに動作935においてデータパケットを前記認可されたトンネルを介してゲートウェイ203に伝送することができる。認可されたトンネルが存在しなければ、接続制御アプリケーション211は、動作910においてネットワーク接続を要請することができる。
【0091】
一実施形態によると、接続制御アプリケーション211は、ターゲットアプリケーションの無欠性及び安定性を保障するためにネットワーク接続を要請する前にターゲットアプリケーションの有効性検査をさらに行うことができる。例えば、接続制御アプリケーション211は、ターゲットアプリケーションの偽造、変造の有無、コードサイニング検査、及び/またはフィンガープリント検査を行うことができる。他の例を挙げると、接続制御アプリケーション211は、コントローラ202から受信された接続政策データベースに基盤してターゲットアプリケーション、接続対象IP、及びサービスポートが接続可能な状態であるかを確認することができる。ターゲットアプリケーションの有効性検査が失敗すると、接続制御アプリケーション211はネットワーク接続を要請せずにデータパケットをドロップ(drop)することができる。この場合、接続制御アプリケーション211は、接続が不可能であることを示すユーザインターフェース画面を表示することができる。ターゲットアプリケーションの有効性検査が成功すると、接続制御アプリケーション211は、動作910においてネットワーク接続を要請することができる。
【0092】
図11は、多様な実施形態により、端末においてネットワーク接続を制御するための動作フローチャート図である。以下に記述される動作は、図9の端末201を介して行われ得る。例えば、端末は、プロセッサを介してメモリに保存された命令語を実行することで図11の動作を行うことができる。メモリに保存された命令語は、図9の接続制御アプリケーション211のようなソフトウェアまたはプログラムであり得る。
【0093】
図11を参照すると、動作1105において、端末はネットワーク接続イベントを感知することができる。例えば、ユーザが特定ウェブブラウザのようなターゲットアプリケーションを介して目的地ネットワークに接続しようと試みると、端末はネットワーク接続イベントを感知することができる。
【0094】
動作1110において、端末は端末と目的地ネットワークの境界にあるゲートウェイ間の認可されたトンネルが存在するか否かを確認することができる。例えば、接続制御アプリケーションは、端末に保存されたデータフローテーブル内でターゲットアプリケーションの識別情報及び目的地ネットワーク(例:到着地IP)に対応するトンネルが存在するか否かを確認することができる。認可されたトンネルは、外部サーバ(例:図9のコントローラ202)により認可されたトンネルであり得る。
【0095】
認可されたトンネルが存在すると、動作1115において、端末はターゲットアプリケーションのデータパケットを認可されたトンネルを介して伝送することができる。認可されたトンネルが存在しなければ、動作1120において、端末はデータパケットをドロップするか外部サーバにネットワーク接続を要請することができる。
【0096】
図12は、多様な実施形態により、端末でネットワーク接続を制御するための他の動作フローチャート図である。図12に示された動作フローチャート図は、図11の動作1110の後に行われ得る。
【0097】
認可されたトンネルが存在しなければ、動作1220において、端末は外部サーバにネットワーク接続を要請することができる。外部サーバは、例えば、図9のコントローラ202のように端末のネットワーク接続を管理するサーバであり得る。端末は、別途の認証手続きを介して外部サーバに登録された端末であり得る。前記認証手続きは、例えば、図6のコントローラ接続または図8のユーザ認証手続きであり得る。この場合、端末と外部サーバ間の制御フローが生成され得る。一実施形態によると、端末は、ネットワーク接続要請のためにターゲットアプリケーションの識別情報、接続対象のIP、及び端末と外部サーバ間の制御フローの識別情報を前記外部サーバに伝送することができる。
【0098】
動作1225において、端末は、外部サーバからネットワーク接続要請に対する応答を受信することができる。受信された応答は、ターゲットアプリケーションの目的地ネットワークに対する接続が可能か否か、ターゲットアプリケーションと目的地ネットワーク間の認可されたトンネルが存在するか否か、認可されたトンネルが存在すると認可されたトンネルに対する情報(例:識別情報)、及び/または認可されたトンネルが存在しなければ認可されたトンネルを生成するために必要な情報を含むことができる。
【0099】
動作1230において、端末は受信された応答に基盤して利用可能なトンネル(または有効なトンネル)が存在するか否かを確認することができる。既に生成されたトンネルが存在するか、外部サーバから受信された情報に基盤して生成され得るトンネルが存在すると、動作1235において、端末はターゲットアプリケーションのデータパケットを前記トンネルを介して伝送することができる。利用可能なトンネルが存在しなければ、動作1240において、端末はデータパケットをドロップすることができる。
【0100】
図13は、多様な実施形態により、ゲートウェイでネットワーク接続を制御するための動作フローチャート図である。以下に記述される動作は、図9のゲートウェイ203を介して行われ得る。
【0101】
図13を参照すると、動作1305で、ゲートウェイは、端末(例:図9の端末201)からデータパケットを受信することができる。
【0102】
動作1310において、ゲートウェイは、受信されたデータパケットが認可されたトンネルを介して受信されたか否かを確認することができる。認可されたトンネルは、例えば、外部サーバ(例:図9のコントローラ202)の制御下に生成されたゲートウェイと端末間のトンネルであり得る。
【0103】
データパケットが認可されたトンネルを介して受信されたものであれば、動作1315において、ゲートウェイはデータパケットを目的地ネットワークにフォワーディングすることができる。データパケットが認可されたトンネルを介して受信されたものでなければ、動作1320において、ゲートウェイはデータパケットをドロップすることができる。
【0104】
図14から図15は、多様な実施形態により、ネットワーク接続を解除するための動作を説明する図である。図14は、ネットワーク接続を解除するための信号フローチャート図であり、図15は、ネットワーク接続を解除するためのユーザインターフェース画面を示す図である。
【0105】
図14を参照すると、動作1405において、端末201は、ネットワーク接続解除をコントローラ202に要請することができる。例えば、端末201は、端末201とコントローラ202間の制御フローの識別情報をネットワーク接続の解除を要請する情報とともにコントローラ202に伝送することができる。
【0106】
一実施形態によると、端末201は、ユーザの要請、端末201の再開始、または接続制御アプリケーション211の要請のようなネットワーク接続解除イベントに応答してネットワーク接続解除を試みることができる。例えば、図15を参照すると、端末201は、ディスプレイを介して出力されたユーザインターフェース画面1510で接続終了ボタン1515を選択するユーザ入力を受信することができる。端末201は、ポップアップウィンドウ1525を含むユーザインターフェース画面1520を出力することにより、ユーザに接続終了を再び確認することができる。他の例を挙げると、端末201は、ユーザインターフェース画面1520を出力せずに直ちに動作1405を行うことができる。
【0107】
動作1410において、コントローラ202は、端末201の要請に応答して受信された識別情報に対応する制御フローを除去(または解除)することができる。
【0108】
動作1415において、コントローラ202は、ゲートウェイ203に除去された制御フローに従属するトンネルの除去を要請することができる。除去される制御フローに従属するトンネルは多数であり得る。この場合、コントローラ202は除去される制御フローに従属する全てのトンネルの除去を要請することができる。
【0109】
動作1420において、ゲートウェイ203は、コントローラ202の要請に応答してトンネルを除去することができる。トンネルが除去されると、制御されたトンネルに対応する目的地ネットワークに伝送されるデータパケットは、接続制御アプリケーション211またはゲートウェイ203により遮断され得る。前述した動作を介し、端末201を含むシステムは、必要時に認可されたトンネルを解除することで端末201のネットワークに対する完全な遮断及び隔離を提供することができる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10a
図10b
図11
図12
図13
図14
図15