RU2760633C1 - Выборочное раскрытие атрибутов и информационных элементов записи - Google Patents

Выборочное раскрытие атрибутов и информационных элементов записи Download PDF

Info

Publication number
RU2760633C1
RU2760633C1 RU2020121091A RU2020121091A RU2760633C1 RU 2760633 C1 RU2760633 C1 RU 2760633C1 RU 2020121091 A RU2020121091 A RU 2020121091A RU 2020121091 A RU2020121091 A RU 2020121091A RU 2760633 C1 RU2760633 C1 RU 2760633C1
Authority
RU
Russia
Prior art keywords
attributes
record
issuer
secret
identifier
Prior art date
Application number
RU2020121091A
Other languages
English (en)
Inventor
Адриан Йорис Х. ЛАРМЮЗО
Original Assignee
Конинклейке Филипс Н.В.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Конинклейке Филипс Н.В. filed Critical Конинклейке Филипс Н.В.
Application granted granted Critical
Publication of RU2760633C1 publication Critical patent/RU2760633C1/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/88Medical equipments

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)

Abstract

Изобретение относится к системе выборочного раскрытия атрибутов, например атрибутов фенотипа, и информационных элементов записи, например участков геномных данных. Некоторые варианты осуществления относятся к системе выборочного раскрытия атрибутов и информационных элементов записи. Устройство-эмитент генерирует цифровую подпись на сообщении, содержащем атрибуты и секретный идентификатор записи, и цифровые подписи на сообщениях, которые содержат соответствующие информационные элементы, и каждое из которых содержит секретный идентификатор записи. Запись, секретный идентификатор записи и подписи предоставляются устройству-селектору. Устройство-селектор выборочно раскрывает атрибуты и информационные элементы записи устройству-получателю, доказывая подлинность с помощью доказательства с нулевым разглашением знания подписи на атрибутах и подписей на соответствующих информационных элементах. Устройство-получатель верифицирует доказательство в отношении открытого ключа эмитента и полученных атрибутов и информационных элементов. Заявленная группа изобретений обеспечивает более эффективный автоматизированный способ для обеспечения подлинности выборочно раскрываемых записей. 8 н. и 10 з.п. ф-лы, 10 ил.

Description

