ОБЛАСТЬ ТЕХНИКИ
Данная заявка на получение патента относится к способу, устройству, носителям информации, считываемым с помощью компьютера и системе для построения соединений между клиентом и устройством-адресатом или терминалом, таким как веб-сервер.
УРОВЕНЬ ТЕХНИКИ
Для шифрования запросов на соединение, особенно по протоколу HTTP, преобладают протоколы SSL или TLS. SSL-сертификаты выдаются независимыми сертифицирующими организациями администраторам веб-сайтов. Для запросов на соединение может использоваться сертификат для проверки подлинности веб-сайта.
На веб-серверы, расположенные в локальной сети, нет другого доступа, кроме как из локальной сети. Общепринятые технологии, например, виртуальные частные сети VPN, делают такого рода соединения возможными, но имеют сложную конфигурацию. В частности, необходимо задавать конфигурацию VPN снова, если расположение веб-серверов в локальной сети изменяется. Конфигурация задается системным администратором, как правило, вручную. Шифрование, например, с помощью сертификатов, для таких веб-серверов обычно не выполняется.
СУЩНОСТЬ ИЗРОБРЕТЕНИЯ
В основе раскрытого здесь изобретения лежит задача обеспечить безопасный доступ к локальным терминалам, по возможности не требующий технического обслуживания.
Первый вариант осуществления относится к системе, содержащей клиент, сервер, один или несколько сервисных компонентов и один или несколько терминалов, связанных с помощью одного или нескольких сервисных компонентов, при этом сервер для каждого терминала предоставляет имя хоста, который назначается данному терминалу и соответствующим компонентам, причем сервер выполнен с возможностью в качестве ответа на запрос на соединение клиента к хосту с указанным именем направлять запрос на соединение к этому одному или нескольким сервисным компонентам, которые привязаны хосту, и при этом каждый сервисный компонент выполнен с возможностью в качестве ответа на запрос на соединение проверять, имеет ли терминал, с которым связано имя хоста, сертификат, причем сервисный компонент запрашивает от внешней сертифицирующей организации сертификат, если сертификата нет, а на основании сертификата через сервер устанавливает соединение с клиентом и направляет дальше пакет данных между клиентом и терминалом.
В частности, сервер в дальнейшем может быть выполнен с возможностью извлекать из имени хоста первую символьную строку и определять адрес соответствующего терминала по первой символьной строке.
В частности, система может включать в себя сервисный компонент, который с возможностью извлекать из имени хоста вторую символьную строку и определять адрес соответствующего терминала по второй символьной строке.
Согласно еще одному варианту осуществления определение адреса осуществляется путем поиска соответствующей символьной строки в таблице.
В качестве альтернативы или дополнительно определение адреса может осуществляться на основе разделения имени хоста.
Следующие варианты осуществления относятся к сервисному компоненту, который выполнен с возможностью проверки в качестве ответа на запрос на соединение клиента к хосту с указанным именем проверять, имеется ли сертификат для терминала, которому назначен хост, при этом сервисный компонент запрашивает сертификат от внешней сертифицирующей организации, если сертификата нет, а на основе сертификата устанавливает через сервер соединение с клиентом и направляет дальше пакет данных между клиентом и терминалом.
В частности, сервисный компонент в дальнейшем может быть выполнен с возможностью извлекать из имени хоста первую символьную строку и определять адрес соответствующего терминала по первой символьной строке.
Согласно варианту осуществления, имеющему особое предпочтение, определение адреса может быть выполнено путем поиска символьной строки в таблице.
В качестве альтернативы или дополнительно определение адреса может осуществляться на основе разделения имени хоста.
Следующие варианты осуществления касаются способа, включая предоставление сервером имени хоста каждому из некоторого количества терминалов, при этом имя хоста присваивается соответствующему терминалу и сервисному компоненту, с которым связан соответствующий терминал; в качестве ответа на запрос на соединение клиента с хостом, при этом сервер выполняет переадресацию запрос на соединение на один или несколько сервисных компонентов, которым присвоено имя хоста; а в качестве ответа на запрос на соединение сервисный компонент выполняет проверку, имеется ли сертификат для терминала, которому присвоено имя хоста и запрос сертификата от внешней сертифицирующей организации, если сертификат отсутствует, а также установление соединения с клиентом и пересылку пакетов данных между клиентом и терминалом.
В частности, способ может включать в себя действие, когда сервер извлекает из имени хоста первую символьную строку и определяет адрес соответствующего сервисного компонента по первой строке символов.
Сервисный компонент предпочтительно извлекает из имени хоста вторую символьную строку и определяет по второй символьной строке адрес соответствующего терминала.
Например, определение адреса осуществляется путем поиска соответствующей символьной строки в таблице.
В качестве альтернативы или дополнительно определение адреса может осуществляться на основе разделения имени хоста.
Следующие варианты осуществления относятся к носителям информации, считываемых компьютером с помощью команд, которые выполняются способом в соответствии с данным изобретением, согласно приведенным выше пояснениям, если они выполняются одним или несколькими процессорами.
Изобретательский уровень достигается путем пересылки запроса на соединение с локальным терминалом на основании идентификации, а также благодаря запросу сертификата только для тех терминалов, для которых был получен запрос на соединение.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
На Фиг. 1 показана система в соответствии с вариантами осуществления изобретения.
На Фиг. 2 показан способ в соответствии с вариантами осуществления изобретения.
ПОДРОБНОЕ ОПИСАНИЕ
Согласно первому варианту осуществления изобретения, клиент направляет запрос на соединение к имени хоста, которое предоставлено сервером. Имена хостов - это служба доменных имен, имена DNS, которые могут присваиваться DNS-серверами IP-адресу и перенаправляют к своему устройству-адресату с помощью маршрутизации. Имя хоста назначается терминалу, который прямо или косвенно связан с сервером и не обязательно имеет собственный глобальный IP-адрес. Запрос на соединение может быть инициирован, например, путем взаимодействия пользователя с веб-браузером и выполняться в виде HTTP-запроса. В качестве альтернативы запрос на соединение может быть выполнен с использованием другого протокола, такого как FTP, SSH или другой протокол, подходящий для адресации имен хостов.
Сервер подключен, по меньшей мере, к одному компоненту службы. Каждый сервисный компонент имеет один или несколько подключенных к нему терминалов. Сервисные компоненты могут быть частью сервера или могут быть отдельными блоками и могут быть схемой.
Сервер подключен, по меньшей мере, к одному сервисному компоненту. Каждый сервисный компонент имеет один или несколько подключенных к нему терминалов. Сервисные компоненты могут быть составной частью сервера или могут быть выполнены в виде отдельных блоков и могут быть выполнены в виде схемы или программного обеспечения. Терминалы могут быть выполнены как веб-серверы или серверы, которые работают в соответствии с протоколом запросов соединения клиента. Любое соединение между этими терминалами и сервисными компонентами, соответственно, с сервером, связанным с клиентом, происходит через сервисные компоненты. Например, компонент службы может быть настроен как прокси-сервер или межсетевой экран локальной сети, через который осуществляется обмен информацией между терминалами и внешними устройствами, такими как клиент.
Сервер предоставляет соответствующее уникальное имя хоста для каждого из подключенных к нему терминалов через компонент обслуживания, который может использоваться клиентом. IP-протокол и делает возможным присвоение IP-адреса одному или даже нескольким именам хоста.
В соответствии с особым вариантом осуществления сервер получает все пакеты, которые направлены на назначенный ему IP-адрес или один или несколько имен DNS / хостов, назначенных ему. В первом варианте осуществления сервер извлекает из имени хоста первую символьную строку, чтобы определить локальный адрес терминала, например, IP-адрес, на который должен быть отправлен запрос на соединение. Предпочтительно для этой цели рассматривается начальная символьная строка имени хоста. Имена хостов обычно отделяются точками (.), при этом после последней точки строка представляет домен верхнего уровня (TLD), например «.de». Например, начальная символьная строка предшествует первой точке в имени узла и может быть извлечена, например, из регулярного выражения (regular expression). Для различения IP-адреса в имени хоста он может внутри имени хоста содержать другие разделяющие символы, помимо привычной точки.
Примером такого имени хоста является 192-168-137-12.my-sda.net, где начальная символьная строка - 192-168-137-12. Согласно одному варианту осуществления сервисный компонент, который подключен к соответствующему терминалу, может быть определен сервером на основе этой начальной символьной строки. Для этого адрес или идентификатор сервисного компонента возможно получить в таблице сервера.
Сервер перенаправляет на сервисный компонент запрос на соединение на основании его адреса. Имя хоста перенаправляется дальше вместе с запросом на соединение.
Сервисный компонент после получения запроса на соединение определяет терминал, на который адресован запрос. Это осуществляется, например, путем замены разделяющих символов в начальной символьной строке точки так, чтобы образовался общепринятый IP-адрес.
Согласно одному варианту осуществления идентификатор сервисного компонента не просматривается исходной строкой, но включен в имя хоста, например, в заранее заданное поле. Соответствующее имя хоста может выглядеть примерно 192-168-137-12.isyyyyyyp8.my-sda.net, при этом идентификатором сервисного компонента является isyyyyyyp8. В этом варианте осуществления сервер извлекает второе поле разделенного точками имени хоста и, таким образом, определяет идентификатор сервисного компонента. После этого, запрос на соединение пересылается на определенный сервисный компонент. Сервисный компонент определяет из начальной символьной строки полный адрес терминала, то есть 192.168.137.12.
Кроме того, сервисный компонент перепроверяет, наличие сертификата на имя хоста для терминала, куда должен пересылаться запрос на соединение. Тип сертификата определяется протоколом, на основе которого обрабатывается запрос на соединение. Например, для запроса на соединение согласно HTTPS требуется сертификат SSL или TLS. Подобные сертификаты также необходимы для протоколов VPN, FTPS и других протоколов. Определить, имеется ли сертификат, можно, например, путем поиска в локальной таблице данных, которая хранится в памяти сервисного компонента. В качестве альтернативы соответствующий запрос может отсылаться непосредственно внешней сертифицирующей организации. Если для терминала нет сертификата, то сервисный компонент запрашивает сертификат для данного терминала у внешней сертифицирующей организации. В некоторых вариантах осуществления для каждого терминала требуется отдельный сертификат. Альтернативно для нескольких терминалов может использоваться один сертификат, например, сертификат для всех терминалов, подключенных к данному сервисному компоненту.
После получения сертификата сервисный компонент возвращает запрос на соединение путем установления соединения с клиентом через сервер. Это соединение устанавливается в соответствии с обычной процедурой при использовании сертификата. Например, сертификат отправляется клиенту, чтобы он мог проверить подлинность сервера. С этого момента клиент может обмениваться пакетами данных с сервисным компонентом через сервер. В некоторых вариантах осуществления сертификат может использоваться, чтобы шифровать соединение.
Фиг. 1 показывает в качестве примера систему 100. Сервер 120 выполнен с возможностью получать запросы на соединение клиента но. После получения запроса на соединение сервер 120 в одном варианте осуществления извлекает адрес терминала из части имени хоста в запросе на соединение. Например, сервер определяет, как описано выше, локальный сетевой адрес терминала, путем извлечения строки из имени хоста. В одном варианте осуществления это - начальная символьная строка, содержащая адресные поля, разделенные разделяющими символами. В качестве альтернативы адрес терминала может находиться в другой символьной строке, стоящей в N-й позиции имени хоста или в N-м поле имени. В последнем примере определяется N-e поле при просмотре полей имени хоста, разделенных точками. Этим способом сервер 120 может определять сетевые адреса терминалов 151, 152, 153 или 154. Имя хоста необязательно содержит фактический адрес, а может содержать идентификатор, по которому сервер с помощью таблицы воспроизводит фактический адрес. Такого рода варианты осуществления выгодны тем, что они не выдают эти адреса наружу. Другое преимущество заключается в том, что внутреннее изменение адреса требует лишь обновления таблицы, чтобы использовать новый адрес под тем же именем хоста. Идентификатор или адрес сервисного компонента, к которому подключен терминал, могут быть определены путем поиска адреса терминала в таблице. В некоторых вариантах осуществления определяется также адрес или идентификатор сервисного компонента по имени хоста. Идентификатор сервисного компонента может быть получен в следующем поле имени хоста.
Сервер 120 отправляет запрос к сервисному компоненту 131 или 132, определенному ранее. Сервисный компонент 131 или 132 проверяет, есть ли сертификат для целевого адреса. Например, проверяется, имеется ли уже сертификат для текущей комбинации сервисного компонента и терминала. Кроме того, проверяется, существует ли сертификат для сервисного компонента.
Если сертификат отсутствует, то он запрашивается сервисным компонентом у внешней сертифицирующей организации (не показано). Если сертификат имеется, то сервисный компонент возвращает запрос на соединение путем установления соединения с клиентом но через сервер 120. Для этого сертификат сначала передается клиенту но, чтобы дать ему возможность установить подлинность сервера 120. Такая идентификация осуществляется, например, путем проверки сертификата посредством алгоритмов проверки или посредством информационного обмена между клиентом, но и внешней сертифицирующей организацией. С этого момента между клиентом и сервисным компонентом могут передаваться пакеты данных. Сервисный компонент отправляет входящие пакеты данных по определенным сервером адресам указанных терминалов. Там пакеты данных обрабатываются, и на них дается ответ, причем ответные пакеты терминалов направляются через соответствующий сервисный компонент и сервер 120 обратно к клиенту но.
Показанные на фиг. 1 терминалы 141, 142, 143 и 144, а также сервисные компоненты 131 и 132 имеют исключительно символическое значение. Изобретение охватывает системы, в которых взаимосвязано произвольное количество сервисных компонентов и терминалов. В частности, изобретение также работает без терминалов. В этом случае сертифицированное соединение устанавливается лишь между сервисным компонентом 131 или 132 и клиентом но. Также, могут быть установлены соединения между другими клиентами в том виде, как между клиентом но и сервером 120. В вариантах осуществления без терминала, адрес, определенный из имени хоста, присваивается только сервисному компоненту, которому он должен быть переадресован.
На фиг. 2 показан примерный способ установления соединения между клиентом и терминалом.
Во-первых, сервер, такой как сервер 120, осуществляется предоставление 210 имени хоста для каждого из некоторого количества терминалов.
Сервер на этапе 220 получает запрос на соединение от клиента, например, от клиента но, который направляется на одно из предоставленных имен хостов. В качестве ответа на получение этого запроса на соединение сервер сначала определяет фактического адресата запроса на соединение. Для этого сервер найти первую часть имени хоста в таблице, чтобы получить локальные адреса для сервисного компонента и/или терминала. В качестве альтернативы сервер может извлечь эти адреса непосредственно из составной части имени хоста, например, для начальной символьной строки, путем разбора компонента на дополнительные символьные строки.
На основе полученного адреса сервисного компонента на этапе 230 запрос на соединение перенаправляется на него. Затем, сервисный компонент проверяет на этапе 240, имеется ли сертификат для соответствующих адресатов, то есть либо для самого сервисного компонента, либо для вызванного по адресу терминала. Если это не так, то на этапе 250 запрашивается сертификат для адресата от внешней сертифицирующей организации.
Если сертификат в наличии, то сервисный компонент на этапе 260 начинает устанавливать соединение. Для этого сертификат сначала отправляется клиенту, чтобы он мог проверить подлинность сервера. Последующие пакеты данных, которые посылаются от клиента к одним и тем же адресатам, достигают сервисного компонента описанным выше способом и оттуда направляются к соответствующему терминалу. Терминал обрабатывает пакет данных и отправляет ответ на сервисный компонент. Ответ через сервер пересылается клиенту.
Таким образом, изобретение позволяет установить сертифицированные соединения «точка-точка» между внешним клиентом и терминалом, которому не присвоен собственный глобальный IP-адрес. Это особенно полезно для тех терминалов, которые являются частью локальной сети, чьи узлы не имеют глобальных IP-адресов. Изобретение минимизирует затраты на составление сертификатов, поскольку они запрашиваются только в случае необходимости. Если сертификат однажды присутствовал, его не нужно составлять второй раз в течение срока его действия.
Изобретение относится к системе, сервисному компоненту, способу и носителю информации для построения соединений между клиентом и устройством-адресатом или терминалом. Технический результат заключается в повышении безопасности доступа к локальным терминалам. Система содержит: клиент, сервер, один или несколько сервисных компонентов и один или несколько терминалов, которые связаны с сервисными компонентами; сервер для каждого из терминалов предоставляет имя хоста, которое присваивают соответствующему терминалу, а также соответствующему сервисному компоненту; сервер выполнен с возможностью перенаправления в качестве ответа на запрос на соединение с хостом с заданным именем от клиента запроса на соединение к одному из сервисных компонентов, которым присвоено имя хоста; при этом каждый сервисный компонент выполнен с возможностью проверки, в качестве ответа на запрос на соединение, имеет ли терминал сертификат, при этом, если сертификат отсутствует, сервисный компонент запрашивает сертификат от внешней сертифицирующей организации, а на основе сертификата устанавливает через сервер соединение с клиентом и направляет дальше пакет данных между клиентом и терминалом. 4 н. и 11 з.п. ф-лы, 2 ил.
1. Система построения соединений между клиентом и устройством-адресатом или терминалом (100), содержащая
клиент (110),
сервер (120),
один или несколько сервисных компонентов (131, 132) и
один или несколько терминалов (141, 142), которые связаны с одним или несколькими сервисными компонентами (131, 132);
причем сервер (120) для каждого из терминалов (141, 142) предоставляет имя хоста, которое присваивают соответствующему терминалу (141, 142), а также соответствующему сервисному компоненту (131, 132);
при этом сервер (120) выполнен с возможностью перенаправления в качестве ответа на запрос на соединение с хостом с заданным именем от клиента (110) запроса на соединение к одному из одного или более сервисных компонентов (131, 132), которым присвоено имя хоста; и
при этом каждый сервисный компонент (131, 132) выполнен с возможностью проверки, в качестве ответа на запрос на соединение, имеет ли терминал (141, 142), с которым связано имя хоста, сертификат, при этом, если сертификат отсутствует, сервисный компонент (131, 132) запрашивает сертификат от внешней сертифицирующей организации, а на основе сертификата устанавливает через сервер (120) соединение с клиентом (110) и направляет дальше пакет данных между клиентом (110) и терминалом (141, 142).
2. Система (100) по п. 1, в которой сервер (120) дополнительно выполнен с возможностью извлечения из имени хоста первой символьной строки и определения из первой символьной строки адреса соответствующего терминала (141, 142).
3. Система (100) по п. 2, в которой сервисный компонент (131, 132) дополнительно выполнен с возможностью извлечения из имени хоста второй символьной строки и для определения из второй символьной строки адреса соответствующего терминала (141, 142).
4. Система (100) по п. 2 или 3, в которой определение адреса выполняется путем поиска соответствующей символьной строки в таблице.
5. Система (100) по п. 2 или 3, в которой определение адреса выполняется путем разделения имени хоста.
6. Сервисный компонент (131, 132) содержит
элемент для проверки наличия сертификата, выполненный с возможностью проверки, в качестве ответа на запрос на соединение клиента (100) с хостом, имеется ли для терминала (141, 142), с которым связано имя хоста, сертификат;
элемент для запроса сертификата, выполненный с возможностью запроса сертификата у внешней сертифицирующей организации в случае, если сертификат отсутствует;
элемент для установления соединения, выполненный с возможностью устанавливать через сервер (120) соединение с клиентом (110) на основе сертификата и направлять дальше пакет данных между клиентом (110) и терминалом (141, 142).
7. Сервисный компонент (131, 132) по п. 6, в котором сервисный компонент (131, 132) дополнительно снабжен элементом для извлечения символьной строки, выполненный с возможностью извлечения символьной строки из имени хоста и идентификации по символьной строке адреса соответствующего терминала (141, 142).
8. Сервисный компонент (131, 132) по п. 7, который снабжен элементом поиска, выполненным с возможностью идентификации адреса терминала путем поиска соответствующей символьной строки в таблице.
9. Сервисный компонент (131, 132) по п. 7, который снабжен элементом разделения, выполненным с возможностью идентификации адреса терминала на основе разделения имени хоста.
10. Способ построения соединений между клиентом и устройством-адресатом или терминалом (200), содержащий:
предоставление (210) сервером (120) имени хоста каждому из некоторого количества терминалов (141, 142), при этом имя хоста присвоено соответствующему терминалу (141, 142) и сервисному компоненту (131, 132), к которому подключен соответствующий терминал (141, 142);
в качестве ответа на запрос на соединение с хостом с заданным именем от клиента (110), запрос на соединение пересылается (230) сервером (120) к одному из одного или более сервисным компонентам (131, 132), которым присвоено имя хоста; и
в качестве ответа на запрос на соединение, сервисным компонентом (131, 132) осуществляется проверка (240), имеет ли сертификат терминал (141, 142), которому присвоено имя хоста, при этом, если сертификат отсутствует, сервисный компонент (131, 132) выполняет запрос (250) сертификата от внешней сертифицирующей организации, и устанавливает (260) соединение с клиентом (110) и пересылает пакеты данных между клиентом (110) и терминалом (141, 142).
11. Способ (200) по п. 10, в котором сервер (120) извлекает из имени хоста первую символьную строку и определяет из первой символьной строки адрес соответствующего сервисного компонента (131, 132).
12. Способ (200) по п. 10, в котором сервисный компонент (131, 132) извлекает из имени хоста вторую символьную строку и из второй символьной строки определяет адрес соответствующего терминала (141, 142).
13. Способ (200) по п. 11 или 12, в котором определение адреса происходит путем поиска соответствующей символьной строки в таблице.
14. Способ (200) по п. 11 или 12, в котором определение адреса происходит путем разделения имени хоста.
15. Носитель информации, считываемый компьютером с помощью команд, которые при выполнении одним или несколькими процессорами выполняют способ по любому из пп. 10-12.
Токарный резец | 1924 |
|
SU2016A1 |
Устройство для закрепления лыж на раме мотоциклов и велосипедов взамен переднего колеса | 1924 |
|
SU2015A1 |
Способ обработки целлюлозных материалов, с целью тонкого измельчения или переведения в коллоидальный раствор | 1923 |
|
SU2005A1 |
ЗАЩИЩЕННАЯ САМОНАСТРОЙКА ДЛЯ БЕСПРОВОДНОЙ СВЯЗИ | 2006 |
|
RU2374778C2 |
Авторы
Даты
2019-06-05—Публикация
2018-04-06—Подача