Мультитуннельный адаптер виртуальной компьютерной сети

Изобретение относится к сетевым технологиям передачи данных. Технический результат заключается в обеспечении маршрутизации сетевого трафика с помощью одного виртуального адаптера. Технический результат достигается за счет приема, посредством одного виртуального адаптера клиента виртуальной частной сети (VPN), множества отдельных пакетов данных по сети, причем VPN-клиент находится в части пользовательского пространства операционной системы, работающей на компьютерной системе; идентификации, с помощью одного виртуального адаптера, соответственных мест назначения для множества отдельных пакетов данных; создания, с помощью VPN-клиента, множества подключений к шлюзам, соответствующим соответственным местам назначения для множества отдельных пакетов данных; и передачи пакетов данных к соответственным местам назначения через соответственные шлюзы. 3 н. и 8 з.п. ф-лы, 14 ил.

 

ПЕРЕКРЕСТНЫЕ ССЫЛКИ НА РОДСТВЕННЫЕ ЗАЯВКИ

Настоящая заявка испрашивает приоритет согласно заявке на патент США № 14/630,550, поданной 24 февраля 2015, под названием «Мультитуннельный адаптер виртуальной компьютерной сети» и согласно Предварительной заявке на патент США № 62/112,457, поданной 5 февраля 2015 под названием «Мультитуннельный адаптер виртуальной компьютерной сети», описания которых включены в данный документ посредством ссылки .

Настоящая заявка связана с заявкой на патент США № 14/578,140, поданной 19 декабря 2014 под названием «Системы и способы защиты для сетевых устройств», описание которой включено в данный документ посредством ссылки.

УРОВЕНЬ ТЕХНИКИ

В клиент-серверой модели сети, компании или сервис-провайдеры, как правило предлагают сервисы и/или приложения клиентским компьютерам и другим сервисам через компьютерную сеть. Серверы и ассоциированные с ними сервисы могут включать, например, серверы электронной почты, файловые серверы, сервисы управления взаимоотношениями с клиентами или CRM, сервисы планирования корпоративных ресурсов или ERP, сервисы управления документооборотом, и т.п.

С одной стороны, безопасность должна быть гарантирована с помощью ограничения доступа к данным сервисам только для проверенных пользователей и клиентов. С другой стороны, проверенным пользователям требуется доступ к сервисам простым и понятным способом. Предпочтительно сервисы должны быть досягаемы из любого места в любое время. С политикой «Принеси свое собственное устройство» (или «BYOD»), которая находит все большее и большее применение в компаниях, сервисы также должны быть доступны из «всего, что угодно», то есть, из какого-либо устройства, принадлежащего проверенному пользователю, такого как, например, планшетный компьютер, ноутбук, домашний компьютер или смартфон.

Существуют различные традиционные подходы для того, чтобы попытаться предотвратить неавторизованный доступ к таким серверам приложений или к сервисам или приложениям, обслуживаемым данными серверами приложений. Например, размещение серверов приложений внутри частной сети, является, само по себе, мерой безопасности, поскольку изолирует сеть компаний, локальную сеть (или «LAN») от сети Интернет и других внешних сетей общего пользования. Устройства, и, как следствие, сервисы, внутри частной сети являются невидимыми из внешней сети. Содержание трафика в частной сети, и способ, с помощью которого трафик может пересекать границы сети компании, может регулироваться и подвергаться мониторингу, применяя преобразования сетевых адресов (NAT), правила брандмауэра и прокси в шлюзовых устройствах, отделяя сеть WAN от частной сети компании. Частные сети могут дополнительно подразделяться физически или виртуально, например, на виртуальные сети LAN, с целью дополнительного отделения сервера приложений от потенциального неавторизованного доступа клиентов внутри частной сети компании.

Уровень безопасности сети может быть обеспечен пользователем на пользовательском, или клиентом на клиентском уровне, с помощью настройки конфигурации клиентского брандмауэра (по умолчанию) только для доступа к серверу аутентификации. Когда клиент авторизован, клиентский брандмауэр открыт и все сетевые устройства настроены таким образом, чтобы пропустить клиентский сетевой трафик к серверам приложений, к которым был предоставлен доступ.

Обеспечение уровня безопасности сети на клиентском или пользовательском уровне может также быть предпринято контроллером, генерирующим права доступа для пользователей на основе личных профилей и профилей здоровья пользователей. Контроллер затем настраивает устройство защиты, тем самым обеспечивая сетевой доступ к набору серверов.

Обеспечение уровня безопасности сети в принимающем хостинг-сервере может также предприниматься с помощью настройки хостинг-сервера контроллером. Когда инициирующий хостинг-сервер имеет авторизованный доступ к принимающему хостинг-серверу, контроллер настраивает принимающий хостинг-сервер, таким образом, чтобы иметь возможность принимать сетевые подключения от инициирующего хостинг-сервера.

Безопасность внутри частной сети может дополнительно обеспечиваться уровнем безопасности приложения, где пользователь или клиенты могут иметь доступ к сервисам на серверах только после аутентификации. В таком случае клиент может найти сервер приложения внутри сети, например, по его сетевому IP-адресу, и может найти сервис, работающий на сервере приложения по его TCP или UDP номеру порта, однако сервис или приложение, само по себе, может отклонить доступ клиенту или пользователю на основе параметров аутентификации. Такая аутентификация может управляться локально, отдельными сервисами или централизованно, сервером аутентификации. Затем сервисы проверяют параметры аутентификации вопреки такому серверу аутентификации, перед предоставлением пользователю и/или клиенту доступа к определенному сервису.

Доступ к частной сети компании может быть установлен через VPN или виртуальную частную сеть, где устанавливается защищенный сетевой туннель между клиентским устройством и частной сетью. Установка такого туннеля допускается только через аутентификацию с сервером VPN. Существуют различные схемы авторизации, в целях обеспечения только проверенным пользователям и/или клиентам возможности присоединиться к VPN.

Другим решением для предоставления доступа к сервисам в частной сети компании является открытие внешнего доступа к некоторым сервисам. Например, сервер электронной почты может разрешать внешние подключения, для предоставления возможности пользователям проверять электронную почту, когда они находятся за пределами компании. Такие сервисы иногда ограничиваются предоставлением доступа только через один интерфейс, например, веб-сайт компании, для того, чтобы клиент не имел физического сетевого доступа к серверу, запускающему сервис, а только к веб-серверу, предоставляющему набор сервисов.

В аутентификации на основе рисков, доступ к сервисам предоставляется не только на основе идентификации пользователя и/или клиента с помощью параметров аутентификации, но, также, на основе дополнительных метрик для определения уровня доверия, соответствующего уровню риска. Такие метрики, например, местонахождение пользователя, тип клиента, операционная система, были ли все патчи безопасности установлены, история подключений входов пользователя в систему и т.д. Таким образом, пользователь, который входит в систему по VPN, может быть ограничен в сервисах, в которых, он не был бы ограничен при входе в систему из частной сети. Или пользователю, может быть отказано в некоторых сервисах, если он входит в систему из частной сети со своего личного устройства.

Когда устанавливаются VPN подключения, применяются виртуальные сетевые адаптеры, в результате, операционная система, маршрутизирует пакеты, предназначенные для VPN, через виртуальный адаптер. Виртуальные адаптеры запускаются в пространстве ядра операционной системы. Программное обеспечение VPN, то есть, выделенное программное приложение, работающее в пользовательском пространстве, затем зашифровывает полный пакет и отправляет к его месту назначения (VPN сервису на другой стороне, где происходит процесс инверсии). Однако в традиционных системах, требуются административные права для создания виртуального адаптера, так как адаптер, расположен в пространстве ядра. Кроме того, для каждого созданного VPN подключения, требуется новый виртуальный адаптер. К вариантам реализации изобретения в настоящем описании относятся данные и другие вопросы.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

Кроме всего прочего, варианты реализации изобретения в настоящем описании позволяют какому-либо количеству подключений к виртуальной частной сети быть созданными без необходимости административных прав, и позволяют сетевому трафику быть маршрутизированным, с помощью одного виртуального адаптера, вместо виртуального адаптера, предназначенного для каждого подключения к виртуальной сети.

Компьютеризованный способ, согласно одному из вариантов реализации изобретения в настоящем описании содержит: получение пакета данных по сети с помощью компонента маршрутизации клиента виртуальной частной сети (VPN), где VPN-клиент, содержится в части пользовательского пространства операционной системы, работающей на компьютерной системе; идентификацию компонентом маршрутизации места назначения для пакета данных в сети; создание VPN-клиентом подключения со шлюзом, соответствующим месту назначения для пакета данных; и передача пакета данных к месту назначения через шлюз.

Настоящее описание содержит различные способы, устройства (включая компьютерные системы), осуществляющие данные способы, и машиночитаемые носители, содержащие инструкции, которые, при их исполнении компьютерной системой, заставляют компьютерную систему демонстрировать данные способы.

Другие признаки будут очевидны из сопутствующих графических материалов и из последующего подробного описания.

КРАТКОЕ ОПИСАНИЕ ГРАФИЧЕСКИХ МАТЕРИАЛОВ

Фиг.1 представляет собой иллюстративную систему для защиты сетевых устройств от доступа к сети непроверенных клиентских устройств, согласно различных аспектов данного описания.

Фиг. 2 представляет собой иллюстративный процесс, выполняемый на клиентском устройстве, для получения доступа к сети, защищенным сетевым устройствам, согласно различных аспектов данного описания.

Фиг. 3 представляет собой иллюстративный процесс, выполняемый сервером аутентификации для предоставления клиентского доступа и списка туннелей клиентскому устройству, позволяя клиенту сетевой доступ к защищенным сетевым устройствам, согласно различных аспектов данного описания.

Фиг. 4 представляет собой иллюстративный процесс, выполняемый шлюзом для предоставления клиентского доступа к защищенным сетевым устройствам за пределами брандмауэра данного шлюза, согласно различных аспектов данного описания.

Фиг. 5 представляет собой иллюстративный процесс, выполняемый клиентским устройством, для получения доступа к сети сетевым устройствам второй очереди за пределами брандмауэра шлюза, после получения доступа к сетевым устройствам первой очереди, согласно различных аспектов данного описания.

Фиг. 6 представляет собой иллюстративный обмен сообщениями, подтверждающими активность между клиентским устройством и шлюзом, с целью поддержки сетевого туннеля между клиентом и клиентским устройством, согласно различных аспектов данного описания.

Фиг. 7 представляет собой иллюстративную систему для защиты сетевых устройств от доступа к сети непроверенными клиентскими устройствами, согласно различных аспектов данного описания.

Фиг. 8 изображает иллюстративную систему для защиты сетевых устройств от доступа к сети непроверенным клиентским устройствам, согласно различных аспектов данного описания.

Фиг. 9 изображает иллюстративную систему для защиты сетевых устройств от доступа к сети непроверенным клиентским устройствам, где сетевая загрузка шлюза сбалансирована вторым шлюзом, согласно различных аспектов данного описания.

Фиг.10 изображает иллюстративную компьютерную систему, согласно различных аспектов данного описания.

Фиг.11 изображает иллюстративную систему, показывающую традиционные способы создания VPN подключений и маршрутизации пакетов.

Фиг.12 изображает иллюстративную систему оптимизации мультитуннельного виртуального сетевого адаптера, согласно различных аспектов настоящего описания.

Фиг.13 изображает другую иллюстративную систему оптимизации мультитуннельного виртуального сетевого адаптера, согласно различных аспектов настоящего описания.

Фиг.14 представляет собой иллюстративный процесс, согласно различных аспектов настоящего описания.

ПОДРОБНОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ

Объект изобретения будет описан ниже более подробно, со ссылкой на сопутствующие графические материалы, которые составляют часть настоящего документа, и которые показывают в качестве иллюстрации, конкретные примеры вариантов реализации изобретения. Объект изобретения может, однако, быть реализован во множестве различных форм и, следовательно, охваченный или заявленный объект изобретения, будет истолкован, как не ограниченный каким-либо примером из вариантов реализации изобретения, изложенных в данном документе. Примеры вариантов реализации изобретения приводятся только для иллюстрации. Таким же образом, предполагается достаточно широкий объем для заявленного или охватываемого объекта изобретения. Кроме всего прочего, например, объект изобретения может быть реализован, как способы или продукты (устройства, компоненты или системы). Согласно вариантам реализации изобретения, могут, например, принимать вид аппаратного, внешнего или встроенного программного обеспечения или какие-либо их комбинации (иные, чем программное обеспечение, как таковое). Следующее подробное описание, следовательно, не предназначено для понимания в ограничивающем смысле.