Область техники, к которой относится изобретение
Изобретение относится к системе выборочного раскрытия атрибутов, например, атрибутов фенотипа, и информационных элементов (внесенных данных, англ. data entries) записи, например, участков геномных данных. Изобретение дополнительно относится к устройству-эмитенту, устройству-селектору и устройству-получателю для использования в такой системе. Изобретение дополнительно относится к способу эмитента, способу селектора и способу получателя, которые соответствуют упомянутым выше устройствам. Изобретение дополнительно относится к машиночитаемому носителю данных.
Уровень техники
Использование геномных данных для медицинских исследований и лечения является многообещающим с точки зрения возможных применений, но если к ним не относиться осторожно, то они также сопряжены с большими рисками с точки зрения конфиденциальности и безопасности данных. По мере того, как становятся доступными геномные данные все большего количества людей, расширяются возможности для проведения медицинских исследований, например, для поиска лучшего или более индивидуального лечения. В то же время такие медицинские исследования предполагают использование высокочувствительных данных о генотипе и фенотипе, и во многих случаях, например, в полногеномных исследованиях ассоциаций, могут использоваться данные многих различных пациентов. Поэтому необходимо принимать соответствующие меры для предотвращения несанкционированного доступа к таким данным и внесения в них изменений.
Известным способом ограничения уязвимости данных в медицинских исследованиях является деидентификация. Например, в известной системе геномные данные могут собираться от нескольких сторон происхождения, например, данные, полученные от различных устройств или в ходе медицинских испытаний, и храниться на центральной платформе. Исследователь может запросить геномные данные пациентов с определенными характеристиками. В соответствии с законами и мировыми стандартами такие данные должны быть деидентифицированы. Соответственно, платформа может выбрать данные одного или более пациентов; деидентифицировать указанные данные, например, выбрать поднабор данных о фенотипе и генотипе; и предоставить исследователю деидентифицированные данные.
В более общем смысле, деидентификация, например, предоставление отредактированной версии записи персональных данных, которая достаточно ограничена по своей специфичности и деталям, настолько, что ее нельзя больше связать с субъектом данных, становится все более распространенной, что обусловлено законодательными нововведениями, такими как Общий регламент защиты персональных данных (GDPR, англ. General Data Protection Regulations), а также медицинскими стандартами, такими как GA4GH Beacon (проект Beacon компании Global Alliance for Genomics and Health). Например, деидентифицированные данные могут использоваться для медицинских исследований, не связанных с исследованиями генома, а также в различных других областях применения, таких как финансовые услуги и реклама. В более общем смысле, для записей, например, не содержащих персональных данных, деидентификация может рассматриваться как вид выборочного раскрытия, например, позволяющий поставщику данных решать, какими частями записи поделиться с получателем.
С точки зрения получателя деидентифицированных данных, например, исследователя, получающего деидентифицированные данные о генотипе и фенотипе пациента, тот факт, что данные деидентифицированы, может привнести риск мошенничества или манипуляций со стороны злоумышленников. Поскольку деидентифицированные данные могут не обнаруживать связи с их первоначальным источником, может быть трудно отличить реальные данные, имеющие законный источник, от поддельных данных, не имеющих законного источника. Соответственно, предпочтительно осуществлять деидентификацию таким образом, чтобы получатель, например, тот, кто платит за данные, или тот, кто проверяет данные для целей регулирования, мог доверять тому, что деидентифицированные данные являются законными, например, происходящими из надежных источников.
Раскрытие сущности изобретения
Обеспечение подлинности может быть выполнено с использованием обычных способов, например, путем направления запроса всем составителям данных поставить цифровую подпись на деидентифицированных данных, в качестве подтверждения, что они их одобряют. Однако это обременительно, часто дорого и может даже оказаться невозможным, например, если составителем данных является организация или машина, которая была выведена из эксплуатации. Соответственно, существует необходимость в более эффективных автоматизированных способах для обеспечения подлинности выборочно раскрываемых записей.
Для решения этих и других проблем предложена система выборочного раскрытия атрибутов и информационных элементов записи, как это определено в формуле изобретения. Система может включать в себя устройство-эмитент для предоставления записи устройству-селектору для выборочного раскрытия; устройство-селектор для выборочного раскрытия частей записи устройству-получателю; и устройство-получатель для выборочного получения частей записи.
Запись может содержать два различных типа данных, а именно, запись может содержать один или более атрибутов и несколько информационных элементов. При выборочном раскрытии устройство-селектор может определять один или более атрибутов, подлежащих раскрытию, в качестве поднабора одного или более атрибутов и один или более информационных элементов, подлежащих раскрытию, в качестве поднабора нескольких информационных элементов. Запись может являться записью персональных данных, например, атрибуты и информационные элементы могут содержать информацию о человеке. Однако записи, содержащие другие виды конфиденциальной информации, также вполне возможны.
Атрибуты, как правило, представляют собой атрибуты из предварительно заданного набора, например, если система обрабатывает несколько записей, каждая запись может предоставлять значения для одного и того же набора атрибутов. Например, одна или более записей могут представлять собой информацию о фенотипе человека, например, длина, цвет волос, диагноз конкретного заболевания и т.д. Значения для атрибутов конкретной записи, как правило, фиксируют на протяжении всего срока существования записи. Атрибуты, как правило, являются числовыми, категориальными, строками фиксированной длины и т.д. Количество атрибутов также относительно невелико, например, не более 10, не более 20 или не более 50.
С другой стороны, информационные элементы могут быть использованы для видов информации, отличных от атрибутов. Например, информационный элемент может представлять собой участок генома человека, который представляет запись, например, однонуклеотидный полиморфизм (SNP), например, закодированный строкой данных файла геномных данных Variant Call Format (VCF). Количество информационных элементов, связанных с записью, обычно превышает количество атрибутов, например, с записью может быть связано по меньшей мере 100, по меньшей мере 500 или по меньшей мере 1000 информационных элементов. Кроме того, информационные элементы обычно не являются числовыми или категориальными, например, они могут быть строками, например, гибкой длины, или двоичными данными, например, изображением. Кроме того, количество информационных элементов, связанных с записью, не обязательно должно быть фиксированным, например, различные записи могут иметь разное количество связанных с ними информационных элементов. Набор информационных элементов может быть даже динамическим, например, новые информационные элементы могут быть добавлены к записи по мере того, как они становятся доступными, существующие информационные элементы могут быть удалены или обновлены, и т.д. Эти характеристики делают нецелесообразным манипулирование информационными элементами таким же образом, как и атрибутами.
Для того чтобы обеспечить возможность выборочного раскрытия как атрибутов, так и информационных элементов безопасным образом, изобретатели предусмотрели для устройства-эмитента генерирование цифровых подписей на атрибутах и информационных элементах с использованием закрытого ключа эмитента, открытый ключ которого известен устройству-получателю. Как известно, цифровая подпись на сообщении позволяет лицу, имеющему открытый ключ эмитента, установить, что сообщение подписано лицом, имеющим соответствующий закрытый ключ. В этом случае устройство-эмитент может сгенерировать цифровую подпись на сообщении атрибутов, содержащем один или более атрибутов, и соответствующие цифровые подписи на сообщениях данных, содержащих соответствующие информационные элементы, например, по одной подписи для каждого информационного элемента. Соответственно, эти цифровые подписи могут позволить установить подлинность атрибутов и информационных элементов записи. В этом случае цифровые подписи предпочтительно выбирать таким образом, чтобы они позволяли эффективно выполнять на них так называемые доказательства с нулевым разглашением (конфиденциальных данных) (англ. zero-knowledge proofs), о чем вкратце говорилось выше.
Интересно, что использование цифровой подписи, содержащей атрибуты, и отдельных цифровых подписей на соответствующих информационных элементах, может дать ряд положительных результатов. Цифровая подпись, содержащая атрибуты, может содержать фиксированное количество атрибутов, а также цифровая подпись на информационном элементе может иметь введенные данные фиксированной длины, например хэш информационного элемента. Это полезно, поскольку цифровые подписи могут, таким образом, иметь фиксированный размер сообщения и, соответственно, фиксированное форматирование. Это особенно важно при использовании подписей для доказательств с нулевым разглашением, как это обсуждается ниже, поскольку эффективные способы выполнения таких доказательств могут основываться на использовании сообщений фиксированного формата.
Кроме того, использование отдельных цифровых подписей на информационных элементах может позволить осуществлять выборочное раскрытие путем обработки только тех цифровых подписей на информационных элементах, которые фактически раскрыты, например, вместо того, чтобы совершать операции с одной цифровой подписью, включающей в себя все информационные элементы, что особенно важно, поскольку количество информационных элементов и размеры отдельных информационных элементов могут быть значительными. Например, геномные данные, например, файл формата VCF, могут включать в себя тысячи геномных изменений. Если выборочное раскрытие лишь нескольких из этих изменений будет связано с обработкой каждого геномного изменения или даже с выполнением сложных криптографических операций для каждого изменения, то затраты могут стать непомерно высокими. Более того, количество информационных элементов, содержащихся в записи, может оставаться в раскрытии скрытым от получающей стороны, например, получающая сторона может не иметь возможности связать запись, полученную при различных взаимодействиях, с системой на основании того, что она содержит одинаковое количество информационных элементов.
Однако изобретатели поняли, что при "наивной" реализации использования нескольких цифровых подписей для подписания записи возникает проблема, когда устройство-эмитент предоставляет несколько записей. В частности, в этом случае цифровые подписи от разных записей могут быть перемешаны, например, посредством устройства-селектора, например, для получения подписанной записи с геномной информацией от разных лиц. Таким образом, устройство-эмитент в соответствии с одним вариантом осуществления может определить секретный идентификатор записи, например, сгенерированный случайным образом идентификатор, характерный для конкретной записи, и может включить его в сообщение атрибутов и сообщения данных, которые оно подписывает для этой записи. Затем устройство-эмитент может предоставить запись, секретный идентификатор записи и цифровые подписи устройству-селектору. Таким образом, секретный идентификатор записи может использоваться для гарантии того, что соответствующие цифровые подписи соответствуют одной записи, предоставленной устройством-эмитентом.
Однако, как указано ниже, секретный идентификатор записи может оставаться скрытым для устройства-получателя.
При осуществлении выборочного раскрытия устройство-селектор теперь может предоставлять устройству-получателю атрибуты и информационные элементы, подлежащие раскрытию, вместе с их подписями. Однако такое решение не является оптимальным с точки зрения минимизации данных. Например, сообщение атрибутов может также содержать нераскрытые атрибуты, но устройству-получателю, как правило, все равно будут необходимы эти атрибуты для верификации подписи. Кроме того, подписи содержат секретный идентификатор записи, поэтому получателю обычно требуется секретный идентификатор записи для верификации подписи. Таким образом, если в двух разных раскрытиях получатель получает непересекающиеся наборы атрибутов и информационных элементов из одной и той же записи, то получатель может связать эти две разные частичные записи друг с другом на основе секретного идентификатора записи. Или же получатель может использовать секретный идентификатор записи для связи своей частичной записи с другими частичными записями, полученными другими получателями.
Интересно, однако, что изобретатели придумали для устройства-селектора использовать доказательство с нулевым разглашением, чтобы доказать получателю, что предоставленные значения и информационные элементы относятся к одной записи, подписанной устройством-эмитентом. Как известно из криптографии, доказательство с нулевым разглашением представляет собой способ, с помощью которого одна сторона, доказывающий, может доказать другой стороне, верификатору (или проверяющему), что она знает значение, удовлетворяющее определенному свойству. В доказательстве с нулевым разглашением, интересно, что оно выполняется без того, чтобы доказывающий раскрыл значение верификатору. Например, в известном доказательстве с нулевым разглашением верификатор знает открытый ключ, а доказывающий может доказать верификатору, что он знает закрытый ключ, соответствующий этому открытому ключу, не раскрывая при этом верификатору закрытый ключ.
В этом случае устройство-селектор может выполнить доказательство с нулевым разглашением вместе с устройством-получателем, причем устройство-селектор доказывает, что знает секретный идентификатор записи, цифровую подпись на сообщении атрибутов и цифровые подписи на сообщениях данных. Иными словами, устройство-селектор, как правило, не раскрывает секретный идентификатор записи или какую-либо из цифровых подписей устройству-получателю, а вместо этого доказывает, что ему известны действительный идентификатор и подписи. Конкретные примеры эффективного построения таких доказательств приводятся ниже, хотя следует отметить, что в литературе имеются обобщенные способы, позволяющие доказать знание данных, удовлетворяющих произвольным отношениям, с тем чтобы в принципе можно было использовать любую схему цифровой подписи и любую общую систему доказательств с нулевым разглашением.
Что касается атрибутов, то устройство-селектор может доказать, что цифровая подпись на сообщении атрибутов является цифровой подписью на сообщении, содержащем по меньшей мере один или более атрибутов, подлежащих раскрытию, и секретный идентификатор записи. Устройство-получатель может верифицировать эту часть доказательства в отношении одного или более атрибутов, полученных им от устройства-селектора, с тем чтобы удостовериться в правильности полученных атрибутов. Устройство-селектор может также доказать, что цифровая подпись подписана закрытым ключом, соответствующим открытому ключу эмитента, который получатель может верифицировать с использованием открытого ключа эмитента. Выполняя эту часть доказательства в качестве верификатора, устройство-получатель может таким образом получить подтверждение того, что полученные им от устройства-получателя атрибуты действительно являются частью записи, предоставленной устройством-эмитентом.
Что касается информационных элементов, то устройство-селектор может доказать, что цифровые подписи на сообщениях данных являются цифровыми подписями на сообщениях, которые содержат информационные элементы, подлежащие раскрытию, и каждое из которых содержит секретный идентификатор записи, например, каждое из соответствующих сообщений содержит информационный элемент и секретный идентификатор записи. Устройство-получатель может верифицировать эту часть доказательства в отношении информационных элементов, которые оно получило от устройства-селектора, с тем чтобы удостовериться в их правильности. Устройство-селектор может также доказать, что цифровая подпись подписана закрытым ключом, соответствующим открытому ключу эмитента, который получатель может верифицировать с использованием этого открытого ключа эмитента. Выполняя эту часть доказательства в качестве верификатора, устройство-получатель может таким образом получить подтверждение того, что информационные элементы, полученные им от устройства-получателя, являются частью записи, предоставленной устройством-эмитентом. В частности, доказательство может гарантировать, что каждая из цифровых подписей содержит секретный идентификатор записи и, таким образом, является частью одной и той же записи, предоставленной устройством-эмитентом; тем не менее устройство-получатель не может фактически узнать секретный идентификатор записи, что препятствует установлению связи между частичными записями, полученными в различных выборочных раскрытиях.
Таким образом, обеспечена система, в которой устройство-селектор может предоставлять атрибуты и информационные элементы устройству-получателю с улучшенными гарантиями конфиденциальности и/или подлинности. Кроме того, обеспечены различные устройства, каждое из которых обладает особыми признаками, способствующими получению различных преимуществ. Например, устройство-эмитент может определить секретный идентификатор записи и включить его в соответствующую цифровую подпись записи. Предпочтительно, чтобы цифровые подписи относились к такому типу, который позволяет выполнять эффективные доказательства с нулевым разглашением, примеры которых приведены ниже, хотя любой вид цифровой подписи может быть использован в сочетании с подходящей системой доказательства с нулевым разглашением. В качестве другого примера, устройство-селектор и устройство-получатель могут выполнять доказательство с нулевым разглашением, чтобы удостовериться в том, что выборочно раскрытые значения и информационные элементы принадлежат к одной записи устройства-эмитента.
Благодаря рассмотренным мерам, устройство-получатель может получить гарантии того, что полученные атрибуты и информационные элементы относятся к одной записи, предоставленной устройством-эмитентом. Тем не менее устройство-получатель, как правило, не получает сведений о нераскрытых атрибутах или информационных элементах и даже о том, сколько информационных элементов содержится в этой записи. В частности, хотя части записей связаны идентификатором, этот идентификатор может представлять собой секретный идентификатор записи, который устройство-получатель не узнает. Бремя осуществления выборочного раскрытия снимается с устройства-эмитента, которому, возможно, потребуется лишь один раз предоставить свою запись устройству-селектору, и после этого, возможно, его не потребуется привлекать. Система может быть особенно пригодна для больших и/или динамических наборов информационных элементов, поскольку выборочное раскрытие поднабора нескольких информационных элементов, как правило, включает в себя масштабирование вычислений и связи по количеству раскрытых информационных элементов, а не по общему количеству информационных элементов. Например, вместо раскрытия полного генома могут быть раскрыты только релевантные участки, причем раскрытие может осуществляться только в отношении количества релевантных участков. Соответственно, обеспечивается улучшенное избирательное раскрытие частей записи.
В одном варианте осуществления атрибуты записи могут включать в себя один или более атрибутов фенотипа человека. Информационные элементы записи могут содержать один или более участков генома человека. Например, система может представлять собой систему предоставления геномных данных исследователю для медицинских исследований. Учитывая конфиденциальность геномных данных, а также для улучшения соблюдения правил, касающихся конфиденциальности, в различных юрисдикциях, важно, чтобы такая запись была деанонимизирована; в то же время, количество геномных участков в записи может быть большим, например, запись может включать в себя весь секвенированный геном человека или его большую часть. В таких случаях, позволяя избирательно раскрывать поднабор описанного набора геномных участков, особенно важны полезные характеристики масштабирования, раскрытые в настоящем документе.
Для подписания сообщения атрибутов и сообщений данных для нескольких информационных элементов могут использоваться различные схемы цифровой подписи. Как уже говорилось, в принципе может быть использована любая схема цифровой подписи. В настоящее время обсуждаются различные особенно выгодные варианты.
Различные варианты осуществления основаны на анонимных идентификационных данных. Анонимные идентификационные данные сами по себе известны в данной области техники как способ, с помощью которого пользователь может получить от эмитента идентификационных данных удостоверение подлинности одного или более его атрибутов, например, возраста и страны происхождения пользователя. Пользователь может анонимно показать идентификационные данные третьему лицу, чтобы доказать, что он удовлетворяет определенным требованиям, например, возрасту по меньшей мере 18 лет, не раскрывая информацию, позволяющую связать его с конкретным пользователем. Атрибуты схем анонимных идентификационных данных обычно являются числовыми; другие типы атрибутов могут быть закодированы различными способами, например, текстовый атрибут может быть закодирован как числовой атрибут путем применения к тексту вычислительно необратимой функции, и т.д.
Примеры таких схем анонимных идентификационных данных раскрыты, например, в работе J. Camenisch et al., "Signature schemes and anonymous credentials from bilinear maps", Proceedings CRYPTO '04 (Я. Камениш и др., "Схемы подписей и анонимные идентификационные данные с билинейных отображений", Труды конференции CRYPTO '04) (включенной в настоящий документ путем ссылки в части описания схемы анонимных идентификационных данных) и в работе J. Camenisch et al., "An Accumulator Based on Bilinear Maps and Efficient Revocation for Anonymous Credentials", Proceedings PKC '09 (Я. Камениш и др., "Аккумулятор, основанный на билинейных отображениях и эффективный отзыв анонимных идентификационных данных", Труды конференции РКС '09) (включенной в настоящий документ путем ссылки в части описания схемы анонимных идентификационных данных).
Интересно, что в одном варианте осуществления анонимные идентификационные данные могут быть переориентированы на системы, представленные в настоящем документе, в том смысле, что цифровая подпись на сообщении атрибутов в том виде, в каком она представлена в настоящем документе, содержит анонимные идентификационные данные, подписанные закрытым ключом эмитента. Анонимные идентификационные данные могут содержать один или более атрибутов записи и секретный идентификатор записи, как и атрибуты. По сути анонимные идентификационные данные используют "наоборот". Обычно пользователь и эмитент запускают протокол выпуска (эмиссии) для пользователя, чтобы получить идентификационные данные атрибутов, значения которых эмитент может не знать; по запросу третьей стороны, чтобы доказать свойство, пользователь использует выпущенные (эмитированные) анонимные идентификационные данные. В данном случае, напротив, такой протокол выпуска не нужен, и устройство-эмитент может предоставить идентификационные данные непосредственно устройству-селектору. В отличие от обычного случая, устройство-селектор, которое хранит идентификационные данные, обычно является промежуточной стороной, к которой идентификационные данные не имеют отношения, например, устройство-селектор может хранить различные записи о различных субъектах, например, о лицах, с которыми оно не связано. Затем устройство-селектор может выборочно раскрывать части этих записей и/или показывать или доказывать свойства атрибутов по своему усмотрению. Несмотря на эти различия, интересно, что анонимные идентификационные данные все же могут быть использованы в качестве строительного блока в настоящей системе.
В некоторых вариантах осуществления схема цифровой подписи, используемая для сообщений данных, такая же, что и схема, используемая для сообщения атрибутов, например, цифровая подпись для информационного элемента может представлять собой анонимные идентификационные данные с секретным идентификатором записи и информационным элементом, или вычислительно необратимую функцию, применяемую к информационному элементу, как и для атрибутов. Это приводит к особенно простой конструкции.
Однако также можно оптимизировать подписание сообщений данных различными способами, например, полагаясь на то, что сообщения данных не обязательно должны содержать значения нескольких атрибутов.
В некоторых вариантах осуществления цифровая подпись на сообщении данных основана на сумме по меньшей мере секретного идентификатора γ записи и хэша Н(m) информационного элемента m. Например, хэш Н может быть криптографической хэш-функцией или подобной. Как поняли изобретатели, подписывая значение γ+Н(m), а не отдельные значения γ и Н(m) становится возможным использовать более эффективные схемы подписей, например, схемы подписей для подписания и/или доказательства свойств отдельных значений вместо схем подписей для подписания и/или доказательства свойств нескольких атрибутов. Интересно, что даже если γ и Н(m) объединить путем взятия их суммы, так как Н(m) представляет собой хэш, для устройства-селектора может оказаться невозможным найти другое сообщение m' данных, которое дает одинаковое значение для суммы, например, γ+Н(m)=γ+Н(m'), или которое даже приводит к сумме для другого секретного идентификатора, например, γ+Н(m)=γ'+Н(m'), так что сумма все равно может обеспечить достаточную достоверность (подлинность) как для секретного идентификатора, так и для информационного элемента.
В некоторых вариантах осуществления цифровую подпись на информационном элементе m вычисляют посредством возведения группового элемента g в степень мультипликативного обратного значения, основанного по меньшей мере на закрытом ключе x эмитента, секретном идентификаторе γ записи и информационном элементе m. Схемы подписи, основанные на возведении в степень мультипликативного обратного, известны в данной области техники и могут обеспечивать небольшие подписи эффективными доказательствами с нулевым разглашением, например, см. D. Boneh et al., "Short signatures without random oracles and the SDH assumption in bilinear groups", J. Cryptology, 21(2): 149-177, 2008 (Д. Боне и др., "Короткие подписи без случайных оракулов и предположение SDH в билинейных группах", Журнал криптологии, 21(2): 149-177, 2008) (данная статья включена в настоящий документ в части, касающейся схемы короткой подписи). Например, секретный идентификатор записи и информационный элемент могут быть объединены для формирования сообщения, подлежащего подписанию. В одном варианте осуществления простой (незашифрованный) текст включает в себя сумму секретного идентификатора записи и хэш сообщения, как это обсуждалось выше, например, подпись может представлять собой g1/x+γ+H(m). Это пример особо эффективной с точки зрения хранения подписи, содержащей только один элемент группы. Опытному специалисту будут очевидны различные альтернативы использования вышеуказанной суммы, например, сумма хэша секретного идентификатора записи и хэша сообщения и т.д.
В одном варианте осуществления устройство-эмитент дополнительно выполнено с возможностью получения обновленных данных для одного из нескольких информационных элементов. Устройство-эмитент может сгенерировать обновленную цифровую подпись на сообщении данных для этого обновленного информационного элемента. Затем устройство-эмитент может предоставить обновленную цифровую подпись устройству-селектору. Таким образом, устройство-эмитент может динамически обновлять запись по одному информационному элементу за раз. Интересно отметить, что поскольку информационные элементы подписаны соответствующими цифровыми подписями, с точки зрения вычислительной и коммуникационной сложности обновление одного информационного элемента может хорошо масштабироваться, например, не требуется перерасчет подписей на всех информационных элементах и т.д.
Аналогично обновлению информационного элемента, информационные элементы могут быть добавлены в запись, например, устройством-эмитентом путем предоставления добавленного информационного элемента и подписи устройству-селектору, которые обновляют запись, или удаляются из записи устройством-эмитентом, например, путем указания устройству-селектору, какой информационный элемент удалить, который затем обновляет запись. Кроме того, эти операции могут быть эффективно осуществлены благодаря наличию отдельных подписей для отдельных информационных элементов. Устройство-эмитент также может обновлять набор атрибутов записи, например, путем предоставления обновленного набора атрибутов или изменений в один или более атрибутов, наряду с обновлением цифровой подписи на сообщении атрибутов, устройству-селектору, которое затем обновляет запись. Кроме того, эта операция может быть эффективно реализована, так как она не требует использования информационных элементов.
В различных вариантах осуществления устройство-селектор получает несколько записей, например, несколько записей от одного устройства-эмитента, несколько записей от нескольких устройств-эмитентов и т.д. Таким образом, устройство-селектор может выступать в качестве системы, обеспечивающей доступ к нескольким записям для устройств-получателей, например, централизованной точки доступа, которая выбирает и предоставляет данные получателям, например, медицинским исследователям, желающим провести исследования по геномным данным.
В одном варианте осуществления устройство-эмитент выполнено с возможностью получения запроса записи и выбора одной или более записей, которые подлежат раскрытию в соответствии с запросом записи. Например, устройство-получатель может предоставить запрос записи, или же запрос записи может быть определен иным образом. Как правило, запрос записи предусматривает одно или более условий для записей, которые должны быть удовлетворены. Например, устройство-эмитент может выбрать все записи, удовлетворяющие этим условиям, первые X записей, удовлетворяющих этим условиям, X случайных записей, удовлетворяющих этим условиям, и т.д. Например, условие может быть условием для атрибута, например, условие может утверждать, что атрибут равен конкретному значению, или другому атрибуту, что атрибут лежит в конкретном диапазоне, и т.д. Условие может также быть условием для информационного элемента, например, существование информационного элемента, содержащего конкретные данные, например, геном, имеющий конкретную мутацию. Затем устройство-эмитент может выборочно раскрыть атрибуты и информационные элементы для каждой текущей записи выбранных записей, например, путем повторения определения подлежащих раскрытию атрибутов, предоставления атрибутов и информационных элементов текущей записи и выполнения доказательства с нулевым разглашением для каждой текущей записи одной или более выбранных записей. Таким образом, устройство-получатель может получать записи, релевантные для его конкретного использования.
В одном варианте осуществления устройство-селектор доказывает устройству-получателю, используя доказательство с нулевым разглашением для текущей записи, что текущая запись удовлетворяет запросу записи. Например, запрос записи может содержать условие, например, возраст > 65 лет по атрибуту, который не предоставлен устройству-получателю. Доказательством того, что такое условие соблюдается, может являться доказательство с нулевым разглашением. Также можно доказать свойства информационных элементов, которые сами по себе не предоставлены устройству-получателю. Условия в отношении раскрытых атрибутов и информационных элементов, как правило, не должны доказываться с нулевым разглашением, так как получатель их знает. Кроме того, нет строгой необходимости доказывать полный запрос записи, например, по соображениям эффективности могут быть доказаны только наиболее релевантные условия запроса записи. Интересно, что с помощью доказательства с нулевым разглашением устройство-получатель может получить уверенность в том, что получаемые им записи удовлетворяют запросу записи, например, возраст старше 65 лет, при этом он не знает подробностей, например, точного возраста. Соответственно, может быть получена особенно выгодная комбинация минимизации данных и подлинности.
В одном варианте осуществления устройство-селектор дополнительно получает запрос информационного элемента, например, полученный от устройства-получателя или определенный иным образом. Устройство-селектор может определить один или более информационных элементов, подлежащих раскрытию в соответствии с запросом информационного элемента. Например, в запросе информационного элемента может быть указано одно или более условий, которым должны удовлетворять информационные элементы, может быть указан один или более конкретных информационных элементов, включающих в себя, например, данные о геноме в конкретных местах и т.д. Таким образом, можно регулировать, какие именно информационные элементы подлежат предоставлению. Аналогичный подход может быть использован для определения того, какие атрибуты подлежат раскрытию.
Разумеется, использование запросов записи и/или запросов информационного элемента для регулирования того, какие записи и/или части записей подлежат раскрытию, не исключает возможности для устройства-селектора проверки данных, подлежащих раскрытию устройству-получателю, например, устройство-селектор может выполнить проверку того, что атрибуты и информационные элементы набора записей, подлежащие раскрытию устройству-получателю, удовлетворяют определенному свойству минимизации данных, например, свойству конфиденциальности, такому как k-анонимность.
В одном варианте осуществления доказательство с нулевым разглашением может использовать устройство-селектор, предоставляющее обязательство в отношении секретного идентификатора записи устройству-получателю и подтверждающее знание цифровых подписей в отношении этого обязательства. Например, обязательство может представлять собой обязательство типа Педерсена, известное в данной области техники. Предоставление обязательства устройству-получателю может позволить устройству-получателю эффективно установить, что один и тот же секретный идентификатор записи включен в соответствующие цифровые подписи, за счет обеспечения того, что каждая из этих цифровых подписей включает в себя один и тот же секретный идентификатор записи, что и обязательство.
В одном варианте осуществления доказательство с нулевым разглашением может быть неинтерактивным доказательством с нулевым разглашением, которое может быть определено и отправлено устройством-селектором, а также может быть получено и верифицировано устройством-получателем. Это может уменьшить объем необходимой связи и/или позволить передачу данных, когда обе стороны не находятся одновременно в режиме онлайн.
Описанные в настоящем документе способы могут быть применены в широком диапазоне практических задач. К таким практическим применениям относятся платформы для предоставления деанонимизированных наборов данных, например, исследователям в медицинском или финансовом контексте. Например, такая платформа может использоваться рядом больниц или внешним поставщиком услуг. В более общем плане, любой вид применения, в котором требуется выборочное раскрытие частей записи, особенно записи, содержащей гибкий или большой набор информационных элементов, может получить преимущества от описанных в настоящем документе способов.
Вариант осуществления способа может быть реализован на компьютере в виде способа, реализуемого на компьютере, или на специальном оборудовании, или в комбинации и того, и другого. Исполняемый код для варианта осуществления способа может храниться в компьютерном программном продукте. Примерами компьютерных программных продуктов являются устройства памяти, оптические запоминающие устройства, интегральные схемы, серверы, онлайновое программное обеспечение и т.д. Предпочтительно, чтобы компьютерный программный продукт содержал долговременный программный код, хранящийся на машиночитаемом носителе для выполнения варианта осуществления способа, при котором данный программный продукт исполняется на компьютере.
В одном варианте осуществления компьютерная программа включает в себя компьютерный программный код, адаптированный для выполнения всех этапов варианта осуществления способа, когда компьютерная программа выполняется на компьютере. Предпочтительно, чтобы компьютерная программа была воплощена на машиночитаемом носителе.
Другой аспект изобретения обеспечивает способ изготовления компьютерной программы, доступной для загрузки (скачивания). Этот аспект используют, когда компьютерная программа подгружена в магазины приложений, например, в App Store от Apple, Play Store от Google или Windows Store от Microsoft, и когда компьютерная программа доступна для загрузки из такого магазина.
Краткое описание чертежей
Прочие детали, аспекты и варианты осуществления изобретения будут описаны только в качестве примера со ссылкой на чертежи. Элементы на фигурах проиллюстрированы для простоты и ясности и не обязательно изображены в масштабе. На фигурах элементы, которые соответствуют уже описанным, могут иметь одинаковые ссылочные обозначения.
На фиг. 1a схематично показан пример системы выборочного раскрытия, не предполагающей использования доказательств с нулевым разглашением.
На фиг. 1b схематично показан пример варианта осуществления системы выборочного раскрытия.
На фиг. 2 схематично показан пример варианта осуществления устройства-эмитента.
На фиг. 3 схематично показан пример варианта осуществления устройства-селектора.
На фиг. 4 схематично показан пример варианта осуществления устройства-получателя.
На фиг. 5 схематично показан пример варианта осуществления способа эмитента.
На фиг. 6 схематично показан пример варианта осуществления способа селектора.
На фиг. 7 схематично показан пример варианта осуществления способа получателя.
На фиг. 8 схематически показан машиночитаемый носитель с записываемой частью, содержащей компьютерную программу в соответствии с вариантом осуществления.
На фиг. 9 схематично показан вариант процессорной системы в соответствии с одним вариантом осуществления.
Осуществление изобретения
Хотя это изобретение может быть реализовано в различных формах, на чертежах показаны и будут в настоящем документе подробно описаны один или более конкретных вариантов осуществления, с пониманием того, что настоящее раскрытие должно рассматриваться как представленное для демонстрации примеров принципов изобретения, и оно не должно ограничивать изобретение конкретными показанными и раскрытыми вариантами осуществления.
Далее, для целей понимания, элементы вариантов осуществления описываются в действии. Однако будет очевидно, что соответствующие элементы выполнены таким образом, чтобы осуществлять функции, описанные как осуществляемые ими.
Кроме того, изобретение не ограничено указанными вариантами осуществления, и изобретение заключается в каждом новом признаке или комбинации признаков, описанных в настоящем документе или приведенных во взаимно различных зависимых пунктах формулы.
На фиг. 1а показан пример системы 000 для выборочного раскрытия атрибутов и информационных элементов записи в соответствии с современной передовой практикой. Система 000 не использует подписей сообщения атрибутов и сообщения данных или доказательств с нулевым разглашением, как это определено формулой изобретения.
На фигуре показано устройство-эмитент 010, которое позволяет устройству-селектору 011, например, геномной платформе, выборочно раскрывать части записи 072. Конкретная запись 072, показанная на фигуре, содержит значения для предварительно заданного набора атрибутов 081-082, например, данных о фенотипе, и набора информационных элементов 091-092, например, данных о генотипе. Устройство-эмитент 010 предоставляет запись в устройство-селектор 011.
Когда устройство-селектор 011 хочет выборочно раскрыть части записи 011 устройству-получателю 012, устройство-селектор может выбрать один или более атрибутов 081-082, в данном случае атрибуты 083 и 084, и один или более информационных элементов 091-092, в данном случае информационный элемент 093, подлежащих раскрытию устройству-получателю 012. Устройство-получатель 012 может получить атрибуты 083, 084 и информационные элементы 093, подлежащие раскрытию.
Хотя на данный момент этапы обеспечивают выборочное раскрытие, например, устройство-получатель 012 получает только часть записи, еще не обеспечена подлинность, например, устройство-получатель 012 не получает гарантии того, что полученные атрибуты и информационные элементы происходят от достоверного устройства-эмитента 010, и/или что полученные атрибуты и информационные элементы принадлежат одной и той же записи, например, все они относятся к одному и тому же лицу. Для получения такой гарантии с использованием способов, известных из уровня техники, может быть использована цифровая подпись 075. Цифровая подпись 075 в данном примере может быть обычной подписью, например подписью RSA (Ривеста-Шамира-Эйдлмэна, англ. Rivest-Shamir-Adleman) или подписью ECDSA (алгоритм цифровой подписи, определенный в группе точек эллиптической кривой, англ. Elliptic Curve Digital Signature Algorithm). Обозначение S(X;Y), используемое на фигуре и на протяжении всего описания, может обозначать подпись с закрытым ключом X на сообщении Y. На момент раскрытия устройство-эмитент 010 может предоставить устройству-получателю 012, например, по запросу устройства-селектора 011, цифровую подпись 075, подписанную закрытым ключом 070 эмитента, на атрибутах и информационных элементах, подлежащих раскрытию. Устройство-получатель 012 может верифицировать цифровую подпись 075 в отношении открытого ключа 071 эмитента, соответствующего закрытому ключу 070 эмитента. Цифровая подпись, как правило, не предполагает восстановления сообщения, например, сообщение не может быть выведено из подписи, а вместо этого подпись и сообщение верифицируются вместе в отношении открытого ключа 071.
Хотя вышеуказанная система может обеспечить выборочное раскрытие с гарантиями подлинности, она имеет нежелательную характеристику, заключающуюся в том, что устройство-эмитент 010 должно участвовать в каждом выборочном раскрытии. Это громоздко, часто дорого, а иногда невозможно, например, устройство-эмитент 010 или его организация могут больше не существовать. Соответственно, проблема, решаемая ниже, заключается в том, как осуществлять выборочное раскрытие с сопоставимыми гарантиями подлинности, но таким образом, чтобы устройство-эмитент не должно было участвовать в выборочном раскрытии.
На фиг. 1b схематично показан пример варианта осуществления системы 100 для выборочного раскрытия атрибутов и информационных элементов записи 172. Система 100 может содержать устройство-эмитент 100, устройство-селектор 111 и/или устройство-получатель 112.
Устройство-эмитент 110 может быть выполнено с возможностью предоставления записи 172 в устройство-селектор 111 для выборочного раскрытия. Устройство-эмитент 110 может содержать процессор 130 и память 140. Память 140 может быть использована для хранения данных и/или инструкций. Например, память 140 может содержать программное обеспечение и/или данные, на которых процессор 130 может работать. Память 140 может также хранить закрытый ключ 170 эмитента, образуя пару открытого и закрытого ключей с соответствующим открытым ключом 171 эмитента. Память 140 может также хранить запись 172. Запись 172 может содержать один или более атрибутов 181-182 и несколько информационных элементов 191-192. Только в качестве примера показаны два атрибута и два информационных элемента. Процессор 130 может быть выполнен в виде одной или более процессорных схем, например, микропроцессоров, ASIC (специализированная интегральная схема, от англ. Application-Specific Integrated Circuit), FPGA (программируемая пользователем вентильная матрица, от англ. Field Programmable Gate Array) и т.п. Память 140 может содержать компьютерные программные инструкции, исполняемые процессором 130. Процессор 130, возможно, вместе с памятью 140, выполнен в соответствии с одним вариантом осуществления устройства-эмитента. Устройство-эмитент 110 может также содержать интерфейс 150 связи, выполненный с возможностью осуществления связи с другими устройствами, в частности, устройством-селектором 111. Например, интерфейс связи может содержать соединитель, например, проводной соединитель, например, Ethernet-соединитель, или беспроводной соединитель, например, антенну, например, антенну Wi-Fi, 4G или 5G. Интерфейс связи также может представлять собой интерфейс хранения для внутреннего или внешнего устройства хранения данных, клавиатуру, прикладной интерфейс (API) и т.д.
Устройство-эмитент 110 может быть выполнено с возможностью определения секретного идентификатора 173 записи. Устройство-эмитент 110 также может быть выполнено с возможностью генерирования цифровой подписи 180 на сообщении атрибутов с использованием закрытого ключа 170 эмитента, причем сообщение атрибутов содержит один или более атрибутов 181-182 и секретный идентификатор 173 записи. Устройство-эмитент 110 также может быть выполнено с возможностью генерирования нескольких цифровых подписей 191'-192' на нескольких сообщениях данных для нескольких информационных элементов 191-192 с использованием закрытого ключа 170 эмитента. Сообщение данных для информационного элемента 191-192 может содержать информационный элемент и секретный идентификатор 173 записи. Устройство-эмитент 110 может быть выполнено с возможностью предоставления записи 172, секретного идентификатора 173 записи, цифровой подписи 180 на сообщении атрибутов и цифровых подписей 191'-192' на сообщениях данных устройству-селектору 111.
Как показано на фигуре и использовано на протяжении всего описания, S1(X; Y) и S2(X; Y) могут быть использованы для обозначения цифровых подписей, подписанных с помощью закрытого ключа X на сообщениях Y. Как показывают нижние индексы, для подписи 180 и подписей 191'-192' могут быть использованы различные схемы цифровой подписи, хотя это не является обязательным. Цифровые подписи, как правило, не предполагают восстановления сообщения, например, цифровая подпись может быть верифицирована вместе с сообщением с использованием открытого ключа, соответствующего закрытому ключу.
Устройство-селектор 111 может быть выполнено с возможностью выборочного раскрытия атрибутов и информационных элементов записи 172 устройству-получателю 112. Устройство-селектор 111 может содержать процессор 131 и память 141. Память 141 может быть использована для хранения данных и/или инструкций. Например, память 141 может содержать программное обеспечение и/или данные, на которых может работать процессор 131. Память 141 может также хранить запись 172, секретный идентификатор 173 записи, цифровую подпись 180 на сообщении атрибутов и/или цифровые подписи 191'-192' на сообщениях данных. Процессор 131 может быть выполнен как одна или более процессорных схем, например, микропроцессоры, ASIC, FPGA и т.п. Память 141 может содержать компьютерные программные инструкции, исполняемые процессором 131. Процессор 131, возможно вместе с памятью 141, выполнен в соответствии с вариантом осуществления устройства-селектора. Устройство-селектор 111 может также включать в себя интерфейс 151 связи, выполненный с возможностью осуществления связи с другими устройствами, в частности, с устройством-эмитентом 110 и устройством-получателем 112. Например, интерфейс связи может включать в себя соединитель, например, проводной соединитель, например, Ethernet-соединитель, или беспроводной соединитель, например, антенну, например, антенну Wi-Fi, 4G или 5G. Интерфейс связи также может представлять собой интерфейс хранения для внутреннего или внешнего устройства хранения данных, клавиатуру, прикладной интерфейс (API) и т.д.
Устройство-селектор 111 может быть выполнено с возможностью получения записи 172, секретного идентификатора 173 записи, цифровой подписи 180 на сообщении атрибутов и цифровых подписей 191 '-192' на сообщениях данных. Устройство-селектор 111 может быть дополнительно выполнено с возможностью определения одного или более атрибутов, подлежащих раскрытию, в качестве поднабора одного или более атрибутов 181-182. Только в качестве примера на фигуре показаны два атрибута 183-184, подлежащие раскрытию. Устройство-селектор 111 может быть дополнительно выполнено с возможностью определения одного или более информационных элементов, подлежащих раскрытию, в качестве поднабора нескольких информационных элементов 191-192. В качестве примера показан один информационный элемент 193, подлежащий раскрытию. Устройство-селектор 111 может быть выполнено с возможностью предоставления одного или более атрибутов 183, 184, подлежащих раскрытию, и одного или более информационных элементов 193, подлежащих раскрытию, устройству-получателю 112.
Устройство-селектор 111 может быть дополнительно выполнено с возможностью осуществления доказательства 174 с нулевым разглашением вместе с устройством-получателем 112. В данном случае доказательство с нулевым разглашением показано как сообщение, передаваемое от устройства-селектора 111 устройству-получателю 112, например, неинтерактивное доказательство с нулевым разглашением, но это не является обязательным, например, доказательство с нулевым разглашением может содержать несколько сообщений, которыми обмениваются стороны.
Как показано на этой фигуре и использовано на протяжении всего описания, обозначение ZK(X;Y) означает доказательство с нулевым разглашением, значения X которого удовлетворяют конкретному свойству по отношению к значениям Y. Например, значения X состоят в так называемом свидетеле доказательства с нулевым разглашением. Доказывающий обычно использует значения X для выполнения доказательства, а верификатор (проверяющий) обычно верифицирует (проверяет) доказательство, используя значения Y.
В доказательстве с нулевым разглашением устройство-селектор может доказать знание:
- секретного идентификатора 173 записи;
- цифровой подписи 180 на сообщении атрибутов, такой как цифровая подпись на сообщении, содержащем по меньшей мере один или более атрибутов 183-184, подлежащих раскрытию, и секретный идентификатор записи, подписанный закрытым ключом, соответствующим открытому ключу 171 эмитента; и
- цифровых подписей 191'-192' на сообщениях данных для информационных элементов 193, подлежащих раскрытию, таких как цифровые подписи на сообщениях, которые содержат информационные элементы 193, подлежащие раскрытию, и каждое из которых содержит секретный идентификатор записи, подписанный закрытым ключом, соответствующим открытому ключу 172 эмитента.
Устройство-получатель 112 может быть выполнено с возможностью выборочного получения атрибутов 183-184 и информационных элементов 193 записи 172 от устройства-селектора 111. Устройство-получатель 112 может содержать процессор 132 и память 142. Память 142 может быть использована для хранения данных и/или инструкций. Например, память 142 может содержать программное обеспечение и/или данные, на которых может работать процессор 132. Память 142 может также хранить открытый ключ 171 эмитента. Процессор 132 может быть выполнен в виде одной или более процессорных схем, например, микропроцессоров, ASIC, FPGA и т.п. Память 142 может содержать компьютерные программные инструкции, исполняемые процессором 132. Процессор 132, возможно, вместе с памятью 142, выполнен в соответствии с вариантом осуществления устройства-получателя. Устройство-получатель 112 может дополнительно содержать интерфейс 152 связи, выполненный с возможностью осуществления связи с другими устройствами, в частности, с устройством-селектором 111. Например, интерфейс связи может содержать соединитель, например, проводной соединитель, например, соединитель Ethernet, или беспроводной соединитель, например, антенну, например, антенну Wi-Fi, 4G или 5G. Интерфейс связи также может представлять собой интерфейс хранения для внутреннего или внешнего устройства хранения данных, клавиатуру, прикладной интерфейс (API) и т.д.
Устройство-получатель 112 может быть выполнено с возможностью получения от устройства-селектора 111 одного или более атрибутов 183-184 и одного или более информационных элементов 193. Устройство-получатель 112 может быть дополнительно выполнено с возможностью осуществления доказательства с нулевым разглашением вместе с устройством-селектором 111 в отношении полученных значений 183-184 и информационных элементов 193 и открытого ключа 174 эмитента для подтверждения того, что полученные значения 183-184 и информационные элементы 193 принадлежат записи 172 устройства-эмитента 110.
Различные устройства системы 100 взаимодействуют друг с другом по компьютерной сети 160. Компьютерной сетью может быть интернет, интранет, локальная сеть, WLAN и т.д. Компьютерной сетью 160 может быть Интернет. Компьютерная сеть может быть полностью или частично проводной и/или полностью или частично беспроводной. Например, компьютерная сеть может содержать соединения Ethernet. Например, компьютерная сеть может содержать беспроводные соединения, такие как Wi-Fi, ZigBee и т.п. Компьютерная сеть 160 может содержать дополнительные элементы, например, маршрутизатор, концентратор.
Различные устройства на фиг. 1 могут иметь соответствующие пользовательские интерфейсы, которые могут включать в себя хорошо известные элементы, такие как одна или более кнопок, клавиатура, дисплей, сенсорный экран и т.д. Например, пользовательский интерфейс устройства-получателя 112 может быть выполнен с возможностью обеспечения удобства взаимодействия пользователя с целью получения частей записей, удовлетворяющих определенным запросам записи и/или запросам информационного элемента.
На фиг. 2 схематично показан пример варианта осуществления устройства-эмитента 210 для предоставления записи устройству-селектору для выборочного раскрытия, например, для использования в системе 100 на фиг.1b.
На фиг. 2 схематично показаны функциональные блоки, которые могут представлять собой функциональные блоки процессора устройства-эмитента 210 (отдельно не показаны). Например, фиг. 2 может быть использована в качестве чернового плана возможной функциональной организации процессора. Например, функциональные блоки, показанные на фиг. 2, например, блоки 241-243, могут быть полностью или частично реализованы в компьютерных инструкциях, которые хранятся в устройстве 210, например, в электронной памяти устройства 210, и исполняются микропроцессором устройства 210. В гибридных вариантах осуществления функциональные блоки частично реализованы в аппаратном обеспечении, например, в качестве сопроцессоров, и частично в программном обеспечении, которое хранится и исполняется на устройстве 210. В целях пояснения на фиг. 2 также показаны различные элементы, которые могут храниться в устройстве 210 на различных стадиях его работы.
На фигуре показана запись 272, содержащая один или более атрибутов 281-282 и несколько информационных элементов 291-292. Например, запись 272 может представлять собой геномную запись. В этом случае атрибуты 281-282 могут содержать атрибуты фенотипа человека, например, один или более возрастных атрибутов, индекс массы тела, флаги, указывающие диагноз одного или более заболеваний и т.д. В данном примере атрибутами являются целые числа или другие типы значений, закодированные как целые числа. Целые числа, как правило, относятся к диапазону 0,…,N-1, где значение N определено используемой схемой (схемами) подписи, как описано ниже. Информационные элементы 291-292 могут представлять собой участки генома человека.
В качестве наглядного примера, информационные элементы записи 272 могут представлять собой однонуклеотидные полиморфизмы (SNPs, от англ. single nucleotide polymorphisms) генома человека. Например, запись 272 может быть получена или закодирована файлом формата Variant Call Format (VCF). Как известно в биоинформатике, файл формата VCF может быть использован для хранения вариаций последовательностей генов относительно эталонного генома. В качестве опции, файл формата VCF может также хранить информацию о фенотипе. Часть файла формата VCF показана ниже:
Figure 00000001
Например, для записи, соответствующей файлу формата VCF, как показано выше, информационные элементы записи могут соответствовать строкам файла формата VCF. Например, информационный элемент может представлять собой строку (иметь строковый формат string), соответствующую строке файла формата VCF.
Далее на фигуре показан блок 241 генерирования идентификаторов. Блок 241 генерирования идентификаторов может генерировать секретный идентификатор 273 записи. Обычно секретный идентификатор 273 записи представляет собой целое число, например, из того же диапазона 0,…,N-1, что и атрибуты 281-282. Секретный идентификатор 273 записи выгодно генерировать случайным образом из большого домена так, чтобы он был непредсказуем для других устройств, и минимизировать вероятность столкновения между идентификаторами, например, генерируемыми другими устройствами. Например, блок 241 генерирования идентификаторов может генерировать секретный идентификатор 273 записи случайным образом по меньшей мере из 230, по меньшей мере из 262 или 2126 возможных значений.
Также показан закрытый ключ 270 эмитента, который может быть сгенерирован устройством-эмитентом 210 или получен другим способом. Закрытый ключ 270 эмитента может представлять собой любой вид секретного ключа, совместимый со схемами цифровой подписи, используемыми для генерирования цифровых подписей 280, 291'-292', обсуждаемых ниже.
Показан также блок 242 подписания атрибутов. Блок 242 подписания атрибутов может сгенерировать цифровую подпись 280 на сообщении атрибутов с использованием закрытого ключа 270 эмитента. Сообщение атрибутов может содержать один или более атрибутов 281-282 и секретный идентификатор 273 записи. Хотя, как уже говорилось, в принципе может быть использована любая схема S1 подписи, особенно полезно, чтобы цифровая подпись 280 представляла собой анонимные идентификационные данные; иными словами, генерирование подписи должно представлять собой алгоритм генерирования анонимных идентификационных данных. В качестве атрибута анонимных идентификационных данных может быть использован секретный идентификатор 273 записи.
В качестве конкретного примера использования схемы анонимных идентификационных данных из документов "Signature schemes and anonymous credentials from bilinear maps" ("Схемы подписей и анонимные идентификационные данные с билинейных отображений") и "An Accumulator Based on Bilinear Maps and Efficient Revocation for Anonymous Credentials" ("Аккумулятор, основанный на билинейных отображениях и эффективный отзыв анонимных идентификационных данных"), упомянутых выше, с учетом упорядоченного списка атрибутов m, подпись может быть четырехэлементной (с, s, γ, σ), причем блок 242 подписания атрибутов генерирует значения с, s и γ случайным образом и вычисляет а следующим образом:
Figure 00000002
где x является секретным ключом 273, причем связанный с ним открытый ключ у имеет доверие у устройства-получателя. Н может представлять собой набор генераторов hi из группы G первичного порядка q, и аналогично для
Figure 00000003
и h0*. В данном случае, γ, 273 - это секретный идентификатор записи, который в данной нотации считается частью подписи. Интересно, что
Figure 00000004
может быть генератором группы G, используемым для включения секретного идентификатора γ записи в подпись.
Также показан блок 243 подписания информационных элементов. Блок 243 подписания информационных элементов может генерировать несколько цифровых подписей 291', 292' на нескольких сообщениях данных для нескольких информационных элементов 291-292 с использованием закрытого ключа эмитента 270, например, подпись для каждого информационного элемента. Как указывалось выше, возможны различные варианты схемы S2 подписи, в том числе с использованием схемы S1 подписи также используемой для сообщения атрибутов. В этом случае сообщение данных может рассматриваться как сообщение атрибутов, содержащее два атрибута: секретный идентификатор записи и информационный элемент или ее хэш. Схема S2 подписи предпочтительно использует секретный ключ, совместимый с секретным ключом схемы S1 подписи, хотя секретный ключ 270 также может представлять собой пару соответствующих секретных ключей для схем S1 и S2.
Сообщение данных для информационного элемента может содержать информационный элемент m, 291-292 и секретный идентификатор у записи, 273. В частности, цифровая подпись на сообщении данных может быть основана на сумме γ+Н(m) по меньшей мере секретного идентификатора γ записи и хэша Н(m) информационного элемента, например, хэш SHA256 информационного элемента, например, строка файла формата VCF. Как уже говорилось, такая сумма может эффективно связывать подпись как с секретным идентификатором у записи, так и с сообщением m в том смысле, что получателю трудно найти другое сообщение m', которое привело бы к той же сумме γ+Н(m) для текущего секретного идентификатора γ или другого секретного идентификатора, используемого в системе.
Блок 243 подписания данных может генерировать цифровую подпись 291', 292' посредством вычисления возведения группового элемента g в степень мультипликативного обратного значения, причем значение может быть основано по меньшей мере на закрытом ключе x эмитента, 270, секретном идентификаторе γ записи, 273, и информационном элементе, 291-292, например, значение x+γ+H(m) основано на сумме γ+H(m), рассмотренной выше. Например, подпись Si для информационного элемента mi может быть вычислена как:
Figure 00000005
Общая концепция использования возведения в степень мультипликативного обратного в качестве цифровой подписи известна как таковая из статьи D. Boneh et al., "Short signatures without random oracles and the SDH assumption in bilinear groups", J. Cryptology, 21(2): 149-177, 2008 (Д. Боне и др., "Короткие подписи без случайных оракулов и предположение SDH в билинейных группах", Журнал криптологии, 21(2): 149-177, 2008). Интересно, однако, что в подписи Si выше секретный идентификатор γ записи, который ранее был встроен в σ, также может быть включен в подпись здесь. Таким образом, подписи Si и σ могут быть связаны между собой, что позволяет устройству-селектору доказать, что устройство-эмитент 210 сгенерировало их как часть одной и той же записи 272.
Устройство-эмитент 210 может также предоставить запись 272, секретный идентификатор 273 записи, цифровую подпись 280 на сообщении атрибутов, а также цифровые подписи 291'-292' на сообщениях данных устройству-селектору, например, отправить их через интерфейс связи (не показан).
Хотя на данный момент процесс подписания обсуждался в отношении одной записи 272, те же блоки 241-243 могут также использоваться для создания соответствующих секретных идентификаторов и наборов подписей для нескольких записей. Кроме того, устройство-эмитент 210 может добавлять информационные элементы, обновлять информационные элементы или обновлять атрибуты записи, за счет того, что блоки 242, 243 определяют новые подписи сообщений атрибутов или подписи сообщений данных должным образом. Например, устройство-эмитент 210 может получить обновленные данные для информационного элемента, например, информационного элемента 292; сгенерировать обновленную цифровую подпись 292' на сообщении данных для обновленного информационного элемента 292 и предоставить обновленную цифровую подпись 292' устройству-селектору 210 и аналогичным образом для других модификаций.
На фиг. 3 схематично показан пример варианта осуществления устройства-селектора 311 для выборочного раскрытия атрибутов и информационных элементов записи 372 устройству-получателю, например, для использования в системе 100 на фиг. 1b.
На фиг. 3 схематично показаны функциональные блоки, которые могут представлять собой функциональные блоки процессора устройства-селектора 311 (отдельно не показаны). Например, фиг. 3 может быть использована в качестве чернового плана возможной функциональной организации процессора. Например, функциональные блоки, показанные на фиг. 3, например, блоки 341-342, могут быть полностью или частично реализованы в компьютерных инструкциях, которые хранятся в устройстве 311, например, в электронной памяти устройства 311, и исполняются микропроцессором устройства 311. В гибридных вариантах осуществления функциональные блоки частично реализованы в аппаратном обеспечении, например, в качестве сопроцессоров, и частично в программном обеспечении, которое хранится и исполняется на устройстве 311. В целях пояснения на фиг. 3 также показаны различные элементы, которые могут храниться в устройстве 311 на различных стадиях его работы.
На фигуре показаны: запись 372, содержащая один или более атрибутов 381-382 и несколько информационных элементов 391-392; секретный идентификатор 370 записи; цифровая подпись 380 на сообщении атрибутов, сгенерированная с использованием закрытого ключа эмитента, причем сообщение атрибутов содержит один или более атрибутов 381-392 и секретный идентификатор 370 записи; и цифровая подпись 393' на сообщении данных, сгенерированная с использованием закрытого ключа эмитента, причем сообщение данных для информационного элемента содержит информационный элемент и секретный идентификатор 370 записи. Хотя на фигуре это не показано, устройство 311 обычно хранит соответствующую цифровую подпись для каждого информационного элемента 391-392. Например, запись, секретный идентификатор записи и цифровые подписи могут соответствовать показанным на фиг. 2. Например, эти данные могут быть получены от устройства-эмитента.
Также показан блок 341 выбора. Блок 341 выбора может определять один или более атрибутов, подлежащих раскрытию устройству-получателю, как поднабор одного или более атрибутов 381-382, и один или более информационных элементов, подлежащих раскрытию устройству-получателю, как поднабор нескольких информационных элементов 391-392. В данном конкретном примере выбраны атрибуты 383, 384 и информационный элемент 393. Атрибуты и информационные элементы, подлежащие раскрытию, могут быть определены на основе запроса информационного элемента, например, предоставляемого устройством-получателем, например, запрос информационного элемента может указывать конкретные информационные элементы, подлежащие раскрытию, и/или критерии для выбора информационных элементов, и аналогичным образом для атрибутов. Блок 341 выбора может дополнительно осуществлять выбор на основе критериев и/или проверок, которые не предоставлены устройством-получателем, например, политика конфиденциальности, например, предоставляемая устройством-эмитентом наряду с записью.
Также показан блок 342 доказывания. Блок 342 доказывания может выполнять доказательство 374 с нулевым разглашением вместе с устройством-получателем. Как известно в криптографии и как уже обсуждалось, доказательство с нулевым разглашением предназначено для того, чтобы позволить доказывающему доказать утверждение верификатору (проверяющему). Доказательство с нулевым разглашением предпочтительно удовлетворяет свойствам полноты, корректности и нулевому разглашению.
Полнота означает, что если утверждение верно, то доказывающий, который следует протоколу, убедит верификатора, который следует протоколу. Корректность означает, что если утверждение ложно, то доказывающий, который пытается обмануть, вряд ли сможет убедить верификатора, который следует протоколу. В случае доказательства знания, полнота может также означать не только то, что утверждение верно, но и то, что доказывающий знает конкретные значения, называемые свидетелем, присутствующие в утверждении. Полнота, как правило, противостоит конкретной ошибке корректности, с помощью которой верификатор, который пытается обмануть, сумеет убедить верификатора; однако доказательство с нулевым разглашением может содержать несколько вариантов протокола, чтобы уменьшить ошибку корректности. Нулевое разглашение означает, что верификатор не извлекает информацию из доказательства, кроме того факта, что утверждение верно. Нулевое разглашение может быть вычислительным и/или статистическим.
В этом случае устройство-селектор может использовать доказательство 374 с нулевым разглашением для доказательства знания секретного идентификатора 373 записи; цифровой подписи 380 на сообщении атрибутов в виде цифровой подписи на сообщении, содержащем по меньшей мере один или более атрибутов 383, 384, подлежащих раскрытию, и секретный идентификатор 373 записи, подписанный закрытым ключом, соответствующим открытому ключу эмитента; и цифровых подписей 393' на сообщениях данных для информационных элементов, подлежащих раскрытию 393, в виде цифровых подписей на сообщениях, которые содержат информационные элементы, подлежащие раскрытию 393, и каждое из которых содержит секретный идентификатор 373 записи, подписанный закрытым ключом, соответствующим открытому ключу эмитента. Иными словами, свидетелями доказательства с нулевым разглашением могут быть секретный идентификатор записи и подписи; открытые значения, в отношении которых доказана их действительность, могут включать в себя атрибуты 383, 384, информационные элементы 393', а также открытый ключ эмитента.
В частности, чтобы доказать, что каждая из подписей 380, 393' содержит один и тот же секретный идентификатор 373 записи без раскрытия секретного идентификатора записи устройству-получателю, блок 342 доказывания может создать обязательство в отношении секретного идентификатора записи, например, обязательство типа Педерсена, и предоставить его устройству-получателю. Соответственно, доказательство 374 с нулевым разглашением может обеспечить доказательство того, что один и тот же секретный идентификатор 373 записи включен в каждую подпись и в обязательство. Для различных видов доказательств с нулевым разглашением и схем подписи это может быть эффективным способом доказательства существования общего секретного идентификатора.
В данной области техники известно много различных видов доказательств с нулевым разглашением, которые могут быть легко применены, например, Σ-протоколы, такие как протокол Шнорра; неинтерактивные доказательства с нулевым разглашением, например, полученные из интерактивного протокола с нулевым разглашением с помощью эвристического метода Фиата-Шамира; сжатые неинтерактивные аргументы знания с нулевым разглашением (zk-SNARKs) и т.д.
Однако особенно выгодно, если вместо того, чтобы полагаться на общие методики, используются схема S1 подписей для атрибутов и схема S2 подписей для информационных элементов, которые допускают эффективные доказательства знания подписей. Например, это может быть выгодно для базовых схем S1 и/или S2 подписи по схеме анонимных идентификационных данных, например, по схеме Камениша и др., рассмотренной выше, поскольку они допускают осуществление эффективных доказательств с нулевым разглашением. Для подписей S2 на информационных элементах, особенно эффективно также использование подписей, основанных на принципе возведения группового элемента в степень мультипликативного обратного, так как, опять же, это допускает эффективные доказательства с нулевым разглашением.
Ниже рассмотрена особенно выгодная реализация, основанная на подписи 380 атрибутов в виде
Figure 00000006
и подписях 393' информационных элементов в виде
Figure 00000007
Следует отметить, что доказательство с нулевым разглашением представлено в данном документе как интерактивное доказательство, но с пониманием того, что его можно сделать неинтерактивным, например, с помощью эвристического метода Фиата-Шамира. Доказательство может быть также расширено, чтобы доказать свойства, касающиеся значений атрибутов, например, чтобы доказать, что запись удовлетворяет запросу записи, например, 30 ≤ индекс массы тела ≤ 40. Доказательства, касающиеся нескольких записей, могут также быть выполнены параллельно и/или объединены в одно неинтерактивное доказательство с нулевым разглашением с использованием известных методик.
Конкретней, в этом примере блок 342 доказывания может построить обязательство
Figure 00000008
, для генератора
Figure 00000009
и сгенерированного случайным образом значения t, для секретного идентификатора γ записи. Обязательство может быть предоставлено устройству-получателю.
В первой части доказательства с нулевым разглашением блок 342 доказывания может доказать знание подписи 380 в виде подписи на сообщении, содержащем один или более атрибутов, подлежащих раскрытию, и секретный идентификатор записи, соответствующий обязательству X, описанному выше, и подписанный закрытым ключом x, соответствующим открытому ключу у=hx. Например, используя нотацию Камениша-Штадлера, как описано в работе J. Camenisch et al., "An Accumulator Based on Bilinear Maps and Efficient Revocation for Anonymous Credentials", Proceedings PKC '09 (Я. Камениш и др., "Аккумулятор, основанный на билинейных отображениях и эффективный отзыв анонимных идентификационных данных", Труды конференции РКС '09), первая часть доказательства с нулевым разглашением может быть использована для доказательства того, что:
Figure 00000010
Здесь
Figure 00000011
- это затемнение подписи σ случайной величиной p, сгенерованной блоком 342 доказывания и предоставленной устройству-получателю.
Figure 00000012
- суммирование по раскрытым атрибутам, в то время как
Figure 00000013
- суммирование по нераскрытым атрибутам, опционально закодированным в виде хэшей и т.д.
Выше е используется для обозначения криптографического спаривания, например, спаривания эллиптических кривых типа 3, такое как спаривание по 256-битной кривой Баррето-Нэрига (Barreto-Naehrig, BN), как это известно в данной области техники. Спаривание по кривой BN может быть формально обозначено следующим образом: e(G1 × G2)→GT. Различные генераторы, использовавшиеся выше, например, генераторы Н, введенный генератор
Figure 00000014
и т.д., могут быть генераторами G1, генерируемого способом "ничего в моем рукаве" (англ. nothing-up-my-sleeves method), например, хэширование базового генератора G1 до тех пор, пока не встретится точка. При таких вариантах, например, подписи 393' информационного элемента могут иметь размер всего 32 байта.
Во второй части доказательства с нулевым разглашением может быть доказано, что
Figure 00000015
например, может быть доказано знание секретного идентификатора в обязательстве X. Вышеупомянутые доказательства могут быть осуществлены путем соответствующей адаптации доказательств, рассмотренных в работе J. Camenisch et al., "An Accumulator Based on Bilinear Maps and Efficient Revocation for Anonymous Credentials" (Я. Камениш и др., "Аккумулятор, основанный на билинейных отображениях и эффективный отзыв анонимных идентификационных данных"), которые, в свою очередь, основаны на системе доказательства Шнорра, как это раскрыто, например, в патентной заявке США US4995082A. Интересно, что вышеуказанные доказательства могут отличаться от доказательства с нулевым разглашением Камениша в том, что требуется обязательство X для совпадения секретного идентификатора γ записи в подписях 380, 393'. Соответственно, мошенник может не иметь возможности объединить подписи в нескольких записях в одном раскрытии.
На данном этапе видно, что в вышеприведенных частях доказательства с нулевым разглашением использованы только атрибуты, например, данные фенотипа, но не информационные элементы, например, геномная информация.
Соответственно, эти части не масштабируются по количеству информационных элементов.
В другой части доказательства с нулевым разглашением может быть доказано знание цифровых подписей 393' на сообщениях, содержащих информационные элементы 393 и секретный идентификатор 370 записи. Эта часть доказательства с нулевым разглашением может быть получена путем адаптации векторизованной версии известного доказательства с нулевым разглашением по подписям Боне-Бойена к включению секретного идентификатора записи. Эта часть доказательства с нулевым разглашением может работать на основе "информационный элемент за информационным элементом". Например, для каждого информационного элемента, подлежащего раскрытию, устройство-получатель может получить доказательство того, что информационный элемент соответствует записи. Таким образом, получают эффективное решение, поскольку доказательства относятся только к информационным элементам, подлежащим раскрытию, а не к нераскрытым информационным элементам, как в случае, если бы все они были включены в одну и ту же подпись или т.п.; и, кроме того, вместо использования относительно дорогостоящих доказательств в отношении подписей типа Камениша, могут использоваться более эффективные доказательства в отношении подписей типа Боне-Бойена.
Конкретней, в этой части доказательства с нулевым разглашением блок 342 доказывания может рандомизировать соответствующие подписи Si информационных элементов, используя соответствующую степень Vi случайности для получения затемненных (слепых) подписей Vi информационных элементов, например,
Figure 00000016
. Блок 342 доказывания может предоставлять затемненные подписи устройству-верификатору и доказывать знание подписей Si в отношении обязательств, информационных элементов и открытого ключа эмитента.
Например, блок 342 доказывания может генерировать случайные значения s, qi, о, при этом i пробегает по информационным элементам, подлежащим раскрытию, и предоставляет
Figure 00000017
устройству-получателю. После получения запроса c, например, от устройства-получателя или с помощью эвристического метода Фиата-Шамира, блок 342 доказывания может генерировать ответы
Figure 00000018
и предоставлять их устройству-получателю.
Хотя вышеописанная процедура обсуждалась для одной записи, следует понимать, что устройство-селектор 311 может быть легко адаптировано для случая, когда в нем хранится несколько записей и связанная с ними информация, например, из нескольких устройств-эмитентов. Таким образом, устройство-селектор 311 может также выборочно раскрывать части нескольких записей. Например, как уже обсуждалось выше, устройство-селектор 311 может получить запрос записи и выбрать одну или более из нескольких записей в соответствии с запросом записи. Этапы, выполняемые блоками 341 и 342, могут быть повторены для соответствующих выбранных записей для выполнения выборочного раскрытия для соответствующих записей.
Интересно, что затем также может быть использовано доказательство с нулевым разглашением для записи, чтобы доказать, что текущая запись удовлетворяет запросу записи. Например, запрос записи может содержать условие по атрибуту, например, возраст > 65 лет, 40 лет ≤ возраст < 65 лет и т.д. Например, в конкретном случае использования адаптированных по Каменишу анонимных идентификационных данных в качестве подписей 380, могут быть легко использованы известные методы доказывания свойств атрибутов таких идентификационных данных.
На фиг. 4 схематично показан пример варианта осуществления устройства-получателя 412 для выборочного получения атрибутов и информационных элементов записи от устройства-селектора, например, для использования в системе 100 на фиг. 1b.
На фиг. 4 схематично показаны функциональные блоки, которые могут представлять собой функциональные блоки процессора устройства-получателя 412 (отдельно не показаны). Например, фиг. 4 может быть использована в качестве чернового плана возможной функциональной организации процессора. Например, функциональные блоки, показанные на фиг. 4, например, блок 441, могут быть полностью или частично реализованы в компьютерных инструкциях, которые хранятся в устройстве 412, например, в электронной памяти устройства 412, и могут исполняться микропроцессором устройства 412. В гибридных вариантах осуществления функциональные блоки частично реализованы в аппаратном обеспечении, например, в качестве сопроцессоров, и частично в программном обеспечении, которое хранится и исполняется на устройстве 412. В целях пояснения на фиг. 4 также показаны различные элементы, которые могут храниться в устройстве 412 на различных стадиях его работы.
На фигуре изображен открытый ключ 471 эмитента, хранящийся в памяти устройства-получателя 412. Подлинность частей записи может быть установлена в отношении этого открытого ключа. Далее показаны атрибуты 483, 484 записи, два - в данном примере, и информационные элементы 493 записи, в данном случае один. Устройство-получатель 412 может получать эту информацию от устройства-селектора, как обсуждалось выше.
На фигуре также изображен блок 441 верификации. Блок 441 верификации может выполнять доказательство с нулевым разглашением вместе с устройством-селектором в отношении полученных значений 483, 484 и информационных элементов 493, а также открытого ключа 471 эмитента. В данном документе показано неинтерактивное доказательство 474 с нулевым разглашением, которое блок 441 верификации может верифицировать неинтерактивно, но вместо этого доказательство может быть интерактивным, например, когда блок 441 верификации генерирует запрос и предоставляет его устройству-селектору. Доказательство может выполняться, как обсуждалось выше, с точки зрения доказывающего, в отношении устройства-селектора 311. Доказательство 474 может установить, что полученные значения 483-484 и информационные элементы 493 принадлежат записи устройства-эмитента, соответствующей открытому ключу 481 эмитента. Соответственно, устройство-селектор может доказать знание секретного идентификатора записи; цифровой подписи на сообщении, содержащем по меньшей мере один или более атрибутов, подлежащих раскрытию 483-484, и секретный идентификатор записи, подписанный закрытым ключом, соответствующим открытому ключу 471 эмитента; и цифровых подписей на сообщениях, которые содержат информационные элементы, подлежащие раскрытию 493, и каждое из которых содержит секретный идентификатор записи, подписанный закрытым ключом, соответствующим открытому ключу 471 эмитента.
Верификация доказательства с нулевым разглашением может быть выполнена в соответствии с системой доказательства с нулевым разглашением, используемой устройством-селектором для доказательства вышеописанных утверждений. В качестве конкретного примера, опять же, могут быть использованы адаптированная подпись типа Камениша
Figure 00000019
для атрибутов и адаптированные подписи типа Боне-Бойена
Figure 00000020
для информационных элементов. В данном конкретном примере, как описано выше, может быть использовано доказательство в нескольких частях, рассмотренных в отношении устройства-селектора 311. Например, устройство-получатель 412 может получить от устройства-селектора обязательство в отношении секретного идентификатора. Затем устройство-селектор может доказать знание, верифицируемое блоком 441 верификации, того, что ему известно об открытии обязательства в отношении секретного идентификатора записи, и подписей на атрибутах 483-484 и того же секретного идентификатора, которые упоминались выше.
Что касается части доказательства, относящейся к информационным элементам, как это обсуждалось в отношении устройства-селектора 311, блок 441 верификации может получить соответствующие затемненные подписи
Figure 00000021
для информационных элементов 493, подлежащих раскрытию. Устройство-селектор может доказать знание подписей, соответствующих затемненным подписям и содержащих соответствующие информационные элементы. Конкретно, получив значения
Figure 00000022
и ответы
Figure 00000023
на запрос с, блок 441 верификации может верифицировать эти ответы посредством верификации того, что
Figure 00000024
где у - открытый ключ 471 эмитента, a mi - соответствующие информационные элементы 493. В частности, следует отметить, что в данном примере открытый ключ 471 эмитента умножается на возведенный в степень хэш H(mi) раскрытого информационного элемента. Соответственно, секретный идентификатор γ записи может храниться в секрете пока информационный элемент mi может быть верифицирован, как соответствующий той же записи, что и другие информационные элементы и атрибуты.
Хотя на фигуре явно не показано, как это обсуждалось выше, описанные здесь методы избирательного раскрытия могут применяться к нескольким записям, возможно, из разных устройств-эмитентов, и в этом случае блок 442 верификации может повторить описанную выше процедуру для каждой раскрытой записи. Устройство-получатель может также предоставлять запросы записей и/или запросы информационных элементов устройству-получателю, чтобы повлиять на то, какие записи необходимо получить. Блок 441 верификации может быть также выполнен с возможностью верификации того, например, что такой запрос информационного элемента удовлетворяется полученной записью.
Соответственно, с помощью различных мер, о которых говорилось выше, устройство-получатель 412 может получить необходимую ему информацию, например, атрибуты 483, 484 и информационные элементы 493, а также соответствующие гарантии подлинности в отношении открытого ключа 471, не требуя при этом доступа к другим конфиденциальным материалам, таким как нераскрытые атрибуты и информационные элементы, секретный идентификатор записи или закрытый ключ эмитента.
На фиг. 5 схематично показан пример варианта осуществления способа 500 эмитента для предоставления записи устройству-селектору для выборочного раскрытия. Способ 500 обычно является компьютерно-исполняемым.
Способ 500 эмитента может включать в себя хранение 510 закрытого ключа эмитента, образующего пару открытого и закрытого ключей с соответствующим открытым ключом эмитента, и записи, причем запись содержит один или более атрибутов и содержит несколько информационных элементов.
Способ 500 эмитента может включать в себя определение 520 секретного идентификатора записи.
Способ 500 эмитента может включать в себя генерирование 530 цифровой подписи на сообщении атрибутов с использованием закрытого ключа эмитента, причем сообщение атрибутов содержит один или более атрибутов и секретный идентификатор записи.
Способ 500 эмитента может включать в себя генерирование 540 нескольких цифровых подписей на нескольких сообщениях данных для нескольких информационных элементов с использованием закрытого ключа эмитента, причем сообщение данных для информационного элемента содержит информационный элемент и секретный идентификатор записи.
Способ 500 эмитента может включать в себя предоставление 550 записи, секретного идентификатора записи, цифровой подписи на сообщении атрибутов, а также цифровых подписей на сообщениях данных устройству-селектору.
На фиг. 6 схематично показан пример варианта осуществления способа 600 селектора для выборочного раскрытия атрибутов и информационных элементов записи устройству-получателю. Способ 600 обычно является компьютерно-исполняемым.
Способ 600 селектора может включать в себя хранение 610 записи, содержащей один или более атрибутов и содержащей несколько информационных элементов; секретного идентификатора записи; цифровой подписи на сообщении атрибутов, сгенерированной с использованием закрытого ключа эмитента, причем сообщение атрибутов содержит один или более атрибутов и секретный идентификатор записи; и цифровых подписей на сообщениях данных, сгенерированных с использованием закрытого ключа эмитента, причем сообщение данных для информационного элемента содержит информационный элемент и секретный идентификатор записи.
Способ 600 селектора может включать в себя получение 620 записи, секретного идентификатора записи, цифровой подписи на сообщении атрибутов и цифровых подписей на сообщениях данных.
Способ 600 селектора может включать в себя определение 630 одного или более атрибутов, подлежащих раскрытию, в качестве поднабора одного или более атрибутов, и одного или более информационных элементов, подлежащих раскрытию, в качестве поднабора нескольких информационных элементов.
Способ 600 селектора может включать в себя предоставление 640 одного или более атрибутов, подлежащих раскрытию, и одного или более информационных элементов, подлежащих раскрытию, устройству-получателю.
Способ 600 селектора может включать в себя выполнение 650 доказательства с нулевым разглашением вместе с устройством-получателем, причем доказывают знание:
- секретного идентификатора записи;
- цифровой подписи на сообщении атрибутов в виде цифровой подписи на сообщении, содержащем по меньшей мере один или более атрибутов, подлежащих раскрытию, и секретный идентификатор записи, подписанный закрытым ключом, соответствующим открытому ключу эмитента;
- цифровых подписей на сообщениях данных для информационных элементов, подлежащих раскрытию в виде цифровых подписей на сообщениях, которые содержат информационные элементы, подлежащие раскрытию, и каждое из которых содержит секретный идентификатор записи, подписанный закрытым ключом, соответствующим открытому ключу эмитента.
На фиг. 7 схематично показан пример варианта осуществления способа 700 получателя для выборочного получения атрибутов и информационных элементов записи от устройства-селектора. Способ 700 обычно является компьютерно-исполняемым.
Способ 700 получателя может включать в себя хранение 710 открытого ключа эмитента.
Способ 700 получателя может включать в себя получение 720 от устройства-селектора одного или более атрибутов и одного или более информационных элементов.
Способ 700 получателя может включать в себя выполнение 730 доказательства с нулевым разглашением вместе с устройством-селектором в отношении полученных значений и информационных элементов и открытого ключа эмитента, чтобы удостовериться, что полученные значения и информационные элементы принадлежат записи устройства-эмитента, соответствующей открытому ключу эмитента, причем устройство-селектор доказывает знание:
- секретного идентификатора записи;
- цифровой подписи на сообщении, содержащем по меньшей мере один или более атрибутов, подлежащих раскрытию, и секретный идентификатор записи, подписанный закрытым ключом, соответствующим открытому ключу эмитента;
- цифровых подписей на сообщениях, которые содержат информационные элементы, подлежащие раскрытию, и каждое из которых содержит секретный идентификатор записи, подписанный закрытым ключом, соответствующим открытому ключу эмитента.
Возможно много различных вариантов выполнения способа, что будет очевидно специалисту в данной области техники. Например, порядок выполнения этапов может быть различным, или некоторые этапы могут выполняться параллельно. Более того, между этапами могут быть вставлены и другие этапы данного способа. Вставленные этапы могут представлять собой усовершенствования способа, например, описанные здесь, или могут не иметь отношения к способу. Например, этапы 530 и 540 способа 500 могут быть выполнены, по меньшей мере частично, параллельно. Более того, данный этап может быть выполнен не полностью до начала следующего этапа.
Варианты осуществления способов могут выполняться с помощью программного обеспечения, которое содержит инструкции, побуждающие процессорную систему выполнять способ 500, 600 или 700. Программное обеспечение может включать в себя только те этапы, которые предпринимаются конкретным подразделением системы. Программное обеспечение может храниться на подходящем носителе, например, на жестком диске, дискете, памяти, оптическом диске и т.д. Программное обеспечение может передаваться в виде сигнала по проводам, по беспроводной связи или через сеть передачи данных, например, Интернет. Программное обеспечение может быть доступно для загрузки и/или удаленного использования на сервере. Варианты осуществления способа могут выполняться с использованием битового потока, предназначенного для конфигурирования программируемой логики, например, программируемой пользователем вентильной матрицы (FPGA, от англ. Field Programmable Gate Array), для выполнения способа.
Следует понимать, что изобретение распространяется также на компьютерные программы, в частности компьютерные программы на носителе, предназначенные для реализации изобретения на практике. Программа может быть представлена в форме исходного кода, объектного кода, промежуточного кода между исходным и объектным кодом, такого как в частично скомпилированной форме, или в любой другой форме, подходящей для использования в реализации вариантов осуществления способа. Вариант осуществления, относящийся к компьютерному программному продукту, включает в себя машиноисполняемые инструкции, соответствующие каждому из этапов обработки по меньшей мере одного из изложенных способов. Эти инструкции могут быть разделены на подпрограммы и/или сохранены в одном или более файлах, которые могут быть связаны статически или динамически. Другой вариант осуществления, относящийся к компьютерному программному продукту, содержит машиноисполняемые инструкции, соответствующие каждому из средств по меньшей мере одного из изложенных систем и/или продуктов.
На фиг. 8 показан машиночитаемый носитель 800 с записываемой частью 810, содержащий компьютерную программу 820, причем компьютерная программа 820 содержит инструкции, предназначенные для побуждения процессорной системы выполнять способ эмитента, способ селектора или способ получателя, в соответствии с одним из вариантов осуществления. Компьютерная программа 820 может быть реализована на машиночитаемом носителе 800 в виде физических меток или посредством намагничивания машиночитаемого носителя 800. Однако возможен также любой другой подходящий вариант осуществления. Кроме того, следует иметь в виду, что, хотя машиночитаемый носитель 800 показан здесь в виде оптического диска, машиночитаемый носитель 800 может быть любым подходящим машиночитаемым носителем, таким как жесткий диск, твердотельная память, флэш-память и т.д., и может быть незаписываемым или записываемым. Компьютерная программа 820 содержит инструкции для побуждения процессорной системы выполнить один из указанных способов.
На фиг. 9 схематично изображена процессорная система 940 в соответствии с одним вариантом осуществления. Процессорная система содержит одну или более интегральных схем 910. Архитектура одной или более интегральных схем 910 схематично показана на фиг. 7b. Схема 910 включает в себя процессорный блок 920, например, центральный процессор, на котором выполняют компоненты компьютерной программы для выполнения способа в соответствии с одним вариантом осуществления и/или реализации его модулей или блоков. Схема 910 содержит память 922 для хранения программного кода, данных и т.д. Часть памяти 922 может быть доступна только для чтения. Схема 910 может содержать коммуникационный элемент 926, например, антенну, разъемы или и то, и другое и т.п. Схема 910 может содержать специальную интегральную микросхему 924 для выполнения части или всех процессов обработки, определенных в способе. Процессор 920, память 922, специализированная ИС 924 и коммуникационный элемент 926 могут быть соединены друг с другом через межкомпонентный кабель 930, например, шину. Процессорная система 910 может быть предназначена для контактной и/или бесконтактной связи, используя антенну и/или разъемы, соответственно.
Например, в одном варианте осуществления процессорная система 940, например, устройство-эмитент, устройство-селектор или устройство-получатель, может содержать процессорную схему и схему памяти, при этом процессор предназначен для исполнения программного обеспечения, хранящегося в схеме памяти. Например, процессорная схема может представлять собой процессор Intel Core i7, ARM Cortex-R8 и т.д. В одном варианте осуществления процессорная схема может представлять собой ARM Cortex МО. Схема памяти может представляться собой как схему ПЗУ, так и энергонезависимую память, например, флэш-память. Схема памяти может быть энергозависимой, например, статическая оперативная память (SRAM). В последнем случае устройство может включать в себя энергонезависимый программный интерфейс, например жесткий диск, сетевой интерфейс и т.д., выполненные с возможностью предоставления программного обеспечения.
Обычно каждое устройство содержит микропроцессор, который исполняет соответствующее программное обеспечение, хранящееся в устройстве; например, это программное обеспечение могло быть загружено и/или сохранено в соответствующей памяти, например, в энергозависимой памяти, такой как оперативная память, или в энергонезависимой памяти, такой как флэш-память. В качестве альтернативы устройства могут быть полностью или частично реализованы в программируемой логике, например, в виде программируемой пользователем вентильной матрицы (FPGA, от англ. Field Programmable Gate Array). Устройства могут быть реализованы полностью или частично в виде так называемой специализированной интегральной схемы (ASIC, от англ. Application-Specific Integrated Circuit), например, интегральной схемы (ИС), предназначенной для конкретного использования. Например, схемы могут быть реализованы в КМОП-компонентах, например, с использованием языка описания аппаратуры, такого как Verilog, VHDL и т.д.
В одном варианте осуществления устройство-эмитент содержит схему генерирования идентификатора, схему подписания атрибута и блок подписания информационного элемента. В одном варианте осуществления устройство-селектор содержит схему выбора и схему доказывания. В одном варианте осуществления устройство-получатель содержит схему верификации. Указанные устройства могут содержать дополнительные схемы. Схемы реализуют соответствующие блоки, описанные в настоящем документе. Данные схемы могут представлять собой процессорную схему и схему запоминающего устройства, причем процессорная схема исполняет инструкции, представленные в электронном виде в схеме запоминающего устройства. Процессорная схема может быть реализована распределенным образом, например, в виде нескольких подпроцессорных схем. Часть запоминающего устройства может быть доступна только для чтения. Указанные схемы также могут представлять собой FPGA, ASIC и др. Запоминающее устройство может быть распределено по нескольким распределенным запоминающим подустройствам. Часть или вся память может представлять собой электронную память, магнитную память и т.д. Например, память может быть энергозависимой и энергонезависимой.
Следует отметить, что вышеупомянутые варианты осуществления иллюстрируют, но не ограничивают изобретение, причем специалисты в данной области смогут разработать множество альтернативных вариантов осуществления.
В формуле изобретения любые ссылочные обозначения, помещенные между скобками, не должны толковаться как ограничивающие формулу изобретения. Использование глагола «содержать» и его форм спряжения не исключает наличия элементов или этапов, отличных от указанных в пункте формулы. Использование элемента в единственном числе не исключает наличия множества таких элементов. Изобретение может быть реализовано с помощью аппаратного обеспечения, содержащего несколько отдельных элементов, и с помощью подходящим образом запрограммированного компьютера. В пункте формулы на устройство, перечисляющем несколько средств, несколько из этих средств могут быть воплощены в одном и том же элементе аппаратного обеспечения. Тот факт, что конкретные меры указаны во взаимно различающихся зависимых пунктах формулы, не указывает на то, что комбинация этих мер не может быть использована для получения преимуществ.
В формуле изобретения ссылки в скобках относятся к ссылочным обозначениям на чертежах вариантов осуществления, представленных в качестве примера, или к формулам вариантов осуществления, что повышает понятность формулы изобретения. Эти ссылки не должны толковаться как ограничивающие пункт формулы.
Список ссылочных обозначений
000, 100 система выборочного раскрытия
010, 110, 210 устройство-эмитент
011, 111, 311 устройство-селектор
012, 112, 412 устройство-получатель
130, 131, 132 память
140, 141, 142 процессор
150, 151, 152 сетевой интерфейс
160 компьютерная сеть
070, 170, 270 закрытый ключ эмитента
071, 171, 471 открытый ключ эмитента
072, 172, 272, 372 запись
173, 273, 373 секретный идентификатор записи
174, 374, 474 доказательство с нулевым разглашением
075 цифровая подпись на раскрытых атрибутах и информационных элементах
180, 280, 380 цифровая подпись на сообщении атрибутов
081-084, 181-184, 281-282, 381-384, 483-484 атрибут
091-093, 191-193, 291-292, 391-393, 493 информационный элемент
191 '-192', 291'-292', 393' цифровая подпись на сообщении данных
241 блок генерирования идентификатора
242 блок подписания атрибута
243 блок подписания информационного элемента
341 блок выбора
342 блок доказывания
441 блок верификации
800 машиночитаемый носитель
810 записываемая часть
820 компьютерная программа
910 интегральная схема (интегральные схемы)
920 блок обработки
922 память
924 специализированная интегральная схема
926 коммуникационный элемент
930 межкомпонентный кабель
940 процессорная система.

