[go: up one dir, main page]

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 PDF

Info

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
Application number
RU2018112457A
Other languages
Russian (ru)
Inventor
Кристоф ЗАМ
Original Assignee
изе Индифидюлле Зофтваре унд Электроник ГмбХ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by изе Индифидюлле Зофтваре унд Электроник ГмбХ filed Critical изе Индифидюлле Зофтваре унд Электроник ГмбХ
Priority to RU2018112457A priority Critical patent/RU2690752C1/en
Application granted granted Critical
Publication of RU2690752C1 publication Critical patent/RU2690752C1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/30Types of network names
    • H04L2101/33Types 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

FIELD: information technology.SUBSTANCE: invention relates to a system, a service component, a method and an information medium for building connections between a client and a destination device or a terminal. System comprises: a client, a server, one or more service components and one or more terminals which are associated with service components; server for each of terminals provides host name, which is assigned to corresponding terminal, as well as corresponding service component; server is configured to be redirected as a response to a request for connection with a host with a given name from a client request for connection to one of the service components, which are assigned a host name; wherein each service component is configured to check, as a response to the request for connection, whether the terminal has a certificate, wherein if the certificate is absent, the service component requests the certificate from the external certifying organization, and based on certificate establishes server connection with client and sends further data packet between client and terminal.EFFECT: high security of accessing local terminals.15 cl, 2 dwg

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)