В сопутствующих графических материалах, некоторые признаки могут быть непропорционально увеличены, для того, чтобы показать детали специфических компонентов (какой-либо размер, материал и похожие детали, показанные в фигурах, приводятся иллюстративно и не ограничительно). Следовательно, отдельные структурные и функциональные детали, раскрываемые в данном документе, не интерпретируются как ограничивающие, а только, как репрезентативная основа для обучения специалистов в данной области техники разнообразному использованию, раскрываемых вариантов реализации изобретения.

Ссылка в данном описании на «один вариант реализации изобретения» или «вариант реализации изобретения» означает, что специфический признак, структура или характеристика, описанная совместно с вариантом реализации изобретения, включена по меньшей мере в один вариант реализации изобретения. Появление фразы «в одном варианте реализации изобретения» в различных местах данного описания необязательно ссылается на тот же вариант реализации изобретения, ни на раздельные или альтернативные варианты реализации изобретения, взаимоисключающие другие варианты реализации изобретения. Более того, различные описанные признаки могут быть продемонстрированы в одних вариантах реализации изобретения, но не в других. Аналогично, различные описанные требования могут быть требованиями для одних вариантов реализации изобретения, но не для других.

Какая-либо комбинация и/или разновидность элементов в способах, описанных в данном документе, может быть скомбинирована друг с другом, выборочно выполнена или не выполнена, на основе различных условий, повторяемых какое-либо количество раз, и применяться на практике в каком-либо подходящем порядке и совместно с какой-либо подходящей системой, устройством, и/или процессом. Способы, описанные и изображенные в данном документе, могут быть реализованы каким-либо подходящим способом, таким, например, как программное обеспечение, работающее на одной или нескольких компьютерных системах. Программное обеспечение может включать машиночитаемые инструкции, хранящиеся на материальном машиночитаемом носителе данных (таком, как память компьютерной системы) и может выполнятся одним или несколькими процессорами для реализации способов различных вариантов реализации изобретения.

Фиг.1 наглядно демонстрирует иллюстративную систему для защиты сетевых устройств от нежелательного сетевого доступа, согласно различных аспектов настоящего описания. В данном примере три сетевых устройства (серверы приложений 141, 142 и 143) представляют собой часть частной сети 140. Доступ к серверам 141-143 может быть получен изнутри частной сети 140 по адресу частной сети. В данном контексте, термин «частный» означает тот факт, что сервера приложений 141-143 не являются глобально маршрутизируемы. Другими словами, серверам приложений 141-143 не могут быть присвоены адреса частной сети, снаружи частной сети 140.

Частная сеть 140 и другие компоненты на Фиг.1, могут использовать какое-либо количество и типы протоколов передачи данных, таких, как Internet Protocol (IP), или Transmission Control Protocol/Internet Protocol (TCP/IP). Например, частная сеть 140 может иметь наборы адресов такие, как RFC 1918 для Internet Protocol Version 4 (IPv4) и RFC 4193 для Internet Protocol Version 4 (IPv6).

Сервера приложений 141-143 предоставляют сервисы по сети 140 другим компьютерным устройствам. Совместно с вариантами реализации изобретения в настоящем описании может применяться какое-либо количество и типы серверов приложений и ассоциированных сервисов, например: серверы электронной почты, файловые серверы, Customer Relationship Management или CRM-сервисы, Enterprise Resource Planning или ERP-сервисы и/или сервисы управления документооборотом.

Передача данных может быть установлена с каким-либо из серверов приложений 141-143 с помощью открытия коммуникационного сокета с соответствующим сервером приложений на порте (или диапазоне портов), ассоциированных с сервисом. Сервера приложений 141-143 могут соответствовать физическим устройствам с физическим сетевым интерфейсом, ассоциированным с адресом частной сети. Как альтернативный вариант, сервера приложений 141-143 могут также соответствовать образцам виртуальных серверов, работающих на одном или нескольких физических серверах. Каждый образец виртуальных серверов может иметь виртуальный сетевой интерфейс с ассоциированным с ним адресом частной сети. Образцы виртуальных серверов могут включать, или работать совместно с одним или несколькими образцам пользовательского пространства (также известных, как контейнеры программного обеспечения, виртуальные механизмы, виртуальные частные сервера, и/или «клетки»). Такие образцы пользовательского пространства могут быть реализованы каким-либо подходящим способом, включая программное средство DOCKER.

В примере показанном на Фиг.1 частная сеть 140 отделяется от внешней сети 180 шлюзом 100, тем самым позволяя контролировать сетевой трафик между внешней сетью 180 и частной сетью 140. Система на Фиг.1 может идентифицировать клиентов 121, 122, как «проверенных клиентов», имеющих права доступа к одному или нескольким серверам приложений 141-143 внутри частной сети 140 для использования, работающих на них, сервисов. Клиенты 121, 122 могут быть, или содержать, физическими аппаратными и/или виртуальными компонентами. Например, клиенты 121, 122 могут содержать виртуальную операционную систему, работающую на физическом устройстве, таком, как мобильное устройство. Система может также предоставлять сетевой доступ к набору серверов приложений 141-143, к которым клиентам 121, 122 разрешен доступ и запрещать сетевой доступ к каким-либо серверам приложений, к которым клиентам 121, 122 не разрешен доступ.

Для контроля доступа клиентов 121, 122 к серверам приложений 141-143, шлюз 100 содержит модуль туннеля 101 для установки сетевых туннелей по запросу клиентов 121, 122 во внешней сети 180. В примере, показанном на Фиг.1, сетевые туннели 181, 182 установлены между модулем туннеля 101 и клиентами 121, 122, соответственно, таким образом, расширяя частную сеть 140 для клиентов 121, 122. В некоторых вариантах реализации изобретения виртуальная частная сеть (VPN) установлена через туннели 181, 182. Таким образом, клиенты 121, 122, несмотря на то, что внутри сети 180, им предоставляется адрес частной сети в диапазоне частной сети 140, могут потенциально получить доступ ко всем серверам приложений 141-143 по их соответствующему адресу частной сети (предоставляемый доступ разрешается, как это обсуждается более подробно ниже).

По запросу клиентов 121, 122 устанавливается туннель, тем самым обеспечивая информацией для аутентификации туннеля в модуле туннеля 101. Совместно с вариантами реализации изобретения в настоящем описании может применяться какое-либо количество и тип информации для аутентификации, например, имя пользователя и пароль. Информация для аутентификации туннеля может также (или, как альтернативный вариант) включать биометрические характеристики, двухфакторную аутентификацию, и/или другие криптографические способы. Перемещение данных в туннелях 181, 182 может дополнительно быть защищено шифрованием, согласно протоколам: Internet Protocol Security (IPsec protocol), Transport Layer Security (TLS) и/или Datagram Transport Layer Security (DTLS). Модуль аутентификации туннеля 105 подтверждает информацию для аутентификации туннеля, и, если аутентификация успешна, устанавливается сетевой туннель с соответствующим клиентом.

Шлюз 100 на Фиг.1 содержит брандмауэр 102 для контролирования сетевого трафика между клиентами 121, 122 и серверами приложений 141-143 после того, как соответствующие туннели 181, 182 будут установлены. Брандмауэр 102 может контролировать такой трафик, согласно правил брандмауэра, которые обеспечиваются модулем конфигурации брандмауэра 103 или другим источником. В некоторых вариантах реализации изобретения, модуль конфигурации брандмауэра 103 получает правила брандмауэра из списков доступа клиента, полученных от соответствующих клиентов 121, 122 которые, в свою очередь, получают список доступа клиента от сервера аутентификации 160.

Кроме всего прочего, правила брандмауэра позволяют клиентам 121, 122 устанавливать и поддерживать сетевые подключения с серверами приложений 141, 142 и 143. Набор таких серверов приложений 141-143 для предоставления доступа клиентам 121, 122 может быть определен из списка доступа к клиенту, из которого, также, могут быть получены правила брандмауэра. Правила брандмауэра могут включать любую желаемую информацию. В некоторых вариантах реализации изобретения, правила брандмауэра, например, включают токены авторизации, которые определяют информацию к которой клиенты могут иметь доступ. Такие токены авторизации могут применяться, для настройки брандмауэра, например, не только разрешать/отклонять доступ сетевому трафику, но и предоставлять доступ к различным файлам (например, которые классифицированы как строго конфиденциальные (содержащие метаданные)).

Брандмауэр 102 может быть, или включать, какое-либо количество и тип систем, устройств, компонентов аппаратных и/или компонентов программного обеспечения. Например, брандмауэр 102 может быть реализован, как распределенный межсетевой экран, который содержит какое-либо количество компонентов аппаратного и/или программного обеспечения. В некоторых вариантах реализации изобретения, брандмауэр 102 блокирует весь трафик от клиентов 121, 122 по защищенным туннелям 180, 181 по умолчанию, но может быть настроен для того, чтобы пропускать трафик в ответ на правило брандмауэра. Например, если список доступа клиента показывает, что клиент 121 может получить доступ к серверу приложения 141, модуль конфигурации брандмауэра 103 получает соответствующее правило и активирует его в брандмауэре 102. После активации правила, брандмауэр 102 больше не блокирует сетевой трафик в частной сети 140 между клиентом 121 и сервером приложения 141.

Система на Фиг.1 содержит сервер аутентификации 160, который в свою очередь содержит модуль аутентификации 162 для аутентификации клиентов 121, 122 и генерации клиентской информации. В примере на Фиг.1 показано, что, для получения клиентам 121, 122 доступа к серверу приложений 141-143 в частной сети 140, в первую очередь, требуется пройти аутентификацию на сервере аутентификации 160.

Сервер аутентификации 160 может быть реализован с применением каких-либо комбинаций компонентов аппаратного и программного обеспечения, и может устанавливать связь с другими компонентами аппаратного и программного обеспечения каким-либо желаемым способом. В иллюстративной системе, показанной на Фиг.1, сервер аутентификации 160 не является частью частной сети 140, но является доступным для клиентов 121, 122 через сеть 180. Информация для аутентификации, предоставляемая клиентами 121, 122 уникально идентифицирует клиента или пользователя клиента, например, с помощью предоставления имени пользователя и пароля (которые могут быть верифицированы модулем аутентификации 162).

Клиенты 121, 122 могут быть аутентифицированы с применением какого-либо количества и типов различных способов аутентификации. Например, в дополнение (или в качестве альтернативы) к аутентификации по паролю, аутентификация может быть проведена на основе аппаратного обеспечения клиента 121, 122, то есть использовать историю клиентского аппаратного обеспечения и его атрибутов. В одном из вариантов реализации изобретения запись такой информации может храниться на клиентском устройстве, при обнаружении перемещения записи на другую машину результат аутентификации будет отрицательным. Запись может быть зашифрована и/или подписана ключом для дополнительной сохранности. Аутентификация может также проводиться на основе временного окна, например, аутентификация отклонена (или необходима дополнительная аутентификация), если клиенты 121, 122 предпринимает попытку аутентификации за пределами установленного временного промежутка.

Аутентификация может осуществляться на основе информации о местонахождении, например на основе Internet protocol (IP-адреса) клиентов 121, 122 или информации о глобальном местоположении, ассоциированной с клиентами 121, 122. Например, физическое местоположение клиентов 121, 122 может быть определено из информации о глобальном местоположении, точный IP-адреса или, даже, код страны IP-адреса клиента, и применяться для определения, является ли клиенты 121, 122 «настоящим» клиентом или «третьим» лицом (хакером), выдающим себя за клиента. IP-адреса (индивидуальный или диапазоны на основе кода страны, и т.п.) могут попадать в чёрный список или белый список на основе предыдущей информации (то есть, попытки хакерских атак, отрицательные результаты аутентификации и т.п.). Таким же образом, информации о местонахождении применяемая для аутентификации, может также извлекаться из физической сети(-ей) используемой клиентами 121, 122 в попытке подключения.

