RU2719311C1 - Система и способ защиты информации - Google Patents

Система и способ защиты информации Download PDF

Info

Publication number
RU2719311C1
RU2719311C1 RU2019111923A RU2019111923A RU2719311C1 RU 2719311 C1 RU2719311 C1 RU 2719311C1 RU 2019111923 A RU2019111923 A RU 2019111923A RU 2019111923 A RU2019111923 A RU 2019111923A RU 2719311 C1 RU2719311 C1 RU 2719311C1
Authority
RU
Russia
Prior art keywords
types
data
input data
nodes
output data
Prior art date
Application number
RU2019111923A
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 RU2719311C1 publication Critical patent/RU2719311C1/ru

Links

Images

Classifications

    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0457Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply dynamic encryption, e.g. stream encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/3236Cryptographic 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 cryptographic hash functions
    • H04L9/3239Cryptographic 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 cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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/3297Cryptographic 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 time stamps, e.g. generation of time stamps
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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/04Masking or blinding

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computing Systems (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Изобретение относится к устройствам для защиты информации. Технический результат изобретения заключается в защите онлайновой информации. Компьютерно-реализуемый способ защиты информации содержит: определение одного или более вводов данных и одного или более выводов данных для транзакции, причем вводы данных связаны с типами входных данных соответственно, и выводы данных связаны с типами выходных данных соответственно; шифрование типов входных данных и типов выходных данных; заверение каждого из зашифрованных типов входных данных и зашифрованных типов выходных данных с помощью схемы обязательств для получения соответствующих заверяющих значений; получение, по меньшей мере, параметра R на основе, по меньшей мере, заверяющих значений; и предоставление транзакции одному или более узлам в блокчейновой сети с раскрытием параметра R и без раскрытия типов входных данных и типов выходных данных для узлов для проверки согласованности между типами входных данных и типами выходных данных. 6 н. и 16 з.п. ф-лы, 5 ил.

Description

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[1] Это изобретение относится, в целом, к способам и устройствам для защиты информации.
УРОВЕНЬ ТЕХНИКИ
[2] Персональная информация играет важную роль при осуществлении связи и переносе данных между различными пользователями. В отсутствие защиты пользователи подвергаются опасности хищения личных данных, незаконного перевода или других возможных потерь. Опасность дополнительно увеличивается, когда передачи и переводы реализуются онлайн, вследствие свободного доступа к онлайновой информации.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[3] Различные варианты осуществления настоящего изобретения включают в себя системы, способы и долговременные машиночитаемые носители для защиты информации.
[4] Согласно одному аспекту, компьютерно-реализуемый способ защиты информации содержит: определение одного или более вводов данных и одного или более выводов данных для транзакции, причем вводы данных связаны с типами входных данных соответственно, и выводы данных связаны с типами выходных данных соответственно; шифрование типов входных данных и типов выходных данных; заверение каждого из зашифрованных типов входных данных и зашифрованных типов выходных данных с помощью схемы обязательств для получения соответствующих заверяющих значений; получение, по меньшей мере, параметра R на основе, по меньшей мере, заверяющих значений; и предоставление транзакции одному или более узлам в блокчейновой сети с раскрытием параметра R и без раскрытия типов входных данных и типов выходных данных для узлов для проверки согласованности между типами входных данных и типами выходных данных.
[5] В некоторых вариантах осуществления, шифрование типов входных данных и типов выходных данных содержит шифрование типов входных данных и типов выходных данных с помощью хеш-функции.
[6] В некоторых вариантах осуществления, схема обязательств содержит схему обязательств Педерсена.
[7] В некоторых вариантах осуществления, схема обязательств содержит, по меньшей мере, коэффициент ослепления; и коэффициент ослепления изменяется в зависимости от времени заверения зашифрованных типов входных данных и зашифрованных типов выходных данных.
[8] В некоторых вариантах осуществления, узлам предписывается проверять согласованность между типами входных данных и типами выходных данных без известности типов входных данных и типы выходных данных.
[9] В некоторых вариантах осуществления, транзакция основана, по меньшей мере, на модели неизрасходованных выходов транзакции (UTXO); и вводы данных и выводы данных содержат типы одного или более активов, подвергающихся транзакции.
[10] В некоторых вариантах осуществления, схема обязательств содержит множество коэффициентов ослепления, соответственно соответствующих типам входных данных и типам выходных данных; и получение, по меньшей мере, параметра R на основе, по меньшей мере, заверяющих значений содержит: получение разностей между парами заверяющих значений; конкатенацию полученных разностей; шифрование конкатенированных разностей с помощью хеш-функции для получения шифрованного значения x; и получение параметра R на основе, по меньшей мере, шифрованного значения x и разностей между парами коэффициентов ослепления.
[11] В некоторых вариантах осуществления, предоставление транзакции одному или более узлам в блокчейновой сети с раскрытием параметра R и без раскрытия типов входных данных и типов выходных данных для узлов для проверки согласованности между типами входных данных и типами выходных данных содержит предоставление транзакции одному или более узлам в блокчейновой сети с раскрытием параметра R и без раскрытия типов входных данных и типов выходных данных для предписания узлам: получать параметр R и базисную точку G; получать разности между парами заверяющих значений; конкатенировать полученные разности; шифровать конкатенированные разности с помощью хеш-функции для получения шифрованного значения x; получать сумму C многочленов на основе, по меньшей мере, полученных разностей и шифрованного значения x; в ответ на определение, что сумма C равна произведению параметра R и базисной точки G, определять, что типы входных данных и типы выходных данных согласованы; и в ответ на определение, что сумма C не равна произведению параметра R и базисной точки G, определять, что типы входных данных и типы выходных данных не согласованы.
[12] Согласно другому аспекту, на долговременном машиночитаемом носителе данных хранятся инструкции, подлежащие выполнению процессором, для предписания процессору осуществлять операции, содержащие: определение одного или более вводов данных и одного или более выводов данных для транзакции, причем вводы данных связаны с типами входных данных соответственно, и выводы данных связаны с типами выходных данных соответственно; шифрование типов входных данных и типов выходных данных; заверение каждого из зашифрованных типов входных данных и зашифрованных типов выходных данных с помощью схемы обязательств для получения соответствующих заверяющих значений; получение, по меньшей мере, параметра R на основе, по меньшей мере, заверяющих значений; и предоставление транзакции одному или более узлам в блокчейновой сети с раскрытием параметра R и без раскрытия типов входных данных и типов выходных данных для узлов для проверки согласованности между типами входных данных и типами выходных данных.
[13] Согласно другому аспекту, система для защиты информации содержит процессор и долговременный машиночитаемый носитель данных, подключенный к процессору, причем на носителе данных хранятся инструкции, подлежащие выполнению процессором, для предписания системе осуществлять операции, содержащие: определение одного или более вводов данных и одного или более выводов данных для транзакции, причем вводы данных связаны с типами входных данных соответственно, и выводы данных связаны с типами выходных данных соответственно; шифрование типов входных данных и типов выходных данных; заверение каждого из зашифрованных типов входных данных и зашифрованных типов выходных данных с помощью схемы обязательств для получения соответствующих заверяющих значений; получение, по меньшей мере, параметра R на основе, по меньшей мере, заверяющих значений; и предоставление транзакции одному или более узлам в блокчейновой сети с раскрытием параметра R и без раскрытия типов входных данных и типов выходных данных для узлов для проверки согласованности между типами входных данных и типами выходных данных.
[14] Согласно другому аспекту, компьютерно-реализуемый способ защиты информации содержит: получение, одним или более узлами в блокчейновой сети, транзакции, инициированной узлом-инициатором. Транзакция связана с одним или более вводами данных и одним или более выводами данных. Вводы данных, соответственно, связаны с типами входных данных, и выводы данных, соответственно, связаны с типами выходных данных соответственно. Типы входных данных и типы выходных данных шифруются и заверяются согласно схеме обязательств для получения соответствующих заверяющих значений. Типы входных данных и типы выходных данных не раскрываются одному или более узлам. Способ защиты информации дополнительно содержит: проверку, одним или более узлами, согласованности между типами входных данных и типами выходных данных; в ответ на определение, что типы входных данных и типы выходных данных согласованы, добавление, одним или более узлами, транзакции в блокчейновую сеть; и в ответ на определение, что типы входных данных и типы выходных данных не согласованы, отказ, одним или более узлами, от добавления транзакции к блокчейновой сети.
[15] В некоторых вариантах осуществления, проверка согласованности между типами входных данных и типами выходных данных содержит: получение параметра R и базисной точки G; получение разностей между парами заверяющих значений; конкатенацию полученных разностей; шифрование конкатенированных разностей с помощью хеш-функции для получения шифрованного значения x; получение суммы C многочленов на основе, по меньшей мере, полученных разностей и шифрованного значения x; и определение, равна ли сумма C произведению параметра R и базисной точки G.
[16] В некоторых вариантах осуществления, способ дополнительно содержит: в ответ на определение, что сумма C равна произведению параметра R и базисной точки G, определение, что типы входных данных и типы выходных данных согласованы; и в ответ на определение, что сумма C не равна произведению параметра R и базисной точки G, определение, что типы входных данных и типы выходных данных не согласованы.
[17] В некоторых вариантах осуществления, один или более узлов содержат консенсусный узел.
[18] Согласно другому аспекту, на долговременном машиночитаемом носителе данных хранятся инструкции, подлежащие выполнению процессором, для предписания процессору осуществлять операции, содержащие: получение, одним или более узлами в блокчейновой сети, транзакции, инициированной узлом-инициатором. Транзакция связана с одним или более вводами данных и одним или более выводами данных. Вводы данных, соответственно, связаны с типами входных данных, и выводы данных, соответственно, связаны с типами выходных данных соответственно. Типы входных данных и типы выходных данных шифруются и заверяются согласно схеме обязательств для получения соответствующих заверяющих значений. Типы входных данных и типы выходных данных не раскрываются одному или более узлам. Операции дополнительно содержат: проверку, одним или более узлами, согласованности между типами входных данных и типами выходных данных; в ответ на определение, что типы входных данных и типы выходных данных согласованы, добавление, одним или более узлами, транзакции в блокчейновую сеть; и в ответ на определение, что типы входных данных и типы выходных данных не согласованы, отказ, одним или более узлами, от добавления транзакции к блокчейновой сети.
[19] Согласно другому аспекту, система для защиты информации содержит процессор и долговременный машиночитаемый носитель данных, подключенный к процессору, причем на носителе данных хранятся инструкции, подлежащие выполнению процессором, для предписания системе осуществлять операции, содержащие: получение, одним или более узлами в блокчейновой сети, транзакции, инициированной узлом-инициатором. Транзакция связана с одним или более вводами данных и одним или более выводами данных. Вводы данных, соответственно, связаны с типами входных данных, и выводы данных, соответственно, связаны с типами выходных данных соответственно. Типы входных данных и типы выходных данных шифруются и заверяются согласно схеме обязательств для получения соответствующих заверяющих значений. Типы входных данных и типы выходных данных не раскрываются одному или более узлам. Операции дополнительно содержат: проверку, одним или более узлами, согласованности между типами входных данных и типами выходных данных; в ответ на определение, что типы входных данных и типы выходных данных согласованы, добавление, одним или более узлами, транзакции в блокчейновую сеть; и в ответ на определение, что типы входных данных и типы выходных данных не согласованы, отказ, одним или более узлами, от добавления транзакции к блокчейновой сети.
[20] Эти и другие признаки раскрытых здесь систем, способов и долговременных машиночитаемых носителей, а также способы работы и функции соответствующих элементов конструкции и комбинация частей и экономий производства, явствуют из нижеследующего описания и нижеследующей формулы изобретения, приведенных со ссылкой на прилагаемые чертежи, которые все образуют часть этого описания изобретения, где аналогичные ссылочные позиции обозначают соответствующие части на различных фигурах. Однако очевидно, что чертежи служат только для иллюстрации и описания, но не призваны ограничивать изобретение.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[21] Некоторые признаки различных вариантов осуществления настоящей технологии подробно изложены в нижеследующей формуле изобретения. Чтобы лучше понять признаки и преимущества технологии, следует обратиться к нижеследующему подробному описанию, где изложены иллюстративные варианты осуществления, где используются принципы изобретения, и прилагаемым чертежам, в которых:
[22] фиг. 1 демонстрирует иллюстративную систему для защиты информации, в соответствии с различными вариантами осуществления;
[23] фиг. 2 демонстрирует иллюстративные этапы для инициирования и проверки транзакции, в соответствии с различными вариантами осуществления;
[24] фиг. 3 демонстрирует блок-схему операций иллюстративного способа защиты информации, в соответствии с различными вариантами осуществления;
[25] фиг. 4 демонстрирует блок-схему операций иллюстративного способа защиты информации, в соответствии с различными вариантами осуществления;
[26] фиг. 5 демонстрирует блок-схему иллюстративной компьютерной системы, в которой может быть реализован любой из описанных здесь вариантов осуществления.
ПОДРОБНОЕ ОПИСАНИЕ
[27] Блокчейн можно рассматривать как децентрализованную базу данных, в целом именуемую распределенной бухгалтерской книгой, поскольку операция осуществляется различными узлами (например, вычислительными устройствами) в сети. Любая информация может записываться в блокчейн и сохраняться в нем или считываться из него. Можно создать сервер и подключиться к блокчейновой сети с образованием узла. Любой узел может вносить вклад в вычислительную мощность для поддержания блокчейна путем осуществления сложных вычислений, например, вычисления хеша для добавления блока к текущему блокчейну, и добавленный блок может содержать различные типы данных или информации. Узел, который вносит вклад в вычислительную мощность для добавленного блока, может вознаграждаться жетоном (например, единицей цифровой валюты). Поскольку блокчейн не имеет центрального узла, все узлы одинаковы и в каждом из них содержится вся база данных блокчейна.
[28] Узлы являются, например, вычислительными устройствами или большими компьютерными системами, которые поддерживают блокчейновую сеть и ее плавное выполнение. Узлы могут использоваться индивидами или группами людей, которые вносят денежный вклад в покупку мощных компьютерных систем, известные как майнинг-фермы. Существует два типа узлов: полные узлы и облегченные узлы. На полных узлах хранится полная копия блокчейна. Полные узлы в блокчейновой сети подтверждают транзакции и блоки, которые они принимают, и ретранслируют их на подключенные равноправные устройства для обеспечения проверки консенсуса транзакций. С другой стороны, в облегченные узлы загружается только часть блокчейна. Например, облегченные узлы используются для транзакций в цифровой валюте. Облегченный узел будет осуществлять связь с полным узлом для осуществления транзакции.
[29] Это свойство децентрализации позволяет препятствовать появлению центра управления в управляемой позиции. Например, обслуживание биткойнового блокчейна осуществляется сетью узлов связи биткойнового программного обеспечения в области выполнения. Таким образом, вместо банков, учреждений или администраторов в традиционном смысле, множественные посредники существуют в форме компьютеров-серверов, выполняющих биткойновое программное обеспечение. Эти компьютеры-серверы образуют сеть, соединенную через интернет, и потенциально любой может подключиться к сети. Транзакции, производимые сетью, могут иметь форму: ʺпользователь A хочет отправить Z биткойнов пользователю B,ʺ причем транзакции рассылаются в сеть с использованием легкодоступных прикладных программ. Компьютеры-серверы функционируют как биткойновые серверы, которые способны подтверждать эти финансовые транзакции, добавлять запись о них в свою копию бухгалтерской книги, и затем рассылать эти добавления в бухгалтерскую книгу на другие серверы сети.
[30] Поддержание блокчейна именуется ʺмайнингомʺ, и те, которые осуществляют такое поддержание, вознаграждаются вновь созданными биткойнами и вышеупомянутыми транзакционными взносами. Например, узлы могут определять, действительны ли транзакции, на основе набора правил, которым подчиняется блокчейновая сеть. Майнеры могут располагаться на любом континенте и обрабатывать платежи, проверяя действительность каждой транзакции и добавляя ее к блокчейну. Такая проверка достигается через консенсус, обеспеченный множеством майнеров, и предполагает отсутствие систематического сговора. В конце, все данные будут согласованы, поскольку вычисление должно удовлетворять некоторым требованиям, чтобы приводить к правильному результату, и все узлы будут синхронизироваться чтобы гарантировать согласованность блокчейна.
[31] В процессе майнинга, транзакции, например, переводы активов, проверяются и добавляются к растущей цепи блоков блокчейна сетевыми узлами. При обходе всего блокчейна, проверка может включать в себя, например, имеет ли оплачивающая сторона доступ к активу, подлежащему переводу, был ли актив потрачен до этого, верна ли сумма перевода, и т.д. Например, в гипотетической транзакции (например, транзакции биткойнов согласно модели UTXO (неизрасходованного выхода транзакции)), подписанной отправителем, предложенная транзакция может рассылаться в блокчейновую сеть для майнинга. Майнеру нужно проверять, подлежит ли транзакция выполнению, согласно истории блокчейна. Если на балансе кошелька отправителя достаточно средств согласно существующей истории блокчейна, транзакция считается действительной и может добавляться к блоку. После проверки, переводы активов могут быть включены в следующий блок, подлежащий добавлению в блокчейн.
[32] Блок во многом подобен записи базы данных. Каждый раз при записи данных создается блок. Эти блоки связаны и защищены с использованием криптографии, образуя взаимосвязанные сети. Каждый блок соединен с предыдущим блоком, откуда происходит название ʺблокчейнʺ. Каждый блок обычно содержит криптографический хеш предыдущего блока, время генерации и фактические данные. Например, каждый блок содержит две части: заголовок блока для записи характерного значения текущего блока и тело для записи фактических данных (например, данных транзакции). Блоки цепи связаны заголовками блоков. Каждый заголовок блока может содержать множественные характерные значения, например, версию, хеш предыдущего блока, корень Меркла, метку времени, целевой уровень сложности и нонс (nonce). Хеш предыдущего блока содержит не только адрес предыдущего блока, но и хеш данных внутри предыдущего блока, что обеспечивает неизменность блокчейнов. Нонс представляет собой число, которое, будучи включено, дает хеш с заданным количеством ведущих нулевых битов.
[33] Для майнинга, узел берет хеш содержимого нового блока. Нонс (например, случайная строка) присоединяется к хешу для получения новой строки. Новая строка снова хешируется. Затем окончательный хеш сравнивается с целевым уровнем сложности (например, уровнем), и производится определение, меньше ли фактически окончательный хеш целевого уровня сложности. Если нет, то нонс изменяется, и процесс повторяется снова. Если да, то блок добавляется в цепь, и открытая бухгалтерская книга обновляется и получает объявление о добавлении. Узел, отвечающий за успешное добавление, вознаграждается биткойнами, например, путем добавления транзакции своего вознаграждения в новый блок (известный как генерация coinbase).
[34] Таким образом, для каждого выхода ʺYʺ, если k выбирается из распределения с высокой минимальной энтропией, невозможно найти вход x таким образом, что H(k|x)=Y, где K - нонс, x - хеш блока, Y - целевой уровень сложности, и ʺ|ʺ обозначает конкатенацию. Поскольку криптографические хеши, по существу, случайны, в том смысле, что их выход нельзя прогнозировать на основе их входов, найти нонс можно только одним способом: проверять целые числа одно за другим, например, 1, затем 2, затем 3 и т.д., то есть "в лоб". Чем больше количество ведущих нулей, тем больше времени в среднем потребуется, чтобы найти необходимый нонс Y. В одном примере, система биткойна постоянно регулирует количество ведущих нулей, таким образом, что среднее время нахождения нонса составляет около десяти минут. Таким образом, поскольку возможности обработки вычислительного оборудования возрастают со временем, в течение лет, протокол биткойна всегда будет просто требовать больше ведущих нулевых битов, чтобы осуществление майнинга занимало около десяти минут.
[35] Как описано, хеширование является краеугольным камнем блокчейна. Алгоритм хеширования можно понимать как функцию, которая сжимает сообщения произвольной длины в сборник сообщений заверенной длины. Более широко используются MD5 и SHA. В некоторых вариантах осуществления, хеш блокчейна имеет длину 256 битов, и это означает, что независимо от первоначального содержимого, в конце концов вычисляется 256-битовое двоичное число. Можно гарантировать, что соответствующий хеш уникален при условии, что первоначальное содержимое отличается. Например, хеш строки ʺ123ʺ равен a8fdc205a9f19cc1c7507a60c4f01b13d11d7fd0 (в шестнадцатеричном формате), что составляет 256 битов будучи преобразован в двоичный формат, и только ʺ123ʺ имеет этот хеш. Алгоритм хеширования в блокчейне необходим, то есть прямое вычисление осуществляется легко (из ʺ123ʺ в a8fdc205a9f19cc1c7507a60c4f01b1c7507a60c4f01b13d11d7fd0), и обратное вычисление неосуществимо даже если израсходовать все вычислительные ресурсы. Таким образом, хеш каждого блока блокчейна уникален.
[36] Дополнительно, если содержимое блока изменяется, его хеш также изменяется. Существует взаимно-однозначное соответствие между блоком и хешем, и хеш каждого блока вычисляется в зависимости от заголовка блока. Таким образом, характерные значения заголовков блоков соединяются для формирования длинной строки, и затем вычисляется хеш строки. Например, ʺХеш=SHA256 (заголовок блока)ʺ - формула вычисления хеша блока, SHA256 - алгоритм хеширования блокчейна, применяемый к заголовку блока. Хеш уникально определяется заголовком блока, но не телом блока. Как упомянуто выше, заголовок блока содержит много содержимого, включая хеш текущего блока и хеш предыдущего блока. Это означает, что, если содержимое текущего блока изменяется, или если хеш предыдущего блока изменяется, это приведет к изменению хеша в текущем блоке. Если взломщик изменяет блок, хеш этого блока изменяется. Для соединения более позднего блока с измененным блоком, взломщик должен последовательно изменить все последующие блоки, поскольку следующий блок должен содержать хеш предыдущего блока. В противном случае измененный блок будет отсоединяться от блокчейна. По соображениям конструкции, вычисления хеша требуют длительного времени, и почти невозможно изменить множественные блоки за короткий период времени, если только взломщик не завладеет более 51% вычислительной мощности всей сети. Таким образом, блокчейн гарантирует свою собственную надежность, и как только данные записаны, с ним нельзя ничего сделать.
[37] Как только майнер находит хеш (то есть пригодную подпись или решение) для нового блока, майнер рассылает эту подпись всем остальным майнерам (узлам блокчейна). Теперь другие майнеры проверяют, в свою очередь, соответствует ли это решение задаче блока отправителя (то есть, определяют, приводит ли фактически ввод хеша к этой подписи). Если решение верно, другие майнеры подтвердят решение и согласятся добавить новый блок в блокчейн. Таким образом, достигается консенсус нового блока. Это также называется ʺдоказательством выполнения работыʺ. Теперь блок, для которого достигнут консенсус, можно добавить в блокчейн и разослать на все узлы в сети совместно с его подписью. Узлы будут принимать блок и сохранять его в своих данных транзакции при условии, что транзакции внутри блока точно соответствуют текущим балансам кошелька (истории транзакций) в этот момент времени. Каждый раз при добавлении нового блока поверх этого блока, добавление также рассматривается как другое ʺподтверждениеʺ для блоков до него. Например, если транзакция включена в блок 502, и длина блокчейна составляет 507 блоков, это означает, что транзакция имеет пять подтверждений (соответствующих блокам 507-502). Чем больше подтверждений имеет транзакция, тем труднее злоумышленникам изменить ее.
[38] В некоторых вариантах осуществления, иллюстративная система активов блокчейна использует криптографию открытого ключа, в которой генерируются два криптографических ключа, один открытый ключ и один личный ключ. Открытый ключ можно рассматривать как номер счета, и личный ключ можно рассматривать как права собственности. Например, биткойновый кошелек является совокупностью открытых и личных ключей. Владение активом (например, цифровой валютой, наличным активом, акциями, собственными средствами, облигации) связанным с некоторым адресом актива можно продемонстрировать знанием личного ключа, принадлежащего адресу. Например, программное обеспечение биткойнового кошелька, иногда именуемое ʺклиентским программным обеспечением биткойнаʺ, позволяет данному пользователю совершать транзакции в биткойнах. Программа кошелька генерирует и сохраняет личные ключи и осуществляет связь с равноправными устройствами в биткойновой сети.
[39] В блокчейновых транзакциях, отправители и получатели платежа идентифицируются в блокчейне своими открытыми криптографическими ключами. Например, наиболее современные переводы биткойнов совершаются от одного открытого ключа к другому открытому ключу. На практике хеши этих ключей используются в блокчейне и называются ʺадресами биткойновʺ. В принципе, гипотетическое злонамеренное лицо S может похитить денежные средства у лица A, просто добавив в блокчейновую бухгалтерскую книгу транзакцию наподобие ʺлицо A уплачивает лицу S 100 биткойновʺ с использованием адресов биткойнов пользователей вместо их имен. Протокол биткойна препятствует хищению такого рода, требуя, чтобы каждый перевод был снабжен цифровой подписью в виде личного ключа плательщика, и чтобы в блокчейновую бухгалтерскую книгу добавлялись только подписанные переводы. Поскольку лицо S не может подделать подпись лица A, лицо S не может обмануть лицо A путем добавления в блокчейн элемент, эквивалентный ʺлицо A уплачивает лицу S 200 биткойновʺ. В то же время, любой может проверить с использованием своего открытого ключа подпись лица A и, таким образом, уполномочено совершать любую транзакцию в блокчейне, где оно является плательщиком.
[40] В контексте биткойновой транзакции, для перевода некоторой суммы в биткойнах пользователю B, пользователь A может построить запись, содержащую информацию о транзакции через узел. Запись может быть подписана ключом подписания (личным ключом) пользователя A и содержать открытый проверочный ключ пользователя A и открытый проверочный ключ пользователя B. Подпись используется для подтверждения, что транзакция пришла от пользователя, и также препятствует изменению транзакции после ее выдачи. Запись, связанная с другой записью, которая возникала в том же временном окне в новом блоке, может рассылаться на полные узлы. Приняв записи, полные узлы могут включать в бухгалтерскую книгу записи всех транзакций, когда-либо произошедших в блокчейновой системе, добавлять новый блок в ранее принятый блокчейн через вышеописанный процесс майнинга, и подтверждать добавленный блок согласно правилам консенсуса сети.
[41] Актив пользователя A, подлежащий переводу, может иметь форму UTXO (неизрасходованного выхода транзакции). UTXO является объектной моделью блокчейна. Согласно UTXO, активы представлены выходами блокчейновых транзакций, которые не были потрачены, которые могут использоваться как входы в новых транзакциях. Чтобы потратить (перевести) актив, пользователь должен подписаться личным ключом. Биткойн является примером цифровой валюты, которая использует модель UTXO. В случае действительной блокчейновой транзакции, неизрасходованные выходы могут использоваться для осуществления дополнительных транзакций. В некоторых вариантах осуществления, только неизрасходованные выходы могут использоваться в дополнительных транзакциях для предотвращения двойного расходования и мошенничества. По этой причине, входы на блокчейне удаляются, когда происходит транзакция, хотя в то же время, выходы создаются в форме UTXO. Эти неизрасходованные выходы транзакции могут использоваться (держателями личных ключей, например, лицами, имеющими кошельки цифровой валюты) в целях будущих транзакций.
[42] Поскольку блокчейн и другие аналогичные бухгалтерские книги полностью открыты, блокчейн сам по себе не имеет защиты персональной информации. Открытый характер сети P2P означает, что, хотя ее пользователи не идентифицируются по имени, транзакции легко связывать с индивидами и компаниями. Например, в заграничных переводах или в логистических цепочках, типы активов имеют чрезвычайно высокий уровень защиты персональной информации, поскольку на основе информации о типе актива, можно вывести конкретное местоположение и личности сторон транзакции. Тип актива может содержать, например, денежные средства, цифровую валюту, контракт, акт, медицинскую карту, детали потребителя, акции, облигации, собственные средства или тип любого другого актива, который можно описать в цифровой форме. Хотя модель UTXO скрывает личности и объемы транзакций и применялась к Monero и Zcash, тип актива транзакции остается незащищенным. Таким образом, техническая проблема, решаемая настоящим изобретением, состоит в защите онлайновой информации, например, персональной информации типа актива в транзакциях. Раскрытые системы и способы могут быть интегрированы в модель UTXO для обеспечения защиты персональной информации для различного содержимого транзакции.
[43] В ходе транзакций, защита информации важна для защиты персональной информации пользователя, и тип актива транзакции является одним типом информации, которому не хватает защиты. На фиг. 1 показана иллюстративная система 100 для защиты информации, в соответствии с различными вариантами осуществления. Как показано, блокчейновая сеть может содержать множество узлов (например, полные узлы, реализованные в серверах, компьютерах и т.д.). Для некоторой платформы блокчейна (например, NEO), полные узлы с некоторым уровнем права голоса могут именоваться консенсусными узлами, которые предполагают ответственность за проверку транзакции. В этом изобретении, полные узлы, консенсусный узел или другие эквивалентные узлы могут проверять транзакцию.
[44] Также, как показано на фиг. 1, пользователь A и пользователь B могут использовать соответствующие устройства, например, портативные компьютеры и мобильные телефоны, выступающие в роли облегченных узлов, для осуществления транзакций. Например, пользователь A может пожелать совершать транзакции с пользователем B путем перевода некоторого актива со счета пользователя A на счет пользователя B. Пользователь A и пользователь B могут использовать соответствующие устройства с установленным на них надлежащим программным обеспечением блокчейна для транзакции. Устройство пользователя A может именоваться узлом-инициатором A, который инициирует транзакцию с устройством пользователя B, именуемым узлом-получателем B. Узел A может осуществлять доступ к блокчейну путем связи с узлом 1, и узел B может осуществлять доступ к блокчейну путем связи с узлом 2. Например, узел A и узел B могут предоставлять транзакции блокчейну через узел 1 и узел 2 для запрашивания добавления транзакций в блокчейн. Вне блокчейна, узел A и узел B могут иметь другие каналы связи. Например, узел A и узел B могут обмениваться открытыми ключами посредством регулярной связи через интернет.
[45] Каждый из узлов на фиг. 1 может содержать процессор и долговременный машиночитаемый носитель данных, на котором сохранены инструкции, подлежащие исполнению процессором, для предписания узлу (например, процессору узла) осуществлять различные описанные здесь этапы для защиты информации. На каждом узле может быть установлено программное обеспечение (например, программа транзакций) и/или оборудование (например, провода, беспроводные соединения) для осуществления связи с другими узлами и/или другими устройствами. Дополнительные детали оборудования и программного обеспечения узла описаны ниже со ссылкой на фиг. 5.
[46] Фиг. 2 демонстрирует иллюстративные этапы для инициирования и проверки транзакции, в соответствии с различными вариантами осуществления.
[47] Инициирование транзакции может осуществляться узлом-инициатором. В некоторых вариантах осуществления, каждый тип типа актива может отображаться в уникальную идентификацию или назначаться ему. Например, уникальной идентификацией может быть порядковый номер sn, вычисленный следующим образом:
этап 1.2 sn=Hash(тип актива)
[48] где Hash() - хеш-функция. Дополнительно, тип актива может шифроваться схемой обязательств (например, схемой обязательств Педерсена) следующим образом:
этап 1.3 C(sn)=r×G+sn×H
[49] где r - случайный коэффициент ослепления (альтернативно именуемый коэффициентом связывания), который обеспечивает сокрытие, G и H - публично согласованные генераторы/базисные точки эллиптической кривой, которые могут выбираться произвольно, sn - значение заверения, C(sn) - точка кривой, используемая как заверение и передаваемая контрагенту, и H - другая точка кривой. Таким образом, G и H могут быть параметрами, известными узлам. Генерация H ʺничего в рукавеʺ может генерироваться путем хеширования базисной точки G с помощью хеш-функции, отображающей одну точку в другую с H= Hash(G). H и G - открытые параметры данной системы (например, произвольно сгенерированные точки на эллиптической кривой). Узел-отправитель может открывать H и G всем узлам. Хотя выше приведен пример схемы обязательств Педерсена в форме эллиптической кривой, альтернативно можно использовать различные другие формы схемы обязательств Педерсена или другие схемы обязательств.
[50] Схема обязательств поддерживает секретность данных, но заверяет данные таким образом, чтобы отправитель данных не мог изменять их позже. Если сторона знает только заверяющее значение (например, C(sn)), она не может определить, какие значения основополагающих данных (например, sn) были заверены. Данные (например, sn) и коэффициент ослепления (например, r) могут раскрываться позже (например, узлом-инициатором), и получатель (например, консенсусный узел) заверения может выполнять заверение и удостоверяться в том, что заверенные данные совпадают с раскрытыми данными. Коэффициент ослепления присутствует, поскольку без него, кто-то может попытаться угадать данные.
[51] Схемы обязательств позволяют отправителю (заверяющей стороне) заверять значение (например, sn) таким образом, что заверенное значение остается личным, но может раскрываться в более позднее время, когда заверяющая сторона разглашает необходимый параметр процесса заверения. Сильные схемы обязательств могут предусматривать как сокрытие информации, так и вычислительное связывание. Сокрытие означает указание, что данное значение sn и заверение этого значения C(sn) не подлежат связыванию. Таким образом, C(sn) не должно раскрывать информацию о sn. Зная C(sn), G и H, почти невозможно узнать sn, поскольку r является случайным числом. Схема обязательств является связывающей в отсутствие правдоподобной возможности, что два разные значения могут приводить к одной и той же заверения. Схема обязательств Педерсена является хорошо скрывающей и вычислительно связывающей при предположении дискретного логарифма.
[52] Схема обязательств Педерсена обладает дополнительным свойством: заверения можно добавлять, и сумма набора заверений идентична заверения в отношении суммы данных (где ключ ослепления установлен как сумма ключей ослепления): C(BF1, data1)+C(BF2, data2) == C(BF1+BF2, data1+data2); C(BF1, data1) - C(BF1, data1) == 0. Другими словами, заверение сохраняет сложение и применяет свойство коммутативности, т.е. схема обязательств Педерсена является аддитивно гомоморфной, т.е. основополагающими данными можно математически манипулировать, как если бы они не были зашифрованы.
[53] В одном варианте осуществления, схему обязательств Педерсена, используемую для шифрования входного значения, можно построить с использованием точек эллиптической кривой. Традиционно, открытый ключ криптографии на основе эллиптических кривых (ECC) создается путем умножения генератора для группы (G) на секретный ключ (r): Pub=rG. Результат может быть преобразован к последовательному виду в качестве 33-байтового массива. Открытые ключи ECC могут обладать свойством аддитивного гомоморфизма, упомянутым выше в отношении схем обязательств Педерсена. То есть: Pub1+Pub2=(r1+r2(mod n))G.
[54] Схема обязательств Педерсена для входного значения может создаваться путем взятия дополнительного генератора для группы (H, в нижеприведенных уравнениях) таким образом, чтобы никто не знал дискретный журнал для второго генератора H в отношении первого генератора G (или наоборот), то есть, чтобы никто не знал x, благодаря чему rG=H. Это может осуществляться, например, с использованием криптографического хеша G для взятия H: H=to_point(SHA256(ENCODE(G))).
[55] При наличии двух генераторов G и H, иллюстративную схему обязательств для шифрования входного значения можно определить как: заверение=rG+aH. Здесь, r может быть секретным коэффициентом ослепления, и a может быть входным значением, являющимся целью заверения. Следовательно, если sn заверено, можно получить вышеописанную схему обязательств C(sn)=r×G+sn×H. Схемы обязательств Педерсена связаны с теорией информации: для любой заверения, существует некоторый коэффициент ослепления, величина которого совпадает с заверением. Схемы обязательств Педерсена могут быть вычислительно защищены от ложной заверения, таким образом, что произвольное отображение невозможно вычислить.
[56] Сторона (узел), заверившая значение, может открывать заверение путем раскрытия первоначального значения sn и коэффициента r, который удовлетворяет уравнению заверения. Сторона, желающая открыть значение C(sn), будет снова вычислять заверение для проверки, что совместно используемое первоначальное значение действительно совпадает с первоначально принятым заверением C(sn). Таким образом, информацию о типе актива можно защищать путем ее отображения в уникальный порядковый номер, и затем ее шифрования схемой обязательств Педерсена. Случайное число r, выбранное при генерации заверения, практически не позволяет никому вывести тип типа актива, который заверен согласно заверяющему значению C(sn).
[57] В некоторых вариантах осуществления, при включении способа защиты информации о типе актива согласно модели UTXO, согласованность типа актива входа (sn_in) и типа актива выхода (sn_out) транзакции можно проверять для определения действительности транзакции. Например, блокчейновые узлы могут отвергать транзакции или блоки, которые не проходят проверку согласованности, то есть sn_in == sn_out. Поскольку тип актива sn зашифрован (например, схемой обязательств Педерсена), проверка согласованности состоит в проверке C(sn_in) == C(sn_out).
[58] В некоторых вариантах осуществления, как показано на фиг. 2, этап 1, транзакция типа UTXO может содержать m входов (например, доступных активы) и n выходов (например, перенесенные активы и оставшиеся активы). Входы могут обозначаться sn_in_k, где 1≤k≤m и выходы могут обозначаться sn_out_k, где 1≤k≤n. Некоторые из выходов могут переноситься на узел-получатель B, тогда как остальные выходы могут возвращаться на узел-инициатор A. Например, в гипотетической транзакции, пользователь A может иметь в своем кошельке всего 5 биткойнов и 10 облигаций, и для входов транзакции, sn_in_1=Hash(bitcoin) и sn_in_2=Hash(stock). Если пользователь A хочет перевести 3 биткойна пользователю B, для выходов транзакции, sn_out_1=Hash(bitcoin), sn_out_2=Hash(bitcoin), и sn_out_3=Hash(stock), благодаря чему, один из выходов биткойнов (3 биткойна) адресуется пользователю B, и другой выход биткойнов (2 биткойна) и выход акций адресуются обратно пользователю A.
[59] Поэтому, в некоторых вариантах осуществления, тип актива, соответствующий входу, может шифроваться в форме:
C_in_k=r_in_k×G+sn_in_k×H, где 1≤k≤m
[60] Выходной тип актива соответствует форме шифрования:
C_out_k=r_out_k×G+sn_out_k×H, где 1≤k≤n
[61] Когда типы активов скрыты, инициатору транзакции необходимо доказывать узлам (например, полным узлам, консенсусному узлу), что типы входных активов транзакции, соответственно, согласуются с типами выходных активов. Соответственно, полные узлы могут проверять, является ли транзакция действительной.
[62] В некоторых вариантах осуществления, для инициирования транзакции типа UTXO, когда тип актива скрыт схемой обязательств Педерсена, инициатор транзакции может выбирать надлежащие входы и выходы для осуществления нижеследующих этапов 2.1-2.5 (соответствующих фиг. 2, этап 2):
[63] Этап 2.1 вычислять
C_1=C_in_1 - C_in_2,
C_2=C_in_2 - C_in_3,
C_(m-1)=C_in_(m-1) -C_in_m,
C_m=C_out_1 - C_out_2,
C_(m+1)=C_out_2 - C_out_3,
C_(m+n-2)=C_out_(n-1) -C_out_n,
C_(m+n-1)=C_in_1 - C_out_1;
[64] Этап 2.2 вычислять x=Hash (C_1 || C_2 || C_3 || … || C_(m+n-1)), где ʺ||ʺ представляет конкатенацию;
[65] Этап 2.3 вычислять C=C_1+x×C_2+x2×C_3+…+x(m+n-2)×C_(m+n-1). Заметим, что члены многочлена могут соответствовать членам на этапе 2.1;
[66] Этап 2.4 вычислять R=(r_in_1 - r_in_2)+x × (r_in_2 - r_in_3)+x2 × (r_in_3 - r_in_4)+…+x(m+n-2) × (r_in_1 - r_out_1). Заметим, что члены многочлена могут соответствовать членам на этапе 2.1, например, (r_in_1 - r_in_2) соответствует C_in_1 - C_in_2;
[67] Этап 2.5 открыть R узлам, например, в рассылке информации о транзакции.
[68] В некоторых вариантах осуществления, для проверки согласованности типов входных активов и типов выходных активов, должно быть C=R × G. Например, в ходе проверки транзакции, узлы осуществляют нижеследующие этапы 3.1-3.3 (соответствующие фиг. 2, этапы 3.1-3.3) для проверки согласованности типа актива транзакции:
[69] Этап 3.1 вычислять x=Hash (C_1 || C_2 || C_3 || … || C_(m+n-1));
[70] Этап 3.2 вычислять C=C_1+x × C_2+x2 × C_3+…+x(m+n-2) × C_(m+n-1);
[71] Этап 3.3 проверять C=R × G. Если C=R × G, тип актива является согласованным; в противном случае, тип актива является несогласованным, и транзакция отвергается. В некоторых вариантах осуществления, C(sn) может раскрываться узлам, и алгоритмы этапов 2.1-2.3 известны узлам (например, включающим в себя узел предоставления транзакции и узлы проверки транзакции). Таким образом, узлы проверки транзакции могут осуществлять этапы 3.1-3.3, соответственно, для осуществления проверки. Таким образом, отвергнутая транзакция не будет добавляться в блокчейн. Согласно этапу 4 на фиг. 2, на основе определения согласованности, узлы могут определять, добавлять ли транзакцию в блокчейн или отвергать добавление транзакции.
[72] По этой причине, инициатор транзакции может предоставлять информацию для блокчейновых узлов для проверки транзакции на основе согласованности типов активов, вводимых и выводимых из транзакции без раскрытия фактических типов активов и без возможности изменения предоставленной информации. Выделение порядковых номеров (например, хешей) для каждого типа актива увеличивает и рандомизирует представление каждого типа актива, что затрудняет инициатору транзакции фальсификацию типа актива для прохождения проверки. Дополнительно, вследствие существования случайного числа r, активы одного и того же типа, зашифрованные в разные моменты времени, не одинаковы. Применение схемы обязательств Педерсена для шифрования хеша типа актива повышает уровень защиты персональной информации типа актива. Таким образом, на этапах 2.1-2.5, инициатор транзакции может доказывать другим узлам, что типы активов транзакции действительны, не раскрывая типы активов. Например, получаются разности между типами входных и выходных активов, на основе которых строятся многочлены, что позволят инициатору транзакции передавать преобразованные типы активов другим узлам для доказательства согласованности типов активов и действительности транзакции. В то же время, вероятностью того, что инициатор транзакции или другой узел способен фальсифицировать тип актива, можно пренебречь, поскольку x вычисляется путем хеширования, чтобы служить основанием различных показательных функций в многочленах. Кроме того, раскрытие R позволяет другим узлам проверять согласованность типов активов в транзакции без известности типов активов на этапах 3.1-3.3. Поэтому раскрытые системы и способы позволяют третьим сторонам проверять информацию данных, поддерживая при этом исключительную защиту персональной информации.
[73] Фиг. 3 демонстрирует блок-схему операций иллюстративного способа 300 для защиты информации, согласно различным вариантам осуществления настоящего изобретения. Способ 300 может осуществляться одним или более компонентами (например, узлом A) системы 100, показанной на фиг. 1. Способ 300 может осуществляться системой или устройством (например, компьютером), содержащим процессор и долговременный машиночитаемый носитель данных (например, память), на котором сохранены инструкции, подлежащие выполнению процессором, для предписания системе или устройству (например, процессору) осуществлять способ 300. Операции способа 300, представленного ниже, предназначены для иллюстрации. В зависимости от реализации, иллюстративный способ 300 может включать в себя больше, меньше или альтернативные этапы, осуществляемые в различном порядке или параллельно.
[74] Блок 301 содержит: определение одного или более вводов данных и одного или более выводов данных для транзакции, причем вводы данных связаны с типами входных данных соответственно, и выводы данных связаны с типами выходных данных соответственно. См., например, этап 1 на фиг. 2. В некоторых вариантах осуществления, транзакция основана, по меньшей мере, на модели неизрасходованных выходов транзакции (UTXO); и вводы данных и выводы данных содержат типы одного или более активов, подвергающихся транзакции между отправителем (узлом-инициатором) и получателем (узлом-получателем). Тип актива может содержать, например, денежные средства, цифровую валюту, контракт, акт, медицинскую карту, детали потребителя, акции, облигации, собственные средства, или тип любого другого актива, который можно описать в цифровой форме.
[75] Блок 302 содержит: шифрование типов входных данных и типов выходных данных. См., например, вышеописанный этап 1.2. В некоторых вариантах осуществления, шифрование типов входных данных и типов выходных данных содержит шифрование каждый из типы входных данных и типы выходных данных с помощью хеш-функции или другой односторонней функцией.
[76] Блок 303 содержит: заверение каждого из зашифрованных типов входных данных и зашифрованных типов выходных данных с помощью схемы обязательств для получения соответствующих заверяющих значений. См., например, вышеописанный этап 1.3. В некоторых вариантах осуществления, схема обязательств содержит схему обязательств Педерсена. В некоторых вариантах осуществления, схема обязательств содержит, по меньшей мере, коэффициент ослепления; и коэффициент ослепления изменяется в зависимости от времени заверения зашифрованных типов входных данных и зашифрованных типов выходных данных. Таким образом, даже одни и те же данные (например, данные одного и того же типа) заверенные в разные моменты времени будут отличаться заверяющими значениями вследствие изменения коэффициента ослепления.
[77] Блок 304 содержит: получение, по меньшей мере, параметра R на основе, по меньшей мере, заверяющих значений. См., например, вышеописанные этапы 2.1-2.4. В некоторых вариантах осуществления, схема обязательств содержит множество коэффициентов ослепления, соответственно соответствующих типам входных данных и типам выходных данных (см., например, r_in_k и r_out_k); и получение, по меньшей мере, параметра R на основе, по меньшей мере, заверяющих значений содержит: получение разностей между парами заверяющих значений (см., например, этап 2.1 для различных пар заверяющих значений между типами входных активов и типами выходных активов, для которых можно получить разности); конкатенацию полученных разностей (см., например, этап 2.2); шифрование конкатенированных разностей с помощью хеш-функции для получения шифрованного значения x (см., например, этап 2.2); и получение параметра R на основе, по меньшей мере, шифрованного значения x и разностей между парами коэффициентов ослепления (см., например, этап 2.4).
[78] Блок 305 содержит: предоставление транзакции одному или более узлам в блокчейновой сети с раскрытием параметра R и без раскрытия типов входных данных и типов выходных данных для узлов для проверки согласованности между типами входных данных и типами выходных данных. В некоторых вариантах осуществления, узлам предписывается проверять согласованность между типами входных данных и типами выходных данных без известности типов входных данных и типы выходных данных.
[79] В некоторых вариантах осуществления, предоставление транзакции одному или более узлам в блокчейновой сети с раскрытием параметра R и без раскрытия типов входных данных и типов выходных данных для узлов для проверки согласованности между типами входных данных и типами выходных данных содержит предоставление транзакции одному или более узлам в блокчейновой сети с раскрытием параметра R и без раскрытия типов входных данных и типов выходных данных для предписания узлам: получать параметр R и базисную точку G (см., например, G на этапе 3.1. H и G могут быть открытыми параметрами, доступными всем узлам); получать разности между парами заверяющих значений типов входных активов и типы выходных активов (см., например, этап, аналогичный этапу 2.1); конкатенировать полученные разности (см., например, этап 3.1); шифровать конкатенированные разности с помощью хеш-функции для получения шифрованного значения x (см., например, этап 3.1); получать сумму C многочленов на основе, по меньшей мере, полученных разностей и шифрованного значения x (см., например, этап 3.2); в ответ на определение, что сумма C равна произведению параметра R и базисной точки G, определять, что типы входных данных и типы выходных данных согласованы и добавлять транзакцию в блокчейн (см., например, этап 3.3); и в ответ на определение, что сумма C не равна произведению параметра R и базисной точки G, определять, что типы входных данных и типы выходных данных не согласованы и отвергать добавление транзакции в блокчейн (см., например, этап 3.3).
[80] Фиг. 4 демонстрирует блок-схему операций иллюстративного способа 400 для защиты информации, согласно различным вариантам осуществления настоящего изобретения. Способ 400 может осуществляться одним или более компонентами (например, узлом i) системы 100, показанной на фиг. 1. Узел i может содержать полный узел, реализованный на сервере. Способ 400 может осуществляться системой или устройством (например, компьютером), содержащим процессор и долговременный машиночитаемый носитель данных (например, память), на котором сохранены инструкции, подлежащие выполнению процессором, для предписания системе или устройству (например, процессору) осуществлять способ 400. Операции способа 400, представленного ниже, предназначены для иллюстрации. В зависимости от реализации, иллюстративный способ 400 может включать в себя больше, меньше или альтернативные этапы, осуществляемые в различном порядке или параллельно.
[81] Блок 401 содержит: получение, одним или более узлами (например, консенсусным узлом) в блокчейновой сети, транзакции, инициированной узлом-инициатором. Транзакция связана с одним или более вводами данных и одним или более выводами данных. Вводы данных, соответственно, связаны с типами входных данных, и выводы данных, соответственно, связаны с типами выходных данных соответственно. Типы входных данных и типы выходных данных шифруются и заверяются согласно схеме обязательств для получения соответствующих заверяющих значений. Типы входных данных и типы выходных данных не раскрываются одному или более узлам.
[82] Блок 402 содержит: проверку, одним или более узлами, согласованности между типами входных данных и типами выходных данных. В некоторых вариантах осуществления, проверка согласованности между типами входных данных и типами выходных данных содержит: получение параметра R и базисной точки G (см., например, R на этапах 2.4 и 2.5, G на этапе 3.1); получение разностей между парами заверяющих значений типов входных активов и типы выходных активов (см., например, этап, аналогичный этапу 2.1); конкатенацию полученных разностей (см., например, этап 3.1); шифрование конкатенированных разностей с помощью хеш-функции для получения шифрованного значения x (см., например, этап 3.1); получение суммы C многочленов на основе, по меньшей мере, полученных разностей и шифрованного значения x (см., например, этап 3.2); и определение, равна ли сумма C произведению параметра R и базисной точки G (см., например, этап 3.3).
[83] Блок 403 содержит: в ответ на определение, что типы входных данных и типы выходных данных согласованы, добавление, одним или более узлами, транзакции в блокчейновую сеть.
[84] Блок 404 содержит: в ответ на определение, что типы входных данных и типы выходных данных не согласованы, отказ, одним или более узлами, от добавления транзакции к блокчейновой сети.
[85] В некоторых вариантах осуществления, способ дополнительно содержит: в ответ на определение, что сумма C равна произведению параметра R и базисной точки G, определение, что типы входных данных и типы выходных данных согласованы; и в ответ на определение, что сумма C не равна произведению параметра R и базисной точки G, определение, что типы входных данных и типы выходных данных не согласованы.
[86] По этой причине, инициатор транзакции может предоставлять информацию для блокчейновых узлов для проверки транзакции на основе согласованности типов активов, вводимых и выводимых из транзакции без раскрытия фактических типов активов и без возможности изменения предоставленной информации. Выделение порядковых номеров (например, хешей) для каждого типа актива увеличивает и рандомизирует представление каждого типа актива, что затрудняет инициатору транзакции фальсификацию типа актива для прохождения проверки. Дополнительно, вследствие существования случайного числа r, активы одного и того же типа, зашифрованные в разные моменты времени, не одинаковы. Применение схемы обязательств Педерсена для шифрования хеша типа актива повышает уровень защиты персональной информации типа актива. Таким образом, на этапах 2.1-2.5, инициатор транзакции может доказывать другим узлам, что типы активов транзакции действительны, не раскрывая типы активов. Например, получаются разности между типами входных и выходных активов, на основе которых строятся многочлены, что позволят инициатору транзакции передавать преобразованные типы активов другим узлам для доказательства согласованности типов активов и действительности транзакции. В то же время, вероятностью того, что инициатор транзакции или другой узел способен фальсифицировать тип актива, можно пренебречь, поскольку x вычисляется путем хеширования, чтобы служить основанием различных показательных функций в многочленах. Кроме того, раскрытие R позволяет другим узлам проверять согласованность типов активов в транзакции без известности типов активов, на этапах 3.1-3.3. Поэтому раскрытые системы и способы позволяют третьим сторонам проверять информацию данных, поддерживая при этом исключительную защиту персональной информации.
[87] Описанные здесь методы реализуются одним или более вычислительными устройствами специального назначения. Вычислительные устройства специального назначения могут быть настольными компьютерными системами, серверными компьютерными системами, портативными компьютерными системами, карманными устройствами, сетевыми устройствами или любым другим устройством или комбинацией устройств, которые включают в себя аппаратную и/или программную логику для осуществления методов. Вычислительное(ые) устройство(а), в целом, управляются и координируются программным обеспечением операционной системы. Традиционные операционные системы управляют выполнением компьютерных процессов и планируют его, осуществляют управление памятью, обеспечивают файловую систему, сетевую связь, службы I/O и обеспечивают функциональные возможности пользовательского интерфейса, например, графического пользовательского интерфейса (ʺGUIʺ), помимо прочего.
[88] На фиг. 5 показана блок-схема, которая демонстрирует компьютерную систему 500, в которой можно реализовать любой из описанных здесь вариантов осуществления. Система 500 может быть реализована в любом из описанных здесь узлов и выполнена с возможностью осуществлять соответствующие этапы способов защиты информации. Компьютерная система 500 включает в себя шину 502 или другой механизм связи для передачи информации, один или более аппаратных процессоров 504, соединенных с шиной 502 для обработки информации. Аппаратные процессоры 504 могут представлять собой, например, один или более микропроцессоров общего назначения.
[89] Компьютерная система 500 также включает в себя основную память 506, например, оперативную память (RAM), кэш-память и/или другие динамические запоминающие устройства, подключенные к шине 502 для сохранения информации и инструкций, подлежащих выполнению процессором(ами) 504. Основная память 506 также может использоваться для сохранения временных переменных или другой промежуточной информации в ходе выполнения инструкций, подлежащих выполнению процессором(ами) 504. Такие инструкции, хранящиеся на носителях данных, доступных процессору(ам) 504, превращают компьютерную систему 500 в машину специального назначения, которая специализирована для осуществления операций, заданных в инструкциях. Компьютерная система 500 дополнительно включает в себя постоянную память (ROM) 508 или другое статическое запоминающее устройство, подключенное к шине 502, для хранения статической информации и инструкций для процессора(ов) 504. Запоминающее устройство 510, например, магнитный диск, оптический диск или карта флэш-памяти (флэш-носитель) на USB и т.д., обеспечивается и подключается к шине 502 для сохранения информации и инструкций.
[90] Компьютерная система 500 может осуществлять описанные здесь методы с использованием специализированной аппаратной логики, один или более ASIC или FPGA, программно-аппаратное обеспечение и/или программная логика, которая, совместно с компьютерной системой, предписывает или программирует компьютерную систему 500 быть машиной специального назначения. Согласно одному варианту осуществления, описанные здесь операции, способы и процессы осуществляются компьютерной системой 500, когда процессор(ы) 504 выполняют одну или более последовательностей из одной или более инструкций, содержащихся в основной памяти 506. Такие инструкции могут считываться в основную память 506 с другого носителя данных, например, запоминающего устройства 510. Выполнение последовательностей инструкций, содержащихся в основной памяти 506, предписывает процессору(ам) 504 осуществлять процесс описанные здесь этапы. В альтернативных вариантах осуществления, аппаратная схема может использоваться вместо программных инструкций или совместно с ними.
[91] Основная память 506, ROM 508 и/или хранилище 510 может включать в себя долговременные носители данных. Используемый здесь термин ʺдолговременные носителиʺ и аналогичные термины, означает носители, где хранятся данные и/или инструкции, которые предписывают машине действовать тем или иным образом, носители исключают переходные (кратковременные) сигналы. Такие долговременные носители могут содержать энергонезависимые носители и/или энергозависимые носители. Энергонезависимые носители включает в себя, например, оптические или магнитные диски, например, запоминающее устройство 510. Энергозависимые носители включают в себя динамическую память, например, основную память 506. Общие формы долговременных носителей включают в себя, например, флоппи-диск, гибкий диск, жесткий диск, твердотельный привод, магнитную ленту или любой другой магнитный носитель данных, CD-ROM, любой другой оптический носитель данных, любой физический носитель с шаблонами отверстий, RAM, PROM, EPROM, FLASH-EPROM, NVRAM, любую другую микросхему памяти или картриджа и их сетевые версии.
[92] Компьютерная система 500 также включает в себя сетевой интерфейс 518, подключенный к шине 502. Сетевой интерфейс 518 обеспечивает двустороннюю передачу данных, подключающуюся к одной или более сетевым линиям связи, которые подключены к одной или более локальным сетям. Например, сетевой интерфейс 518 может представлять собой карту цифровой сети связи с комплексными услугами (ISDN), кабельный модем, спутниковый модем или модем для обеспечения соединения для передачи данных для соответствующего типа телефонной линии. В порядке другого примера, сетевой интерфейс 518 может представлять собой карту локальной сети (LAN) для обеспечения соединения для передачи данных для совместимой LAN (или компонента WAN, соединенного с WAN). Также можно реализовать беспроводные линии связи. В любой подобной реализации, сетевой интерфейс 518 отправляет и принимает электрические, электромагнитные или оптические сигналы, которые несут потоки цифровых данных, представляющие различные типы информации.
[93] Компьютерная система 500 может отправлять сообщения и принимать данные, включающий в себя программный код, через сеть(и), сетевую линию связи и сетевой интерфейс 518. В примере интернета, сервер может передавать запрошенный код для прикладной программы через интернет, ISP, локальную сеть и сетевой интерфейс 518.
[94] Принятый код может выполняться процессором(ами) 504, когда он принимается и/или сохраняется в запоминающем устройстве 510 или другом энергонезависимом хранилище для выполнения в дальнейшем.
[95] Каждый из процессов, способов и алгоритмов, описанных в предыдущих разделах, может быть реализован и полностью или частично автоматизироваться в модулях кода, исполняемых одной или более компьютерными системами или компьютерными процессорами, содержащими компьютерное оборудование. Процессы и алгоритмы могут осуществляться частично или полностью в схеме специального назначения.
[96] Различные вышеописанные признаки и процессы можно использовать независимо друг от друга или можно комбинировать по-разному. Все возможные комбинации и подкомбинации подлежат включению в объем этого изобретения. Кроме того, в некоторых реализациях некоторые блоки способа или процесса могут быть исключены. Описанные здесь способы и процессы также не ограничиваются никакой конкретной последовательностью, и блоки или связанные с ними состояния могут осуществляться в других надлежащих последовательностях. Например, описанные блоки или состояния могут осуществляться в порядке, отличном от конкретно раскрытого, или множественные блоки или состояния можно комбинировать в единый блок или состояние. Иллюстративные блоки или состояния могут осуществляться последовательно, параллельно, или каким-либо другим способом. Блоки или состояния могут добавляться в раскрытые иллюстративные варианты осуществления или удаляться из них. Иллюстративные системы и компоненты, описанный здесь, могут быть сконфигурированы иначе, чем описаны. Например, элементы могут добавляться, удаляться или переставляться по сравнению с раскрытыми иллюстративными вариантами осуществления.
[97] Различные операции описанных здесь иллюстративных способов могут осуществляться, по меньшей мере, частично, посредством алгоритма. Алгоритм может содержаться в программных кодах или инструкциях, хранящихся в памяти (например, вышеописанного долговременного машиночитаемого носителя данных). Такой алгоритм может содержать алгоритм машинного обучения. В некоторых вариантах осуществления, алгоритм машинного обучения может в явном виде не программировать компьютеры для осуществления функции, но может осуществляться из обучающих данных для создания прогностической модели, которая осуществляет функцию.
[98] Различные операции описанных здесь иллюстративных способов может осуществляться, по меньшей мере, частично, одним или более процессорами, которые временно конфигурируются (например, программным обеспечением) или постоянно конфигурируются для осуществления соответствующих операций. Будучи сконфигурированы на временной или постоянной основе, такие процессоры могут образовывать процессорно-реализованные машины, которые действуют для осуществления описанных здесь одной или более операций или функций.
[99] Аналогично, описанные здесь способы могут быть, по меньшей мере, частично процессорно-реализованы, причем конкретный процессор или процессоры являются примером оборудования. Например, по меньшей мере, некоторые из операций способа могут осуществляться одним или более процессорами или процессорно-реализованными машинами. Кроме того, один или более процессоров также могут действовать для поддержки эксплуатационных показателей соответствующих операций в среде ʺоблачных вычисленийʺ или в качестве ʺпрограммного обеспечения как услугиʺ (SaaS). Например, по меньшей мере, некоторые из операций могут осуществляться группой компьютеров (в качестве примеров машин, включающих в себя процессоры), причем эти операции доступны через сеть (например, интернет) и через один или более надлежащих интерфейсов (например, интерфейс прикладных программ (API)).
[100] Эксплуатационные показатели некоторых из операций могут распределяться между процессорами, не только присутствующими в единой машине, но установленными на нескольких машинах. В некоторых иллюстративных вариантах осуществления, процессоры или процессорно-реализованные машины могут располагаться в одном географическом положении (например, в домашней среде, офисной среде или серверной ферме). В других иллюстративных вариантах осуществления, процессоры или процессорно-реализованные машины могут распределяться в нескольких географических положениях.
[101] В этом описании изобретения, множественные экземпляры могут осуществлять компоненты, операции или структуры, описанные как единственный экземпляр. Хотя отдельные операции одного или более способов проиллюстрированы и описаны как отдельные операции, одна или более из отдельных операций могут осуществляться одновременно, и не требуется, чтобы операции осуществлялись в проиллюстрированном порядке. Структуры и функциональные возможности, представленные как отдельные компоненты в иллюстративных конфигурациях, могут осуществляться как комбинированная конструкция или компонент. Аналогично, структуры и функциональные возможности, представленные в виде единого компонента, могут осуществляться как отдельные компоненты. Эти и другие вариации, модификации, добавления и усовершенствования подлежат включению в объем настоящего изобретения.
[102] Хотя настоящее изобретение описано со ссылкой на конкретные иллюстративные варианты осуществления, различные модификации и изменения можно вносить в эти варианты осуществления, не выходя за рамки более широкого объема вариантов осуществления настоящего изобретения. Такие варианты осуществления изобретения может именоваться здесь, по отдельности или совместно, термином ʺизобретениеʺ лишь для удобства и без намерения добровольно ограничивать объем данной заявки никаким отдельным раскрытием или понятием, если фактически раскрыто более одного.

Claims (103)

1. Компьютерно-реализуемый способ защиты информации, содержащий этапы, на которых:
определяют один или более вводов данных и один или более выводов данных для транзакции, причем вводы данных связаны с типами входных данных соответственно, и выводы данных связаны с типами выходных данных соответственно;
шифруют типы входных данных и типы выходных данных;
заверяют каждый из зашифрованных типов входных данных и зашифрованных типов выходных данных с помощью схемы обязательств для получения соответствующих заверяющих значений;
получают, по меньшей мере, параметр R на основе, по меньшей мере, заверяющих значений; и
предоставляют транзакцию одному или более узлам в блокчейновой сети с раскрытием параметра R и без раскрытия типов входных данных и типов выходных данных для узлов для проверки согласованности между типами входных данных и типами выходных данных.
2. Способ по п.1, в котором шифрование типов входных данных и типов выходных данных содержит этап, на котором шифруют типы входных данных и типы выходных данных с помощью хеш-функции.
3. Способ по п.1, в котором схема обязательств содержит схему обязательств Педерсена.
4. Способ по п.1, в котором:
схема обязательств содержит, по меньшей мере, коэффициент ослепления; и
коэффициент ослепления изменяется в зависимости от времени заверения зашифрованных типов входных данных и зашифрованных типов выходных данных.
5. Способ по п.1, в котором узлам предписывают проверять согласованность между типами входных данных и типами выходных данных без известности типов входных данных и типов выходных данных.
6. Способ по п.1, в котором:
транзакция основана, по меньшей мере, на модели неизрасходованных выходов транзакции (UTXO); и
вводы данных и выводы данных содержат типы одного или более активов, подвергающихся транзакции.
7. Способ по п.1, в котором:
схема обязательств содержит множество коэффициентов ослепления, соответственным образом соответствующих типам входных данных и типам выходных данных; и
получение, по меньшей мере, параметра R на основе, по меньшей мере, заверяющих значений содержит этапы, на которых:
получают разности между парами заверяющих значений;
конкатенируют полученные разности;
шифруют конкатенированные разности с помощью хеш-функции для получения шифрованного значения x; и
получают параметр R на основе, по меньшей мере, шифрованного значения x и разностей между парами коэффициентов ослепления.
8. Способ по п.1, в котором предоставление транзакции одному или более узлам в блокчейновой сети с раскрытием параметра R и без раскрытия типов входных данных и типов выходных данных для узлов для проверки согласованности между типами входных данных и типами выходных данных содержит этап, на котором предоставляют транзакцию одному или более узлам в блокчейновой сети с раскрытием параметра R и без раскрытия типов входных данных и типов выходных данных для предписания узлам:
получать параметр R и базисную точку G;
получать разности между парами заверяющих значений;
конкатенировать полученные разности;
шифровать конкатенированные разности с помощью хеш-функции для получения шифрованного значения x;
получать сумму C многочленов на основе, по меньшей мере, полученных разностей и шифрованного значения x;
в ответ на определение того, что сумма C равна произведению параметра R и базисной точки G, определять, что типы входных данных и типы выходных данных согласованы; и
в ответ на определение того, что сумма C не равна произведению параметра R и базисной точки G, определять, что типы входных данных и типы выходных данных не согласованы.
9. Долговременный машиночитаемый носитель данных, на котором сохранены инструкции, которые должны исполняться процессором для предписания процессору осуществлять операции, содержащие:
определение одного или более вводов данных и одного или более выводов данных для транзакции, причем вводы данных связаны с типами входных данных соответственно, и выводы данных связаны с типами выходных данных соответственно;
шифрование типов входных данных и типов выходных данных;
заверение каждого из зашифрованных типов входных данных и зашифрованных типов выходных данных с помощью схемы обязательств для получения соответствующих заверяющих значений;
получение, по меньшей мере, параметра R на основе, по меньшей мере, заверяющих значений; и
предоставление транзакции одному или более узлам в блокчейновой сети с раскрытием параметра R и без раскрытия типов входных данных и типов выходных данных для узлов для проверки согласованности между типами входных данных и типами выходных данных.
10. Носитель данных по п.9, при этом шифрование типов входных данных и типов выходных данных содержит шифрование типов входных данных и типов выходных данных с помощью хеш-функции.
11. Носитель данных по п.9, при этом схема обязательств содержит схему обязательств Педерсена.
12. Носитель данных по п.9, при этом:
схема обязательств содержит, по меньшей мере, коэффициент ослепления; и
коэффициент ослепления изменяется в зависимости от времени заверения зашифрованных типов входных данных и зашифрованных типов выходных данных.
13. Носитель данных по п.9, при этом узлам предписывается проверять согласованность между типами входных данных и типами выходных данных без известности типов входных данных и типы выходных данных.
14. Носитель данных по п.9, при этом:
транзакция основана, по меньшей мере, на модели неизрасходованных выходов транзакции (UTXO); и
вводы данных и выводы данных содержат типы одного или более активов, подвергающихся транзакции.
15. Носитель данных по п.9, при этом:
схема обязательств содержит множество коэффициентов ослепления, соответственным образом соответствующих типам входных данных и типам выходных данных; и
получение, по меньшей мере, параметра R на основе, по меньшей мере, заверяющих значений содержит:
получение разностей между парами заверяющих значений;
конкатенацию полученных разностей;
шифрование конкатенированных разностей с помощью хеш-функции для получения шифрованного значения x; и
получение параметра R на основе, по меньшей мере, шифрованного значения x и разностей между парами коэффициентов ослепления.
16. Носитель данных по п.9, при этом предоставление транзакции одному или более узлам в блокчейновой сети с раскрытием параметра R и без раскрытия типов входных данных и типов выходных данных для узлов для проверки согласованности между типами входных данных и типами выходных данных содержит предоставление транзакции одному или более узлам в блокчейновой сети с раскрытием параметра R и без раскрытия типов входных данных и типов выходных данных для предписания узлам:
получать параметр R и базисную точку G;
получать разности между парами заверяющих значений;
конкатенировать полученные разности;
шифровать конкатенированные разности с помощью хеш-функции для получения шифрованного значения x;
получать сумму C многочленов на основе, по меньшей мере, полученных разностей и шифрованного значения x;
в ответ на определение того, что сумма C равна произведению параметра R и базисной точки G, определять, что типы входных данных и типы выходных данных согласованы; и
в ответ на определение того, что сумма C не равна произведению параметра R и базисной точки G, определять, что типы входных данных и типы выходных данных не согласованы.
17. Система для защиты информации, содержащая процессор и долговременный машиночитаемый носитель данных, подключенный к процессору, причем на носителе данных хранятся инструкции, которые должны исполняться процессором для предписания системе осуществлять операции, содержащие:
определение одного или более вводов данных и одного или более выводов данных для транзакции, причем вводы данных связаны с типами входных данных соответственно, и выводы данных связаны с типами выходных данных соответственно;
шифрование типов входных данных и типов выходных данных;
заверение каждого из зашифрованных типов входных данных и зашифрованных типов выходных данных с помощью схемы обязательств для получения соответствующих заверяющих значений;
получение, по меньшей мере, параметра R на основе, по меньшей мере, заверяющих значений; и
предоставление транзакции одному или более узлам в блокчейновой сети с раскрытием параметра R и без раскрытия типов входных данных и типов выходных данных для узлов для проверки согласованности между типами входных данных и типами выходных данных.
18. Компьютерно-реализуемый способ защиты информации, содержащий этапы, на которых:
получают на одном или более узлах в блокчейновой сети транзакцию, инициированную узлом-инициатором, причем:
транзакция связана с одним или более вводами данных и одним или более выводами данных,
вводы данных соответственно связаны с типами входных данных, и выводы данных соответственно связаны с типами выходных данных, соответственно,
типы входных данных и типы выходных данных шифруются и заверяются согласно схеме обязательств для получения соответствующих заверяющих значений, и
типы входных данных и типы выходных данных не раскрываются одному или более узлам;
проверяют на одном или более узлах согласованность между типами входных данных и типами выходных данных;
в ответ на определение того, что типы входных данных и типы выходных данных согласованы, добавляют на одном или более узлах транзакцию в блокчейновую сеть; и
в ответ на определение того, что типы входных данных и типы выходных данных не согласованы, отказываются на одном или более узлах от добавления транзакции к блокчейновой сети.
19. Способ по п.18, в котором проверка согласованности между типами входных данных и типами выходных данных содержит этапы, на которых:
получают параметр R и базисную точку G;
получают разности между парами заверяющих значений;
конкатенируют полученные разности;
шифруют конкатенированные разности с помощью хеш-функции для получения шифрованного значения x;
получают сумму C многочленов на основе, по меньшей мере, полученных разностей и шифрованного значения x; и
определяют, равна ли сумма C произведению параметра R и базисной точки G.
20. Способ по п.19, дополнительно содержащий этапы, на которых:
в ответ на определение того, что сумма C равна произведению параметра R и базисной точки G, определяют, что типы входных данных и типы выходных данных согласованы; и
в ответ на определение того, что сумма C не равна произведению параметра R и базисной точки G, определяют, что типы входных данных и типы выходных данных не согласованы.
21. Долговременный машиночитаемый носитель данных, на котором сохранены инструкции, которые должны исполняться процессором для предписания процессору осуществлять операции, содержащие:
получение, одним или более узлами в блокчейновой сети, транзакции, инициированной узлом-инициатором, причем:
транзакция связана с одним или более вводами данных и одним или более выводами данных,
вводы данных соответственно связаны с типами входных данных, и выводы данных соответственно связаны с типами выходных данных, соответственно,
типы входных данных и типы выходных данных шифруются и заверяются согласно схеме обязательств для получения соответствующих заверяющих значений, и
типы входных данных и типы выходных данных не раскрываются одному или более узлам;
проверку, одним или более узлами, согласованности между типами входных данных и типами выходных данных;
в ответ на определение того, что типы входных данных и типы выходных данных согласованы, добавление, одним или более узлами, транзакции в блокчейновую сеть; и
в ответ на определение того, что типы входных данных и типы выходных данных не согласованы, отказ одним или более узлами от добавления транзакции к блокчейновой сети.
22. Система для защиты информации, содержащая процессор и долговременный машиночитаемый носитель данных, подключенный к процессору, причем на носителе данных хранятся инструкции, которые должны исполняться процессором для предписания системе осуществлять операции, содержащие:
получение, одним или более узлами в блокчейновой сети, транзакции, инициированной узлом-инициатором, причем:
транзакция связана с одним или более вводами данных и одним или более выводами данных,
вводы данных соответственно связаны с типами входных данных, и выводы данных соответственно связаны с типами выходных данных, соответственно,
типы входных данных и типы выходных данных шифруются и заверяются согласно схеме обязательств для получения соответствующих заверяющих значений, и
типы входных данных и типы выходных данных не раскрываются одному или более узлам;
проверку, одним или более узлами, согласованности между типами входных данных и типами выходных данных;
в ответ на определение того, что типы входных данных и типы выходных данных согласованы, добавление, одним или более узлами, транзакции в блокчейновую сеть; и
в ответ на определение того, что типы входных данных и типы выходных данных не согласованы, отказ одним или более узлами от добавления транзакции к блокчейновой сети.
RU2019111923A 2018-11-27 2018-11-27 Система и способ защиты информации RU2719311C1 (ru)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/117548 WO2019072275A2 (en) 2018-11-27 2018-11-27 SYSTEM AND METHOD FOR INFORMATION PROTECTION

Publications (1)

Publication Number Publication Date
RU2719311C1 true RU2719311C1 (ru) 2020-04-17

Family

ID=66100052

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2019111923A RU2719311C1 (ru) 2018-11-27 2018-11-27 Система и способ защиты информации

Country Status (16)

Country Link
US (1) US10938549B2 (ru)
EP (1) EP3552158B1 (ru)
JP (1) JP6756041B2 (ru)
KR (1) KR102128210B1 (ru)
CN (1) CN110730963B (ru)
AU (1) AU2018322507B2 (ru)
BR (1) BR112019007232B1 (ru)
CA (1) CA3037833C (ru)
ES (1) ES2863552T3 (ru)
MX (1) MX2019004201A (ru)
PH (1) PH12019500532A1 (ru)
PL (1) PL3552158T3 (ru)
RU (1) RU2719311C1 (ru)
SG (1) SG11201902773VA (ru)
WO (1) WO2019072275A2 (ru)
ZA (1) ZA201902459B (ru)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG11202000804PA (en) 2017-08-15 2020-02-27 Nchain Holdings Ltd Threshold digital signature method and system
EP3669491B1 (en) * 2017-08-15 2024-02-07 nChain Licensing AG Threshold ecdsa for securing bitcoin wallet
GB201805633D0 (en) * 2018-04-05 2018-05-23 Nchain Holdings Ltd Computer implemented method and system
US11409734B2 (en) * 2018-10-29 2022-08-09 Electronics And Telecommunications Research Institute Blockchain system and operation method thereof
US10790990B2 (en) * 2019-06-26 2020-09-29 Alibaba Group Holding Limited Ring signature-based anonymous transaction
CN111353886A (zh) * 2020-02-17 2020-06-30 杭州溪塔科技有限公司 基于utxo模型的资产交易方法、装置和电子设备
CN111340494B (zh) * 2020-05-15 2020-08-28 支付宝(杭州)信息技术有限公司 资产类型一致性证据生成、交易、交易验证方法及***
CN111858769B (zh) * 2020-07-28 2024-05-03 北京金山云网络技术有限公司 数据使用方法、装置、节点设备及存储介质
US11558374B2 (en) * 2021-03-31 2023-01-17 Lenovo (Singapore) Pte. Ltd. Systems, apparatus, and methods for verifying a password utilizing commitments
CN114092242A (zh) * 2021-11-03 2022-02-25 支付宝(杭州)信息技术有限公司 基于范围证明实现隐私交易的方法和***
CN114390065B (zh) * 2022-01-24 2024-03-19 浙江数秦科技有限公司 一种区块链网络数据快速传输方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2636105C1 (ru) * 2011-09-29 2017-11-20 Амазон Текнолоджис, Инк. Формирование ключа в зависимости от параметра
CN107451175A (zh) * 2017-05-23 2017-12-08 阿里巴巴集团控股有限公司 一种基于区块链的数据处理方法及设备
CN108282459A (zh) * 2017-12-18 2018-07-13 ***股份有限公司 基于智能合约的数据传递方法及***
WO2018185724A1 (en) * 2017-04-07 2018-10-11 nChain Holdings Limited Method and system for secure data record distribution using a blockchain
CN108683669A (zh) * 2018-05-19 2018-10-19 深圳市图灵奇点智能科技有限公司 数据验证方法和安全多方计算***

Family Cites Families (119)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4926480A (en) 1983-08-22 1990-05-15 David Chaum Card-computer moderated systems
JP2000207466A (ja) 1999-01-18 2000-07-28 Nippon Telegr & Teleph Corp <Ntt> 電子商取引文書を媒介とした電子商取引方法および電子商取引手段、ならびにプログラムを記録した記録媒体。
JP2000299683A (ja) 1999-02-10 2000-10-24 Nippon Telegr & Teleph Corp <Ntt> 複数公開鍵保存方法、その装置およびそのプログラム記録媒体
US7716484B1 (en) 2000-03-10 2010-05-11 Rsa Security Inc. System and method for increasing the security of encrypted secrets and authentication
WO2001080479A1 (en) 2000-04-14 2001-10-25 Wu Wen Delayed commitment scheme to prevent attacks based on compromised certificates
EP1205889A1 (en) 2000-11-10 2002-05-15 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Returning of change in an electronic payment system
US7181017B1 (en) 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
US7509498B2 (en) 2001-06-29 2009-03-24 Intel Corporation Digital signature validation
GB2378282A (en) 2001-07-31 2003-02-05 Hewlett Packard Co Automated multivariate negotiation using convertable undeniable signatures
US7260720B2 (en) 2001-10-19 2007-08-21 Matsushita Electric Industrial Co., Ltd. Device authentication system and method for determining whether a plurality of devices belong to a group
DE602004016678D1 (de) 2003-11-03 2008-10-30 Koninkl Philips Electronics Nv Verfahren und einrichtung zur effizienten mehrteilnehmer-vervielfachung
US8156029B2 (en) 2005-02-24 2012-04-10 Michael Gregory Szydlo Process for verifiably communicating risk characteristics of an investment portfolio
ES2380026T3 (es) 2005-05-10 2012-05-07 Dts Ltd. Procedimiento de transación y procedimiento de verificación
JP4435076B2 (ja) 2005-11-18 2010-03-17 フェリカネットワークス株式会社 携帯端末,データ通信方法,およびコンピュータプログラム
US7725446B2 (en) 2005-12-19 2010-05-25 International Business Machines Corporation Commitment of transactions in a distributed system
KR101316150B1 (ko) 2006-01-25 2013-10-08 파나소닉 주식회사 단말 장치, 서버 장치 및 디지털 컨텐츠 배포 시스템
TW200820108A (en) 2006-05-24 2008-05-01 Ibm Method for automatically validating a transaction, electronic payment system and computer program
US20090177591A1 (en) 2007-10-30 2009-07-09 Christopher Thorpe Zero-knowledge proofs in large trades
US20090281949A1 (en) 2008-05-12 2009-11-12 Appsware Wireless, Llc Method and system for securing a payment transaction
US8543091B2 (en) 2008-06-06 2013-09-24 Ebay Inc. Secure short message service (SMS) communications
US8281131B2 (en) 2008-08-28 2012-10-02 International Business Machines Corporation Attributes in cryptographic credentials
US8744077B2 (en) 2008-10-28 2014-06-03 International Business Machines Corporation Cryptographic encoding and decoding of secret data
JP5264450B2 (ja) 2008-12-02 2013-08-14 日本電信電話株式会社 ビットコミットメント検証システム、ビットコミットメント装置、検証装置、ビットコミットメント検証方法、ビットコミットメント方法、検証方法、ビットコミットメントプログラム、検証プログラム
JP2013514556A (ja) 2008-12-23 2013-04-25 エムティエヌ・モバイル・マネー・エスエイ・(プロプライエタリー)・リミテッド 安全に取引を処理するための方法及びシステム
US8762741B2 (en) 2009-01-29 2014-06-24 Microsoft Corporation Privacy-preserving communication
US8825555B2 (en) 2010-06-30 2014-09-02 International Business Machines Corporation Privacy-sensitive sample analysis
US8527777B2 (en) 2010-07-30 2013-09-03 International Business Machines Corporation Cryptographic proofs in data processing systems
US8661240B2 (en) 2011-04-29 2014-02-25 International Business Machines Corporation Joint encryption of data
US20120317034A1 (en) 2011-06-13 2012-12-13 Microsoft Corporation Transparent virtual currency using verifiable tokens
US9858401B2 (en) 2011-08-09 2018-01-02 Biogy, Inc. Securing transactions against cyberattacks
JP5364141B2 (ja) 2011-10-28 2013-12-11 楽天株式会社 携帯端末、店舗端末、送信方法、受信方法、決済システム、決済方法、プログラムおよびコンピュータ読み取り可能な記憶媒体
EP2634738A1 (en) 2012-03-02 2013-09-04 Alcatel Lucent Decentralized electronic transfer system
FR2993382B1 (fr) 2012-07-13 2015-07-03 Oberthur Technologies Entite electronique securisee pour l'autorisation d'une transaction
GB201310084D0 (en) 2013-06-06 2013-07-17 Mastercard International Inc Improvements to electronic authentication systems
US9853819B2 (en) 2013-08-05 2017-12-26 Guardtime Ip Holdings Ltd. Blockchain-supported, node ID-augmented digital record signature method
US11055707B2 (en) 2014-06-24 2021-07-06 Visa International Service Association Cryptocurrency infrastructure system
KR20160024185A (ko) 2014-08-25 2016-03-04 아이보 (주) SE(Secure element)를 이용한 암호화폐 관리 시스템 및 그 방법
GB201419016D0 (en) 2014-10-24 2014-12-10 Visa Europe Ltd Transaction Messaging
JP6364132B2 (ja) 2015-03-31 2018-07-25 ナスダック, インコーポレイテッドNasdaq, Inc. ブロックチェーン取引記録のシステムおよび方法
EP3281171A4 (en) 2015-04-06 2018-11-07 Bitmark Inc. System and method for decentralized title recordation and authentication
US9397985B1 (en) 2015-04-14 2016-07-19 Manifold Technology, Inc. System and method for providing a cryptographic platform for exchanging information
US10026082B2 (en) 2015-05-21 2018-07-17 Mastercard International Incorporated Method and system for linkage of blockchain-based assets to fiat currency accounts
US9870562B2 (en) 2015-05-21 2018-01-16 Mastercard International Incorporated Method and system for integration of market exchange and issuer processing for blockchain-based transactions
US11062303B2 (en) * 2015-06-08 2021-07-13 Blockstream Corporation Cryptographically concealing amounts transacted on a ledger while preserving a network's ability to verify the transaction
RU2018103181A (ru) 2015-06-30 2019-07-31 Виза Интернэшнл Сервис Ассосиэйшн Конфиденциальные аутентификация и обеспечение
US20180191503A1 (en) 2015-07-14 2018-07-05 Fmr Llc Asynchronous Crypto Asset Transfer and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems
US20170085555A1 (en) 2015-07-14 2017-03-23 Fmr Llc Point-to-Point Transaction Guidance Apparatuses, Methods and Systems
WO2017091530A1 (en) 2015-11-24 2017-06-01 Gartland & Mellina Group Blockchain solutions for financial services and other transaction-based industries
US11210663B2 (en) 2015-11-30 2021-12-28 Shapeshift Ag Digital asset zero-custody switch
US10013573B2 (en) 2015-12-16 2018-07-03 International Business Machines Corporation Personal ledger blockchain
US11354658B2 (en) 2016-02-11 2022-06-07 Mastercard International Incorporated Method and system for offline blockchain exchanges
US20170243193A1 (en) 2016-02-18 2017-08-24 Skuchain, Inc. Hybrid blockchain
BR112018016234A2 (pt) 2016-02-23 2019-01-02 Nchain Holdings Ltd método implementado por computador para controlar o acesso a um recurso, sistemas baseados em computador e método para controle de acesso a uma carteira digital
EP3420669B1 (en) 2016-02-23 2021-03-24 Nchain Holdings Limited Cryptographic method and system for secure extraction of data from a blockchain
SG10201805995VA (en) 2016-02-23 2018-08-30 Nchain Holdings Ltd Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
US10237259B2 (en) 2016-02-29 2019-03-19 Securekey Technologies Inc. Systems and methods for distributed identity verification
JP6920333B2 (ja) 2016-04-11 2021-08-18 エヌチェーン ホールディングス リミテッドNchain Holdings Limited ブロックチェーン上のセキュアなピアツーピア通信の方法
CN107306183B (zh) 2016-04-22 2021-12-21 索尼公司 客户端、服务端、方法和身份验证***
KR101780635B1 (ko) 2016-04-28 2017-09-21 주식회사 코인플러그 인증 정보의 생성, 등록, 파기 방법 및 인증 지원 서버
US10046228B2 (en) 2016-05-02 2018-08-14 Bao Tran Smart device
US10447478B2 (en) 2016-06-06 2019-10-15 Microsoft Technology Licensing, Llc Cryptographic applications for a blockchain system
KR101802655B1 (ko) 2016-06-10 2017-11-29 인하대학교 산학협력단 원격 서버를 이용한 안전한 소프트웨어 기반 일회용 비밀번호 생성 방법
US11062366B2 (en) 2016-06-24 2021-07-13 Raise Marketplace Inc. Securely processing exchange items in a data communication system
US20180006823A1 (en) 2016-07-01 2018-01-04 Qualcomm Incorporated Multi-hop secure content routing based on cryptographic partial blind signatures and embedded terms
KR101795695B1 (ko) * 2016-07-14 2017-12-01 주식회사 코인플러그 메신저 서비스를 통하여 송수신하는 데이터에 대한 기록 서비스 및 검증 서비스를 제공하는 방법, 및 이를 이용한 서버
CN109478282A (zh) 2016-07-15 2019-03-15 维萨国际服务协会 通过交易装置进行数字资产分发
EP3273635B1 (en) 2016-07-20 2019-10-30 Mastercard International Incorporated Secure channel establishment
WO2018019364A1 (en) 2016-07-26 2018-02-01 NEC Laboratories Europe GmbH Method for controlling access to a shared resource
US10067810B2 (en) 2016-07-28 2018-09-04 Cisco Technology, Inc. Performing transactions between application containers
GB201613176D0 (en) 2016-07-29 2016-09-14 Eitc Holdings Ltd Computer-implemented method and system
JP6971019B2 (ja) 2016-09-26 2021-11-24 Gmoインターネット株式会社 データ管理システム、情報処理装置、プログラム、及び、データ管理方法
US10769600B2 (en) 2016-09-26 2020-09-08 International Business Machines Corporation Cryptocurrency transactions using debit and credit values
CN106549749B (zh) 2016-12-06 2019-12-24 杭州趣链科技有限公司 一种基于加法同态加密的区块链隐私保护方法
TWI764971B (zh) 2016-12-30 2022-05-21 美商英特爾公司 物聯網
US20180211313A1 (en) * 2017-01-23 2018-07-26 Viswanatham Narahari Systems, methods and devices for providing and receiving pledges
CN106911470B (zh) 2017-01-23 2020-07-07 北京航空航天大学 一种比特币交易隐私增强方法
CN106845960B (zh) 2017-01-24 2018-03-20 上海壹账通区块链科技有限公司 基于区块链的安全交易方法及***
CN107025602A (zh) 2017-02-24 2017-08-08 杭州象链网络技术有限公司 一种基于联盟链的金融资产交易***构建方法
JP6961960B2 (ja) 2017-03-13 2021-11-05 ソニーグループ株式会社 情報処理装置および情報処理方法
JP6719410B2 (ja) * 2017-03-17 2020-07-08 Kddi株式会社 生成装置、検証装置、及びプログラム
US11095432B2 (en) 2017-04-05 2021-08-17 Samsung Sds Co., Ltd. System for processing data based on blockchain and operating method thereof
US20180293576A1 (en) 2017-04-05 2018-10-11 Samsung Sds Co., Ltd. System for custom currency transaction based on blockchain and operating method thereof
GB201705749D0 (en) 2017-04-10 2017-05-24 Nchain Holdings Ltd Computer-implemented system and method
GB201705858D0 (en) 2017-04-11 2017-05-24 Nchain Holdings Ltd Computer-implemented system and method
GB201706132D0 (en) 2017-04-18 2017-05-31 Nchain Holdings Ltd Computer-implemented system and method
US10198949B2 (en) 2017-04-28 2019-02-05 Mastercard International Incorporated Method and system for parking verification via blockchain
US10560270B2 (en) 2017-05-03 2020-02-11 International Business Machines Corporation Optimal data storage configuration in a blockchain
GB201707168D0 (en) 2017-05-05 2017-06-21 Nchain Holdings Ltd Computer-implemented system and method
GB201707296D0 (en) 2017-05-08 2017-06-21 Nchain Holdings Ltd Computer-implemented system and method
US11165589B2 (en) 2017-05-11 2021-11-02 Shapeshift Ag Trusted agent blockchain oracle
CN107239951A (zh) 2017-06-07 2017-10-10 北京天德科技有限公司 一种基于第三代区块链的可扩展央行数字货币交易方法
WO2018229631A1 (en) 2017-06-14 2018-12-20 nChain Holdings Limited Systems and Methods For Avoiding Or Reducing Cryptographically Stranded Resources On A Blockchain Network
US10333710B2 (en) 2017-09-12 2019-06-25 Qed-It Systems Ltd. Method and system for determining desired size of private randomness using Tsallis entropy
TWI636411B (zh) 2017-09-13 2018-09-21 現代財富控股有限公司 對非區塊鏈節點提供交易不可否認性之系統及其方法
US10361870B2 (en) * 2017-09-14 2019-07-23 The Toronto-Dominion Bank Management of cryptographically secure exchanges of data using permissioned distributed ledgers
CN107679857B (zh) 2017-10-10 2021-04-27 马晶瑶 区块链的跨链交易方法和存储介质
CN108062671A (zh) 2017-11-03 2018-05-22 深圳市轱辘车联数据技术有限公司 数据交易方法、区块链节点服务器及数据提交终端
CN108021821A (zh) * 2017-11-28 2018-05-11 北京航空航天大学 多中心区块链交易隐私保护***及方法
CN108418689B (zh) 2017-11-30 2020-07-10 矩阵元技术(深圳)有限公司 一种适合区块链隐私保护的零知识证明方法和介质
US11257077B2 (en) 2017-11-30 2022-02-22 Visa International Service Association Blockchain system for confidential and anonymous smart contracts
US10831764B2 (en) * 2017-12-02 2020-11-10 International Business Machines Corporation Query processing and access control in a blockchain network
US11227284B2 (en) * 2017-12-13 2022-01-18 Mastercard International Incorporated Method and system for consumer-initiated transactions using encrypted tokens
US10896418B2 (en) 2017-12-29 2021-01-19 Ebay Inc. Secure management of data files using a blockchain
TWM561861U (zh) 2018-01-11 2018-06-11 網家金融科技股份有限公司 網路支付轉帳系統
US10504314B2 (en) 2018-01-29 2019-12-10 Accenture Global Solutions Limited Blockchain-based anonymized cryptologic voting
CN108512650B (zh) * 2018-02-28 2021-03-09 南京思利华信息科技有限公司 面向区块链的动态哈希计算方法、装置、节点及存储介质
CN108288159A (zh) 2018-03-07 2018-07-17 物数(上海)信息科技有限公司 基于多区块链的跨链交易方法、***、设备及存储介质
CN108320228A (zh) 2018-03-07 2018-07-24 物数(上海)信息科技有限公司 跨区块链资产交易方法、平台、设备及存储介质
US10708243B2 (en) 2018-04-24 2020-07-07 Capital One Services, Llc Message encryption using public keychains
CN108711105A (zh) 2018-05-16 2018-10-26 四川吉鼎科技有限公司 一种基于区块链的安全交易验证方法及***
CN108764874B (zh) 2018-05-17 2021-09-07 深圳前海微众银行股份有限公司 基于区块链的匿名转账方法、***及存储介质
CN108667599A (zh) * 2018-05-21 2018-10-16 平安科技(深圳)有限公司 加密方法、装置、计算机设备和存储介质
CN108876332B (zh) 2018-06-04 2020-09-22 清华大学 一种基于生物特征标记认证的区块链安全交易方法及装置
CN109003184A (zh) 2018-06-22 2018-12-14 中链科技有限公司 区块链资产管理方法及装置
JP6956062B2 (ja) 2018-10-30 2021-10-27 株式会社Crypto Garage 取引方法、プログラム、検証装置及び生成方法
KR102151894B1 (ko) 2018-11-07 2020-09-03 알리바바 그룹 홀딩 리미티드 계좌 모델 하에서 퍼블릭 및 프라이빗 트랜잭션을 지원하는 블록체인 시스템
ES2879855T3 (es) 2018-11-27 2021-11-23 Advanced New Technologies Co Ltd Sistema y método para la protección de información
RU2719423C1 (ru) 2018-11-27 2020-04-17 Алибаба Груп Холдинг Лимитед Система и способ защиты информации
PL3545644T3 (pl) 2018-11-27 2021-06-28 Advanced New Technologies Co., Ltd. System i sposób ochrony informacji

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2636105C1 (ru) * 2011-09-29 2017-11-20 Амазон Текнолоджис, Инк. Формирование ключа в зависимости от параметра
WO2018185724A1 (en) * 2017-04-07 2018-10-11 nChain Holdings Limited Method and system for secure data record distribution using a blockchain
CN107451175A (zh) * 2017-05-23 2017-12-08 阿里巴巴集团控股有限公司 一种基于区块链的数据处理方法及设备
CN108282459A (zh) * 2017-12-18 2018-07-13 ***股份有限公司 基于智能合约的数据传递方法及***
CN108683669A (zh) * 2018-05-19 2018-10-19 深圳市图灵奇点智能科技有限公司 数据验证方法和安全多方计算***

Also Published As

Publication number Publication date
EP3552158A4 (en) 2020-02-26
AU2018322507B2 (en) 2020-10-08
BR112019007232A2 (pt) 2019-11-05
US20200228317A1 (en) 2020-07-16
US10938549B2 (en) 2021-03-02
ZA201902459B (en) 2020-08-26
EP3552158B1 (en) 2021-02-17
EP3552158A2 (en) 2019-10-16
BR112019007232B1 (pt) 2022-02-15
CN110730963A (zh) 2020-01-24
SG11201902773VA (en) 2019-05-30
MX2019004201A (es) 2019-08-05
CN110730963B (zh) 2023-12-01
CA3037833C (en) 2022-04-19
JP6756041B2 (ja) 2020-09-16
KR102128210B1 (ko) 2020-06-30
CA3037833A1 (en) 2020-04-18
AU2018322507A1 (en) 2020-01-30
ES2863552T3 (es) 2021-10-11
WO2019072275A3 (en) 2019-10-03
JP2020500458A (ja) 2020-01-09
KR20200066256A (ko) 2020-06-09
ES2863552T8 (es) 2022-08-19
WO2019072275A2 (en) 2019-04-18
PH12019500532A1 (en) 2019-10-28
PL3552158T3 (pl) 2021-07-26

Similar Documents

Publication Publication Date Title
RU2719311C1 (ru) Система и способ защиты информации
RU2719423C1 (ru) Система и способ защиты информации
RU2716740C1 (ru) Система и способ защиты информации
RU2721959C1 (ru) Система и способ для защиты информации
RU2735439C2 (ru) Система и способ для защиты информации
US10892888B2 (en) System and method for information protection
AU2019101581A4 (en) System and method for information protection
AU2019101590A4 (en) System and method for information protection
AU2019101582A4 (en) System and method for information protection

Legal Events

Date Code Title Description
PD4A Correction of name of patent owner
PC41 Official registration of the transfer of exclusive right

Effective date: 20210303

PC41 Official registration of the transfer of exclusive right

Effective date: 20210414