RU2690752C1 - Method, apparatus, computer-readable information media and a system for building connections between a client and a destination device or terminal - Google Patents
Method, apparatus, computer-readable information media and a system for building connections between a client and a destination device or terminal Download PDFInfo
- Publication number
- RU2690752C1 RU2690752C1 RU2018112457A RU2018112457A RU2690752C1 RU 2690752 C1 RU2690752 C1 RU 2690752C1 RU 2018112457 A RU2018112457 A RU 2018112457A RU 2018112457 A RU2018112457 A RU 2018112457A RU 2690752 C1 RU2690752 C1 RU 2690752C1
- Authority
- RU
- Russia
- Prior art keywords
- terminal
- certificate
- client
- service component
- host name
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 16
- 230000004044 response Effects 0.000 claims abstract description 15
- 239000000284 extract Substances 0.000 claims description 4
- 238000000638 solvent extraction Methods 0.000 claims 1
- 230000008520 organization Effects 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 abstract description 2
- 239000000126 substance Substances 0.000 abstract 1
- 238000000926 separation method Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2514—Translation of Internet protocol [IP] addresses between local and global IP addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/30—Types of network names
- H04L2101/33—Types of network names containing protocol addresses or telephone numbers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
ОБЛАСТЬ ТЕХНИКИTECHNICAL FIELD
Данная заявка на получение патента относится к способу, устройству, носителям информации, считываемым с помощью компьютера и системе для построения соединений между клиентом и устройством-адресатом или терминалом, таким как веб-сервер.This patent application relates to a method, device, storage media read by computer and a system for building connections between a client and a destination device or terminal, such as a web server.
УРОВЕНЬ ТЕХНИКИBACKGROUND
Для шифрования запросов на соединение, особенно по протоколу HTTP, преобладают протоколы SSL или TLS. SSL-сертификаты выдаются независимыми сертифицирующими организациями администраторам веб-сайтов. Для запросов на соединение может использоваться сертификат для проверки подлинности веб-сайта.To encrypt connection requests, especially over HTTP, SSL or TLS protocols prevail. SSL certificates are issued by independent certifying organizations to website administrators. For connection requests, a certificate can be used to authenticate the website.
На веб-серверы, расположенные в локальной сети, нет другого доступа, кроме как из локальной сети. Общепринятые технологии, например, виртуальные частные сети VPN, делают такого рода соединения возможными, но имеют сложную конфигурацию. В частности, необходимо задавать конфигурацию VPN снова, если расположение веб-серверов в локальной сети изменяется. Конфигурация задается системным администратором, как правило, вручную. Шифрование, например, с помощью сертификатов, для таких веб-серверов обычно не выполняется.Web servers located on the local network have no other access than from the local network. Conventional technologies, such as virtual private VPNs, make this type of connection possible, but have a complex configuration. In particular, it is necessary to set the VPN configuration again if the location of the web servers on the local network changes. The configuration is set by the system administrator, usually manually. Encryption, for example, with certificates, is usually not performed for such web servers.
СУЩНОСТЬ ИЗРОБРЕТЕНИЯESSENCE OF INVENTION
В основе раскрытого здесь изобретения лежит задача обеспечить безопасный доступ к локальным терминалам, по возможности не требующий технического обслуживания.The basis of the invention disclosed herein lies in the task of providing secure access to local terminals, where possible without maintenance.
Первый вариант осуществления относится к системе, содержащей клиент, сервер, один или несколько сервисных компонентов и один или несколько терминалов, связанных с помощью одного или нескольких сервисных компонентов, при этом сервер для каждого терминала предоставляет имя хоста, который назначается данному терминалу и соответствующим компонентам, причем сервер выполнен с возможностью в качестве ответа на запрос на соединение клиента к хосту с указанным именем направлять запрос на соединение к этому одному или нескольким сервисным компонентам, которые привязаны хосту, и при этом каждый сервисный компонент выполнен с возможностью в качестве ответа на запрос на соединение проверять, имеет ли терминал, с которым связано имя хоста, сертификат, причем сервисный компонент запрашивает от внешней сертифицирующей организации сертификат, если сертификата нет, а на основании сертификата через сервер устанавливает соединение с клиентом и направляет дальше пакет данных между клиентом и терминалом.The first embodiment relates to a system comprising a client, a server, one or more service components and one or more terminals connected with one or more service components, wherein the server for each terminal provides the host name that is assigned to that terminal and the corresponding components, the server is configured to send a request for connection to this one or several service computers as a response to a request to connect a client to a host with the specified name Onentam, which are tied to the host, and each service component is configured to, as an answer to a connection request, check whether the terminal with which the host name is associated has a certificate, and the service component requests a certificate from an external certifying organization if there is no certificate, and based on the certificate through the server, establishes a connection with the client and sends further a data packet between the client and the terminal.
В частности, сервер в дальнейшем может быть выполнен с возможностью извлекать из имени хоста первую символьную строку и определять адрес соответствующего терминала по первой символьной строке.In particular, the server can later be performed with the ability to extract the first character string from the host name and determine the address of the corresponding terminal by the first character string.
В частности, система может включать в себя сервисный компонент, который с возможностью извлекать из имени хоста вторую символьную строку и определять адрес соответствующего терминала по второй символьной строке.In particular, the system may include a service component, which with the ability to extract the second character string from the host name and determine the address of the corresponding terminal by the second character string.
Согласно еще одному варианту осуществления определение адреса осуществляется путем поиска соответствующей символьной строки в таблице.According to another embodiment, the determination of the address is performed by searching for the corresponding character string in the table.
В качестве альтернативы или дополнительно определение адреса может осуществляться на основе разделения имени хоста.Alternatively or additionally, the determination of the address may be based on the separation of the host name.
Следующие варианты осуществления относятся к сервисному компоненту, который выполнен с возможностью проверки в качестве ответа на запрос на соединение клиента к хосту с указанным именем проверять, имеется ли сертификат для терминала, которому назначен хост, при этом сервисный компонент запрашивает сертификат от внешней сертифицирующей организации, если сертификата нет, а на основе сертификата устанавливает через сервер соединение с клиентом и направляет дальше пакет данных между клиентом и терминалом.The following embodiments relate to a service component that is configured to check, as a response to a client connection request to a host with the specified name, to check whether there is a certificate for the terminal to which the host is assigned, while the service component requests a certificate from an external certification authority if There is no certificate, but based on the certificate, it establishes a connection with the client through the server and further sends the data packet between the client and the terminal.
В частности, сервисный компонент в дальнейшем может быть выполнен с возможностью извлекать из имени хоста первую символьную строку и определять адрес соответствующего терминала по первой символьной строке.In particular, the service component can later be performed with the ability to extract the first character string from the host name and determine the address of the corresponding terminal by the first character string.
Согласно варианту осуществления, имеющему особое предпочтение, определение адреса может быть выполнено путем поиска символьной строки в таблице.According to an embodiment having particular preference, the determination of the address can be performed by searching for a character string in the table.
В качестве альтернативы или дополнительно определение адреса может осуществляться на основе разделения имени хоста.Alternatively or additionally, the determination of the address may be based on the separation of the host name.
Следующие варианты осуществления касаются способа, включая предоставление сервером имени хоста каждому из некоторого количества терминалов, при этом имя хоста присваивается соответствующему терминалу и сервисному компоненту, с которым связан соответствующий терминал; в качестве ответа на запрос на соединение клиента с хостом, при этом сервер выполняет переадресацию запрос на соединение на один или несколько сервисных компонентов, которым присвоено имя хоста; а в качестве ответа на запрос на соединение сервисный компонент выполняет проверку, имеется ли сертификат для терминала, которому присвоено имя хоста и запрос сертификата от внешней сертифицирующей организации, если сертификат отсутствует, а также установление соединения с клиентом и пересылку пакетов данных между клиентом и терминалом.The following embodiments relate to a method, including providing the server with a host name for each of a number of terminals, wherein the host name is assigned to the corresponding terminal and the service component to which the corresponding terminal is associated; as a response to a request to connect the client to the host, while the server redirects the connection request to one or more service components that are given the host name; and as a response to the connection request, the service component checks whether there is a certificate for the terminal that has been assigned a host name and a certificate request from an external certification authority, if there is no certificate, as well as establishing a connection with the client and forwarding data packets between the client and the terminal.
В частности, способ может включать в себя действие, когда сервер извлекает из имени хоста первую символьную строку и определяет адрес соответствующего сервисного компонента по первой строке символов.In particular, the method may include an action when the server retrieves the first character string from the host name and determines the address of the corresponding service component by the first character string.
Сервисный компонент предпочтительно извлекает из имени хоста вторую символьную строку и определяет по второй символьной строке адрес соответствующего терминала.The service component preferably extracts the second character string from the host name and determines from the second character string the address of the corresponding terminal.
Например, определение адреса осуществляется путем поиска соответствующей символьной строки в таблице.For example, the address is determined by searching for the corresponding character string in the table.
В качестве альтернативы или дополнительно определение адреса может осуществляться на основе разделения имени хоста.Alternatively or additionally, the determination of the address may be based on the separation of the host name.
Следующие варианты осуществления относятся к носителям информации, считываемых компьютером с помощью команд, которые выполняются способом в соответствии с данным изобретением, согласно приведенным выше пояснениям, если они выполняются одним или несколькими процессорами.The following embodiments relate to computer-readable media using instructions that are executed by the method in accordance with the invention, as explained above, if they are executed by one or more processors.
Изобретательский уровень достигается путем пересылки запроса на соединение с локальным терминалом на основании идентификации, а также благодаря запросу сертификата только для тех терминалов, для которых был получен запрос на соединение.The inventive step is achieved by sending a connection request to a local terminal based on identification, and also by requesting a certificate only for those terminals for which a connection request was received.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS
На Фиг. 1 показана система в соответствии с вариантами осуществления изобретения.FIG. 1 shows a system in accordance with embodiments of the invention.
На Фиг. 2 показан способ в соответствии с вариантами осуществления изобретения.FIG. 2 shows a method in accordance with embodiments of the invention.
ПОДРОБНОЕ ОПИСАНИЕDETAILED DESCRIPTION
Согласно первому варианту осуществления изобретения, клиент направляет запрос на соединение к имени хоста, которое предоставлено сервером. Имена хостов - это служба доменных имен, имена DNS, которые могут присваиваться DNS-серверами IP-адресу и перенаправляют к своему устройству-адресату с помощью маршрутизации. Имя хоста назначается терминалу, который прямо или косвенно связан с сервером и не обязательно имеет собственный глобальный IP-адрес. Запрос на соединение может быть инициирован, например, путем взаимодействия пользователя с веб-браузером и выполняться в виде HTTP-запроса. В качестве альтернативы запрос на соединение может быть выполнен с использованием другого протокола, такого как FTP, SSH или другой протокол, подходящий для адресации имен хостов.According to the first embodiment of the invention, the client sends a connection request to the host name provided by the server. Host names are the domain name service, DNS names that can be assigned by DNS servers to an IP address and redirected to their destination device using routing. The host name is assigned to a terminal that is directly or indirectly connected to the server and does not necessarily have its own global IP address. A connection request can be initiated, for example, by interacting with a web browser and executed as an HTTP request. Alternatively, a connection request may be made using another protocol, such as FTP, SSH, or another protocol suitable for addressing host names.
Сервер подключен, по меньшей мере, к одному компоненту службы. Каждый сервисный компонент имеет один или несколько подключенных к нему терминалов. Сервисные компоненты могут быть частью сервера или могут быть отдельными блоками и могут быть схемой.The server is connected to at least one service component. Each service component has one or more terminals connected to it. Service components can be part of a server or can be separate units and can be a schema.
Сервер подключен, по меньшей мере, к одному сервисному компоненту. Каждый сервисный компонент имеет один или несколько подключенных к нему терминалов. Сервисные компоненты могут быть составной частью сервера или могут быть выполнены в виде отдельных блоков и могут быть выполнены в виде схемы или программного обеспечения. Терминалы могут быть выполнены как веб-серверы или серверы, которые работают в соответствии с протоколом запросов соединения клиента. Любое соединение между этими терминалами и сервисными компонентами, соответственно, с сервером, связанным с клиентом, происходит через сервисные компоненты. Например, компонент службы может быть настроен как прокси-сервер или межсетевой экран локальной сети, через который осуществляется обмен информацией между терминалами и внешними устройствами, такими как клиент.The server is connected to at least one service component. Each service component has one or more terminals connected to it. Service components can be an integral part of a server or can be made as separate units and can be made as a diagram or software. Terminals can be implemented as web servers or servers that operate in accordance with the client's connection request protocol. Any connection between these terminals and service components, respectively, with the server associated with the client, occurs through the service components. For example, a service component can be configured as a proxy server or a firewall of a local network through which information is exchanged between terminals and external devices, such as a client.
Сервер предоставляет соответствующее уникальное имя хоста для каждого из подключенных к нему терминалов через компонент обслуживания, который может использоваться клиентом. IP-протокол и делает возможным присвоение IP-адреса одному или даже нескольким именам хоста.The server provides the corresponding unique host name for each of the terminals connected to it through a service component that can be used by the client. IP protocol and makes it possible to assign an IP address to one or even several host names.
В соответствии с особым вариантом осуществления сервер получает все пакеты, которые направлены на назначенный ему IP-адрес или один или несколько имен DNS / хостов, назначенных ему. В первом варианте осуществления сервер извлекает из имени хоста первую символьную строку, чтобы определить локальный адрес терминала, например, IP-адрес, на который должен быть отправлен запрос на соединение. Предпочтительно для этой цели рассматривается начальная символьная строка имени хоста. Имена хостов обычно отделяются точками (.), при этом после последней точки строка представляет домен верхнего уровня (TLD), например «.de». Например, начальная символьная строка предшествует первой точке в имени узла и может быть извлечена, например, из регулярного выражения (regular expression). Для различения IP-адреса в имени хоста он может внутри имени хоста содержать другие разделяющие символы, помимо привычной точки.In accordance with a particular embodiment, the server receives all packets that are directed to its assigned IP address or one or more DNS names / hosts assigned to it. In the first embodiment, the server retrieves the first character string from the host name to determine the local address of the terminal, for example, the IP address to which the connection request should be sent. Preferably, an initial character string of the host name is considered for this purpose. Host names are usually separated by dots (.), With the line after the last point representing the top-level domain (TLD), for example “.de”. For example, the initial character string precedes the first point in the node name and can be extracted, for example, from a regular expression. To distinguish between an IP address in a host name, it can contain other separating characters inside the host name besides the usual point.
Примером такого имени хоста является 192-168-137-12.my-sda.net, где начальная символьная строка - 192-168-137-12. Согласно одному варианту осуществления сервисный компонент, который подключен к соответствующему терминалу, может быть определен сервером на основе этой начальной символьной строки. Для этого адрес или идентификатор сервисного компонента возможно получить в таблице сервера.An example of such a host name is 192-168-137-12.my-sda.net, where the initial character string is 192-168-137-12. According to one embodiment, the service component that is connected to the corresponding terminal may be determined by the server based on this initial character string. For this, the address or identifier of the service component can be obtained in the server table.
Сервер перенаправляет на сервисный компонент запрос на соединение на основании его адреса. Имя хоста перенаправляется дальше вместе с запросом на соединение.The server forwards the connection request to the service component based on its address. The hostname is redirected further along with the connection request.
Сервисный компонент после получения запроса на соединение определяет терминал, на который адресован запрос. Это осуществляется, например, путем замены разделяющих символов в начальной символьной строке точки так, чтобы образовался общепринятый IP-адрес.After receiving a connection request, the service component determines the terminal to which the request is addressed. This is accomplished, for example, by replacing the separating characters in the initial character string of a point so that a common IP address is formed.
Согласно одному варианту осуществления идентификатор сервисного компонента не просматривается исходной строкой, но включен в имя хоста, например, в заранее заданное поле. Соответствующее имя хоста может выглядеть примерно 192-168-137-12.isyyyyyyp8.my-sda.net, при этом идентификатором сервисного компонента является isyyyyyyp8. В этом варианте осуществления сервер извлекает второе поле разделенного точками имени хоста и, таким образом, определяет идентификатор сервисного компонента. После этого, запрос на соединение пересылается на определенный сервисный компонент. Сервисный компонент определяет из начальной символьной строки полный адрес терминала, то есть 192.168.137.12.According to one embodiment, the identifier of the service component is not viewed from the source string, but is included in the host name, for example, in a predefined field. The corresponding hostname might look like 192-168-137-12.isyyyyyyp8.my-sda.net, with the service component identifier being isyyyyyyp8. In this embodiment, the server retrieves the second field of the dotted host name and thus determines the identifier of the service component. After that, the connection request is sent to a specific service component. The service component determines from the initial character string the full address of the terminal, that is, 192.168.137.12.
Кроме того, сервисный компонент перепроверяет, наличие сертификата на имя хоста для терминала, куда должен пересылаться запрос на соединение. Тип сертификата определяется протоколом, на основе которого обрабатывается запрос на соединение. Например, для запроса на соединение согласно HTTPS требуется сертификат SSL или TLS. Подобные сертификаты также необходимы для протоколов VPN, FTPS и других протоколов. Определить, имеется ли сертификат, можно, например, путем поиска в локальной таблице данных, которая хранится в памяти сервисного компонента. В качестве альтернативы соответствующий запрос может отсылаться непосредственно внешней сертифицирующей организации. Если для терминала нет сертификата, то сервисный компонент запрашивает сертификат для данного терминала у внешней сертифицирующей организации. В некоторых вариантах осуществления для каждого терминала требуется отдельный сертификат. Альтернативно для нескольких терминалов может использоваться один сертификат, например, сертификат для всех терминалов, подключенных к данному сервисному компоненту.In addition, the service component rechecks the presence of a certificate on the host name for the terminal to which the connection request should be sent. The type of certificate is determined by the protocol based on which the connection request is processed. For example, a connection request for HTTPS requires an SSL or TLS certificate. Such certificates are also required for VPN, FTPS and other protocols. It is possible to determine whether a certificate is available, for example, by searching the local data table, which is stored in the memory of the service component. Alternatively, the corresponding request can be sent directly to an external certification authority. If there is no certificate for the terminal, then the service component requests a certificate for this terminal from an external certifying authority. In some embodiments, a separate certificate is required for each terminal. Alternatively, for several terminals one certificate can be used, for example, a certificate for all terminals connected to this service component.
После получения сертификата сервисный компонент возвращает запрос на соединение путем установления соединения с клиентом через сервер. Это соединение устанавливается в соответствии с обычной процедурой при использовании сертификата. Например, сертификат отправляется клиенту, чтобы он мог проверить подлинность сервера. С этого момента клиент может обмениваться пакетами данных с сервисным компонентом через сервер. В некоторых вариантах осуществления сертификат может использоваться, чтобы шифровать соединение.After receiving the certificate, the service component returns a connection request by establishing a connection with the client through the server. This connection is established in accordance with the usual procedure when using a certificate. For example, a certificate is sent to the client so that it can verify the authenticity of the server. From this point on, the client can exchange data packets with the service component through the server. In some embodiments, a certificate may be used to encrypt the connection.
Фиг. 1 показывает в качестве примера систему 100. Сервер 120 выполнен с возможностью получать запросы на соединение клиента но. После получения запроса на соединение сервер 120 в одном варианте осуществления извлекает адрес терминала из части имени хоста в запросе на соединение. Например, сервер определяет, как описано выше, локальный сетевой адрес терминала, путем извлечения строки из имени хоста. В одном варианте осуществления это - начальная символьная строка, содержащая адресные поля, разделенные разделяющими символами. В качестве альтернативы адрес терминала может находиться в другой символьной строке, стоящей в N-й позиции имени хоста или в N-м поле имени. В последнем примере определяется N-e поле при просмотре полей имени хоста, разделенных точками. Этим способом сервер 120 может определять сетевые адреса терминалов 151, 152, 153 или 154. Имя хоста необязательно содержит фактический адрес, а может содержать идентификатор, по которому сервер с помощью таблицы воспроизводит фактический адрес. Такого рода варианты осуществления выгодны тем, что они не выдают эти адреса наружу. Другое преимущество заключается в том, что внутреннее изменение адреса требует лишь обновления таблицы, чтобы использовать новый адрес под тем же именем хоста. Идентификатор или адрес сервисного компонента, к которому подключен терминал, могут быть определены путем поиска адреса терминала в таблице. В некоторых вариантах осуществления определяется также адрес или идентификатор сервисного компонента по имени хоста. Идентификатор сервисного компонента может быть получен в следующем поле имени хоста.FIG. 1 shows, by way of example, system 100. Server 120 is configured to receive client connection requests nos. After receiving a connection request, the server 120 in one embodiment retrieves the terminal address from a portion of the host name in the connection request. For example, the server determines, as described above, the local network address of the terminal by extracting a string from the host name. In one embodiment, this is the initial character string containing the address fields separated by separating characters. Alternatively, the terminal address may be in another character string, located in the Nth position of the host name or in the Nth name field. In the last example, the N-e field is defined when viewing host name fields separated by dots. In this way, server 120 may determine the network addresses of terminals 151, 152, 153, or 154. The host name does not necessarily contain the actual address, but may contain an identifier to which the server uses the table to reproduce the actual address. Such embodiments are advantageous in that they do not give these addresses out. Another advantage is that the internal address change only requires updating the table in order to use the new address with the same host name. The identifier or address of the service component to which the terminal is connected can be determined by searching for the terminal address in the table. In some embodiments, the address or identifier of the service component is also determined by the host name. The identifier of the service component can be obtained in the next field of the host name.
Сервер 120 отправляет запрос к сервисному компоненту 131 или 132, определенному ранее. Сервисный компонент 131 или 132 проверяет, есть ли сертификат для целевого адреса. Например, проверяется, имеется ли уже сертификат для текущей комбинации сервисного компонента и терминала. Кроме того, проверяется, существует ли сертификат для сервисного компонента.The server 120 sends a request to the service component 131 or 132 previously defined. Service Component 131 or 132 checks if there is a certificate for the target address. For example, it checks whether there is already a certificate for the current combination of the service component and the terminal. It also checks if a certificate exists for the service component.
Если сертификат отсутствует, то он запрашивается сервисным компонентом у внешней сертифицирующей организации (не показано). Если сертификат имеется, то сервисный компонент возвращает запрос на соединение путем установления соединения с клиентом но через сервер 120. Для этого сертификат сначала передается клиенту но, чтобы дать ему возможность установить подлинность сервера 120. Такая идентификация осуществляется, например, путем проверки сертификата посредством алгоритмов проверки или посредством информационного обмена между клиентом, но и внешней сертифицирующей организацией. С этого момента между клиентом и сервисным компонентом могут передаваться пакеты данных. Сервисный компонент отправляет входящие пакеты данных по определенным сервером адресам указанных терминалов. Там пакеты данных обрабатываются, и на них дается ответ, причем ответные пакеты терминалов направляются через соответствующий сервисный компонент и сервер 120 обратно к клиенту но.If there is no certificate, then it is requested by the service component from an external certification authority (not shown). If there is a certificate, the service component returns a connection request by establishing a connection with the client but through the server 120. For this, the certificate is first transmitted to the client but to enable it to establish the identity of the server 120. Such identification is performed, for example, by checking the certificate using verification algorithms or through information exchange between the client, but also an external certification organization. At this point, data packets may be transmitted between the client and the service component. The service component sends incoming data packets to the server-specified addresses of the specified terminals. There, the data packets are processed and answered, and the terminal response packets are sent through the corresponding service component and the server 120 back to the client but.
Показанные на фиг. 1 терминалы 141, 142, 143 и 144, а также сервисные компоненты 131 и 132 имеют исключительно символическое значение. Изобретение охватывает системы, в которых взаимосвязано произвольное количество сервисных компонентов и терминалов. В частности, изобретение также работает без терминалов. В этом случае сертифицированное соединение устанавливается лишь между сервисным компонентом 131 или 132 и клиентом но. Также, могут быть установлены соединения между другими клиентами в том виде, как между клиентом но и сервером 120. В вариантах осуществления без терминала, адрес, определенный из имени хоста, присваивается только сервисному компоненту, которому он должен быть переадресован.Shown in FIG. The 1 terminals 141, 142, 143, and 144, as well as the service components 131 and 132, are extremely symbolic. The invention encompasses systems in which an arbitrary number of service components and terminals are interconnected. In particular, the invention also works without terminals. In this case, the certified connection is established only between the service component 131 or 132 and the customer no. Also, connections can be established between other clients as between the client and the server 120. In embodiments without a terminal, the address determined from the host name is assigned only to the service component to which it should be forwarded.
На фиг. 2 показан примерный способ установления соединения между клиентом и терминалом.FIG. 2 illustrates an exemplary method for establishing a connection between a client and a terminal.
Во-первых, сервер, такой как сервер 120, осуществляется предоставление 210 имени хоста для каждого из некоторого количества терминалов.First, a server, such as server 120, provides a host name 210 for each of a number of terminals.
Сервер на этапе 220 получает запрос на соединение от клиента, например, от клиента но, который направляется на одно из предоставленных имен хостов. В качестве ответа на получение этого запроса на соединение сервер сначала определяет фактического адресата запроса на соединение. Для этого сервер найти первую часть имени хоста в таблице, чтобы получить локальные адреса для сервисного компонента и/или терминала. В качестве альтернативы сервер может извлечь эти адреса непосредственно из составной части имени хоста, например, для начальной символьной строки, путем разбора компонента на дополнительные символьные строки.The server at step 220 receives a connection request from the client, for example, from the client but that is sent to one of the provided host names. In response to receiving this connection request, the server first determines the actual recipient of the connection request. For this server to find the first part of the host name in the table to get the local addresses for the service component and / or terminal. Alternatively, the server can extract these addresses directly from the component part of the host name, for example, for the initial character string, by parsing the component into additional character strings.
На основе полученного адреса сервисного компонента на этапе 230 запрос на соединение перенаправляется на него. Затем, сервисный компонент проверяет на этапе 240, имеется ли сертификат для соответствующих адресатов, то есть либо для самого сервисного компонента, либо для вызванного по адресу терминала. Если это не так, то на этапе 250 запрашивается сертификат для адресата от внешней сертифицирующей организации.Based on the received address of the service component, at step 230, the connection request is redirected to it. Then, the service component checks at step 240 whether there is a certificate for the respective recipients, that is, either for the service component itself or for the terminal called at the address. If this is not the case, then at step 250 a certificate is requested for the addressee from the external certification authority.
Если сертификат в наличии, то сервисный компонент на этапе 260 начинает устанавливать соединение. Для этого сертификат сначала отправляется клиенту, чтобы он мог проверить подлинность сервера. Последующие пакеты данных, которые посылаются от клиента к одним и тем же адресатам, достигают сервисного компонента описанным выше способом и оттуда направляются к соответствующему терминалу. Терминал обрабатывает пакет данных и отправляет ответ на сервисный компонент. Ответ через сервер пересылается клиенту.If the certificate is available, then the service component starts a connection at step 260. To do this, the certificate is first sent to the client so that it can verify the authenticity of the server. Subsequent data packets that are sent from the client to the same recipients reach the service component in the manner described above and are sent from there to the appropriate terminal. The terminal processes the data packet and sends the response to the service component. The response is sent through the server to the client.
Таким образом, изобретение позволяет установить сертифицированные соединения «точка-точка» между внешним клиентом и терминалом, которому не присвоен собственный глобальный IP-адрес. Это особенно полезно для тех терминалов, которые являются частью локальной сети, чьи узлы не имеют глобальных IP-адресов. Изобретение минимизирует затраты на составление сертификатов, поскольку они запрашиваются только в случае необходимости. Если сертификат однажды присутствовал, его не нужно составлять второй раз в течение срока его действия.Thus, the invention allows to establish certified point-to-point connections between an external client and a terminal that is not assigned its own global IP address. This is especially useful for those terminals that are part of a local network whose nodes do not have global IP addresses. The invention minimizes the cost of drawing up certificates, as they are requested only when necessary. If a certificate is present once, it does not need to be compiled a second time during its validity period.
Claims (28)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| RU2018112457A RU2690752C1 (en) | 2018-04-06 | 2018-04-06 | Method, apparatus, computer-readable information media and a system for building connections between a client and a destination device or terminal |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| RU2018112457A RU2690752C1 (en) | 2018-04-06 | 2018-04-06 | Method, apparatus, computer-readable information media and a system for building connections between a client and a destination device or terminal |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| RU2690752C1 true RU2690752C1 (en) | 2019-06-05 |
Family
ID=67037412
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| RU2018112457A RU2690752C1 (en) | 2018-04-06 | 2018-04-06 | Method, apparatus, computer-readable information media and a system for building connections between a client and a destination device or terminal |
Country Status (1)
| Country | Link |
|---|---|
| RU (1) | RU2690752C1 (en) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2374778C2 (en) * | 2005-02-04 | 2009-11-27 | Квэлкомм Инкорпорейтед | Protected bootstrapping for wireless communication |
-
2018
- 2018-04-06 RU RU2018112457A patent/RU2690752C1/en active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2374778C2 (en) * | 2005-02-04 | 2009-11-27 | Квэлкомм Инкорпорейтед | Protected bootstrapping for wireless communication |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10666608B2 (en) | Transparent proxy authentication via DNS processing | |
| WO2016119747A1 (en) | System and method for communicating in an ssl vpn | |
| EP4022876B1 (en) | Preventing a network protocol over an encrypted channel, and applications thereof | |
| US10009271B2 (en) | Routing method and network transmission apparatus | |
| US9807050B2 (en) | Protocol addressing for client and destination identification across computer networks | |
| US20170034174A1 (en) | Method for providing access to a web server | |
| US10498618B2 (en) | Attributing network address translation device processed traffic to individual hosts | |
| US8978126B2 (en) | Method and system for TCP turn operation behind a restrictive firewall | |
| US20240414200A1 (en) | Network security with server name indication | |
| CA2884382C (en) | Method and system for tcp turn operation behind a restrictive firewall | |
| CN104994113A (en) | ADSL wireless router, method and system for using the same to realize captive portal under bridge pattern | |
| RU2690752C1 (en) | Method, apparatus, computer-readable information media and a system for building connections between a client and a destination device or terminal | |
| RU2706866C1 (en) | Methods, devices, computer-readable media and systems for establishing certified connections with terminals in a local network | |
| CN108696506B (en) | Method, medium and system for establishing connection between client and terminal device | |
| GB2498566A (en) | Authenticating a user at a proxy using cookies | |
| EP3185510B1 (en) | Method for data packet inspection, related device and computer-program product | |
| CN120378407A (en) | Message distribution method, device, equipment, storage medium and program product |