Модуль аутентификации 162 может, также, получать контекстную или статусную информацию напрямую от клиентов 121, 122. Когда такая информация получена напрямую от клиента, и таким образом не может быть верифицирована сервером аутентификации, она может считаться недостоверной «клиентской контекстной информацией«. Клиентская контекстная информация, которая может содержаться в клиентской информации, может содержать информацию, такую, как: имя хостинг-сервера, которое может быть в форме полного доменного имени (или FQDN), например, «host.domain.com»; семейство и номер версии операционной системы, работающей на хостинг-сервере; уровень патча, указывающий, какие патчи уже применены в операционной системе; статус антивирусного программного обеспечения, инсталлированного на клиенте; и/или как долго пользователь клиентского устройства залогинен на клиенте.

Модуль аутентификации 162 может также добавлять «достоверную клиентскую информацию» к клиентской информации, которая может содержать информацию, такую, как информация о пользовательском членстве, указывающая на пользовательские группы и подразделения, к которым относится пользователь. Достоверная клиентская информация может быть предоставлена системами пользовательских директорий используя упрощенный протокол доступа директорий (LDAP) или сервисы Active Directory (AD). Достоверная клиентская информация может также включать информацию, такую, как информация об истории предыдущих сессий клиента с сервером аутентификации 160 (например, временная отметка последнего логина и количество неуспешных попыток логина).

В примере, показанном на Фиг.1, модуль аутентификации 162 содержит обработчик списка клиента 163 и обработчик списка туннелей 165. В результате успешной аутентификации модулем аутентификации 162, обработчик списка туннелей 165 генерирует список туннелей клиента и клиентский обработчик списка туннелей 163 генерирует список доступа клиента на основе клиентской информации предоставляемой модулем аутентификации.

Список туннелей клиента может включать всю информацию для аутентифицированного клиента 121, 122, с целью установки соответствующего туннеля 181, 182. Список туннелей клиента может содержать, например, информацию адреса сети (такую, как IP-адрес назначения и/или номер порта назначения, шлюза 100), с целью инициации установки для клиентов 121, 122 соответствующего туннеля 181, 182, запрашивая установку туннеля по IP-адресу и номеру порта, заданного в списке туннелей клиента. Список туннелей клиента может также включать туннель информации для аутентификации, с целью аутентификации клиентов 121, 122 модулем аутентификации 105 в шлюзе 100. Список туннелей клиента может содержать, например, токены виртуальной частной сети (VPN), которые содержат информацию, необходимую для подключения клиента к различным шлюзам.

Информация для аутентификации туннеля, генерируемая обработчиком списка туннелей 165 может быть динамической (то есть, неизвестной для шлюза 100, модуля аутентификации 105, заблаговременно). В таких случаях сервер аутентификации может перенаправлять информацию для аутентификации туннеля шлюзу 100 по каналу связи 168 между сервером аутентификации 160 и шлюзом 100. Канал связи 168, таким образом, обеспечивает канал между шлюзом 100 и сервером аутентификации 160, который позволяет обмен обновлений конфигурации и возможность отклонения пользователя или сессии , если пользователь и/или сессия удалены на сервере аутентификации 160. Существуют различные причины по которым пользователь или сессия может быть удалена, например: 1) база данных сервиса меняется и администратор хочет принудительно выполнить замену у всех пользователей; 2) пользователь меняет способ аутентификации; или 3) пользователь или клиент заблокирован системой. Канал связи 168 может быть реализован каким-либо желаемым способом, например, по каналу с протоколом защищённой передачи гипертекстовой информации (HTTPS), который позволяет взаимодействие только между сервером аутентификации 160 и одним или более шлюзами.

Список доступа клиента идентифицирует набор серверов приложений 141-143 к которым клиенту предоставляется доступ. В некоторых вариантах реализации изобретения, обработчик списка туннелей 163 генерирует правила брандмауэра для брандмауэра 102 и содержит данные правила в списке доступа клиента. Правила брандмауэра затем извлекаются из списка доступа клиента модулем конфигурации брандмауэра 103 в шлюзе 100 и применяются к брандмауэру 102. Список доступа клиента может дополнительно добавлять условия к адресной информации серверов приложений 141-143. Иллюстративный пример списка доступа клиента показан в таблице ниже.

Таблица1: Список доступа клиента с условными серверам приложений

IP-адрес Условие
10.0.0.1 Временной интервал(09.00-17.00)
10.0.0.11 домен (domain.com)
10.0.0.3 Префикс строки(username, adm_)

Первая колонка Таблицы 1 указывает IP-адрес сервера приложения к которому клиенту предоставляется сетевой доступ. Вторая колонка дополнительно указывает условие, которое должно быть выполнено, с целью получения доступа. Первое условие указывает конкретный временной интервал, когда клиенту предоставляется доступ к серверу приложения 10.0.0.1. Второе условие указывает конкретный домен из которого следует создать запрос (то есть, указывает домен, из которого клиент может получить доступ к приложению). Второе условие может применяться, например, компанией позволяя доступ только из ее домена (то есть, изнутри сети компании). Третье условие может применяться, для того, чтобы определить конкретного пользователя или группу (например, администраторы компании), которые являются единственными, кому следует иметь доступ к данному серверу приложений или другому сетевому устройству.

В иллюстративной системе, показанной на Фиг.1, сервер аутентификации 160 содержит подпись модуля 164 для создания электронно-цифровых списков, например, подписанного списка доступа клиента и подписанного списка туннелей клиента. Цифровые подписи, генерируемые модулем подписи 164, могут быть верифицированы модулем верификации подписи 104 в шлюзе 100, как результат получения доступа к клиенту и списку туннелей. Подпись может быть генерируемая и проверяемая ключом подписи, используемым совместно, шлюзом и сервером аутентификации 160, так, что список доступа клиента и список туннелей клиента не изменяются клиентами 121, 122 без уведомления шлюзом 100 сервера аутентификации 160. В одном из иллюстративных вариантов реализации изобретения, X.509 сертификаты, использующие механизм частного/открытого ключа, применяются для проверки сертификата.

В некоторых вариантах реализации изобретения, если шлюз 100, во время попытки проверить подпись, определит, что список доступа клиента или список туннелей клиента был изменен, шлюз 100 может уведомить сервер аутентификации 160 об изменениях и/или прервать сетевой туннель с клиентом. Сервер аутентификации 160 может применять такие уведомления, как часть «достоверной клиентской информации», ассоциированной с клиентом в будущих взаимодействиях с клиентом. В некоторых вариантах реализации изобретения шлюз 100 может прервать установленный сетевой туннель 181, 182 по своему собственному желанию (например, в ответ на обнаружение изменения в клиентском списке доступа или списке туннелей клиента, как описано выше). Кроме того, или, как альтернативный вариант, сервер аутентификации 160 может быть приспособлен для того, чтобы заставлять шлюз 100 прерывать, установленные сетевые туннели 181, 182, отправляя сообщение шлюзу 100 по каналу связи 168, давая команду модулю туннеля 101 прервать сетевой туннель и удалить правила брандмауэра из брандмауэра, позволяющие доступ к серверам приложений, соответствующему клиенту.

На Фиг. 2, 3 и 4 показаны иллюстративные процессы, которые могут быть выполнены различными компонентами, работающими совместно в вариантах реализации изобретения настоящего описания, включающие компоненты иллюстративной системы, показанной на Фиг.1, а именно клиента 121, 122, сервера аутентификации 160 и шлюза 100, соответственно. Процессы, описанные в данном документе, могут быть выполнены (полностью или частично) в какой-либо другой вариации различных компонентов аппаратного и/или программного обеспечения.

Процессы, изображенные на Фиг. 2, 3, и 4 могут быть реализованы во множестве контекстов и ситуаций, например, если все серверы приложений 141, 142 и 143 принадлежат компании, целью которой является предоставление услуг серверов приложений, защищенным способом проверенным клиентам 121, 122. В таких случаях «проверенный клиент» представляет собой клиентское устройство, пользователь которого или само устройство известно компании и которому может быть предоставлен доступ к одному или нескольким серверам приложений. Каждый из клиентов 121, 122 может быть реализован, как какая-либо комбинация компьютерного аппаратного и/или программного обеспечения, которая может иметь доступ и использовать сервис, доступный серверам приложений 141-143. Клиент может, например, являться (или содержать) настольным компьютером, ноутбуком, смартфоном и/или планшетным компьютером. Клиент может также являться (или содержать) сервер, который, например, использует сертификат для самоидентификации. Процессы, изображенные на Фиг. 2, 3, и 4 помогают предотвратить клиентам 121, 122 доступ к частной сети напрямую, вместо предоставления доступа только через шлюз (например, через шлюз 100 на Фиг.1). Такие ограничения могут также быть установлены по отношению к клиентам, работающим внутри частной сети компаний. В качестве примера такого сценария, который вновь ссылается на Фиг.1, обе сети 180 и 140 могут быть отдельными «частными сетями», но сетевое взаимодействие между клиентами 121, 122 и серверами приложений 141-143 все равно контролируется шлюзом 100.

На Фиг. 2 показан иллюстративный процесс, который может быть выполнен каким-либо из клиентов 121, 122 с целью получения доступа к одному или нескольким сервисам на серверах приложений 141-143. Процесс на Фиг. 2 может быть выполнен каким-либо подходящим способом, например, программным приложением на клиентском устройстве, которое запускается автоматически в фоновом режиме, когда клиент активен. Программное приложение может запускаться автоматически во время запуска клиента или вручную, пользователем или другим процессом, работающем на клиенте. Клиенты 121, 122 мониторят (201) сетевой доступ клиентских устройств к одному из серверов приложений 141-143. Сетевой адрес серверов приложений 141-143 может представлять собой параметр конфигурации в клиентских приложениях, использующих услуги серверов приложений. Например, сервер приложения может являться (или включать в себя): почтовым сервером с сетевым адресом и портами, настроенными в приложении почтового клиента; файловым сервером настроенным, как общий сетевой ресурс, со своим сетевым адресом; CRM сервисом и клиентом имеющим выделенное клиентское приложение, инсталлированное с целью доступа к CRM сервису; и/или веб-сервисом и адресом пользователя в адресной строке приложения браузера.

Клиент может обнаружить, (202) что клиентское приложение пытается получить доступ к серверам приложений внутри частной сети 140 на основе сетевого адреса назначения. Клиент получает обратно (203) информацию для аутентификации с целью отправки к серверу аутентификации 160. Получение обратно информации для аутентификации может осуществляться автоматически, например, применяя параметры аутентификации ранее представленные пользователем для входа в систему. В качестве альтернативного варианта, получение информации для аутентификации может включать запрос пользователю с целью предоставить параметры аутентификации, такие, как имя пользователя и пароль. В качестве альтернативного варианта к этапам 201-203 на Фиг. 2, клиент может напрямую идентифицировать сам себя с сервером аутентификации 160 без ожидания попытки сетевого доступа к одному из серверов приложений 141-143. Например, клиент может пройти аутентификацию с сервером аутентификации 160, когда пользователь клиента осуществит регистрацию на клиенте или когда клиент загружается.

Аутентификации клиента может быть произведена каким-либо способом, например, с помощью применения сохраненных параметров аутентификации, пользовательских параметров доступа, и/или отдельных параметров аутентификации, запрашиваемых у пользователя. Какое-либо количество и тип поставщиков идентификации может быть также применено совместно с вариантами реализации данного изобретения, включая RSA, Oauth, сертификаты, Radius, SAML и т.п. Параметры аутентификации применяются, с целью идентификации (204) клиентов 121, 122 сервером аутентификации 160. В качестве ответа клиент получает (205) список туннелей клиента и список доступа клиента к серверу аутентификации 160.

Клиенты 121, 122 устанавливает (206) сетевой туннель 181, 182 со шлюзом 100, например, получая сетевой адрес шлюза 100 из списка туннелей клиента и отправляя запрос шлюзу 100 на установку туннеля. В результате установки (206) туннеля, клиент может предоставить список туннелей клиента шлюзу, в качестве аутентификации. Список туннелей клиента содержит подпись сервера аутентификации 160, из которого шлюз 100 может верифицировать клиента как проверенного и установить туннель без дополнительного обмена параметрами аутентификации. После того, как сетевой туннель установлен, частная сеть 140 продлевается к клиенту через туннель, но клиент может все еще не иметь возможности доступа к каким-либо серверам приложений 141-143, так как сетевой доступ к серверам может быть блокирован брандмауэром 102 шлюза 100.