Claims (91)

1. Система (100) для выборочного раскрытия атрибутов и информационных элементов записи (172), содержащая устройство-эмитент (110), устройство-селектор (111) и устройство-получатель (112), причем
- устройство-эмитент (110) выполнено с возможностью предоставления записи устройству-селектору для выборочного раскрытия и содержит:
- память (130), выполненную с возможностью хранения:
- закрытого ключа (170) эмитента, образующего пару открытого и закрытого ключей с соответствующим открытым ключом (171) эмитента;
- записи, содержащей один или более атрибутов (181, 182) и содержащей несколько информационных элементов (191, 192);
- процессор (140), выполненный с возможностью:
- определения секретного идентификатора (173) записи;
- генерирования цифровой подписи (180) на сообщении атрибутов с использованием закрытого ключа эмитента, причем сообщение атрибутов содержит один или более атрибутов и секретный идентификатор записи;
- генерирования нескольких цифровых подписей (191', 192') на нескольких сообщениях данных для нескольких информационных элементов с использованием закрытого ключа эмитента, причем сообщение данных для информационного элемента содержит информационный элемент и секретный идентификатор записи;
- предоставления устройству-селектору записи, секретного идентификатора записи, цифровой подписи на сообщении атрибутов, а также цифровых подписей на сообщениях данных; причем
- устройство-селектор (111) выполнено с возможностью выборочного раскрытия атрибутов и информационных элементов записи устройству-получателю и содержит:
- память (131), выполненную с возможностью хранения:
- записи, секретного идентификатора записи, цифровой подписи на сообщении атрибутов и цифровых подписей на сообщениях данных;
- процессор (141), выполненный с возможностью:
- определения одного или более атрибутов, подлежащих раскрытию (183, 184), в качестве поднабора одного или более атрибутов, и одного или более информационных элементов, подлежащих раскрытию (193), в качестве поднабора нескольких информационных элементов;
- предоставления одного или более атрибутов, подлежащих раскрытию, и одного или более информационных элементов, подлежащих раскрытию, устройству-получателю;
- выполнения доказательства (174) с нулевым разглашением вместе с устройством-получателем, причем устройство-селектор выполнено с возможностью доказывания знания:
- секретного идентификатора записи;
- цифровой подписи на сообщении атрибутов в виде цифровой подписи на сообщении, содержащем по меньшей мере один или более атрибутов, подлежащих раскрытию, и секретного идентификатора записи, подписанного закрытым ключом, соответствующим открытому ключу эмитента;
- цифровых подписей на сообщениях данных для информационных элементов, подлежащих раскрытию, в виде цифровых подписей на сообщениях, которые содержат информационные элементы, подлежащие раскрытию, и каждое из которых содержит секретный идентификатор записи, подписанный закрытым ключом, соответствующим открытому ключу эмитента; причем устройство-получатель (112) выполнено с возможностью выборочного получения атрибутов и информационных элементов записи от устройства-селектора и содержит:
- память (132), выполненную с возможностью хранения открытого ключа эмитента;
- процессор (142), выполненный с возможностью:
- получения от устройства-селектора одного или более атрибутов и одного или более информационных элементов;
- выполнения доказательства с нулевым разглашением вместе с устройством-селектором в отношении полученных значений и информационных элементов и открытого ключа эмитента, чтобы удостовериться в том, что полученные значения и информационные элементы принадлежат записи устройства-эмитента.
2. Система (100) по п. 1, в которой атрибуты содержат один или более атрибутов фенотипа человека; и информационные элементы содержат один или более участков генома человека.
3. Устройство-эмитент (110, 210) для предоставления записи устройству-селектору для выборочного раскрытия, содержащее:
- память (130), выполненную с возможностью хранения:
- закрытого ключа (170) эмитента, образующего пару открытого и закрытого ключей с соответствующим открытым ключом эмитента;
- записи (172), содержащей один или более атрибутов и содержащей несколько информационных элементов;
- процессор (140), выполненный с возможностью:
- определения секретного идентификатора (173) записи;
- генерирования цифровой подписи (180) на сообщении атрибутов с использованием закрытого ключа эмитента, причем сообщение атрибутов содержит один или более атрибутов и секретный идентификатор записи;
- генерирования нескольких цифровых подписей (191', 192') на нескольких сообщениях данных для нескольких информационных элементов с использованием закрытого ключа эмитента, причем сообщение данных для информационного элемента содержит информационный элемент и секретный идентификатор записи;
- предоставления устройству-селектору записи, секретного идентификатора записи, цифровой подписи на сообщении атрибутов, а также цифровых подписей на сообщениях данных.
4. Устройство-эмитент (110, 210) по п. 3, в котором цифровая подпись на сообщении данных основана на сумме по меньшей мере секретного идентификатора записи и хэша информационного элемента.
5. Устройство-эмитент (110, 210) по п. 3 или 4, в котором процессор (140) выполнен с возможностью генерирования цифровой подписи (g1/(x+γ+H(m))) на сообщении данных посредством вычисления возведения группового элемента (g) в степень мультипликативного обратного значения (x+γ+Н(m)), причем указанное значение основано по меньшей мере на закрытом ключе (x) эмитента, секретном идентификаторе (γ) записи и информационном элементе (m).
6. Устройство-эмитент (110, 210) по любому из пп. 3-5, в котором цифровая подпись на сообщении атрибутов содержит анонимные идентификационные данные, подписанные закрытым ключом эмитента, причем анонимные идентификационные данные содержат один или более атрибутов и секретный идентификатор записи, как атрибуты.
7. Устройство-эмитент (110, 210) по любому из пп. 3-6, в котором устройство-эмитент дополнительно выполнено с возможностью получения обновленных данных для одного из нескольких информационных элементов для генерирования обновленной цифровой подписи на сообщении данных для указанного обновленного информационного элемента и для предоставления обновленной цифровой подписи устройству-селектору.
8. Устройство-селектор (111, 311) для выборочного раскрытия атрибутов и информационных элементов записи устройству-получателю, содержащее:
- память (131), выполненную с возможностью хранения:
- записи, содержащей один или более атрибутов и содержащей несколько информационных элементов; секретного идентификатора записи; цифровой подписи на сообщении атрибутов, сгенерированной с использованием закрытого ключа эмитента, причем сообщение атрибутов содержит один или более атрибутов и секретный идентификатор записи; и цифровых подписей на сообщениях данных, сгенерированных с использованием закрытого ключа эмитента, причем сообщение данных для информационного элемента содержит информационный элемент и секретный идентификатор записи;
- процессор (141), выполненный с возможностью:
- получения записи, секретного идентификатора записи, цифровой подписи на сообщении атрибутов, а также цифровых подписей на сообщениях данных;
- определения одного или более атрибутов, подлежащих раскрытию (183, 184), в качестве поднабора одного или более атрибутов, и одного или более информационных элементов, подлежащих раскрытию (193), в качестве поднабора нескольких информационных элементов;
- предоставления одного или более атрибутов, подлежащих раскрытию, и одного или более информационных элементов, подлежащих раскрытию, устройству-получателю;
- выполнения доказательства с нулевым разглашением (174) вместе с устройством-получателем, причем устройство-селектор выполнено с возможностью доказывания знания:
- секретного идентификатора записи;
- цифровой подписи на сообщении атрибутов в виде цифровой подписи на сообщении, содержащем по меньшей мере один или более атрибутов, подлежащих раскрытию, и секретного идентификатора записи, подписанного закрытым ключом, соответствующим открытому ключу эмитента;
- цифровых подписей на сообщениях данных для информационных элементов, подлежащих раскрытию, в виде цифровых подписей на сообщениях, которые содержат информационные элементы, подлежащие раскрытию, и каждое из которых содержит секретный идентификатор записи, подписанный закрытым ключом, соответствующим открытому ключу эмитента.
9. Устройство-селектор (111, 311) по п. 8, в котором память (131) выполнена с возможностью хранения нескольких записей, причем процессор (141) выполнен с возможностью:
- получения запроса записи;
- выбора одной или более из нескольких записей в соответствии с запросом записи; и
- повторения определения, предоставления и выполнения доказательства с нулевым разглашением для каждой текущей записи одной или более выбранных записей.
10. Устройство-селектор (111, 311) по п. 9, в котором процессор (141) выполнен с возможностью выполнения доказательства с нулевым разглашением для текущей записи, чтобы дополнительно доказать, что текущая запись удовлетворяет запросу записи.
11. Устройство-селектор (111, 311) по любому из пп. 8-10, в котором процессор (141) дополнительно выполнен с возможностью получения запроса информационного элемента, при этом процессор выполнен с возможностью определения одного или более информационных элементов, подлежащих раскрытию, в соответствии с запросом информационных элементов.
12. Устройство-селектор (111, 311) по любому из пп. 8-11, в котором выполнение доказательства с нулевым разглашением включает в себя предоставление обязательства в отношении секретного идентификатора записи устройству-получателю и доказывание знания цифровых подписей в отношении этого обязательства.
13. Устройство-получатель (112, 412) для выборочного получения атрибутов и информационных элементов записи от устройства-селектора, содержащее:
- память (132), выполненную с возможностью хранения открытого ключа эмитента;
- процессор (142), выполненный с возможностью:
- получения от устройства-селектора одного или более атрибутов и одного или более информационных элементов;
- выполнения доказательства с нулевым разглашением вместе с устройством-селектором в отношении полученных значений и информационных элементов и открытого ключа эмитента, чтобы удостовериться в том, что полученные значения и информационные элементы принадлежат записи устройства-эмитента, соответствующей открытому ключу эмитента, причем устройство-селектор выполнено с возможностью доказывания знания:
- секретного идентификатора записи;
- цифровой подписи на сообщении, содержащем по меньшей мере один или более атрибутов, подлежащих раскрытию, и секретный идентификатор записи, подписанный закрытым ключом, соответствующим открытому ключу эмитента;
- цифровых подписей на сообщениях, которые содержат информационные элементы, подлежащие раскрытию, и каждое из которых содержит секретный идентификатор записи, подписанный закрытым ключом, соответствующим открытому ключу эмитента.
14. Устройство-получатель (112, 412) по п. 13, выполненное с возможностью выполнения доказательства с нулевым разглашением путем получения неинтерактивного доказательства с нулевым разглашением от устройства-селектора и верификации неинтерактивного доказательства с нулевым разглашением.
15. Способ (500) эмитента для предоставления записи устройству-селектору для выборочного раскрытия, включающий в себя:
- хранение (510):
- закрытого ключа эмитента, образующего пару открытого и закрытого ключей с соответствующим открытым ключом эмитента;
- записи, содержащей один или более атрибутов и содержащей несколько информационных элементов;
- определение (520) секретного идентификатора записи;
- генерирование (530) цифровой подписи на сообщении атрибутов с использованием закрытого ключа эмитента, причем сообщение атрибутов содержит один или более атрибутов и секретный идентификатор записи;
- генерирование (540) нескольких цифровых подписей на нескольких сообщениях данных для нескольких информационных элементов с использованием закрытого ключа эмитента, причем сообщение данных для информационного элемента содержит информационный элемент и секретный идентификатор записи;
- предоставление (550) записи, секретного идентификатора записи, цифровой подписи на сообщении атрибутов и цифровых подписей на сообщениях данных устройству-селектору.
16. Способ (600) селектора для выборочного раскрытия атрибутов и информационных элементов записи устройству-получателю, включающий в себя:
- хранение (610):
- записи, содержащей один или более атрибутов и содержащей несколько информационных элементов; секретного идентификатора записи; цифровой подписи на сообщении атрибутов, сгенерированной с использованием закрытого ключа эмитента, причем сообщение атрибутов содержит один или более атрибутов и секретный идентификатор записи; и цифровых подписей на сообщениях данных, сгенерированных с использованием закрытого ключа эмитента, причем сообщение данных для информационного элемента содержит информационный элемент и секретный идентификатор записи;
- получение (620) записи, секретного идентификатора записи, цифровой подписи на сообщении атрибутов и цифровых подписей на сообщениях данных;
- определение (630) одного или более атрибутов, подлежащих раскрытию, в качестве поднабора одного или более атрибутов, и одного или более информационных элементов, подлежащих раскрытию, в качестве поднабора нескольких информационных элементов;
- предоставление (640) одного или более атрибутов, подлежащих раскрытию, и одного или более информационных элементов, подлежащих раскрытию, устройству-получателю;
- выполнение (650) доказательства с нулевым разглашением вместе с устройством-получателем, причем доказывают знание:
- секретного идентификатора записи;
- цифровой подписи на сообщении атрибутов в виде цифровой подписи на сообщении, содержащем по меньшей мере один или более атрибутов, подлежащих раскрытию, и секретный идентификатор записи, подписанный закрытым ключом, соответствующим открытому ключу эмитента;
- цифровых подписей на сообщениях данных для информационных элементов, подлежащих раскрытию в виде цифровых подписей на сообщениях, которые содержат информационные элементы, подлежащие раскрытию, и каждое из которых содержит секретный идентификатор записи, подписанный закрытым ключом, соответствующим открытому ключу эмитента.
17. Способ (700) получателя для выборочного получения атрибутов и информационных элементов записи от устройства-селектора, включающий в себя:
- хранение (710) открытого ключа эмитента;
- получение (720) от устройства-селектора одного или более атрибутов и одного или более информационных элементов;
- выполнение (730) доказательства с нулевым разглашением вместе с устройством-селектором в отношении полученных значений и информационных элементов и открытого ключа эмитента, чтобы удостовериться в том, что полученные значения и информационные элементы принадлежат записи устройства-эмитента, соответствующей открытому ключу эмитента, причем устройство-селектор доказывает знание:
- секретного идентификатора записи;
- цифровой подписи на сообщении, содержащем по меньшей мере один или более атрибутов, подлежащих раскрытию, и секретный идентификатор записи, подписанный закрытым ключом, соответствующим открытому ключу эмитента;
- цифровых подписей на сообщениях, которые содержат информационные элементы, подлежащие раскрытию, и каждое из которых содержит секретный идентификатор записи, подписанный закрытым ключом, соответствующим открытому ключу эмитента.
18. Машиночитаемый носитель (800) данных, содержащий кратковременные или долговременные данные (820), представляющие собой инструкции для побуждения процессорной системы выполнять способ по любому из пп. 15-17.
RU2020121091A 2019-06-27 2020-06-25 Выборочное раскрытие атрибутов и информационных элементов записи RU2760633C1 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP19182989.4 2019-06-27
EP19182989.4A EP3758279A1 (en) 2019-06-27 2019-06-27 Selective disclosure of attributes and data entries of a record

