RU2719311C1 - Система и способ защиты информации - Google Patents
Система и способ защиты информации Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000003860 storage Methods 0.000 claims description 30
- 230000004044 response Effects 0.000 claims description 28
- 230000007774 longterm Effects 0.000 claims description 17
- 230000004313 glare Effects 0.000 claims description 16
- 230000000977 initiatory effect Effects 0.000 claims description 14
- 238000010586 diagram Methods 0.000 claims description 10
- 238000005516 engineering process Methods 0.000 abstract description 3
- 239000000126 substance Substances 0.000 abstract 1
- 230000006870 function Effects 0.000 description 19
- 238000012546 transfer Methods 0.000 description 14
- 239000003999 initiator Substances 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 238000007792 addition Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 8
- 238000012795 verification Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000005065 mining Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 201000004569 Blindness Diseases 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 210000001061 forehead Anatomy 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0457—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply dynamic encryption, e.g. stream encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3218—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3239—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3297—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/04—Masking 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. Система для защиты информации, содержащая процессор и долговременный машиночитаемый носитель данных, подключенный к процессору, причем на носителе данных хранятся инструкции, которые должны исполняться процессором для предписания системе осуществлять операции, содержащие:
получение, одним или более узлами в блокчейновой сети, транзакции, инициированной узлом-инициатором, причем:
транзакция связана с одним или более вводами данных и одним или более выводами данных,
вводы данных соответственно связаны с типами входных данных, и выводы данных соответственно связаны с типами выходных данных, соответственно,
типы входных данных и типы выходных данных шифруются и заверяются согласно схеме обязательств для получения соответствующих заверяющих значений, и
типы входных данных и типы выходных данных не раскрываются одному или более узлам;
проверку, одним или более узлами, согласованности между типами входных данных и типами выходных данных;
в ответ на определение того, что типы входных данных и типы выходных данных согласованы, добавление, одним или более узлами, транзакции в блокчейновую сеть; и
в ответ на определение того, что типы входных данных и типы выходных данных не согласованы, отказ одним или более узлами от добавления транзакции к блокчейновой сети.
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)
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)
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)
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 |
-
2018
- 2018-11-27 PL PL18863802T patent/PL3552158T3/pl unknown
- 2018-11-27 US US16/342,181 patent/US10938549B2/en active Active
- 2018-11-27 SG SG11201902773VA patent/SG11201902773VA/en unknown
- 2018-11-27 CN CN201880005138.7A patent/CN110730963B/zh active Active
- 2018-11-27 CA CA3037833A patent/CA3037833C/en active Active
- 2018-11-27 EP EP18863802.7A patent/EP3552158B1/en active Active
- 2018-11-27 AU AU2018322507A patent/AU2018322507B2/en active Active
- 2018-11-27 ES ES18863802T patent/ES2863552T3/es active Active
- 2018-11-27 WO PCT/CN2018/117548 patent/WO2019072275A2/en unknown
- 2018-11-27 BR BR112019007232-2A patent/BR112019007232B1/pt active IP Right Grant
- 2018-11-27 RU RU2019111923A patent/RU2719311C1/ru active
- 2018-11-27 KR KR1020197011443A patent/KR102128210B1/ko active IP Right Grant
- 2018-11-27 JP JP2019521112A patent/JP6756041B2/ja active Active
- 2018-11-27 MX MX2019004201A patent/MX2019004201A/es unknown
-
2019
- 2019-03-12 PH PH12019500532A patent/PH12019500532A1/en unknown
- 2019-04-17 ZA ZA2019/02459A patent/ZA201902459B/en unknown
Patent Citations (5)
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 |