Клиент отправляет (207) список доступа клиента, полученный от сервера аутентификации 160 к шлюзу 100 и записи (211) к которым сервера приложений клиента могут иметь доступ из списка доступа клиента. Клиент может также давать сигнал или отображать доступные сервера приложений или сервисы пользователю клиентского устройства. При условии успешной аутентификации, шлюз 100 предоставляет клиентский сетевой доступ ко всем серверам приложений или сервисам на серверах приложений, перечисленных в списке доступа клиента.

Фиг. 3 представляет собой иллюстративный процесс с целью предоставления клиентского доступа и списков туннелей клиентам, который может быть выполнен сервером аутентификации, например сервером аутентификации 160 на Фиг.1. В этом иллюстративном процессе, сервер аутентификации получает запрос от соответствующего клиента (301). В запросе, клиент предоставляет информацию для аутентификации для идентификации с сервером аутентификации, например, на этапе 204 на Фиг. 2. Сервер аутентификации предпринимает попытку идентифицировать (302) клиента. Если клиент, неизвестен серверу аутентификации и таким образом непроверенный, сервер останавливает процесс (303). Если клиент известный, сервер аутентификации получает (304) достоверную клиентскую информацию и добавляет ее к клиентской информации. Клиентская контекстная информация, полученная вместе с информацией для аутентификации на этапе 301, может также быть добавлена к клиентской информации.

Модуль аутентификации определяет (310) набор серверов приложений к которым клиенту разрешается доступ. Набор серверов приложений, вместе с клиентской информацией может затем быть перенаправлен к обработчику списка клиента 163 и обработчику списка туннеля 165 сервера аутентификации 160. Обработчик списка туннелей 165 генерирует (305) список туннелей на основе клиентской информации, например, предоставлением IP-адреса шлюза 100 вместе с параметрами аутентификации с целью установления сетевого туннеля со шлюзом 100. Список туннелей клиента, подписанный (306) подписным механизмом 164. Сервер аутентификации генерирует (307) список доступа клиента на основе набора серверов к которым клиенту разрешается доступ. На основе клиентской информации, дополнительные условные ограничения, могут быть добавлены к списку доступа клиента. Затем, также список доступа клиента подписывается 308. Сервер аутентификации затем отправляет 309 список доступа клиента и список туннелей клиента.

Фиг. 4 показывает иллюстративный процесс для предоставления сетевого доступа к клиенту, который может быть выполнен шлюзом, работающим совместно с вариантами реализации изобретения в настоящем описании, например шлюз 100 на Фиг.1. В данном иллюстративном процессе, шлюз 101 получает (401) запрос от клиента 121 или 122, на установку сетевого туннеля (например, VPN подключения) с данным клиентом. В качестве ответа шлюз запрашивает (402) параметры аутентификации от клиента и получает (403) параметры аутентификации в форме списка туннелей клиента. Для того, чтобы аутентифицировать клиента, шлюз 100 верифицирует (404) подпись в списке туннелей клиента, применяя ключ подписи, совместно используемый с сервером аутентификации 160. Если подпись корректна и список туннелей клиента не был изменен клиентом, шлюз 100 устанавливает (405) сетевой туннель с клиентом, таким образом продлевая частную сеть 140 клиенту по туннелю. Брандмауэр шлюза дополнительно настроен для блокировки всего сетевого доступа от клиента по умолчанию. Шлюз получает (406) список доступа клиента от клиента, который был сгенерирован сервером аутентификации и подтверждает (407) подпись в этом списке доступа клиента. От списка доступа клиента, шлюз получает (408) правила брандмауэра с целью предоставления сетевого доступа к серверам приложений, перечисленных в клиентском списке доступа (и условия для такого доступа, которые также предоставляются в списке доступа клиента). Шлюз активирует (409) правила брандмауэра, таким образом позволяя клиенту доступ к набору серверов приложений, перечисленных в списке доступа клиента.

В некоторых вариантах реализации изобретения, сервер аутентификации 160 может добавлять расширенные требования аутентификации к клиентскому списку доступа вместе со вторым набором серверов приложений, который может быть доступен в результате заполнения этих расширенных требований аутентификации. Данные расширенные требования могут относиться к механизму аутентификации как таковому, и могут, например, предписывать, что должен быть применен более безопасный механизм аутентификации (относительно первого набора серверов приложений). Например, вместо применения комбинации пользователь/пароль (которая может удовлетворить требования аутентификации для первого набора серверов приложений), расширенные требования могут конкретизировать, что данные двух-факторной аутентификации необходимы для получения доступа ко второму набору серверов приложений. Требования могут также относиться к контекстной или статусной информация клиента как такового. Любые желаемые требования могут быть применены, как требование: все патчи должны быть применены к операционной системе клиента с целью предоставления доступа к определенному серверу приложения; сканер вирусов должен быть запущен и находиться в актуальном состоянии, с целью предоставления доступа к определенному серверу приложения; и/или для того, чтобы сервер приложения не был доступeн из внешней беспроводной сети.

В результате аутентификации с сервером аутентификации, сервер аутентификации 160 (например, через обработчик списка туннелей 163) предоставляет подписанный список доступа клиента, включающий расширенные требования аутентификации вместе со вторым набором серверов приложений, требующих такую расширенную аутентификацию. Когда клиент идентифицируется и заполняет расширенные требования аутентификации, сервер аутентификации может выдавать обновленный список доступа клиенту, где второй набор серверов приложений перечислен среди серверов приложений к которым клиенту разрешается доступ. Несколько уровней расширенных требований аутентификации (и соответствующих наборов серверов приложений) может быть перечислено в списке доступа клиента.

Фиг. 5 показывает иллюстративный процесс, который может быть выполнен клиентом с целью получения сетевого доступа к серверам приложений с помощью расширенных требований аутентификации. В данном иллюстративном процессе, клиент устанавливает сетевой доступ (501) с первым набором серверов приложений в частной сети 140, перечисленных в первом списке доступа клиента, также упоминаемом в данном документе, как «база списка доступа клиента». Этап 501 может быть дополнительно реализован согласно процессу, отмеченному на Фиг. 2 с отличием, что база списка доступа клиента дополнительно содержит сервера приложений второго набора и расширенные требования аутентификации, с целью получить сетевой доступ к данному второму набору.

Клиент мониторит (502) приложения, работающие на клиентском устройстве и сетевой доступ такого приложения к частной сети 140. Если клиентское приложение пытается соединиться с сервером приложения, который не является частью первого набора, клиент проверяет (503) является ли сервер приложения частью второго набора. Если - нет, клиент не может получить доступ к этому серверу приложения и пользователь клиента или приложение может быть уведомлен о том, что доступ запрещен (504). Если сервер приложения является частью второго набора, клиент начинает расширять процесс аутентификации с сервером аутентификации (505), который может содержать запрос о предоставлении пользователем расширенных параметров аутентификации, таких, как: отпечаток пальца, радужной оболочки глаза, дополнительную биометрическую информацию о пользователе, и/или ключ, генерируемый внешним генератором ключей. Клиент может также запросить пользователя обновить контекст и/или клиентское устройство как таковое. Например, от пользователя может потребоваться: подключить клиент к проводной сети; не подключать клиент через внешнюю сеть; инсталлировать наиболее актуальные патчи операционной системы клиента; инсталлировать средство сканирования вирусов; и/или обновить базу данных средства сканирования вирусов.

В результате успешного заполнения пользователем расширенных требований аутентификации (506) клиент получает (507) второй или обновленный список доступа клиента к серверу аутентификации 160. Если расширенная аутентификация не являлась успешной, пользователь или программное приложение, запрашивающее доступ к сети, подает сигнал или предупреждает (504) о том, что сетевой доступ запрещен. Обновленный список доступа клиента первого набора и второго набора серверов приложений, к которым клиент может иметь доступ, отправляется (508) к шлюзу 100, который соответствующим образом настраивает свой брандмауэр 102. Клиент может затем давать сигнал (509) клиентским приложениям и пользователю, которым приложения или сервисы разрешены.

Фиг. 6 изображает иллюстративную систему, согласно различных аспектов настоящего описания. В данной иллюстративной системе шлюз 600 содержит модуль подтверждения активности 605. Шлюз 600 подключен по установленному сетевому туннелю 182 к клиенту 621, и модуль подтверждения активности настроен с целью проверки сообщений подтверждения активности, получаемых через регулярные интервалы от клиента 621. Если сообщение подтверждения активности не получено вовремя, модуль подтверждения активности отдает приказ модулю конфигурации брандмауэра 103 очистить правила брандмауэра для клиента 621 от брандмауэра 102, и отдает приказ модулю туннеля 101 прервать сетевой туннель 182. Модуль подтверждения активности 605 может быть дополнительно настроен с целью проверки, присутствует ли определенное утверждение или контекстная информация о клиенте 621 в сообщении, подтверждающем активность и выполняются ли определенные требования. Такие требования могут включать, например, то, что клиентский антивирус и/или брандмауэр должны быть активными.

Клиент 621 может выполнять процесс, проиллюстрированный этапами 601-604 с целью отправки сообщения, подтверждающего активность, шлюзу 600. На первом этапе 601, сетевой туннель 182 установлен со шлюзом 600. Сетевой туннель 182 может быть установлен каким-либо желаемым способом, включая применения процесса (или части такового), проиллюстрированного на Фиг. 2 и 5. Клиент собирает (602) требуемый контекст и устанавливает информацию и формaт в сообщении, подтверждающем активность. Сообщение, подтверждающее активность отправляется (603) по сетевому туннелю 182 к модулю подтверждения активности 605 шлюза 600. Когда сообщение отправлено, активируется таймер (604) для обратного отсчета заданного временного интервала. Когда время истекает, выполняется новый цикл этапов 602-604, с целью отправки следующего сообщения, подтверждающего активность.

Фиг. 7 представляет собой иллюстративную систему для защиты серверов приложений с 741 по 746 от неавторизованного доступа, согласно различным аспектам настоящего описания. В данном примере, сервера приложений 741-746 являются частью частной сети 750, 751 и 752 защищенной шлюзами 700, 701 и 702, соответственно. Клиент 721 может быть аутентифицироваться сервером аутентификации 760 и таким образом получать список туннелей клиента и список доступа клиента. Список туннелей клиента содержит информацию, необходимую для установки сетевого туннеля с каждым шлюзом 700-702 с целью расширения всех частных сетей 740-744 для клиента 721. Список туннелей клиента может быть представлен в каком-либо удобном формате, например, как один объект данных, файл с отдельной подписью, идентифицирующей все шлюзы, отдельные подписанные объекты данных, и/или файлы, каждый из которых идентифицирует один из шлюзов 700-702. В результате приема списка туннелей клиента, клиент 721 устанавливает сетевой туннель 781, 782 и 783 с каждым шлюзом 700-702.

Список доступа клиента содержит набор серверов приложений 741-747 с которыми клиент может соединиться по сетевым туннелям 781, 782 и 783. Клиент 721 отправляет список доступа клиента шлюзам, которые в свою очередь, настраивают их брандмауэр, согласно полученному списку доступа клиента, позволяющему, таким образом, клиенту 721 доступ к набору серверов приложений.

В некоторых вариантах реализации изобретения, сервер аутентификации 760 может иметь доступ к другим серверам с целью аутентификации клиента 721 или с целью получения информации о клиенте 721. Это также проиллюстрировано на Фиг. 7, где сервер аутентификации 760 может иметь доступ к RADIUS-серверу 762, служащему в качестве аутентификации серверного приложения для сервера аутентификации 760. Модуль аутентификации 162 в сервере аутентификации 760 затем служит, интерфейсом аутентификации клиенту 721 пока сервер 762 осуществляет актуальную аутентификацию. Сервер 760 аутентификации может также подключаться к серверу 761, предоставляя службе Active Directory сервер аутентификации 760 с целью извлечения дополнительной информации о профиле пользователя 721.

