RU2422886C2 - Providing coordinated passage of firewall having application information - Google Patents
Providing coordinated passage of firewall having application information Download PDFInfo
- Publication number
- RU2422886C2 RU2422886C2 RU2008109223/08A RU2008109223A RU2422886C2 RU 2422886 C2 RU2422886 C2 RU 2422886C2 RU 2008109223/08 A RU2008109223/08 A RU 2008109223/08A RU 2008109223 A RU2008109223 A RU 2008109223A RU 2422886 C2 RU2422886 C2 RU 2422886C2
- Authority
- RU
- Russia
- Prior art keywords
- client
- resource
- connection
- protocol processor
- gateway server
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
Предпосылки и уровень техникиBACKGROUND AND BACKGROUND
С ростом популярности компьютеризированных систем растет потребность в распределении файлов и ресурсов обработки компьютерных систем в сетях, как больших, так и малых. В целом, компьютерные системы и связанные с ними устройства передают информацию по сети с разными целями, например для обмена персональными электронными сообщениями, торговли, обеспечения информации лицевого счета и т.д. Однако очевидно, что по мере усложнения компьютерных систем и связанных с ними приложений запросы, связанные с совместным использованием данных и ресурсов (например, "устройства", "приложения" или "компонента приложения") в сети, также усложняются.With the increasing popularity of computerized systems, the need for the distribution of files and processing resources of computer systems in networks, both large and small, is growing. In general, computer systems and related devices transmit information over a network for various purposes, for example, for exchanging personal electronic messages, trading, providing personal account information, etc. However, as computer systems and related applications become more complex, requests for sharing data and resources (such as “devices”, “applications” or “application component”) on the network also become more complex.
Некоторые современные подходы к управлению ресурсами в сети включают в себя сценарии централизованного вычисления, которые могут предусматривать центральный шлюзовой сервер, использующий ресурсы совместно с одним или несколькими клиентами, на которых эти ресурсы локально не установлены. Один такой пример предусматривает центральный шлюзовой сервер, который позволяет клиентской компьютерной системе регистрироваться на шлюзовом сервере по локальной интрасети или регистрироваться через сетевой брандмауэр. В этом случае компьютер-клиент может обращаться к нужным ему данным и ресурсам через брандмауэр с использованием защищенного соединения.Some modern approaches to managing resources in a network include centralized computing scenarios, which may include a central gateway server that shares resources with one or more clients on which these resources are not locally installed. One such example provides a central gateway server that allows a client computer system to register with a gateway server on a local intranet or register through a network firewall. In this case, the client computer can access the data and resources it needs through a firewall using a secure connection.
В одном примере брандмауэра клиентская компьютерная система может организовывать туннель через брандмауэр от сетевого уровня на клиентской компьютерной системе к соответствующему сетевому уровню на серверной компьютерной системе с использованием виртуальной частной сети ("VPN"), сервера удаленного доступа ("RAS") или другого родственного типа соединения с проходом через брандмауэр. Подобного рода туннельное соединение с проходом через брандмауэр, в общем случае, предусматривает, что клиент использует защищенный протокол передачи гипертекстовых файлов ("HTTPS"), который представляет собой механизм http, обеспечивающий обмен зашифрованной информацией с использованием механизмов шифрования протокола защищенных сокетов ("SSL") или защиты транспортного уровня ("TLS") для аутентификации на шлюзовом сервере. После того, как шлюзовой сервер разрешает проход через брандмауэр, клиентская компьютерная система может обращаться ко всем ресурсам “позади” брандмауэра, например с использованием одного или нескольких сокетов для взаимодействия с данным ресурсом.In one example of a firewall, a client computer system may tunnel through a firewall from the network layer on the client computer system to the corresponding network layer on the server computer system using a virtual private network ("VPN"), remote access server ("RAS"), or other related type connections to pass through the firewall. Such a tunnel connection with a pass through the firewall, in general, provides that the client uses a secure protocol for transferring hypertext files ("HTTPS"), which is an http mechanism that provides the exchange of encrypted information using encryption mechanisms of the secure socket protocol ("SSL" ) or Transport Layer Security ("TLS") for authentication on the gateway server. After the gateway server allows passage through the firewall, the client computer system can access all the resources “behind” the firewall, for example, using one or more sockets to interact with this resource.
Согласно другому решению с проходом через брандмауэр, например, предусматривающему соединение уровня приложений на клиенте с уровнем приложений на сервере, клиенту также может понадобиться вызывать протокольный процессор, связанный с нужным ему ресурсом. Протокольный процессор в этом случае, является, по существу, программным интерфейсом приложения ("API"), который также обычно пишется сторонним разработчиком в виде плагина (сменного модуля) (т.е. "плагина протокольного процессора") к стеку обмена RPC/HTTPS. Кроме того, для настройки на осуществление связи с ресурсом или прикладной программой определенного типа, плагин протокольного процессора также обычно призван включать в себя некоторые сетевые политики для использования данного ресурса (или "приложения"). Таким образом, после входа и прохождения всех необходимых уровней аутентификации, предписанных плагином протокольного процессора, клиентская компьютерная система может обмениваться информацией с запрашиваемым ресурсом на серверной компьютерной системе. Например, клиент может посылать события мыши и клавиатуры, которые затем пересылаются на соответствующий ресурс. Ресурс обрабатывает эти события и возвращает результаты обработки на клиент для локального отображения.According to another solution with passing through a firewall, for example, involving connecting the application level on the client to the application level on the server, the client may also need to call the protocol processor associated with the resource it needs. The protocol processor in this case is essentially the application programming interface (“API”), which is also usually written by a third-party developer as a plug-in (plug-in module) (ie, “protocol processor plug-in”) to the RPC / HTTPS exchange stack . In addition, in order to configure communication with a resource or application of a certain type, the protocol processor plug-in is also usually intended to include some network policies for using this resource (or “application”). Thus, after entering and passing through all the necessary authentication levels prescribed by the protocol processor plug-in, the client computer system can exchange information with the requested resource on the server computer system. For example, a client can send mouse and keyboard events, which are then forwarded to the corresponding resource. The resource processes these events and returns the processing results to the client for local display.
К сожалению, несмотря на некоторые возможные выгоды этих различных типов проходных решений, существует ряд недостатков, из-за которых эти типы связи (обмена) трудно реализовать с точки зрения стороннего разработчика. Например, при использовании сетевого соединения между сетевыми уровнями, а не уровнями приложений, клиент может эффективно блокировать операции локальной сети. Например, туннель подключения, созданный между сетевыми уровнями, может отключать некоторые типы сетевых ресурсов, которые иначе были бы доступны с использованием других типов сетевых соединений, из-за чего, например, клиент может не иметь доступа к принтеру локальной сети, устройству воспроизведения музыки или видеопотока, обеспеченного в локальной сети, и т.п.Unfortunately, despite some possible benefits of these various types of pass-through solutions, there are a number of drawbacks that make these types of communication (exchange) difficult to implement from the point of view of a third-party developer. For example, when using a network connection between network layers rather than application layers, the client can effectively block LAN operations. For example, a connection tunnel created between network layers may disable some types of network resources that would otherwise be available using other types of network connections, for example, due to which a client may not have access to a local network printer, music player, or video stream provided in the local network, etc.
Другая проблема состоит в том, что весь Интернет-трафик направляется через серверную компьютерную систему, к которой подключена клиентская компьютерная система. Таким образом, если клиент подключен к корпоративному брандмауэру с использованием VPN и клиент запрашивает внешний новостной веб-сайт, новостной веб-сайт должен быть туннелирован через корпоративный брандмауэр прежде, чем направиться на клиентскую компьютерную систему. Еще одна проблема состоит в том, что VPN/RAS может осуществлять только проверку и фильтрацию пакетов, что обычно затруднительно на сложных протоколах или протоколах, предусматривающих потоковую проверку.Another problem is that all Internet traffic is routed through the server computer system to which the client computer system is connected. Thus, if the client is connected to the corporate firewall using a VPN and the client requests an external news website, the news website must be tunneled through the corporate firewall before heading to the client computer system. Another problem is that VPN / RAS can only check and filter packets, which is usually difficult on complex protocols or protocols that require streaming checking.
Альтернативно, проблемы с соединениями на уровне приложений включают в себя тот факт, что сторонним разработчикам может быть трудно прописывать на высоком уровне плагины протокольного процессора, которые могут контролировать протокол уровня приложений, идущий через шлюзовой сервер. В частности, в то время как соединение уровня приложений может позволять клиенту одновременно подключаться к другим сетям - поскольку каждое соединение основано на идентичности приложения, а не на идентичности сети - такого рода интеграция может означать, что разработчику приходится также создавать отдельный плагин протокольного процессора для каждого отдельного ресурса или приложения, к которому по желанию разработчика клиент должен иметь возможность осуществлять доступ. Это может приводить к дополнительным проблемам, поскольку для каждого отдельного протокольного процессора может потребоваться, чтобы он включал в себя дополнительные, уникальные политики доступа. Такие политики доступа могут включать в себя, например, условия, определяющие, как, когда или может ли вообще пользователь, или даже класс пользователей, получать разрешение на вход в определенный ресурс (или доступ к нему).Alternatively, application-level connectivity issues include the fact that it may be difficult for third-party developers to prescribe high-level plug-ins for the protocol processor, which can control the application-level protocol through the gateway server. In particular, while an application-level connection can allow a client to simultaneously connect to other networks - since each connection is based on the identity of the application, and not on the identity of the network - this kind of integration may mean that the developer also has to create a separate protocol processor plug-in for each a separate resource or application to which, at the request of the developer, the client should be able to access. This can lead to additional problems, since for each individual protocol processor it may be necessary to include additional, unique access policies. Such access policies may include, for example, conditions that determine how, when, or whether, at all, a user, or even a class of users, can receive permission to enter a specific resource (or access to it).
Таким образом, например, разработчик, реализующий соединения уровня приложений, может писать один плагин протокольного процессора, который использует протокол удаленного компьютера ("RDP"), который реализует один вид политики доступа с использованием шлюзового сервера; и, одновременно, писать другой плагин протокольного процессора, который использует протокол блока серверных сообщений ("SMB"), который реализует другие политики доступа на шлюзовом сервере. Кроме того, чтобы иметь потенциально уникальные политики доступа, каждый протокольный процессор также может иметь отдельные, уникальные скрипты, которые используются для других разнообразных инструментов администрирования и диагностики. Таким образом, зачастую может быть так, что разработчикам все время приходится с нуля создавать разные плагины, сетевые политики и соответствующие диагностические скрипты для каждого отдельного ресурса, представляющего интерес, который они хотят сделать доступным через брандмауэр.Thus, for example, a developer implementing application-level connections can write a single protocol processor plugin that uses the Remote Computer Protocol ("RDP"), which implements one kind of access policy using a gateway server; and, at the same time, write another protocol processor plugin that uses the server message block protocol ("SMB"), which implements other access policies on the gateway server. In addition to having potentially unique access policies, each protocol processor can also have separate, unique scripts that are used for various other administration and diagnostic tools. Thus, it can often be that developers all the time have to create different plugins, network policies, and corresponding diagnostic scripts from scratch for each individual resource of interest that they want to make available through the firewall.
Это может оказаться весьма сложной задачей для разработчиков, а также администраторов сети, особенно с учетом различных версий кода, которые могут выполняться на сервере и/или ресурсе в течение его времени жизни. Например, если на клиентской компьютерной системе могут быть не установлены некоторые особенности ресурса или приложения до подключения к серверу, эти особенности могут гарантировать, что соединение не будет перехвачено или как-то иначе подвержено повреждению. Однако современные протоколы защитной аутентификации и плагины протокольного процессора обычно не учитывают подобного рода ограничения. Напротив, с этими вопросами приходится позже разбираться подключенному ресурсу, что может приводить к ошибкам связи и разрыву или перехвату соединения, и даже, в худшем случае, компрометации шлюзового сервера. В частности, современные средства управления политиками доступа не гарантируют обеспечение администраторам сети и/или ресурса дифференцированного управления. Соответственно, современная организация связи между клиентом и сервером страдает рядом недостатков, которые нужно исправить.This can be a daunting task for developers as well as network administrators, especially given the different versions of the code that can run on the server and / or resource during its lifetime. For example, if some features of a resource or application may not be installed on the client computer system before connecting to the server, these features can ensure that the connection is not intercepted or otherwise damaged. However, modern security authentication protocols and protocol processor plugins usually do not take into account such restrictions. On the contrary, the connected resource has to deal with these issues later, which can lead to communication errors and disconnection or interception of the connection, and even, in the worst case, compromise of the gateway server. In particular, modern means of managing access policies do not guarantee the provision of differentiated management resources to network administrators and / or resources. Accordingly, the modern organization of communication between the client and the server suffers from a number of shortcomings that need to be fixed.
Сущность изобретенияSUMMARY OF THE INVENTION
Реализации настоящего изобретения решают одну или несколько проблем, присущих уровню техники, посредством систем, способов и компьютерных программных продуктов, призванных обеспечивать стандартную платформу, на которой разработчики могут легко обеспечивать связь между клиентскими/серверными приложениями. В частности, одна реализация настоящего изобретения включает в себя защищенную инфраструктуру связи (обмена), способную эффективно и безопасно соединять удаленный клиент и любой серверный ресурс на уровне приложений стека связи через брандмауэр. Инфраструктура связи может стимулировать соединение с учетом различных пригодных политик доступа, которые не обязательно должны быть независимо разработаны разработчиком. Кроме того, инфраструктура связи может дополнительно включать в себя некоторые карантинные функции, которые можно использовать, чтобы гарантировать, что клиент не сможет подключиться к ресурсу без установки минимальной программной “заплатки”.Implementations of the present invention solve one or more of the problems inherent in the prior art through systems, methods and computer software products designed to provide a standard platform on which developers can easily provide communication between client / server applications. In particular, one implementation of the present invention includes a secure communication (exchange) infrastructure capable of efficiently and securely connecting a remote client and any server resource at the application level of the communication stack through a firewall. A communications infrastructure can encourage connectivity based on various suitable access policies, which need not be independently developed by the developer. In addition, the communication infrastructure may additionally include some quarantine functions that can be used to ensure that the client cannot connect to the resource without installing a minimum software “patch”.
Например, на шлюзовом сервере, имеющем, по меньшей мере, уровень вызова удаленных процедур и уровень защищенного протокола передачи гипертекстовых файлов в инфраструктуре связи, способ в соответствии с реализацией настоящего изобретения может содержать этап, на котором принимают запрос подключения от клиента. В общем случае запрос подключения может идентифицировать ресурс, к которому клиент хотел бы подключиться. Способ также может содержать этап, на котором подвергают карантину соединение с клиентом для определения, поддерживает ли клиент минимальный набор особенностей. Кроме того, способ может содержать этапы, на которых идентифицируют плагин протокольного процессора на основании типа ресурса для идентифицированного ресурса и перенаправляют соединение с клиентом на идентифицированный плагин протокольного процессора.For example, on a gateway server having at least a remote procedure call level and a secure protocol layer for transferring hypertext files in a communication infrastructure, the method in accordance with an embodiment of the present invention may comprise receiving a connection request from a client. In general, a connection request can identify a resource to which a client would like to connect. The method may also include quarantining the client connection to determine if the client supports a minimum set of features. In addition, the method may comprise the steps of identifying the protocol processor plugin based on the type of resource for the identified resource and redirecting the client connection to the identified protocol processor plugin.
Кроме того, на клиентской компьютерной системе, где клиент осуществляет доступ к ресурсу через брандмауэр шлюзового сервера, способ в соответствии с реализацией настоящего изобретения может содержать этап, на котором посылают запрос соединения на шлюзовой сервер. В общем случае запрос может идентифицировать серверный ресурс для соединения с соответствующим клиентским ресурсом. Способ также может содержать этап, на котором принимают от шлюзового сервера запрос на минимальный набор особенностей, имеющихся в клиентском ресурсе. Кроме того, способ может содержать этапы, на которых посылают на шлюзовой сервер ответ версии, где ответ указывает набор поддерживаемых особенностей на клиенте. Кроме того, способ со стороны клиента может содержать этап, на котором подключаются к уровню приложений стека связи на шлюзовом сервере. При этом клиентский ресурс может передавать данные посредством плагина протокольного процессора, связанного с серверным ресурсом.In addition, on the client computer system, where the client accesses the resource through the gateway server firewall, the method in accordance with an embodiment of the present invention may comprise sending a connection request to the gateway server. In general, a request can identify a server resource for connecting to a corresponding client resource. The method may also include the stage at which a request is received from the gateway server for the minimum set of features available in the client resource. In addition, the method may comprise the steps of sending a version response to the gateway server, where the response indicates a set of supported features on the client. In addition, the method on the client side may include connecting to the application layer of the communication stack on the gateway server. In this case, the client resource can transmit data using the protocol processor plugin associated with the server resource.
Эта сущность изобретения приведена здесь для ознакомления с рядом концепций в упрощенной форме, которые дополнительно описаны ниже в подробном описании. Эта сущность изобретения не призвана выявлять ключевые признаки или существенные признаки заявленного изобретения, а также не призвана помогать в определении объема заявленного изобретения.This summary is presented here to introduce a number of concepts in a simplified form, which are further described below in the detailed description. This invention is not intended to identify key features or essential features of the claimed invention, nor is it intended to help determine the scope of the claimed invention.
Дополнительные признаки и преимущества изобретения изложены в нижеследующем описании, и отчасти будут явствовать из описания, или могут быть изучены при практическом осуществлении изобретения. Признаки и преимущества изобретения могут быть реализованы и получены посредством инструментов и комбинаций, конкретно указанных в прилагаемой формуле изобретения. Эти и другие особенности настоящего изобретения будут более очевидны из нижеследующего описания и прилагаемой формулы изобретения или могут быть изучены при практическом осуществлении изобретения, изложенном ниже.Additional features and advantages of the invention are set forth in the following description, and will in part be apparent from the description, or may be learned by practice of the invention. The features and advantages of the invention can be realized and obtained by means of tools and combinations specifically indicated in the attached claims. These and other features of the present invention will be more apparent from the following description and appended claims, or may be learned by practice of the invention set forth below.
Краткое описание чертежейBrief Description of the Drawings
Чтобы описать, каким образом можно добиться вышеупомянутых и других преимуществ и признаков изобретения, обратимся к более конкретному описанию изобретения, кратко описанного выше, приведенному со ссылками на конкретные варианты его осуществления, которые проиллюстрированы на прилагаемых чертежах. С учетом того, что эти чертежи изображают лишь типичные варианты осуществления изобретения и потому не призваны ограничивать его объем, изобретение описано и объяснено в дополнительных частностях и деталях с использованием прилагаемых чертежей, в которых:To describe how the above and other advantages and features of the invention can be achieved, let us turn to a more specific description of the invention, briefly described above, with reference to specific embodiments thereof, which are illustrated in the accompanying drawings. Given that these drawings depict only typical embodiments of the invention and therefore are not intended to limit its scope, the invention is described and explained in further details and details using the accompanying drawings, in which:
фиг.1A - общая схема системы, в которой клиентская компьютерная система осуществляет связь с инфраструктурой связи шлюзового сервера, согласующейся с проходом через брандмауэр, в соответствии с реализацией настоящего изобретения;figa is a General diagram of a system in which a client computer system communicates with the communication infrastructure of the gateway server, consistent with the passage through the firewall, in accordance with the implementation of the present invention;
фиг.1B - общая схема системы, показанной на фиг.1A, в которой клиентская компьютерная система осуществляет связь с указанным ресурсом, в соответствии с реализацией настоящего изобретения; иfigv is a General diagram of the system shown in figa, in which the client computer system communicates with the specified resource, in accordance with the implementation of the present invention; and
фиг.2 - блок-схемы способов, со стороны клиентской компьютерной системы и шлюзового сервера, прохода через брандмауэр и обмена с указанным ресурсом в соответствии с сетевыми политиками, обеспеченными инфраструктурой связи.figure 2 is a flowchart of methods from the client computer system and the gateway server, passing through the firewall and exchanging with the specified resource in accordance with the network policies provided by the communications infrastructure.
Подробное описаниеDetailed description
Реализации настоящего изобретения относятся к системам, способам и компьютерным программным продуктам, призванным обеспечивать стандартную платформу, на которой разработчики могут легко обеспечивать связь между клиентскими/серверными приложениями. В частности, одна реализация настоящего изобретения включает в себя защищенную инфраструктуру связи (обмена), способную эффективно и безопасно соединять удаленный клиент и любой серверный ресурс на уровне приложений стека связи через брандмауэр. Инфраструктура связи может стимулировать соединение с учетом различных пригодных политик доступа, которые не обязательно должны быть независимо разработаны разработчиком. Кроме того, инфраструктура связи может дополнительно включать в себя некоторые карантинные функции, которые можно использовать, чтобы гарантировать, что клиент не сможет подключиться к ресурсу без установки минимальной программной “заплатки”.Implementations of the present invention relate to systems, methods, and computer software products designed to provide a standard platform on which developers can easily provide communication between client / server applications. In particular, one implementation of the present invention includes a secure communication (exchange) infrastructure capable of efficiently and securely connecting a remote client and any server resource at the application level of the communication stack through a firewall. A communications infrastructure can encourage connectivity based on various suitable access policies, which need not be independently developed by the developer. In addition, the communication infrastructure may additionally include some quarantine functions that can be used to ensure that the client cannot connect to the resource without installing a minimum software “patch”.
В результате этих и других особенностей инфраструктура связи, в соответствии с аспектами настоящего изобретения, способствует усовершенствованию протоколов двухточечной связи на уровне приложений, тем самым повышая роль шлюзов. Например, аспекты настоящего изобретения позволяют клиенту предоставлять плагины протокольного процессора, знающие (оповещенные о) приложение, на шлюзовом сервере, что, в свою очередь, может позволять конкретно регулировать, как, когда и кто может осуществлять доступ к определенным ресурсам. Поскольку политика доступа по большей части включена в инфраструктуру связи, разработчик плагинов протокольного процессора может легко реализовать дифференцированные политики конфигурирования и пропуска (прохода) и сделать разработку плагинов протокольного процессора значительно более простой и эффективной. Кроме того, инфраструктура связи, в соответствии с аспектами настоящего изобретения, может гарантировать, что только клиенты, которые поддерживают определенные особенности, смогут туннелировать через брандмауэр шлюзового сервера в первую очередь и, в конце концов, устанавливать канал к ресурсу.As a result of these and other features, the communications infrastructure, in accordance with aspects of the present invention, improves application-level point-to-point communication protocols, thereby enhancing the role of gateways. For example, aspects of the present invention allow a client to provide protocol processor plug-ins that know (are notified about) an application on a gateway server, which, in turn, can allow you to specifically control how, when, and who can access certain resources. Because access policies are mostly included in the communications infrastructure, a protocol processor plug-in developer can easily implement differentiated configuration and skip (pass) policies and make protocol processor plug-in development much simpler and more efficient. In addition, the communication infrastructure, in accordance with aspects of the present invention, can ensure that only clients that support certain features can tunnel through the gateway server firewall in the first place and, ultimately, establish a channel to the resource.
Как указано выше, в описанных здесь схемах и блок-схемах приведены ссылки на ряд программных интерфейсов приложения ("API"), которые можно использовать в соответствии с аспектами настоящего изобретения. Количество API, которое можно использовать в инфраструктуре связи со стороны клиента и со стороны шлюзового сервера, может зависеть от реализации. Например, в одной реализации можно использовать по меньшей мере два API клиента и по меньшей мере четыре API шлюзового сервера.As indicated above, in the diagrams and block diagrams described herein, references are made to a number of application programming interfaces (“APIs”) that may be used in accordance with aspects of the present invention. The number of APIs that can be used in the communication infrastructure from the client and from the gateway server may depend on the implementation. For example, in one implementation, at least two client APIs and at least four gateway server APIs can be used.
Со стороны клиента, например, один API клиента может включать в себя "базовый API", который позволяет плагинам протокольного процессора клиента создавать и находить туннели, создавать каналы и направлять трафик на серверы ресурсов. Базовый API также может включать в себя дополнительные API для сбора мандатов, не принятых по умолчанию, в соответствии с политиками доступа к ресурсам. Второй API клиента может включать в себя "конфигурационный API". Конфигурационный API может позволять плагинам протокольного процессора клиента сохранять и загружать информацию конфигурации для подключения к шлюзовым серверам (например, имя шлюзового сервера, тип авторизации и т.д.) и управлять поведением клиентского адаптера.On the client side, for example, one client API may include a “core API” that allows client protocol processor plug-ins to create and find tunnels, create channels, and direct traffic to resource servers. The core API may also include additional APIs for collecting non-default credentials in accordance with resource access policies. The second client API may include a “configuration API”. The configuration API can allow client protocol processor plug-ins to save and load configuration information for connecting to gateway servers (for example, gateway server name, authorization type, etc.) and control the behavior of the client adapter.
Со стороны сервера один API шлюзового сервера также может включать в себя "базовый API," который позволяет плагинам протокольного процессора шлюзового сервера обслуживать клиентский запрос для создания каналов и перенаправлять трафик с клиента на шлюзовой сервер и обратно. Второй API, также "конфигурационный API", может обеспечивать общее хранилище постоянных данных протоколов сервера. Третий API, "API политик", может обеспечивать указание политикам доступа к сети и ресурсам, какие плагины протокольного процессора шлюзового сервера можно использовать для определения, авторизован ли пользователь на подключение к конкретному серверу ресурсов, в ходе создания канала. Четвертый API, "API состояния и контроля среды выполнения", может позволять терминальным инструментам администрирования отслеживать использование и изменять состояние среды выполнения, например, перекрывая туннели, принадлежащие пользователям, ведущим себя неправильно.On the server side, a single gateway server API can also include a “core API,” which allows the plug-in protocol gateway server plug-ins to serve a client request to create channels and redirect traffic from the client to the gateway server and vice versa. The second API, also the “configuration API”, can provide a common repository of persistent server protocol data. The third API, the “Policy API”, can provide an indication of network access and resource policies to which plug-ins of the gateway server protocol processor can be used to determine if a user is authorized to connect to a specific resource server during channel creation. The fourth API, the "Runtime Status and Monitoring API", can allow terminal administration tools to monitor usage and change the state of the runtime, for example, by blocking tunnels owned by misbehaving users.
Существуют примеры конкретных типов API, которые можно использовать в соответствии с общими принципами изобретения. Функции этих API рассмотрены с общей ссылкой на следующие чертежи. Например, на фиг.1A схематически показана реализация настоящего изобретения, в которой клиентская компьютерная система 100 пытается осуществить связь с конкретным ресурсом (например, приложением или соответствующим компонентом), находящимся “позади” брандмауэра на шлюзовом сервере 150. Для осуществления этой связи клиент 100 и шлюзовой сервер 150 будут, в конце концов, использовать аналогично сконфигурированный плагин протокольного процессора (например, 115a-b), который содержит набор API (например, вышеупомянутых), которые могут осуществлять связь и/или работать в контексте инфраструктуры связи 107 (т.е. "встроенных" в инфраструктуру).There are examples of specific types of APIs that can be used in accordance with the general principles of the invention. The functions of these APIs are described with a general reference to the following drawings. For example, FIG. 1A schematically illustrates an implementation of the present invention in which a client computer system 100 attempts to communicate with a specific resource (eg, an application or a corresponding component) that is “behind” the firewall on the gateway server 150. For this communication, the client 100 and gateway server 150 will ultimately use a similarly configured protocol processor plug-in (e.g. 115a-b) that contains a set of APIs (e.g., the above) that can implement ide and / or work in the context of communication infrastructure 107 (i.e., “embedded” in the infrastructure).
Как объяснено более подробно в нижеследующем описании изобретения и формуле изобретения, инфраструктура 107 связи представляет собой структуру данных, богатую особенностями (например, включающую в себя четыре вышеупомянутых API), которая включает в себя различные компоненты, модули обработки, инструменты, индексы и т.п. В общем случае инфраструктура 107 связи (обмена) построена и/или сконфигурирована так, чтобы разработчик мог легко конструировать плагин протокольного процессора (например, 115a-b, 117), который взаимодействует с инфраструктурой 107 связи, и использовать особенности и политики, обеспеченные в инфраструктуре 107 связи, без необходимости отдельно разрабатывать или прописывать эти особенности и политики.As explained in more detail in the following description of the invention and the claims, the
В частности, на фиг.1A показано, что инфраструктура 107 связи содержит стек 113 связи, который используется для взаимодействия между физической границей в сети 135 и различными программными компонентами на шлюзовом сервере 150. В общем случае, шлюзовой сервер 150 может содержать любой терминальный сетевой сервер, например интернет-сервер, защищенный брандмауэром, для большой организации, через который проходит весь входящий и исходящий Интернет-трафик. Например, сотрудник организации, желающий подключиться из дома к ресурсу в офисе, будет подключен через шлюзовой сервер 150 прежде, чем получит доступ к ресурсу позади брандмауэра.In particular, FIG. 1A shows that the
При этом инфраструктура 107 связи может включать в себя любое количество компонентов и модулей для взаимодействия с ресурсами позади брандмауэра, которые можно использовать для доступа к конкретному ресурсу. Например, на фиг.1A показано, что реализация стека 113 связи (обмена) на инфраструктуре 107 связи содержит уровень 105b защищенного протокола передачи гипертекстовых файлов ("HTTPS"), а также транспортный уровень 110b с возможностью встраивания. В одной реализации транспортный уровень 110b с возможностью встраивания (а также уровень 110a) представляет собой уровень 110b вызова удаленной процедуры ("RPC"), в связи с чем уровень 105a-b и уровень 110a-b можно совместно рассматривать как "HTTPS/RPC". При таком использовании уровень HTTPS 105b дешифрует или декодирует любое шифрование/кодирование SSL или TLS, тогда как транспортный уровень 110b с возможностью встраивания распаковывает любую упаковку (например, RPC), выполненную на соответствующем транспортном уровне 110a с возможностью встраивания на клиенте 100.Moreover, the
Конечно, в стек 113 связи может быть включено любое количество дополнительных или альтернативных уровней, причем стек связи может входить в состав или коррелировать с традиционной 7-уровневой моделью взаимодействия открытых систем ("OSI"). Например, хотя в этой реализации уровень HTTPS/транспортный уровень с возможностью встраивания 105b/110b для простоты показан в виде минимального набора уровней, аспекты изобретения этим не ограничиваются. В других реализациях, например, разработчик может обходиться без HTTPS и использовать другой механизм подключения на основании решения SSL и/или протокола управления передачей ("TCP"), которое также предусматривает соединение уровней приложений клиента и шлюза через защищенное соединение. Поэтому HTTPS/встраиваемый транспорт, в частности набор HTTPS/RPC, является единственно возможным способом обеспечения элементов решения с проходом брандмауэра.Of course, any number of additional or alternative levels may be included in
Заметим, что одно преимущество HTTPS и транспортного уровня с возможностью встраивания, например, RPC состоит в том, что некоторые протоколы, например RPC, обратно совместимы с более ранними версиями HTTP (например, HTTP версии 1.0). Таким образом, разработчик, использующий набор HTTPS/RPC, может обнаружить, что этот элемент решения с проходом брандмауэра можно легче применять на более старых серверах или на серверах, которые ограничивают типы трафика более общим типом трафика HTTP.Note that one advantage of HTTPS and the transport layer with the ability to embed, for example, RPC, is that some protocols, such as RPC, are backward compatible with earlier versions of HTTP (for example, HTTP version 1.0). Thus, a developer using the HTTPS / RPC suite may find that this solution element with a firewall pass can be more easily applied on older servers or on servers that restrict traffic types to a more general type of HTTP traffic.
В любом случае на фиг.1A также показано, что сквозной интерфейс приложения ("сквозной API") 160 располагается в верхней части связки HTTPS/встраиваемого транспорта стека 113. Сквозной API 160 может содержать любое количество компонентов и модулей (например, один или несколько вышеупомянутых "базовых API", "конфигурационных API", "API политик" и/или "API состояния и контроля среды выполнения") для создания надлежащего соединения между клиентом 100 и соответствующим плагином протокольного процессора и для гарантированной реализации надлежащих сетевых политик в соединении. Например, сквозной API 160 включает в себя компонент 170 политик доступа (например, "API политик") и компонент 175 инструментов администрирования ((например, "конфигурационный API" и/или "API состояния и контроля среды выполнения"), которые можно рассматривать как ряд функций, которые более подробно описаны ниже. Однако в более общем случае сквозной API 160 может действовать как прокладка между связками HTTPS/встраиваемого транспорта в стеке связи 113 и одним или несколькими плагинами протокольного процессора, которые используются для связи с конкретным ресурсом.In any case, FIG. 1A also shows that the end-to-end application interface (“end-to-end API”) 160 is located at the top of the HTTPS / Embedded
Например, на фиг.1A показано, что шлюзовой сервер 150 также включает в себя, по меньшей мере, плагины протокольного процессора 115b и 117. В общем случае плагин протокольного процессора - это интерфейс, разработанный сторонним разработчиком, который способен взаимодействовать в пределах инфраструктуры 107 связи на одном конце и передавать данные, принятые через инфраструктуру 107 связи, конкретному ресурсу на другом конце. Кроме того, плагин протокольного процессора можно определить применительно к "типу" плагина, связанного с ресурсом или классом ресурсов. Например, набор офисных приложений, которые взаимодействуют через общий интерфейс, может составлять один тип приложения, а программа базы данных, которая взаимодействует через другой интерфейс, может составлять другой тип приложения или ресурса. Кроме того, оборудование, например принтеры или дисководы, может составлять ресурсы других типов, которые имеют другие типы интерфейсов для связи. Поэтому разработчик, обеспечивающий ресурс, также может написать уникальный плагин протокольного процессора для этого данного ресурса.For example, FIG. 1A shows that gateway server 150 also includes at least plug-ins for protocol processor 115b and 117. In general, a protocol processor plug-in is an interface developed by a third-party developer that is able to communicate within
Однако разработчику нужно также обеспечить соответствующий плагин протокольного процессора для клиента, чтобы клиент мог осуществлять связь с запрашиваемым ресурсом. Таким образом, например, на фиг.1A также показано, что клиент 100 имеет стек 103 связи (обмена), который также включает в себя уровень HTTPS 105a и транспортный уровень 110a с возможностью встраивания. В общем случае транспортный уровень 110a с возможностью встраивания используется для упаковки всех исходящих сообщений (например, 130) в соответствии с надлежащим протоколом (например, протоколом RPC при использовании уровня RPC), тогда как уровень HTTPS 105a используется для шифрования или кодирования исходящих сообщений, например посредством шифрования или кодирования SSL или TLS. Плагин 115а протокольного процессора располагается в верхней части связки HTTPS/встраиваемого транспорта клиента.However, the developer also needs to provide an appropriate protocol processor plugin for the client so that the client can communicate with the requested resource. Thus, for example, FIG. 1A also shows that client 100 has a communication (exchange)
В общем случае плагин 115а протокольного процессора содержит любые интерфейсы (например, "базовый API" и/или "конфигурационный API"), ресурсы или компоненты, необходимые для создания туннеля подключения и соответствующего канала (внутри туннеля) с нужным ресурсом на шлюзовом сервере 150. Соответственно, плагин 115а протокольного процессора, по меньшей мере, комплементарен с плагином 115b протокольного процессора. Например, на фиг.1A показано, что плагин 115а протокольного процессора относится к определенному типу (т.е. "типу A"), соответствующему типу ресурса (т.е. ресурса 120a), который клиент 100 использует локально, и таким образом способен осуществлять связь с комплементарным плагином протокольного процессора, использующим те же вызовы, кодирование и т.д.In the general case, the protocol processor plug-in 115a contains any interfaces (for example, a “basic API” and / or a “configuration API”), resources or components necessary to create a connection tunnel and a corresponding channel (inside the tunnel) with the desired resource on the gateway server 150. Accordingly, the protocol processor plug-in 115a is at least complementary to the protocol processor plug-in 115b. For example, FIG. 1A shows that the
Таким образом, на фиг.1A дополнительно показано, что стек 103 связи включает в себя ресурс 120a (например, прикладную программу, компонент или даже другой API). Например, клиент открывает приложение базы данных в локальной компьютерной системе, которое синхронизировано с рабочей версией базы данных, находящейся позади брандмауэра на шлюзовом сервере 150. Хотя ресурс 120a в ряде случаев может представлять собой полную версию приложения, ресурс 120a также может быть просто программным компонентом приложения, который позволяет определенным образом отображать данные, передаваемые в потоковом режиме со шлюзового сервера 150. Поэтому компоненты, например ресурс 120a, обеспечивают в этом случае минимальный набор ресурсов, которые позволяют клиенту 100 напрямую подключаться к ресурсу на шлюзовом сервере 150.Thus, FIG. 1A further shows that the
Например, на фиг.1A показано, что клиент 100 запрашивает 130 соединение с ресурсом 120b, используя ресурс 120a. Для этого клиент 100 инициирует стек связи 103, имеющий соответствующий плагин протокольного процессора (т.е. 115a), который относится к надлежащему типу (т.е. "типу A") для нужного ресурса (т.е. ресурса 120a). Затем клиент 100 отправляет сообщение 130 запроса подключения на шлюзовой сервер 150 через стек 103 связи. В частности, плагин 115а протокольного процессора снабжает исходящее сообщение 130 информацией аутентификации (содержащей, например, имя пользователя и пароль, идентификацию клиента, цифровые подписи), конкретным вызовом ресурса 120b и любой информацией сетевых политик, которая может потребоваться на сквозном API 160. Затем плагин 115а протокольного процессора отправляет сообщение 130, подлежащее упаковке на транспортном уровне 110a с возможностью встраивания, шифрованию на уровне HTTPS 105 (т.е. через TLS или SSL), с последующей отправкой по сети 135.For example, FIG. 1A shows that client 100 requests 130 a connection to
Затем инфраструктура 107 связи принимает сообщение 130 и осуществляет функции первоначальной распаковки и дешифрования. Например, уровень HTTPS 105b дешифрует любое кодирование SSL или TLS, и транспортный уровень 110b с возможностью встраивания распаковывает сообщение из любого соответствующего кодирования (например, кодирования RPC). Затем сквозной API 160 может проверить информацию аутентификации в сообщении 130 и определить, авторизован ли клиент 100 на запрашиваемое подключение на основании весьма дифференцированных политик доступа. В одной реализации, в частности, дифференцирование политик доступа основано на разделении политик доступа на по меньшей мере два независимых набора: политику доступа к сети для определения, авторизован ли клиент создавать сетевое соединение с сервером 150 в первую очередь; и политику доступа к ресурсам для определения, авторизован ли клиент иметь канал подключения с запрашиваемым ресурсом помимо того, что ему разрешено создавать туннель подключения. Такая авторизация политики доступа (к сети или ресурсу) может быть конфигурирована в зависимости от любых параметров, которые желает рассматривать администратор сети и/или приложения/ресурса, например от аутентификации посредством традиционных имен пользователя и паролей, идентификации "здоровья клиента" и т.п. (например, карантинная особенность, более подробно рассмотренная ниже).Then, the
Некоторые примеры правил, составляющих политику доступа к сети, включают в себя ограничения в отношении того, входит ли пользователь на клиенте 100 в авторизованную группу, связанную с запрашиваемым ресурсом. Набор политик доступа к сети также можно сконфигурировать на ограничение подключения к некоторым серверам только группой в отделе маркетинга, ограничение количества общих туннелей подключения к серверу некоторым максимальным количеством, ограничение доступа к определенному серверу (временем суток, определенными пользователями и т.д.) позади брандмауэра, или даже ограничение доступа только конкретными портами на данном сервере. Другие политики доступа к сети можно сконфигурировать на требование, чтобы клиент предъявил "интеллектуальную карту" до подключения к серверу 150.Some examples of rules constituting a network access policy include restrictions on whether a user on client 100 is included in an authorized group associated with a requested resource. A set of network access policies can also be configured to limit the connection to some servers to only a group in the marketing department, to limit the number of shared tunnels for connecting to a server to a certain maximum number, to restrict access to a specific server (time of day, specific users, etc.) behind the firewall , or even restricting access to only specific ports on a given server. Other network access policies can be configured to require the client to present a "smart card" before connecting to server 150.
Аналогично, набор политик доступа к ресурсам можно сконфигурировать на ограничение количества каналов подключения к ресурсу (хотя пользователь уже подключен к серверу через брандмауэр), ограничение всех ресурсов в целом и/или ограничение ресурсов и/или соединений для определенных групп пользователей лишь определенным количеством часов в сутки. По меньшей мере, частично, поскольку политики доступа к сети и политики доступа к ресурсам можно конфигурировать независимо, с индивидуальными критериями, компонент 170 политик доступа может обеспечивать администратору сети и/или ресурса значительно более дифференцированное управление по сравнению с аутентификацией и фильтрацией доступа на шлюзовом сервере 150.Similarly, a set of resource access policies can be configured to limit the number of channels connecting to a resource (although the user is already connected to the server through a firewall), limit all resources in general and / or limit resources and / or connections for certain user groups to only a certain number of hours in day. At least in part, since network access policies and resource access policies can be independently configured, with individual criteria,
В частности, два класса политик (т.е. политики доступа к ресурсам и политики доступа к сети) могут быть связаны через "уровни доступа", что позволяет администратору сети и/или приложения/ресурса задавать и развивать свои политики совершенно независимо, особенно когда они согласуются с конкретным набором уровней доступа между ними. Например, пользователь может иметь возможность осуществлять доступ к одному набору ресурсов в одно время суток, предоставляя конкретные имя пользователя и пароль, но не имеет возможности осуществлять доступ к тому же набору ресурсов в другое время суток, не предъявив также интеллектуальной карты. Аналогично, пользователь может иметь возможность осуществлять доступ к другому набору неперекрывающихся ресурсов в другое время суток или, возможно, в выходные дни, независимо от того, предъявил ли пользователь какую-либо форму аутентификации.In particular, two classes of policies (ie, resource access policies and network access policies) can be connected through “access levels”, which allows the network administrator and / or application / resource to set and develop their policies completely independently, especially when they are consistent with a specific set of access levels between them. For example, a user may be able to access one set of resources at one time of the day by providing a specific username and password, but may not be able to access the same set of resources at another time of the day without also presenting a smart card. Similarly, a user may be able to access another set of non-overlapping resources at other times of the day or, possibly, on weekends, regardless of whether the user has presented any form of authentication.
Кроме того, можно использовать комбинацию политик доступа к сети и ресурсам, чтобы препятствовать пользователю в доступе к серверу 150 также в течение одного времени суток, которое имеет конкретное ограничение на максимальное количество туннелей подключения на сервере; или для подключения к версии ресурса, находящейся позади одного внутреннего сервера, но не к другой версии того же ресурса, размещенной на другом сервере, в течение определенного времени. Конечно, этот уровень дифференцированности управления, обеспечиваемый благодаря независимым критериям в политиках доступа к сети и ресурсам компонента 170 политик доступа, можно дополнительно модифицировать, просто изменяя уровень доступа пользователя от базового уровня к уровню доступа с более развитыми функциями администрирования.In addition, you can use a combination of network access policies and resources to prevent the user from accessing the server 150 also during one time of the day, which has a specific limit on the maximum number of connection tunnels on the server; or to connect to a version of a resource located behind one internal server, but not to another version of the same resource hosted on another server for a certain time. Of course, this level of management differentiation, provided by independent criteria in the network access policies and resources of the
В любом случае на фиг.1A также показано, что инфраструктура 107 связи в ответ посылает сообщение 140, запрашивающее любое количество из одной или нескольких особенностей, на обмен с которыми, например, настроена инфраструктура 107 связи. В частности, реализации настоящего изобретения могут дополнительно включать в себя, как указано выше, возможную карантинную особенность, входящую в состав политики доступа к сети, в которой инфраструктура 107 связи гарантирует, что только тем клиентам, которые имеют минимальный набор ресурсов или особенностей (например, определенные версии ресурса, наборы протоколов или компонентов, программные заплатки и т.д.), разрешено подключаться к данному серверному ресурсу.In any case, FIG. 1A also shows that the
В альтернативных реализациях инфраструктура 107 связи просто отключает любые особенности, которые не поддерживаются клиентом 100, благодаря чему клиент не пытается установить связь в некоторый момент с такими неподдерживаемыми особенностями. Например, разработчик ресурса 120b может иметь обеспеченные ряд особенностей или обновлений особенности для этого ресурса, к которому клиент 100 (или клиенты, принадлежащие классу пользователей, указанному политикой доступа к ресурсам) не должен осуществлять доступ (или использовать его), пока клиент 100 также имеет минимальный набор соответствующих ресурсов, особенностей или обновлений особенности. Эти ресурсы, особенности и/или соответствующие обновления особенности могут быть функциональными, но также могут быть связаны с системой безопасности, из-за чего может быть важно, чтобы разработчик их применял. Соответственно, в одной реализации инфраструктура 107 связи может просто поместить запрашиваемое подключение в карантин, пока такие согласования особенностей с клиентом 100 не будут удостоверены или аутентифицированы.In alternative implementations, the
Затем клиент 100 обрабатывает сообщение 140, например, обнаруживая, какие особенности клиент 100 выполняет или способен выполнять, и подготавливает ответ. Например, на фиг.1B показано, что клиент 100 в ответ посылает сообщение 145, указывающее любые подобные идентифицированные поддерживаемые особенности. Затем сквозной API 160 может сравнить ответ 145 с информацией в компоненте 170 политик доступа для определения, пригодны ли эти поддерживаемые клиентом особенности для сетевого соединения или для установления канала к запрашиваемому ресурсу, или нужны ли другие особенности (или другие версии тех же особенностей). В одной реализации, если нужны другие особенности (т.е. клиент 100 недостаточно обновлен или не имеет определенных необходимых особенностей) для подключения к шлюзовому серверу 150, то сквозной API 160 может просто разорвать соединение, может послать сообщение об ошибке или может послать сообщение, указывающее место в сети, где клиент 100 может загрузить особенность. В других реализациях, например вышеупомянутых, инфраструктура 107 связи просто отключает те особенности шлюзового сервера 150, которые клиент 100 также не поддерживает.Then, the client 100 processes the
Если сообщение 145 указывает надлежащий набор особенностей (когда такие особенности могут понадобиться), и клиент 100 авторизован на доступ к запрашиваемому ресурсу на стороне сервера, то сквозной API 160 может начать передавать соединение на соответствующий плагин протокольного процессора для ресурса. Например, сквозной API 160 может сначала посмотреть на "тип" запрашиваемого ресурса для определения, требует ли ресурс 120b особого плагина протокольного процессора, или является ли ресурс 120b частью более широкого класса ресурсов. В частности, на фиг.1B показано, что плагин протокольного процессора 115b связан, по меньшей мере, с ресурсами 120b и 123, а плагин 117 протокольного процессора, который является процессором "типа B", связан, по меньшей мере, с ресурсами 125 и 127. В общем случае этот этап определения соответствующего плагина протокольного процессора можно осуществлять путем просмотра системного реестра, в котором каждый плагин протокольного процессора прописывается при установке.If message 145 indicates an appropriate set of features (when such features may be needed), and client 100 is authorized to access the requested resource on the server side, then end-to-
В любом случае, на фиг.1B показано, что сквозной API 160 идентифицирует плагин 115b протокольного процессора, который является процессором "типа A" и связан с запрашиваемым ресурсом 120b. Затем сквозной API 160 осуществляет передачу управления каналом между клиентом 100 и плагином 115b протокольного процессора. Поэтому плагин 115a протокольного процессора на клиенте 100 и плагин 115b протокольного процессора на шлюзовом сервере 150 теперь соединены на соответствующих уровнях приложений стеков 103 и 113, соответственно, и, таким образом, могут обмениваться данными (например, 155) по каналу соединения. В частности, инфраструктура 107 связи допускает один или несколько каналов в туннеле для подключения к конкретному ресурсу с использованием соответствующих плагинов протокольного процессора клиента и шлюзового сервера, а не сетевого соединения, обрабатываемого сетевыми уровнями соответствующих стеков связи.In either case, FIG. 1B shows that end-to-
Управление этими каналами через туннель подключения может позволять клиенту 100 идентифицировать любые дополнительные ресурсы, к которым можно осуществить доступ, а также создавать дополнительные каналы с первоначально запрашиваемым ресурсом (т.е. ресурсом 120b). Например, клиент 100 может создать несколько каналов в туннеле подключения с одним и тем же ресурсом посредством инфраструктуры 107 связи, а также запросить у сквозного API 160 обеспечение дополнительных каналов (а также других туннелей и соответствующих одного или нескольких других каналов) к другим ресурсам, связанным с тем же плагином протокольного процессора, который связан с ресурсом 120b, например ресурсу 123. В некоторых реализациях клиент 100 также может просить инфраструктуру 107 связи идентифицировать другой плагин протокольного процессора (например, 117), пригодный для связи с другим ресурсом (например, 125). В любом случае управление соединением осуществляется, по меньшей мере отчасти, посредством компонента 170 политик доступа и/или компонента 175 инструментов администрирования (или "компонента 175 инструментов").Managing these channels through the connection tunnel may allow the client 100 to identify any additional resources that can be accessed, as well as create additional channels with the originally requested resource (i.e.,
В общем случае компонент 175 инструментов может содержать любое количество интерфейсов (например, один или несколько из "базового API", "конфигурационного API", "API политик" и/или "API состояния и контроля среды выполнения"). Компонент 175 инструментов администрирования также может содержать любые скрипты (сценарии), таблицы данных и соответствующие функции, доступ к которым может осуществлять, например, администратор шлюзового сервера 150. Например, администратор сети, желающий повлиять на сетевую политику для определенного плагина протокольного процессора или проанализировать количества соединений через инфраструктуру 107 связи, может открыть пользовательский интерфейс (не показан), обеспеченный компонентом 175 инструментов.In general, the
Затем администратор сети может отслеживать общее использование Интернет, изменять состояние среды выполнения, перекрывать любые туннели, принадлежащие неправильно ведущим себя пользователям, ограничивать количества соединений с проходом брандмауэра и декларировать типы шифрования, используемые для создания такого соединения. Администратор сети также может изменять любую из этих и других сетевых настроек или политик, например, упомянутых в этом описании изобретения. Администратор сети может также использовать интерфейс, чтобы задать, каким пользователям разрешен доступ и к каким типам ресурсов, какие ресурсы вообще присутствуют, когда к этим ресурсам можно осуществлять доступ вне брандмауэра, и к каким серверам могут осуществлять доступ эти пользователи.Then the network administrator can monitor the overall use of the Internet, change the state of the runtime environment, block any tunnels belonging to improperly behaving users, limit the number of connections to the firewall pass and declare the types of encryption used to create such a connection. The network administrator can also change any of these and other network settings or policies, for example, mentioned in this description of the invention. The network administrator can also use the interface to specify which users are allowed to access and what types of resources, what resources are present, when these resources can be accessed outside the firewall, and which servers these users can access.
Разработчик плагина протокольного процессора также может обращаться к этим инструментам в компоненте 175. В частности, разработчик может прописать в плагине протокольного процессора возможность доступа и задать различные сетевые политики по умолчанию для использования с плагином протокольного процессора. Например, разработчик плагина протокольного процессора может сконструировать плагин протокольного процессора для взаимодействия с другим интерфейсом в инструментах 175 администрирования и задать минимальный ресурс или требования к особенностям. Соответственно, на фиг.1A-1B показан ряд компонентов, инструментов и схем, которые можно использовать в контексте инфраструктуры 107 связи и которые способны обеспечивать избирательный, безопасный и измеримый доступ к ресурсам в настройке брандмауэра.The developer of the protocol processor plug-in can also access these tools in
Реализации настоящего изобретения также можно описать применительно к способам, содержащим один или несколько этапов для достижения конкретного результата. Например, на фиг.2 показана блок-схема этапов способов со стороны клиента 100 и шлюзового сервера 150 для создания подключения (например, канала) к конкретному ресурсу через брандмауэр. Этапы, показанные на фиг.2, описаны ниже со ссылками на фиг.1A-1B.Implementations of the present invention can also be described in relation to methods comprising one or more steps to achieve a specific result. For example, FIG. 2 shows a flow diagram of the steps of a client 100 and a gateway server 150 to create a connection (eg, a channel) to a specific resource through a firewall. The steps shown in FIG. 2 are described below with reference to FIGS. 1A-1B.
В частности, на фиг.2 показано, что способ со стороны клиента 100 содержит этап 200, на котором посылают запрос подключения на шлюзовой сервер. Этап 200 включает в себя этап, на котором посылают запрос соединения на шлюзовой сервер, в котором запрос идентифицирует серверный ресурс для соединения с соответствующим клиентским ресурсом. Например, клиент 100 конкретизирует стек 103 связи плагином 115а протокольного процессора для доступа к ресурсу 120b. Затем клиент 100 подготавливает и отправляет сообщение 130, которое включает в себя информацию аутентификации, а также запрос доступа к ресурсу 120b, и отправляет сообщение 130 на шлюзовой сервер 150.In particular, FIG. 2 shows that the method on the client 100 includes a
Кроме того, на фиг.2 показано, что способ со стороны шлюзового сервера 150 содержит этап 210, на котором принимают клиентский запрос ресурса. Этап 210 включает в себя этап, на котором принимают клиентский запрос на клиентское соединение, в котором клиентский запрос идентифицирует ресурс, к которому клиент хотел бы подключиться. Например, шлюзовой сервер 150 принимает сообщение 130. Затем шлюзовой сервер 150 декодирует сообщение 130 на уровне HTTPS 105b, распаковывает упаковку любого другого протокола на транспортном уровне с возможностью встраивания 110b и оценивает любую содержащуюся в нем информацию аутентификации. Если информация аутентификации неверна, например, конфликтует с политикой доступа к сети, шлюзовой сервер 150 может просто отменить соединение. Альтернативно, если информация аутентификации верна, например, удовлетворяет минимальному стандарту (например, надлежащему имени пользователя и паролю) подключения через брандмауэр, шлюзовой сервер 150 может подвергнуть соединение карантину, пока определенный набор особенностей - также в соответствии с политикой доступа к сети или ресурсам - не будет идентифицирован из клиента 100.In addition, figure 2 shows that the method from the gateway server 150 includes a
Таким образом, например, на фиг.2 также показано, что способ со стороны шлюзового сервера 150 содержит этап 220, на котором подвергают соединение карантину. Этап 220 включает в себя этап, на котором подвергают карантину соединение с клиентом для определения, установлен ли на клиенте минимальный набор из одной или нескольких особенностей. Например, на фиг.1A показано, что, приняв сообщение 130, инфраструктура 107 связи отправляет одно или несколько ответных сообщений 140. Вместо того, чтобы с необходимостью устанавливать соединения в этот момент, ответное сообщение 140 запрашивает дополнительную информацию для идентификации поддерживаемых особенностей на клиенте 100, например, версии плагина 115а протокольного процессора, особенностей соединения, которые клиент 100 и сервер 150 взаимно поддерживают, или любых других компонентов 120a ресурса (или соответствующих особенностей, обновлений особенности и т.д.), которые, в конце концов, можно использовать при соединении.Thus, for example, in FIG. 2, it is also shown that the method from the gateway server 150 includes a
Соответственно, на фиг.2 показано, что способ со стороны клиента 100 содержит этап 230, на котором принимают запрос для минимального набора особенностей. Этап 230 включает в себя этап, на котором принимают от шлюзового сервера запрос на минимальный набор из одной или нескольких особенностей, поддерживаемых клиентом для ресурса. Например, клиент 100 принимает сообщение 140 на стеке 103 связи и обрабатывает сообщение 140 на плагине 115а протокольного процессора, например, путем выполнения любых скриптов или проверки любой информации системного реестра на предмет запрашиваемых особенностей, включая любые другие ресурсы или ресурсные особенности, запрашиваемые сервером 150. В частности, плагин 115а протокольного процессора идентифицирует свою собственную информацию особенностей, или информацию особенностей для ресурса 120a, или информацию особенностей для другого программного компонента или ресурса (не показан) на клиенте 100.Accordingly, FIG. 2 shows that the method on the client side 100 includes a
Кроме того, на фиг.2 показано, что способ со стороны клиента 100 содержит этап 240, на котором посылают ответ особенностей на шлюзовой сервер. Этап 240 включает в себя этап, на котором посылают ответ поддерживаемых особенностей на шлюзовой сервер, причем ответ поддерживаемых особенностей указывает особенности, поддерживаемые клиентом. Например, на фиг.1B показано, что клиент 100 отправляет ответное сообщение 145, которое указывает набор из одной или нескольких особенностей, которые поддерживаются клиентом 100, например присутствие запрашиваемой версии программного обеспечения.In addition, FIG. 2 shows that the method on the client side 100 comprises
На фиг.2 также показано, что способ со стороны шлюзового сервера 150 содержит этап 250, на котором идентифицируют соответствующий плагин протокольного процессора. Этап 250 включает в себя этап, на котором идентифицируют плагин протокольного процессора на основании типа ресурса для идентифицированного ресурса. Например, сквозной API 160 идентифицирует, что плагин 115b протокольного процессора является плагином "типа A", и является тем же типом, который выявлен для протокольного процесса 115a на клиенте 100, и связан с запрашиваемым ресурсом 120b на шлюзовом сервере 150.Figure 2 also shows that the method from the gateway server 150 includes a
На фиг.2 дополнительно показано, что способ со стороны шлюзового сервера 150 содержит этап 260, на котором перенаправляют подключение на плагин протокольного процессора. Этап 260 включает в себя этап, на котором перенаправляют соединение с клиентом на идентифицированный плагин протокольного процессора. Например, согласно фиг.1B, после того, как сквозной API 160 идентифицирует, что плагин 115b протокольного процессора пригоден и что информация, предоставленная клиентом 100, соответствует конкретной политике доступа к ресурсам, сквозной API 160 передает управление запрашиваемым подключением плагину 115b протокольного процессора. В общем случае этот процесс может предусматривать установление туннеля - и одного или нескольких каналов в туннеле - между протокольным процессором 115a на клиенте 100 и плагином протокольного процессора 115b на шлюзовом сервере 150. Затем плагин 115а протокольного процессора на клиенте 100 и плагин 115b протокольного процессора на шлюзовом сервере могут напрямую осуществлять связь на уровне приложений сетевых стеков 103 и 113 через этот туннель и соответствующие один или несколько каналов.Figure 2 further shows that the method on the part of the gateway server 150 comprises a
Таким образом, на фиг.2 также показано, что способ со стороны клиента 100 содержит этап 270, на котором подключаются к плагину протокольного процессора на шлюзовом сервере. Этап 270 включает в себя этап, на котором подключаются к уровню приложений стека связи на шлюзовом сервере, в результате чего клиентский ресурс передает данные посредством плагина протокольного процессора, связанного с серверным ресурсом. Например, теперь, когда плагины 115а-b протокольного процессора сообщаются непосредственно через брандмауэр и поскольку соединение передается в соответствии с сетевой политикой, только клиент 100 получает через брандмауэр доступ, достаточный для связи с ресурсом 120b. Таким образом, клиент 100 не имеет свободного доступа ко всем ресурсам позади брандмауэра. Тем не менее, как описано выше, клиент 100 может иметь возможность инициировать дополнительные каналы или соединения с одним и тем же ресурсом, с разными экземплярами ресурса или с другими ресурсами, которые клиенту 100 разрешено идентифицировать через инфраструктуру 107 связи.Thus, FIG. 2 also shows that the method on the client side 100 includes a
Соответственно, вышеописанные способы и схемы обеспечивают ряд подходов, согласно которым инфраструктура 107 связи может обеспечивать доступ к конкретным ресурсам с использованием различных плагинов, разработанных разработчиками. В частности, инфраструктура 107 связи обеспечивает ряд политик доступа (к сети и ресурсу), инструментов и компонентов, которые можно использовать для упрощения разработки и реализации плагина протокольного процессора. Например, разработчик может избежать независимой разработки скриптов плагина протокольного процессора для реализации конкретного ресурса политики доступа, или для реализации конкретных диагностических инструментов, поскольку эти инструменты уже включены в инфраструктуру 107 связи. Напротив, разработчику нужно разработать только плагин протокольного процессора для использования на клиенте и сервере, если разработчик предусматривает, что любой данный ресурс должен быть доступен через брандмауэр.Accordingly, the above methods and schemes provide a number of approaches, according to which the
Аналогично, администратор сети может во многих случаях избежать необходимости независимо прописывать политики доступа для новых сетевых соединений, поскольку такие политики доступа уже можно найти в инфраструктуре связи и, таким образом, легко конфигурировать или активировать/деактивировать. Таким образом, раскрытые здесь особенности могут в некоторой степени упрощать работу разработчиков и администраторов сети и перекладывать бремя управления на устойчивую инфраструктуру связи.Similarly, the network administrator can in many cases avoid the need to independently prescribe access policies for new network connections, since such access policies can already be found in the communication infrastructure and, thus, it is easy to configure or activate / deactivate. Thus, the features disclosed here may, to some extent, simplify the work of developers and network administrators and shift the burden of management to a sustainable communications infrastructure.
Варианты осуществления настоящего изобретения могут содержать компьютер специального назначения или общего назначения, включающий в себя различное компьютерное оборудование, которое более подробно рассмотрено ниже. В частности, варианты осуществления в рамках настоящего изобретения также включают в себя компьютерно-считываемые носители для переноса или хранения компьютерно-выполняемых команд или структур данных. Такие компьютерно-считываемые носители могут представлять собой любые доступные носители, к которым может осуществлять доступ компьютер общего назначения или специального назначения. В порядке примера, но не ограничения, такие компьютерно-считываемые носители могут содержать ОЗУ, ПЗУ, ЭСППЗУ, CD-ROM или другой носитель в виде оптического диска, носитель в виде магнитного диска или другие магнитные запоминающие устройства, или любой другой носитель, который можно использовать для переноса или хранения нужного средства программного кода в форме компьютерно-выполняемых команд или структур данных, и к которому может осуществлять доступ компьютер общего назначения или специального назначения.Embodiments of the present invention may comprise a special purpose or general purpose computer including various computer equipment, which is discussed in more detail below. In particular, embodiments within the scope of the present invention also include computer-readable media for transferring or storing computer-executable instructions or data structures. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer. By way of example, but not limitation, such computer-readable media may include RAM, ROM, EEPROM, CD-ROM, or other media in the form of an optical disk, media in the form of a magnetic disk or other magnetic storage devices, or any other medium that can be use for transferring or storing the necessary means of program code in the form of computer-executable instructions or data structures, and to which a general purpose or special purpose computer can access.
Когда информация переносится или доставляется посредством сети или другого коммуникационного соединения (проводного, беспроводного или комбинированного) на компьютер, компьютер рассматривает соединение как компьютерно-считываемый носитель. Таким образом, любое подобное соединение можно называть компьютерно-считываемым носителем. Комбинации вышеперечисленных примеров также можно включить в понятие компьютерно-считываемых носителей.When information is transferred or delivered via a network or other communication connection (wired, wireless or combined) to a computer, the computer considers the connection as a computer-readable medium. Thus, any such connection can be called a computer-readable medium. Combinations of the above examples can also be included in the concept of computer-readable media.
Компьютерно-выполняемые команды содержат, например, команды и данные, которые предписывают компьютеру общего назначения, компьютеру специального назначения или устройству обработки специального назначения осуществлять определенную функцию или группу функций. Хотя изобретение было описано применительно к особенностям конструкции и/или этапам способа, следует понимать, что изобретение, заданное в прилагаемой формуле изобретения, не обязано ограничиваться вышеописанными конкретными особенностями или этапами. Напротив, вышеописанные конкретные особенности и этапы раскрыты в иллюстративных формах реализации формулы изобретения.Computer-executable instructions comprise, for example, instructions and data that direct a general-purpose computer, special-purpose computer, or special-purpose processing device to perform a particular function or group of functions. Although the invention has been described with reference to design features and / or method steps, it should be understood that the invention defined in the appended claims is not required to be limited to the specific features or steps described above. On the contrary, the above specific features and steps are disclosed in illustrative embodiments of the claims.
Настоящее изобретение можно реализовать в других конкретных формах, не выходя за рамки его сущности или отличительных особенностей. Описанные варианты осуществления следует рассматривать во всех отношениях исключительно как иллюстративные, но не ограничительные. Объем изобретения определен, таким образом, в прилагаемой формуле изобретения, а не в вышеприведенном описании. Этот объем охватывает любые изменения, отвечающие смыслу и объему эквивалентности формулы изобретения.The present invention can be implemented in other specific forms without going beyond its essence or distinctive features. The described embodiments should be considered in all respects exclusively as illustrative, but not restrictive. The scope of the invention is thus defined in the appended claims, and not in the above description. This scope covers any changes that correspond to the meaning and scope of equivalence of the claims.
Claims (17)
принимают запрос на соединение от клиента, при этом запрос на соединение идентифицирует ресурс, к которому клиент хотел бы подключиться,
идентифицируют на основании ресурса, идентифицированного в запросе на соединение, одну или более политик доступа из инфраструктуры связи, установленной на шлюзе, причем упомянутые одна или более политик доступа являются общими для упомянутой инфраструктуры связи и не являются специально созданными для упомянутого ресурса,
подвергают карантину соединение с клиентом для определения, установлен ли на клиенте минимальный набор из одной или нескольких особенностей, которые определены в упомянутой одной или более политиках,
идентифицируют плагин протокольного процессора на основании типа ресурса для идентифицированного ресурса, причем идентифицированный плагин протокольного процессора обрабатывает соединения ко множеству ресурсов, которые имеют одинаковый тип ресурса, и перенаправляют соединение с клиентом на идентифицированный плагин протокольного процессора посредством предоставления управления каналом туннеля соединения плагину протокольного процессора на упомянутом сервере так, что последующие коммуникации между клиентом и ресурсом через упомянутый канал обрабатываются посредством упомянутого плагина протокольного процессора независимо от инфраструктуры связи.1. A method for creating a client computer connection through a gateway server firewall in a computerized environment in which a client computer system accesses a resource on the gateway server through said firewall, the gateway server providing application level connections through a firewall, the method comprising the steps of
receive a connection request from the client, while the connection request identifies the resource to which the client would like to connect,
identifying, on the basis of the resource identified in the connection request, one or more access policies from a communication infrastructure installed on the gateway, said one or more access policies being common to said communication infrastructure and not specially created for said resource,
quarantine the connection with the client to determine whether the client has a minimum set of one or more features that are defined in the mentioned one or more policies,
the protocol processor plug-in is identified based on the type of resource for the identified resource, wherein the identified protocol processor plug-in processes connections to a plurality of resources that have the same resource type and redirects the client connection to the identified protocol processor plug-in by providing control of the tunnel channel of the connection to the protocol processor plug-in server so that subsequent communication between the client and the resource through the pack -mentioned channel is processed by a protocol processor independently of the communication infrastructure of said plug.
принимают запрос на соединение от клиента, причем запрос на соединение идентифицирует ресурс, к которому клиент хотел бы подключиться,
идентифицируют на основании ресурса, идентифицированного в запросе на соединение, одну или более политик доступа из инфраструктуры связи, установленной на шлюзе, причем упомянутые одна или более политик доступа являются общими для упомянутой инфраструктуры связи и не являются специально созданными для упомянутого ресурса,
подвергают карантину соединение с клиентом для определения, установлен ли на клиенте минимальный набор из одной или нескольких особенностей, которые определены в упомянутой одной или более политиках,
идентифицируют плагин протокольного процессора на основании типа ресурса для идентифицированного ресурса, причем идентифицированный плагин протокольного процессора обрабатывает соединения ко множеству ресурсов, которые имеют одинаковый тип ресурса, и
перенаправляют соединение с клиентом на идентифицированный плагин протокольного процессора посредством предоставления управления каналом туннеля соединения плагину протокольного процессора на упомянутом сервере так, что последующие коммуникации между клиентом и ресурсом через упомянутый канал обрабатываются посредством упомянутого плагина протокольного процессора независимо от инфраструктуры связи.13. A computer-readable medium on which computer-executable instructions are stored which, when executed, require one or more processes on the gateway server in a computerized environment in which the client computer system accesses the resource on the gateway server through a firewall, the gateway server having at least the call level of remote procedures and the level of the secure protocol for transferring hypertext files in the communication infrastructure, implement a method comprising the steps of
receive a connection request from the client, and the connection request identifies the resource to which the client would like to connect,
identifying, on the basis of the resource identified in the connection request, one or more access policies from a communication infrastructure installed on the gateway, said one or more access policies being common to said communication infrastructure and not specially created for said resource,
quarantine the connection with the client to determine whether the client has a minimum set of one or more features that are defined in the mentioned one or more policies,
a protocol processor plug-in is identified based on the type of resource for the identified resource, wherein the identified protocol processor plug-in processes connections to a plurality of resources that have the same type of resource, and
redirect the connection with the client to the identified protocol processor plug-in by providing control of the connection tunnel channel to the protocol processor plug-in on said server so that subsequent communications between the client and the resource through said channel are processed by said protocol processor plug-in regardless of the communication infrastructure.
стек связи для взаимодействия между физической границей сети, к которой шлюзовой сервер подсоединен, и программными компонентами на шлюзовом сервере, при этом стек связи включает в себя уровень защищенного протокола передачи гипертекстовых файлов (HTTPS) и
уровень вызова удаленных процедур, и
интерфейс прикладного программирования, имеющий уровни на вершине уровня HTTPS, который обеспечивает функциональные возможности для установления соединений между клиентами, осуществляющими запросы через брандмауэр для соединения с ресурсом на шлюзовом сервере, идентификации подходящего плагина протокольного процессора для управления соединением с упомянутым ресурсом, и гарантирования, что подходящие сетевые политики применены к этому соединению, причем сетевые политики содержатся в инфраструктуре связи отдельно от плагина протокольного процессора, который управляет соединениями с одним или более ресурсами на шлюзовом сервере, и при этом подходящая политика выбирается на основании ресурса, к которому клиент запрашивает соединение, причем после установления соединения с клиентом инфраструктура связи перенаправляет соединение к выбранному плагину протокольного процессора так, что последующие коммуникации между клиентом и ресурсом обрабатываются посредством упомянутого плагина протокольного процессора независимо от инфраструктуры связи.14. A communications infrastructure that is installed on a gateway server in a computerized environment in which a client computer system accesses a resource on a gateway server through a firewall, the gateway server having at least a remote procedure call level and a secure hypertext file transfer protocol layer in the communication infrastructure , while the communications infrastructure contains:
communication stack for interaction between the physical boundary of the network to which the gateway server is connected and software components on the gateway server, while the communication stack includes a layer of a secure protocol for transferring hypertext files (HTTPS) and
remote procedure call level, and
an application programming interface having layers at the top of the HTTPS layer that provides functionality for establishing connections between clients making requests through a firewall to connect to a resource on the gateway server, identifying a suitable protocol processor plug-in to control the connection to the said resource, and ensuring that suitable network policies are applied to this connection, and network policies are contained in the communication infrastructure separately from the protocol plug-in a processor that manages connections to one or more resources on the gateway server, and the appropriate policy is selected based on the resource to which the client requests a connection, and after establishing a connection with the client, the communication infrastructure redirects the connection to the selected protocol processor plug-in so that subsequent communications between the client and the resource are processed by the mentioned protocol processor plug-in regardless of the communication infrastructure.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US71629705P | 2005-09-12 | 2005-09-12 | |
US60/716,297 | 2005-09-12 | ||
US11/326,992 US7685633B2 (en) | 2005-02-25 | 2006-01-05 | Providing consistent application aware firewall traversal |
US11/326,992 | 2006-01-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2008109223A RU2008109223A (en) | 2009-10-10 |
RU2422886C2 true RU2422886C2 (en) | 2011-06-27 |
Family
ID=39662714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2008109223/08A RU2422886C2 (en) | 2005-09-12 | 2006-08-15 | Providing coordinated passage of firewall having application information |
Country Status (6)
Country | Link |
---|---|
JP (1) | JP4972646B2 (en) |
KR (1) | KR20080045195A (en) |
CN (1) | CN101263466B (en) |
BR (1) | BRPI0615752A2 (en) |
NO (1) | NO20081455L (en) |
RU (1) | RU2422886C2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2639670C2 (en) * | 2012-08-24 | 2017-12-21 | Тектроникс, Инк. | Technology of removing and replacing virtual model adapter for cascade networks |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103561002B (en) * | 2013-10-22 | 2017-02-15 | 北京神州泰岳软件股份有限公司 | Safety access method and system based on fire wall policy |
CN104954462A (en) * | 2015-06-12 | 2015-09-30 | 福建新大陆通信科技股份有限公司 | High-concurrency extensible smart home communication method and high-concurrency extensible smart home communication system |
CN110365699B (en) * | 2019-07-29 | 2021-11-26 | 北京奇艺世纪科技有限公司 | Traffic processing method, device and system and gateway equipment |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1075695C (en) * | 1996-09-02 | 2001-11-28 | 北京天融信网络安全技术有限公司 | Fireproof wall system |
US6101549A (en) * | 1996-09-27 | 2000-08-08 | Intel Corporation | Proxy-based reservation of network resources |
US6763395B1 (en) * | 1997-11-14 | 2004-07-13 | National Instruments Corporation | System and method for connecting to and viewing live data using a standard user agent |
US7137144B1 (en) * | 2000-02-11 | 2006-11-14 | International Business Machines Corporation | Technique of defending against network connection flooding attacks |
US7631084B2 (en) * | 2001-11-02 | 2009-12-08 | Juniper Networks, Inc. | Method and system for providing secure access to private networks with client redirection |
US8135843B2 (en) * | 2002-03-22 | 2012-03-13 | Citrix Systems, Inc. | Methods and systems for providing access to an application |
JP2004220120A (en) * | 2003-01-09 | 2004-08-05 | Nippon Telegr & Teleph Corp <Ntt> | Network security system, access control method, authentication mechanism, firewall mechanism, authentication mechanism program, firewall mechanism program, and recording medium |
CN2643555Y (en) * | 2003-01-30 | 2004-09-22 | 刘燕南 | A safety secrecy intelligent information terminal |
US7559082B2 (en) * | 2003-06-25 | 2009-07-07 | Microsoft Corporation | Method of assisting an application to traverse a firewall |
JP2005063169A (en) * | 2003-08-13 | 2005-03-10 | Ricoh Co Ltd | Information processor, image processor, server device, method for session connection, session connection program, and recording medium |
JP4564739B2 (en) * | 2003-11-07 | 2010-10-20 | シャープ株式会社 | Server apparatus and communication system |
-
2006
- 2006-08-15 RU RU2008109223/08A patent/RU2422886C2/en active
- 2006-08-15 KR KR1020087006087A patent/KR20080045195A/en not_active Application Discontinuation
- 2006-08-15 CN CN2006800332119A patent/CN101263466B/en active Active
- 2006-08-15 BR BRPI0615752-1A patent/BRPI0615752A2/en not_active Application Discontinuation
- 2006-08-15 JP JP2008530063A patent/JP4972646B2/en active Active
-
2008
- 2008-03-25 NO NO20081455A patent/NO20081455L/en not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2639670C2 (en) * | 2012-08-24 | 2017-12-21 | Тектроникс, Инк. | Technology of removing and replacing virtual model adapter for cascade networks |
Also Published As
Publication number | Publication date |
---|---|
KR20080045195A (en) | 2008-05-22 |
JP2009508213A (en) | 2009-02-26 |
NO20081455L (en) | 2008-04-11 |
CN101263466A (en) | 2008-09-10 |
BRPI0615752A2 (en) | 2011-05-24 |
CN101263466B (en) | 2011-02-09 |
JP4972646B2 (en) | 2012-07-11 |
RU2008109223A (en) | 2009-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7685633B2 (en) | Providing consistent application aware firewall traversal | |
US20210014220A1 (en) | Trusted container | |
US10083290B2 (en) | Hardware-based device authentication | |
US9258308B1 (en) | Point to multi-point connections | |
US8327441B2 (en) | System and method for application attestation | |
US8938799B2 (en) | Security protection apparatus and method for endpoint computing systems | |
RU2439692C2 (en) | Policy-controlled delegation of account data for single registration in network and secured access to network resources | |
US8166534B2 (en) | Incorporating network connection security levels into firewall rules | |
US20150188779A1 (en) | Split-application infrastructure | |
US20050015340A1 (en) | Method and apparatus for supporting service enablers via service request handholding | |
WO2022022253A1 (en) | Service authentication method, apparatus, device and system, and storage medium | |
US11362827B2 (en) | IOT security mechanisms for industrial applications | |
RU2422886C2 (en) | Providing coordinated passage of firewall having application information | |
US11463429B2 (en) | Network controls for application access secured by transport layer security (TLS) using single sign on (SSO) flow | |
CN111628960B (en) | Method and apparatus for connecting to network services on a private network | |
WO2012163587A1 (en) | Distributed access control across the network firewalls | |
Bente et al. | Interoperable Remote Attestation for VPN Environments: (Work in Progress) | |
Bishop et al. | Windows Firewall with Advanced Security Design Guide and Deployment Guide |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PC41 | Official registration of the transfer of exclusive right |
Effective date: 20150526 |