Publications (1)

Publication Number Publication Date
RU2760633C1 true RU2760633C1 (ru) 2021-11-29

Family

ID=67211504

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2020121091A RU2760633C1 (ru) 2019-06-27 2020-06-25 Выборочное раскрытие атрибутов и информационных элементов записи

Country Status (6)

Country Link
US (1) US11658827B2 (ru)
EP (2) EP3758279A1 (ru)
JP (1) JP7219740B2 (ru)
CN (1) CN112149156B (ru)
ES (1) ES2906346T3 (ru)
RU (1) RU2760633C1 (ru)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11683186B1 (en) 2022-03-28 2023-06-20 Veiovia Ltd. Cryptographically generated data tethered to biological dataset through synchronization over peer-to-peer nodes for certification
US11652639B1 (en) 2022-03-28 2023-05-16 Veiovia Ltd. Cryptographically generated data tethered to biological dataset through synchronization over peer-to-peer nodes
TWI841331B (zh) * 2023-03-31 2024-05-01 中華電信股份有限公司 零信任鑑別聲明系統、方法及電腦可讀媒介
CN116232763B (zh) * 2023-05-05 2023-07-07 敏于行(北京)科技有限公司 选择性披露的动态组合可验证凭证生成方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030159070A1 (en) * 2001-05-28 2003-08-21 Yaron Mayer System and method for comprehensive general generic protection for computers against malicious programs that may steal information and/or cause damages
US20120005098A1 (en) * 2010-06-30 2012-01-05 International Business Machines Corporation Privacy-sensitive sample analysis
US20140237253A1 (en) * 2013-02-15 2014-08-21 Thomson Licensing Cryptographic devices and methods for generating and verifying commitments from linearly homomorphic signatures
US20150271197A1 (en) * 2014-03-20 2015-09-24 Microsoft Corporation Providing multi-level password and phishing protection

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0383985A1 (de) 1989-02-24 1990-08-29 Claus Peter Prof. Dr. Schnorr Verfahren zur Identifikation von Teilnehmern sowie zur Generierung und Verifikation von elektronischen Unterschriften in einem Datenaustauschsystem
US7134021B2 (en) * 1999-10-22 2006-11-07 Hitachi, Ltd. Method and system for recovering the validity of cryptographically signed digital data
JP2002024385A (ja) * 2000-06-30 2002-01-25 Coreflow Technologies:Kk 遺伝子情報管理システム及びその管理方法
JP2002215028A (ja) * 2001-01-22 2002-07-31 Ntt Data Technology Corp 遺伝子情報のセキュリティ管理方法及びそのシステムとプログラム
JP2002278449A (ja) * 2001-03-15 2002-09-27 Dainippon Printing Co Ltd 原本性保証システム、及びサーバ
JP4510392B2 (ja) * 2002-03-15 2010-07-21 パナソニック株式会社 個人情報認証を行うサービス提供システム
JP4078454B2 (ja) * 2002-03-22 2008-04-23 株式会社日立製作所 ディジタル署名管理方法とディジタル署名処理装置およびプログラムと記録媒体
JP2003296453A (ja) * 2002-04-04 2003-10-17 Matsushita Electric Ind Co Ltd 医療データ通信システム
JP3701633B2 (ja) * 2002-06-21 2005-10-05 株式会社日立製作所 複数データベースにまたがる項目パターン抽出方法、ネットワークシステム及び処理装置
JP2004185192A (ja) * 2002-12-02 2004-07-02 Naoaki Ishii 健康情報の解析・研究及び健康維持・長寿実現のための総合支援システム
JP4499542B2 (ja) * 2004-12-08 2010-07-07 株式会社エヌ・ティ・ティ・データ 医療情報処理装置、および、プログラム
JP4676498B2 (ja) * 2005-10-07 2011-04-27 株式会社日立製作所 相関ルールを抽出する方法及びシステム
US8332649B2 (en) * 2005-11-08 2012-12-11 Panasonic Corporation Authentication system, signature creating device, and signature verifying device
CN101351988B (zh) * 2005-12-28 2011-06-29 松下电器产业株式会社 签名生成装置、签名生成方法
WO2008069011A1 (ja) * 2006-12-04 2008-06-12 Nec Corporation 情報管理システム、匿名化方法、及び記憶媒体
US8281131B2 (en) * 2008-08-28 2012-10-02 International Business Machines Corporation Attributes in cryptographic credentials
WO2010053036A1 (ja) * 2008-11-05 2010-05-14 日本電気株式会社 データ参照システム、データベース提示分散システム、及びデータ参照方法
JP4884509B2 (ja) * 2009-09-29 2012-02-29 株式会社ソニー・コンピュータエンタテインメント コンテンツ管理サーバ、コンテンツ管理システム、およびコンテンツ管理方法
EP2336933B1 (en) * 2009-12-18 2014-09-10 CompuGroup Medical AG A computer implemented method for analyzing data of a user with the data being stored pseudonymously in a database
JP6063821B2 (ja) * 2013-06-12 2017-01-18 株式会社日立ソリューションズ センサデータ管理システム
JP6250497B2 (ja) * 2014-03-13 2017-12-20 株式会社日立製作所 情報管理システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030159070A1 (en) * 2001-05-28 2003-08-21 Yaron Mayer System and method for comprehensive general generic protection for computers against malicious programs that may steal information and/or cause damages
US20120005098A1 (en) * 2010-06-30 2012-01-05 International Business Machines Corporation Privacy-sensitive sample analysis
US20140237253A1 (en) * 2013-02-15 2014-08-21 Thomson Licensing Cryptographic devices and methods for generating and verifying commitments from linearly homomorphic signatures
US20150271197A1 (en) * 2014-03-20 2015-09-24 Microsoft Corporation Providing multi-level password and phishing protection