Фиг. 8 изображает еще одну иллюстративную систему, где RADIUS-сервер 846 и сервер службы Active Directory 847 соответствуют серверам приложений внутри частной сети 744 за шлюзом 702, таким образом помогая защищать серверы 846-847 от неавторизованного доступа. Для доступа к серверам 846-847, сервер аутентификации 760 может содержать постоянный сетевой туннель 884 со шлюзом 702 защищая серверы 846 и 847. Как альтернативный вариант, сервер аутентификации 760 может использовать другой механизм для предоставления доступа к серверам 846-847, такой как LDAP через JSON, для того, чтобы использовать стандартный трафик HTTPS вместо использования сетевого туннеля. Правила брандмауэра позволяющие серверу аутентификации 760 доступ к серверам, могут затем быть настроены в шлюзе 702 заблаговременно, таким образом, ни списку туннелей клиента, ни списку доступа клиента нет необходимости устанавливать сетевое подключение между сервером аутентификации 760 и серверами 846-847.

Фиг. 9 изображает пример, где какое-либо количество шлюзов 900, 901 применяется с целью защиты серверов приложений 941-944, включая ту же частную сеть 940. Эта топология может применяться с целью балансировки нагрузки сетевого трафика между несколькими шлюзами 900, 901. Сервер аутентификации 960 предоставляет список туннелей клиента, указывающий другой шлюз для клиентов 921 и 922. В частности, клиент 921 создает сетевой туннель 981 со шлюзом 900, а клиент 922 устанавливает сетевой туннель 982 со шлюзом 901.

Примерные варианты реализации изобретения иллюстрируют в данном документе варианты реализации защиты серверов приложений от неавторизованного доступа. Помимо серверов приложений, какой-либо другой тип сетевых устройств, предоставляющих сервис и, имеющих свой адрес в сети может быть защищен согласно вариантами реализации изобретения данного описания. Таким же образом, сетевые устройства, которые могут быть защищены вариантами реализации изобретения в данном описании, содержат сетевое оборудование, обеспечивающее интерфейс администратора для маршрутизатора и коммутаторов уровня сети.

Фиг.10 представляет собой иллюстративную компьютерную систему 1000, которая может применяться совместно с вариантами реализации изобретения, описанными в данном документе. Компьютерная система 1000 может быть применена, в качестве клиентского устройства, шлюза, сервера аутентификации, и/или какой-либо другой подходящей системы. Компьютерная система 1000 содержит шину 1010, процессор 1002, локальную память 1004, один или несколько дополнительных интерфейсов 1014 ввода, один или несколько дополнительных интерфейсов 1016 вывода, интерфейс связи 1012, интерфейс 1006 элемента хранения и один или более элементов 1008 хранения.

Шина 1010 может содержать один или несколько проводников, которые обеспечивают связь между компонентами компьютерной системы 1000. Процессор 1002 может содержать процессор какого-либо типа, который интерпретирует и исполняет программные инструкции. Локальная память 1004 может содержать оперативное запоминающее устройство (ОЗУ) или другое динамическое запоминающее устройство, которое хранит статичную информацию и инструкции для выполнения процессором 1002 и/или постоянное запоминающее устройство (ПЗУ) или статическое запоминающее устройство иного типа, которое хранит статическую информацию и инструкции для применения процессором 1002. Входной интерфейс 1014 может содержать один или несколько традиционных обработчиков, которые позволяют оператору вводить информацию в компьютерное устройство 1000, такее, как: клавиатура 1020, мышь 1030, стилус, механизм распознавания голоса и/или биометрические механизмы и т. д.

Выходной интерфейс 1016 может содержать один или несколько традиционных механизмов, которые выводят информацию оператору, например дисплей 1040, принтер 1050, динамик и т. д. Интерфейс связи 1012 может содержать какой-либо механизм подобный трансиверу, например, один или несколько Ethernet интерфейсов, которые позволяют компьютерной системе 1000 взаимодействовать с другими устройствами и/или системами 1100. Интерфейс связи 1012 компьютерной системы 1000 может быть подключен к другой такой компьютерной системе посредством локальной сети (LAN) или глобальной сети (WAN) такой, как, например, Интернет. Интерфейс элемента хранения 1006 может содержать интерфейс хранения, например, интерфейс Serial Advanced Technology Attachment (SATA) или интерфейс Small Computer System Interface (SCSI) с целью подключения шины 1010 к одному или нескольким элементам хранения 1008, таким, как один или несколько локальных дисков, например диски SATA, и управлять чтением и записью данных в и/или из данных элементов хранения 1008. Несмотря на то, что элементы хранения 1008 описаны выше, как локальный диск, в целом, могут быть применены какие-либо другие подходящие машиночитаемые носители, такие как: съемный магнитный диск, оптические носители данных, CD или DVD, -ROM-диск, физические накопители, таблицы флэш-памяти. Система 1000, описанная выше, также может работать как виртуальная машина над физическим аппаратным средством.

Способы, проиллюстрированные в данном документе, могут быть реализованы применяя инструкции программирования, хранящиеся в локальной памяти 1004 компьютерной системы 1000, с целью их выполнения процессором 1002. В качестве альтернативы инструкции могут быть сохранены на элементе хранения 1008 или доступны из другой компьютерной системы через интерфейс связи 1012.

Система 1000 может соответствовать клиентам 121, 122, 621, 721, 921, 922 из вариантов реализации изобретения, проиллюстрированых на Фиг.1, 6, 7, 8 и 9 соответственно. В таких случаях, система 1000 может быть соединена со шлюзом и сервером аутентификации с помощью интерфейса связи 1012. Этапы выполнения способов, проиллюстрированных на Фиг. 2, 5 и 6 могут осуществляться, как инструкции процессора 1002 во время запуска и могут храниться в запоминающем устройстве 1004 или 1008.

Система 1000 может соответствовать шлюзам 100, 600, 700, 701, 702, 900 и 901 из вариантов реализации изобретения, проиллюстрированных на Фиг.1, 6, 7, 8 и 9 соответственно. В таких случаях, система может содержать два интерфейса связи 1012, один интерфейс связи с целью подключения к частной сети и другой, с целью подключения к иной сети, по которой осуществляется подключение к клиентам. Этапы способов, проиллюстрированных на Фиг. 4 могут быть выполнены, как инструкции процессора 1002 во время запуска и могут храниться в запоминающем устройстве 1004 или 1008.

Система 1000 может соответствовать серверу аутентификации 160, 760 и 960 из вариантов реализации изобретения, проиллюстрированных на Фиг.1, 6, 7, 8 и 9. В таких случаях, интерфейс связи 1012 может быть применен с целью подключения системы 1000 к клиентам и шлюзам. Этапы способов, проиллюстрированных на Фиг. 3 могут затем осуществляться, как инструкции процессора 1002 во время запуска, и могут храниться в запоминающем устройстве 1004 или 1008.

Способы в исполнении сервера аутентификации и шлюза могут дополнительно работать на одной компьютерной системе, на отдельных компьютерных системах или, как отдельные виртуальные компьютерные системы на одних или физически различных компьютерных системах.

МУЛЬТИТУННЕЛЬНЫЙ АДАПТЕР ВИРТУАЛЬНОЙ КОМПЬЮТЕРНОЙ СЕТИ

Внутри операционной системы клиента, виртуальный адаптер представляет собой программно реализованный компонент, который работает совместно с другими сетевыми адаптерами или сетевыми интерфейсами, независимо от того, реализован ли он в аппаратном, программном обеспечении или их комбинации. Когда пакеты данных отправлены программным продуктом (работающим внутри операционной системы) для передачи на виртуальный адаптер, пакеты не отправляются через физический интерфейс связи. Вместо этого, пакеты перенаправляются в выделенное программное приложение, работающее в части пользовательского пространства операционной системы, в отличие от пространства ядра, где работает виртуальный адаптер и все задачи операционной системы. Дополнительно для получения таких пакетов от виртуального адаптера, выделенное программное приложение также передает пакеты виртуальному адаптеру с целью установить связь в другом направлении. В этом случае виртуальный адаптер доставляет (или «внедряет») данные пакеты в сетевой стек операционной системы, тем самым эмулируя их прием от внешнего источника.

Виртуальные сетевые адаптеры также упоминаются, как интерфейсы TUN/TAP, названные по имени обоих существующих типов. Интерфейс TUN (а именно сетевой TUNnel) имитирует устройство сетевого уровня и работает с пакетами третьего уровня такими, как IP-пакеты. Интерфейс TAP (а именно сетевой отвод) имитирует устройство уровня канала и работает с пакетами второго уровня, такими, как кадры Ethernet .

Контроллер виртуального сетевого интерфейса (NIC) представляет собой устройство TUN/TAP, которое находится в пространстве ядра. NIC передает виртуальному интерфейсу пакеты данных, которые содержат заголовки IP-адресов и протоколов (в случае TUN) или заголовки Ethernet (в случае TAP), таким образом, пакет данных может обрабатываться, как полный пакет в пользовательском пространстве. Следовательно, NIC позволяет пользователям инкапсулировать трафик в новый пакет, с целью туннелирования его к удаленному месту назначения, обычно применяемому в виртуальной частной сети. Для настройки нескольких туннелей может потребоваться несколько TUN/TAP интерфейсов, по одному для каждого туннеля.

В традиционных системах, если количество необходимых туннелей неизвестно заранее (как правило, не известно), настройка нового туннеля требует административных прав на операционной системе, с целью создания дополнительного виртуального TUN/TAP устройства в пространстве ядра операционной системы. Более того, отдельное виртуальное TUN/TAP устройство должно быть создано для каждого виртуального подключения.

На Фиг.11 изображен пример традиционной системы. В данном примере два виртуальных сетевых адаптера инсталлированы в пространство ядра (VIRT NIC 1 и VIRT NIC 2). Первое приложение пользовательского пространства (APPLICATION1) отправляет пакет данных (DATA 1) к месту назначения в сети в первом VPN. В стеке TCP/IP операционной системы (OS) пакету присваивается адрес назначения в первой VPN (TCP/IP1). Затем операционная система перенаправляет пакет сетевому адаптеру, который должен обрабатывать пакеты, адресованные первой VPN, то есть VIRT NIC1. Поскольку, это виртуальный адаптер, пакет перенаправляется в первое приложение VPN (VPN CLIENT 1), где пакет будет зашифрован (DATA 1’ и TCP/IP 1) и вставлен в новый пакет ОС (TCP/IP 11) с адресом назначения VPN-сервера на другом конце туннеля VPN. Затем ОС маршрутизирует данный пакет физическому сетевому интерфейсу NIC 1.

Подобный процесс происходит, когда второе приложение (APPLICATION 2) отправляет пакет данных (DATA 2) к месту назначения во второй VPN. Этот пакет затем маршрутизируется ко второму виртуальному интерфейсу (VIRT NIC 2), где будут перенаправлены второму VPN приложению (VPN CLIENT 2). Второе VPN приложение затем шифрует пакет и отправляет его второму VPN серверу (TCP/IP 21).

Существуют по меньшей мере две существенные проблемы в традиционной системе на Фиг.11. Во-первых, для создания виртуального адаптера необходимы административные права, поскольку адаптер находится в пространстве ядра. Во-вторых, для каждого VPN-подключения требуется создание нового виртуального адаптера. Иллюстративная система в соответствии с различными аспектами настоящего описания проиллюстрирована на Фиг.12. Система на Фиг.12 решает обе проблемы на Фиг. 11, позволяя создавать разные виртуальные частные сети с помощью одного виртуального адаптера (и без требования административных прав для пространства ядра операционной системы) с помощью добавления компонента маршрутизации в приложение пользовательского пространства, которое устанавливает VPN.

В иллюстративной системе 1200 показанной на Фиг.12, DATA 1 и DATA 2 маршрутизируются операционной системой на одинаковый виртуальный адаптер 1230. Это достигается за счет обновления таблицы маршрутизации операционной системы (ОС), маршрутизирующей сетевой трафик к двум VPN (1251 и 1252) и одному виртуальному адаптеру (VIRT NIC 1 1230). VPN-клиент 1 1210, не только шифрует данные и встраивает их в новый пакет, но также определяет, какому VPN предназначены пакеты, применяя VPN ROUTING TABLE 1260. Применяя таблицу маршрутизации 1260, пакеты для VPN 1 1251 отправляются в модуль шифрования VPN 1 и пакеты для VPN 2 1252 отправляются в модуль шифрования VPN 2. Пакеты для VPN 1 и 2 затем отправляются в различные места назначения, то есть, к различным VPN серверам в конце туннеля.

