Область техники
Изобретение относится к способам и системам защиты конфиденциальности пользовательских данных и обеспечения приватности.
Уровень техники
Объем данных, собираемых с устройств пользователей, растет каждый год. Также растет разнообразие и количество самих устройств, с которых собирают данные, так к персональным компьютерам, ноутбукам, смартфонам добавляются IoT устройства. Зачастую данные собирают с устройств без явного на то согласия со стороны пользователя, но даже при наличии такого согласия пользователь не всегда понимает всех последствий своего решения. Впоследствии данные, собранные с устройств, неконтролируемо распространяются по сети и могут нанести вред пользователю. Например, пользователь может стать жертвой мошенников, которые получили номер его телефона или кредитной карты. Но неудобства причиняют не только злоумышленники, недобросовестные работодатели используют данные с устройств пользователей, чтобы следить за своими сотрудниками. Результатом неконтролируемого сбора данных также является навязчивая таргетированная реклама специальных категорий товаров.
Производители устройств пытаются оградить пользователя от скрытого сбора данных и упорядочить работу с данными. Примером является система Firebase от Google, которая синхронизирует данные между различными приложениями Android устройств и предоставляет доступ к этим данным третьей стороне. Так публикация US 9838830 B2 описывает способы управления данными с устройств, хранящимися в структурах на сервере. Другая публикация US 20160134932 A1 описывает способы получения видеоданных с устройств пользователя и предоставления их третьей стороне.
Похожая платформа есть и у Apple - Apple Security Framework, которая используется для защиты информации, установления доверенного соединения и контроля доступа к программному обеспечению на устройстве. Платформу используют для установления личности пользователя, обеспечения безопасности данных как в хранилище, так при передаче по сети, для подтверждения валидности кода. Так публикация US 9124637 B2 описывает технологию обеспечения защиты данных при синхронизации наборов ключей для различных устройств.
Указанные решения позволяют делиться данными с устройств с третьими лицами, но эти механизмы непрозрачны для пользователя, являются необратимыми и слабо препятствуют трекингу со стороны приложений третьих лиц.
Раскрытие изобретения
Настоящее изобретение предназначено для безопасного и прозрачного обновления данных пользователя, собранных с устройств пользователя, на средстве хранения.
Технический результат настоящего изобретения заключается в обеспечении доступа средству обработки к криптоконтейнеру. Объектом настоящего изобретения является способ предоставления доступа к криптоконтейнеру с данными пользователя средству обработки, в котором создают криптоконтейнер для данных пользователя, где получают по меньшей мере один элемент данных пользователя и шифруют элемент данных ключом А Далее выдают права доступа к элементу данных пользователя для средства обработки и формируют в криптоконтейнере по меньшей мере одну структуру доступа для средства обработки, где помещают в структуру доступа по меньшей мере один ключ A для доступа к элементу данных пользователя в соответствии с выданными для средства обработки ранее правами, получают ключ С, связанный со средством обработки, для доступа к ключу A и шифруют ключ A ключом С. В заключении предоставляют доступ средству обработки к криптоконтейнеру.
В частном случае ключ С - совокупность пары ключей: закрытого ключа С и открытого ключа С, где для шифрования ключа А могут получать открытый ключ С. После шифрования передают средству обработки информацию о ключе С. В другом частном случае открытый ключ С получают непосредственно от средства обработки, которому предоставляют доступ.
В частном случае каждый элемент данных пользователя зашифрован отдельным ключом А.
Права доступа определяют набор действий, разрешённых для средства обработки над элементом данных пользователя, где действиями над элементом данных пользователя являются по меньшей мере:
чтение данных;
запись данных.
При этом для каждого действия может создаваться отдельный ключ А.
В частном случае ключ A - совокупность пары ключей: закрытого ключа A и открытого ключа A. Для чтения и записи может создаваться пара из открытого ключа А и закрытого ключа А, где открытый ключ А используется для расшифровки данных при осуществлении чтения, а закрытый ключ А для шифрования данных при осуществлении записи. При выдаче прав на чтение поля в структуру доступа помещают открытый ключ А, а при выдаче прав на запись поля в структуру доступа помещают закрытый ключ A.
В частном случае при создании криптоконтейнера дополнительно добавляют структуру доступа для средства управления правами, где:
а. помещают в структуру доступа для средства обработки по меньшей мер один ключ A;
б. шифруют ключ А.
Дополнительно при добавлении структуры доступа для средства обработки ключ А, помещаемый в структуру доступа для средства обработки, предварительно извлекают из структуры доступа для средства управления правами.
В частном случае дополнительно запрашивают права на доступ к элементу данных пользователя в созданном криптоконтейнере для средства обработки.
Краткое описание чертежей
Сопровождающие чертежи включены для обеспечения дополнительного понимания изобретения и составляют часть этого описания, показывают варианты осуществления изобретения и совместно с описанием служат для объяснения принципов изобретения.
Заявленное изобретение поясняется следующими чертежами, на которых:
Фиг. 1 изображает систему обмена данными с устройств пользователя.
Фиг. 2 изображает способ предоставления доступа к данным пользователя средству обработки.
Фиг. 2а изображает вариант осуществления способа предоставления структуры данных пользователя средствам обработки при передаче структуры данных удаленному средству хранения с устройства пользователя.
Фиг. 2б изображает вариант осуществления способа предоставления структуры данных пользователя средствам обработки при передаче структуры данных от средства хранения средству обработки.
Фиг. 3 изображает способ обновления данных пользователя на средстве хранения.
Фиг. 3а изображает вариант осуществления способа обновления данных пользователя при передаче структуры данных удаленному средству хранения.
Фиг. 3б изображает вариант осуществления способа обновления данных пользователя при передаче обновленной структуры данных средству хранения.
Фиг. 4 изображает пример настройки разрешений на данные.
Фиг. 5 изображает систему обмена данными пользователя, предназначенную для предоставления доступа к данным пользователя посредством криптоконтейнера.
Фиг. 6 изображает примеры криптоконтейнеров.
Фиг. 7 изображает пример способа формирования нового криптоконтейнера.
Фиг. 8 изображает пример способа предоставления доступа средству обработки к предварительно сформированному криптоконтейнеру.
Фиг. 9 изображает пример системы обмена данными пользователя, предназначенной для предоставления доступа к медицинской истории пациента посредством криптоконтейнера.
Фиг. 10 изображает пример компьютерной системы общего назначения.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формуле.
Описание осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных вариантах. Приведенное описание предназначено для помощи специалисту в области техники для исчерпывающего понимания изобретения, которое определяется только в объеме приложенной формулы.
На Фиг. 1 изображена система обмена данными, полученными с устройств пользователя 100. Система 100 предназначена для прозрачной и безопасной обработки данных пользователей устройств 101. Под данными пользователя устройств в рамках данного изобретения понимаются данные с устройств из окружения пользователя, создаваемые на устройстве различным программным обеспечением, это могут быть как вводимые пользователем данные, так и данные, создаваемые в рамках работы программ и приложений, например, поток кликов (син. кликстрим от англ. clickstream), сообщения в мессенджерах, данные о местоположении, данные от IoT устройств умного дома или других IoT устройств из экосистемы пользователя, например, личного автомобиля. Система 100 в частном случае реализации состоит из:
устройства пользователя 101, со средством блокировки 110, средством сбора 120, средством управления правами 130, средства модификации 140;
средства обработки 102;
средства хранения 150, со средством агрегирования и аналитики 170, и средством журналирования 180;
средства анонимизации 160, со средством журналирования 180.
Средство блокировки 110 предназначено для блокировки обработки данных на устройстве пользователя (в том числе и персональных данных) средствами обработки 102. Блокироваться могут любые средства обработки 102: как сторонние, так и принадлежащие платформе, которой управляется устройство (например, ПО и сервисы Apple, Google, Huawei, Xiaomi), на котором установлено средство блокировки, или которое доступно для средства блокировки (например, средство блокировки 110 установлено на маршрутизаторе, через который выходят в Интернет персональные устройства пользователя 101а, IoT устройства, и средство блокировки анализирует сетевой трафик, проходящий через него). В частном случае средством блокировки блокируется сбор не любых данных, а только критических данных. К критическим данным (англ. critical data) относят данные, в отношении которых закон или уполномоченный субъект накладывает ограничения на сбор, хранение, доступ, распространение и обработку. Эти данные, как правило, чувствительны к разглашению, распространению, утечке, так как возникновение этих событий приводит к нарушению прав и охраняемых законом интересов субъектов и предусматривает ответственность для субъектов, допустивших нарушения правил сбора, хранения, доступа, обработки, предъявляемым к таким данным. Частным случаем критических данных являются конфиденциальные данные (в рамках данного изобретения конфиденциальные данные и конфиденциальная информация являются синонимами) (англ. sensitive data). Под конфиденциальными данными понимаются данные, которые охраняются в соответствии с законодательством страны, в юрисдикции которой находится пользователь, использующий устройство, являющееся в описываемой системе клиентом. К конфиденциальным данным в частном случае относятся персональные данные (ПДн) и данные, содержащие:
коммерческую тайну;
налоговую тайну;
банковскую тайну;
врачебную тайну;
нотариальную тайну;
адвокатскую тайну;
аудиторскую тайну;
тайну связи;
тайну страхования;
тайну завещания;
тайну усыновления;
тайну исповеди;
тайну следствия;
тайну судопроизводства;
сведения о защищаемых лицах;
государственную тайну.
В другом частном случае блокируется обработка данных пользователя в маркетинговых целях. В другом частном случае блокируется обработка любых данных пользователя средствами обработки 102, не связанных с прямой функциональностью приложений или программ, использующих такие средства обработки. Также блокируется, в частности, обработка средствами обработки 102, которые не находятся в списке разрешенных (доверенных). Блокировка обработки данных может осуществляться различными методами как прямыми, когда блокируются сами действия, связанные с обработкой данных, так и косвенными методами блокировки, когда обработке данных прямо не препятствуют, но обработка не достигает целей, хотя и осуществляется. К прямым методам блокировки может относиться запрет доступа к данным пользователя со стороны средств обработки. К косвенным методам обработки, в частности, относится разрыв ассоциативной связи между отправляемыми данными с устройств пользователя, например, за счет удаления cookie файлов или подмены идентификаторов пользователя, установленных трекинговыми сетями на устройстве.
Средство управления правами доступа к данным 130 предназначено для управления доступом к данным. Средством 130 оформляются права средствам обработки 102 на доступ к данным, отзываются права у средств обработки, формируются списки разрешенных (доверенных) средств обработки 102. Средством 130 хранится или формируется формат структуры (модель данных) для данных пользователя, предназначенных для размещения на средстве хранения 150. Средство 130 может настраиваться как сторонними обновляемыми политиками, так и пользовательскими политиками или непосредственно вводом пользователя. Средством 130 также обновляется модель данных (ГОСТ 20886-85: Организация данных в системах обработки данных. Термины и определения) пользователя, предназначенная для отправки средству хранения (сценарии работы будут описаны ниже).
Средство сбора данных пользователя 120 предназначено для сбора данных пользователя, которые предназначены для передачи средству хранения 150, с устройств пользователя. Средство 120 заполняет поля структуры данных, полученной от средства управления правами доступа к данным 130. Далее средство сбора 120 передает заполненную структуру данных средству модификации 140. В частном случае средство сбора 120 отправляет заполненную структуру данных на средство хранения 150 напрямую. В общем случае блокировка средством 110 и сбор данных средством 120 осуществляются независимо от потребностей средств обработки 102 в данных. Например, в соответствии с настройками средство блокировки 110 блокирует веб-трекинг, а средство сбора 120 собирает все данные, обработку которых средство 110 превентивно (до попыток обработки средствами 102) заблокировало на устройстве 101, далее собранные данные размещаются на средстве хранения 150.
Устройство 101 содержит средство модификации 140, предназначенное для анализа данных в полях структуры, полученной от средства 120, для определения состава данных, для разделения структуры данных на подструктуры и выбора маршрута отправки данных на удаленное средство хранения для полученных подструктур. Средство модификации 140 определяет необходимость разделения структуры на подструктуры в зависимости от полей структуры. Критерии разделения структуры данных на подструктуры могут быть различными, одним из таких критериев является наличие персональных данных (англ. Personal Identification Information - PII) или их специальных категорий (к примеру, по терминологии GDPR), при котором структура данных разделяется таким образом, что одна подструктура содержит персональные данные (далее - ПДн, англ. PII) или их специальные категории, другая подструктура включает данные, не являющиеся персональными. Отношение данных к персональным определяется, например, законодательством страны, в юрисдикции которой находится пользователь, использующий устройство, являющееся в описываемой системе клиентом (другими словами, по местоположению источника данных). Другим более общим критерием является наличие критических данных. В частном случае средство модификации 140 предназначено для преобразования структур данных на устройстве перед отправкой данных на средство хранения 150. В частном случае способами преобразования данных подструктур являются:
квантование;
сортировка;
слияние (склеивание);
группировка;
настройка набора данных;
табличная подстановка значений;
вычисляемые значения;
кодирование данных;
шифрование;
свертка;
нормализация (масштабирование).
Некоторые виды преобразования могут применятся не только к отдельным данным (полям) в подструктуре, но и к подструктуре в целом, например, токенизация и/или шифрование. При этом преобразование в частном случае осуществляется без возможности обратного преобразования любыми средствами, кроме средства модификации 140 и/или средства хранения 150. Под преобразованием понимается отображение (функция) множества в себя или отображения, переводящие некоторое множество в другое множество.
Частным случаем средства обработки может быть клиент 102б (например, приложение), собирающий на устройстве данные пользователя 101 по запросу со стороны сервера 102а, с которым приложение связано в рамках клиент-серверного взаимодействия. Под обработкой данных понимается любое действие (операция) или совокупность действий (операций), совершаемых с использованием средств автоматизации (средств обработки) с данными, включая: сбор, запись, систематизацию, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передачу (распространение, предоставление, доступ), обезличивание, блокирование, удаление, уничтожение данных.
В частном случае средство модификации 140 выбирает сетевой маршрут, по которому будет отправлена структура или подструктуры средству хранения 150. Этот маршрут может включать средство анонимизации 160. Средство анонимизации 160 предназначено для преобразования проходящих через него структур и подструктур как прямого преобразования, так и обратного (примеры будут рассмотрены ниже). Средство анонимизации не расположено в одной локальной сети или Интранете (например, сети одной организации) с устройством 101 и в частном случае со средством хранения 150. Со средством анонимизации, как и со средством хранения 150, связано средство журналирования 180.
Средство журналирования 180 предназначено для отслеживания операций с данными пользователя и фиксации всех актов отчуждения данных пользователя от средства хранения 150. На основании лога, который ведется данным средством 180, всегда возможно проверить легальность использования данных пользователя третьими лицами. Например, история поисковых запросов пользователя была передана сети N без права передачи третьим лицам, что зафиксировано средством журналирования 180, но пользователь получает рекламные предложения от сети M на основании своих поисковых запросов, что фиксируется дополнительными средствами системы 100 (на Фиг. 1 не указаны), на основании данных с устройства и от средства журналирования 180 система 100 зафиксирует инцидент. Далее в зависимости от дополнительных надстроек над системой 100 этот инцидент может быть обработан. Например, дополнительные средства системы 100: составят претензию сети N; отправят требование на удаление данных к сети M; направят уведомление регулятору и т.д.
Средство хранения 150 предназначено для размещения пользовательских данных. Средство хранения как может передавать данные пользователя средствам обработки 102, так и позволяет обрабатывать данные без передачи непосредственно на средстве 150. Со средством хранения 150 связано средство агрегирования и аналитики 170, предназначенное для автоматизированного анализа данных и построения на основании этого анализа различных аналитических отчетов и агрегатов, которые также размещаются на средстве хранения 150 и могут быть переданы сторонним средствам обработки 102 при наличии у последних на это прав. Средство 170 также связывает данные с различных устройств 101 одного пользователя/домохозяйства. Средство хранения 150 связано также со средством управления правами (например, через агент 130а), так как средством хранения определяются права доступа средств обработки к данным пользователя. Средство хранения 150 может находиться как на устройстве 101, так и в локальной сети устройства 101, или удаленно, как изображено на Фиг. 1. Средство хранения в частном случае получает данные пользователя, в том числе от средств обработки. Например, от средств обработки социальных сетей, онлайн и офлайн магазинов, рекламных сетей, бирж данных и т.д.
Описанная система используется для осуществления способа 200 предоставления доступа к данным пользователя средству обработки (Фиг. 2). На этапе 210 средством блокировки 110 блокируют обработку данных пользователя на стороне устройств пользователя для средств обработки. Блокируют различные способы обработки и для различных средств обработки. В частности, блокируют:
мобильный и веб трекинг, например за счет:
- отслеживания и удаления трекеров с устройств,
- использования VPN сервиса, который позволяет вырезать трекеры и рекламу из сетевого трафика;
сбор информации о геолокации, например за счет:
- использования виртуальных операторов,
- подмены (англ. spoofing) геолокации,
- отключения GPS, Wi-Fi, Bluetooth модулей в моменты неиспользования их пользователем;
сбор поисковых запросов, например за счет:
- использования приватных поисковых систем (например, DuckDuckGo),
- проксирования исходящих поисковых запросов,
- подмены (англ. spoofing) идентификаторов поисковых систем в исходящем трафике,
- удаления идентификаторов поисковых систем в исходящем трафике;
сбор регистрационных данных, например за счет:
- анонимных номеров телефонов и почтовых ящиков,
- анонимных одноразовых карт.
На этапе 220 данные пользователя (в частном случае которые заблокированы для обработки сторонним средствам обработки 102) в соответствии с действующими политиками (применяемыми средством управления правами 130 и реализуемыми через модель/структуру данных, описанную выше), собираются средством сбора 120 и передаются средству хранения 150, в частном случае через средство модификации 140 и/или средство анонимизации 160. В частном случае доступ к этим данным средства обработки 102, которые не находятся, например, в списке разрешенных или для которых указанные данные не являются необходимыми для обеспечения основной функциональности, могут получить только от средства хранения 150. На следующем этапе 230 система 100 получает запрос на обработку данных пользователя на устройстве 101. Данный запрос могут получить различные средства системы 100 в зависимости от способа его выполнения. Например, при попытке обработки данных пользователя на устройстве это обнаружит средство блокировки 110 (неявный запрос). При явном запросе разрешения на обработку этот запрос будет получен средством управления правами доступа 130. В частном случае, если запрос на обработку получен средством блокировки 110, то данный запрос перенаправляется средству управления правами доступа 130, и если данное средство известно системе 100 (данному средству уже назначены права), то выполняется следующий этап 240, на котором запрос перенаправляют на средство хранения данных пользователя 150. В другом частном случае, когда средство обработки 102 неизвестно системе, для него определяют права доступа и затем выполняется этап 240. В том случае, когда средство обработки 102 находится в списке доверенных или доступ к этим данным осуществляется в рамках основной функциональности, принятой пользователем, или в других указанных выше случаях, то средству обработки 102 позволяется осуществить обработку данных пользователя без перенаправления на средство хранения 150. На следующем этапе 250 средством хранения 150 определяют права доступа для средства обработки к данным пользователя, средство хранения может для этого использовать как свою копию базы прав доступа для средств обработки 102, сформированную средством управления правами 130, так и обратиться непосредственно к средству 130, например, через агент 130а. После определения прав на этапе 260 предоставляют доступ к данным пользователя средству обработки в соответствии с определенными правами. В частном случае доступ предоставляют через средство анонимизации, которое выполняет обратное преобразование данных пользователя, размещенных на средстве хранения 150. Информация об этом фиксируется средством журналирования 180, фиксация в частном случае построена на технологии блокчейн, а технология предоставления данных для обработки от пользователя средству обработки 102 может быть реализована как смарт контракт, где встречным предоставлением со стороны владельца средства обработки в частном случае является безденежное использование функционала приложения/программы (данные пользователя в обмен на функционал). В данном примере после получения доступа к обработке данных пользователя пользователь, предоставивший доступ к своим данным, может воспользоваться функционалом некоторого приложения, сервиса или ему будет доступен любой другой продукт или услуга, необязательно цифровые (например, скидка на страховку в случае предоставления телеметрии c автомобиля).
На Фиг. 2а приведен вариант осуществления способа предоставления данных пользователя средствам обработки. Средство блокировки 110 блокирует обработку данных для рекламной сети M. Блокировка осуществляется за счет удаления из веб данных 103, создаваемых в том числе браузером 102б, cookie файлов на этапе 211, в которых содержится рекламный идентификатор, и подмены в сетевом трафике на этапе 212 идентификатора пользователя в рекламной сети M. Это препятствует работе средств обработки 102, которые используются в данном случае для профилирования пользователей (являются средствами профилирования). Таким образом, рекламная сеть не может осуществлять таргетирование, не обладая профилем пользователя, что резко снижает конверсию (число кликов по рекламному объявлению), а так как модель работы рекламной сети CPC (от англ. cost-per-click), соответственно снижается выручка с одного пользователя ARPU (от англ. average revenue per user). Подобная блокировка используется пользователем, так как пользователь хочет избежать появления рекламы некоторых категорий X товаров у себя в браузере (например, лекарственных препаратов, медицинских клиник и других объектов из категории «Здоровье»). Но при этом пользователь готов получать таргетированную рекламу из других категорий товаров и услуг от данной рекламной сети M. Таким образом, после заданных настроек на этапе 221 средством управления правами доступа 130 оформляются права для сети M на историю поисковых запросов и поток кликов, исключая поисковые запросы и клики, связанные с категорией X. Связанная с этим информация рассылается средствам системы 100 на этапе 222, в частности средство сбора 120 получает структуру данных с полями для заполнения, средство модификации 140 получает категории запрещенных к передаче данных, а средство хранения получает права доступа для рекламной сети M. Далее в частных случаях возможны разные сценарии, например:
средством сбора 120 собирают все поисковые запросы и клики с устройств пользователя 101, и все данные отправляются средству хранения 150, а средство хранения 150 самостоятельно сформирует (в частном случае - заполнит) структуру для обработки средствами обработки 102 рекламной сети М в соответствии с правами доступа, исключив клики и поисковые запросы из категории X;
средством сбора 120 собирают все поисковые запросы и клики с устройств пользователя 102, и все данные отправляются средству модификации 140, и средство модификации 140 удаляет подструктуры, относящиеся к категории X, и модифицированная структура размещается на средстве хранения 150, в таком виде она будет передана средству обработки 102 рекламной сети М;
средством сбора 120 собирают поисковые запросы и клики, не относящиеся к категории X, и структура размещается на средстве хранения 150, в таком виде она будет передана средству обработки 102 рекламной сети М;
средством сбора 120 собирают поисковые запросы из всех категорий и клики, не относящиеся к категории X, и структура предается средству модификации 140, средством модификации 140 из полученной структуры удаляются поисковые запросы, относящиеся к категории X, и модифицированная структура передается средству хранения 150, в таком виде она будет передана средству обработки 102 рекламной сети М (к этому сценарию относится пример на Фиг. 2а, который будет рассмотрен далее).
В общем случае подобные сценарии распространяются не только на клики и поисковые запросы, но и на другие типы данных пользователя, где это возможно, а средства обработки 102 относятся не только к рекламным сетям, а устройств пользователя также может быть больше одного. В частном случае, когда средство хранения 150 размещено на удаленном узле, как на Фиг. 2а, модифицированная структура от средства модификации не направляется напрямую средству хранения 150.
Далее продолжим рассматривать пример по последнему сценарию. После того как на этапе 221 оформлены права средством 130 для средства обработки 102 сети M, средство управления правами 130 передает формат структуры средству сбора 120 для заполнения полей на этапе 222. Структура содержит по меньшей мере поле «поисковые запросы» и поле «clickstream», в свою очередь поле clickstream содержит поля категорий веб-ресурсов, в которых отсутствует поле для категории X. На этапе 222а средство сбора 120 заполняет поля. Данные для заполнения в частном случае выбираются из сохраненных веб данных 103, накопленных в процессе сетевой активности пользователя. Эти данные формируются как браузером 102а, так и дополнительными средствами системы 100, такими как плагины в браузере или UI перехватчики (на Фиг.2а не указаны и в частном случае являются модулями средства 120). На этапе 223 средство сбора 120 передает заполненную структуру средству модификации 140, которое в свою очередь на основании формата структуры, полученной также на этапе 222 от средства управления правами 130, анализирует поля поисковых запросов на наличие запросов, относящихся к категории X, после чего данные запросы удаляются. Средство модификации 140 получает от средства обработки 102 на этапе 224 идентификатор пользователя в рекламной сети M (UserIDM) (например, из cookie файла или из профиля в браузере) и идентификатор пользователя в системе 100 (UserID100) от средства управления правами 130 (на Фиг. 2а не указано). Далее структура с данными пользователя шифруется открытым ключом, и генерируется пара одинаковых случайных токенов. Один из токенов связывается с идентификаторами, второй токен связывается со структурой данных пользователя (например, добавляется дополнительным полем к структуре, данный этап на Фиг. 2а не указан). Далее на этапе 225а структура данных пользователя отправляется средству хранения 150, а идентификаторы со вторым токеном отправляются средству анонимизации 160 на этапе 225б. Средство анонимизации 160 преобразует идентификаторы на этапе 225в, и преобразованные идентификаторы UserID’100 и UserID’M на этапе 225г передаются средству хранения 150. На средстве хранения 150 идентификаторы объединяются со структурой данных пользователя на основании тождественных токенов на этапе 226. Далее средство хранения 150 связывает полученную структуру данных с другими структурами данных для этого пользователя на этапе 227. Средство преобразования 160 изменяет оригинальный идентификатор пользователя в системе 100 и идентификатор для рекламной сети M в целях защиты данных пользователя в случае утечки данных из средства хранения 150, так как с измененными идентификаторами невозможно опознать владельца данных. Теперь запросы данных от рекламной сети M на обработку данных перенаправляются средству хранения 150 через средство анонимизации 160, как это показано на Фиг. 2б. Как видно из Фиг. 2б, запрос может отправить как сервер через клиент на этапе 230, так и сам клиент в соответствии со своим функционалом на этапе 230а и/или на этапе 230б. Запрос в частном случае содержит идентификатор пользователя в рекламной сети M UserIDM. На этапе 240 запрос перенаправляется средству анонимизации 160. При перенаправлении запроса к запросу прикрепляется идентификатор пользователя в системе 100, а в частном случае информация о запрашиваемых данных, например, перечисление полей структуры, формат может быть различным - XML, JSON и т.д. На этапе 241 средство анонимизации 160 преобразует идентификатор пользователя в системе 100 и идентификатор в рекламной сети M и передает преобразованные идентификаторы средству хранения на этапе 242. Средство хранения 150 обнаруживает на этапе 243 данные, связанные с пользователем, на основании UserID’100 и определяет права для рекламной сети M на этапе 250 (на Фиг.2б не указан), и формируют средством хранения 150 данные для обработки средством обработки 102 в соответствии с правами доступа. В данном примере это происходит путем поиска UserID’M и связанной с ним структуры данных. Когда данные обнаруживаются, они вместе с UserID’M возвращаются средству анонимизации 160 на этапе 251, средство анонимизации 160 возвращает идентификатору пользователя в сети M оригинальное значение на этапе 252, и данные пользователя вместе с оригинальным UserIDM передаются средству обработки 102 рекламной сети, при этом факт передачи фиксируется средством журналирования 180.
В частном случае рекламная сеть может обращаться непосредственно к анонимизатору без перенаправления запросов со стороны устройства 101, в данном случае средство обработки само перенаправляет запрос – вместо устройства обращается к средству хранения в частном случае через анонимизатор. В другом частном случае данные не передаются средству обработки 102, а предоставляется доступ к копии данных, размещенных на средстве хранения 150.
Также система, изображенная на Фиг.1, используется для осуществления способа обновления данных пользователя 300. Данный способ осуществляется, когда не все данные для обработки размещаются на средстве хранения и/или когда устройств у пользователя, с которых возможно получать данные, больше чем одно. В данном способе этапы 210, 230, 240, 250 аналогичны этапам способа, изображенного на Фиг.2. На этапе 310 средством хранения обнаруживают, что данные, на которые средством обработки получены права доступа, не размещены на средстве хранения. Поэтому на этапе 320 отсутствующие данные пользователя передают с устройства средству хранения. В частном случае при обнаружении отсутствия данных средство хранения 150 обращается к средству управления правами доступа 130. Средство 130 обновляет модель данных, в соответствии с которой средство сбора 120 заполняет новые поля в структуре (в рассматриваемом примере, которые относятся к местоположению). Далее средство 130 отправляет данные на средство хранения 150. В частном случае отправка осуществляется с использованием средства модификации 140 (средство 140 проводит анализ данных на критичность и другое соответствие правам, установленным средством управления правами доступа 130) и средство анонимизации 160, если обнаруженные данные требуют дополнительного преобразования.
На Фиг. 3а изображен вариант осуществления способа 300. Продолжим рассмотрение примера с рекламной сетью М. Но в данном случае система 100 работает по следующему сценарию:
на устройстве 101б (в рассматриваемом примере ПК) превентивно блокируется веб трекинг (этапы 211, 212),
средством сбора 120 собирают все поисковые запросы и клики пользователя на этапе 222а (как самые распространенные для обработки данные),
собранные данные отправляются средству хранения 150 (этапы 225а - 227), а средство хранения 150 впоследствии самостоятельно сформирует структуру для обработки средствами обработки в соответствии с их правами доступа.
Помимо информации о поисковых запросах и кликах, рекламная сеть М в данном примере запросила информацию о местоположении – на этапе 230 сервер 102а направил запрос клиенту 102б, который направил его средству управления правами доступа 130 на этапе 230б. Пользователь выдал такое разрешение на этапе 221, и средство управления правами доступа 130 оформило права в том числе и на данные о местоположении.
Так как средство хранения 150 самостоятельно формирует или заполняет структуры данных для обработки средствами обработки 102, то на этапе 240 (здесь и далее см. Фиг.3б) при перенаправлении запроса, помимо идентификатора пользователя UserID100, к запросу добавляется информация о данных, на которые у рекламной сети M оформлены права, например, в виде полей структуры данных (на Фиг. 3б это обозначено как “Модель”). Средство хранения 150 на этапе 242 от средства анонимизации 160 получает преобразованный идентификатор пользователя UserID’100 и поля структуры данных, а на этапе 243 находит размещенные в хранилище данные пользователя. Далее средство хранения 150 определяет права доступа к данным, для этого в рассматриваемом примере средство 150 сравнивает поля структуры (взятые из “Модели”), прикрепленные к запросу, с данными, размещенными у себя, и обнаруживает на этапе 310 (на Фиг.3б не изображен), что информация о местоположении пользователя UserID’100 на средстве 150 не размещалась (в результате, например, возникает ошибка заполнения). Средство хранения 150 обращается к средству управления правами доступа 130 с запросом данных, указанных в структуре, но отсутствующих на средстве 150. Обращение к средству 130 осуществляется например, через агент 130а, который на этапе 311 обратится к средству анонимизации 160 и выполнит на этапе 312 преобразование идентификатора UserID’100 в запросе к оригинальному UserID100 при помощи средства преобразования 160 и передаст запрос средству управления правами 130 на этапе 313. Средство управления 130 по результатам запроса от средства хранения 150 обновит информацию о собираемых данных, где обновление включает по меньшей мере два этапа:
обнаружение среди устройств пользователя устройств, которые могут предоставить запрашиваемые данные (в рассматриваемом примере это мобильный телефон 101а);
обновление полей структур (в рассматриваемом примере добавление поля “местоположение”) для средств сбора 120, в частности на этих устройствах, где добавляются поля с запрашиваемыми данными, в рассматриваемом примере это этап 314.
Далее на этапе 320 средство хранения получает запрашиваемые данные. В рассматриваемом примере этап 320 из Фиг.3 состоит из нескольких подэтапов (320а – 320е) на Фиг.3б. На этапе 320а обновленная структура данных пользователя с информацией в том числе о местоположении отправляется средству хранения 150, а идентификатор пользователя в системе 100 со вторым токеном отправляются средству анонимизации 160 на этапе 320б. Средство анонимизации 160 преобразует идентификатор на этапе 320в, и преобразованный идентификатор UserID’100 на этапе 320г передается средству хранения 150. На средстве хранения 150 идентификатор объединяется с обновленной структурой данных пользователя на основании тождественных токенов на этапе 320д. Далее средство хранения 150 связывает полученную структуру данных с другими структурами данных для этого пользователя на этапе 320е. Теперь средство хранения может заполнить необходимые поля по запросу средства обработки 102.
На базе Фиг. 2а – 2б рассмотрим пример осуществления способа 200 предоставления данных пользователя средствам обработки. Средство блокировки 110 блокирует обработку данных для рекламной сети M, а именно блокирует сбор URL адресов/ресурсов, которые посещает пользователь (поток кликов) и историю поисковых запросов. Блокировка осуществляется за счет:
удаления из веб данных 103, создаваемых в том числе браузером 102б, cookie файлов на этапе 211, в которых содержится временный идентификатор пользователя в рекламной сети М, устанавливаемый скриптами веб-страниц;
подмены в сетевом трафике на этапе 212 постоянного идентификатора пользователя в рекламной сети M, который тождественен логину учетной записи, с которой пользователь вошел в браузер;
подмены в сетевом трафике идентификатора установки браузера 102б.
На основании потока кликов и поисковых запросов рекламная сеть М осуществляет профилирование с последующим таргетированием рекламных сообщений. Таким образом, рекламная сеть не может осуществлять таргетирование, не обладая профилем пользователя, что резко снижает конверсию (число кликов по рекламному объявлению), а так как модель работы рекламной сети CPC (от англ. cost-per-click), соответственно снижается выручка с одного пользователя ARPU (от англ. average revenue per user). Подобная блокировка применяется пользователем, так как пользователь хочет избежать появления рекламы категорий «Здоровье» товаров у себя в браузере (например, лекарственных препаратов, медицинских клиник и других объектов из категории «Здоровье»). Но при этом пользователь готов получать таргетированную рекламу из других категорий товаров и услуг от данной рекламной сети M («Спорт», «Обучение», «Книги», …, «N»). При этом пользователь для профилирования готов делиться только историей поисковых запросов и посещенными веб-ресурсами. Данные настройки задаются на этапе 221, а пример таких настроек изображен на Фиг.4. Дополнительно система 100 заблокирует любые рекламные объявления, которые нежелательны для пользователя средством блокировки 110, а именно на этапе 212 будет удалять из трафика и блокировать загрузку рекламных данных с нежелательным содержимым, а именно связанных с категорией «Здоровье».
Таким образом, после заданных настроек на этапе 221 средством управления правами доступа 130 оформляются права для рекламной сети M на всю историю поисковых запросов и поток кликов, исключая поисковые запросы и клики, связанные с категорией «Здоровье». Связанная с этим информация рассылается средствам системы 100 на этапе 222. Средство сбора 120 на этапе 222 получает структуру данных с полями для заполнения, структура содержит поля:
поисковые запросы;
посещенные веб-ресурсы:
искусство;
развлечения;
бизнес;
игры;
общие;
поиск работы
и т.д.
На данном этапе средству сбора 120 указывается собирать все поисковые запросы и все посещенные веб-ресурсы, которые не могут быть отнесены к категории здоровье. Профилирование для таргетирования рекламных материалов по категории «Здоровье» может использовать различные категории веб-ресурсов, поэтому средство 130 при формировании структуры для средства 120 редуцирует общую категорию «Здоровье» на более частные категории (подкатегории) веб-ресурсов и не включает их в поля структуры для средства 120, например, такие подкатегории веб-ресурсов как: лекарственные препараты, медицинские услуги, медицинские информационные порталы и т.д. Например, структура может выглядеть так:
Средство модификации 140 на этапе 222 получает категории поисковых запросов, запрещенных к передаче. Средство модификации 140 использует технологии обработки естественного языка для анализа поисковых запросов и их классификации. Средство хранения 150 на этапе 222 получает права доступа для рекламной сети M.
Далее на этапе 222а средством сбора 120 собирают поисковые запросы из всех категорий и посещенные веб-ресурсы, не относящиеся к категории «Здоровье», и заполняют поля структуры. Данные для заполнения структуры средство сбора 120 выбирает из сохраненных веб данных 103, накопленных в процессе сетевой активности пользователя. Эти данные формируются как браузером 102а, так и дополнительными средствами системы 100, такими как плагины в браузере или UI перехватчики (на Фиг.2а не указаны и являются модулями средства 120).
Примерный формат структуры:
Заполненная структура на этапе 223 передается средству модификации 140. Средство модификации 140 на основании информации о запрещенных категориях, полученной на этапе 222 от средства управления правами 130, анализирует поле поисковых запросов на наличие запросов, относящихся к категории «Здоровье». Далее из полученной структуры удаляются поисковые запросы, относящиеся к категории «Здоровье», в данном примере это запрос R3. Средство модификации 140 получает от средства обработки 102 на этапе 224 идентификатор пользователя в рекламной сети M (UserIDM) из cookie файла или профиля в браузере и идентификатор пользователя в системе 100 (UserID100) от средства управления правами 130 (на Фиг. 2а не указано). Далее структура с данными пользователя, содержащая поисковые запросы и URL-ресурсы, шифруется открытым ключом (Rn→Rn’, URLn→URLn’). Средством модификации 140 генерируется пара одинаковых случайных токенов. Один из токенов связывается с идентификаторами UserIDM и UserID100:
User = {«ID»:[UserIDM, UserID100], «Токен»: token}
Второй токен связывается со структурой данных пользователя (добавляется дополнительным полем к структуре):
Далее на этапе 225а структура данных пользователя отправляется средству хранения 150, а идентификаторы со вторым токеном отправляются средству анонимизации 160 на этапе 225б. Средство анонимизации 160 преобразует идентификаторы на этапе 225в. Средство анонимизации 160 изменяет оригинальный идентификатор пользователя в системе 100 и идентификатор для рекламной сети M в целях защиты данных пользователя в случае утечки данных из средства хранения 150, так как с измененными идентификаторами невозможно опознать владельца данных:
User = {«ID»: [UserIDM, UserID100], «Токен»: token} →
User = {«ID»: [UserID’M, UserID’100], «Токен»: token}
Преобразованные идентификаторы UserID’100 и UserID’M на этапе 225г передаются средству хранения 150. На средстве хранения 150 идентификаторы объединяются со структурой данных пользователя на основании тождественных токенов на этапе 226. Далее средство хранения 150 связывает полученную структуру данных с другими структурами данных для этого пользователя на этапе 227:
Теперь запросы данных от рекламной сети M на обработку данных перенаправляются средству хранения 150 через средство анонимизации 160, как это показано на Фиг. 2б. Как видно из Фиг. 2б, запрос отправляет сервер 102а через браузер 102б на этапе 230. Запрос содержит идентификатор пользователя в рекламной сети M UserIDM. На этапе 240 запрос перенаправляется средству анонимизации 160. При перенаправлении запроса к запросу прикрепляется идентификатор пользователя в системе 100:
User = {«ID»: [UserIDM, UserID100]}
На этапе 241 средство анонимизации 160 преобразует идентификатор пользователя в системе 100 и идентификатор в рекламной сети M:
User = {«ID»: [UserID’M, UserID’100]}
И на этапе 242 передает преобразованные идентификаторы средству хранения 150. Средство хранения 150 обнаруживает на этапе 243 данные, связанные с пользователем, на основании UserID’100 и определяет права для рекламной сети M на этапе 250, в данном примере это происходит путем поиска UserID’M и связанной с ним структуры данных. Когда данные обнаруживаются, они вместе с UserID’M возвращаются средству анонимизации 160 на этапе 251, средство анонимизации 160 возвращает идентификатору пользователя в сети M оригинальное значение на этапе 252, и данные пользователя вместе с оригинальным UserIDM передаются средству обработки 102 рекламной сети, при этом факт передачи фиксируется средством журналирования 180.
В частном случае рекламная сеть может обращаться непосредственно к анонимизатору без перенаправления запросов со стороны устройства 101, в данном случае средство обработки само перенаправляет запрос – вместо устройства обращается к средству хранения, в частном случае через анонимизатор. В другом частном случае данные не передаются средству обработки 102, а предоставляется доступ к копии данных, размещенных на средстве хранения 150.
Также система, изображенная на Фиг.1, используется для осуществления способа обновления данных пользователя 300. Данный способ осуществляется, когда не все данные для обработки размещаются на средстве хранения и/или когда устройств у пользователя, с которых возможно получать данные, больше чем одно. В данном способе этапы 210, 230, 240, 250 аналогичны этапам способа, изображенного на Фиг.2. На этапе 310 средством хранения обнаруживают, что данные, на которые средством обработки получены права доступа, не размещены на средстве хранения. Поэтому на этапе 320 отсутствующие данные пользователя передают с устройства средству хранения. В частном случае при обнаружении отсутствия данных средство хранения 150 обращается к средству управления правами доступа 130. Средство 130 обновляет модель данных, в соответствии с которой средство сбора 120 заполняет новые поля в структуре (в рассматриваемом примере, которые относятся к местоположению). Далее средство 130 отправляет данные на средство хранения 150. В частном случае отправка осуществляется с использованием средства модификации 140 (средство 140 проводит анализ данных на критичность и другое соответствие правам, установленным средством управления правами доступа 130) и средство анонимизации 160, если обнаруженные данные требуют дополнительного преобразования.
На Фиг. 5 изображен частный случай системы обмена данными пользователя, предназначенной для предоставления доступа к данным пользователя посредством криптоконтейнера. Криптоконтейнер — это файл, имеющий определенную структуру (примеры структуры будут описаны ниже), содержащий внутри по меньшей мере полностью зашифрованный набор из элементов данных пользователя. Процесс зашифровывания и расшифровывания данных производится системой 500 автоматически и полностью прозрачен для пользователя. Криптоконтейнеры позволяют безопасно обмениваться большими объемами конфиденциальной информации, которую необходимо редактировать разным пользователям. В частном случае набор элементов данных реализован в виде файловой системы, где элементом данных является файл. Система 500 включает устройство администрирования 510, устройство субъекта данных 520 и устройство потребителя данных 530. В частном случае функции устройства администрирования 510 и устройства субъекта данных 520 выполняет одно устройство. Также система 500 включает средство сбора 120а, средства управления правами 130а, средства модификации 140а, средства хранения 150а, средства анонимизации 160а (опционально), средства журналирования 180. С устройства 520 данные собирают с помощью средства сбора 120а устройства 510. Средство сбора 120а передает данные средству модификации 140а. С помощью средства модификации 140а, используя полученные данные, формируют (создают) криптоконтейнер (если ранее соответствующий криптоконтейнер не создавался, иначе модифицируют существующий) и передают средству хранения 150а. При запросе доступа к данным пользователя со стороны устройства 530 с помощью средства управления правами 130а выдают права и с помощью средства модификации 140а модифицируют криптоконтейнер (далее - контейнер). Средством хранения 150а предоставляют доступ к экземпляру контейнера средству обработки 102 устройства 530. Для получения доступа к данным пользователя посредством контейнера его предварительно формируют, а затем предоставляют доступ средствам обработки 102 к элементам данных в контейнере через модификацию указанного контейнера средством 140а. В другом варианте реализации формирование контейнера и предоставление доступа к данным пользователя и экземпляру контейнера могут осуществляться в одной итерации.
На Фиг. 6 изображены варианты контейнеров 600. Контейнер 600 содержит по меньшей мере один элемент данных 610, содержащий данные пользователя. Элемент данных - наименьшая неделимая (атомарная) единица данных по отношению к способу хранения. Примерами элементов данных 610 являются файлы по отношению к файловой системе (зашифрованный набор элементов данных в таком случае – файловая система), записи в таблицах по отношению к реляционным базам данных (зашифрованный набор элементов данных – таблица), поля по отношению к структурам данных в нереляционных базах данных (зашифрованный набор данных определятся исходя из структуры БД) и т.д. В едином профиле пользователя элементами данных 610 могут быть специализированные профили, которые объединяют информацию о пользователе, относящуюся к одной категории (например, медицинская история, юридическая информация, информация о пользователе как потребителе и т.д.). Элемент данных зашифрован. Для шифрования могут использоваться различные алгоритмы, известные из уровня техники. Зашифрованный элемент данных или зашифрованный набор элементов данных является частью структуры контейнера совместно со структурой доступа к элементу данных 620 (или элементам данных, если элементов по меньшей мере два) и структурой доступа для средств обработки 630. Совместно с зашифрованным элементом данных хранится ключ для расшифровки элемента данных (далее - ключ А).
Ключ А хранится в структуре доступа к элементу 620. Ключ A также зашифрован. Ключ A может быть зашифрован с использованием различных алгоритмов. В частном случае ключ A - совокупность из по меньшей мере двух ключей, например, открытого и закрытого ключа или ключей для расшифровки элемента данных, когда таких элементов по меньшей мере два.
Ключ для доступа к ключу А (ключ B) хранится в структурах доступа для средств обработки 630. В частном случае ключ B - совокупность из по меньшей мере двух ключей, например, открытого и закрытого ключа. Ключ B используется для шифрования ключа А и его расшифровки при осуществлении чтения/записи данных. Ключ B также зашифрован.
Ключ B зашифрован ключом (ключ С), связанным со средством обработки 102. С каждым средством обработки связан свой ключ С. В частном случае ключ C - совокупность из по меньшей мере двух ключей, например, открытого и закрытого ключа. Ключ C либо создается с помощью средства модификации 140а специально для контейнера, либо ключ С получают от средств обработки 102, для которых средством модификации 140а формируют структуру 630. Ключи C служат для разделения прав доступа к контейнеру со стороны различных средств обработки 102. Каждое средство обработки 102 имеет собственный уникальный ключ Cn (ключ Cn экземпляр множества ключей С), с которым и обращается к контейнеру. При этом предполагается, что свой ключ Сn каждое средство обработки хранит надёжно, так что исключается возможность для одного средства 102 получить ключ другого.
Контейнер может быть реализован различными способами. Как фрейм (Фиг. 6а), где ключом А шифруется элемент данных 610, затем ключом B шифруют ключ А совместно с зашифрованным элементом данных 610, а результат совместно шифруют с ключом B ключом С.
В другом случае (Фиг. 6б) контейнер представляет из себя структуру с зашифрованными объектами, элементами такой структуры являются:
зашифрованный элемент данных 610 (по меньшей мере один);
структура доступа к элементу 620 с по меньшей мере одним зашифрованным ключом А;
структура доступа для средства обработки 630 с по меньшей мере одним ключом B, зашифрованным ключом С.
Структур доступа для средства обработки 630 в контейнере может быть более одной, и их количество зависит от количества средств обработки 102, которым предоставлен доступ к данным в контейнере 600. Также элементов данных может быть более одного, пример изображен на Фиг. 6в.
На Фиг. 7 изображен вариант способа формирования (создания) нового контейнера. На этапе 710 с помощью средства сбора 120а получают элемент данных 610 и передают элемент данных средству модификации 140а. С помощью средства модификации 140а на этапе 720 для элемента данных 610 формируют структуру доступа к элементу данных 620. Структура 620 содержит по меньшей мере один ключ для шифрования элемента данных 610 (ключ A). На этапе 730 средством модификации 140а с использованием ключа А шифруют элемент данных 610. Далее на этапе 740 с помощью средства модификации 140а формируют структуру доступа для средства управления правами 630а (частный случай структуры доступа для средств обработки 630, которая содержит ключи, доступные средствам устройства 510, так как ключи в данной структуре зашифрованы ключами С от средства управления правами 130а). Структура 630а содержит ключ для шифрования/расшифровки ключа А – ключ B. При формировании структуры 630а от средства управления правами 130а получают ключ B и шифруют им ключ А на этапе 750. Далее с помощью средства модификации 140а шифруют ключ B на этапе 760. Для шифрования ключа B используют ключ средства управления правами 130а (ключ С). В итоге сформирован контейнер, хранящий элемент данных 610, доступ к которому имеют только средства устройства администрирования 510. В частном случае сформированный контейнер размещают на средстве хранения 150а.
В частном случае ключ B - совокупность ключей (открытый ключ B и закрытый ключ B) и ключ C - совокупность ключей (открытый ключ C и закрытый ключ C). Где закрытым ключом B шифруют ключ А, а открытым ключом С шифруют ключ B.
Выше описан частный случай сформированного контейнера 600, где:
Item – структура, которая хранит зашифрованный элемент данных 610.
Data’ – зашифрованный элемент данных Data 610;
ICA – структура доступа к элементу данных 620;
PubItem – ключ, которым зашифрован элемент данных (ключ А);
UAI_x – структура доступа для средства управления правами 630а;
PrivICA – ключ, которым зашифрован ключ PubItem (закрытый ключ B);
PublICA – ключ для расшифровки ключа PubItem (открытый ключ B);
ID_Container – структура, которая хранит информацию о контейнере 600;
ID – идентификатор контейнера 600;
PrivICA’, PublICA’, PubItem’ – обозначает, что ключи (PrivICA, PublICA, PubItem) зашифрованы.
На Фиг. 8 изображен пример способа предоставления доступа средству обработки 102 к предварительно сформированному контейнеру 600. Первоначально доступ к элементам данных 610 в сформированном контейнере 600 имеют только средства устройства 510. Рассмотрим то, как предоставляется доступ к данным пользователя в контейнере средству обработки 102 стороннего устройств 530 впоследствии. На этапе 810 с помощью средства обработки 102 устройства 530 запрашивают доступ к данным в контейнере 600, который сформирован ранее и размещен, например, на средстве хранения 150а. С помощью средства управления правами 130а на этапе 820 выдают права для средства обработки 102 и передают информацию об этом средству модификации 140а. На этапе 830 формируют структуру доступа 630б для средства обработки 102, для чего средством модификации 140а в контейнере 600 расшифровывают ключ B в структуре доступа для средства управления правами 630а и копируют по меньшей мере один расшифрованный ключ (если ключ B представляет из себя по меньшей мере два ключа) из структуры 630а в формируемую структуру 630б. Количество скопированных ключей зависит от выданных на этапе 820 прав. Если средство обработки 102 получает права на чтение элемента данных, то из структуры 630а скопирован будет ключ B, который позволяет расшифровать ключ А (где ключ А необходим, чтобы расшифровать элемент данных 610 в контейнере 600). Если средство обработки 102 получает права на запись элемента данных 610, то скопирован будет ключ B, который позволяет зашифровать новый ключ А, которым будут зашифрованы добавленные элементы данных 610. Когда структура доступа 630б для средства обработки 102 сформирована (и ключ B скопирован), с помощью средства модификации 140а получают ключ С для шифрования ключа B в сформированной структуре доступа 630б. Данный экземпляр ключа С отличается от ключа С, использованного на этапе 750 в способе 700. В данном случае полученный экземпляр ключа С связан со средством обработки 102 устройства 530.
Получить ключ С, связанный со средством обработки 102, с помощью средства модификации 140а можно различными способами. Данный ключ С в одном частном случае генерируется непосредственно средством модификации 140а, в другом частном случае получается непосредственно от средства обработки 102 или из публичного источника, на котором он был опубликован средством обработки 102. Например, на имя организации, с которой связано устройство 530 со средством обработки 102, выписан сертификат с закрытым и открытым ключом. Совокупность из открытого и закрытого ключа образуют ключ C данной организации. Открытый ключ из совокупности размещается на некотором ресурсе (например, базе открытых ключей 540), откуда данный ключ и может быть получен средством модификации 140а.
С помощью средства модификации на этапе 840 шифруют ключ B полученным ключом С. Теперь доступ к элементам данных в контейнере 600 возможно получить как с помощью средств устройства 510, так и с помощью средства обработки 102 устройства 530. Доступ к элементу данных 610 каждый получает с помощью собственного экземпляра ключа С. Если для шифрования ключа B использовался открытый ключ С, то расшифровывают ключ B закрытым ключом С.
Также следует отметить, что в общем случае недостаточно получить доступ к элементу данных пользователя. Необходимо, чтобы средством хранения 150а был предоставлен доступ к самому экземпляру контейнера, который хранит элемент данных. Поэтому, если это еще не делалось, то на этапе 850 предоставляют доступ к экземпляру (телу) контейнера на средстве хранения 150а.
Выше описан частный случай сформированного контейнера 600, к которому добавили структуру доступа для средства обработки 102, где:
UAI_1 – структура доступа 630б для средства обработки 102.
В частном случае, как в примерах с медицинской историей ниже, структура доступа к элементу 620 не используется, и ключи для доступа к данным (ключи А) содержатся в структуре доступа для средств обработки 630. В общем случае разделение ключей на два уровня (структуру доступа к элементу данных 620 и структуру доступа для средств обработки 630) требуется логически для того, чтобы каждый ключ имел ровно одно назначение. При этом получаются два полезных свойства:
высокая производительность;
криптостойкость.
При таком двухуровневом разделении ротировать ключи можно независимо друг от друга. В частности, при периодической смене ключей B можно будет заменить ключи B из структур доступа для средств обработки 630, не перешифровывая сами элементы данных, которые заметно более объёмные, достаточно перешифровать ключи А. Это важно, например, в контексте файловой системы, т.к. на время данной сервисной операции доступ к элементу данных будет блокироваться. Соответственно, чем меньше такие задержки, тем лучше. При каждом изменении самих элементов данных вынужденно используется новый ключ A для их шифрования. Таким образом не происходит накопления материала для взлома ключа.
Средство анонимизации 160а используется при передаче данных от устройства 510 средству хранения 150а и от средства 150а устройству 530 и устройству 520. Средство 160а в частном случае преобразует идентификатор контейнера при передаче контейнера средству 150а и выполняет обратное преобразование при передаче контейнера от средства 150а или выполнении запросов к контейнеру на средстве 150а от устройства 510, устройства 520 и устройства 530. Это повышает устойчивость системы 500 к утечкам.
В примере с медицинской историей ниже в качестве:
экземпляра ключа А выступает совокупность ключей PublItem и PrivItem;
экземпляра ключа С, принадлежащего Службе, выступает совокупность ключей PublService, PrivService;
экземпляра ключа С, принадлежащего пациенту, выступает совокупность ключей PublPatient, PrivPatient;
экземпляра ключа С, принадлежащего клинике, выступает совокупность ключей PublClinic, PrivClinic.
Ключ B в данном варианте реализации для простоты примера не используется.
Система обмена данными с использованием криптоконтейнеров может применяться крайне широко. Например, для хранения и передачи паспортных данных, при обмене данными между правительственными организациями, для хранения единого профиля гражданина и разграничения доступа для различных организаций к его частям. Рассмотрим пример использования варианта данной системы для хранения и обновления медицинской истории, которая может быть частью единого профиля гражданина. На Фиг. 9 изображен частный случай системы 500. Система 900 содержит: устройство пациента 520а со средством обработки 102 и локальным средством хранения 150б; устройство медицинской клиники 530а с локальным средством хранения 150б и средством обработки 102; устройство Федеральной службы по надзору в сфере здравоохранения 510а (далее - Служба) с центральным средством хранения медицинских историй 150а; средство журналирования 180; базу открытых ключей 540; средство анонимизации 160а (опционально).
Средствами обработки 102 здесь являются:
средство обработки 102 на устройстве пациента 520а;
средство обработки 102 на устройстве клиники 530а.
Администрирует медицинскую историю Служба. Устройство 510а и средство хранения 150а принадлежат Службе. Средство сбора 120а получает медицинскую историю (MedicalData) и передает ее средству модификации 140а. Средство модификации 140а создает пару ключей (PrivItem, PublItem), открытый ключ (PublItem) для расшифровки данных (доступ на чтение) и закрытый ключ (PrivItem) для шифрования данных (доступ на запись). Для упрощения примера рассмотрим одну пару ключей, и элементом данных здесь будет вся медицинская история. В частном случае средством модификации 140а может создаваться несколько пар ключей для каждой медицинской специализации (кардиология, урология, хирургия и т.д.), где история для каждой специализации самостоятельный элемент данных. Медицинскую историю, полученную средством сбора 120а, шифруют закрытым ключом PrivItem при помощи средства модификации 140а (MedicalData -> MedicalData’). Информация об этом фиксируется средством журналирования 180. Далее формируют структуру доступа для Службы (UAI_Service), в нее помещают созданную пару ключей и шифруют открытым ключом Службы PublService (PrivItem->PrivItem’, PublItem->PublItem’), структура доступа для Службы объединяется с зашифрованной медицинской историей, тем самым формируют контейнер:
Контейнер передают средству хранения 150а. К контейнеру, как к объекту, может получить доступ любой, у кого есть доступ к средству хранения 150а, например, пациент или медицинские клиники. Но чтобы получить доступ к данным в контейнере, необходимо получить права, которые выдаются средством управления правами Службы 130а. Пациент может получить права только на чтение, а медицинские клиники – на чтение и запись. Любой доступ к данным в контейнере на средстве хранения фиксируют средством журналирования 180. Запись в медицинскую историю и любое ее изменение возможно осуществить только на средстве хранения 150а. Чтение возможно производить с локальных копий на локальных хранилищах 150б, связанных со средствами обработки 102. Для получения прав доступа к данным в контейнере пациент посредством средства обработки 102 устройства 520а обращается к средству управления правами 130а, где средством обработки 102 устройства 520а предоставляют идентификационные данные пациента и другие данные в соответствии с местным законодательством. Если данные признаны валидными, то средством управления правами 130а оформляют права доступа на чтение и запрашивают у средства обработки 102 устройства 520а открытый ключ пациента. На следующем этапе средством управления правами передают идентификатор пациента и его открытый ключ средству модификации 140а. Средством модификации 140а обращаются к средству хранения 150а и осуществляют модификацию контейнера, где:
расшифровывают закрытым ключом Службы (PrivService) в структуре доступа для Службы открытый ключ доступа к истории (PublItem’ -> PublItem);
копируют открытый ключ;
создают структуру доступа для пациента и помещают туда открытый ключ PublItem
зашифровывают открытый ключ для доступа к истории (PublItem -> PublItem’) открытым ключом пациента PublPatient полученным от средств устройства пациента 520а.
Теперь контейнер содержит две структуры доступа к данным медицинской истории:
UAI_Service – структуру доступа для Службы с зашифрованным открытым ключом для доступа к элементу (PublItem’) и зашифрованным закрытым ключом для доступа к элементу (PrivItem’), зашифрованными открытым ключом Службы PublService;
UAI_Patient – структуру доступа для пациента с зашифрованным открытым ключом для доступа к элементу (PublItem’).
Пациент получает доступ к своей медицинской истории посредством средства обработки 102 устройства 520а. Средство обработки 120 обращается к средству хранения 150а и получает доступ к контейнеру. Закрытым ключом пациента PrivPatient расшифровывают открытый ключ PublItem в структуре доступа для пациента. Открытым ключом PublItem расшифровывают интересующие поля медицинской истории. В частном случае средство обработки копирует контейнер со средства 150а и сохраняет локально средством 150б.
Рассмотрим пример получения доступа к медицинской истории со стороны медицинской клиники. В одном частном случае при запросе прав медицинской клиникой средству обработки 102 на устройстве пациента 520а отправляется уведомление, при подтверждении со стороны средства 102 обработки на устройстве пациента 520а права выдаются клинике. В другом частном случае средство обработки 102 на устройстве пациента 520а само может инициировать оформление прав, отправив запрос средству управления правами Службы 130а с требованием. Рассмотрим сценарий, когда пациент выступает инициатором выдачи прав клинике. В системе дополнительно имеется база открытых ключей медицинских клиник 540а, в которую заносятся ключи клиник после одобрения Службой. Средством обработки 102 с устройства пациента 520а отправляют запрос средству управления правами Службы 130а на предоставление прав средствам, которые работают на стороне медицинской клиники, на доступ к медицинской истории пациента. Запрос содержит по меньшей мере идентификационные данные клиники. Средством управления правами Службы 130а идентифицируют пациента и проверяют наличие открытых ключей медицинской клиники в базе 540. Если запись с открытым ключом медицинской клиники имеется в базе, средством управления правами Службы 130а оформляют права доступа медицинской клиники к медицинской истории идентифицируемого пациента. Медицинская клиника получает права на чтение и запись. На следующем этапе средством управления правами Службы 130а передают идентификатор пациента и открытый ключ клиники средству модификации 140а. С помощью средства модификации 140а обращаются к средству хранения 150а и осуществляют модификацию контейнера пациента (контейнера, соответствующего идентификатору пациента), где:
расшифровывают закрытым ключом Службы PrivService поле структуры доступа Службы, содержащее открытый ключ доступа к медицинской истории PublItem’ -> PublItem;
копируют открытый ключ PublItem;
зашифровывают открытым ключом Службы PublService поле структуры доступа Службы, содержащее открытый ключ доступа к медицинской истории PublItem -> PublItem’,
расшифровывают закрытым ключом Службы PrivService поле структуры доступа Службы, содержащее закрытый ключ доступа к медицинской истории PrivItem’ -> PrivItem;
копируют закрытый ключ PrivItem;
зашифровывают открытым ключом Службы PublService поле структуры доступа Службы, содержащее закрытый ключ доступа к медицинской истории PrivItem -> PrivItem’;
создают структуру доступа медицинской клиники и помещают туда открытый ключ PublItem и закрытый ключ PrivItem;
зашифровывают открытым ключом клиники PublClinic поле структуры с открытым ключом PublItem->PubItem’;
зашифровывают открытым ключом клиники PublClinic поле структуры с закрытым ключом PrivItem.
Теперь контейнер содержит три структуры доступа к данным медицинской истории:
UAI_Service – структуру доступа для Службы с зашифрованным открытым ключом для доступа к элементу (PublItem’) и зашифрованным закрытым ключом для доступа к элементу (PrivItem’), зашифрованными открытым ключом Службы PublService;
UAI_Patient – структуру доступа для пациента с зашифрованным открытым ключом для доступа к элементу (PublItem’);
UAI_Clinic – структуру доступа медицинской клиники с зашифрованным открытым ключом для доступа к элементу (PublItem’) и зашифрованным закрытым ключом для доступа к элементу (PrivItem’), зашифрованными открытым ключом клиник PublClinic.
Медицинская клиника получает доступ на чтение к медицинской истории пациента посредством средства обработки 102 устройства 530а. Средство обработки 102 устройства 530а обращается к средству хранения 150а и получает доступ к контейнеру. Закрытым ключом клиники PrivClinic расшифровывают в структуре доступа для клиники открытый ключ PublItem. Открытым ключом PublItem расшифровывают интересующие поля медицинской истории. В частном случае средством обработки 102 копируют контейнер со средства 150а и сохраняют локально средством 150б.
Медицинская клиника получает доступ на запись к медицинской истории пациента посредством средства обработки 102 устройства 530а. Средством обработки 102 обращаются к средству хранения 150а и получают доступ к контейнеру. Закрытым ключом клиники PrivClinic расшифровывают в структуре доступа для клиники закрытый ключ PrivItem и открытый ключ PublItem. Открытым ключом PublItem расшифровывают интересующие поля медицинской истории. В медицинскую историю добавляются данные. Закрытым ключом PrivItem зашифровывают указанные данные. Таким же способом дописываются новые элементы данных к истории.
Под средством блокировки 110, средством сбора 120, средством управления правами 130, средством модификации 140, средством хранения 150, средством анонимизации 160, средством агрегирования и аналитики 170, средством журналирования 180 в настоящем изобретении понимаются реальные устройства, системы, компоненты, группа компонентов, реализованные с использованием аппаратных средств, таких как интегральные микросхемы (англ. application-specific integrated circuit, ASIC) или программируемой вентильной матрицы (англ. field-programmable gate array, FPGA) или, например, в виде комбинации программных и аппаратных средств, таких как микропроцессорная система и набор программных инструкций, а также на нейроморфных чипах (англ. neurosynaptic chips). Функциональность указанных средств может быть реализована исключительно аппаратными средствами, а также в виде комбинации, где часть функциональности реализована программными средствами, а часть аппаратными. В некоторых вариантах реализации средства могут быть исполнены на процессоре компьютера общего назначения (например, который изображен на Фиг. 5). Базы данных могут быть реализованы всеми возможными способами и содержаться как на одном физическом носителе, так и на разных, располагаться как локально, так и удаленно.
Фиг. 10 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 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, представленного на Фиг. 10. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.
название | год | авторы | номер документа |
---|---|---|---|
Способ обновления данных пользователя на средстве хранения | 2020 |
|
RU2772570C2 |
Способ предоставления доступа к данным пользователя | 2020 |
|
RU2772231C2 |
Способ адаптивного выбора путей передачи данных пользователя | 2019 |
|
RU2739862C2 |
Способ анонимного обмена данными в клиент-серверной архитектуре | 2018 |
|
RU2696240C1 |
Способ передачи данных в клиент-серверной архитектуре при выполнении запроса | 2018 |
|
RU2707707C2 |
Способ передачи данных в клиент-серверной архитектуре | 2018 |
|
RU2696227C1 |
Способ и система передачи данных на сервер с привлечением удостоверяющего центра | 2020 |
|
RU2773624C2 |
Способ передачи данных на сервер с использованием открытого ключа | 2020 |
|
RU2749182C1 |
Способ передачи анонимных данных недоверенной стороне | 2020 |
|
RU2754967C1 |
Способ передачи конфиденциальных данных | 2019 |
|
RU2728503C1 |
Изобретение относится к вычислительной технике. Технический результат заключается в обеспечении доступа средству обработки к криптоконтейнеру. Способ предоставления доступа к криптоконтейнеру с данными пользователя средству обработки, в котором: создают криптоконтейнер для данных пользователя, где: получают по меньшей мере один элемент данных пользователя; шифруют элемент данных ключом А; выдают права доступа к элементу данных пользователя для средства обработки; формируют в криптоконтейнере по меньшей мере одну структуру доступа для средства обработки, где: помещают в структуру доступа по меньшей мере один ключ A для доступа к элементу данных пользователя в соответствии с выданными для средства обработки на раннем этапе правами; получают ключ B; шифруют ключ A ключом B; получают ключ С, связанный со средством обработки; шифруют ключ B ключом С; предоставляют доступ средству обработки к криптоконтейнеру. 15 з.п. ф-лы, 10 ил.
1. Способ предоставления доступа к криптоконтейнеру с данными пользователя средству обработки, в котором:
а) создают криптоконтейнер для данных пользователя, где:
получают по меньшей мере один элемент данных пользователя;
шифруют элемент данных ключом А;
б) выдают права доступа к элементу данных пользователя для средства обработки;
в) формируют в криптоконтейнере по меньшей мере одну структуру доступа для средства обработки, где:
помещают в структуру доступа по меньшей мере один ключ A для доступа к элементу данных пользователя в соответствии с выданными для средства обработки на этапе б) правами;
получают ключ B;
шифруют ключ A ключом B;
получают ключ С, связанный со средством обработки;
шифруют ключ B ключом С;
г) предоставляют доступ средству обработки к криптоконтейнеру.
2. Способ по п. 1, в котором ключ С - совокупность пары ключей: закрытого ключа С и открытого ключа С.
3. Способ по п. 2, в котором для шифрования ключа А получают открытый ключ С.
4. Способ по п. 3, в котором передают средству обработки информацию о ключе С.
5. Способ по п. 3, в котором открытый ключ С получают от средства обработки, которому предоставляют доступ.
6. Способ по п. 1, в котором каждый элемент данных пользователя зашифрован отдельным ключом А.
7. Способ по п. 1, в котором права доступа определяют набор действий, разрешённых для средства обработки над элементом данных пользователя.
8. Способ по п. 7, в котором действиями над элементом данных пользователя являются по меньшей мере:
а) чтение данных;
б) запись данных.
9. Способ по п. 8, в котором для каждого действия создается отдельный ключ А.
10. Способ по п. 9, в котором ключ A - совокупность пары ключей: закрытого ключа A и открытого ключа A.
11. Способ по п. 9, в котором для чтения и записи создается пара из открытого ключа А и закрытого ключа А, где открытый ключ А используется для расшифровки данных при осуществлении чтения, а закрытый ключ А - для шифрования данных при осуществлении записи.
12. Способ по п. 11, в котором при выдаче прав на чтение поля в структуру доступа помещают открытый ключ А.
13. Способ по п. 11, в котором при выдаче прав на запись поля в структуру доступа помещают закрытый ключ A.
14. Способ по п. 1, в котором при создании криптоконтейнера дополнительно добавляют структуру доступа для средства управления правами, где:
а) помещают в структуру доступа для средства обработки по меньшей мере один ключ A;
б) шифруют ключ А.
15. Способ по п. 14, в котором дополнительно при добавлении структуры доступа для средства обработки ключ А, помещаемый в структуру доступа для средства обработки, предварительно извлекают из структуры доступа для средства управления правами.
16. Способ по п. 1, в котором дополнительно запрашивают права на доступ к элементу данных пользователя в созданном криптоконтейнере для средства обработки.
Изложница с суживающимся книзу сечением и с вертикально перемещающимся днищем | 1924 |
|
SU2012A1 |
US 9419951 B1, 16.08.2016 | |||
Способ защиты переносных электрических установок от опасностей, связанных с заземлением одной из фаз | 1924 |
|
SU2014A1 |
Колосоуборка | 1923 |
|
SU2009A1 |
СИСТЕМА И СПОСОБ КОНТРОЛЯ ДОСТУПА К КОНТЕНТУ, РАСПРОСТРАНЯЕМОМУ В СЕТИ | 2012 |
|
RU2628170C2 |
Авторы
Даты
2022-05-16—Публикация
2020-09-24—Подача