Also Published As

Publication number Publication date
EP3758291A1 (en) 2020-12-30
JP2021007217A (ja) 2021-01-21
EP3758279A1 (en) 2020-12-30
CN112149156A (zh) 2020-12-29
US20200412546A1 (en) 2020-12-31
US11658827B2 (en) 2023-05-23
EP3758291B1 (en) 2021-12-01
ES2906346T3 (es) 2022-04-18
JP7219740B2 (ja) 2023-02-08
CN112149156B (zh) 2022-12-13

Similar Documents

Publication Publication Date Title
RU2760633C1 (ru) Выборочное раскрытие атрибутов и информационных элементов записи
Bhatia et al. Towards a secure incremental proxy re‐encryption for e‐healthcare data sharing in mobile cloud computing
Zhou et al. PSMPA: Patient self-controllable and multi-level privacy-preserving cooperative authentication in distributedm-healthcare cloud computing system
Jin et al. Dynamic and public auditing with fair arbitration for cloud data
US7634085B1 (en) Identity-based-encryption system with partial attribute matching
Iqbal et al. Efficient and secure attribute-based heterogeneous online/offline signcryption for body sensor networks based on blockchain
KR101425552B1 (ko) 제어가능 연결성을 제공하는 그룹서명 시스템 및 방법
US20230308287A1 (en) Threshold signatures
Naresh et al. Blockchain‐based patient centric health care communication system
Xu et al. A novel proxy-oriented public auditing scheme for cloud-based medical cyber physical systems
US20220368539A1 (en) Computer implemented method and system for storing certified data on a blockchain
EP3496331A1 (en) Two-party signature device and method
CN104901804A (zh) 一种基于用户自主的标识认证实现方法
Xue et al. Blockchain-based fair and fine-grained data trading with privacy preservation
Liu et al. Lightweight authentication scheme for data dissemination in cloud-assisted healthcare IoT
CN118160275A (zh) 阈值签名方案
Olakanmi et al. Secure and privacy-preserving referral framework for e-health system
US12107951B2 (en) Provenance verification for selective disclosure of attributes
Shi et al. Efficient and unconditionally anonymous certificateless provable data possession scheme with trusted KGC for cloud-based EMRs
Xu et al. Sanitizable signature scheme with privacy protection for electronic medical data sharing
JP3314900B2 (ja) ゼロ知識証明プロトコルを利用した情報配送方法およびシステム
Li et al. An Efficient and Provably‐Secure Certificateless Proxy‐Signcryption Scheme for Electronic Prescription System
CN114844643A (zh) 一种基于双线性映射获取适配器签名的方法和电子设备
EP3805963A1 (en) Provenance verification for selective disclosure of attributes
CN110943846A (zh) 新型基于环签名技术的异构身份联盟用户信誉值传递方法