Фиг.13 изображает другой пример системы, использующей мультитуннельный виртуальный адаптер в соответствии с различными аспектами настоящего описания. В данном примере существует две различные сети 192.168.0.0/24 1310 и 10.0.0.0/24 1320. Обе сети маршрутизируются по направлению tun0 интерфейса 1330, который представляет собой TUN/TAP интерфейс. Когда пакеты маршрутизируются по направлению tun0 интерфейсу 1330, клиент CZ VPN 1340 имеет возможность прочитать полный пакет.

В традиционном VPN-клиенте, пакет будет немедленно захвачен (и возможно зашифрован) и инкапсулирован в TCP или UDP соединение, которое будет содержать IP-адрес источника eth0 и IP-адрес места назначения желаемого шлюза, который распакует пакет. Система на Фиг.13, напротив, реализует модуль маршрутизации, который определяет место назначения IP-адреса исходного пакета и определяет какой туннель (и соответствующее шифрование) следует использовать. В примере, показанном на Фиг.13, пакеты, имеющие IP-адрес места назначения внутри сети 192.168.0.0/24, будут отправлены в шифратор/инкапсулятор шлюза A 1350, тогда, как пакеты, которые будут соответствовать маршруту 10.0.0.0/24, будут зашифрованы и инкапсулированы в шлюз B 1360.

Как только, пакет будет взят CZ VPN-клиентом 1340, он начнет создавать новое подключение (которое может представлять собой TCP или UDP подключение) по направлению соответствующего шлюза и будет содержать зашифрованные версии исходного пакета, полученного от TUN/TAP адаптера. Этот пакет будет обрабатываться обычной таблицей маршрутизации ОС для того, чтобы достичь соответствующего шлюза.

Поскольку компонент маршрутизации находится в части пользовательского пространства операционной системы, он может динамически добавлять больше или меньше туннелей, без требования прав администратора. Другим преимуществом системы на Фиг.13, использующей один и тот же IP-адрес клиента для различных туннелей, таким образом, один виртуальный интерфейс может обрабатывать весь частный трафик. Один виртуальный адаптер может, таким образом, обслуживать любое количество виртуальных шлюзов, в отличие от традиционных систем, которые требуют свой адаптер для каждого шлюза. Варианты реализации изобретения в настоящем описании, таким образом, исключают необходимость иметь административные права для доступа к пространству ядра каждого клиента, что может быть крайне проблематичным для традиционных систем, особенно с большим количеством индивидуальных клиентов. Более того, множество операционных систем мобильных устройств поддерживают только один виртуальный адаптер. Варианты реализации изобретения в настоящем описании могут также быть применены для балансировки загрузки трафика или для создания дополнительного туннеля с двумя или более независимыми шлюзами, которые защищают одну и ту же частную сеть, применяя один виртуальный адаптер.

Фиг.14 представляет собой иллюстративный процесс, согласно различным аспектам настоящего описания. Процесс 1400 может быть реализован совместно с какой-либо желаемой системой, включая систему, показанную на Фиг.13, так же, как совместно с каким-либо другим способом (полностью или частично), включающим те, что описаны в данном документе.

В этом примере, процесс 1400 включает получение одного или нескольких пакетов данных по сети с помощью компонента маршрутизации клиентом (1410) виртуальной частной сети (VPN), идентификацию компонентом маршрутизации места назначения для одного или нескольких пакетов данных (1420), создание VPN-клиентом одного или нескольких подключений, соответствующих месту(-м) назначения для одного или нескольких пакетов данных (1430), передачу одного или нескольких пакетов данных к их соответствующим местам назначения (1440), и удаление одного или нескольких подключений со шлюзом (1450).

Как описано более подробно выше, любое количество пакетов данных может быть получено и передано согласно вариантам реализации изобретения в настоящем описании. В различных вариантах реализации изобретения, один или нескольких пакетов данных (1410) могут быть получены, с помощью виртуального адаптера, работающего в части пространства ядра операционной системы, загружающей VPN-клиент. Кроме того, идентификация места назначения для пакета данных (1420) может включать идентификацию шлюза, соответствующего месту назначения для пакета данных, и создание подключения со шлюзом (1430) может включать подключение с пользовательским протоколом датаграмм (UDP). Подключения шлюза (1450) могут быть удалены каким-либо подходящим способом. Удаление подключения шлюза может включать, например, скрытие подключения, предотвращение дальнейшего использования подключения, разъединение и т.д. В некоторых вариантах реализации изобретения, например, после установки VPN, подключение шлюза остается до тех пор, пока клиент не отключится или система не решит, что соединение больше не является действительным (доступ отменен, истекло время подключения и т. д.).

В тех случаях, когда обрабатывается множество пакетов данных, пакеты данных могут быть маршрутизированы через один виртуальный адаптер, работающий в пространстве ядра операционной системы. Компонент маршрутизации может быть какого-либо размера, типа, и конфигурации, и может включать, например, таблицу маршрутизации. Таблица маршрутизации может, в свою очередь, включать какую-либо подходящую информацию для обработки одного или нескольких пакетов данных, содержащих один или несколько адресов назначения для одного или нескольких пакетов данных.

Взаимодействие между системами, устройствами, и компонентами, работающими совместно с вариантами реализации изобретения в настоящем описании, может осуществляться каким-либо подходящим способом взаимодействия, например, посредством телефонных сетей, экстранета, интранета, Интернета, точки взаимодействия устройств (кассовых терминалов, персонального цифрового ассистента (например, iPhоne®, Palm Pilot®, Blackberry®), сотового телефона, интерактивного терминала, и т.д.), он-лайн коммуникаций, спутниковых коммуникаций, офф-лайн коммуникаций, проводных коммуникаций, транспондерных коммуникаций, локальных сетей (LAN), глобальных сетей (WAN), виртуальных частных сетей (VPN), сетевых или соединенных устройств, клавиатуры, мыши и/или какого-либо подходящего взаимодействия или способа ввода данных. Системы и устройства в настоящем описании могут использовать TCP/IP протоколы коммуникации также как IPX, Appletalk, IP-6, NetBIOS, OSI, какой-либо туннельный протокол (например, IPsec, SSH), или любое количество существующих или будущих протоколов.

Несмотря на то, что некоторые варианты реализации изобретения могут быть реализованы на компьютерах и компьютерных системах полной функциональности, различные варианты реализации изобретения могут быть распространены, как компьютерный продукт во множестве форм и могут быть применены независимо от специфического типа машины или машиночитаемого носителя данных, используемого с целью распространения.

Машиночитаемый носитель может быть применен с целью хранения программного обеспечения и данных, которые, при выполнении обработки данных системой заставляют систему реализовывать различные способы. Выполняемое программное обеспечение и данные могут храниться в различных местах, включая, например, ПЗУ, энергозависимую ОЗУ, энергонезависимую память и/или кэш. Части данного программного обеспечения и/или данных могут храниться в одном из данных запоминающих устройств. Дополнительные данные и инструкции могут быть получены из централизованных серверов или пир-ту-пир сетей. Различные части данных и инструкций, могут быть получены из различных централизованных серверов и/или одноранговых сетей в различное время и в различные сессии взаимодействия, или в одни и те же сессии взаимодействия. Данные и инструкции, могут быть получены целиком для выполнения приложением. Как альтернативный вариант, части данных и инструкции, могут быть получены динамически, точно в то время, когда это необходимо для выполнения. Таким образом, нет необходимости в том, чтобы данные и инструкции содержались на машиночитаемом носителе полностью в конкретный момент времени.

Примеры машиночитаемого носителя данных включают, но не ограничиваются записываемым и незаписываемым типом носителя данных, например, энергозависимые и неэнергозависимые устройства памяти, память только для чтения (ПЗУ), оперативная память (ОЗУ), устройства флеш-памяти, гибкий и другие съемные диски, магнитный диск хранения данных, средство оптического хранения данных (например, компакт-диск с постоянной памятью (CD-ROM), в том числе цифровые универсальные диски (DVD), и т.д.). Машиночитаемый носитель данных может хранить инструкции.

В различных вариантах реализации изобретения, аппаратно запрограммированная схема может быть применена в комбинации с программными инструкциями для реализации данных технологий. Таким образом, технологии не ограничены ни отдельной комбинацией аппаратно запрограммированной схемы и программного обеспечения ни каким-либо специфическим источником для инструкций, выполняемых системой обработки данных.

Несмотря на то, что некоторые графические материалы иллюстрируют ряд операций в специфическом порядке, операции которые являются независимыми от порядка, могут быть переупорядочены и другие операции могут быть скомбинированы или разбиты. В то время, как некоторые переупорядочивания или другие группирования конкретно упоминаются, другие будут очевидны для специалистов в данной области техники и поэтому не содержат исчерпывающий список альтернатив. Более того, следует признать, что этапы могут быть реализованы в аппаратных средствах, аппаратном программном обеспечении, программном обеспечении или каких-либо его комбинациях.

Для краткости, традиционная сеть передачи данных, разработка приложений и другие функциональные аспекты системы (и компоненты отдельных оперирующих компонентов систем) могут быть не описаны в данном документе подробно. Более того, соединительные линии, показанные на различные фигурах, содержащихся в данном документе, приведены с целью представления в данном документе иллюстративных функциональных отношений и/или физических соответствий между различными элементами. Следует отметить, что многие альтернативные или дополнительные функциональные отношения или физические подключения могут присутствовать в практической системе.

Различные компоненты системы, обсуждаемые в данном документе, могут включать один или несколько: хостинг-серверов или других вычислительных систем, включающих процессор для обработки цифровых данных; память, соединенную с процессором для хранения цифровых данных; входной дигитайзер, соединенный с процессором для ввода цифровых данных; прикладную программу сохраненную в памяти и доступную процессору для управления обработкой цифровых данных; дисплей, соединенный с процессором, и память для отображения информации, полученной от цифровых данных, обработанных процессором; и множество баз данных. Различные базы данных, применяемые в данном документе могут включать: данные отправки, данные пакета ПО, и/или какие-либо данные полезные для работы системы.

Различные функциональные возможности могут быть выполнены с помощью веб-браузера и/или интерфейса приложения с использованием веб-браузера. Такие приложения для браузера могут содержать программное обеспечение для Интернет-навигации, установленное в компьютерном устройстве или в системе для выполнения различных функций. Такие компьютерные устройства или системы могут принимать форму компьютера или набора компьютеров, при этом может использоваться любой тип компьютерных устройств или систем, включая: лаптопы, ноутбуки, планшеты, карманные компьютеры, персональные цифровые ассистенты, ТВ-приставки, рабочие станции, компьютер-серверы, мейнфрейм, мини-компьютеры, ПК-серверы, сетевые наборы компьютеров, персональные компьютеры и планшетные компьютеры, такие, как iPad, iMAC, и MacBook, интерактивные терминалы, терминалы, кассовые (POS) устройства и/или терминалы, телевизоры, или иное устройство, способное получать данные по сети. Различные варианты реализации изобретения могут использовать Microsoft Internet Explorer, Mozilla Firefox, Google Chrome, Apple Safari, Opera, или любое другое из бесчисленного множества пакетов программного обеспечения доступных для навигации в Интернете.

Различные варианты реализации изобретения могут работать совместно с любой подходящей операционной системой (например, Windows NT, 95/98/2000/CE/Mobile/, Windows 7/8, OS2, UNIX, Linux, Solaris, MacOS, PalmOS, и т.д.) также, как и поддерживать различное традиционное, программное обеспечение и драйверы, обычно ассоциированные с компьютерами. Различные варианты реализации изобретения могут включать любой подходящий персональный компьютер, сетевой компьютер, рабочую станцию, персональный цифровой ассистент, сотовый телефон, смартфон, миникомпьютер, мэйнфрейм или т.п. Варианты реализации изобретения могут применять протоколы безопасности, такие, как Secure Sockets Layer (SSL), Transport Layer Security (TLS), и Secure Shell (SSH). Варианты реализации изобретения могут применять любой желаемый протокол прикладного уровня, включая http, https, ftp, и sftp.

