RU2820407C1 - System and method of interworking client and server - Google Patents
System and method of interworking client and server Download PDFInfo
- Publication number
- RU2820407C1 RU2820407C1 RU2023124875A RU2023124875A RU2820407C1 RU 2820407 C1 RU2820407 C1 RU 2820407C1 RU 2023124875 A RU2023124875 A RU 2023124875A RU 2023124875 A RU2023124875 A RU 2023124875A RU 2820407 C1 RU2820407 C1 RU 2820407C1
- Authority
- RU
- Russia
- Prior art keywords
- module
- server
- isolated
- client
- certificate
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000006854 communication Effects 0.000 claims abstract description 20
- 238000004891 communication Methods 0.000 claims abstract description 19
- 230000003993 interaction Effects 0.000 claims description 45
- 238000002955 isolation Methods 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 5
- 230000000977 initiatory effect Effects 0.000 abstract description 2
- 239000000126 substance Substances 0.000 abstract description 2
- 230000000694 effects Effects 0.000 abstract 1
- 230000008569 process Effects 0.000 description 18
- 230000004044 response Effects 0.000 description 14
- 238000012545 processing Methods 0.000 description 11
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 238000007630 basic procedure Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- RGNPBRKPHBKNKX-UHFFFAOYSA-N hexaflumuron Chemical compound C1=C(Cl)C(OC(F)(F)C(F)F)=C(Cl)C=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F RGNPBRKPHBKNKX-UHFFFAOYSA-N 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Abstract
Description
Область техникиTechnical field
Изобретение относится к области информационной безопасности, а более конкретно к системам и способам обеспечения безопасного межсетевого взаимодействия клиента и сервера.The invention relates to the field of information security, and more specifically to systems and methods for ensuring secure internetwork interaction between a client and a server.
Уровень техникиState of the art
Вредоносное программное обеспечение постоянно развивается, побуждая поставщиков услуг информационной безопасности не отставать от постоянно меняющегося ландшафта угроз. В том числе злоумышленники развивают и пути распространения вредоносного программного обеспечения (ПО), используют новые уязвимости для проникновения в компьютерные системы (далее - компьютер).Malware is constantly evolving, challenging information security service providers to keep up with the ever-changing threat landscape. Among other things, attackers are developing ways to distribute malicious software (software), using new vulnerabilities to penetrate computer systems (hereinafter referred to as computers).
В настоящий момент используются различные варианты атак на ресурсы компьютерной сети. Например, атака «человек посередине» (от англ. Man-in-the-middle), во время которой злоумышленник осуществляет перехват данных, используя методы, позволяющие внедриться в существующее подключение или процесс связи между двумя сторонами. Примером таких методов является метод, с помощью которого изменяют параметры DNS-сервера или файла hosts на компьютере «жертвы». В то время пока «жертва» считает, что работает напрямую, например с веб-сайтом банка, трафик проходит через промежуточный узел злоумышленника, который таким образом получает все отправляемые пользователем данные (персональные данные, логин, пароль, ПИН-код и т.п.).Currently, various types of attacks on computer network resources are used. For example, a “man-in-the-middle” attack, during which an attacker intercepts data using methods that allow them to infiltrate an existing connection or communication process between two parties. An example of such methods is the method by which the parameters of the DNS server or hosts file on the “victim” computer are changed. While the “victim” believes that he is working directly, for example with a bank’s website, the traffic passes through the attacker’s intermediate node, which thus receives all the data sent by the user (personal data, login, password, PIN code, etc. .).
Из уровня техники известно решение, протокол Transport layer security (далее - TLS), предназначенный для защиты от вышеописанного вида атак. Протокол TLS реализует три вида защиты - шифрование, аутентификация и целостность. Шифрование - сокрытие информации, передаваемой от одного компьютера к другому. Аутентификация - проверка подлинности источника передаваемой информации. Целостность - обнаружение подмены информации подделкой. Стоит отметить, что в указанном протоколе отсутствует реализация защиты хранилища SSL/TLS-сертификатов (далее - сертификатов) от злоумышленника, который для достижения своих целей может подменить действительный сертификат какого-либо доверенного ресурса на свой для маскировки своего узла под легитимный сервис.A solution is known from the prior art, the Transport layer security protocol (hereinafter referred to as TLS), designed to protect against the type of attacks described above. The TLS protocol implements three types of security - encryption, authentication and integrity. Encryption is the hiding of information transmitted from one computer to another. Authentication - checking the authenticity of the source of transmitted information. Integrity - detecting the substitution of information with a fake. It is worth noting that in this protocol there is no implementation of protecting the storage of SSL/TLS certificates (hereinafter referred to as certificates) from an attacker who, in order to achieve his goals, can replace a valid certificate of a trusted resource with his own to disguise his node as a legitimate service.
Из уровня техники известно решение, представленное в патенте RU 2514138 C1. В качестве решения представлена система и способ верификации сертификата открытого ключа с целью противодействия атакам типа «человек посередине». В данной публикации описан способ, в котором получают информацию о выданных сертификатах и обнаруживают аномалии путем анализа подозрительных событий, связанных с рассматриваемым сертификатом. Затем собирают дополнительную информацию о сертификатах, для которых были обнаружены аномалии. Формируют список подозрительных сертификатов путем нахождения несоответствия с ранее полученными данными и принимают решение о правомерности использования сертификатов для целей аутентификации путем анализа найденных несоответствий.The solution presented in patent RU 2514138 C1 is known from the prior art. As a solution, a system and method for verifying a public key certificate is presented in order to counter man-in-the-middle attacks. This publication describes a method in which information about issued certificates is obtained and anomalies are detected by analyzing suspicious events associated with the certificate in question. Additional information is then collected about the certificates for which anomalies were detected. A list of suspicious certificates is generated by finding inconsistencies with previously obtained data and a decision is made on the legality of using certificates for authentication purposes by analyzing the inconsistencies found.
Указанное решение довольно эффективно решает проблему безопасной передачи данных между клиентом и сервером, однако проблема отсутствия реализации защиты хранилища сертификатов остается не решенной.This solution quite effectively solves the problem of secure data transfer between the client and the server, but the problem of the lack of implementation of certificate store protection remains unresolved.
Раскрытие сущности изобретенияDisclosure of the invention
Задача предлагаемого решения заключается в реализации системы межсетевого взаимодействия между клиентом и сервером, при этом все функциональные модули системы межсетевого взаимодействия изолированы друг от друга.The objective of the proposed solution is to implement an internetworking system between the client and the server, while all functional modules of the internetworking system are isolated from each other.
Технический результат настоящего изобретения заключается в повышении безопасности межсетевого взаимодействия клиента и сервера за счет использования системы межсетевого взаимодействия для передачи данных, причем все модули системы межсетевого взаимодействия выполняют свои функции изолировано друг от друга.The technical result of the present invention is to increase the security of the internetwork interaction between the client and the server through the use of an internetwork system for data transmission, and all modules of the internetwork system perform their functions in isolation from each other.
В качестве одного варианта исполнения настоящего изобретения предлагается способ межсетевого взаимодействия, реализующийся по меньшей мере на одной компьютерной системе и содержащий этапы, на которых: перехватывают с помощью изолированного модуля транспортного взаимодействия запрос на соединение от клиента к серверу; инициализируют с помощью изолированного модуля транспортного взаимодействия от лица клиента запрос на TLS-соединение с сервером; принимают с помощью изолированного модуля транспортного взаимодействия сертификат и публичный ключ от сервера, которые передают изолированному модулю шифрования; проверяют с помощью изолированного модуля шифрования полученный сертификат сервера на подлинность путем взаимодействия с базой сертификатов через изолированный модуль контроля сертификатов; если сертификат сервера определен как подлинный, создают публичный и приватный ключи шифрования клиента посредством изолированного модуля шифрования и обменивают публичные ключи шифрования посредством изолированного модуля транспортного взаимодействия с сервером для создания шифрованного канала связи, причем шифрование данных, отправленных от клиента к серверу, реализуется с помощью публичного ключа сервера, а дешифрование данных, отправленных от сервера к клиенту, реализуется с помощью приватного ключа клиента.As one embodiment of the present invention, a method of internetworking is provided, implemented on at least one computer system and comprising the steps of: intercepting, using an isolated transport interaction module, a connection request from a client to a server; using an isolated transport interaction module on behalf of the client, initializing a request for a TLS connection with the server; using an isolated transport interaction module, they receive a certificate and a public key from the server, which are transmitted to the isolated encryption module; using an isolated encryption module, the received server certificate is checked for authenticity by interacting with the certificate database through an isolated certificate control module; if the server certificate is determined to be genuine, create the client's public and private encryption keys through the isolated encryption module and exchange public encryption keys through the isolated transport interaction module with the server to create an encrypted communication channel, wherein the encryption of data sent from the client to the server is implemented using the public server key, and decryption of data sent from the server to the client is implemented using the client’s private key.
В другом варианте исполнения способа изоляцию модуля транспортного взаимодействия, модуля шифрования и модуля контроля сертификатов осуществляют при помощи модуля безопасности на основании политик безопасности, которые содержат требования и условия взаимодействия с каждым упомянутым модулем.In another embodiment of the method, isolation of the transport interaction module, encryption module and certificate control module is carried out using a security module based on security policies that contain requirements and conditions for interaction with each mentioned module.
В еще одном варианте исполнения способа во время каждого взаимодействия между изолированным модулем транспортного взаимодействия, изолированным модулем шифрования и изолированным модулем контроля сертификатов осуществляют проверку выполнения политик безопасности при помощи модуля безопасности.In yet another embodiment of the method, during each interaction between the isolated transport interaction module, the isolated encryption module and the isolated certificate control module, compliance with security policies is checked using the security module.
В другом варианте исполнения способа перехватывают каждое обращение от одного изолированного модуля к другому изолированному модулю, анализируют перехваченное обращение и передают перехваченное обращение назначавшемуся изолированному модулю, если указанное обращение соответствовало требованиям и условиям политики безопасности.In another embodiment of the method, each request from one isolated module to another isolated module is intercepted, the intercepted request is analyzed and the intercepted request is transferred to the assigned isolated module if the specified request complied with the requirements and conditions of the security policy.
В качестве другого варианта исполнения настоящего изобретения предлагается система межсетевого взаимодействия, состоящая по меньшей мере из одной компьютерной системы и содержащая: модуль безопасности, предназначенный для изоляции модуля транспортного взаимодействия, модуля шифрования и модуля контроля сертификатов, при этом изоляция осуществляется на основании политик безопасности, которые содержат требования и условия взаимодействия с каждым упомянутым модулем; изолированный модуль транспортного взаимодействия, взаимодействующий с клиентом, сервером и изолированным модулем шифрования, и предназначенный для: перехвата запроса на соединение от клиента к серверу; инициализации TLS-соединения с сервером; получения сертификата и публичного ключа от сервера; передачи полученных данных изолированному модулю шифрования; создания шифрованного канала связи между клиентом и сервером, в случае если сертификат сервера подлинный; передачи данных между клиентом и сервером при помощи шифрованного канала связи; изолированный модуль шифрования, предназначенный для проверки сертификата сервера на подлинность с помощью взаимодействия с изолированным модулем контроля сертификатов и в случае подлинности сертификата для: создания публичного и приватного ключей клиента; шифрования с помощью публичного ключа сервера данных, отправленных клиентом к серверу; дешифрования с помощью приватного ключа клиента данных, отправленных сервером к клиенту; передачи публичного ключа клиента и результата проверки сертификата сервера изолированному модулю транспортного взаимодействия; изолированный модуль контроля сертификатов, предназначенный для предоставления изолированному модулю шифрования доступа к базе сертификатов.As another embodiment of the present invention, there is proposed an internetworking system consisting of at least one computer system and containing: a security module designed to isolate a transport interaction module, an encryption module and a certificate control module, wherein the isolation is based on security policies that contain requirements and conditions for interaction with each mentioned module; an isolated transport interaction module that interacts with a client, a server and an isolated encryption module, and is designed to: intercept a connection request from a client to a server; initializing a TLS connection with the server; obtaining a certificate and public key from the server; transferring the received data to an isolated encryption module; creating an encrypted communication channel between the client and the server, if the server certificate is genuine; transferring data between client and server using an encrypted communication channel; an isolated encryption module designed to verify the authenticity of the server certificate by interacting with an isolated certificate control module and, in the case of the authenticity of the certificate, to: create public and private client keys; encrypting data sent by the client to the server using the server’s public key; decrypting data sent by the server to the client using the client’s private key; transferring the client's public key and the result of checking the server certificate to the isolated transport interaction module; isolated certificate control module designed to provide an isolated encryption module with access to the certificate database.
В другом варианте исполнения модуль безопасности при каждом обращении к каждому модулю осуществляет проверку выполнения политик безопасности.In another embodiment, the security module checks the implementation of security policies each time each module is accessed.
В еще одном варианте исполнения указанные модули взаимодействуют между собой посредством модуля безопасности путем обмена IPC-сообщениями.In another embodiment, these modules interact with each other through the security module by exchanging IPC messages.
В другом варианте исполнения модуль безопасности перехватывает каждое обращение от одного изолированного модуля к другому изолированному модулю, анализирует перехваченное обращение и передает перехваченное обращение назначавшемуся изолированному модулю, если указанное обращение соответствует требованиям и условиям политики безопасности.In another embodiment, the security module intercepts each call from one isolated module to another isolated module, analyzes the intercepted call, and forwards the intercepted call to the designated isolated module if the specified call meets the requirements and conditions of the security policy.
Краткое описание чертежейBrief description of drawings
Прилагаемые чертежи иллюстрируют только примерные варианты осуществления изобретения, и поэтому не должны считаться ограничивающими его объем. Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:The accompanying drawings illustrate only exemplary embodiments of the invention and therefore should not be considered limiting its scope. Additional objects, features and advantages of the present invention will become apparent from a reading of the following description of the invention with reference to the accompanying drawings, in which:
Фиг. 1 иллюстрирует пример компьютерной сети, в рамках которой реализуется система межсетевого взаимодействия. Fig. 1 illustrates an example of a computer network within which an internetworking system is implemented.
Фиг. 2 иллюстрирует способ межсетевого взаимодействия клиента, системы межсетевого взаимодействия и сервера. Fig. 2 illustrates a method for internetworking between a client, an internetworking system, and a server.
Фиг. 3 иллюстрирует пример компьютерной системы общего назначения. Fig. 3 illustrates an example of a general purpose computer system.
Осуществление изобретенияCarrying out the invention
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является не чем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.Objects and features of the present invention, methods for achieving these objects and features will become apparent by reference to exemplary embodiments. However, the present invention is not limited to the exemplary embodiments disclosed below, but may be embodied in various forms. The substance set forth in the specification is nothing more than the specific details necessary to assist one skilled in the art in fully understanding the invention, and the present invention is defined within the scope of the appended claims.
ГлоссарийGlossary
SSL/TLS (англ. Secure Socket Layer/Transport Layer Security) - протокол защищенной связи через интернет в системе «клиент - сервер».SSL/TLS (Secure Socket Layer/Transport Layer Security) is a protocol for secure communication over the Internet in a client-server system.
SSL/TLS-сертификат - это цифровой сертификат, удостоверяющий подлинность сервера и позволяющий использовать зашифрованное соединение.An SSL/TLS certificate is a digital certificate that authenticates a server and allows an encrypted connection.
IPC (Interprocess Communication) - механизм, предназначенный для обмена данными и синхронизации между различными процессами, которые работают на одной или нескольких компьютерных системах.IPC (Interprocess Communication) is a mechanism designed for data exchange and synchronization between different processes that run on one or more computer systems.
IPC-канал - соединяющий две сущности друг с другом канал, используемый для обмена IPC-сообщениями.IPC channel is a channel connecting two entities to each other, used to exchange IPC messages.
Call() - системный вызов, который в контексте обмена IPC-сообщениями используется для отправки сообщения одного процесса другому процессу. Этот вызов позволяет процессу отправлять запрос или сообщение другому процессу и переходить в режим ожидания до тех пор, пока не получит ответное сообщение или не истечет определенный промежуток времени.Call() is a system call that, in the context of IPC messaging, is used to send a message from one process to another process. This call allows a process to send a request or message to another process and wait until it receives a response message or a specified period of time has passed.
Recv() - системный вызов, который в контексте обмена IPC-сообщениями используется для приема сообщения, отправленного другим процессом. Этот вызов позволяет процессу переходить в режим ожидания до тех пор, пока не будет получено сообщение от другого процесса или не истечет определенный промежуток времени.Recv() is a system call that, in the context of IPC messaging, is used to receive a message sent by another process. This call allows a process to enter sleep mode until a message is received from another process or a specified period of time has elapsed.
Reply() - системный вызов, который в контексте обмена IPC-сообщениями используется для отправки ответного сообщения на запрос, полученный другим процессом. Этот вызов позволяет процессу отправлять ответ на запрос и вывести из режима ожидания процесс, который ожидает ответ.Reply() is a system call that, in the context of IPC messaging, is used to send a response message to a request received by another process. This call allows a process to send a response to a request and wakes up the process that is waiting for the response.
Виртуальная файловая система (от англ. Virtual File System, VFS) - уровень абстракции поверх конкретной реализации файловой системы. Виртуальная файловая система может быть использована для доступа к локальным устройствам и файлам, сетевым устройствам и файлам на них, а также к информации из ядра операционной системы о системных процессах. Виртуальная файловая система декларирует программный интерфейс между ядром и конкретной файловой системой, таким образом для добавления поддержки новой файловой системы не требуется вносить изменения в ядро операционной системы.Virtual file system (from the English Virtual File System, VFS) is an abstraction layer on top of a specific implementation of the file system. A virtual file system can be used to access local devices and files, network devices and files on them, and information from the operating system kernel about system processes. A virtual file system declares a programming interface between the kernel and a specific file system, so adding support for a new file system does not require changes to the operating system kernel.
На Фиг. 1 представлен пример взаимодействия клиента 110 с сервером 160 посредством системы межсетевого взаимодействия 120. В одном из вариантов реализации система межсетевого взаимодействия 120 представляет собой реализованный на компьютерной системе TLS-прокси-сервер, который действует как промежуточная точка между клиентским и серверным приложениями.In FIG. 1 illustrates an example of client 110 interacting with server 160 via internetworking system 120 . In one embodiment, internetworking system 120 is a computer system-based TLS proxy server that acts as an intermediate point between client and server applications.
В рамках данного изобретения под компьютерной системой подразумевается по меньшей мере одно вычислительное устройство, в частности персональный компьютер, ноутбук, смартфон, планшет, маршрутизатор, система хранения данных и сервер. Элементы системы межсетевого взаимодействия, а также клиент и сервер могут быть реализованы на компьютере, пример которого представлен на Фиг. 3. Стоит отметить, что элементы системы межсетевого взаимодействия 120, клиент 110 и сервер 160 могут быть реализованы как на одной компьютерной системе, так и на нескольких компьютерных системах. Например, система межсетевого взаимодействия 120 и клиент 110 находятся на одной компьютерной системе, а сервер 160 - на другой компьютерной системе. В другом варианте реализации система 120 и сервер 160 находятся на одной компьютерной системе, а клиент 110 - на другой. В еще одном варианте реализации как клиент 110, так и сервер 160 используют системы 120 каждый на своей компьютерной системе.For the purposes of this invention, a computer system refers to at least one computing device, such as a personal computer, laptop, smartphone, tablet, router, storage system, and server. Elements of the internetworking system, as well as the client and server, may be implemented on a computer, an example of which is shown in FIG. 3 . It is worth noting that the elements of the internetworking system 120 , client 110 and server 160 , may be implemented on a single computer system or on multiple computer systems. For example, internetworking system 120 and client 110 are on one computer system, and server 160 is on another computer system. In another implementation, system 120 and server 160 are on one computer system, and client 110 is on another. In yet another embodiment, both client 110 and server 160 each use systems 120 on a different computer system.
В предпочтительном варианте реализации в роли клиента 110 выступает приложение, установленное на операционной системе (например, Kaspersky OS). В роли сервера 160 выступает удаленный сервер. При этом клиент 110 реализован на одной компьютерной системе, система межсетевого взаимодействия 120 - на второй компьютерной системе, а сервер 160 является третьей компьютерной системой.In the preferred implementation as a client 110 is an application installed on the operating system (for example, Kaspersky OS). As a server 160acts as a remote server. In this case, the client 110 implemented on one computer system, internetworking system 120 - on a second computer system, and the server 160is the third computer system.
В одном из частных вариантов реализации в роли клиента 110 выступает приложение, установленное на операционной системе (например, Kaspersky OS). В роли сервера 160 выступает удаленный сервер. При этом клиент 110 и система межсетевого взаимодействия 120 реализованы на одной компьютерной системе, а сервер 160 - на второй компьютерной системе.In one of the private implementation options, the role of client 110 is an application installed on the operating system (for example, Kaspersky OS). The role of server 160 is played by a remote server. In this case, the client 110 and the internetworking system 120 are implemented on one computer system, and the server 160 is implemented on a second computer system.
В другом частном варианте реализации в роли клиента 110 выступает приложение, установленное на операционной системе (например, Kaspersky OS). В роли сервера 160 выступает виртуальная файловая система. При этом клиент 110, система межсетевого взаимодействия 120 и сервер 160 реализованы на одной компьютерной системе.In another particular implementation, the role of client 110 is an application installed on an operating system (for example, Kaspersky OS). The role of server 160 is a virtual file system. In this case, the client 110 , the internetworking system 120 and the server 160 are implemented on one computer system.
Система межсетевого взаимодействия 120 предназначена для защиты хранилища сертификатов, а также создания шифрованного канала связи между клиентом 110 и сервером 160.The internetworking system 120 is designed to secure the certificate store as well as create an encrypted communication channel between the client 110 and the server 160 .
Система межсетевого взаимодействия 120 инициализирует от лица клиента 110 запрос на TLS-соединение (далее - соединение) с сервером 160. Далее система межсетевого взаимодействия принимает от сервера 160 SSL-сертификат (далее - сертификат) и проверяет его на подлинность. Если сертификат сервера 160 определен как подлинный, система межсетевого взаимодействия 120 создает шифрованный канал связи с сервером 160.The internetworking system 120 initiates, on behalf of the client 110, a request for a TLS connection (hereinafter referred to as the connection) with the server 160 . Next, the internetworking system receives an SSL certificate (hereinafter referred to as the certificate) from the server 160 and verifies its authenticity. If the server 160 certificate is determined to be authentic, the internetworking system 120 creates an encrypted communication channel with the server 160 .
В частном варианте реализации, если клиент 110 и система межсетевого взаимодействия 120 реализованы на одной компьютерной системе, система межсетевого взаимодействия 120 до инициализации от лица клиента 110 запроса на соединение с сервером 160 перехватывает запрос клиента 110 на соединение с сервером 160, причем запрос может быть как на незащищенное соединение, так и на TLS-соединение.In a particular embodiment, if the client 110 and the internetworking system 120 are implemented on the same computer system, the internetworking system 120 , before initializing a request on behalf of the client 110 to connect to the server 160 , intercepts the client 110's request to connect to the server 160 , and the request may be as follows: both on an unsecured connection and on a TLS connection.
В другом частном варианте реализации, если клиент 110 и система межсетевого взаимодействия 120 реализованы на разных компьютерных системах, система межсетевого взаимодействия 120 создает шифрованный канал связи не только с сервером 160, но и с клиентом 110.In another particular implementation, if the client 110 and the internetworking system 120 are implemented on different computer systems, the internetworking system 120 creates an encrypted communication channel not only with the server 160 , but also with the client 110 .
Система межсетевого взаимодействия 120 состоит из модуля безопасности 125, изолированного модуля транспортного взаимодействия 130, изолированного модуля шифрования 140 и изолированного модуля контроля сертификатов 150.The internetworking system 120 consists of a security module 125 , an isolated transport module 130 , an isolated encryption module 140 , and an isolated certificate control module 150 .
Модуль безопасности 125 является компонентом системы межсетевого взаимодействия 120 и предназначен для изоляции модуля транспортного взаимодействия 130, модуля шифрования 140 и модуля контроля сертификатов 150.The security module 125 is a component of the internetworking system 120 and is designed to isolate the transport interworking module 130 , the encryption module 140 , and the certificate control module 150 .
Модуль безопасности 125 содержит набор правил (политики безопасности), которые позволяют регулировать взаимодействие модулей системы межсетевого взаимодействия 120 как между собой, так и с внешними источниками. Примером внешнего источника является сервер. Указанные правила содержат требования и условия, необходимые для взаимодействия модулей. Например, требования содержат перечень модулей, которые могут обращаться к тому или иному изолированному модулю, а условия в свою очередь содержат, например, время, в которое модули могут обращаться к друг другу.Security module 125 contains a set of rules (security policies) that allow you to regulate the interaction of modules of the internetworking system 120 both among themselves and with external sources. An example of an external source is a server. These rules contain the requirements and conditions necessary for the interaction of modules. For example, requirements contain a list of modules that can access one or another isolated module, and conditions, in turn, contain, for example, the time at which modules can access each other.
Изоляция каждого из модулей системы межсетевого взаимодействия 120 реализуется с помощью политик безопасности согласно принципу безопасных умолчаний (англ. - Fail-safe defaults), а точнее одному из вариантов этого принципа - запрет по умолчанию (англ. - default deny). Данный принцип заключается в запрете осуществления любого взаимодействия модулей системы межсетевого взаимодействия 120 как друг с другом, так и с внешними сущностями. Таким образом, разрешается только то взаимодействие с модулями системы межсетевого взаимодействия 120, которое разрешено явно.The isolation of each of the modules of the internetworking system 120 is implemented using security policies in accordance with the principle of safe defaults (English - Fail-safe defaults), or rather one of the variants of this principle - default deny (English - default deny). This principle consists in prohibiting any interaction between modules of the internetworking system 120 , both with each other and with external entities. Thus, only those interactions with modules of the internetworking system 120 that are explicitly permitted are permitted.
Модули системы межсетевого взаимодействия 120 взаимодействуют между собой посредством модуля безопасности 125, обмениваясь IPC-сообщениями: IPC-запросом и IPC-ответом. Модуль безопасности 125 осуществляет перехват каждого обращения одного модуля к другому, анализирует перехваченное обращение и передает перехваченное обращение назначавшемуся модулю, если такое обращение разрешено. Во взаимодействии модулей каждый модуль наделяется одной из ролей: модуль, инициализирующий взаимодействие, и модуль, обрабатывающий обращение. При этом каждый модуль системы 120 может быть как модулем, инициализирующим взаимодействие, так и модулем, обрабатывающим обращение. Например, на Фиг. 1 изолированный модуль транспортного взаимодействия 130 является модулем, инициализирующим взаимодействие с изолированным модулем шифрования 140, который в свою очередь является модулем, инициализирующим взаимодействие с изолированным модулем контроля сертификатов 150.The modules of the internetworking system 120 communicate with each other through the security module 125 by exchanging IPC messages: an IPC request and an IPC response. Security module 125 intercepts each call from one module to another, analyzes the intercepted call, and forwards the intercepted call to the designated module if such call is allowed. In the interaction of modules, each module is assigned one of the roles: the module that initiates the interaction, and the module that processes the request. In this case, each module of system 120 can be both a module that initiates interaction and a module that processes the request. For example, in FIG. 1, isolated transport interworking module 130 is a module that initiates interaction with isolated encryption module 140 , which in turn is a module that initiates interaction with isolated certificate control module 150 .
Модули системы межсетевого взаимодействия 120 для обмена IPC-сообщениями используют три системных вызова: Call(), Recv() и Reply(), при этом обмен IPC-сообщениями осуществляется следующим образом:The Internetworking System 120 modules use three system calls to exchange IPC messages: Call(), Recv(), and Reply(), and IPC messages are exchanged as follows:
• модуль, инициализирующий взаимодействие, направляет модулю, обрабатывающему обращение, IPC-запрос. Для этого модуль, инициализирующий взаимодействие, выполняет системный вызов Call() и переходит в режим ожидания IPC-ответа. Модуль безопасности 125 перехватывает этот IPC-запрос и анализирует его на соответствие политикам безопасности. Если IPC-запрос соответствует политикам безопасности, модуль безопасности 125 отправляет IPC-запрос модулю, обрабатывающему обращение. Иначе, если IPC-запрос не соответствует политикам безопасности, модуль безопасности 125 отправляет модулю, инициализирующему взаимодействие, IPC-ответ с отказом в доступе к модулю, обрабатывающему обращение;• the module that initiates the interaction sends an IPC request to the module that processes the request. To do this, the module that initiates the interaction executes the Call() system call and goes into the mode of waiting for an IPC response. Security module 125 intercepts this IPC request and analyzes it for compliance with security policies. If the IPC request matches the security policies, the security module 125 sends the IPC request to the module processing the request. Otherwise, if the IPC request does not comply with the security policies, the security module 125 sends to the module initiating the interaction an IPC response denying access to the module processing the request;
• модуль, обрабатывающий обращение, выполняет системный вызов Recv() и переходит в режим ожидания IPC-запроса. При получении IPC-запроса модуль, обрабатывающий обращение, выходит из режима ожидания, обрабатывает IPC-запрос и отправляет IPC-ответ с помощью выполнения системного вызова Reply();• the module processing the request executes the Recv() system call and goes into IPC request waiting mode. When an IPC request is received, the module processing the request wakes up, processes the IPC request, and sends an IPC response by executing the Reply() system call;
• при получении IPC-ответа модуль, инициализирующий взаимодействие, выходит из режима ожидания.• upon receiving an IPC response, the module that initiates the interaction exits the standby mode.
Изолированный модуль транспортного взаимодействия 130 предназначен для инициализации соединения, получения сертификата сервера 160, получения публичного ключа сервера 160, создания шифрованного канала связи между клиентом 110 и сервером 160, в случае если сертификат сервера 160 подлинный, и передачи данных между клиентом 110 и сервером 160.Isolated transport interaction module 130 intended for initializing a connection, obtaining a server certificate 160, receiving server public key 160, creating an encrypted communication channel between the client 110 and server 160, in case the server certificate 160 authentic, and data transfer between the client 110 and server 160.
Изолированный модуль транспортного взаимодействия 130 является модулем, инициализирующим взаимодействие с клиентом 110, сервером 160 и изолированным модулем шифрования 140.Isolated transport interworking module 130 is a module that initiates interaction with client 110 , server 160 , and isolated encryption module 140 .
В частном варианте реализации изолированный модуль транспортного взаимодействия 130 перехватывает запрос на соединение от клиента 110 к серверу 160. Затем отправляет серверу 160 запрос на соединение. В ответ модуль 130 получает от сервера 160 сертификат и публичный ключ сервера 160, которые отправляет по IPC-каналу изолированному модулю шифрования 140.In a particular embodiment, an isolated transport module 130 intercepts a connection request from a client 110 to a server 160 . Then sends server 160 a connection request. In response, module 130 receives from server 160 a certificate and public key of server 160 , which it sends over an IPC channel to isolated encryption module 140 .
Изолированный модуль шифрования 140 предназначен для создания ключей шифрования, шифрования с помощью публичного ключа сервера 160 данных, отправленных клиентом 110 к серверу 160, дешифрования с помощью приватного ключа клиента 110 данных, отправленных сервером 160 к клиенту 110, а также проверки сертификата сервера 160 на подлинность.The isolated encryption module 140 is designed to create encryption keys, encrypt data sent by client 110 to server 160 using the public key of server 160 , decrypt data sent by server 160 to client 110 using the private key of client 110 , and also verify the authenticity of the server 160 certificate .
Изолированный модуль шифрования 140 с одной стороны является модулем, инициализирующим взаимодействие с изолированным модулем контроля сертификатов 150, а с другой стороны является модулем, обрабатывающим обращение изолированного модуля транспортного взаимодействия 130.The isolated encryption module 140 on the one hand is a module that initiates interaction with the isolated certificate control module 150 , and on the other hand is a module that processes the request of the isolated transport interaction module 130 .
Изолированный модуль транспортного взаимодействия 130 отправляет IPC-запрос на проверку полученных данных от сервера 160 изолированному модулю шифрования 140 и переходит в режим ожидания IPC-ответа. IPC-запрос содержит по меньшей мере сертификат и публичный ключ сервера 160.The isolated transport interaction module 130 sends an IPC request to verify the received data from the server 160 to the isolated encryption module 140 and goes into the IPC response mode. The IPC request contains at least a certificate and a public key of the server 160 .
Изолированный модуль шифрования 140 принимает IPC-запрос на проверку сертификата сервера 160 от изолированного модуля транспортного взаимодействия 130. Затем посредством изолированного модуля контроля сертификатов 150 (описан далее) изолированный модуль шифрования 140 проверяет сертификат сервера 160 на подлинность.Isolated encryption module 140accepts an IPC request to verify the server certificate 160 from an isolated transport interaction module 130. Then, through the isolated certificate control module 150 (described below) isolated encryption module 140checks the server certificate 160 for authenticity.
Если сертификат сервера 160 не является подлинным, изолированный модуль шифрования 140 не создает публичный и приватный ключи шифрования клиента 110 и отправляет IPC-ответ с результатом проверки сертификата сервера 160 изолированному модулю транспортного взаимодействия 130 для отмены создания соединения с сервером 160.If the server 160 certificate is not genuine, the isolated cryptographic module 140 does not create the public and private encryption keys of the client 110 and sends an IPC response with the result of verifying the server 160 certificate to the isolated transport module 130 to cancel the creation of the connection with the server 160 .
Если сертификат сервера 160 является подлинным, изолированный модуль шифрования 140 создает публичный и приватный ключи шифрования клиента 110. Изолированный модуль шифрования 140 отправляет IPC-ответ с результатом проверки сертификата сервера 160 и публичным ключом клиента 110 изолированному модулю транспортного взаимодействия 130 для создания соединения с сервером 160.If the server 160 certificate is genuine, the isolated encryption module 140 generates the client 110 's public and private encryption keys. The isolated encryption module 140 sends an IPC response with the result of verifying the server 160 certificate and the client's public key 110 to the isolated transport module 130 to create a connection with the server 160 .
В частном варианте реализации, если у клиента 110 есть публичный и приватный ключи шифрования, изолированный модуль шифрования 140 создает публичный и приватный ключи шифрования системы межсетевого взаимодействия 120 для создания шифрованного канала связи не только с сервером 160, но и с клиентом 110.In a particular implementation, if the client 110 has public and private encryption keys, the isolated encryption module 140 creates the public and private encryption keys of the internetworking system 120 to create an encrypted communication channel not only with the server 160 , but also with the client 110 .
Изолированный модуль транспортного взаимодействия 130 принимает IPC-ответ от изолированного модуля шифрования 140. Если сертификат сервера 160 не является подлинным, изолированный модуль транспортного взаимодействия 130 не создает соединение с сервером 160. Если сертификат сервера 160 является подлинным, изолированный модуль транспортного взаимодействия 130 отправляет публичный ключ клиента 110 к серверу 160 и создает шифрованный канал связи с сервером 160.The isolated transport interworking module 130 receives the IPC response from the isolated encryption module 140 . If the server 160 certificate is not genuine, the isolated transport module 130 does not create a connection to the server 160 . If the certificate of server 160 is genuine, isolated transport module 130 sends the public key of client 110 to server 160 and creates an encrypted communication channel with server 160 .
В частном варианте реализации изолированный модуль транспортного взаимодействия 130 обменивается публичными ключами с сервером 160 и клиентом 110 и создает шифрованные каналы связи с сервером 160 и клиентом 110.In a particular embodiment, isolated transport module 130 exchanges public keys with server 160 and client 110 and creates encrypted communication channels with server 160 and client 110 .
Изолированный модуль контроля сертификатов 150 предназначен для предоставления изолированному модулю шифрования 140 доступа к базе сертификатов.The isolated certificate control module 150 is designed to provide the isolated encryption module 140 with access to the certificate database.
В предпочтительном варианте реализации база сертификатов реализована на машиночитаемом носителе информации, например SD-карте, причем изолированный модуль контроля сертификатов 150 получает доступ к базе сертификатов посредством виртуальной файловой системы 152.In a preferred embodiment, the certificate database is implemented on a computer-readable storage medium, such as an SD card, with an isolated certificate control module 150 accessing the certificate database via a virtual file system 152 .
Изолированный модуль контроля сертификатов 150 является модулем, обрабатывающим обращение изолированного модуля шифрования 140.The isolated certificate control module 150 is the module that processes the request of the isolated encryption module 140 .
Фиг. 2 иллюстрирует способ межсетевого взаимодействия клиента, системы межсетевого взаимодействия и сервера. Fig. 2 illustrates a method for internetworking between a client, an internetworking system, and a server.
На предварительном этапе 205 перехватывают с помощью системы межсетевого взаимодействия 120, в частности при помощи модуля транспортного взаимодействия 130, запрос на соединение от клиента 110 к серверу 160.In a preliminary step 205, the connection request from the client 110 to the server 160 is intercepted by the internetworking system 120 , in particular by the transport interworking module 130 .
В частном варианте реализации в роли клиента 110 выступает приложение, установленное на операционной системе (например, Kaspersky OS, Linux OS). При этом клиент 110 и система межсетевого взаимодействия 120 реализованы в рамках единой компьютерной системы.In a private embodiment, the role of client 110 is an application installed on the operating system (for example, Kaspersky OS, Linux OS). In this case, the client 110 and the internetworking system 120 are implemented within a single computer system.
В частном варианте реализации в роли клиента 110 выступает приложение, установленное на операционной системе (например, Kaspersky OS, Linux OS). В роли сервера 160 выступает виртуальная файловая система. При этом клиент 110, система межсетевого взаимодействия 120 и сервер 160 реализованы в рамках единой компьютерной системы.In a private embodiment, the role of client 110 is an application installed on the operating system (for example, Kaspersky OS, Linux OS). The role of server 160 is a virtual file system. In this case, the client 110 , the internetworking system 120 and the server 160 are implemented within a single computer system.
На этапе 210 с помощью системы межсетевого взаимодействия 120 инициализируют от лица клиента 110 запрос на соединение с сервером 160.At step 210 , the internetworking system 120 initiates a request to connect to the server 160 on behalf of the client 110 .
На этапе 220 с помощью системы межсетевого взаимодействия 120 принимают от сервера 160 сертификат и публичный ключ сервера 160.At step 220, the certificate and public key of the server 160 are received from the server 160 by the internetworking system 120 .
На этапе 230 проверяют сертификат сервера 160 на подлинность с помощью изолированного модуля шифрования 140 с помощью базы сертификатов, доступ к которой получают посредством изолированного модуля контроля сертификатов 150.At step 230 , the certificate of the server 160 is verified for authenticity by the isolated encryption module 140 using a certificate database accessed by the isolated certificate control module 150 .
На этапе 240 создают публичный и приватный ключи шифрования клиента 110 посредством изолированного модуля шифрования 140 и обмениваются публичными ключами шифрования посредством изолированного модуля транспортного взаимодействия 130 с сервером 160 для создания шифрованного канала связи с сервером 160.At step 240 , the public and private encryption keys of the client 110 are created through the isolated encryption module 140 and the public encryption keys are exchanged through the isolated transport module 130 with the server 160 to create an encrypted communication channel with the server 160 .
Шифрование данных, отправленных от клиента 110 к серверу 160, реализуется с помощью публичного ключа сервера 160, а дешифрование данных, отправленных от сервера 160 к клиенту 110, реализуется с помощью приватного ключа клиента 110.Encryption of data sent from client 110 to server 160 is accomplished using the public key of server 160 , and decryption of data sent from server 160 to client 110 is accomplished using client 110 's private key.
В частном варианте реализации, в котором у клиента 110 есть публичный и приватный ключи шифрования для взаимодействия с системой межсетевого взаимодействия 120, создают публичный и приватный ключи шифрования системы межсетевого взаимодействия 120 и обмениваются публичными ключами шифрования посредством изолированного модуля транспортного взаимодействия 130 с сервером 160 и клиентом 110 и создают шифрованные каналы связи с сервером 160 и клиентом 110.In a particular embodiment, in which the client 110 has public and private encryption keys to communicate with the internetworking system 120 , the public and private encryption keys of the internetworking system 120 are generated and the public encryption keys are exchanged via an isolated transport interworking module 130 with the server 160 and the client. 110 and create encrypted communication channels with the server 160 and the client 110 .
На этапе 250 используют шифрованный канал связи для передачи данных между клиентом 110 и сервером 160.At step 250 , an encrypted communication channel is used to transmit data between client 110 and server 160 .
На Фиг. 3 представлена компьютерная система, на которой могут быть реализованы различные варианты систем и способов, раскрытых в настоящем документе. Компьютерная система 20 может представлять собой систему, сконфигурированную для реализации настоящего изобретения, и может быть в виде одного вычислительного устройства или в виде нескольких вычислительных устройств, например, настольного компьютера, портативного компьютера, ноутбука, мобильного вычислительного устройства, смартфона, планшетного компьютера, сервера, мейнфрейма, встраиваемого устройства и других форм вычислительных устройств.In FIG. 3 illustrates a computer system on which various embodiments of the systems and methods disclosed herein can be implemented. The computer system 20 may be a system configured to implement the present invention and may be in the form of a single computing device or multiple computing devices, such as a desktop computer, a laptop computer, a notebook computer, a mobile computing device, a smartphone, a tablet computer, a server, mainframe, embedded device and other forms of computing devices.
Как показано на Фиг. 3, компьютерная система 20 включает в себя: центральный процессор 21, системную память 22 и системную шину 23, которая связывает разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, способную взаимодействовать с любой другой шинной архитектурой. Примерами шин являются: PCI, ISA, PCI-Express, HyperTransport™, InfiniBand™, Serial ATA, I2C и другие подходящие соединения между компонентами компьютерной системы 20. Центральный процессор 21 содержит один или несколько процессоров, имеющих одно или несколько ядер. Центральный процессор 21 исполняет один или несколько наборов машиночитаемых инструкций, реализующих способы, представленные в настоящем документе. Системная память 22 может быть любой памятью для хранения данных и/или компьютерных программ, исполняемых центральным процессором 21. Системная память может содержать как постоянное запоминающее устройство (ПЗУ) 24, так и память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами компьютерной системы 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.As shown in FIG. 3 , computer system 20 includes: a central processing unit 21 , system memory 22 , and a system bus 23 that communicates various system components, including memory, coupled to the central processing unit 21 . System bus 23 is implemented like any bus structure known in the art, which in turn includes a bus memory or bus memory controller, a peripheral bus, and a local bus capable of interfacing with any other bus architecture. Examples of buses include: PCI, ISA, PCI-Express, HyperTransport™, InfiniBand™, Serial ATA, I2C and other suitable connections between computer system components 20 . The central processing unit 21 contains one or more processors having one or more cores. The central processing unit 21 executes one or more sets of computer-readable instructions implementing the methods presented herein. System memory 22 may be any memory for storing data and/or computer programs executable by the central processing unit 21 . System memory can contain both read-only memory (ROM) 24 and random access memory (RAM) 25 . The basic input/output system (BIOS) 26 contains the basic procedures that ensure the transfer of information between elements of the computer system 20 , for example, when the operating system is loaded using ROM 24 .
Компьютерная система 20 включает в себя одно или несколько устройств хранения данных, таких как одно или несколько извлекаемых запоминающих устройств 27, одно или несколько неизвлекаемых запоминающих устройств 28, или комбинации извлекаемых и неизвлекаемых устройств. Одно или несколько извлекаемых запоминающих устройств 27 и/или неизвлекаемых запоминающих устройств 28 подключены к системной шине 23 через интерфейс 32. В одном из вариантов реализации извлекаемые запоминающие устройства 27 и соответствующие машиночитаемые носители информации представляют собой энергонезависимые модули для хранения компьютерных инструкций, структур данных, программных модулей и других данных компьютерной системы 20. Системная память 22, извлекаемые запоминающие устройства 27 и неизвлекаемые запоминающие устройства 28 могут использовать различные машиночитаемые носители информации. Примеры машиночитаемых носителей информации включают в себя машинную память, такую как кэш-память, SRAM, DRAM, ОЗУ, не требующую конденсатора (Z-RAM), тиристорную память (T-RAM), eDRAM, EDO RAM, DDR RAM, EEPROM, NRAM, RRAM, SONOS, PRAM; флэш-память или другие технологии памяти, такие как твердотельные накопители (SSD) или флэш-накопители; магнитные кассеты, магнитные ленты и магнитные диски, такие как жесткие диски или дискеты; оптические носители, такие как компакт-диски (CD-ROM) или цифровые универсальные диски (DVD); и любые другие носители, которые могут быть использованы для хранения нужных данных и к которым может получить доступ компьютерная система 20.Computer system 20 includes one or more data storage devices, such as one or more removable storage devices 27 , one or more non-removable storage devices 28 , or combinations of removable and non-removable devices. One or more removable storage devices 27 and/or non-removable storage devices 28 are connected to the system bus 23 via an interface 32 . In one embodiment, removable storage devices 27 and associated computer-readable storage media are nonvolatile modules for storing computer instructions, data structures, program modules, and other computer system 20 data. System memory 22 , removable storage devices 27 , and non-removable storage devices 28 may use various computer readable media. Examples of computer-readable storage media include computer memory such as cache memory, SRAM, DRAM, capacitorless RAM (Z-RAM), thyristor memory (T-RAM), eDRAM, EDO RAM, DDR RAM, EEPROM, NRAM , RRAM, SONOS, PRAM; flash memory or other memory technologies such as solid-state drives (SSDs) or flash drives; magnetic cassettes, magnetic tapes and magnetic disks such as hard disks or floppy disks; optical media such as compact discs (CD-ROMs) or digital versatile discs (DVDs); and any other media that can be used to store the desired data and that can be accessed by the computer system 20 .
Системная память 22, извлекаемые запоминающие устройства 27 и неизвлекаемые запоминающие устройства 28, содержащиеся в компьютерной системе 20 используются для хранения операционной системы 35, приложений 37, других программных модулей 38 и программных данных 39. Компьютерная система 20 включает в себя периферийный интерфейс 46 для передачи данных от устройств ввода 40, таких как клавиатура, мышь, стилус, игровой контроллер, устройство голосового ввода, устройство сенсорного ввода, или других периферийных устройств, таких как принтер или сканер через один или несколько портов ввода/вывода, таких как последовательный порт, параллельный порт, универсальная последовательная шина (USB) или другой периферийный интерфейс. Устройство отображения 47, такое как один или несколько мониторов, проекторов или встроенных дисплеев, также подключено к системной шине 23 через выходной интерфейс 48, такой как видеоадаптер. Помимо устройств отображения 47, компьютерная система 20 оснащена другими периферийными устройствами вывода (на Фиг. 3 не показаны), такими как динамики и другие аудиовизуальные устройства.System memory 22 , removable storage devices 27 , and non-removable storage devices 28 contained in the computer system 20 are used to store the operating system 35 , applications 37 , other program modules 38 , and program data 39 . Computer system 20 includes a peripheral interface 46 for transmitting data from input devices 40 such as a keyboard, mouse, stylus, game controller, voice input device, touch input device, or other peripheral devices such as a printer or scanner through one or more input/output ports, such as a serial port, parallel port, universal serial bus (USB), or other peripheral interface. A display device 47 , such as one or more monitors, projectors, or embedded displays, is also connected to the system bus 23 through an output interface 48 , such as a video adapter. In addition to the display devices 47 , the computer system 20 is equipped with other peripheral output devices (not shown in FIG. 3), such as speakers and other audiovisual devices.
Компьютерная система 20 может работать в сетевом окружении, используя сетевое соединение с одним или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 является рабочим персональным компьютером или сервером, который содержит большинство или все упомянутые компоненты, отмеченные ранее при описании сущности компьютерной системы 20, представленной на Фиг. 3. В сетевом окружении также могут присутствовать и другие устройства, например, маршрутизаторы, сетевые станции или другие сетевые узлы. Компьютерная система 20 может включать один или несколько сетевых интерфейсов 51 или сетевых адаптеров для связи с удаленными компьютерами 49 через одну или несколько сетей, таких как локальная компьютерная сеть (LAN) 50, глобальная компьютерная сеть (WAN), интранет и Интернет. Примерами сетевого интерфейса 51 являются интерфейс Ethernet, интерфейс Frame Relay, интерфейс SONET и беспроводные интерфейсы.The computer system 20 may operate in a networked environment using a network connection to one or more remote computers 49 . The remote computer(s) 49 is a working personal computer or server that contains most or all of the components noted previously in describing the nature of the computer system 20 shown in FIG. 3 . There may also be other devices in the network environment, such as routers, network stations or other network nodes. The computer system 20 may include one or more network interfaces 51 or network adapters for communicating with remote computers 49 over one or more networks, such as a local area network (LAN) 50 , a wide area network (WAN), an intranet, and the Internet. Examples of network interface 51 are an Ethernet interface, a Frame Relay interface, a SONET interface, and wireless interfaces.
Варианты раскрытия настоящего изобретения могут представлять собой систему, способ, или машиночитаемый носитель (или носитель) информации.Embodiments of the present invention may be a system, a method, or a computer-readable medium (or storage medium).
Машиночитаемый носитель информации является осязаемым устройством, которое сохраняет и хранит программный код в форме машиночитаемых инструкций или структур данных, к которым имеет доступ центральный процессор 21 компьютерной системы 20. Машиночитаемый носитель может быть электронным, магнитным, оптическим, электромагнитным, полупроводниковым запоминающим устройством или любой подходящей их комбинацией. В качестве примера, такой машиночитаемый носитель информации может включать в себя память с произвольным доступом (RAM), память только для чтения (ROM), EEPROM, портативный компакт-диск с памятью только для чтения (CD-ROM), цифровой универсальный диск (DVD), флэш-память, жесткий диск, портативную компьютерную дискету, карту памяти, дискету или даже механически закодированное устройство, такое как перфокарты или рельефные структуры с записанными на них инструкциями.A computer-readable storage medium is a tangible device that stores and stores program code in the form of machine-readable instructions or data structures that are accessible by the central processing unit 21 of a computer system 20 . A computer-readable medium may be an electronic, magnetic, optical, electromagnetic, semiconductor storage device, or any suitable combination thereof. By way of example, such a computer-readable storage medium may include random access memory (RAM), read-only memory (ROM), EEPROM, portable compact disc read-only memory (CD-ROM), digital versatile disk (DVD) ), flash memory, hard drive, portable computer floppy disk, memory card, floppy disk, or even a mechanically encoded device such as punch cards or embossed structures with instructions written on them.
Система и способ, настоящего изобретения, могут быть рассмотрены в терминах средств. Термин "средство", используемый в настоящем документе, относится к реальному устройству, компоненту или группе компонентов, реализованных с помощью аппаратного обеспечения, например, с помощью интегральной схемы, специфичной для конкретного приложения (ASIC) или FPGA, или в виде комбинации аппаратного и программного обеспечения, например, с помощью микропроцессорной системы и набора машиночитаемых инструкций для реализации функциональности средства, которые (в процессе выполнения) превращают микропроцессорную систему в устройство специального назначения. Средство также может быть реализовано в виде комбинации этих двух компонентов, при этом некоторые функции могут быть реализованы только аппаратным обеспечением, а другие функции - комбинацией аппаратного и программного обеспечения. В некоторых вариантах реализации, по крайней мере, часть, а в некоторых случаях и все средство может быть выполнено на центральном процессоре 21 компьютерной системы 20. Соответственно, каждое средство может быть реализовано в различных подходящих конфигурациях и не должно ограничиваться каким-либо конкретным вариантом реализации, приведенным в настоящем документе.The system and method of the present invention can be thought of in terms of means. The term "device" as used herein refers to an actual device, component, or group of components implemented in hardware, such as an application-specific integrated circuit (ASIC) or FPGA, or a combination of hardware and software. providing, for example, using a microprocessor system and a set of machine-readable instructions to implement the functionality of a tool that (in the process of execution) turns the microprocessor system into a special-purpose device. The tool may also be implemented as a combination of these two components, with some functions being implemented by hardware alone and other functions being implemented by a combination of hardware and software. In some embodiments, at least a portion, and in some cases all, of the means may be executed on the central processing unit 21 of the computer system 20 . Accordingly, each means may be implemented in various suitable configurations and should not be limited to any particular embodiment set forth herein.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что при разработке любого реального варианта осуществления настоящего изобретения необходимо принять множество решений, специфических для конкретного варианта осуществления, для достижения конкретных целей, и эти конкретные цели будут разными для разных вариантов осуществления. Понятно, что такие усилия по разработке могут быть сложными и трудоемкими, но тем не менее, они будут обычной инженерной задачей для тех, кто обладает обычными навыками в данной области, пользуясь настоящим раскрытием изобретения.In conclusion, it should be noted that the information given in the description are examples that do not limit the scope of the present invention as defined by the formula. One skilled in the art will appreciate that in developing any actual embodiment of the present invention, many decisions specific to the particular implementation must be made to achieve specific objectives, and these specific objectives will differ from one embodiment to another. It is understood that such development efforts can be complex and time-consuming, but would nevertheless be a routine engineering task for those of ordinary skill in the art using the present disclosure.
Claims (27)
Publications (1)
Publication Number | Publication Date |
---|---|
RU2820407C1 true RU2820407C1 (en) | 2024-06-03 |
Family
ID=
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2339188C2 (en) * | 2003-03-18 | 2008-11-20 | Квэлкомм Инкорпорейтед | Organisation of internetworking between first network and second network |
RU2380844C2 (en) * | 2007-02-19 | 2010-01-27 | Нек Корпорейшн | Internetworking device |
US20100169963A1 (en) * | 2008-12-30 | 2010-07-01 | Ebay Inc. | Systems and methods to rotate security assets used for secure communications |
US20130205384A1 (en) * | 2010-05-21 | 2013-08-08 | Thales | Secure System for Interconnection Between Two Public Networks |
US9154958B2 (en) * | 2011-09-06 | 2015-10-06 | Whitserve Llc | Security system for cloud computing |
US9652741B2 (en) * | 2011-07-08 | 2017-05-16 | Box, Inc. | Desktop application for access and interaction with workspaces in a cloud-based content management system and synchronization mechanisms thereof |
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2339188C2 (en) * | 2003-03-18 | 2008-11-20 | Квэлкомм Инкорпорейтед | Organisation of internetworking between first network and second network |
RU2380844C2 (en) * | 2007-02-19 | 2010-01-27 | Нек Корпорейшн | Internetworking device |
US20100169963A1 (en) * | 2008-12-30 | 2010-07-01 | Ebay Inc. | Systems and methods to rotate security assets used for secure communications |
US20130205384A1 (en) * | 2010-05-21 | 2013-08-08 | Thales | Secure System for Interconnection Between Two Public Networks |
US9652741B2 (en) * | 2011-07-08 | 2017-05-16 | Box, Inc. | Desktop application for access and interaction with workspaces in a cloud-based content management system and synchronization mechanisms thereof |
US9154958B2 (en) * | 2011-09-06 | 2015-10-06 | Whitserve Llc | Security system for cloud computing |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11941134B2 (en) | Data access control systems and methods | |
US10742624B2 (en) | Sentinel appliance in an internet of things realm | |
CN107580767B (en) | Method and system for managing network activities using biometrics | |
JP4579969B2 (en) | Method, apparatus and computer program product for sharing encryption key among embedded agents at network endpoints in a network domain | |
Xu et al. | Data-provenance verification for secure hosts | |
US11501005B2 (en) | Security system for using shared computational facilities | |
US11689517B2 (en) | Method for distributed application segmentation through authorization | |
Yu et al. | A trusted remote attestation model based on trusted computing | |
US20170295142A1 (en) | Three-Tiered Security and Computational Architecture | |
US20240080314A1 (en) | Packet watermark with dynamic token validation | |
Sarhan et al. | Secure android-based mobile banking scheme | |
RU2820407C1 (en) | System and method of interworking client and server | |
Galal et al. | Blindfold: Keeping private keys in PKIs and CDNs out of sight | |
US20240012933A1 (en) | Integration of identity access management infrastructure with zero-knowledge services | |
Alexeevskaya et al. | Forensic Search for Traces of Unauthorized Access Using the Kerberos Authentication Protocol | |
Azizul et al. | Authentication and Authorization Design in Honeybee Computing | |
Tank et al. | Security analysis of OpenStack keystone | |
Nosouhi et al. | Towards Availability of Strong Authentication in Remote and Disruption-Prone Operational Technology Environments | |
GB2622355A (en) | Enclave architecture | |
Radhakrishnan et al. | NetAuth: Supporting User-Based Network Services. | |
Foltz et al. | INSTITUTE FOR DEFENSE ANALYSES | |
Foltz et al. | Sharing Smart Card Authenticated Sessions Using Proxies | |
Harpes et al. | SSH Inside Out |