1. Система построения соединений между клиентом и устройством-адресатом или терминалом (100), содержащая1. A system for building connections between a client and a destination device or terminal (100), containing клиент (110),customer (110), сервер (120),server (120), один или несколько сервисных компонентов (131, 132) иone or more service components (131, 132) and один или несколько терминалов (141, 142), которые связаны с одним или несколькими сервисными компонентами (131, 132);one or more terminals (141, 142) that are connected to one or more service components (131, 132); причем сервер (120) для каждого из терминалов (141, 142) предоставляет имя хоста, которое присваивают соответствующему терминалу (141, 142), а также соответствующему сервисному компоненту (131, 132);wherein the server (120) for each of the terminals (141, 142) provides the host name, which is assigned to the corresponding terminal (141, 142), as well as to the corresponding service component (131, 132); при этом сервер (120) выполнен с возможностью перенаправления в качестве ответа на запрос на соединение с хостом с заданным именем от клиента (110) запроса на соединение к одному из одного или более сервисных компонентов (131, 132), которым присвоено имя хоста; и wherein the server (120) is configured to redirect as a response to a request to connect to a host with a given name from a client (110) to request a connection to one of one or more of the service components (131, 132) assigned to the host name; and при этом каждый сервисный компонент (131, 132) выполнен с возможностью проверки, в качестве ответа на запрос на соединение, имеет ли терминал (141, 142), с которым связано имя хоста, сертификат, при этом, если сертификат отсутствует, сервисный компонент (131, 132) запрашивает сертификат от внешней сертифицирующей организации, а на основе сертификата устанавливает через сервер (120) соединение с клиентом (110) и направляет дальше пакет данных между клиентом (110) и терминалом (141, 142).each service component (131, 132) is configured to check, as a response to a connection request, whether the terminal (141, 142) with which the host name is associated has a certificate, while if there is no certificate, the service component ( 131, 132) requests a certificate from an external certification authority, and on the basis of the certificate establishes a connection with the client (110) through the server (120) and sends a data packet between the client (110) and the terminal (141, 142). 2. Система (100) по п. 1, в которой сервер (120) дополнительно выполнен с возможностью извлечения из имени хоста первой символьной строки и определения из первой символьной строки адреса соответствующего терминала (141, 142).2. The system (100) of claim 1, wherein the server (120) is further configured to extract from the host name the first character string and determine from the first character string the address of the corresponding terminal (141, 142). 3. Система (100) по п. 2, в которой сервисный компонент (131, 132) дополнительно выполнен с возможностью извлечения из имени хоста второй символьной строки и для определения из второй символьной строки адреса соответствующего терминала (141, 142).3. The system (100) of claim 2, in which the service component (131, 132) is additionally configured to extract the second character string from the host name and to determine the address of the corresponding terminal (141, 142) from the second character string. 4. Система (100) по п. 2 или 3, в которой определение адреса выполняется путем поиска соответствующей символьной строки в таблице.4. System (100) according to claim 2 or 3, in which the determination of the address is performed by searching for the corresponding character string in the table. 5. Система (100) по п. 2 или 3, в которой определение адреса выполняется путем разделения имени хоста.5. The system (100) of claim 2 or 3, in which the address determination is performed by splitting the host name. 6. Сервисный компонент (131, 132) содержит6. The service component (131, 132) contains элемент для проверки наличия сертификата, выполненный с возможностью проверки, в качестве ответа на запрос на соединение клиента (100) с хостом, имеется ли для терминала (141, 142), с которым связано имя хоста, сертификат;an element for checking the presence of a certificate, configured to verify, as a response to a request to connect a client (100) with a host, whether there is a certificate for the terminal (141, 142) with which the host name is associated; элемент для запроса сертификата, выполненный с возможностью запроса сертификата у внешней сертифицирующей организации в случае, если сертификат отсутствует;an element for requesting a certificate, configured to request a certificate from an external certification authority in the event that there is no certificate; элемент для установления соединения, выполненный с возможностью устанавливать через сервер (120) соединение с клиентом (110) на основе сертификата и направлять дальше пакет данных между клиентом (110) и терминалом (141, 142).an element for establishing a connection, configured to establish a connection with the client (110) through the server (120) based on a certificate and forward the data packet between the client (110) and the terminal (141, 142). 7. Сервисный компонент (131, 132) по п. 6, в котором сервисный компонент (131, 132) дополнительно снабжен элементом для извлечения символьной строки, выполненный с возможностью извлечения символьной строки из имени хоста и идентификации по символьной строке адреса соответствующего терминала (141, 142).7. The service component (131, 132) of claim 6, in which the service component (131, 132) is further provided with an element for extracting a character string, configured to extract the character string from the host name and identify it with the character string of the address of the corresponding terminal (141 , 142). 8. Сервисный компонент (131, 132) по п. 7, который снабжен элементом поиска, выполненным с возможностью идентификации адреса терминала путем поиска соответствующей символьной строки в таблице.8. The service component (131, 132) of claim 7, which is equipped with a search element, is configured to identify the terminal address by searching for the corresponding character string in the table. 9. Сервисный компонент (131, 132) по п. 7, который снабжен элементом разделения, выполненным с возможностью идентификации адреса терминала на основе разделения имени хоста.9. The service component (131, 132) of claim 7, which is provided with a partitioning element configured to identify the address of the terminal based on the division of the host name. 10. Способ построения соединений между клиентом и устройством-адресатом или терминалом (200), содержащий:10. A method of building connections between a client and a destination device or terminal (200), comprising: предоставление (210) сервером (120) имени хоста каждому из некоторого количества терминалов (141, 142), при этом имя хоста присвоено соответствующему терминалу (141, 142) и сервисному компоненту (131, 132), к которому подключен соответствующий терминал (141, 142);providing (210) a server (120) host name to each of a number of terminals (141, 142), with the host name assigned to the corresponding terminal (141, 142) and service component (131, 132) to which the corresponding terminal is connected (141, 142); в качестве ответа на запрос на соединение с хостом с заданным именем от клиента (110), запрос на соединение пересылается (230) сервером (120) к одному из одного или более сервисным компонентам (131, 132), которым присвоено имя хоста; иas a response to a request to connect to a host with a given name from a client (110), the connection request is sent (230) by the server (120) to one of one or more service components (131, 132), which is assigned a host name; and в качестве ответа на запрос на соединение, сервисным компонентом (131, 132) осуществляется проверка (240), имеет ли сертификат терминал (141, 142), которому присвоено имя хоста, при этом, если сертификат отсутствует, сервисный компонент (131, 132) выполняет запрос (250) сертификата от внешней сертифицирующей организации, и устанавливает (260) соединение с клиентом (110) и пересылает пакеты данных между клиентом (110) и терминалом (141, 142).as a response to the connection request, the service component (131, 132) checks (240) whether the certificate has a terminal (141, 142) that is assigned a host name, and if there is no certificate, a service component (131, 132) performs a certificate request (250) from an external certification authority, and establishes (260) a connection with a client (110) and forwards data packets between the client (110) and the terminal (141, 142). 11. Способ (200) по п. 10, в котором сервер (120) извлекает из имени хоста первую символьную строку и определяет из первой символьной строки адрес соответствующего сервисного компонента (131, 132).11. The method (200) of claim 10, wherein the server (120) extracts the first character string from the host name and determines from the first character string the address of the corresponding service component (131, 132). 12. Способ (200) по п. 10, в котором сервисный компонент (131, 132) извлекает из имени хоста вторую символьную строку и из второй символьной строки определяет адрес соответствующего терминала (141, 142).12. The method (200) of claim 10, wherein the service component (131, 132) extracts the second character string from the host name and determines the address of the corresponding terminal (141, 142) from the second character string. 13. Способ (200) по п. 11 или 12, в котором определение адреса происходит путем поиска соответствующей символьной строки в таблице.13. The method (200) of claim 11 or 12, wherein the address is determined by searching for the corresponding character string in the table. 14. Способ (200) по п. 11 или 12, в котором определение адреса происходит путем разделения имени хоста.14. The method (200) of claim 11 or 12, wherein the address is determined by splitting the host name. 15. Носитель информации, считываемый компьютером с помощью команд, которые при выполнении одним или несколькими процессорами выполняют способ по любому из пп. 10-12.15. A storage medium readable by a computer using commands that, when executed by one or more processors, perform the method according to any one of claims. 10-12.
RU2018112457A 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 RU2690752C1 (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2374778C2 (en) * 2005-02-04 2009-11-27 Квэлкомм Инкорпорейтед Protected bootstrapping for wireless communication

Patent Citations (1)

* Cited by examiner, † Cited by third party
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