Различные системные компоненты могут быть независимыми, отдельно или совместно связанными с сетью по каналам данных, которая содержит, например, подключение к сервис провайдеру Интернет (ISP) по выделенной линии, как это обычно используется в связи со стандартной модемной связью, кабельным модемом, спутниковыми сетями, ISDN, цифровыми абонентскими линиями (DSL), или различными безпроводными способами подключения. Следует отметить, что варианты реализации изобретения в настоящем описании могут работать совместно с любым подходящим типом сети, например сетью интерактивного телевидения (ITV).

Система может быть частично или полностью реализована с применением облачной обработки данных. «Облако» или «Облачная обработка данных» содержит модель для предоставления возможности удобного, сетевого доступа по-требованию в общий пул конфигурируемых компьютерных ресурсов (например, сетей, серверов, хранилищ, приложений и служб), которые могут быть быстро подготовлены и выпущены с минимальными усилиями по управлению или взаимодействием поставщика услуг. Облачная система обработки данных может включать независимый от местонахождения вычислительный центр, при которых общие сервера предоставляют ресурсы, программное обеспечение и данные компьютерам и другим устройствам по требованию.

Различные варианты реализации изобретения могут быть применены совместно с веб-сервисами, коммунальными вычислениями, общими и индивидуальными вычислениями, решениями с целью обеспечения безопасности и идентификации, автономными вычислениями, облачной обработкой данных, массовой обработки данных, мобильными и проводными решениями, открытыми источниками, биометрическими характеристиками, распределенными вычислениями и/или сетчатыми вычислительными системами.

Какая-либо база данных, обсуждаемая в данном документе может включать относительную, иерархическую, графическую, или объектно-ориентированную структуру и/или какие-либо другие конфигурации баз данных. Более того, базы данных могут быть организованы каким-либо подходящим способом, например, в качестве таблиц данных или справочных таблиц. Каждая запись может представлять собой отдельный файл, серию файлов, связанную серию полей данных или какую-либо другою структуру данных. Ассоциация определенных данных может совершаться через какие-либо технологии ассоциации данных, которые известные или применяемые на практике в данной области техники. Например, ассоциация может быть совершаться вручную или автоматически.

Какие-либо базы данных, системы, устройства, серверы или другие компоненты системы могут быть расположены в отдельном местоположении или во множестве местоположений, в которых каждая база данных или система содержит какие-либо различные подходящие средства безопасности, такие, как: брандмауэры, коды доступа, шифрования, дешифрования, компрессии, декомпрессии, и/или т.п.

Шифрование может осуществляться с помощью какой-либо доступной технологии в данной области техники или которая может быть стать доступной, например, Twofish, RSA, El Gamal, Schorr signature, DSA, PGP, PKI, и симметричные и асимметричные криптосистемы.

Варианты реализации изобретения могут подключаться к Интернет или интранет, применяя стандартное подключение через телефонную линию, кабель, DSL или какой-либо другие Интернет протоколы, известные в данной области техники. Транзакции могут передаваться через брандмауэр с целью предотвращения неавторизованного доступа пользователей других сетей.

Компьютеры, обсуждаемые в данном документе могут обеспечивать подходящий веб-сайт или другой графический пользовательский интерфейс на основе Интернет, доступный пользователям. Например, Microsoft Internet Information Server (IIS), Microsoft Transaction Server (MTS), and Microsoft SQL Server, которые могут быть применены совместно с операционной системой Microsoft, программным обеспечением Microsoft NT, системой Microsoft SQL Server, и Microsoft Commerce Server. Кроме того, компоненты такие, как: Microsoft SQL, Oracle, Sybase, Informix, MySQL, Interbase, и т.д., могут быть применены с целью предоставления an Active Data Object (ADO) совместимой системой управления базами данных. В другом примере, Apache веб-сервер может быть применен совместно с операционной системой Linux, базой данных MySQL, и языками программирования Perl, PHP, и/или Python.

Какие-либо коммуникации, хранилища, базы данных или дисплеи, обсуждаемые в данном документе, могут быть задействованы через веб-сайт с веб-страницами. Термин «веб-страницы», как он применяется в данном документе, не используется в значении ограничения типа документов и приложений, которые могут применяться для взаимодействия с пользователем. Например, типичный веб-сайт может включать в дополнение к стандарту HTML документы, различных форм, Java апплеты, JavaScript, активные серверные страницы (ASP), общие скрипты интерфейса шлюза (CGI), язык XML (XML), динамический HTML, каскадные таблицы стилей (CSS), AJAX (Asynchronous Javascript и XML), приложения-помощники, плагины, и т.п. Сервер может содержать веб-сервис, который получает запрос от веб-сервера, запрос содержащий URL и IP-адрес. Веб-сервер получает соответствующие веб-страницы и отправляет данные или приложения с веб-страниц по IP-адресу. Веб-сервисы представляют собой приложения, способные взаимодействовать с другими приложениями через такое средство коммуникации, как Интернет.

Различные варианты реализации изобретения могут использовать какое-либо количество способов отображения данных внутри браузерного документа. Например, данные могут быть представлены, как стандартный текст или внутри фиксированного списка, прокручиваемого списка, раскрывающегося списка, редактируемого текстового поля, фиксированного текстового поля, всплывающего окна, и т.п. Таким же образом, варианты реализации изобретения могут использовать какое-либо количество способов для модификации данных на веб-странице, например, введение текста в произвольной форме, с помощью клавиатуры, набора пунктов меню, флажков, блоков опций, и т.п.

Иллюстративная система и способы, проиллюстрированные в данном документе могут быть описаны в терминах компонентов функциональных блоков, скриншотов, опционального выбора и различных этапов выполнения. Следует принять во внимание, что такие функциональные блоки могут быть реализованы каким-либо количеством компонентов аппаратного и/или программного обеспечения, настроенных для выполнения заданных функций. Например, система может использовать различные интегрированные компоненты схемы, например, элементы памяти, элементы обработки, элементы логики, справочные таблицы, и т.п., которые могут поддерживать различные функции под контролем одного или нескольких микропроцессоров или других контролирующих устройств. Аналогично, элементы программного обеспечения системы могут быть реализованы каким-либо языком программирования или скриптом, например C, C++, C#, Java, JavaScript, VBScript, Macromedia Cold Fusion, COBOL, Microsoft Active Сервер Pages, assembly, PERL, PHP, AWK, Python, Visual Basic, SQL Stored Procedures, PL/SQL, какой-либо UNIX shell script, и язык-XML (XML) с различными алгоритмами реализованными в какой-либо комбинации структур данных, объектов, процессов, методов или других программных элементов. Дополнительно, следует отметить, что система может использовать какое-либо количество традиционных технологий для передачи данных, подачи сигнала, обработки данных, сетевого контроля, и т.п. Также дополнительно система может быть применена для обнаружения или предотвращения вопросов безопасности с языком программирования на стороне клиента, например JavaScript, VBScript или т.п.

Системы и способы настоящего описания могут быть реализованы, как кастомизация существующей системы, дополнительный продукт, устройство обработки, устройство обработки выполняющее обновленное программное обеспечение, автономная система, распределенная система, способ, систему обработки данных, устройство для обработки данных и/или компьютерный программный продукт. Соответственно, какая-либо часть системы или модуля может принимать вид устройства обработки выполняющего код, варианты реализации изобретения на основе Интернет, полностью аппаратный вариант реализации изобретения или варианты реализации изобретения комбинирующие аспекты Интернета, программного и аппаратного обеспечения. Более того, система может принимать вид компьютерного программного продукта на машиночитаемом запоминающем носителе данных, имеющем машиночитаемый программный код, встроенный в запоминающих носитель. Может применяться какой-либо подходящий машиночитаемый запоминающий носитель, включая жесткие диски, CD-ROM, оптическое запоминающее устройство, магнитное запоминающее устройство, и/или т.п.

Система и способ, описывает в данном документе со ссылками на скриншоты: блок-схемы и иллюстрации схемы процесса, устройства (например, системы), и компьютерные программные продукты, согласно различных вариантов реализации изобретения. Ясно, что каждый функциональный блок из блок-схемы и иллюстрации схемы процесса, и комбинации функциональных блоков в блок-схемах и иллюстраций схем процессов, соответственно, могут быть реализованы с помощью инструкций компьютерной программы.

Данные инструкции компьютерной программы, могут быть загружены в компьютер общего назначения, компьютер специального назначения или иные программируемые устройства обработки данных для выполнения машиной, такие, как инструкции, которые выполняют на компьютере или другом программируемом устройстве обработку данных, создают средства с целью реализации функций, выделенных в блоке-схеме процесса или блоках. Данные инструкции компьютерной программы могут также храниться в машиночитаемой памяти, что может направлять компьютер или другие программируемые устройства обработки данных на функционирование определенным образом, таким образом инструкции, сохраненные в машиночитаемый памяти производят готовое изделие, включающим в себя инструкцию которая реализуют функцию, определенную в блоке-схеме процесса или блоках. Инструкции компьютерной программы, которые могут также быть загружены в компьютер или другие программируемые устройства обработки данных, заставляя серию операционных этапов осуществляться на компьютере или другом программируемом устройстве с целью выполнения компьютеризованного процесса, такого, как инструкции, выполняемые на компьютере или другом программируемом устройстве, выполняют этапы для реализации функций, выделенных в блоке-схеме процесса или блоках.

Соответственно, функциональные блоки блок-схем и иллюстрации схем процесса поддерживают комбинации средств для выполнения определенных функций, комбинации этапов для выполнения указанных функций, средств программных инструкций для выполнения определенных функций. Это также будет понятно, что каждый функциональный блок блок-схем и иллюстраций схемй процесса и комбинации функциональных блоков в блок-схемах и иллюстрации схем процессов, могут быть реализованы аппаратным обеспечением специального назначения аппаратными компьютерными системами, которые выполняют указанные функции или этапы, или подходящими комбинациями аппаратных и компьютерных инструкций специального назначения. Дополнительно, иллюстрации последовательности процессов и их описание может создать ссылку на пользовательские окна, веб-страницы веб-сайты, веб-формы, подсказки, и т.д. Практикующие специалисты смогут оценить, что проиллюстрированные этапы, описанные в данном документе, могут содержать какое-либо количество конфигураций, включая использование окон, веб-страниц, веб-форм, всплывающих окон, подсказок и т.п. Следует дополнительно принимать во внимание, что какое-либо количество этапов, как проиллюстрировано и описано, может комбинироваться в отдельные веб-страницы и/или окна, однако были расширены для простоты. В других случаях, этапы, проиллюстрированные и описанные, как этапы одного процесса, могут быть разделены на несколько веб-страниц и/или окон, но были объединены для простоты.

Термин «непереходный» следует понимать, как устраняющий только распространение переходных сигналов, как таковых в содержании настоящей заявки и не отменять права на все стандартные машиночитаемые носители, которые не только распространяют переходные сигналы, как таковые. Иными словами, смысл термина «непереходный машиночитаемый носитель» следует понимать, как исключение только тех типов переходных машиночитаемых носителей, которые были найдены в In Re Nuijten, выходящие за рамки содержания патентуемого объекта изобретения номер 35 U.S.C. § 101.

Выгоды, другие преимущества и решения проблем, описаны в данном документе с учетом отдельных вариантов реализации изобретения. Однако, выгоды, преимущества, решения проблем, и какие-либо элементы, которые могут принести какую-либо выгоду, преимущество, или решение, или становиться более выраженным, не должны толковаться как критические, необходимые или существенные признаки или элементы описания.

Несмотря на то, что описание изобретения содержит способ, предполагается, что он может быть реализован в качестве инструкций компьютерной программы, на материальном носителе данных, машиночитаемом носителе, таком, как магнитная или оптическая память, или магнитный или оптический диск. Все структурные, химические и функциональные эквиваленты элементов, описанные выше в иллюстративном варианте реализации изобретения которые известны обычным специалистам в области техники специально включены в даный документ посредством ссылки и предназначены для охвата настоящими пунктами формулы изобретения. Кроме того, нет необходимости в том, чтобы устройство или способ рассматривали каждую проблему, которая была решена в соответствии с настоящим описанием, поскольку она должна охватываться настоящими пунктами. Кроме того, ни один элемент, компонент или метод в настоящем описании не предназначается для широкой публики независимо от того, явно ли указан элемент, компонент или метод в формуле изобретения. Элемент формулы изобретения не должен толковаться в соответствии с положениями 35 U.S.C. 112, шестой абзац, если этот элемент не явно указан с использованием фразы «средства для». Используемые в данном документе, термины «содержит», «содержащий», или какие-либо другие их вариации, предназначены для охвата не исключительного включения, такого, как процесс, способ, область техники, или устройство, которое содержит список элементов не содержит только данные элементы, но и может включать другие элементы, не перечисленные явно или свойственны такому процессу, способу, области техники или устройству.

