Способ безопасной передачи запрашиваемых данных и реализующая его система
METHOD FOR SECURE TRANSMISSION OF REQUESTED DATA AND SYSTEM IMPLEMENTING THE METHOD

Область техники
Изобретение относится к средствам обеспечения защиты персональных данных пользователей, в частности, к системе и способу для передачи запрашиваемых данных пользователей.
Уровень техники
Постоянное развитие и распространение компьютерных сетей привели к широкому распространению связанных с ними технологий по сбору, передаче, хранению, анализу и использованию различной информации в электронных форматах, в том числе и персональных данных пользователей. Что в свою очередь позволяет разным лицам получать доступ к большому объему информации, в том числе и к персональным данным пользователей. В тоже время образуются ситуации, когда пользователи не имеют возможности управлять или контролировать обработку третьими лицами их персональных данных. В результате появилась необходимость в защите персональных данных пользователей, например, в обеспечении безопасности, анонимности и конфиденциальности персональных данных пользователей, что привело к появлению законодательных инициатив различных стран по их защите. Например, В РФ - это Федеральный закон Ф-152 «О персональных данных», в Евросоюзе - Европейский регламент по защите данных (англ. General Data Protection Regulation, GDPR). Поэтому одной из технических задач является создание таких решений для взаимодействия различных сторон между собой, чтобы они не нарушали требования, соответствующие правилам обработки данных, соответствующих, в частности, указанным в законодательных инициативах, принимаемых различными странами. Под сторонами понимаются по крайней мере такие устройства как компьютер, сервер и мобильное устройство. Указанные устройства могут принадлежать как физическим лицам (пользователям), так и различным юридическим лицам -компаниям и предприятиям.
В то же время существует потребность в получении и обработке разного рода персональных данных пользователей. При этом данные могут быть получены как непосредственно от самого пользователя, так и от других сторон, которые уже обрабатывают, в том числе хранят, данные соответствующего пользователя. В обоих случаях согласно современным правилам обработки данных необходимо соблюдать требования по реализации прав пользователей по управлению их персональными данными. Поэтому необходимо, чтобы пользователь давал свое согласие на обработку и передачу данных, которые необходимы другому лицу. Такого рода согласие, а также факты передачи данных целесообразно фиксировать и хранить в базе данных для разрешения возможных различных конфликтных ситуаций, которые могут возникнуть в будущем. Примером может являться ситуация, когда первая сторона передала второй стороне данные пользователя, а при этом пользователь не был уведомлен о такой передаче и не давал на это свое согласие; в данном случае пользователь может направить свою претензию сторонам.
Одним из вариантов решения указанных задач является решение, использующее технологию распределенных реестров или другими словами - технологию блокчейн (англ. blockchain). Децентрализованная схема, использующаяся в технологии блокчейн, позволяет передавать полномочия и доверие децентрализованной сети и позволяет ее узлам непрерывно и последовательно записывать свои транзакции в общедоступных блоках, при этом создавая уникальную цепочку блоков. Таким образом, технология блокчейн позволяет организовать независимую от какой-либо одной стороны неизменную инкрементируемую публичную базу данных, которая позволяет хранить информацию различного типа.
В то же время специфика технологии блокчейн, как правило, не поддерживает анонимность, а также не позволяет удалять записи из блоков, содержащегося в цепочки блоков. Поэтому для случаев обмена персональными данными между сторонами эта особенность является недостатком, так как пользователи могут потребовать отзыв своего согласия на обработку персональных данных и их удаления из информационных систем соответствующих сторон. С одной стороны, указанный недостаток можно было бы устранить за счет хеширования записываемых данных в блок. Но, с другой стороны, это не всегда позволяет скрыть данные, т.к. существуют методы по восстановлению данных из их хешей, например, метод подбора. При этом, если хеш сформирован от структурированных данных, например, таких как персональные данные, то определить данные, от которых получен хеш, становится решаемой за разумное время задачей.
Таким образом, существует потребность в решениях, которые позволят передавать данные между сторонами с согласия владельца (пользователя) передаваемых данных, при этом имея возможность подтвердить законность передачи и дальнейшей обработки данных, в случае возникновения спора между сторонами и/или владельцем данных. Также дополнительно необходимо, чтобы решение гарантировало надежность аутентификации сторон при передаче данных и обеспечивала конфиденциальность данных, например, в случае, когда пользователь отозвал свое согласие на обработку данных.
Соответственно, система и способ для безопасной передачи запрашиваемых данных позволяют решить указанные недостатки и задачи.
Раскрытие изобретения
Настоящее изобретение предлагает решение, нацеленное на развитие современных систем и способов, связанных с защитой данных, а именно, со средствами, которые с одной стороны обеспечивают конфиденциальность при передаче данных от одной стороны к другой стороне, а с другой стороны позволяют подтвердить факт получения согласия на использование передаваемых данных, в частности персональных данных пользователей.
Настоящее изобретение позволяет произвести безопасную передачу запрашиваемых данных, в том числе данных пользователя, во время их передачи от доверенной стороны третьей стороне. Это достигается за счет фиксации каждого этапа взаимодействия сторон, в том числе и пользователя, во время передачи данных, в распределенном реестре. В частном случае распределенный реестр создается на основе технологии блокчейн.
Технический результат настоящего изобретения заключается в расширении арсенала технических средств для безопасной передачи запрашиваемых данных от устройства доверенной стороны к устройству третьей стороны.
В качестве одного варианта исполнения настоящего изобретения предлагается способ безопасной передачи запрашиваемых данных, в который включает этапы, на которых: получают с помощью устройства доверенной стороны запрос на данные пользователя и идентификатор первой записи в распределенном реестре, в котором первая запись содержит первый хэш запроса; производят с помощью устройства доверенной стороны проверку того, что запрос данных пользователя соответствует первой записи в распределенном реестре путем расчета устройством доверенной стороны хеша от запроса и сравнением с первым хешом запроса из распределенного реестра согласно идентификатору первой записи, и генерируют с помощью устройства доверенной стороны запрос на подтверждение передачи данных пользователя и вторую запись в распределенном реестре, где вторая запись содержит второй хэш запроса на подтверждение; передают с помощью устройства доверенной стороны запрос на подтверждение и идентификатор второй записи в распределенном реестре устройству пользователя; получают с помощью устройства доверенной стороны от устройства пользователя подтверждающее сообщение и идентификатор третьей записи в распределенном реестре, в котором третья запись содержит третий хэш подтверждающего сообщения; и передают запрошенные данные пользователя, если при проверке того, что третий хеш соответствует хешу подтверждающего сообщения, который рассчитан устройством доверенной стороны.
В другом варианте исполнения способа запрос данных пользователя получают от устройства третьей стороны, а устройство доверенной стороны передает запрашиваемые данные пользователя устройству третьей стороны.
В еще одном варианте исполнения способа первый хэш рассчитывают с помощью устройства третьей стороны, второй хэш рассчитывают при помощи устройства доверенной стороны, а третий хэш - при помощи устройства пользователя.
В другом варианте исполнения способа указанный запрос подписывают электронной цифровой подписью устройства третьей стороны, запрос на подтверждение подписывают электронной цифровой подписью устройства доверенной стороны, а подтверждающее сообщение подписывают электронной цифровой подписью устройства пользователя.
В еще одном варианте исполнения способа каждый хэш рассчитывают на основе совокупных данных, включающих как данные в полученном сообщении, так и соответствующую электронную цифровую подпись устройства, с которого получено сообщение.
В другом варианте исполнения способа дополнительно после передачи запрошенных данных пользователя создают с помощью устройства доверенной стороны в распределенном реестре четвертую запись, содержащую четвертый хэш от переданных данных пользователя.
В еще одном варианте исполнения способа дополнительно с помощью устройство третьей стороны рассчитывают хеш от полученных данных пользователя и сравнивают с четвертым хэшом из распределенного реестра.
В другом варианте исполнения способа при помощи устройства пользователя производят:
i. проверку, что второй хэш соответствует хэшу запроса на подтверждение, рассчитанному устройством пользователя;
ii. информирование пользователя устройства пользователя о том, что второй хэш соответствует хэшу запроса на подтверждение; и
iii. в ответ на получение от пользователя информации, подтверждающей согласие пользователя на передачу данных, создание подтверждающего сообщения и третьей записи в распределенном реестре.
В еще одном варианте исполнения способа запрос данных пользователя включает, по крайней мере, идентификатор устройства третьей стороны, идентификатор устройства доверенной стороны, идентификатор пользователя от устройства пользователя и желаемый тип данных пользователя.
В качестве одного варианта исполнения настоящего изобретения предлагается система безопасной передачи запрашиваемых данных, состоящая из устройства доверенной стороны с аппаратным процессором, настроенным для выполнения способа безопасной передачи запрашиваемых данных.
Краткое описание чертежей
Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:
На Фиг. 1 схематично представлена система передачи персональных данных пользователя между устройствами в общем виде.
На Фиг. 2 схематично представлен пример взаимодействия элементов заявленной системы при передачи персональных данных пользователя.
На Фиг. 3 представлен пример состава записей, приведенных к определенному виду, в распределенном реестре в результате передачи данных пользователя.
На Фиг. 4 показана блок-схема, иллюстрирующая пример реализации способа передачи персональных данных пользователя от доверенной стороны третьей стороне.
На Фиг. 5 показана блок-схема, иллюстрирующая частный случай реализации способа фиксации фактов взаимодействия сторон в распределенном реестре на основе технологии блокчейн при передаче персональных данных пользователя.
На Фиг. 6 показана блок-схема, иллюстрирующая способ безопасной передачи запрашиваемых данных, в соответствии с вариантами реализации настоящего изобретения.
Фиг. 7 иллюстрирует пример компьютерной системы общего назначения, с помощью которого может быть реализовано заявленное изобретение.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено в приложенной формуле.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Приведенное описание предназначено для помощи специалисту в области техники для исчерпывающего понимания изобретения, которое определяется только в объеме приложенной формулы.
При описании настоящего изобретения используются следующие признаки:
Доверенная сторона - это юридическое или физическое лицо, которое использует набор программно-аппаратных средств (по крайней мере одно компьютерное устройство), на которых хранятся данные, в частности персональные данные пользователя, и пользователь ранее дал право (согласие) на обработку хранимых данных на указанных средствах доверенной стороны.
Третья сторона - это юридическое или физическое лицо, которое использует набор программно-аппаратных средств (по крайней мере компьютерное устройство) и которому требуется получить данные пользователя для их обработки.
Персональные данные пользователя - любая информация, относящаяся прямо или косвенно к пользователю и позволяющая идентифицировать пользователя. Персональные данные делятся на категории. Примерами персональных данных являются: фамилия, имя, номер ИНН, СНИЛС, различного рода файлы, содержащие видео и фото изображения, тестовые данные, в том числе биометрические персональные данные и данные, содержащие конфиденциальные сведения.
В зависимости от реализации изобретения под данными пользователя, кроме персональных данных, также понимаются по крайней мере такие данные, как личные, конфиденциальные и секретные. Кроме того, под данными пользователя могут пониматься и другие данные, которые могут быть запрошены, например, корпоративные данные, системные и/или критические данные.
Настоящее изобретение позволяет улучшить контроль за данными пользователя, в частности за персональными данными, во время их передачи третьей стороне, например, доверенной стороной. В предпочтительном варианте реализации контроль достигается за счет формирования записей в распределенном реестре о действиях сторон во время их взаимодействия при передаче данных пользователя третьей стороне, в том числе и получения согласия/разрешения от пользователя через устройство пользователя. Каждая запись может сопровождаться электронной цифровой подписью соответствующей стороны. В одном из вариантов реализации под распределенным реестром понимается децентрализованная инкрементальная база данных, которая может быть реализована на основе технологии блокчейн. Блокчейн (англ. blockchain) содержит выстроенную по определенным правилам непрерывную последовательную цепочку блоков (связный список), содержащих информацию, при этом все записи и блоки связаны между собой с помощью средств криптографии. В этом случае записи действий сторон производятся в блоки, при этом записи могут производится как в один блок, так и в разные блоки блокчейна.
На Фиг. 1 представлена система 100, выполненная с возможностью реализовать различные варианты осуществления настоящего изобретения. Система 100 включает в себя по меньшей мере такие элементы как устройство 110 пользователя 105, устройство доверенной стороны 120, устройство третьей стороны 130 и распределенный реестр 140. Система 100 позволяет производить передачу данных пользователя, которые хранятся на устройстве доверенной стороны 120, на устройство третьей стороны 130, при этом соблюдать конфиденциальность передачи данных с обеспечением возможности подтверждения фактов взаимодействия сторон при передаче упомянутых данных пользователя. Записи о фактах взаимодействия формируются в распределенном реестре 140. Взаимодействие устройств между собой и с распределенным реестром 140, во время которого производится обмен информацией, производится по различным каналам связи, например, через информационно-коммуникационную сеть 170, такую как сеть Интернет.
Под каждым из устройств 110, 120 и 130 понимается одно из воплощений компьютерной системы, представленной на Фиг. 6. Например, в качестве устройства 110 пользователя 105 может выступать мобильное устройство, которое содержит необходимое приложение для взаимодействия с устройствами 120 и 130, а также с распределенным реестром 140. В свою очередь устройство доверенной стороны 120 может являться сервером, а устройство третьей стороны 130 другим сервером, например, облачным сервером, при этом каждое устройство содержит приложение (программу), позволяющую взаимодействовать с другими устройствами и распределенным реестром 140. Как упоминалось в наиболее предпочтительном варианте реализации, распределенный реестр 140 основан на технологии блокчейн и, соответственно, содержит цепочку блоков из блоков 160. В блоках 160 создаются для каждой передачи данных, в частности персональных данных, пользователя ряд записей, которые отражают этапы взаимодействия сторон, участвующих в указанной передаче данных. Пример совокупности записей, созданных в результате передачи данных пользователя, например, в одном блоке 160, представлен на Фиг. 3. Каждая запись в блоке появляется на основании действий соответствующей стороны и может содержать различную информацию. Стоит отметить, при реализации распределенного реестра не на основе технологии блокчейн под блоком 160 в описании понимается раздел или участок распределенного реестра, куда производятся записи; в зависимости от реализации распределенного реестра.
Устройство 110 является устройством пользователя 105, через которое производится взаимодействие с пользователем. Кроме того, само устройство 110 или приложение, отвечающее за взаимодействие с другими устройствами и распределенным реестром 140, может быть настроено таким образом, что будет принимать решения о согласии на передачу данных без участия пользователя на основании ранее установленных правил пользователем. В этом случае, настройка подразумевает набор правил и условий, на основе которых будет приниматься то или иное решение.
Стоит отметить, что каждое устройство может использовать определенную электронную цифровую подпись, которой подписываются данные, записываемые в распределенный реестр 140 и необходимые для проведения взаимодействия между сторонами при передаче данных пользователя. В одном из вариантов реализации технология электронной цифровой подписи реализуется на связке открытого и закрытого ключа. В этом случае каждое устройство содержит закрытый (секретный) ключ электронной цифровой подписи (ЭЦП) соответствующий стороны и открытые ключи ЭЦП других сторон, участвующих во взаимодействии. Так, устройство 110 будет содержать закрытый ключ ЭЦП пользователя 105, а устройства 120 и 130 закрытые ключи ЭЦП доверенной стороны и третьей стороны соответственно.
На Фиг. 2 представлен пример взаимодействия элементов заявленной системы при передаче персональных данных пользователя от доверенной стороны к третьей стороне, а также формирования записей в распределенном реестре.
В данном варианте реализации заявленного изобретения устройство доверенной стороны 120 хранит ранее полученные от устройства 110 данные пользователя 105, в частности, персональные данные. При этом устройство доверенной стороны 120 формирует уникальный идентификатор для пользователя и его данных, в частности персональных данных, на основании которого будут определяться соответствующий пользователь и его данные на устройстве доверенной стороны 120. Устройство 120 передает сформированный уникальный идентификатор устройству 110 пользователя 105.
Представленный пример взаимодействия элементов заявленной системы содержит следующие этапы.
На первом этапе третья сторона с помощью устройства 130 отправляет запрос на устройство 110, где запрос содержит информацию о необходимых данных пользователя 105. В ответ устройство 110 пользователя 105 передает, а устройство третьей стороны 130 получает, идентификатор, определяющий пользователя 105 и его данные на устройстве доверенной стороны 120.
В ряде случаев реализации возможны случаи, когда устройству третьей стороны 130 уже известен идентификатор пользователя на устройстве доверенной стороны 120, а также может быть известно, какие данные пользователя хранятся на устройстве 120. В этих случаях первый этап может быть пропущен.
На втором этапе на устройстве третьей стороны 130 формируется запрос на передачу данных (далее - запрос), где запрос содержит по крайней мере идентификатор третьей стороны в распределенном реестре 140, идентификатор доверенной стороны в распределенном реестре, идентификатор пользователя на устройстве доверенной стороны и требуемый тип данных, в частности, персональных данных. В одном из вариантов реализации указанные идентификаторы сторон в распределенном реестре 140 стороны получают при первичной регистрации в распределенном реестре 140. В рамках описания настоящего изобретения предполагается, что стороны уже обладают указанными идентификаторами. После формирования запроса устройство 130 подписывает этот запрос закрытым ключом ЭЦП третьей стороны для формирования электронной цифровой подписи третьей стороны. Кроме того, устройство 130 производит запись, содержащую информацию о запросе на передачу данных, в блок 160 распределенного реестра 140. При реализации распределенного реестра 140 с помощью технологии блокчейн запись будет произведена в последний блок 160 в цепочке блоков. В одном из вариантов реализации указанная запись в распределенном реестре 140 содержит хеш, который устройство 130 рассчитывает от совокупности данных указанного запроса и ЭЦП третьей стороны. В этом случае хеш рассчитывается от двух типов данных. В качестве первого типа данный выступают структурированные данные, такие как персональные данные. В качестве второго типа данных выступают случайные данные, под которыми в рамках настоящего изобретения понимаются электронные цифровые подписи сторон, а т.к. для каждого случая расчета хеша электронная цифровая подпись будет индивидуальной, то можно говорить и о случайности данных. Следовательно, рассчитывая хеш от совокупности структурированных данных и случайных данных, решается проблема защиты от подбора методом подбора данных по хешу. Реализация настоящего изобретения через использование ЭЦП в качестве случайных данных при расчете хеша является предпочтительной реализацией, так как задача подбора изначальных случайных данных в этом случае исключительно ресурсоемкая.
На третьем этапе устройство третьей стороны 130 передает устройству доверенной стороны 120 сформированный запрос, подписанный ЭЦП третьей стороны, и идентификатор (уникальный номер) соответствующего блока 160 в распределенном реестре 140.
На четвертом этапе доверенная сторона с помощью устройства 120 производит расчет хеша от совокупности полученных данных от устройства третьей стороны 130. В одном из вариантов хеш рассчитывается от совокупности данных запроса на передачу персональных данных и ЭЦП третьей стороны, которой подписан полученный запрос. Рассчитанный хеш устройство доверенной стороны 120 сравнивает с хешом, содержащимся в записи, сделанной в распределенном реестре 140 с помощью устройства 130. Необходимый блок 160 выявляется на основании полученного идентификатора. В зависимости от результата сравнения устройство доверенной стороны 120 принимает дальнейшее решение. В том случае, если хеши не совпали, устройство 120 отклоняет запрос и заканчивает взаимодействие, о чем информирует устройство 130. В противном случае, если хеши совпали, устройство доверенной стороны 120 определяет данные, которые требуются третьей стороне согласно запросу и формирует запрос на подтверждение передачи определенных данных (далее - запрос на подтверждение), в частности, персональных данных. Запрос на подтверждение содержит по крайней мере идентификатор третьей стороны в распределенном реестре 140, идентификатор доверенной стороны в распределенном реестре 140, идентификатор пользователя 105 на устройстве доверенной стороны 120 и информацию о данных, которые требуются третьей стороне. Информация о данных может содержать, как только тип требуемых данных, так и сами требуемые данные. Сформированный запрос устройство 120 подписывает закрытым ключом электронной цифровой подписи (ЭЦП) доверенной стороны. После формирования запроса на подтверждение устройство 120 производит запись в распределенный реестр 140, которая содержит адрес, указывающий на место хранения требуемых данные на устройстве доверенной стороны 120 согласно запросу от устройства третьей стороны 130. В частном случае реализации, адрес указывает на сам сформированный запрос на подтверждение, который хранится на устройстве доверенной стороны 120, например, когда запрос на подтверждение также содержит сами требуемые данные. В частном случае, указанная запись подписана ЭЦП доверенной стороны.
В еще одном частном случае реализации на четвертом этапе устройство 120 производит вместо записи упомянутого адреса в распределенный реестр 140 запись, которая содержит информацию о самом сформированном запросе на подтверждения. Как упоминалось ранее в одном из вариантов реализации запись содержит хеш от совокупности данных запроса на подтверждение и ЭЦП доверенной стороны, которой был подписан запрос на подтверждение.
На пятом этапе доверенная сторона с помощью устройства 120 передает устройству 110 пользователя 105 сформированный запрос, подписанный ЭЦП доверенной стороны, и/или идентификатор, указывающей на сделанную запись, в распределенном реестре 140.
На шестом этапе пользователь 105 с помощью устройства 110 производит проверку полученного запроса на подтверждение, при этом проверка включает определение соответствия типа предоставляемых данных доверенной стороной и запрошенных данных третьей стороной, а также проверка непосредственно передаваемых данных. Устройство 110 осуществляет проверку соответствия типа запрошенных данных третьей стороной и представляемых данных доверенной стороной путем сравнения данных в запросе на подтверждение и запросе от третьей стороны. В случае использования хешей для хранения в распределенном реестре 140, устройство 110 предварительно производит расчет соответствующих хешей от запросов. Обращение к распределенному реестру 140 устройство 110 производит по полученному идентификатору. В случае корректности передаваемых данных и согласия пользователя 105, устройство 110 производит запись в распределенный реестра 140, где запись соответствует полученному от устройства доверенной стороны 120 запросу на подтверждение, который подписан ЭЦП доверенной стороны. В одном из вариантов реализации запись содержит хеш от совокупности данных запроса на подтверждение и ЭЦП доверенной стороны, при этом устройство 110 предварительно рассчитывает указанный хеш.
Далее устройство 110 формирует разрешение на передачу данных (далее - разрешение), где упомянутое разрешение включает по крайней мере идентификатор третьей стороны в распределенном реестре, идентификатор доверенной стороны в распределенном реестре, идентификатор пользователя на устройстве доверенной стороны и данные, которые требуются третьей стороне. Устройство 110 подписывает сформированное разрешение электронной цифровой подписью пользователя 105. После формирования разрешения устройство 110 производит запись в блок 160 распределенного реестра 140. Запись включает хеш сформированный от совокупности данных разрешения и ЭЦП пользователя 105, которой подписано разрешение.
На седьмом этапе устройство 110 производит передачу сформированного разрешения, подписанного ЭЦП пользователя 105, устройству доверенной стороны 120.
На восьмом этапе устройство доверенной стороны 120 производит проверку полученных данных и данных, содержащихся в распределенном реестре 140. Проверка заключается в расчете устройством 120 хеша от совокупности данных полученного разрешения и ЭЦП пользователя 105, с помощью которой подписано полученное разрешение. Далее сравнивается рассчитанный хеш с хешом, соответствующим записи, сделанной устройством 110 в блоке 160 ранее. Если хеши совпали, то устройство 120 производит запись в распределенный реестр 140, содержащую информацию о готовности устройства доверенной стороны 120 передать данные устройству третьей стороны 130. В одном из вариантов реализации запись формируется в виде флага.
На девятом этапе устройство доверенной стороны 120 после формирования записи о готовности передать данные производит передачу данных, соответствующих запросу устройства третьей стороны 130. В одном из вариантов реализации передача данных производится путем передачи запроса на подтверждение, который ранее был создан устройством доверенной стороны 120, если запрос на подтверждение также содержал сами запрашиваемые данные.
Дополнительно устройство третьей стороны 130 на десятом этапе после получения данных может производить проверку соответствия полученных данных и наличия разрешения пользователя 105 на передачу полученных данных. Проверка осуществляется с помощью записей, содержащихся в блоке 160 распределенного реестра 140 по соответствующему идентификатору. Так, устройство 130 рассчитывает хеш от полученных данных и ЭЦП, которой подписаны данные, и производит сверку с записями из распределенного реестра, где записи содержат хеши. Сверка производится с записями, которые были сформированы устройством пользователя 110. В случае совпадения хешей устройство третьей стороны приступает к обработке полученных данных.
Стоит отметить, что на каждом этапе соответствующее устройство из упомянутых устройств также производит проверку (верификацию) и самой ЭЦП, которой подписаны полученные данные.
На Фиг. 3 представлен пример состава записей, приведенных к определенному виду, в распределенном реестре по окончанию передачи данных пользователя. Для удобства восприятия все записи сделаны в один блок 160 распределенного реестра 140, при этом реализация настоящего изобретения этим не ограничивается.
Так, первая строчка содержит запись, содержащую информацию об уникальном идентификаторе транзакции.
Вторая строчка содержит запись, содержащую хеш, рассчитанный от совокупности данных запроса на передачу данных и электронной цифровой подписи третьей стороны.
Третья строчка содержит запись, содержащую информацию об идентификаторе, который указывает на размещение данных на устройстве доверенной стороны.
Четвертая строчка содержит запись, содержащую хеш, рассчитанный от совокупности данных запроса на подтверждение передачи данных и электронной цифровой подписи доверенной стороны.
Пятая строчка содержит запись, содержащую хеш, рассчитанный от совокупности данных разрешения на передачу данных и электронной цифровой подписи пользователя.
Шестая строчка содержит запись в виде флага, содержащую информацию о готовности устройством доверенной стороны передать данные устройству третьей стороне.
На Фиг. 4 представлен пример реализации способа передачи персональных данных от доверенной стороны к третьей стороне. Способ реализуется с помощью устройств из системы 100. Так, доверенной стороне соответствует устройство 120, третьей стороне соответствует устройство 130. Способ позволяет произвести передачу персональных данных пользователя от доверенной стороны к третьей стороне для последующей их обработки, при том фиксируя каждый факт взаимодействия между сторонами в распределенном реестре 140. В этом случае персональные данные пользователя хранятся у доверенной стороны, при этом устройство 110 пользователя 105 содержит информацию о месте размещения его персональных данных на устройстве доверенной стороны 120, например, содержит идентификатор, позволяющий определить хранящиеся персональные данные соответствующего пользователя у доверенной стороны.
На этапе 410 с помощью устройства третьей стороны формируют запрос на получение персональных данных пользователя (первый запрос) к устройству доверенной стороны и производят запись в блок 160 распределенного реестра 140, при этом запись включает хеш от данных, содержащихся в первом запросе. В частном варианте реализации первый запрос также подписывают электронной подписью третьей стороны, при этом первый запрос включает по крайней мере идентификатор третьей стороны в распределенном реестре, идентификатор доверенной стороны в распределенном реестре, идентификатор пользователя у доверенной стороны и необходимый третьей стороне тип персональных данных пользователя. В этом случае указанный хеш рассчитывают от совокупности данных первого запроса и электронной цифровой подписи третьей стороны.
На этапе 420 с помощью устройства третьей стороны передают первый запрос и идентификатор, указывающий на блок в распределенном реестре, устройству доверенной стороны.
На этапе 430 с помощью устройства доверенной стороны рассчитывают хеш от данных первого запроса и на этапе 435 сравнивают рассчитанный хеш с хешом из блока в распределенном реестре, который определяют согласно полученному идентификатору.
На этапе 440 в случае совпадения хешей с помощью устройства доверенной стороны:
- формируют запрос на подтверждение передачи персональных данных (второй запрос) к устройству пользователя,
- производят запись в блок распределенного реестра, при этом запись включает второй хеш от данных второго запроса, и
- передают второй запрос и идентификатор записи в блоке распределенного реестра устройству пользователю.
Стоит отметить, что в еще одном варианте реализации второй запрос подписывают электронной цифровой подписью доверенной стороны и второй запрос включает по крайней мере идентификатор третьей стороны в распределенном реестре, идентификатор доверенной стороны в распределенном реестре, идентификатор пользователя у доверенной стороны и персональные данные соответствующие требуемому типу персональных данных пользователя. Кроме того, второй хеш рассчитывают от совокупности данных из второго запроса и электронной цифровой подписи доверенной стороны.
В противном случае, если на этапе 435 сравниваемые хеши не совпали, переходят к этапу 480, где работа по передаче данных завершается. В еще одном варианте реализации, если хеши не совпали, дополнительно производят запрос от доверенной стороны к третьей стороне с помощью компьютерных устройств с целью уточнения полученного первого запроса (шаг не представлен на Фиг. 4).
На этапе 450 с помощью устройства доверенной стороны получают разрешение на передачу персональных данных и идентификатор, указывающий на запись в блоке распределенного реестра, от устройства пользователя. В одном из вариантов реализации полученное разрешение на передачу персональных данных подписано электронной цифровой подписью пользователя, а запись в блоке содержит хеш от совокупности данных указанного разрешения и ЭЦП пользователя.
Стоит отметить, что в частном случае реализации между этапами 440 и 450, например, на дополнительных этапах 445 и 447 с помощью устройства пользователя:
a. получают второй запрос от устройства доверенной стороны и идентификатор записи в блоке распределенного реестра,
b. рассчитывают хеш от второго запроса и сравнивают хеш с хешом из блока в распределенном реестре согласно полученному идентификатору от устройства доверенной стороны,
c. информируют пользователя о полученном запросе и результатах сравнения хешей,
d. получают ответ (согласие) от пользователя, на основании которого создают запись в блоке распределенного реестра в виде хеша, при этом хеш рассчитывается от ответа пользователя и электронной цифровой подписи пользователя,
e. передают ответ устройству доверенной стороны, при этом ответ содержит разрешение на передачу персональных данных и идентификатор указывающий на запись в блоке распределенного реестра.
В еще одном частном случае если при сравнении хеша и хеша из блока совпали, то устройство пользователя автоматически производит ответ, содержащий разрешение на передачу указанных персональных данных.
На этапе 460 с помощью устройства доверенной стороны производят проверку полученного разрешения от устройства пользователя с помощью расчета хеша от полученных данных разрешения и дальнейшего сравнения с хешом, выявленным в блоке распределенного реестра согласно полученному идентификатору.
На этапе 470 в случае совпадения хешей с помощью устройства доверенной стороны передают устройству третьей стороны запрошенные персональные данные пользователя.
В частном случае реализации на этапе 470 запрошенные персональные данные пользователя передают в виде ранее созданного запроса на подтверждение передачи персональных данных.
В еще одном частном случае реализации способа дополнительно с помощью устройства доверенной стороны производят запись в блок распределенного реестра о передаче персональных данных пользователя устройству третьей стороны, где запись содержит хеш от совокупности переданных данных. В случае реализации, когда запрос подписывается электронной цифровой подписью, хеш рассчитывается от совокупности передаваемых данных и электронной цифровой подписи.
В другом частном случае реализации способа дополнительно с помощью устройства третьей стороны производят проверку полученных персональных данных от устройства доверенной стороны путем сравнения хешей и только в случае совпадения производят дальнейшую обработку персональных данных, при этом один хеш рассчитывают на основании полученных данных от устройства доверенной стороны, а другой хеш находят в блоке транзакции распределенного реестра согласно идентификатору.
Стоит отметить, что в зависимости от реализации в качестве распределенного реестра может использоваться база данных, основанная на технологии блокчейн.
На Фиг. 5 представлен пример реализации способа фиксации фактов взаимодействия сторон в распределенном реестре на основе технологии блокчейн при передаче персональных данных пользователя.
Способ реализуется с помощью упомянутых средств системы 100. Во время передачи персональных данных производится запись в распределенный реестр (базу блокчейн) 140 фактов получения согласия на передачу и фактов самой передачи персональных данных пользователя 105 от устройства доверенной стороны 120 к устройству третьей стороны 130, при этом устройство доверенной стороны 120 хранит ранее полученные от устройства 110 пользователя 105 персональные данные. При передаче любых данных устройства сторон взаимодействия используют электронные цифровые подписи соответствующих сторон. Каждая запись, произведенная в блоках базы блокчейн 140, содержит хеш от совокупности данных и электронной цифровой подпись стороны, которая формирует запись в блок 160.
На этапе 520 формируют запись в блоке 160, указывающую на передачу запроса персональных данных от устройства третьей стороны 130 к устройству доверенной стороны 120. Запись содержит информацию о каждой стороне, позволяющей идентифицировать каждую сторону, пользователе и запрошенные типы персональных данных пользователя 105. На этапе 530 формируют еще одну запись в блоке 160, указывающую на передачу от устройства доверенной стороны 120 запроса к устройству 110 пользователя 105 на получение согласия от пользователя 105 на передачу персональных данных третьей стороне 130. Запись может содержать как информацию о каждой стороне, позволяющей идентифицировать каждую сторону, пользователе и запрошенных персональных данных, так и адрес, указывающей на запрошенные данные на устройстве доверенной стороны 120. На этапе 540 формируют другую запись в блоке 160, указывающую на разрешение пользователя 105 на передачу персональных данных. Запись содержит информацию о каждой стороне, позволяющей идентифицировать каждую сторону, пользователе и согласие пользователя 105 на передачу персональных данных третьей стороне 130. На этапе 550 формируют еще одну запись в блоке 160, указывающую на готовность к передаче и передачу персональных данных пользователя 105 от устройства доверенной стороны 120 к устройству третьей стороны 130. Запись содержит информацию о каждой стороне, позволяющей идентифицировать каждую сторону, пользователе и запрошенных персональных данных. В частном случае реализации, на этапе 560 формируют другую запись в блоке, указывающую на получение персональных данных пользователя 105 устройством третьей стороны 130 от устройства доверенной стороны 120. Запись содержит информацию о каждой стороне, позволяющей идентифицировать каждую сторону, пользователе и запрошенных персональных данных, либо запись является меткой, указывающей на успешное получение персональных данных.
На Фиг. 6 показана блок-схема, иллюстрирующая способ безопасной передачи запрашиваемых данных, в соответствии с вариантами реализации настоящего изобретения. В зависимости от вариантов реализации указанный способ может быть реализован при помощи упомянутых средств системы 100. Стоит отметить, что в зависимости от вариантов реализации изобретения под указанными данными могут пониматься не только данные пользователя (как приводилось в описании выше), но и другие виды данных, например, корпоративные данные, системные критические данные и т.д.
Так, на этапе 610 при помощи устройства доверенной стороны 120 получают (например, через информационную коммуникационную сеть 170) запрос на данные (например, данные пользователя) и идентификатор первой записи в распределенном реестре, в котором первая запись содержит первый хэш запроса. Запрос может исходить от устройства третьей стороны 130.
На этапе 620 вычисляют (рассчитывают) при помощи устройства доверенной стороны 120 хэш от указанного запроса для проверки того, что запрос данных соответствует первой записи в распределенном реестре 140. Таким образом, проверяют, что запрос от устройства третьей стороны 130 не является вредоносным, а первая запись (первый хеш от запроса) является действительным.
На этапе 625 определяют при помощи устройства доверенной стороны 120, соответствует ли первый хэш запроса хэшу, рассчитанному устройством доверенной стороны 120. При определении соответствия сравниваемых хэшей переходят к этапу 630.
На этапе 630 генерируют (создают) при помощи устройства доверенной стороны 120 запрос на подтверждение передачи данных и вторую запись в распределенном реестре 140, где вторая запись содержит второй хэш запроса на подтверждение.
На этапе 640 передают с помощью устройства доверенной стороны 120 запрос на подтверждение и идентификатор второй записи в распределенном реестре 140 на устройство пользователя 110.
На этапе 650 получают с помощью устройство доверенной стороны 120 от устройства пользователя 110 разрешение на передачу данных (подтверждающее сообщение) и идентификатор третьей записи в распределенном реестре 140, где третья запись содержит третий хэш от подтверждающего сообщения.
На этапе 660 рассчитывают с помощью устройства доверенной стороны 120 хэш от полученного подтверждающего сообщения для проверки того, что полученное подтверждающее сообщение получено от законного источника (например, от устройства пользователя 110).
На этапе 665 определяют с помощью устройства доверенной стороны 120, соответствует ли третий хэш от подтверждающего сообщения из распределенного реестра 140 хэшу, рассчитанному на этапе 660 устройством доверенной стороны 120. При определении соответствия сравниваемых хэшей, на этапе 680 передают с помощью устройства доверенной стороны 120 запрошенные данные устройству третьей стороны 130 (например, через информационную сеть 170).
Если на этапе 625 или этапе 665 устройство доверенной стороны 120 определяет, что хэши не совпадают, переходят к этапу 670, когда устройство доверенной стороны 120 отклоняет и/или игнорирует запрос данных. Отклонение запроса связано с тем, что запрос или подтверждающее сообщение могут быть недействительными.
Стоит отметить, что под идентификаторами записей, как упоминалось ранее, понимается уникальный номер блока 160, в котором находится соответствующая запись в распределенном реестре 140. Таким образом, определяется путь, по которому может быть найдена соответствующая запись в распределенном реестре 140.
Фиг. 7 представляет пример компьютерной системы 20 общего назначения, которая может быть использована как компьютер клиента (например, персональный компьютер) или сервера. Компьютерная система 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, представленного на Фиг. 7. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях компьютерная система (персональный компьютер) 20 подключена к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.