RU2696240C1 - Способ анонимного обмена данными в клиент-серверной архитектуре - Google Patents
Способ анонимного обмена данными в клиент-серверной архитектуре Download PDFInfo
- Publication number
- RU2696240C1 RU2696240C1 RU2018111486A RU2018111486A RU2696240C1 RU 2696240 C1 RU2696240 C1 RU 2696240C1 RU 2018111486 A RU2018111486 A RU 2018111486A RU 2018111486 A RU2018111486 A RU 2018111486A RU 2696240 C1 RU2696240 C1 RU 2696240C1
- Authority
- RU
- Russia
- Prior art keywords
- client
- server
- data
- substructure
- network
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
- G06F16/152—File search processing using file content signatures, e.g. hash values
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0209—Architectural arrangements, e.g. perimeter networks or demilitarized zones
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0407—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
- H04L63/0421—Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Power Engineering (AREA)
- Library & Information Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Storage Device Security (AREA)
Abstract
Изобретение относится к вычислительной технике. Технический результат заключается в обеспечении анонимизации данных клиента при передаче данных в клиент-серверной архитектуре. Способ передачи данных в клиент-серверной архитектуре содержит этапы, на которых разделяют структуру данных на клиенте, предназначенную для отправки серверу, на по меньшей мере две подструктуры; отправляют первую подструктуру от клиента к серверу через узел сети со средством анонимизации, преобразуя данные этой подструктуры средством анонимизации, при этом указанный узел расположен в региональной сети, отличной от сети, в которой расположен сервер, и не находится в одном Интранете с сервером или клиентом; отправляют вторую подструктуру от клиента на узел сети со средством хранения, расположенный в региональной сети, отличной от сети, в которой расположен сервер, и не находящийся в одном Интранете с сервером или клиентом; получают сервером от узла сети со средством хранения вторую подструктуру; объединяют полученные подструктуры данных на сервере в структуру. 14 з.п. ф-лы, 17 ил.
Description
Область техники
Изобретение относится к способам обеспечения анонимности при маршрутизации данных в клиент-серверной архитектуре.
Уровень техники
Изменения законодательства в мире (например, в РФ подписан закон, согласно которому персональные данные россиян, используемые интернет-сервисами, должны храниться на территории России, в Швейцарии для банков требуется чтобы данные пользователей также не покидали территорию юрисдикции федерального правительства, в ряде стран персональные данные запрещается хранить в открытом виде) заставляют специалистов по информационной безопасности искать новые способы управления данными, уходящими от персональных электронных устройств. При этом разрабатываемые решения не должны усложнять работу пользователей компьютерных систем и работать для пользователей максимально прозрачно.
С введением в действие Общего регламента по защите данных (англ. The General Data Protection Regulation, сокр. GDPR) количество персональных данных хранимых в сетевой инфраструктуре на стороне различных сервисов и получаемых от пользователей становится минимальный. При этом необходимо обеспечить распределенное хранение и обработку данных, получаемых от пользователя без потери их уникальности.
Указанные причины вызывают сложности при внедрении облачной инфраструктуры в корпоративном и частном секторе, в результате на рынке появляются технические решения, позволяющие учитывать требования законодательства. Например, публикация:
- US 20122866 описывает способ хранения данных в облачных хранилищах, в котором любой файл от устройства пользователя поступает на прокси-сервер, на котором шифруется и передается в облачное хранилище;
- US 8739265 описывает способ обфускации и извлечения данных, где данные содержащие конфиденциальные данные, отправляемые с устройства, перехватываются, изменяются и передаются далее в облачное хранилище. При этом изменяются не все данные, а определенные в соответствии с правилами, установленными в сети, и эти данные могут не передаваться в облако, а извлекаться и сохранятся локально, а передаваться будут non sensitive data и токен вместо извлеченных данных;
- US 8601598 описывает технологию безопасного хранения данных в облачном хранилище, в которой данные, поступающие в облачное хранилище от устройств с установленным агентом, шифруются открытым ключом, при этом само хранилище может быть разделено в зависимости от типов данных и пользователей, использующих хранилище.
На основании анализа существующего уровня техники становится ясно, что описанные средства требуют установки на устройстве пользователя дополнительного агента, что затрудняет работу пользователя с удаленным сервером и делает взаимодействие непрозрачным. В другом случае, где агент не устанавливается, осуществляется тотальное шифрование исходящих данных без учета содержимого, что также не удобно и создает дополнительную нагрузку. Расположению клиента и сервера также не уделяется должного внимания. Требуется решение, которое будет способно решить указанные недостатки.
Раскрытие изобретения
Настоящее изобретение предназначено для маршрутизации данных в клиент-серверной архитектуре с обеспечением анонимности передаваемых данных и без потери полноты и репрезентативности информации необходимых серверу для анализа и построения статистики.
Технический результат настоящего изобретения заключается в обеспечении анонимизации данных клиента при передачи данных в клиент-серверной архитектуре.
Объектом настоящего изобретения является способ передачи данных в клиент-серверной архитектуре, в котором разделяют структуру данных на клиенте, предназначенную для отправки серверу, на по меньшей мере две подструктуры. Одну подструктуру отправляют от клиента к серверу через узел сети со средством анонимизации и преобразуют данные этой структуры средством анонимизации, при этом указанный узел расположен в региональной сети отличной от сети, в которой расположен сервер и, не находится в одном Интранете с сервером или клиентом. Другую подструктуру отправляют от клиента на узел сети со средством хранения, расположенный в региональной сети отличной от сети, в которой расположен сервер и, не находящийся в одном Интранете с сервером или клиентом. Далее сервером получают от узла сети со средством хранения эту подструктуру и объединяют полученные подструктуры данных на сервере в структуру.
В частном случае преобразование средством анонимизации осуществляется без возможности обратного преобразования сервером. Структуру данных могут разделять на по меньшей мере две подструктуры, где одна подструктуру содержит критические данные (далее КД), при этом критические данные - данные в отношении которых закон государства, в юрисдикции которого находится клиент, или уполномоченный субъект накладывает ограничения на сбор, хранение, доступ, распространение и обработку. Вторая подструктура соответственно КД не содержит. В частном случае критическими данными являются персональные данные или их специальные категории по терминологии GDPR. Критическими данными могут являться также любые конфиденциальные данные.
Данные подструктуры, не содержащей КД, могут преобразовываться сервером или клиентом, без возможности обратного преобразования средством анонимизации. Данные подструктуры, не содержащей КД, могут преобразовывать с использованием методов ассиметричного шифрования, где: открытый ключ передают клиенту, а закрытый ключ сохраняют на сервере, в случае, когда обратное преобразование осуществляется сервером; в случае же, когда обратное преобразование осуществляется клиентом, открытый ключ передают серверу, а закрытый ключ сохраняют на клиенте.
В другом частном случае данные подструктур перед отправкой серверу могут быть подвергнуты первичному преобразованию на клиенте без возможности обратного преобразования данных средством анонимизации. В таком случае средством анонимизации будет осуществлено вторичное преобразование проходящей подструктуры данных, но уже без возможности обратного преобразования на сервере или клиенте. И первичное и вторичное преобразование может осуществляется посредством шифрования.
Региональная сеть узла сети со средством анонимизации и региональная сеть сервера расположены в разных юрисдикциях. Региональная сеть в частном случае - это национальная сеть, в другом частном случае сеть, объединяющая несколько национальных сетей государств, состоящих в экономических или политических объединениях, например, Европейском союзе.
В частном случае структура данных на клиенте, которую разделяют, является структурой данных запроса.
Для структур, которые являются структурами запроса и содержат КД дополнительно, после объединения на сервере структуры запроса, формируют на сервере ответ на запрос, где структура данных ответа на запрос содержит подструктуру, содержащую КД, преобразованную средством анонимизации, и подструктуру, не содержащую КД. Подструктуру, не содержащую КД, отправляют от сервера узлу сети со средством хранения, а подструктуру, содержащую КД, от сервера узлу сети со средством анонимизации, где осуществляют ее обратное преобразование и отправляют клиенту, которому принадлежат КД в данной подструктуре, уведомление о выполнении ответа. В заключении клиентом от узла сети со средством хранения получают подструктуру, не содержащую КД.
Конфиденциальными данными являются любые данные, охраняемые законом государства, в юрисдикции которого находится клиент. Конфиденциальными данными также являются персональные данные.
Подструктура данных ответа на запрос, не содержащая КД, может быть преобразована на сервере, в таком случае обратное преобразование указанной подструктуры осуществляется клиентом. Указанное преобразование может быть выполнено с использованием методов ассиметричного шифрования, где закрытый ключ сохраняют на клиенте, а открытый отправляют на сервер.
В частном случае уведомление для клиента содержит идентификатор подструктуры, не содержащей КД, на узле со средством хранения
Краткое описание чертежей
Сопровождающие чертежи включены для обеспечения дополнительного понимания изобретения и составляют часть описания, показывают варианты осуществления изобретения и совместно с описанием необходимы для объяснения признаков изобретения.
Фиг. 1 - изображает систему маршрутизации данных в клиент-серверной архитектуре.
Фиг. 2 - изображает вариант способа маршрутизации данных в клиент-серверной архитектуре с разделением структуры данных на подструктуры клиентом.
Фиг. 3 - изображает вариант способа маршрутизации данных в клиент-серверной архитектуре при выполнении запроса с выделением в структуре данных подструктур средством анонимизации.
Фиг. 4 - изображает вариант способа маршрутизации данных в клиент-серверной архитектуре с выделением в структуре данных подструктур клиентом.
Фиг. 5 - изображает вариант способа маршрутизации данных в клиент-серверной архитектуре при выполнении запроса с разделением структуры данных на подструктуры клиентом.
Фиг. 6а - изображает пример осуществления способа маршрутизации данных в клиент-серверной архитектуре при отправке данных (для построения статистики) с разделением структуры данных на подструктуры клиентом.
Фиг. 6б - изображает пример осуществления способа маршрутизации данных в клиент-серверной архитектуре при обнаружении целевой атаки на клиента на основании собранной информации способом по Фиг. 6а.
Фиг. 7 - изображает пример осуществления способа маршрутизации данных в клиент серверной архитектуре при выполнении запроса с выделением в структуре данных подструктур средством анонимизации.
Фиг. 8 - изображает пример осуществления способа маршрутизации данных в клиент серверной архитектуре с выделением в структуре данных подструктур клиентом.
Фиг. 9 - изображает пример осуществления способа маршрутизации данных в клиент серверной архитектуры при выполнении запроса с разделением структуры данных на подструктуры клиентом.
Фиг. 10 - изображает систему анонимного обмена данными в клиент-серверной архитектуре.
Фиг. 11 - изображает вариант способа обмена данными в клиент-серверной архитектуре, который используется для получения данных от клиентов для построения статистики на стороне сервера.
Фиг. 12 - изображает вариант способа обмена данными, который используется при выполнении запроса клиента к серверу.
Фиг. 13 - изображает пример осуществления способа обмена данными, при выполнении запроса клиента к серверу.
Фиг. 13а - изображает пример осуществления способа обмена данными, при выполнении запроса клиента к серверу в асинхронном режиме.
Фиг. 14 - изображает пример компьютерной системы общего назначения.
Осуществление изобретения
На Фиг. 1 изображена система маршрутизации данных между клиентом и сервером. Система включает клиент, сервер, узел сети со средством анонимизации. Сервер является частью облачной инфраструктуры (на фигуре не изображена), а клиент - это устройство пользователя. Узел со средством анонимизации расположен в региональной сети1 (1 Географически рассредоточенная сеть, коммуникационными средствами объединяющая в единое целое компьютеры в разных пунктах, совокупность региональных сетей образует глобальную сеть.) отличной от региональной сети, в которой расположен сервер2 (2 Это позволяет располагать элементы системы в независимых юрисдикциях) и, не находится в одном Интранете3 (3 ГОСТ Р ИСО 9241-151-2014) с сервером или клиентом. При этом в рамках данного изобретения разные региональные сети не только географически разнесены, но и находятся в разных юрисдикциях, поэтому, очевидно, в рамках данного изобретения разными региональными сетями могут быть в том числе, сети объединяющие узлы стран (национальные сети). Например, из Фиг. 1:
- региональная сеть 1 - сеть США;
- региональная сеть 2 - сеть Германии/ЕС;
- региональная сеть 3 - сеть Российской Федерации.
Глобальная сеть по Фиг. 1 это совокупность всех региональных сетей - мировая сеть - Интернет. В терминологии GDPR, например, региональная сеть РФ, в которой расположен сервер, будет считаться региональной сетью третьей страны.
В частном случае региональная сеть узла со средством анонимизации отлична также и от региональной сети клиента. Стрелки на Фиг. 1 отходят от сети, а не от клиента, так как в общем случае виден внешний IP-адрес за счет функционирования технологий сокрытий внутренних адресов, в частности: Proxy, NAT.
Клиент содержит средство модификации, предназначенное для разделения структур данных (которые формируются для отправки от клиента серверу) на подструктуры и выбора маршрута для полученных подструктур. Критерии разделения структуры данных на подструктуры могут быть различными, одним из таких критериев является наличие персональных данных (англ. Personal Identification Information) или их специальных категорий (по терминологии GDPR), при котором структура данных разделяется таким образом, что одна подструктура содержит персональные данные (далее ПДн, англ. PII) или их специальные категории, другая подструктура включает данные, не являющиеся персональными. Отношение данных к персональным определяется, например, законодательством страны, в юрисдикции которой находится пользователь, использующий устройство, являющееся в описываемой системе клиентом. Другими словами, по местоположению источника данных. Другим более общим критерием является наличие критических данных. К критическим данным (англ. critical data) относят данные в отношении которых закон или уполномоченный субъект накладывает ограничения на сбор, хранение и обработку. Эти данные, как правило чувствительны к разглашению, распространению, утечке, так как возникновение этих событий приводит к нарушению прав и охраняемых законом интересов субъектов и предусматривает ответственность для субъектов допустивших нарушения правил сбора, хранения, доступа, обработки предъявляемым к таким данным. Частным случаем критических данных являются конфиденциальные данные4 (4 или конфиденциальной информации, в рамках данной заявки конфиденциальные данные и конфиденциальная информация синонимы) (англ. sensitive data). Под конфиденциальными данными понимаются данные, которые защищаются в соответствии с законодательством страны, в юрисдикции которой находится пользователь, использующий устройство, являющееся в описываемой системе клиентом. К конфиденциальным данным в частном случае относятся персональные данные (ПДн) и данные содержащие:
- коммерческую тайну;
- налоговую тайну;
- банковскую тайну;
- врачебную тайну;
- нотариальную тайну;
- адвокатскую тайну;
- аудиторскую тайну;
- тайну связи;
- тайну страхования;
- тайну завещания;
- тайну усыновления;
- тайну исповеди;
- тайну следствия;
- тайну судопроизводства;
- сведения о защищаемых лицах
- государственную тайну.
Средство анонимизации предназначено для преобразования и обратного преобразования подструктур, маршрут которых проходит через узел со средством анонимизации. Под преобразованием подструктур в частном случае понимают преобразование данных, которые содержит подструктура. В частном случае способами преобразования данных подструктур являются:
- квантование;
- сортировка;
- слияние (склеивание);
- группировка;
- настройка набора данных;
- табличная подстановка значений;
- вычисляемые значения;
- кодирование данных;
- шифрование;
- нормализация (масштабирование).
Некоторые виды преобразования могут применятся не только к отдельным данным в подструктуре, но и к подструктуре в целом, например, токенизация и/или шифрование. При этом преобразование в частном случае осуществляется без возможности обратного преобразования5 (5 под обратным преобразованием понимается преобразование, позволяющее восстановить исходную форму объекта преобразования (данных, подструктуры) до преобразования) любыми средствами кроме средства анонимизации узла. Под преобразованием в общем случае понимается отображение (функция) множества в себя, или другими словами, преобразованиями называют отображения, переводящие некоторое множество в другое множество6 (6 Математический энциклопедический словарь. - М., 1988. - С. 487.).
Подструктура от одного и того же клиента средством анонимизации может преобразовываться одним и тем же способом или разными способами. Если преобразование осуществляется одним и тем же способом, то преобразованная подструктура или данные подструктуры от одного и того же клиента будут выглядеть идентично, в противном случае будут отличаться и построить статистику по одному клиенту (выполнить профилирование) будет невозможно.
Сервер содержит средство объединения, предназначенное для объединения разделенной на клиенте структуры данных. Объединение возможно осуществить, например, на основании уникальных идентификаторов, которые присваиваются каждой подструктуре при разделении и идентичны для подструктур одной структуры. Средство объединения получает подструктуры, приходящие к серверу по разным сетевым маршрутам, и объединяет в структуру. Структура, очевидно, будет отлична от оригинальной, разделенной на клиенте, по причине того, что подструктуры, прошедшие через узел со средством анонимизации, будут преобразованы упомянутым средством. Полученная структура может сохраняться в базе данных (на фигурах не указана).
В частном случае средство анонимизации получает от клиента структуру, не разделенную на подструктуры средством модификации клиента (например, структуру запроса к серверу), в таком случае для передачи серверу средство анонимизации выделяет в полученной структуре подструктуры, содержащие ПДн и осуществляет преобразование данных подструктур, примеры указаны ниже.
Описанная система используется для анонимизации запросов, отправляемых серверу и ответов на эти запросы, отправляемых клиенту, а также для получения данных от клиентов, которые используются для построения статистики. На Фиг. 2 изображен способ маршрутизации данных в клиент-серверной архитектуре, который в частном случае используется для получения данных от клиентов для построения статистики. На этапе 200 средством модификации разделяют структуру, предназначенную для отправки серверу в соответствии с критериями, одним из таких критериев может являться наличие ПДн в структуре, в результате разделения получают подструктуру, содержащую ПДн (на Фиг. 2 для примера это подструктура 1) и не содержащую ПДн (на Фиг. 2 это, соответственно, подструктура 2). Здесь и далее для примера в качестве критерия будет использоваться наличие ПДн, а не наличие критических или конфиденциальных данных, хотя что справедливо для ПДн, справедливо и для критических или конфиденциальных данных в общем в примерах осуществления изобретения, в рамках данной заявки. В частном случае подструктур первого и второго вида может быть больше чем одна, как и критериев по которым осуществляется разделение. На этапе 210 средство модификации отправляет полученные подструктуры серверу, при этом отправка осуществляется по разным маршрутам (маршрут А и маршрут В), где один из маршрутов включает узел сети со средством анонимизации (маршрут А), расположенный в региональной сети отличной от сети, которой расположен сервер и, не находящийся в одном Интранете с сервером или клиентом. Когда одна из подструктур, предназначенная для отправки серверу, содержит ПДн, она направляется к серверу через узел со средством анонимизации (маршрут А). Далее на этапе 220 подструктуры, проходящие через узел со средством анонимизации преобразуются указанным средством и передаются далее серверу (этап 221) в преобразованном виде. В общем случае подструктуры от одного и того же клиента в разные моменты времени преобразуются различно (например ID Клиента ->AnonymizedID1 ≠ AnonymizedID2 ≠ AnonymizedID3 и т.д), это относится ко всем примерам, но в частном случае, когда для некоторых систем безопасности необходимо накопить информацию (построить статистику) по определенному клиенту для подструктуры от одного и того же клиента, преобразование будет идентично (например ID Клиента ->AnonymizedID1=AnonymizedID2=AnonymizedID3 и т.д). В заключении на этапе 230 полученные от клиента подструктуры объединяются в структуру (Структура'). Очевидно, что итоговая структура (Структура') отличается от исходной, так как, по меньшей мере одна подструктура был преобразована средством анонимизации. Итоговая структура в базе данных и будет использоваться средствами инфраструктуры7 (7 Средства и база данных на данной фигуре не указаны. Отдельные элементы инфраструктуры такие как средство обработки запроса и средство обнаружения атаки указаны на других фигурах) на стороне сервера. Преобразование подструктур и/или данных подструктур средством анонимизации выполняется способом, исключающим возможность обратного преобразования подструктур и/или данных подструктур любыми средствами, отличными от средств узла сети со средством анонимизации.
На Фиг. 3 изображен способ маршрутизации, который в частном случае используется при выполнении запроса клиента к серверу. На этапе 300 сформированный на клиенте запрос отправляют средством модификации от клиента к серверу, при этом маршрут включает узел сети со средством анонимизации, расположенный в региональной сети отличной от сети, которой расположен сервер и, не находящийся в одном Интранете с сервером или клиентом. В частном случае часть данных запроса (не содержащая конфиденциальные данные) может быть преобразована средством модификации на клиенте, при этом преобразование может быть выполнено таким образом, чтобы средством анонимизации было невозможно выполнить обратное преобразование (этап 311 на Фиг. 4) и обратное преобразование возможно выполнить только средствами сервера (этап 325 на Фиг. 4)8 (8 такую возможность может предоставить в частности асимметричное шифрование, когда клиент имеет открытый ключ, а сервер закрытый ключ). Далее на этапе 310 средством анонимизации выделяют в структуре данных запроса, предназначенной для отправки серверу, подструктуры, в соответствии с критериями, одним из таких критериев может являться наличие ПДн, в результате выделения получают подструктуру, содержащую ПДн (на Фиг. 3, по аналогии с предыдущим примером, это подструктура 1) и не содержащую ПДн (на Фиг. 3 это подструктура 2). На этапе 320 средством анонимизации осуществляют преобразование9 (9 если не указано иное при использовании понятия преобразование понимается именно прямое преобразование.) (прямое преобразование из оригинальных к преобразованным) подструктуры данных (и/или данных в подструктуре), содержащей ПДн, средством анонимизации и полученную структуру данных запроса с преобразованной подструктурой, содержащей ПДн, отправляют серверу (этап 321). На полученный запрос сервером на этапе 330 формируют ответ, средством обработки запроса. При этом, в отношении тех данных запроса, которые в частном случае могли быть преобразованы клиентом сервер выполняет предварительно обратное преобразование (этап 325 на Фиг. 4). Структура данных ответа на запрос, в нашем примере с ПДн содержит подструктуры:
- содержащие ПДн преобразованные средством анонимизации (подструктура Г, извлеченная из структуры запроса);
- не содержащие ПДн (подструктура 3, содержащая тело ответа на запрос или полезную нагрузку ответа10 (10 от англ. payload)).
При этом данные, не содержащие ПДн (подструктура 3), могут быть преобразованы (прямое преобразование) без возможности обратного преобразования средством анонимизации (подструктура 3') это осуществляется на этапе 340. Обратное преобразование этих данных может быть выполнено только средством модификации клиента11 (11 такую возможность может предоставить, в частности, асимметричное шифрование, где сервер имеет открытый ключ, а клиент закрытый ключ.), на этапе 350 отправляют полученную структуру данных ответа на запрос от сервера узлу сети со средством анонимизации. Средством анонимизации на этапе 360 осуществляют обратное преобразование подструктур данных ответа на запрос, содержащих ПДн (подструктура 1'). Обратное преобразование выполняют в отношении тех данных, которые были преобразованы на этапе 320 (обратное преобразование из преобразованных данных к оригинальным данным, содержащимися в запросе от клиента изначально). Полученную структуру данных перенаправляют клиенту (этап 370) и средством модификации клиента на этапе 380 осуществляют обратное преобразование подструктур данных ответа на запрос, не содержащих ПДн, преобразованных сервером на этапе 340.
Фиг. 4 изображает вариант способа, изображенного на Фиг. 3, но в этом варианте этап 310 по выделению подструктур осуществляют не средством анонимизации, а средством модификации клиента, с последующим преобразованием подструктуры на этапе 311. Где по аналогии с вариантом на Фиг. 3 преобразованию подвергают подструктуру, не содержащую ПДн (подструктура 2). Поэтому этап 300' на Фиг. 4 отличается от аналогичного этапа 300 способа на Фиг. 3 тем, что передают не оригинальную структуру данных запроса узлу со средством анонимизации, а преобразованную, после выполнения этапов 310 и 311. Соответственно в данном варианте добавляется этап 325, где выполняют предварительно обратное преобразование подструктуры (в нашем примере это подструктура 2', не содержащая ПДн) преобразованной на этапе 311, прежде чем выполнить этап 330.
Фиг. 5 изображает вариант способа маршрутизации данных в клиент-серверной архитектуре, в которой этапы с 200 по 230 аналогичны этапам способа, изображенного на Фиг. 2, а этапы с 300 по 380 аналогичны этапам способа, изображенного на Фиг. 3. В частном случае подструктура 2 перед отправкой напрямую серверу может быть предварительно преобразована, по аналогии с шагом 311 на Фиг. 4, тогда в изображении способа помимо этапа 311 добавляется этап 325.
В частном случае во всех реализациях способа, изображенных на Фиг. 3 - Фиг. 5 структура данных, отправляемая клиенту узлом со средством анонимизации на этапе 370 не содержит подструктуры данных с ПДн (в наших примерах это подструктура 1). Данную подструктуру необходимо сохранять до этого этапа, чтобы определить адресата ответа, далее в частном случае в ней нет необходимости.
Фиг. 6а изображает пример работы способа, изображенного на Фиг. 2. Устройство с клиентом подключено к системе удаленного детектирования целевых атак, находящейся на стороне сервера, поэтому от клиента необходимо: получать информацию об обнаруженных в разное время файлах с вредоносным кодом (вредоносных файлах) и на основании полученной информации строить статистику (часто в соответствии с национальным законодательством о персональных данных это еще необходимо делать анонимно). При обнаружении нескольких определенных вредоносных файлов12 (12 информация о которых получена от клиента) на сервере делают вывод обнаружении целевой атаки на клиента.
Для отправки серверу информации об обнаруженном вредоносном файле (в рассматриваемом примере информация о файле это MD5 файла) формируют структуру данных, которая включает ID клиента и MD5 обнаруженного вредоносного файла. На этапе 200 средство модификации разделяет сформированную структуру, предназначенную для отправки серверу на подструктуры, в результате разделения получают подструктуру, содержащую ID клиента и подструктуру, содержащую MD5 файла, чтобы понимать, частью какой структуры являются подструктуры им присваивается идентификатор (на фигуре идентификатор отмечен как StructureID). На этапе 210 средство модификации клиента отправляет полученные подструктуры серверу, при этом отправка осуществляется по разным маршрутам (маршруту А и маршруту В), где один из маршрутов (маршрут А) включает узел сети со средством анонимизации, расположенный в региональной сети отличной от сети, которой расположен сервер и, не находящийся в одном Интранете с сервером или клиентом. Подструктура, содержащая ID клиента, направляется к серверу через узел со средством анонимизации (маршрут А). На этапе 220 средством анонимизации осуществляют преобразование ID клиента, где ID клиента сохраняется на узле, а в подструктуре его замещает токен AnonymizedID (в частном случае ID Клиента может быть зашифрован). Полученную подструктуру, отправляют серверу (этап 221). В заключении на этапе 230 полученные от клиента подструктуры объединяются в структуру. Очевидно, что итоговая структура отличается от исходной, так как, по меньшей мере одна подструктура был преобразована средством анонимизации. Итоговая структура сохраняется на сервере (или в любой базе данных инфраструктуры к которой принадлежит сервер) и будет использоваться сервером для накопления информации (на фигуре обозначена как STATISTICS) по клиенту от которого получена структура. На этапе 240 накопленная информация будет использоваться средством обнаружения атак и если средством будет обнаружена атака, то на этапе 250 средством сформируют структуру содержащую подструктуру с AnonymizedID и подструктуру, содержащую информацию об атаке (на фигуре обозначена как AttackID), полученная структура будет направлена клиенту для уведомления об атаке.
Пример способа отправки изображен на Фиг. 6б, этапы с 340 по 380 аналогичны этапам из примера, изображенного на Фиг. 8. В частном случае информация об атаке может не преобразовываться, а отправляться в открытом виде, тогда в примере будут отсутствовать этапы 340 и 380.
На Фиг. 7 изображен другой пример работы описанного изобретения. На устройстве с клиентом обнаружен новый файл, который необходимо проверить на наличие вредоносного кода средствами сервера. Для этого необходимо отправить серверу информацию о файле, в рассматриваемом примере это MD5 файла, для этого клиент формирует структуру запроса. Для того чтобы серверу знать кому отправлять ответ в структуру данных запроса вставляется ID клиента, таким образом структура данных запроса включает ID клиента и MD5 файла. На этапе 300 сформированный на клиенте запрос отправляется средством модификации к серверу, при этом маршрут включает узел сети со средством анонимизации, расположенный в региональной сети отличной от сети, которой расположен сервер и, не находящийся в одном Интранете с сервером или клиентом. Далее на этапе 310 средством анонимизации выделяют в структуре, предназначенной для отправки серверу, подструктуры, в результате выделения получают подструктуру, содержащую ID клиента и подструктуру, содержащую MD5 файла. На этапе 320 средством анонимизации осуществляют преобразование ID клиента, где ID клиента сохраняется на узле, а в подструктуре его замещает токен AnonymizedID (в частном случае ID клиента может быть зашифрован). Полученную структуру данных запроса с преобразованной подструктурой, отправляют серверу (этап 321). На полученный запрос на этапе 330 формируют ответ средством обработки запроса сервера. Средство обработки запроса извлекает из структуры MD5 файла и выдает вердикт, например, BAD (файл вредоносный). Структура данных ответа на запрос содержит подструктуры:
- содержащую токен AnonymizedID (или зашифрованный средством анонимизации ID клиента);
- содержащую вердикт для файла (MD5-BAD).
При этом вердикт на этапе 340 преобразуют средствами сервера без возможности обратного преобразования средством анонимизации, например, зашифровав открытым ключом (на фигуре преобразованный вердикт отмечен как EncryptedVer), закрытый ключ хранится на клиенте и обратное преобразование может быть выполнено только средством модификации клиента. На этапе 350 отправляют полученную структуру данных ответа на запрос от сервера узлу сети со средством анонимизации. Средством анонимизации на этапе 360 осуществляют обратное преобразование подструктуры данных ответа на запрос, содержащую токен AnonymizedID, средством анонимизации, где в случае с токеном, токен заменяется на сохраненный ранее ID клиента, в случае если ID клиента был зашифрован, то он расшифровывается. Таким образом преобразование выполняют в отношении тех данных, которые были преобразованы на этапе 320. Полученную структуру данных перенаправляют клиенту (этап 370) и средством модификации клиента на этапе 380 осуществляют обратное преобразование вердикта, преобразованного сервером на этапе 340, в нашем случае расшифровывают при помощи закрытого ключа. В частном случае AnonymizedID для одного и того же ID Клиента, но в разных отправках будут отличаться.
Фиг. 8 изображает вариант примера, изображенного на Фиг. 7, в этом варианте этап 310 по выделению подструктур осуществляет не средство анонимизации, а средство модификации клиента с последующим преобразование подструктуры, хранящей информацию о файле (MD5 файла) путем шифрования открытым ключом (на фигуре преобразованная информация о файле отмечена как EncryptedMD5) закрытый ключ хранится на сервере и обратное преобразование может быть выполнено только на сервере. Таким образом этап 300' примера на Фиг. 8 отличается от аналогичного этапа примера на Фиг. 7 тем, что передают не оригинальную структуру запроса узлу со средством анонимизации, а преобразованную, после выполнения этапов 310 и 311. Соответственно поэтому добавляется этап 325, где выполняется предварительно, прежде чем выполнить этап 330, обратное преобразование зашифрованной информации о файле путем ее расшифровки при помощи закрытого ключа.
Фиг. 9 изображает пример маршрутизации данных в клиент-серверной архитектуре, в котором этапы с 200 по 230 аналогичны этапам примера, изображенного на Фиг. 6а, а этапы с 330 по 380 аналогичны этапам примера, изображенного на Фиг. 7. В частном случае информация о файле перед отправкой напрямую серверу может быть предварительно преобразована, по аналогии с этапом 311 в примере Фиг. 8, тогда в примере помимо этапа 311 добавляется этап 325.
Средство модификации клиента перехватывает структуры, предназначенные для отправки серверу, разделяет эти структуры в соответствии с установленными правилами и выбирает маршруты для этих подструктур также в соответствии с правилами. Правила, по которым работает средство модификации устанавливается в частном случае действующим законодательством государства в юрисдикции которого функционирует устройство с клиентом (источник). Поэтому для применения правил средство модификации клиента определяет местоположение устройства (источника), тип данных в сформированной структуре, назначение структуры (тип передачи: запрос или статистика13 (13 отправление данных серверу для построения на стороне сервера статистики)), местоположение приемника данных и на основании этого в соответствии с правилами выбирает маршрут для данных, вариант разделения и способ преобразования на клиенте. Вариант формализованных правил представлен в Таблице 1, где способ:
- 1 - разделение структуры на клиенте (см. Фиг. 2);
- 2 - выделение структуры на узле со средством анонимизации (см. Фиг. 3);
- 3 - выделение структуры на клиенте (см. Фиг. 4).
Правила как указывалось выше могут задаваться требованиями законодательства (например, GDPR) и как любая правовая норма включает гипотезу и диспозицию, что на алгоритмическом языке соответствует конструкции если - то. Таким образом указанная таблица формализует правило вида
ЕСЛИ [тип, источник, приемник, персональные данные(есть/нет)] ТО [способ, местонахождение узла анонимизации, способ преобразования для данных]
Например, тип передачи - запрос, источник (клиент) Германия, приемник (сервер) РФ, структура содержит персональные данные. В соответствии с правилами средству модификации необходимо выделить подструктуру с ПДн на клиенте (как на этапе 310 Фиг. 4 - способ 2) и отправить через США, подструктуру без ПДн зашифровать открытым ключом (как этапе 311 на Фиг. 4), персональные данные преобразовать средством анонимизации посредством шифрования
В другом варианте реализации к системе, изображенной на Фиг. 1 добавляется узел сети со средством хранения, система с указанным узлом изображен на Фиг. 10. Узел сети со средством хранения расположен в региональной сети отличной от региональной сети, в которой расположен сервер и не находится в одном Интранете с сервером или клиентом. В частном случае узел сети со средством хранения может находится в одной региональной сети с узлом сети со средством анонимизации, такая сеть на Фиг. 10 указана как региональная сеть N. Назначение узла сети со средством хранения скрывать внешний IP адрес клиента от сервера и снимать нагрузку с узла, на котором располагается средство анонимизации, так как объем траффика, идущего через узел со средством анонимизации сокращается. Узел сети со средством хранения является промежуточным хранилищем для данных, которыми обменивается клиент с сервером, бытовым аналогом данного узла является абонентский ящик (англ. post office box).
Система, изображенная на Фиг. 10 используется для анонимного обмена данными между клиентом и сервером, в том числе для отправки данных от клиентов, которые используются для построения статистики и для клиент-серверного взаимодействия типа - «запрос-ответ». На Фиг. 11 изображен способ анонимного обмена данными между клиентом и сервером, который в частном случае используется для получения данных от клиентов для построения статистики на стороне сервера. Этапы 200, 221, 220, 230 аналогичны этапам, изображенным на Фиг. 2. От аналогичного отличается этап 210' и добавляется этап 222. На Фиг. 2 маршрут В лежал напрямую от клиента к серверу, в описываемой реализации данный маршрут разрывается, и клиентом подструктура 2 отправляется не серверу, а узлу со средством хранения. Далее на этапе 222 данная подструктура будет получена сервером. Инициатором отправки данной подструктуры серверу на этапе 222 может являться как сам узел со средством хранения, так и сервера, который по требованию загрузит подструктуру 2, когда по маршруту А получит подструктуру 1' с идентификатором подструктуры 2, сохраненной узлом сети со средством хранения.
На Фиг. 12 изображен способ обмена данными, который в частном случае используется при выполнении запроса клиента к серверу. Этапы 200, 221, 220, 230 аналогичны этапам, изображенным на Фиг. 2, этапы 210', 222 аналогичны этапам, изображенным на Фиг. 11, этап 330 аналогичен этому же этапу на Фиг. 3. Таким образом отправка запроса серверу аналогична отправке данных серверу для построения статистики изображенной на Фиг. 11, отличия заключаются от всего описанного ранее в том, как отправляется ответ, подготовленный на этапе 330. Структура ответа на запрос, сформированная на этапе 330 разбивается на по меньшей мере две подструктуры на этапе 331:
- содержащую ПДн преобразованные средством анонимизации (подструктура 1', извлеченная из структуры запроса);
- не содержащую ПДн (подструктура 3, содержащая тело ответа на запрос или полезную нагрузку ответа).
На этапе 350а подструктура, содержащая ПДн отправляется от сервера узлу со средством анонимизации, где на этапе 360 будет выполнено преобразование обратное преобразованию выполненному на этапе 220. А подструктура, не содержащая ПДн (на Фиг. 12 подструктура 3), на этапе 3506 отправляется узлу сети со средством хранения. Далее подструктура, не содержащая ПДн будет передана клиенту на этапе 371. Варианты по каким клиент получает подструктуру на этапе 371 могут быть отличны. Если этап 350а осуществляется, то после преобразования на этапе 360 узел со средством анонимизации отправит нотификацию (уведомление) клиенту на этапе 370а о том, что ответ готов, клиент после этого обратится к узлу со средством хранения и получит подструктуру, не содержащую ПДн, от узла со средством хранения. Нотификация на этапе 370а может содержать, например, уникальный идентификатор присвоенный подструктуре 3 в процессе разделения структуры ответа на запрос на этапе 331, подструктуру с таким идентификатором клиент и запросит у узла сети со средством хранения. В частном случае этапы 350а, 360, 370а могут не выполняться. В этом случае идентификатор, присваиваемый подструктурам в процессе разделения на этапе 200 будет аналогичен идентификатору, присваиваемому на этапе 331 и клиент на этапе 371 получит подструктуру 3 периодически опрашивая узел со средством хранения на предмет поступления туда подструктуры с соответствующим идентификатором. Если этапы 350а, 360, 370а не выполняются, структура ответа на запрос тождественна подструктуре, не содержащей ПДн (подструктура 3), которой присвоен уникальный идентификатор. В другом частном случае узел со средством хранения самостоятельно отправляет на этапе 371 подструктуру 3 клиенту, в этом случае используется идентификатор сессии (сеанса) которая была установлена между клиентом и узлом со средством хранения для выполнения этапа 210, в данном случае уникальный идентификатор, присваиваемый подструктурам на этапах 200 и 331 равны и равны они идентификатору сессии. В этом случае, когда узел получит подструктуру 3 на этапе 3506, он прочитает идентификатор подструктуры 3 и переправит ее клиенту, сессия с которым имеет тот же самый идентификатор, главным условием осуществления данного варианта является удерживание сессии между клиентом и узлом со средством хранения до конца обмена данными между клиентом и сервером при выполнении запроса и отправки ответа.
В частном случае, схема, описанная на Фиг. 12 может работать в асинхронном режиме, в этом случае этап 330 осуществляется без выполнения этапа 230, используются данные подструктуры 2 и полученная подструктура 3, минуя этап 331, отправляется узлу со средством хранения (этап 350б). Этап 230 будет выполнен независимо от этапа 330. Такой режим повышает скорость реакции сервера и используется в том случае, когда для обработки запроса необходимы только данные содержащиеся в подструктуре, не содержащей КД. Объединение подструктур (этап 230) в таких случаях необходимо лишь для построения статистики, как в примере, изображенном на Фиг. 12а.
На Фиг. 13 изображен пример использования способа, изображенного на Фиг. 12, для получения вердикта (опасный/вредоносны или безопасный) для файла, обнаруженного на клиенте, от сервера. Для отправки серверу информации об обнаруженном файле (в рассматриваемом примере информация о файле это MD5 файла) формируют структуру данных, которая включает ID клиента и MD5 обнаруженного файла. На этапе 200 средство модификации разделяет сформированную структуру, предназначенную для отправки серверу на подструктуры, в результате разделения получают подструктуру, содержащую ID клиента и подструктуру, содержащую MD5 файла, чтобы понимать, частью какой структуры являются подструктуры им присваивается идентификатор (на фигуре идентификатор отмечен как StructureID). На этапе 210 средство модификации клиента отправляет полученные подструктуры. Отправка осуществляется по разным маршрутам (маршруту А и маршруту В) и разным приемникам. По маршруту А подструктура отправляется серверу, при этом маршрут А включает узел сети со средством анонимизации, расположенный в региональной сети отличной от сети, которой расположен сервер и, не находящийся в одном Интранете с сервером или клиентом. Подструктура, содержащая ID клиента, направляется к серверу через узел со средством анонимизации (маршрут А). По маршруту В подструктуру отправляют узлу сети со средством хранения, расположенному в региональной сети отличной от сети, которой расположен сервер и, не находящийся в одном Интранете с сервером или клиентом. Подструктура, содержащая MD5 файла, направляется узлу сети со средством хранения (маршрут В). На этапе 220 средством анонимизации осуществляют преобразование ID клиента, где ID клиента сохраняется на узле, а в подструктуре его замещает токен AnonymizedID (в частном случае ID Клиента может быть зашифрован). Полученную подструктуру, отправляют серверу (этап 221). На этапе 222 подструктура с MD5 файла будет получена сервером. Если способ осуществляется в синхронном режиме, то на этапе 230 подструктуры, полученные сервером на этапе 221 и этапе 222, будут объединены и на этапе 330 будет обработан запрос. В нашем примере MD5 будет проверен по базе вредоносных и безопасных файлов и по результатам проверки получат вердикт и сформируют ответ на запрос (в приведенном примере файл оказался вредоносным - MD5-BAD). Сформированный ответ на запрос разделяют на этапе 331 на две подструктуры в результате разделения получают подструктуру, содержащую ID клиента и подструктуру, содержащую вердикт (MD5), чтобы понимать, частью какой структуры являются подструктуры им присваивается идентификатор (на фигуре идентификатор отмечен как StructureID), в частном случае идентификатор может быть идентичен идентификатору, присвоенному подструктурам на этапе 200. На этапе 350б подструктуру с вердиктом отправляют узлу сети со средством хранения, который либо пересылает подструктуру клиенту на этапе 371 (если StructureID соответствует ID сессии между узлом и клиентом, установленной на этапе 210), либо сохраняет до востребования. Востребована указанная подструктура может быть клиентом в случае получения им нотификации от узла со средством анонимизации получаемой клиентов в результате выполнения этапов 350а, 360, 370а. Либо клиент постоянно опрашивает узел сети со средством хранения на предмет наличия у узла подструктуры ответа (в данном случае StructureID присвоенные подструктурам на этапах 200 и 331 должны быть идентичны). На этапе 372 клиент обрабатывает ответ. Если способ выполняется в асинхронном режиме (Фиг. 13а), то этап 230 и этап 330 выполняются независимо, StructureID на этапе 330 не изменяется и идентичен StructureID на этапе 200, а в частном случае равен ID сессии между клиентом и узлом со средством хранения этапа 210, в рамках которой также будет осуществлена передача подструктуры на этапе 371.
Заявленное изобретение позволяет децентрализовать данные идущие от клиента, что обеспечивает анонимность для пользователя, устройство которого является клиентом, данные которыми обменивается клиент с сервером невозможно связать с клиентом при доступе к серверу. Часть данных известна только серверу, часть только узлу сети со средством анонимизации и без одновременного доступа к этим компонентам системы невозможно деанонимизировать данные, а невозможность одновременного доступа к компонентам, в том числе и государственными структурами обеспечивается распределением компонентов системы по различным региональным сетям, отличных как по географическому признаку, так и по признаку территориальной юрисдикции. Также заявленное изобретение при использовании узла со средством хранения позволяет скрыть внешний IP адрес клиента от сервера (сервер забирает подструктуру не напрямую от клиента, а через узел со средством хранения), а также снизить нагрузку на узел со средством анонимизации.
Под средством модификации, средством анонимизации, средством объединения, средством обработки запроса, средством обнаружения атаки, средством хранения в настоящем изобретении понимаются реальные устройства, системы, компоненты, группа компонентов, реализованные с использованием аппаратных средств, таких как интегральные микросхемы (англ. application-specific integrated circuit, ASIC) или программируемой вентильной матрицы (англ. field-programmable gate array, FPGA) или, например, в виде комбинации программных и аппаратных средств, таких как микропроцессорная система и набор программных инструкций, а также на нейроморфных чипах (англ. neurosynaptic chips) Функциональность указанных средств может быть реализована исключительно аппаратными средствами, а также в виде комбинации, где часть функциональности реализована программными средствами, а часть аппаратными. В некоторых вариантах реализации средства могут быть исполнены на процессоре компьютера общего назначения (например, который изображен на Фиг. 14). Базы данных могут быть реализованы всеми возможными способами и содержаться как на одном физическом носителе, так и на разных, располагаться как локально, так и удаленно.
Фиг. 14 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.
Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п.Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 14. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.
Claims (31)
1. Способ передачи данных в клиент-серверной архитектуре, в котором:
а) разделяют структуру данных на клиенте, предназначенную для отправки серверу, на по меньшей мере две подструктуры;
б) отправляют первую подструктуру, от клиента к серверу через узел сети со средством анонимизации, преобразуя данные этой подструктуры средством анонимизации,
- при этом указанный узел расположен в региональной сети, отличной от сети, в которой расположен сервер, и не находится в одном Интранете с сервером или клиентом;
в) отправляют вторую подструктуру от клиента на узел сети со средством хранения, расположенный в региональной сети, отличной от сети, в которой расположен сервер, и не находящийся в одном Интранете с сервером или клиентом;
г) получают сервером от узла сети со средством хранения вторую подструктуру;
д) объединяют полученные подструктуры данных на сервере в структуру.
2. Способ по п. 1, в котором структуру данных разделяют на по меньшей мере две подструктуры:
- подструктуру, содержащую критические данные (далее КД), где
- критические данные – данные, в отношении которых закон государства, в юрисдикции которого находится клиент, или уполномоченный субъект, накладывает ограничения на сбор, хранение, доступ, распространение и обработку;
- подструктуру не содержащую КД.
3. Способ по п. 2, в котором критическими данными являются персональные данные или их специальные категории по терминологии GDPR.
4. Способ по п. 1, в котором осуществляют первичное преобразование подструктур данных на клиенте без возможности обратного преобразования данных средством анонимизации.
5. Способ по п. 4, в котором осуществляют средством анонимизации вторичное преобразование проходящей подструктуры данных без возможности обратного преобразования на сервере или клиенте.
6. Способ по п. 1, в котором преобразование осуществляется посредством шифрования.
7. Способ по п. 1, в котором региональные сети расположены в разных юрисдикциях.
8. Способ по п. 1, в котором региональная сеть одновременно является национальной сетью.
9. Способ по п. 6, в котором данные подструктуры, не содержащей КД, преобразуют с использованием методов ассиметричного шифрования, где открытый ключ передают клиенту, а закрытый ключ сохраняют на сервере.
10. Способ по п. 1, в котором структура данных на клиенте, которую разделяют, является структурой данных запроса.
11. Способ по пп. 2 и 10 в котором дополнительно
а) формируют на сервере ответ на запрос, где структура данных ответа на запрос содержит подструктуры:
- содержащую КД, преобразованную средством анонимизации;
- не содержащую КД;
б) отправляют подструктуру, не содержащую КД, от сервера узлу сети со средством хранения;
в) отправляют подструктуру, содержащую КД, от сервера узлу сети со средством анонимизации;
г) осуществляют обратное преобразование подструктуры данных ответа на запрос, содержащей КД средством анонимизации и отправляют клиенту, которому принадлежат КД в подструктуре уведомление о выполнении ответа;
д) получают клиентом от узла сети со средством хранения подструктуру, не содержащую КД.
12. Способ по п. 11, в котором осуществляют преобразование подструктуры данных ответа на запрос, не содержащей КД, на сервере;
13. Способ по п. 12, в котором осуществляют обратное преобразование подструктуры данных ответа на запрос, не содержащей КД, клиентом.
14. Способ по пп. 12 и 13, в котором для преобразования используют методы ассиметричного шифрования, где закрытый ключ сохраняют на клиенте, а открытый отправляют на сервер.
15. Способ по п. 11, в котором уведомление для клиента содержит идентификатор подструктуры, не содержащей КД, на узле со средством хранения.
Priority Applications (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2018111486A RU2696240C1 (ru) | 2018-03-30 | 2018-03-30 | Способ анонимного обмена данными в клиент-серверной архитектуре |
US16/101,689 US11063913B2 (en) | 2018-03-30 | 2018-08-13 | System and method for anonymously routing data between a client and a server |
US16/101,635 US10986068B2 (en) | 2018-03-30 | 2018-08-13 | System and method for routing data when executing queries |
US16/101,556 US10992647B2 (en) | 2018-03-30 | 2018-08-13 | System and method for anonymous data exchange between server and client |
EP18194423.2A EP3547637A1 (en) | 2018-03-30 | 2018-09-14 | System and method for routing data when executing queries |
EP18194648.4A EP3547733B1 (en) | 2018-03-30 | 2018-09-14 | System and method for anonymous data exchange between server and client |
EP18194652.6A EP3547638A1 (en) | 2018-03-30 | 2018-09-14 | System and method of routing data during statistics collection |
CN201811093365.8A CN110324298B (zh) | 2018-03-30 | 2018-09-19 | 用于在执行查询时路由数据的***、方法和介质 |
CN201811095359.6A CN110324299B (zh) | 2018-03-30 | 2018-09-19 | 用于在服务器和客户端之间匿名交换数据的***和方法 |
CN201811095372.1A CN110324300B (zh) | 2018-03-30 | 2018-09-19 | 在统计资料收集期间路由数据的***和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2018111486A RU2696240C1 (ru) | 2018-03-30 | 2018-03-30 | Способ анонимного обмена данными в клиент-серверной архитектуре |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2696240C1 true RU2696240C1 (ru) | 2019-07-31 |
Family
ID=67586696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2018111486A RU2696240C1 (ru) | 2018-03-30 | 2018-03-30 | Способ анонимного обмена данными в клиент-серверной архитектуре |
Country Status (2)
Country | Link |
---|---|
US (3) | US10992647B2 (ru) |
RU (1) | RU2696240C1 (ru) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2773624C2 (ru) * | 2020-06-19 | 2022-06-06 | Акционерное общество "Лаборатория Касперского" | Способ и система передачи данных на сервер с привлечением удостоверяющего центра |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2696240C1 (ru) * | 2018-03-30 | 2019-07-31 | Акционерное общество "Лаборатория Касперского" | Способ анонимного обмена данными в клиент-серверной архитектуре |
LU101070B1 (en) * | 2018-12-21 | 2020-06-24 | Luxembourg Inst Science & Tech List | Method for orchestrating distributed task completion in a communication network |
RU2747474C2 (ru) * | 2019-03-29 | 2021-05-05 | Акционерное общество "Лаборатория Касперского" | Способ асинхронного выбора совместимых продуктов |
US11647041B2 (en) * | 2019-04-08 | 2023-05-09 | United States Of America As Represented By The Secretary Of The Air Force | System and method for privacy preservation in cyber threat |
RU2739862C2 (ru) * | 2019-06-28 | 2020-12-29 | Акционерное общество "Лаборатория Касперского" | Способ адаптивного выбора путей передачи данных пользователя |
CN112513914A (zh) | 2020-07-03 | 2021-03-16 | 支付宝(杭州)信息技术有限公司 | 基于区块链的隐私交易中提供隐私和安全保护的***和方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120259877A1 (en) * | 2011-04-07 | 2012-10-11 | Infosys Technologies Limited | Methods and systems for runtime data anonymization |
US20140047551A1 (en) * | 2012-08-10 | 2014-02-13 | Sekhar Nagasundaram | Privacy firewall |
RU2531569C2 (ru) * | 2009-06-12 | 2014-10-20 | Майкрософт Корпорейшн | Защищенное и конфиденциальное хранение и обработка резервных копий для доверенных сервисов вычисления и данных |
US20170243028A1 (en) * | 2013-11-01 | 2017-08-24 | Anonos Inc. | Systems and Methods for Enhancing Data Protection by Anonosizing Structured and Unstructured Data and Incorporating Machine Learning and Artificial Intelligence in Classical and Quantum Computing Environments |
US20180063182A1 (en) * | 2016-08-30 | 2018-03-01 | Kivu Consulting, Inc. | Systems and methods for identifying and mapping sensitive data on an enterprise |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0876021B1 (en) * | 1997-04-30 | 2004-10-06 | Hewlett-Packard Company, A Delaware Corporation | System and method for transmitting data over a plurality of channels |
US20070011450A1 (en) * | 2004-09-14 | 2007-01-11 | Mccreight Shawn | System and method for concurrent discovery and survey of networked devices |
CA2513014A1 (en) * | 2005-07-22 | 2007-01-22 | Research In Motion Limited | A method of controlling delivery of multi-part content from an origin server to a mobile device browser via a proxy server |
US8601598B2 (en) | 2006-09-29 | 2013-12-03 | Microsoft Corporation | Off-premise encryption of data storage |
US8600050B1 (en) * | 2008-02-22 | 2013-12-03 | Sprint Communications Company L.P. | Encrypting a data transmission using multiple channels |
EP3920465B1 (en) * | 2010-10-08 | 2023-12-06 | Brian Lee Moffat | Private data sharing system |
CA2775427A1 (en) | 2011-04-27 | 2012-10-27 | Perspecsys Inc. | System and method of data interception and conversion in a proxy |
US9275239B2 (en) | 2011-05-27 | 2016-03-01 | Hewlett-Packard Development Company, L.P. | Transaction gateway |
GB201112665D0 (en) * | 2011-07-22 | 2011-09-07 | Vodafone Ip Licensing Ltd | Data anonymisation |
US9699274B2 (en) * | 2011-07-25 | 2017-07-04 | Alcatel Lucent | Method and apparatus for reliable session migration |
US9122866B1 (en) | 2013-05-08 | 2015-09-01 | Emc Corporation | User authentication |
US9288184B1 (en) * | 2013-05-16 | 2016-03-15 | Wizards Of The Coast Llc | Distributed customer data management network handling personally identifiable information |
US9223995B1 (en) * | 2013-12-10 | 2015-12-29 | Progress Software Corporation | Semantic obfuscation of data in real time |
US9819650B2 (en) * | 2014-07-22 | 2017-11-14 | Nanthealth, Inc. | Homomorphic encryption in a healthcare network environment, system and methods |
WO2016115266A1 (en) * | 2015-01-14 | 2016-07-21 | Niara, Inc. | System, apparatus and method for anonymizing data prior to threat detection analysis |
US11277390B2 (en) * | 2015-01-26 | 2022-03-15 | Listat Ltd. | Decentralized cybersecure privacy network for cloud communication, computing and global e-commerce |
AU2017314767B2 (en) * | 2016-08-26 | 2022-08-18 | Impedimed Limited | Subject data management system |
EP3293933A1 (en) * | 2016-09-09 | 2018-03-14 | Koninklijke KPN N.V. | Communication content protection |
US20180262432A1 (en) * | 2017-03-10 | 2018-09-13 | Vidscale, Inc. | Vertical packet aggregation using a distributed network |
US10664616B2 (en) * | 2017-03-20 | 2020-05-26 | Mapbox, Inc. | Anonymization of geographic route trace data |
EP3759865B1 (en) * | 2018-02-27 | 2024-04-03 | Visa International Service Association | High-throughput data integrity via trusted computing |
RU2696240C1 (ru) * | 2018-03-30 | 2019-07-31 | Акционерное общество "Лаборатория Касперского" | Способ анонимного обмена данными в клиент-серверной архитектуре |
RU2728503C1 (ru) * | 2019-03-29 | 2020-07-29 | Акционерное общество "Лаборатория Касперского" | Способ передачи конфиденциальных данных |
-
2018
- 2018-03-30 RU RU2018111486A patent/RU2696240C1/ru active
- 2018-08-13 US US16/101,556 patent/US10992647B2/en active Active
- 2018-08-13 US US16/101,635 patent/US10986068B2/en active Active
- 2018-08-13 US US16/101,689 patent/US11063913B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2531569C2 (ru) * | 2009-06-12 | 2014-10-20 | Майкрософт Корпорейшн | Защищенное и конфиденциальное хранение и обработка резервных копий для доверенных сервисов вычисления и данных |
US20120259877A1 (en) * | 2011-04-07 | 2012-10-11 | Infosys Technologies Limited | Methods and systems for runtime data anonymization |
US20140047551A1 (en) * | 2012-08-10 | 2014-02-13 | Sekhar Nagasundaram | Privacy firewall |
US20170243028A1 (en) * | 2013-11-01 | 2017-08-24 | Anonos Inc. | Systems and Methods for Enhancing Data Protection by Anonosizing Structured and Unstructured Data and Incorporating Machine Learning and Artificial Intelligence in Classical and Quantum Computing Environments |
US20180063182A1 (en) * | 2016-08-30 | 2018-03-01 | Kivu Consulting, Inc. | Systems and methods for identifying and mapping sensitive data on an enterprise |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2773624C2 (ru) * | 2020-06-19 | 2022-06-06 | Акционерное общество "Лаборатория Касперского" | Способ и система передачи данных на сервер с привлечением удостоверяющего центра |
RU2782705C1 (ru) * | 2021-12-22 | 2022-11-01 | Федеральное государственное казенное военное образовательное учреждение высшего образования Академия Федеральной службы охраны Российской Федерации | Способ деанонимизации пользователей сети интернет |
Also Published As
Publication number | Publication date |
---|---|
US20190306125A1 (en) | 2019-10-03 |
US10992647B2 (en) | 2021-04-27 |
US10986068B2 (en) | 2021-04-20 |
US20190306126A1 (en) | 2019-10-03 |
US11063913B2 (en) | 2021-07-13 |
US20190306127A1 (en) | 2019-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2696240C1 (ru) | Способ анонимного обмена данными в клиент-серверной архитектуре | |
van Beek et al. | Digital forensics as a service: Game on | |
EP2396922B1 (en) | Trusted cloud computing and services framework | |
US8321688B2 (en) | Secure and private backup storage and processing for trusted computing and data services | |
US20100318782A1 (en) | Secure and private backup storage and processing for trusted computing and data services | |
RU2728503C1 (ru) | Способ передачи конфиденциальных данных | |
RU2766134C2 (ru) | Способ анонимной отправки данных с устройства пользователя | |
US11397833B2 (en) | System and method for anonymously collecting malware related data from client devices | |
RU2707707C2 (ru) | Способ передачи данных в клиент-серверной архитектуре при выполнении запроса | |
RU2754967C1 (ru) | Способ передачи анонимных данных недоверенной стороне | |
CN110324299B (zh) | 用于在服务器和客户端之间匿名交换数据的***和方法 | |
RU2739862C2 (ru) | Способ адаптивного выбора путей передачи данных пользователя | |
RU2696227C1 (ru) | Способ передачи данных в клиент-серверной архитектуре | |
EP3779758B1 (en) | System and method for anonymously transmitting data in a network | |
RU2773624C2 (ru) | Способ и система передачи данных на сервер с привлечением удостоверяющего центра | |
RU2749182C1 (ru) | Способ передачи данных на сервер с использованием открытого ключа | |
CN110324298B (zh) | 用于在执行查询时路由数据的***、方法和介质 | |
RU2755251C2 (ru) | Способ получения анонимных данных | |
EP3757845B1 (en) | Systems and methods for anonymous and consistent data routing in a client-server architecture | |
CN110324300B (zh) | 在统计资料收集期间路由数据的***和方法 | |
EP3971752B1 (en) | System and method for anonymously collecting malware related data from client devices | |
Lafta et al. | Privacy preserving homomorphic encryption in cloud storage | |
Shahane et al. | Cloud Auditing: An Approach for Betterment of Data Integrity | |
Shakir et al. | Diagnosis Security Problems for Hybrid Cloud Computing in Medium Organizations |