Если применяется фраза, аналогичная «по меньшей мере один из A, B, или C,» «по меньшей мере один из A, B, и C,» «одного или нескольких A, B, или C,» или «одного или нескольких of A, B, и C», предполагается, что фраза будет интерпретирована в значении, что только А может быть представлено в варианте реализации изобретения, только B может быть представлено в варианте реализации изобретения, только C может быть представлено в варианте реализации изобретения, или какая-либо комбинация из элементов A, B и C может быть представлена в одном варианте реализации изобретения; например, A и B, A и C, B и C, или A и B и C.

Изменения и модификации могут быть сделаны в раскрываемых вариантах реализации изобретения без отклонения от содержания настоящего описания. Данные и другие изменения или модификации предназначены для включения в содержание настоящего описания, как указано в следующей формуле изобретения.

1. Компьютеризованный способ маршрутизации сетевого трафика, включающий этапы, на которых:

принимают, посредством одного виртуального адаптера клиента виртуальной частной сети (VPN), множество отдельных пакетов данных по сети, причем VPN-клиент находится в части пользовательского пространства операционной системы, работающей на компьютерной системе;

идентифицируют, с помощью одного виртуального адаптера, соответственные места назначения для множества отдельных пакетов данных;

создают, с помощью VPN-клиента, множество подключений к шлюзам, соответствующим соответственным местам назначения для множества отдельных пакетов данных; и

передают пакеты данных к соответственным местам назначения через соответственные шлюзы.

2. Способ по п.1, в котором один виртуальный адаптер, является работающим в части пространства ядра операционной системы.

3. Способ по п.1, в котором идентификация мест назначения для множества отдельных пакетов данных содержит идентификацию шлюзов, соответствующих местам назначения для множества отдельных пакетов данных.

4. Способ по п.1, в котором создание подключения к шлюзу содержит этап, на котором создают подключение протокола управления передачей данных.

5. Способ по п.1, в котором создание множества подключений к шлюзам содержит создание подключения протокола датаграмм пользователя.

6. Способ по п.1, который дополнительно содержит этап, на котором удаляют одно или более подключений шлюза.

7. Способ по п.1, в котором каждый из множества пакетов данных маршрутизируется через один виртуальный адаптер, работающий в пространстве ядра операционной системы.

8. Способ по п.1, в котором компонент маршрутизации содержит таблицу маршрутизации.

9. Способ по п.8, в котором таблица маршрутизации идентифицирует адрес назначения для пакета данных.

10. Энергонезависимый машиночитаемый носитель данных, хранящий инструкции, которые при выполнении, заставляют компьютерную систему:

принимать, посредством одного виртуального адаптера клиента виртуальной частной сети (VPN), множество отдельных пакетов данных по сети, причем VPN-клиент находится в части пользовательского пространства операционной системы, работающей на компьютерной системе;

идентифицировать, с помощью одного виртуального адаптера, соответственные места назначения для множества отдельных пакетов данных;

создавать, с помощью VPN-клиента, множество подключений к шлюзам, соответствующим соответственным местам назначения для множества отдельных пакетов данных; и

передавать пакеты данных к соответственным местам назначения через соответственные шлюзы.

11. Компьютерная система для маршрутизации сетевого трафика, содержащая:

процессор и

память, которая находится во взаимодействии с процессором и хранит инструкции, которые при выполнении процессором, заставляют компьютерную систему:

принимать, посредством одного виртуального адаптера клиента виртуальной частной сети (VPN), множество отдельных пакетов данных по сети, причем VPN-клиент находится в части пользовательского пространства операционной системы, работающей на компьютерной системе;

идентифицировать, с помощью одного виртуального адаптера, соответственные места назначения для множества отдельных пакетов данных;

создавать, с помощью VPN-клиента, множество подключений к шлюзам, соответствующим соответственным местам назначения для множества отдельных пакетов данных; и

передавать пакеты данных к соответственным местам назначения через соответственные шлюзы.



 

Похожие патенты:

Изобретение относится к мобильной связи. Способ включает в себя этапы, на которых: отправляют «INVITE» с пользовательского оборудования UE#1 на P-CSCF/VATF (функцию-посредника управления сеансом вызова/функцию передачи доступа гостевой сети) в гостевой сети UE#1; отправляют «INVITE» («приглашение») с P-CSCF/VATF на IMS (мультимедийную подсистему на основе IP) и выделяют, посредством P-CSCF/VATF, MGW#1 (шлюз среды) каналу для речевой связи.

Изобретение относится к способу, системе и машиночитаемому носителю данных для выбора адреса управления доступом к среде MAC. Технический результат заключается в обеспечении выбора адреса управления доступом к среде MAC.

Изобретение относится к области кодирования и декодирования видео с предсказанием. Технический результат заключается в повышении эффективности кодирования и декодирования видео с предсказанием.

Изобретение относится к электросвязи. Техническим результатом является повышение защищенности сети за счет формирования ложного сетевого трафика с учетом характеристик санкционированных информационных потоков.

Изобретение относится к области компьютерных систем и сетей. Технический результат – исключение отслеживания и обнаружения операций относительно ресурса из системы обработки, что повышает эффективность функций этой системы.

Изобретение относится к области беспроводной связи и позволяет обеспечивать возможность беспроводного соединения при отсутствии сотового покрытия. Способ связи для мобильного устройства сотового типа содержит этапы, на которых взаимосвязывают мобильное устройство, находящееся в зоне без сотового покрытия, с удаленным сервером, который находится в зоне сотового покрытия, для администрирования вызовов посредством линии передачи данных IP; принимают от удаленного сервера инструкции для администрирования передачи данных при отсутствии возможности соединения с сотовой сетью и принимают телефонный номер, относящийся к пользователю, на сервере типа VoIP, который отличается от телефонного номера MSISDN устройства; отправляют оператору сотовой сети запрос перенаправлять входящие вызовы, направленные на упомянутый сотовый телефонный номер MSISDN, на упомянутый телефонный номер, ассоциированный с упомянутым пользователем VoIP; и принимают входящие вызовы на мобильном устройстве при отсутствии сотового покрытия.

Изобретение относится к способу и устройству для доступа к смарт-камере. Технический результат – улучшение безопасности и надежности доступа пользовательского терминала к смарт-камере, для случаев, когда пользовательский терминал не может получить доступ к сети Интернет, а значит, не может получить доступ к смарт-камере через сеть Интернет.

Изобретение относится к области устройств мобильной связи. Техническим результатом является отделение некоторых данных от других приложений и/или операций устройства мобильной связи и поддержание их безопасности на более высоком уровне, чем безопасность этих других приложений и/или операций.

Изобретение относится к области подачи профиля в защищенный элемент, внедренный в терминал мобильной передачи данных. Технический результат изобретения заключается в обеспечении возможности для сервера администрирования профилем содержать точную информацию о текущем активном профиле в защищенном элементе.

Изобретение относится к области кибербезопасности. Технический результат заключается в обеспечении защищенности книги учета транзакций.

Изобретение относится к способу, системе и машиночитаемому носителю данных для выбора адреса управления доступом к среде MAC. Технический результат заключается в обеспечении выбора адреса управления доступом к среде MAC.
Изобретение относится к области электротехники. Достигаемыми техническими результатами являются: обеспечение возможности автоматического управления потреблением электроэнергии каждого потребляющего устройства в отдельности, обеспечение распределенного сбора информации и информирования о состоянии и потреблении энергии отдельных устройств, пресечение неправомерного пользования электроэнергией.

Изобретение относится к технике связи и может быть использовано для мультиплексирования цифровых сигналов при многомодальном представлении информации. Технический результат - повышение целостности передаваемой информации в системе связи.

Изобретение относится к области сотовых сетей связи, а именно к прозрачному туннелированию сигнализации от мобильного устройства через сотовую голосовую сеть доступа к базовой сети Голоса через Интернет Протокол («VoIP»).

Изобретение относится к области связи. Технический результат изобретения заключается в возможности поддерживать координирование помех опорных сигналов среди сот при условии обеспечения пропускной способности сот для улучшения спектральной эффективности системы.

Изобретение относится к области беспроводной связи и позволяет обеспечивать возможность беспроводного соединения при отсутствии сотового покрытия. Способ связи для мобильного устройства сотового типа содержит этапы, на которых взаимосвязывают мобильное устройство, находящееся в зоне без сотового покрытия, с удаленным сервером, который находится в зоне сотового покрытия, для администрирования вызовов посредством линии передачи данных IP; принимают от удаленного сервера инструкции для администрирования передачи данных при отсутствии возможности соединения с сотовой сетью и принимают телефонный номер, относящийся к пользователю, на сервере типа VoIP, который отличается от телефонного номера MSISDN устройства; отправляют оператору сотовой сети запрос перенаправлять входящие вызовы, направленные на упомянутый сотовый телефонный номер MSISDN, на упомянутый телефонный номер, ассоциированный с упомянутым пользователем VoIP; и принимают входящие вызовы на мобильном устройстве при отсутствии сотового покрытия.

Группа изобретений касается способа, устройства и системы для доступа интеллектуального бытового прибора к нескольким серверам и относится к области интеллектуальных устройств.

Изобретение относится к способу обеспечения доступа к разделяемому ресурсу в распределенной вычислительной системе. Технический результат заключается в обеспечении управления доступом к разделяемому ресурсу.

Изобретение относится к вычислительной технике. Технический результат – повышение скорости и качества диагностики.

Изобретение относится к беспроводной связи. Технический результат заключается в обеспечении управления пакетами в системе (100) связи на основе технологии программно-конфигурируемых сетей.

Изобретение относится к средствам организации автоматической балансировки потоков многопоточного соединения на коммутационных устройствах. Технический результат заключается в расширении функциональности коммутационного устройства по детектированию отдельных потоков многопоточных соединений. Получают пакет данных с установленным флагом TCP SYN. Осуществляют анализ опциональных заголовков уровня TCP. При обнаружении среди заголовков опции MP_CAPABLE обновляют таблицу ключей коммутационного устройства. Осуществляют поиск в таблице по сигнатуре TCP потока - совокупности IP адресов и TCP портов для его отправителя и получателя: если в таблице ключей нет записи с соответствующей сигнатурой, формируют новую запись, включающую сигнатуру потока, ключ, содержащийся в опции MP_CAPABLE, и текущую временную метку. Если в таблице уже есть запись с указанной сигнатурой потока, обновляют указанную запись, актуализируя ключ МРТСР отправителя и временную метку, указанные внутри таблицы. Если в таблице есть запись с обратной сигнатурой, которая соответствует сигнатуре перехваченного потока с точностью до перестановки адресов отправителя и получателя, то используя сохраненный в таблице ключ отправителя и ключ получателя, содержащийся в опции перехваченного потока, вычисляют значение НМАР - хэш-функции, используемой для идентификации многопоточного соединения. 3 н. и 4 з.п. ф-лы, 3 ил.

Изобретение относится к сетевым технологиям передачи данных. Технический результат заключается в обеспечении маршрутизации сетевого трафика с помощью одного виртуального адаптера. Технический результат достигается за счет приема, посредством одного виртуального адаптера клиента виртуальной частной сети, множества отдельных пакетов данных по сети, причем VPN-клиент находится в части пользовательского пространства операционной системы, работающей на компьютерной системе; идентификации, с помощью одного виртуального адаптера, соответственных мест назначения для множества отдельных пакетов данных; создания, с помощью VPN-клиента, множества подключений к шлюзам, соответствующим соответственным местам назначения для множества отдельных пакетов данных; и передачи пакетов данных к соответственным местам назначения через соответственные шлюзы. 3 н. и 8 з.п. ф-лы, 14 ил.

Наверх