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

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

Info

Publication number
RU2721959C1
RU2721959C1 RU2019111930A RU2019111930A RU2721959C1 RU 2721959 C1 RU2721959 C1 RU 2721959C1 RU 2019111930 A RU2019111930 A RU 2019111930A RU 2019111930 A RU2019111930 A RU 2019111930A RU 2721959 C1 RU2721959 C1 RU 2721959C1
Authority
RU
Russia
Prior art keywords
transaction
recipient
node
value
public key
Prior art date
Application number
RU2019111930A
Other languages
English (en)
Inventor
Баоли МА
Вэньбинь ЧЖАН
Original Assignee
Алибаба Груп Холдинг Лимитед
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Алибаба Груп Холдинг Лимитед filed Critical Алибаба Груп Холдинг Лимитед
Application granted granted Critical
Publication of RU2721959C1 publication Critical patent/RU2721959C1/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Изобретение относится к области защиты информации. Техническим результатом является обеспечение защиты данных транзакции. Машинореализуемый способ содержит: удостоверение суммы t транзакции для транзакции с помощью схемы обязательств, чтобы получить значение T удостоверения транзакции, причем схема обязательств содержит, по меньшей мере, коэффициент r_t маскирования транзакции; шифрование комбинации коэффициента r_t маскирования транзакции и суммы t транзакции с помощью второго открытого ключа PK_2_B получателя транзакции, при этом получатель дополнительно ассоциирован с первым открытым ключом PK_1_B в качестве адреса для приема суммы t транзакции; и передачу значения T удостоверения транзакции и зашифрованной комбинации в узел-получатель, ассоциированный с получателем, для верификации транзакции узлом-получателем. 6 н. и 17 з.п. ф-лы, 7 ил.

Description

Область техники, к которой относится изобретение
[1] Данное раскрытие, в общем, относится к способам и устройствам для защиты информации.
Уровень техники
[2] Конфиденциальность является важной для связи и переводов данных между различными пользователями. Без защиты, пользователи подвержены риску кражи личных сведений, несанкционированного перевода или других возможных потерь. Риск становится еще больше, когда связь и переводы реализуются онлайн, вследствие свободного доступа онлайновой информации.
Сущность изобретения
[3] Различные варианты осуществления настоящего раскрытия включают в себя системы, способы и долговременные машиночитаемые носители для защиты информации.
[4] Согласно одному аспекту, машинореализуемый способ для защиты информации содержит: заверение суммы t транзакции для транзакции с помощью схемы обязательств (commitment scheme), чтобы получить значение T удостоверения транзакции, причем схема обязательств содержит, по меньшей мере, коэффициент r_t маскирования (‘ослепления’, blinding) транзакции; шифрование комбинации коэффициента r_t маскирования транзакции и суммы t транзакции с помощью второго открытого (общедоступного) ключа PK_2_B получателя транзакции, при этом: получатель дополнительно ассоциирован с первым открытым ключом PK_1_B в качестве адреса для приема суммы t транзакции; и передачу значения T удостоверения транзакции и зашифрованной комбинации в узел-получатель, ассоциированный с получателем, для верификации транзакции узлом-получателем.
[5] В некоторых вариантах осуществления, второй открытый ключ PK_2_B представляет собой гомоморфный ключ шифрования.
[6] В некоторых вариантах осуществления, схема обязательств содержит схему обязательств Педерсена, по меньшей мере, на основе коэффициента r_t маскирования транзакции, при этом сумма t транзакции является заверенным значением.
[7] В некоторых вариантах осуществления, комбинация коэффициента r_t маскирования транзакции и суммы t транзакции содержит конкатенацию коэффициента r_t маскирования транзакции и суммы t транзакции.
[8] В некоторых вариантах осуществления, передача значения T удостоверения транзакции и зашифрованной комбинации в узел-получатель, ассоциированный с получателем, для верификации транзакции узлом-получателем содержит передачу значения T удостоверения транзакции и зашифрованной комбинации в узел-получатель, ассоциированный с получателем, что инструктирует узлу-получателю: дешифровать зашифрованную комбинацию с помощью второго закрытого ключа SK_2_B получателя, чтобы получать коэффициент r_t маскирования транзакции и сумму t транзакции; и верифицировать транзакцию, по меньшей мере, на основе значения T удостоверения транзакции, коэффициента r_t маскирования транзакции и суммы t транзакции.
[9] В некоторых вариантах осуществления, инструктирование узлу-получателю верифицировать транзакцию, по меньшей мере, на основе значения T удостоверения транзакции, коэффициента r_t маскирования транзакции и суммы t транзакции содержит инструктирование узлу-получателю: в ответ на определение того, что значение T удостоверения транзакции не совпадает со схемой обязательств суммы t транзакции на основе коэффициента r_t маскирования транзакции, отклонять транзакцию; и в ответ на определение того, что значение T удостоверения транзакции совпадает со схемой обязательств суммы t транзакции на основе коэффициента r_t маскирования транзакции, одобрять транзакцию посредством подписания транзакции с помощью первого закрытого ключа SK_1_B получателя, чтобы формировать подпись SIGB получателя.
[10] В некоторых вариантах осуществления, до передачи зашифрованной комбинации в узел-получатель, ассоциированный с получателем, способ дополнительно содержит: заверение сдачи y транзакции с помощью схемы обязательств, чтобы получить значение Y удостоверения сдачи, причем схема обязательств содержит, по меньшей мере, коэффициент r_y маскирования сдачи, при этом сдача y представляет собой один или более активов отправителя транзакции, которые являются отведенными для транзакции, меньшей суммы t транзакции; и шифрование другой комбинации коэффициента r_y маскирования сдачи и сдачи y с помощью второго открытого ключа PK_2_A отправителя.
[11] В некоторых вариантах осуществления, способ дополнительно содержит: в ответ на прием подписи SIGB получателя, одобрение транзакции посредством подписания транзакции с помощью первого закрытого ключа SK_1_A отправителя, чтобы формировать подпись SIGA отправителя; и отправку транзакции, содержащей зашифрованную комбинацию, другую зашифрованную комбинацию, значение T удостоверения транзакции, значение Y удостоверения сдачи, подпись SIGA отправителя и подпись SIGB получателя, в один или более узлов в сети цепочек блоков для верификации транзакции одним или более узлами.
[12] В некоторых вариантах осуществления, отправка транзакции, содержащей зашифрованную комбинацию, другую зашифрованную комбинацию, значение T удостоверения транзакции, значение Y удостоверения сдачи, подпись SIGA отправителя и подпись SIGB получателя, в один или более узлов в сети цепочек блоков для верификации транзакции одним или более узлами содержит: отправку транзакции, содержащей зашифрованную комбинацию, другую зашифрованную комбинацию, значение T удостоверения транзакции, значение Y удостоверения сдачи, подпись SIGA отправителя и подпись SIGB получателя, в один или более узлов в сети цепочек блоков, что инструктирует одному или более узлов, в ответ на успешную верификацию транзакции, эмитировать сумму t транзакции получателю, исключать один или более активов, отведенных для транзакции, и эмитировать сдачу y отправителю.
[13] Согласно другому аспекту, долговременный машиночитаемый носитель данных сохраняет инструкции, которые при их исполнении процессором инструктируют процессору выполнять операции, содержащие: заверение суммы t транзакции для транзакции с помощью схемы обязательств, чтобы получить значение T удостоверения транзакции, причем схема обязательств содержит, по меньшей мере, коэффициент r_t маскирования транзакции; шифрование комбинации коэффициента r_t маскирования транзакции и суммы t транзакции с помощью второго открытого ключа PK_2_B получателя транзакции, при этом: получатель дополнительно ассоциирован с первым открытым ключом PK_1_B в качестве адреса для приема суммы t транзакции; и передачу значения T удостоверения транзакции и зашифрованной комбинации в узел-получатель, ассоциированный с получателем, для верификации транзакции узлом-получателем.
[14] Согласно другому аспекту, система для защиты информации содержит процессор и долговременный машиночитаемый носитель данных, соединенный с процессором, причем носитель данных сохраняет инструкции, которые при их исполнении процессором инструктируют системе выполнять операции, содержащие: заверение суммы t транзакции для транзакции с помощью схемы обязательств, чтобы получить значение T удостоверения транзакции, причем схема обязательств содержит, по меньшей мере, коэффициент r_t маскирования транзакции; шифрование комбинации коэффициента r_t маскирования транзакции и суммы t транзакции с помощью второго открытого ключа PK_2_B получателя транзакции, при этом: получатель дополнительно ассоциирован с первым открытым ключом PK_1_B в качестве адреса для приема суммы t транзакции; и передачу значения T удостоверения транзакции и зашифрованной комбинации в узел-получатель, ассоциированный с получателем, для верификации транзакции узлом-получателем.
[15] Согласно другому аспекту, машинореализуемый способ для защиты информации содержит: получение комбинации коэффициента r_t маскирования транзакции и суммы t транзакции, зашифрованной с помощью второго открытого ключа PK_2_B получателя транзакции, и получение значения T удостоверения транзакции, при этом: сумма t транзакции удостоверена с помощью схемы обязательств узлом-отправителем, ассоциированным с отправителем транзакции, чтобы получать значение T удостоверения транзакции, причем схема обязательств содержит, по меньшей мере, коэффициент r_t маскирования транзакции; дешифрование полученной комбинации с помощью второго закрытого ключа SK_2_B получателя транзакции, чтобы получать коэффициент r_t маскирования транзакции и сумму t транзакции; и верификацию транзакции, по меньшей мере, на основе значения T удостоверения транзакции, коэффициента r_t маскирования транзакции и суммы t транзакции.
[16] В некоторых вариантах осуществления, второй открытый ключ PK_2_B получателя и второй закрытый ключ SK_2_B получателя представляют собой пару гомоморфных ключей шифрования.
[17] Согласно другому аспекту, долговременный машиночитаемый носитель данных сохраняет инструкции, которые при их исполнении процессором инструктируют процессору выполнять операции, содержащие: получение комбинации коэффициента r_t маскирования транзакции и суммы t транзакции, зашифрованной с помощью второго открытого ключа PK_2_B получателя транзакции, и получение значения T удостоверения транзакции, при этом: сумма t транзакции удостоверена с помощью схемы обязательств узлом-отправителем, ассоциированным с отправителем транзакции, чтобы получать значение T удостоверения транзакции, причем схема обязательств содержит, по меньшей мере, коэффициент r_t маскирования транзакции; дешифрование полученной комбинации с помощью второго закрытого ключа SK_2_B получателя транзакции, чтобы получать коэффициент r_t маскирования транзакции и сумму t транзакции; и верификацию транзакции, по меньшей мере, на основе значения T удостоверения транзакции, коэффициента r_t маскирования транзакции и суммы t транзакции.
[18] Согласно другому аспекту, система для защиты информации содержит процессор и долговременный машиночитаемый носитель данных, соединенный с процессором, причем носитель данных сохраняет инструкции, которые при их исполнении процессором инструктируют системе выполнять операции, содержащие: получение комбинации коэффициента r_t маскирования транзакции и суммы t транзакции, зашифрованной с помощью второго открытого ключа PK_2_B получателя транзакции, и получение значения T удостоверения транзакции, при этом: сумма t транзакции удостоверена с помощью схемы обязательств узлом-отправителем, ассоциированным с отправителем транзакции, чтобы получать значение T удостоверения транзакции, причем схема обязательств содержит, по меньшей мере, коэффициент r_t маскирования транзакции; дешифрование полученной комбинации с помощью второго закрытого ключа SK_2_B получателя транзакции, чтобы получать коэффициент r_t маскирования транзакции и сумму t транзакции; и верификацию транзакции, по меньшей мере, на основе значения T удостоверения транзакции, коэффициента r_t маскирования транзакции и суммы t транзакции.
[19] Согласно другому аспекту, машинореализуемый способ для защиты информации содержит: заверение суммы t транзакции для транзакции с помощью схемы обязательств, чтобы получить значение T удостоверения транзакции, причем схема обязательств содержит, по меньшей мере, коэффициент r_t маскирования транзакции; отправку суммы t транзакции, коэффициента r_t маскирования транзакции и значения T удостоверения транзакции в узел-получатель, ассоциированный с получателем транзакции, для, посредством узла-получателя, верификации транзакции и шифрования коэффициента r_t маскирования транзакции и суммы t транзакции с помощью второго открытого ключа PK_2_B получателя, при этом получатель дополнительно ассоциирован с первым открытым ключом PK_1_B в качестве адреса для приема суммы транзакции; получение зашифрованной комбинации коэффициента r_t маскирования транзакции и суммы t транзакции из узла-получателя; и передачу зашифрованной комбинации и значения T удостоверения транзакции во множество узлов в цепочке блоков для верификации транзакции посредством множества узлов.
[20] Согласно другому аспекту, долговременный машиночитаемый носитель данных хранит инструкции, которые при их исполнении процессором инструктируют процессору выполнять операции, содержащие: заверение суммы t транзакции для транзакции с помощью схемы обязательств, чтобы получить значение T удостоверения транзакции, причем схема обязательств содержит, по меньшей мере, коэффициент r_t маскирования транзакции; отправку суммы t транзакции, коэффициента r_t маскирования транзакции и значения T удостоверения транзакции в узел-получатель, ассоциированный с получателем транзакции, для, посредством узла-получателя, верификации транзакции и шифрования коэффициента r_t маскирования транзакции и суммы t транзакции с помощью второго открытого ключа PK_2_B получателя, при этом получатель дополнительно ассоциирован с первым открытым ключом PK_1_B в качестве адреса для приема суммы транзакции; получение зашифрованной комбинации коэффициента r_t маскирования транзакции и суммы t транзакции из узла-получателя; и передачу зашифрованной комбинации и значения T удостоверения транзакции во множество узлов в цепочке блоков для верификации транзакции посредством множества узлов.
[21] Согласно другому аспекту, система для защиты информации содержит процессор и долговременный машиночитаемый носитель данных, соединенный с процессором, причем носитель данных сохраняет инструкции, которые при их исполнении процессором инструктируют системе выполнять операции, содержащие: заверение суммы t транзакции для транзакции с помощью схемы обязательств, чтобы получить значение T удостоверения транзакции, причем схема обязательств содержит, по меньшей мере, коэффициент r_t маскирования транзакции; отправку суммы t транзакции, коэффициента r_t маскирования транзакции и значения T удостоверения транзакции в узел-получатель, ассоциированный с получателем транзакции, для, посредством узла-получателя, верификации транзакции и шифрования коэффициента r_t маскирования транзакции и суммы t транзакции с помощью второго открытого ключа PK_2_B получателя, при этом получатель дополнительно ассоциирован с первым открытым ключом PK_1_B в качестве адреса для приема суммы транзакции; получение зашифрованной комбинации коэффициента r_t маскирования транзакции и суммы t транзакции из узла-получателя; и передачу зашифрованной комбинации и значения T удостоверения транзакции во множество узлов в цепочке блоков для верификации транзакции посредством множества узлов.
[22] Согласно другому аспекту, машинореализуемый способ для защиты информации содержит: получение суммы t транзакции для транзакции, коэффициента r_t маскирования транзакции и значения T удостоверения транзакции; верификацию транзакции на основе полученной суммы t транзакции, полученного коэффициента r_t маскирования транзакции и полученного значения T удостоверения транзакции; в ответ на успешную верификацию транзакции, шифрование коэффициента r_t маскирования транзакции и суммы t транзакции с помощью второго открытого ключа PK_2_B получателя транзакции, чтобы получать зашифрованную комбинацию; и передачу зашифрованной комбинации в узел-отправитель, ассоциированный с отправителем транзакции.
[23] Согласно другому аспекту, долговременный машиночитаемый носитель данных сохраняет инструкции, которые при их исполнении процессором инструктируют процессору выполнять операции, содержащие: получение суммы t транзакции для транзакции, коэффициента r_t маскирования транзакции и значения T удостоверения транзакции; верификацию транзакции на основе полученной суммы t транзакции, полученного коэффициента r_t маскирования транзакции и полученного значения T удостоверения транзакции; в ответ на успешную верификацию транзакции, шифрование коэффициента r_t маскирования транзакции и суммы t транзакции с помощью второго открытого ключа PK_2_B получателя транзакции, чтобы получать зашифрованную комбинацию; и передачу зашифрованной комбинации в узел-отправитель, ассоциированный с отправителем транзакции.
[24] Согласно другому аспекту, система для защиты информации содержит процессор и долговременный машиночитаемый носитель данных, соединенный с процессором, причем носитель данных сохраняет инструкции, которые при их исполнении процессором инструктируют системе выполнять операции, содержащие: получение суммы t транзакции для транзакции, коэффициента r_t маскирования транзакции и значения T удостоверения транзакции; верификацию транзакции на основе полученной суммы t транзакции, полученного коэффициента r_t маскирования транзакции и полученного значения T удостоверения транзакции; в ответ на успешную верификацию транзакции, шифрование коэффициента r_t маскирования транзакции и суммы t транзакции с помощью второго открытого ключа PK_2_B получателя транзакции, чтобы получать зашифрованную комбинацию; и передачу зашифрованной комбинации в узел-отправитель, ассоциированный с отправителем транзакции.
[25] Эти и другие признаки систем, способ и долговременных машиночитаемых носителей, раскрытых в данном документе, а также способы работы и функции связанных элементов структуры и комбинации частей и изделий должны становиться более очевидными при рассмотрении последующего описания и прилагаемой формулы изобретения со ссылкой на прилагаемые чертежи, все из которых составляют часть этого подробного описания, при этом аналогичные ссылки с номерами обозначают соответствующие части на различных чертежах. Тем не менее, следует четко понимать, что чертежи служат только для целей иллюстрации и описания не предназначены в качестве задания ограничений изобретения.
Краткое описание чертежей
[26] Определенные признаки различных вариантов осуществления настоящей технологии подробно изложены в прилагаемой формуле изобретения. Лучшее понимание признаков и преимуществ технологии должно получаться со ссылкой на нижеприведенное подробное описание, которое излагает иллюстративные варианты осуществления, в которых используются принципы изобретения, и на прилагаемые чертежи, на которых:
[27] Фиг. 1 иллюстрирует примерную систему для защиты информации, в соответствии с различными вариантами осуществления.
[28] Фиг. 2 иллюстрирует примерные этапы для инициирования и верификации транзакций, в соответствии с различными вариантами осуществления.
[29] Фиг. 3A иллюстрирует блок-схему последовательности операций примерного способа для защиты информации, в соответствии с различными вариантами осуществления.
[30] Фиг. 3B иллюстрирует блок-схему последовательности операций примерного способа для защиты информации, в соответствии с различными вариантами осуществления.
[31] Фиг. 4A иллюстрирует блок-схему последовательности операций примерного способа для защиты информации, в соответствии с различными вариантами осуществления.
[32] Фиг. 4B иллюстрирует блок-схему последовательности операций примерного способа для защиты информации, в соответствии с различными вариантами осуществления.
[33] Фиг. 5 иллюстрирует блок-схему примерной компьютерной системы, в которой могут реализовываться любые из вариантов осуществления, описанных в данном документе.
Подробное описание изобретения
[34] Цепочка блоков может рассматриваться как децентрализованная база данных, обычно называемая "распределенным реестром", поскольку операция выполняется посредством различных узлов (например, вычислительных устройств) в сети. Любая информация может записываться в цепочку блоков и сохраняться или считываться из нее. Любой может устанавливать сервер и присоединяться к сети цепочек блоков, чтобы становиться узлом. Любой узел может вносить вычислительную мощность, чтобы поддерживать цепочку блоков посредством выполнения сложных вычислений, таких как вычисление хеш-функции, чтобы добавлять блок в текущую цепочку блоков, и добавленный блок может содержать различные типы данных или информации. Узел, который вносит вычислительную мощность для добавленного блока, может вознаграждаться маркером (например, единицей цифровой валюты). Поскольку цепочка блоков не имеет центрального узла, каждый узел является одинаковым и хранит всю базу данных цепочек блоков.
[35] Узлы, например, представляют собой вычислительные устройства или крупные компьютерные системы, которые поддерживают сеть цепочек блоков и поддерживают ее работу без сбоев. Предусмотрено два типа узлов, полные узлы и облегченные узлы. Полные узлы сохраняют полную копию цепочки блоков. Полные узлы в сети цепочек блоков проверяют достоверность транзакций и блоков, которые они принимают, и ретранслируют их соединенным равноправным узлам для предоставления консенсусной верификации транзакций. С другой стороны, облегченные узлы загружают только часть цепочки блоков. Например, облегченные узлы используются для цифровых валютных транзакций. Облегченный узел должен обмениваться данными с полным узлом, когда он хочет осуществлять транзакции.
[36] Это свойство децентрализации может помогать предотвращать появление центра управления в управляемой позиции. Например, обслуживание цепочки блоков биткоина выполняется посредством сети узлов связи программного обеспечения для работы с биткоинами в рабочей области. Это раскрытие использует одну или более цепочек блоков или цифровых валют, таких как биткоин и эфириум, в качестве примеров. Специалисты в данной области техники должны принимать во внимание, что технические решения, раскрытые в этом раскрытии, могут использовать или применяться к другому типу цепочек блоков и цифровых валют. Таким образом, вместо банков, учреждений или администраторов в традиционном смысле, несколько посредников существуют в форме компьютеров-серверов, выполняющих программное обеспечение для работы с биткоинами. Эти компьютеры-серверы формируют сеть, соединенную через Интернет, при этом любой может потенциально присоединяться к сети. Транзакции, приспосабливаемые посредством сети, могут иметь форму: "пользователь A хочет отправлять Z биткоинов пользователю B", при этом транзакции передаются в широковещательном режиме в сеть с использованием легкодоступных приложений. Компьютеры-серверы функционируют в качестве серверов биткоинов, которые выполнены с возможностью проверять достоверность этих финансовых транзакций, добавлять их запись в свою копию реестра и затем передавать в широковещательном режиме эти добавления реестра на другие серверы сети.
[37] Поддержание цепочки блоков упоминается как "майнинг", и те, кто осуществляет такое поддержание, вознаграждается новыми созданными биткоинами и комиссионными за транзакции, как упомянуто выше. Например, узлы могут определять то, являются или нет транзакции достоверными, на основе набора правил, с которыми согласована сеть цепочек блоков. Майнеры могут находиться на любом континенте и обрабатывать платежи посредством верификации каждой транзакции в качестве достоверной и ее добавления в цепочку блоков. Такая верификация достигается с помощью консенсуса, предоставленного посредством множества майнеров, и допускает то, что отсутствует систематический тайный сговор. В конечном счете, все данные должны быть согласованными, поскольку вычисление должно удовлетворять определенным требованиям для того, чтобы быть достоверным, и все узлы синхронизируются, чтобы обеспечивать то, что цепочка блоков является согласованной. Таким образом, данные могут согласованно сохраняться в распределенной системе узлов цепочки блоков.
[38] Посредством процесса майнинга, транзакции, такие как переводы активов, верифицируются и добавляются в растущую цепочку блоков из цепочки блоков посредством сетевых узлов. Посредством прохождения по всей цепочке блоков, верификация может включать в себя, например, то, имеет или нет оплачивающая сторона доступ к переводимому активу, то, потрачен или нет актив ранее, то, является или нет переводимая сумма корректной, и т.д. Например, в гипотетической транзакции (например, в транзакции биткоинов согласно модели на основе UTXO (непотраченного вывода по транзакциям), в транзакции монет эфириума согласно модели на основе счетов/балансов), подписанной посредством отправителя, предложенная транзакция может передаваться в широковещательном режиме в сеть цепочек блоков для майнинга. Майнер должен проверять то, является или нет транзакция соответствующей установленным критериям для выполнения, согласно предыстории цепочек блоков. Если баланс кошелька отправителя имеет достаточно денежных средств согласно существующей предыстории цепочек блоков, транзакция считается достоверной и может добавляться в блок. После верификации, переводы активов могут быть включены в следующий блок, который должен добавляться в цепочку блоков.
[39] Блок является во многом аналогичным записи в базе данных. Каждая запись данных создает блок. Эти блоки связываются и защищаются с использованием криптографии, так что они становятся взаимно соединенными сетями. Каждый блок соединяется с предыдущим блоком, что также представляет собой источник названия "цепочка блоков". Каждый блок обычно содержит криптографический хеш предыдущего блока, время формирования и фактические данные. Например, каждый блок содержит две части: заголовок блока, чтобы записывать значение признака текущего блока и тело, чтобы записывать фактические данные (например, данные транзакции). Цепочка блоков связывается через заголовки блоков. Каждый заголовок блока может содержать несколько значений признаков, таких как версия, хеш предыдущего блока, корень Меркла, временная метка, целевой уровень сложности и одноразовый номер. Хеш предыдущего блока содержит не только адрес предыдущего блока, но также и хеш данных в предыдущем блоке, в силу этого делая цепочки блоков неизменными. Одноразовый номер является числом, которое, если включено, обеспечивает в результате хеш с указанным числом начальных нулевых битов.
[40] Для майнинга, хеш контента нового блока принимается узлом. Одноразовый номер (например, случайная строка) добавляется в хеш, чтобы получать новую строку. Новая строка хешируется снова. Конечный хеш затем сравнивается с целевым уровнем сложности (например, уровнем), и определяется то, конечный хеш фактически меньше целевого уровня сложности или нет. Если нет, то одноразовый номер изменяется, и процесс повторяется снова. Если да, то блок добавляется в цепочку, и общедоступный реестр обновляется и предупреждается в отношении добавления. Узел, отвечающий за успешное добавление, вознаграждается биткоинами, например, посредством добавления транзакции вознаграждения себе в новый блок (известно как формирование коинбейса).
[41] Таким образом, для каждого вывода "Y", если k выбирается из распределения с высокой минимальной энтропией, невозможно находить ввод x таким образом, что H (k|x)=Y, где K является одноразовым номером, x является хешем блока, Y является целевым уровнем сложности, и "|" обозначает конкатенацию. Вследствие фактической случайности криптографических хешей, в том смысле, что их вывод не может прогнозироваться из их вводов, имеется только один известный способ находить одноразовый номер: пробовать целые числа одно за другим, например, 1, затем 2, затем 3 и т.д., что может представлять собой известный метод прямого опробования. Чем больше число начальных нулей, тем больше в среднем требуется для того, чтобы находить требуемый одноразовый номер Y. В одном примере, система работы с биткоинами постоянно регулирует число начальных нулей таким образом, что среднее время для того, чтобы находить одноразовый номер, составляет приблизительно десять минут. Таким образом, по мере того, как характеристики обработки вычислительных аппаратных средств улучшаются со временем, за эти годы, протокол биткоинов должен требовать просто большего числа начальных нулевых битов, чтобы майнинг всегда требовал длительности приблизительно в десять минут для реализации.
[42] Как описано выше, хеширование является важным краеугольным камнем для цепочки блоков. Хеш-алгоритм может пониматься как функция, которая сжимает сообщения любой длины в дайджест сообщения фиксированной длины. Чаще всего используются MD5 и SHA. В некоторых вариантах осуществления, длина хеша цепочки блоков составляет 256 битов, что означает то, что независимо от того, каким является исходный контент, в конечном счете вычисляется 256-битовое двоичное число. Кроме того, можно гарантировать то, что соответствующий хеш является уникальным при условии, что исходный контент отличается. Например, хеш строки "123" представляет собой a8fdc205a9f19cc1c7507a60c4f01b13d11d7fd0 (шестнадцатеричная форма), который имеет 256 битов при преобразовании в двоичную форму, и "только 123" имеет этот хеш. Хеш-алгоритм в цепочке блоков является необратимым, т.е. прямое вычисление является простым (из "123" в a8fdc205a9f19cc1c7507a60c4f01b1c7507a60c4f01b13d11d7fd0), и обратное вычисление не может выполняться, даже если все вычислительные ресурсы исчерпываются. Таким образом, хеш каждого блока из цепочки блоков является уникальным.
[43] Дополнительно, если контент блока изменяется, его хеш должен изменяться. Блок и хеш находятся в соответствии "один-к-одному", и хеш каждого блока, в частности, вычисляется для заголовка блока. Таким образом, значения признаков заголовков блоков соединяются, чтобы формировать длинную строку, и затем хеш вычисляется для строки. Например, "Hash=SHA256 (заголовок блока)" представляет собой формулу вычисления хеш-функции блока, SHA256 представляет собой хеш-алгоритм цепочек блоков, применяемый к заголовку блока. Хеш уникально определяется посредством заголовка блока, а не тела блока. Как упомянуто выше, заголовок блока содержит большое количество контента, включающего в себя хеш текущего блока и хеш предыдущего блока. Это означает то, что если контент текущего блока изменяется, либо если хеш предыдущего блока изменяется, это вызывает изменение хеша текущего блока. Если хакер модифицирует блок, хеш этого блока изменяется. Для соединения последующего блока с модифицированным блоком, хакер должен модифицировать все последующие блоки по очереди, поскольку следующий блок должен содержать хеш предыдущего блока. В противном случае, модифицированный блок должен отсоединяться от цепочки блоков. Вследствие проектных причин, вычисления хеш-функции являются времязатратными, и практически невозможно модифицировать несколько блоков за короткий период времени, если хакер не приспосабливает более 51% вычислительной мощности всей сети. Таким образом, цепочка блоков гарантирует собственную надежность, и как только данные записываются, они не могут имитироваться.
[44] После того, как майнер находит хеш (т.е. соответствующую установленным критериям подпись или решение) для нового блока, майнер передает в широковещательном режиме эту подпись всем другим майнерам (в узлы цепочки блоков). Другие майнеры теперь верифицируют по очереди то, соответствует или нет это решение проблеме блока отправителя (т.е. определяют то, приводит или нет ввод хеша фактически к этой подписи). Если решение является достоверным, другие майнеры должны одобрять решение и согласовывать то, что новый блок может добавляться в цепочку блоков. Таким образом, достигается консенсус для нового блока. Это также известно как "доказательство выполнения работы". Блок, для которого достигнут консенсус, теперь может добавляться в цепочку блоков и передается в широковещательном режиме во все узлы по сети наряду с подписью. Узлы должны одобрять блок и сохранять его в своих данных транзакции при условии, что транзакции в блоке корректно соответствуют текущим балансам кошелька (предыстории транзакций) в этот момент времени. Каждый раз, когда новый блок добавляется поверх этого блока, добавление также подсчитывается в качестве другого "подтверждения" для блоков перед ним. Например, если транзакция включена в блок 502, и цепочка блоков имеет длину в 507 блоков, это означает то, что транзакция имеет пять подтверждений (одобрений) (соответствующих блокам от 507 до 502). Чем больше подтверждений имеет транзакция, тем тяжелее для взломщиков вносить переделки.
[45] В некоторых вариантах осуществления, примерная система управления активами на основе цепочек блоков использует криптографию с открытым ключом, в которой формируются два криптографических ключа, один открытый ключ и один закрытый ключ. Открытый ключ может рассматриваться в качестве номера счета, и закрытый ключ может рассматриваться в качестве учетных данных владения. Например, кошелек биткоинов представляет собой совокупность открытых и закрытых ключей. Владение активом (например, цифровой валютой, денежным активом, акциями, долей в капитале, долговым обязательством), ассоциированным с определенным адресом актива, может быть продемонстрировано со знанием закрытого ключа, принадлежащего адресу. Например, программное обеспечение кошелька биткоинов, иногда называемое "клиентским программным обеспечением для работы с биткоинами", обеспечивает возможность данному пользователю осуществлять транзакции с биткоинами. Программа-кошелек формирует и сохраняет закрытые ключи и обменивается данными с равноправными узлами по сети биткоинов.
[46] В транзакциях с цепочками блоков, плательщики и получатели платежа идентифицируются в цепочке блоков посредством своих открытых криптографических ключей. Например, самые современные переводы биткоинов выполняются из одного открытого ключа в другой открытый ключ. На практике, хеши этих ключей используются в цепочке блоков и называются "адресами биткоинов". В принципе, если гипотетический человек-взломщик S может красть деньги человека A посредством простого добавления транзакций в реестр цепочек блоков, к примеру "человек S выплачивает человеку A 100 биткоинов", с использованием адресов биткоинов пользователей вместо их имен. Протокол биткоинов предотвращает этот вид кражи посредством требования для каждого перевода иметь цифровую подпись с закрытым ключом плательщика, и только подписанные переводы могут добавляться в реестр цепочек блоков. Поскольку человек S не может подделывать подпись человека A, человек S не может обманывать человека A посредством добавления записи в цепочку блоков, эквивалентной "человек S выплачивает человеку A 200 биткоинов". Одновременно, любой может верифицировать подпись человека A с использованием своего открытого ключа, и в силу того он авторизует любую транзакцию в цепочке блоков, в которой он представляет собой плательщика.
[47] В контексте транзакций с биткоинами, чтобы переводить некоторые биткоины пользователю B, пользователь A может конструировать запись, содержащую информацию относительно транзакции, через узел. Запись может подписываться ключом подписи (закрытым ключом) пользователя A и содержит открытый ключ верификации пользователя A и открытый ключ верификации пользователя B. Подпись используется для того, чтобы одобрять, что транзакция исходит от пользователя, а также предотвращает переделку транзакции кем угодно после того, как она эмитирована. Запись, пакетированная с другой записью, которая осуществлена в идентичном временном окне в новом блоке, может передаваться в широковещательном режиме в полные узлы. После приема записей, полные узлы могут работать для включения записей в реестр всех транзакций, которые когда-либо осуществлялись в системе цепочек блоков, добавление нового блока в ранее подтвержденную цепочку блоков посредством вышеописанного процесса майнинга, и проверять достоверность добавленного блока на основе консенсусных правил сети.
[48] Модель на основе UTXO (непотраченного вывода по транзакциям) и модель на основе счетов/балансов представляют собой две примерные модели для реализации транзакций с цепочками блоков. UTXO представляет собой объектную модель цепочек блоков. Согласно UTXO, активы представляются посредством выводов транзакций с цепочками блоков, которые не потрачены, которые могут использоваться в качестве вводов в новых транзакциях. Например, актив пользователя A, который должен переводиться, может иметь форму UTXO. Чтобы тратить (осуществлять транзакции) актив, пользователь A должен подписывать с помощью закрытого ключа. Биткоин представляет собой пример цифровой валюты, которая использует UTXO-модель. В случае достоверной транзакции с цепочками блоков, непотраченные выводы могут использоваться для того, чтобы осуществлять дополнительные транзакции. В некоторых вариантах осуществления, только непотраченные выводы могут использоваться в дополнительных транзакциях, чтобы предотвращать двойную трату и мошенничество. По этой причине, вводы в цепочке блоков удаляются, когда транзакция возникает, при этом одновременно, выводы создаются в форме UTXO. Эти непотраченные выводы транзакции могут использоваться (посредством держателей закрытых ключей, например, людей с цифровыми валютными кошельками) в целях будущих транзакций.
[49] С другой стороны, модель на основе счетов/балансов (иначе называемая "моделью проведения транзакций на основе счетов") отслеживает баланс каждого счета в качестве глобального состояния. Баланс счета проверяется, чтобы удостоверяться в том, что он превышает или равен потраченной сумме транзакции. Пример того, как модель на основе счетов/балансов работает в эфириуме, предоставляется:
[50] 1. Alice получает 5 эфиров посредством майнинга. В системе записывается то, что Alice имеет 5 эфиров.
[51] 2. Alice хочет предоставлять Bob 1 эфир, так что система сначала должна вычитать 1 эфир из счета Alice, в силу чего Alice теперь имеет 4 эфира.
[52] 3. Система затем увеличивает счет Bob на 1 эфир. Система знает, что Bob имеет 2 эфира для начала, в силу чего баланс Bob увеличивается до 3 эфиров.
[53] Ведение записей для эфириума может быть аналогичным ведению записей в банке. Аналогия представляет собой использование ATM/дебетовой карты. Банк отслеживает, сколько денег имеет каждая дебетовая карта, и когда Bob должен тратить деньги, банк проверяет его запись, чтобы удостоверяться в том, что Bob имеет достаточный баланс, перед одобрением транзакции.
[54] Поскольку цепочка блоков и другие аналогичные реестры являются полностью общедоступными, непосредственно цепочка блоков не имеет защиты конфиденциальности. Открытый характер P2P-сети означает то, что хотя те, кто используют ее, не идентифицируются по имени, связывание транзакций с людьми и компаниями является осуществимым. Например, в международном ремитировании или в системе поставок, сумма транзакции имеет чрезвычайно высокий уровень значения защиты конфиденциальности, поскольку с помощью информацией сумм транзакций, можно логически выводить конкретное местоположение и идентификационные данные сторон транзакции. Предмет транзакции может содержать, например, деньги, маркер, цифровую валюту, договор, купчую, медицинскую карту, сведения о клиентах, акции, долговое обязательство, долю в капитале или любой другой актив, который может описываться в цифровой форме. Хотя UTXO-модель может предоставлять анонимность для сумм транзакций, например, через кольцевую подпись в Monero и криптографии Zcash с нулевым разглашением, суммы транзакций остаются незащищенными согласно модели на основе счетов/балансов. Таким образом, техническая проблема, разрешаемая посредством настоящего раскрытия, заключается в том, как защищать онлайновую информацию, такую как конфиденциальность сумм транзакций. Такие транзакции могут соответствовать модели на основе счетов/балансов.
[55] Некоторые существующие технологии предлагают использовать схему обязательств Педерсена, чтобы шифровать сумму транзакции и заменять модель на основе счетов/балансов. В соответствии со схемой, отправитель отправляет сумму транзакции и случайное число, соответствующее схеме обязательств Педерсена для суммы транзакции, получателю платежа через защищенный канал вне цепочки блоков. Получатель платежа верифицирует то, совпадает или нет случайное число с удостоверением транзакции, и выполняет локальное хранение данных. Например, согласно модели на основе счетов/балансов, счет может трактоваться в качестве кошелька (счета) для хранения активов, которые агрегируются, но не объединяются. Каждый актив может соответствовать типу активов (например, криптовалюта), и баланс счета является суммой стоимостей активов. Даже активы идентичного типа не объединяются. Во время транзакции, может указываться получатель переводимого актива, и соответствующий актив может удаляться из кошелька, чтобы финансировать транзакцию. Узлы цепочки блоков верифицируют то, что кошелек платежа имеет достаточный актив(ы) для того, чтобы покрывать транзакцию, и затем узлы удаляют переведенный актив из кошелька платежа и добавляют соответствующий актив в кошелек получателя.
[56] Тем не менее, по-прежнему существуют ограничения для такой схемы. Во-первых, схема требует от пользователя поддерживать постоянное хранение данных локально, чтобы управлять случайными числами и балансами в виде простого текста, соответствующими зашифрованному балансу счета, и реализация управления усложняется; во-вторых, хранение коэффициентов маскирования (например, случайных чисел) и балансов в виде простого текста, соответствующих "активу Педерсена" в одном локальном узле, имеет предрасположенность к потерям или повреждению, тогда как многоузловое резервное хранение данных затруднительно реализовывать вследствие частого изменения баланса счета.
[57] Системы и способ, представленные в этом раскрытии, могут преодолевать вышеуказанные ограничения и достигать надежной защиты конфиденциальности для сумм транзакций, стоимостей активов и коэффициентов маскирования в схемах обязательств. С этой целью, протокол гомоморфного шифрования может использоваться для того, чтобы шифровать/дешифровать случайные числа и балансы в виде простого текста, за счет этого предоставляя удобное управление. Дополнительно, сохранение зашифрованной информации в цепочке блоков обеспечивает, что суммы транзакций, стоимости активов и коэффициенты маскирования в схемах обязательств легко не теряются или имитируются.
[58] В некоторых вариантах осуществления, схема обязательств (например, схема обязательств Педерсена) может шифровать определенное значение (например, сумму транзакции, стоимость активов, параметр ключа) следующим образом:
PC(a)=r*G+a*H,
[59] где r является случайным коэффициентом маскирования (альтернативно называемым "коэффициентом привязки"), который обеспечивает сокрытие, G и H являются публично согласованными генераторами/базисными точками эллиптической кривой и могут выбираться случайно, a является значением удостоверения, PC(a) является точкой кривой, используемой в качестве удостоверения и данной контрагенту, и H является другой точкой кривой. Таким образом, G и H могут быть известными параметрами для узлов. Формирование H по принципу "ничего не спрятано" может формироваться посредством хеширования базисной точки G с отображением посредством хеш-функции из одной точки в другую с H = Hash(G). H и G являются общедоступными параметрами данной системы (например, случайно сформированными точками на эллиптической кривой). Хотя выше предоставляется пример схемы обязательств Педерсена в форме эллиптической кривой, альтернативно могут использоваться различные другие формы схемы обязательств Педерсена или другие схемы обязательств.
[60] Схема обязательств поддерживает секретность данных, но заверяет данные таким образом, что они не могут изменяться впоследствии отправителем этих данных. Если сторона знает только значение удостоверения (например, PC(a)), она не может определять то, какие базовые значения данных (например, a) заверяются. Как данные (например, a), так и коэффициент маскирования (например, r) могут быть раскрыты впоследствии (например, узлом-инициатора), и получатель (например, консенсусный узел) удостоверения может выполнять заверение и верифицировать то, что заверенные данные совпадают с раскрытыми данными. Коэффициент маскирования присутствует, поскольку без него, кто-нибудь может пытаться угадывать данные.
[61] Схемы обязательств представляют собой способ для отправителя (заверяющей стороны) заверять значение (например, a) таким образом, что заверенное значение остается закрытым, но может быть раскрыто впоследствии, когда заверяющая сторона обнародует необходимый параметр процесса заверения. Для строгих схем обязательств могут характерны сокрытие информации и вычислительная привязка. Сокрытие означает такое понятие, что данное значение a и удостоверение этого значения PC(a) должны быть неузнаваемыми. Таким образом, PC(a) не должен раскрывать информацию относительно a. Когда PC(a), G и H известны, практически невозможно знать a вследствие случайного числа r. Схема обязательств представляет собой привязку, если отсутствует вероятный способ, которым два разных значения могут приводить к идентичному удостоверению. Для схемы обязательств Педерсена характерны идеальное сокрытие и вычислительная привязка при допущении дискретного логарифма. Дополнительно, когда r, G, H и PC(a) известны, можно верифицировать PC(a) посредством определения того, удовлетворяется или нет PC(a)=r*G+a*H.
[62] Схема обязательств Педерсена имеет дополнительное свойство: удостоверения могут добавляться, и сумма набора удостоверений является идентичной удостоверения суммы данных (с коэффициентом маскирования, заданным в качестве суммы коэффициентов маскирования): PC(r1, data1)+PC(r2, data2)==PC(r1+r2, data1+data2); PC(r1, data1)-PC(r1, data1)==0. Другими словами, удостоверение сохраняет суммирование, и коммутативное свойство применяется, т.е. схема обязательств Педерсена является аддитивно гомоморфной в том, что базовые данные могут манипулироваться математически, как если они не шифруются.
[63] В одном варианте осуществления, схема обязательств Педерсена, используемая для шифрования входного значения, может конструироваться с использованием точек эллиптической кривой. Традиционно, открытый ключ на основе криптографии в эллиптических кривых (ECC) создается посредством умножения генератора для группы (G) на секретный ключ (r): Pub=rG. Результат может преобразовываться в последовательную форму в качестве 33-байтового массива. Открытые ECC-ключи могут подчиняться аддитивно гомоморфному свойству, упомянутому выше относительно удостоверений Педерсена. Иными словами: Pub1+Pub2=(r1+r2(mod n))G.
[64] Удостоверение Педерсена для входного значения может создаваться посредством подбора дополнительного генератора для группы (H, в нижеприведенных уравнениях) таким образом, что никто не знает дискретный логарифм для второго генератора H относительно первого генератора G (или наоборот), что означает то, что никто не знает x таким образом, что xG=H. Это может осуществляться, например, посредством использования криптографического хеша G для того, чтобы подбирать H: H=to_point(SHA256(ENCODE(G))).
[65] С учетом двух генераторов G и H, примерная схема обязательств для шифрования входного значения может задаваться следующим образом: commitment=rG+aH. Здесь, r может быть секретным коэффициентом маскирования, и a может быть заверяемым входным значением. Следовательно, если a заверяется, может получаться вышеописанная схема обязательств PC(a)=r*G+a*H. Удостоверения Педерсена являются теоретически-информационно закрытыми: для любого удостоверения, существует некоторый коэффициент маскирования, который должен приводить к тому, что любая сумма совпадает с удостоверением. Удостоверения Педерсена могут быть вычислительно защищенными от поддельной удостоверения в том, что произвольное отображение может не вычисляться.
[66] Сторона (узел), которая заверяет значение, может открывать удостоверение посредством раскрытия исходного значения a и коэффициента r, который завершает уравнение удостоверения. Сторона, желающая открыть значение PC(a), затем вычислит удостоверение снова, чтобы верифицировать то, что совместно используемое исходное значение фактически совпадает с первоначально принимаемым удостоверением PC(a). Таким образом, информация типов активов может защищаться посредством ее отображения на уникальный серийный номер и затем шифрования посредством схемы обязательств Педерсена. Случайное число r, выбранное при формировании удостоверения, делает почти невозможным для кого-либо логически выводить тип для типа активов, который заверяется согласно значению PC(a) удостоверения.
[67] Во время транзакций, защита информации является важной для того, чтобы защищать конфиденциальность пользователей, и сумма транзакции представляет собой один тип информации, для которой отсутствует защита. Фиг. 1 показывает примерную систему 100 для защиты информации, в соответствии с различными вариантами осуществления. Как показано, сеть цепочек блоков может содержать множество узлов (например, полных узлов, реализованных на серверах, в компьютерах и т.д.). Для некоторой платформы цепочек блоков (например, NEO), полные узлы с определенным правом голоса могут упоминаться как консенсусные узлы, которые принимают на себя ответственность за верификацию транзакций. В этом раскрытии, полные узлы, консенсусные узлы или другие эквивалентные узлы могут верифицировать транзакцию.
[68] Кроме того, как показано на фиг. 1, пользователь A и пользователь B могут использовать соответствующие устройства, такие как переносные компьютеры и мобильные телефоны, служащие в качестве облегченных узлов для того, чтобы выполнять транзакции. Например, пользователь A может хотеть осуществлять транзакции с пользователем B посредством перевода некоторого актива на счету пользователя A на счет пользователя B. Пользователь A и пользователь B могут использовать соответствующие устройства с установленным соответствующим программным обеспечением для цепочек блоков для транзакции. Устройство пользователя A может упоминаться как узел-инициатор, который инициирует транзакцию с устройством пользователя B, называемым "узлом-получателем B". Узел A может осуществлять доступ к цепочке блоков через связь с узлом 1, и узел B может осуществлять доступ к цепочке блоков через связь с узлом 2. Например, узел A и узел B могут отправлять транзакции в цепочку блоков через узел 1 и узел 2, чтобы запрашивать добавление транзакций в цепочку блоков. Вне цепочки блоков, узел A и узел B могут иметь другие каналы связи (например, регулярную Интернет-связь без прохождения через узлы 1 и 2).
[69] Каждый из узлов на фиг. 1 может содержать процессор и долговременный машиночитаемый носитель данных, сохраняющий инструкции, которые при их исполнении процессором инструктируют узлу выполнять различные этапы для защиты информации, описанные в данном документе. На каждый узел может устанавливаться программное обеспечение (например, программа для проведения транзакций) и/или аппаратные средства (например, проводные, беспроводные соединения) для того, чтобы обмениваться данными с другими узлами и/или другими устройствами. Ниже описывается более подробная информация аппаратных средств и программного обеспечения узла со ссылкой на фиг. 5.
[70] Фиг. 2 иллюстрирует примерные этапы для транзакции и верификации между узлом-отправителем A, узлом-получателем B и одним или более узлов верификации, в соответствии с различными вариантами осуществления. Операции, представленные ниже, имеют намерение быть иллюстративными. В зависимости от реализации, примерные этапы могут включать в себя большее число, меньшее число или альтернативные этапы, выполняемые в других порядках или параллельно.
[71] В различных вариантах осуществления, счета сторон транзакции (пользователя-отправителя A и пользователя-получателя B) сконфигурированы для модели на основе счетов/балансов. Пользователь A и пользователь B могут выполнять следующие этапы, чтобы выполнять транзакцию через одно или более устройств, таких как переносной компьютер, мобильный телефон и т.д. На устройства может устанавливаться адаптированное программное обеспечение и аппаратные средства для того, чтобы выполнять различные этапы. Каждый счет может быть ассоциирован с одной или более пар криптографического закрытого ключа (секретного ключа) -открытого ключа. Например, каждый счет может быть ассоциирован с (1) первой парой ключей с первым закрытым ключом SK_1 и первым открытым ключом PK_1 и (2) второй парой ключей со вторым закрытым ключом SK_2 и вторым открытым ключом PK_2. Первая пара ключей может упоминаться как пара адресных ключей для адресации соответствующего счета. Вторая пара ключей может упоминаться как пара гомоморфных ключей. Вторая пара ключей может быть основана на гомоморфном шифровании, которое представляет собой форму шифрования, которое обеспечивает возможность вычисления для зашифрованных текстов (например, на шифровании в силу выполнения гомоморфного шифрования для двух или более наборов данных), формирующем зашифрованный результат, который, при дешифровании, совпадает с результатом операций, как если они выполнены для простого текста. Гомоморфное шифрование может содержать, например, гомоморфное шифрование Эль-Гамаля, гомоморфное шифрование Пэйе, гомоморфное шифрование Бенало, гомоморфное шифрование Окамото-Учиямы, гомоморфное шифрование Накаша-Штерна, гомоморфное шифрование Дамгарда-Юрика, гомоморфное шифрование Бонеха-Го-Ниссима и т.д. Гомоморфное шифрование может поддерживать дешифрование.
[72] Дополнительно, каждый счет может содержать различные активы, обозначенные как: (V=PC(r, v), HE(K, r, v)), где v представляет номинальную стоимость актива, V представляет удостоверение Педерсена номинальной стоимости v, r является коэффициентом маскирования (например, случайным числом), PC() является алгоритмом схемы обязательств Педерсена, HE() является алгоритмом шифрования (например, алгоритмом гомоморфного шифрования), и K является ключом шифрования, который может быть открытым ключом. В одном примере, каждый актив может обозначаться как (V=PC(r, v), HE(K, r ||v)), где || представляет конкатенацию. Каждый актив также может включать в себя информацию, отличную от перечисленной информации, такую как исходная информация актива.
[73] В одном примере, до того, как пользователь A успешно осуществляет транзакцию с суммой t пользователю B в верифицированной по цепочке блоков транзакции, счет пользователя A и счет пользователя B содержат следующую информацию:
[74] Для счета A (счета A):
Первая пара ключей A: (SK_1_A, PK_1_A)
Вторая пара ключей A: (SK_2_A, PK_2_A)
Активы A_1-A_m, соответственно, стоимостей a_1-a_m обозначаются следующим образом:
(A_1=PC(r_{a_1}, a_1), HE(PK_2_A, r_{a_1}||a_1)),
(A_2=PC(r_{a_2}, a_2), HE(PK_2_A, r_{a_2}||a_2)),
...
(A_m=PC(r_{a_m}, a_m), HE(PK_2_A, r_{a_m}||a_m))
[75] Для счета B (счета B):
Первая пара ключей B: (SK_1_B, PK_1_B)
Вторая пара ключей B: (SK_2_B, PK_2_B)
Активы B_1-B_n, соответственно, стоимостей b_1-b_n обозначаются следующим образом:
(B_1=PC(r_{b_1}, b_1), HE(PK_2_B, r_{b_1}||b_1)),
(B_2=PC(r_{b_2}, b_2), HE(PK_2_B, r_{b_2}||b_2)),
...
(B_n=PC(r_{b_n}, b_n), HE(PK_2_B, r_{b_n}||b_n)),
[76] В некоторых вариантах осуществления, формирование ключей может быть основано на эллиптической кривой ecp256k1 для каждого счета согласно модели на основе счетов/балансов. Например, для эфириума ecp256k1, любое число от 1 до 2256-1 может быть достоверным закрытым ключом SK. Хорошая библиотека формирует закрытый ключ с учетом достаточной случайности. Эфириум требует закрытого ключа SK длиной в 256 битов. Формирование открытых ключей выполняется с использованием групповой операции ECC-криптографии. Чтобы извлекать открытый ключ PK, закрытый ключ может умножаться на G. Умножение, используемое для того, чтобы извлекать открытый ключ PK, представляет собой ECC-умножение (умножение по точкам эллиптической кривой), которое отличается от нормального умножения. G является точкой генератора, которая представляет собой один из доменных параметров ECC-криптографии. G может иметь заверенное значение для ecp256k1. Адрес, например, может составлять последние 20 байтов хеша открытого ключа PK.
[77] В некоторых вариантах осуществления, на этапе 201, узел A может инициировать транзакцию с узлом B. Например, пользователь A и пользователь B могут согласовывать сумму t транзакции со счета A пользователя A на счет B пользователя B. Счет A и счет B могут соответствовать "кошелькам", описанным в данном документе. Счет A может иметь один или более активов. Актив может содержать, например, деньги, маркер, цифровую валюту, договор, купчую, медицинскую карту, сведения о клиентах, акции, долговое обязательство, долю в капитале или любой другой актив, который может описываться в цифровой форме. Счет B может иметь один или более активов или не иметь активов. Каждый актив может быть ассоциирован с различной информацией цепочек блоков, сохраненной в блоках цепочки блоков, причем информация цепочек блоков содержит, например, NoteType, представляющий тип активов, NoteID, представляющий уникальный идентификатор актива, значения удостоверения, представляющие значение удостоверения (например, удостоверения Педерсена) стоимости активов, шифрование случайного числа и стоимости активов и т.д.
[78] Как описано относительно счета A, в некоторых вариантах осуществления, активы A_1-A_m, надлежащим образом соответствуют стоимостям a_1-a_m активов и случайным числам r_1-r_m. На основе случайных чисел r_1-r_m, узел A может заверять стоимости активов на счету A в схему обязательств (например, схему обязательств Педерсена), чтобы получать зашифрованные значения удостоверения. Например, зашифрованные значения удостоверения могут составлять PC_1-PC_m, где PC_i=PC(r_{a_i}, a_i)=r_{a_i}*G+a_i*H, где G и H являются известными параметрами, и i составляет между 1 и m. В дополнение к первому полю PC(...), каждый актив также ассоциирован со вторым полем HE(...), как описано выше. Второе поле HE(...) может представлять шифрование соответствующего случайного числа и стоимости активов, зашифрованной с помощью ключа PK_2_A. Например, шифрование может представлять собой HE(PK_2_A, r_{a_i}||a_i)). PC(...) и HE(...) для каждого актива могут быть унаследованы из предыдущих транзакций. Идентичный механизм применяется к счету B и его активам.
[79] В некоторых вариантах осуществления, чтобы удовлетворять сумме t транзакции, пользователь A может использовать ключ PK_2_A, чтобы дешифровать один или более активов с агрегированной стоимостью, по меньшей мере, t из счета A. Например, узел A может отводить активы A_1, A_2,..., A_k для этой транзакции, где k меньше или равно m. Оставшиеся активы A_k+1, A_k+2,..., A_m счета A являются неотведенными. Соответственно, узел A может считывать активы PC(r_{a_1}, a_1), PC(r_{a_2}, a_2),..., PC(r_{a_k}, a_k) из узла 1. Когда случайные числа r_{a_1}, r_{a_2},..., r_{a_k} известны узлу A, узел A может дешифровать считанные активы PC(r_{a_1}, a_1), PC(r_{a_2}, a_2),..., PC(r_{a_k}, a_k), чтобы получать стоимости a_1, a_2,..., a_k активов, чтобы обеспечивать то, что сумма (a_1+a_2+...+a_k), не меньше суммы t транзакции. Различными активами можно обмениваться на основе счетов с различными темпами.
[80] В некоторых вариантах осуществления, сумма выбранной стоимости активов сверх t, если имеется, задается равной y в качестве сдачи. Например, узел A может определять сдачу y=(a_1+a_2+...+ a_k) -t. Узел A может выбрать случайные числа r_t и r_y в качестве коэффициентов маскирования, чтобы формировать удостоверения Педерсена для t и y: T=PC(r_t, t), Y=PC(r_y, y). Таким образом, узел A может формировать случайное число r_t для t и случайное число r_y для y. Узел A может заверять t и r_t в схему обязательств, чтобы получить значение удостоверения T=PC(r_t, t), и заверять y и r_y в схему обязательств, чтобы получить значение Y удостоверения=PC(r_y, y).
[81] Дополнительно, в некоторых вариантах осуществления, узел A может использовать открытый ключ PK_2_B пользователя B, чтобы шифровать (r_t||t), что обеспечивает шифрование HE(PK_2_B, r_t||t), и использовать открытый ключ PK_2_A, чтобы шифровать (r_y ||y), что обеспечивает шифрование HE(PK_2_A, r_y ||y). Фиг. 3A и фиг. 3B могут соответствовать этому примеру. Альтернативно получению шифрование HE(PK_2_B, r_t||t) посредством узла A, пользователь A может отправлять r_t и t в узел B наряду с информацией транзакций, что инструктирует узлу B формировать второй ключ, чтобы шифровать (r_t||t) с помощью PK_2_B. Узел B должен отправлять шифрование в узел A, чтобы обеспечивать возможность узлу A выполнять верификацию. Фиг. 4A и фиг. 4B могут соответствовать этому примеру. Хотя конкатенация используется в различных примерах этого раскрытия, альтернативные комбинации вводов, выводов или других параметров могут использоваться для функции шифрования или другой операции.
[82] Дополнительно, в некоторых вариантах осуществления, узел A может формировать доказательство RP по диапазону, чтобы доказывать узлам цепочки блоков то, находятся или нет значение T=PC(r_t, t) и значение Y=PC(r_y, y) в пределах достоверного диапазона. Например, чтобы иметь достоверные значения T=PC(r_t, t), сумма t транзакции может находиться в пределах достоверного диапазона [0, 2n-1]; и иметь достоверные значения Y=PC(r_y, y), сдача y может находиться в пределах достоверного диапазона [0, 2n-1]. В одном варианте осуществления, узел A может использовать технологию на основе поблочного доказательства, чтобы формировать доказательство RP по диапазону, связанное с (r_y, y, Y, r_t, t, T) для узлов цепочки блоков (например, консенсусных узлов), чтобы верифицировать на следующем этапе то, находятся или нет сумма t транзакции и сдача y в пределах достоверного диапазона, на основе доказательства по диапазону. Доказательство по диапазону может содержать, например, пуленепробиваемые доказательства, кольцевую подпись Борромена и т.д.
[83] На этапе 202, узел A может отправлять информацию транзакций в узел B (например, через защищенный канал вне цепочки блоков). Отправленная информация транзакций может содержать, например, значение удостоверения T=PC(r_t, t), значение удостоверения Y=PC(r_y, y), шифрование HE(PK_2_B, r_t||t), шифрование HE(PK_2_A, r_y ||y), доказательство RP по диапазону и т.д. Значение удостоверения Y=PC(r_y, y), шифрование HE(PK_2_A, r_y ||y) и доказательство RP по диапазону могут быть необязательными, поскольку узел B может не беспокоиться относительно сдачи, отправляемой обратно на счет A. В некоторых вариантах осуществления, передача через канал связи вне цепочки блоков может предотвращать запись информации транзакций в цепочку блоков и предотвращать получение информации транзакций посредством узлов, отличных от узла-отправителя A и узла-получателя B. HE(PK_2_A, r_y ||y), возможно, не должен отправляться в узел B, но может требоваться в будущем для пользователя A, чтобы тратить сдачу y, поскольку сдача должна возвращаться на счет A.
[84] На этапе 203, узел B может верифицировать случайное число r_t, сумму t транзакции и значение T удостоверения. В некоторых вариантах осуществления, узел B может использовать закрытый ключ SK_2_B, чтобы дешифровать шифрование HE(PK_2_B, r_t||t), чтобы получать r_t||t. Из r_t||t, узел B может получать r_t и t и затем верифицировать то, совпадают либо нет r_t и t с T=PC(r_t, t). Таким образом, узел B может верифицировать то, является или нет значение удостоверения T=PC(r_t, t) корректным, на основе случайного числа r_t и суммы t транзакции согласно алгоритму схемы обязательств Педерсена. Если совпадение/верификация завершается неудачно, узел B может отклонять транзакцию; а если совпадение/верификация выполняется успешно, узел B может подписывать транзакцию, чтобы отвечать узлу A на этапе 204.
[85] На этапе 204, узел B может подписывать транзакцию с помощью закрытого ключа SK_1_B пользователя B, чтобы формировать подпись SIGB. Подписание может соответствовать алгоритму цифровой подписи (DSA), такому как алгоритм цифровой подписи в эллиптических кривых (ECDSA), за счет чего приемник подписи может верифицировать подпись с помощью открытого ключа подписавшей стороны (например, PK_1_B в этом случае), чтобы аутентифицировать подписанные данные. Подпись SIGB указывает то, что узел-получатель B согласуется с транзакцией.
[86] На этапе 205, узел B может передавать подписанную транзакцию обратно в узел A с подписью SIGB.
[87] На этапе 206, если SIGB не верифицируется успешно, узел A может отклонять транзакцию. Если SIGB успешно верифицируется, узел A может подписывать транзакцию с помощью закрытого ключа SK_A пользователя A, чтобы формировать подпись SIGA. Аналогично, подписание может соответствовать алгоритму цифровой подписи (DSA). В одном варианте осуществления, узел A может подписывать (HE(PK_2_B, r_t||t); HE(PK_2_A, r_y ||y); Y; T; RP) с помощью закрытого ключа пользователя A, чтобы формировать подпись SIGA.
[88] На этапе 207, узел A может отправлять транзакцию в цепочку блоков, что инструктирует узлам цепочки блоков верифицировать транзакцию и определять то, следует или нет добавлять транзакцию в цепочку блоков. В одном варианте осуществления, узел A может отправлять транзакцию (HE(PK_2_B, r_t||t); HE(PK_2_A, r_y ||y); Y; T; r'; RP; SIGA; SIGB) в цепочку блоков через узел 1, чтобы выполнять транзакцию: r'=r_1+...+r_k-r_t-r_y. Транзакция может содержать дополнительные параметры или может не содержать все перечисленные параметры. Транзакция может передаваться в широковещательном режиме в один или более узлов (например, консенсусных узлов) в цепочке блоков для верификации. Если верификация выполняется успешно, транзакция добавляется в цепочку блоков. Если верификация завершается неудачно, транзакция отклоняется на предмет добавления в цепочку блоков.
[89] На этапах 208-213, один или более узлов (например, консенсусных узлов) верифицируют подписи, доказательство по диапазону и другую информацию отправленной транзакции. Если верификация завершается неудачно, узлы отклоняют транзакцию. Если верификация выполняется успешно, узлы одобряют транзакцию, обновляют счет пользователя A и счет пользователя B отдельно.
[90] В некоторых вариантах осуществления, чтобы выполнять транзакцию, информация транзакций может верифицироваться посредством различных узлов цепочки блоков. Информация транзакций может содержать адрес TXID транзакции, подпись(и), ввод и вывод. TXID может содержать хеш контента транзакции. Подписи могут содержать криптоключи-подписи посредством отправителя и получателя. Ввод может содержать адрес счета отправителя в цепочке блоков, один или более активов, отведенных из счета цепочки блоков отправителя для транзакции, и т.д. Вывод может содержать адрес счета получателя в цепочке блоков, тип(ы) активов для актива(ов) получателя, значение(я) удостоверения актива(ов) получателя и т.д. Ввод и вывод могут содержать индексированную информацию в табличной форме. В некоторых вариантах осуществления, стоимость значения NoteID может представлять собой "TXID+индекс актива в выводе". Первый открытый ключ PK_1_A отправителя может служить в качестве адреса для счета A, и первый открытый ключ PK_1_B получателя может служить в качестве адреса для счета B.
[91] В некоторых вариантах осуществления, один или более узлов цепочки блоков могут верифицировать отправленную транзакцию (HE(abG, r_t||t); HE(aaG, r_y ||y); Y; T; RP; SIGA; SIGB).
[92] На этапе 208, узлы могут верифицировать то, выполнена либо нет транзакция, с использованием механизма защиты от двойной траты или механизма защиты от атак с повторением пакетов. Если транзакция выполнена, узлы могут отклонять транзакцию; в противном случае, способ может переходить к этапу 209.
[93] На этапе 209, узлы могут проверять подписи SIGA и SIGB (например, на основе открытого ключа A и открытого ключа B, соответственно). Если какая-либо из подписей является некорректной, узлы могут отклонять транзакцию; в противном случае, способ может переходить к этапу 210.
[94] На необязательном этапе 210, узлы могут верифицировать то, являются или нет типы активов согласованными. Например, узлы могут верифицировать то, являются или нет типы активов в NoteType для A_1 в A_k согласованными с типом(ами) активов суммы t транзакции. Если какие-либо из типов активов являются несогласованным, узлы могут отклонять транзакцию; в противном случае, способ может переходить к этапу 211. В некоторых вариантах осуществления, исходный тип активов в кошельке может преобразовываться в другой тип на основе обменного курса, и этот этап может пропускаться.
[95] На этапе 211, узлы могут проверять доказательство RP по диапазону, чтобы проверять достоверность значения PC(r_t, t) и значения PC(r_y, y). В одном варианте осуществления, узлы могут проверять доказательство RP по диапазону, чтобы верифицировать то, не меньше либо нет сумма t транзакции нуля, и то, не меньше либо нет сдача y нуля. Если верификация завершается неудачно, узлы могут отклонять транзакцию; в противном случае, способ может переходить к этапу 212.
[96] На этапе 212, узлы могут проверять то, являются или нет вводы и выводы транзакции согласованными. В одном варианте осуществления, r' может соответствовать стоимости активов t'=a_1+...+a_k-t-y на основе гомоморфного свойства, где r'=r_1+...+r_k-r_t-r_y. Поскольку входные активы составляют a_1-a_k, и вывод составляет t+y, t'=0, когда ввод и вывод являются согласованными: a_1+...a_k=t+y. Таким образом, значение удостоверения, соответствующее r', составляет PC(r', t')=r' *G+t'*H=r'G. Поскольку r'=r_1+...+r_k-r_t-r_y, узлы могут определять то, равны или нет вводы и выводы, посредством верификации того, равен r'G или нет PC_1+...+PC_k-T-Y согласно r_1+...+r_k-r_t-r_y. Если r'G равен PC_1+...+PC_k-T-Y, узлы могут определять то, что вводы и выводы транзакции являются согласованными, и переходить к следующему этапу; в противном случае, узлы могут определять то, что вводы и выводы транзакции являются несогласованными, и отклонять транзакцию.
[97] На этапе 213, узлы могут верифицировать то, имеет или нет узел A актив(ы), отведенные для транзакции. В одном варианте осуществления, узлы могут выполнять эту верификацию на основе информации, сохраненной в цепочке блоков, к примеру, информации, соответствующей счету A. Информация может содержать информацию предыдущих транзакций всех активов. Узлы в силу этого могут определять то, имеет или нет счет A актив для проведения транзакции для транзакции. Если определение представляет собой "Нет", узлы могут отклонять транзакцию; в противном случае, способ может переходить к этапу 214.
[98] На этапе 214, узлы могут обновлять счет A и счет B. Например, узлы могут удалять актив для проведения транзакции с суммой t из счета A и добавлять его на счет B. На основе гомоморфного свойства, поскольку Y=PC(r_y, y) и узел 1 знает r_y и может осуществлять доступ к значению Y удостоверения из цепочки блоков, узел 1 может дешифровать Y, чтобы получать стоимость активов y, и возвращать ее на счет A. Узел 2 получает на этапе 202 случайное число r_t из узла 1 и может получать из цепочки блоков значение T удостоверения. Таким образом, узел 2 может дешифровать T, чтобы получать стоимость активов t, и добавлять ее на счет B.
[99] В одном примере, после обновления счета A и счета B, счет A принимает сдачу y на отведенные активы A_1, A_2,..., A_k и принимает свои неотведенные активы A_k+1,..., A_m, и счет B принимает сумму t транзакции и принимает свои исходные активы B_1, B_2,..., B_n. Активы на счету A и на счету B являются следующими:
[100] Для счета A (счета A), обновленные активы обозначаются следующим образом:
(Y=PC(r_y, y), HE(PK_2_A, r_y ||y)),
(A_k+1=PC(r_{a_ k+1}, a_ k+1), HE(PK_2_A, r_{a_ k+1}||a_ k+1))
(A_k+2=PC(r_{a_ k+2}, a_ k+2), HE(PK_2_A, r_{a_ k+2}||a_ k+2))
...
(A_m=PC(r_{a_m}, a_m), HE(PK_2_A, r_{a_m}||a_m))
[101] Для счета B (счета B), обновленные активы обозначаются следующим образом:
(B_1=PC(r_{b_1}, b_1), HE(PK_2_B, r_{b_1}||b_1)),
(B_2=PC(r_{b_2}, b_2), HE(PK_2_B, r_{b_2}||b_2)),
...
(B_n=PC(r_{b_n}, b_n), HE(PK_2_B, r_{b_n}||b_n)),
(T=PC(r_t, t), HE(PK_2_B, r_t||t))
[102] Хотя это раскрытие использует узел A/пользователя A и узел B/пользователя B для того, чтобы иллюстрировать отправителя и получателя, соответственно, отправитель и получатель могут представлять собой идентичный узел/пользователя. Например, сдача y транзакции (общее число отведенных активов на счету A минус сумма транзакции) может отправляться обратно отправителю транзакции. Таким образом, различные этапы, выполняемые узлом B, как описано в данном документе, альтернативно могут выполняться узлом A.
[103] Фиг. 3A иллюстрирует блок-схему последовательности операций примерного способа 300 для защиты информации, согласно различным вариантам осуществления настоящего раскрытия. Способ 300 может реализовываться посредством одного или более компонентов (например, узла A, узла 1, комбинации узла A и узла 1) системы 100 по фиг. 1. Способ 300 может реализовываться посредством системы или устройства (например, компьютера, сервера), содержащего процессор и долговременный машиночитаемый носитель данных (например, запоминающее устройство), сохраняющий инструкции. Инструкции, при выполнении посредством процессора, инструктируют системе или устройству (например, процессору) осуществлять способ 300. Операции способа 300, представленного ниже, имеют намерение быть иллюстративными. В зависимости от реализации, примерный способ 300 может включать в себя большее число, меньшее число или альтернативные этапы, выполняемые в других порядках или параллельно.
[104] Этап 301 содержит: заверение суммы t транзакции для транзакции с помощью схемы обязательств, чтобы получить значение T удостоверения транзакции, причем схема обязательств содержит, по меньшей мере, коэффициент r_t маскирования транзакции. В некоторых вариантах осуществления, схема обязательств содержит схему обязательств Педерсена, по меньшей мере, на основе коэффициента r_t маскирования транзакции, при этом сумма t транзакции является заверенным значением.
[105] Этап 302 содержит: шифрование комбинации коэффициента r_t маскирования транзакции и суммы t транзакции с помощью второго открытого ключа PK_2_B получателя транзакции, при этом: получатель дополнительно ассоциирован с первым открытым ключом PK_1_B в качестве адреса для приема суммы t транзакции. В некоторых вариантах осуществления, второй открытый ключ PK_2_B представляет собой гомоморфный ключ шифрования. В некоторых вариантах осуществления, комбинация коэффициента r_t маскирования транзакции и суммы t транзакции содержит конкатенацию коэффициента r_t маскирования транзакции и суммы t транзакции. В некоторых вариантах осуществления, первый открытый ключ PK_1_B получателя служит в качестве адреса счета B для приема суммы t транзакции, и открытый ключ PK_1_A отправителя служит в качестве адреса счета A для отправки суммы t транзакции.
[106] Этап 303 содержит: передачу значения T удостоверения транзакции и зашифрованной комбинации в узел-получатель, ассоциированный с получателем, для верификации транзакции узлом-получателем (например, инструктирование узлу-получателю верифицировать транзакцию). В некоторых вариантах осуществления, передача значения T удостоверения транзакции и зашифрованной комбинации в узел-получатель, ассоциированный с получателем, для верификации транзакции узлом-получателем содержит передачу значения T удостоверения транзакции и зашифрованной комбинации в узел-получатель, ассоциированный с получателем, что инструктирует узлу-получателю: дешифровать зашифрованную комбинацию с помощью второго закрытого ключа SK_2_B получателя, чтобы получать коэффициент r_t маскирования транзакции и сумму t транзакции; и верифицировать транзакцию, по меньшей мере, на основе значения T удостоверения транзакции, коэффициента r_t маскирования транзакции и суммы t транзакции.
[107] В некоторых вариантах осуществления, инструктирование узлу-получателю верифицировать транзакцию, по меньшей мере, на основе значения T удостоверения транзакции, коэффициента r_t маскирования транзакции и суммы t транзакции содержит инструктирование узлу-получателю: в ответ на определение того, что значение T удостоверения транзакции не совпадает со схемой обязательств суммы t транзакции на основе коэффициента r_t маскирования транзакции, отклонять транзакцию; и в ответ на определение того, что значение T удостоверения транзакции совпадает со схемой обязательств суммы t транзакции на основе коэффициента r_t маскирования транзакции, одобрять транзакцию посредством подписания транзакции с помощью первого закрытого ключа SK_1_B получателя, чтобы формировать подпись SIGB получателя.
[108] В некоторых вариантах осуществления, до передачи зашифрованной комбинации в узел-получатель, ассоциированный с получателем, способ дополнительно содержит: заверение сдачи y транзакции с помощью схемы обязательств, чтобы получить значение Y удостоверения сдачи, причем схема обязательств содержит, по меньшей мере, коэффициент r_y маскирования сдачи, при этом сдача y представляет собой один или более активов отправителя транзакции, которые являются отведенными для транзакции, меньшей суммы t транзакции; и шифрование другой комбинации коэффициента r_y маскирования сдачи и сдачи y с помощью второго открытого ключа PK_2_A отправителя.
[109] В некоторых вариантах осуществления, способ дополнительно содержит: в ответ на прием подписи SIGB получателя, одобрение транзакции посредством подписания транзакции с помощью первого закрытого ключа SK_1_A отправителя, чтобы формировать подпись SIGA отправителя; и отправку транзакции, содержащей зашифрованную комбинацию, другую зашифрованную комбинацию, значение T удостоверения транзакции, значение Y удостоверения сдачи, подпись SIGA отправителя и подпись SIGB получателя, в один или более узлов в сети цепочек блоков для верификации транзакции одним или более узлами.
[110] В некоторых вариантах осуществления, отправка транзакции, содержащей зашифрованную комбинацию, другую зашифрованную комбинацию, значение T удостоверения транзакции, значение Y удостоверения сдачи, подпись SIGA отправителя и подпись SIGB получателя, в один или более узлов в сети цепочек блоков для верификации транзакции одним или более узлами содержит: отправку транзакции, содержащей зашифрованную комбинацию, другую зашифрованную комбинацию, значение T удостоверения транзакции, значение Y удостоверения сдачи, подпись SIGA отправителя и подпись SIGB получателя, в один или более узлов в сети цепочек блоков, что инструктирует одному или более узлов, в ответ на успешную верификацию транзакции, эмитировать сумму t транзакции получателю, исключать один или более активов, отведенных для транзакции, и эмитировать сдачу y отправителю.
[111] Фиг. 3B иллюстрирует блок-схему последовательности операций примерного способа 400 для защиты информации, согласно различным вариантам осуществления настоящего раскрытия. Способ 400 может реализовываться посредством одного или более компонентов (например, узла B, узла 2, комбинации узла B и узла 2 и т.д.) системы 100 по фиг. 1. Способ 400 может реализовываться посредством системы или устройства (например, компьютера, сервера), содержащего процессор и долговременный машиночитаемый носитель данных (например, запоминающее устройство), сохраняющий инструкции. Инструкции, при выполнении посредством процессора, инструктируют системе или устройству (например, процессору) осуществлять способ 400. Операции способа 400, представленного ниже, имеют намерение быть иллюстративными. В зависимости от реализации, примерный способ 400 может включать в себя большее число, меньшее число или альтернативные этапы, выполняемые в других порядках или параллельно.
[112] Этап 401 содержит: получение комбинации коэффициента r_t маскирования транзакции и суммы t транзакции, зашифрованной с помощью второго открытого ключа PK_2_B получателя транзакции, и получение значения T удостоверения транзакции, при этом: сумма t транзакции удостоверена с помощью схемы обязательств узлом-отправителем, ассоциированным с отправителем транзакции, чтобы получать значение T удостоверения транзакции, причем схема обязательств содержит, по меньшей мере, коэффициент r_t маскирования транзакции.
[113] Этап 402 содержит: дешифрование полученной комбинации с помощью второго закрытого ключа SK_2_B получателя транзакции, чтобы получать коэффициент r_t маскирования транзакции и сумму t транзакции. В некоторых вариантах осуществления, второй открытый ключ PK_2_B получателя и второй закрытый ключ SK_2_B получателя представляют собой пару гомоморфных ключей шифрования.
[114] Этап 403 содержит: верификацию транзакции, по меньшей мере, на основе значения T удостоверения транзакции, коэффициента r_t маскирования транзакции и суммы t транзакции.
[115] Альтернативно шифрованию комбинации (r_t, t), к примеру, (r_t||t) в узле A, узел A может передавать (r_t, t) в узел B, что инструктирует узлу B шифровать комбинацию (r_t, t), как описано ниже со ссылкой на фиг. 4A и фиг. 4B. Другие этапы и описания фиг. 1-3B могут аналогично применяться к фиг. 4A и фиг. 4B.
[116] Фиг. 4A иллюстрирует блок-схему последовательности операций примерного способа 440 для защиты информации, согласно различным вариантам осуществления настоящего раскрытия. Способ 440 может реализовываться посредством одного или более компонентов (например, узла A, узла 1, комбинации узла A и узла 1) системы 100 по фиг. 1. Способ 440 может реализовываться посредством системы или устройства (например, компьютера, сервера), содержащего процессор и долговременный машиночитаемый носитель данных (например, запоминающее устройство), сохраняющий инструкции. Инструкции, при выполнении посредством процессора, инструктируют системе или устройству (например, процессору) осуществлять способ 440. Операции способа 440, представленного ниже, имеют намерение быть иллюстративными. В зависимости от реализации, примерный способ 440 может включать в себя большее число, меньшее число или альтернативные этапы, выполняемые в других порядках или параллельно.
[117] Этап 441 содержит: заверение суммы t транзакции для транзакции с помощью схемы обязательств, чтобы получить значение T удостоверения транзакции, причем схема обязательств содержит, по меньшей мере, коэффициент r_t маскирования транзакции.
[118] Этап 442 содержит: отправку суммы t транзакции, коэффициента r_t маскирования транзакции и значения T удостоверения транзакции в узел-получатель, ассоциированный с получателем транзакции, для, посредством узла-получателя, верификации транзакции и шифрования коэффициента r_t маскирования транзакции и суммы t транзакции с помощью второго открытого ключа PK_2_B получателя, при этом: получатель дополнительно ассоциирован с первым открытым ключом PK_1_B в качестве адреса для приема суммы транзакции. Например, узел B может верифицировать то, удовлетворяется или нет T=PC(r_t, t), и узел B шифровать комбинацию с помощью ключа PK_2_B, чтобы получать HE(PK_2_B, r_t||t).
[119] Этап 443 содержит: получение зашифрованной комбинации (например, HE(PK_2_B, r_t||t)) коэффициента r_t маскирования транзакции и суммы t транзакции из узла-получателя.
[120] Этап 444 содержит: передачу зашифрованной комбинации и значения T удостоверения транзакции во множество узлов в цепочке блоков для верификации транзакции посредством множества узлов.
[121] Фиг. 4B иллюстрирует блок-схему последовательности операций примерного способа 450 для защиты информации, согласно различным вариантам осуществления настоящего раскрытия. Способ 450 может реализовываться посредством одного или более компонентов (например, узла B, узла 2, комбинации узла B и узла 2 и т.д.) системы 100 по фиг. 1. Способ 450 может реализовываться посредством системы или устройства (например, компьютера, сервера), содержащего процессор и долговременный машиночитаемый носитель данных (например, запоминающее устройство), сохраняющий инструкции. Инструкции, при выполнении посредством процессора, инструктируют системе или устройству (например, процессору) осуществлять способ 450. Операции способа 450, представленного ниже, имеют намерение быть иллюстративными. В зависимости от реализации, примерный способ 450 может включать в себя большее число, меньшее число или альтернативные этапы, выполняемые в других порядках или параллельно.
[122] Этап 451 содержит: получение суммы t транзакции для транзакции, коэффициента r_t маскирования транзакции и значения T удостоверения транзакции.
[123] Этап 452 содержит: верификацию транзакции на основе полученной суммы t транзакции, полученного коэффициента r_t маскирования транзакции и полученного значения T удостоверения транзакции.
[124] Этап 453 содержит: в ответ на успешную верификацию транзакции, шифрование коэффициента r_t маскирования транзакции и суммы t транзакции с помощью второго открытого ключа PK_2_B получателя транзакции, чтобы получать зашифрованную комбинацию (например, HE(PK_2_B, r_t||t)).
[125] Этап 454 содержит: передачу зашифрованной комбинации в узел-отправитель, ассоциированный с отправителем транзакции.
[126] Как показано, конфиденциальность для суммы транзакции может защищаться посредством различных улучшений вычислительных технологий. Например, структура счета содержит одно или более полей, к примеру, первое поле, ассоциированное с удостоверением Педерсена стоимости активов (например, первое поле представляет собой PC(r_{a_i}, a_i), при этом i составляет между 1 и m), и второе поле, ассоциированное со случайным числом для удостоверения Педерсена и стоимости активов (например, второе поле представляет собой HE(...)). Первое поле и второе поле также используются на этапах проведения транзакции и сохраняются в цепочке блоков.
[127] В качестве другого примера, использование гомоморфного шифрования является совместимым с моделью на основе счетов/балансов. Таким образом, зашифрованные случайные числа могут формироваться для суммы транзакции и изменяться и добавляться на соответствующие счета. Использование гомоморфного шифрования обеспечивает возможность хранения коэффициентов маскирования (например, случайных чисел) и стоимостей активов в цепочке блоков с повышенной безопасностью, исключая управление коэффициентами маскирования вне цепочки. Сохранение зашифрованных случайных чисел и стоимостей активов в цепочке блоков предоставляет удобство для управления случайными числами, минимизирует вероятность потерь и переделку случайных чисел и стоимостей активов и стимулирует безопасность на основе распределенного и согласованного хранения цепочек блоков.
[128] В качестве еще одного другого примера, доказательство по диапазону используется для того, чтобы доказывать то, что уже существующие активы транзакции балансируются на предмет новых активов и транзакции, и то, что значение каждого нового актива находится в обоснованном диапазоне. Дополнительно, стороны транзакции могут передавать заверенное случайное число и значение нового актива получателю через защищенный канал вне цепочки блоков, чтобы верифицировать то, совпадает или нет заверенное значение со значением актива транзакции.
[129] В связи с этим, случайные числа удостоверений Педерсена могут легко управляться, без риска повреждения и без подвергания дополнительной нагрузке по управлению ключами. Таким образом, конфиденциальность транзакции может быть полностью защищена, и суммы транзакций могут храниться в качестве секретов.
[130] Технологии, описанные в данном документе, реализуются посредством одного или более вычислительных устройств специального назначения. Вычислительные устройства специального назначения могут представлять собой настольные компьютерные системы, серверные компьютерные системы, портативные компьютерные системы, карманные устройства, сетевые устройства или любое другое устройство либо комбинацию устройств, которые включают аппаратно-реализованную и/или программную логику для того, чтобы реализовывать технологии. Вычислительное устройство(а), в общем, управляются и координируются посредством программного обеспечения операционной системы. Традиционные операционные системы управляют и диспетчеризуют компьютерные процессы для выполнения, выполняют управление запоминающим устройством, предоставляют файловую систему, организацию сетей, услуги ввода-вывода и предоставляют функциональность пользовательского интерфейса, к примеру, графический пользовательский интерфейс (GUI), в числе прочего.
[131] Фиг. 5 является блок-схемой, которая иллюстрирует компьютерную систему 500, в которой может реализовываться любой из вариантов осуществления, описанных в данном документе. Система 500 может реализовываться в любом из узлов, описанных в данном документе и выполненных с возможностью выполнять соответствующие этапы для способов защиты информации. Компьютерная система 500 включает в себя шину 502 или другой механизм связи для передачи информации, один или более аппаратных процессоров 504, соединенных с шиной 502 для обработки информации. Аппаратный процессор(ы) 504, например, может представлять собой один или более микропроцессоров общего назначения.
[132] Компьютерная система 500 также включает в себя основное запоминающее устройство 506, к примеру, оперативное запоминающее устройство (RAM), кэш и/или другие устройства динамического хранения данных, соединенные с шиной 502 для сохранения информации и инструкций, которые должны выполняться посредством процессора(ов) 504. Основное запоминающее устройство 506 также может использоваться для сохранения временных переменных или другой промежуточной информации во время выполнения инструкций, которые должны выполняться посредством процессора(ов) 504. Такие инструкции, когда сохраняются на носителях хранения данных, доступных для процессора(ов) 504, превращают компьютерную систему 500 в машину специального назначения, которая настраивается с возможностью выполнять операции, указываемые в инструкциях. Компьютерная система 500 дополнительно включает в себя постоянное запоминающее устройство 508 (ROM) или другое устройство статического хранения данных, соединенное с шиной 502 для сохранения статической информации и инструкций для процессора(ов) 504. Устройство 510 хранения данных, такое как магнитный диск, оптический диск или карта USB-флэш-памяти (флэш-накопитель) и т.д., предоставляется и соединяется с шиной 502 для сохранения информации и инструкций.
[133] Компьютерная система 500 может реализовывать технологии, описанные в данном документе, с использованием настраиваемой аппаратно-реализованной логики, одной или более ASIC или FPGA, микропрограммного обеспечения и/или программной логики, которая в комбинации с компьютерной системой инструктирует или программирует компьютерную систему 500 таким образом, что она представляет собой машину специального назначения. Согласно одному варианту осуществления, операции, способы и процессы, описанные в данном документе, выполняются посредством компьютерной системы 500 в ответ на выполнение, посредством процессора(ов) 504, одной или более последовательностей из одной или более инструкций, содержащихся в основном запоминающем устройстве 506. Такие инструкции могут считываться в основное запоминающее устройство 506 из другого носителя хранения данных, к примеру, из устройства 510 хранения данных. Выполнение последовательностей инструкций, содержащихся в основном запоминающем устройстве 506, инструктирует процессору(ам) 504 выполнять этапы процесса, описанные в данном документе. В альтернативных вариантах осуществления, аппаратно-реализованная схема может использоваться вместо или в комбинации с программными инструкциями.
[134] Основное запоминающее устройство 506, ROM 508 и/или хранилище 510 могут включать в себя долговременные носители хранения данных. Термин "долговременные носители" и подобные термины, при использовании в данном документе, означают носители, которые сохраняют данные и/или инструкции, которые инструктируют машине работать конкретным способом, носители исключают энергозависимые сигналы. Такие долговременные носители может содержать долговременные носители и/или кратковременные носители. Долговременные носители включают в себя, например, оптические или магнитные диски, такие как устройство 510 хранения данных. Кратковременные носители включают в себя динамическое запоминающее устройство, такое как основное запоминающее устройство 506. Стандартные формы долговременных носителей включают в себя, например, гибкий диск, дискету, жесткий диск, полупроводниковый накопитель, магнитную ленту или любой другой магнитный носитель данных, CD-ROM, любой другой оптический носитель данных, любой физический носитель с шаблонами отверстий, RAM, PROM и EPROM, флэш-EPROM, NVRAM, любую другую микросхему или картридж запоминающего устройства и сетевые версии вышеозначенного.
[135] Компьютерная система 500 также включает в себя сетевой интерфейс 518, соединенный с шиной 502. Сетевой интерфейс 518 предоставляет двунаправленное соединение для обмена данными с одной или более сетевых линий связи, которые соединяются с одной или более локальных сетей. Например, сетевой интерфейс 518 может представлять собой карту по стандарту цифровой сети с интегрированными услугами (ISDN), кабельный модем, спутниковый модем либо модем для того, чтобы предоставлять соединение для передачи данных с соответствующим типом телефонной линии. В качестве другого примера, сетевой интерфейс 518 может представлять собой карту локальной вычислительной сети (LAN), чтобы предоставлять соединение для передачи данных с совместимой LAN (или WAN-компонент, который должен обмениваться данными с WAN). Также могут реализовываться линии беспроводной связи. В любой такой реализации, сетевой интерфейс 518 отправляет и принимает электрические, электромагнитные или оптические сигналы, которые переносят потоки цифровых данных, представляющие различные типы информации.
[136] Компьютерная система 500 может отправлять сообщения и принимать данные, включающие в себя программный код, через сеть(и), сетевую линию связи и сетевой интерфейс 518. В Интернет-примере, сервер может передавать запрашиваемый код для прикладной программы через Интернет, ISP, локальную сеть и сетевой интерфейс 518.
[137] Принимаемый код может выполняться посредством процессора(ов) 504 по мере того, как он принимается и/или сохраняется в устройстве 510 хранения данных или другом долговременном устройстве хранения данных для последующего выполнения.
[138] Каждый из процессов, способов и алгоритмов, описанных в предыдущих разделах, может быть осуществлен и полностью или частично автоматизирован посредством кодовых модулей, выполняемых посредством одной или более компьютерных систем или процессоров компьютера, содержащих компьютерные аппаратные средства. Процессы и алгоритмы могут реализовываться частично или полностью в специализированной схеме.
[139] Различные признаки и процессы, описанные выше, могут использоваться независимо друг от друга или могут комбинироваться различными способами. Все возможные комбинации и субкомбинации имеют намерение попадать в пределы объема этого раскрытия. Помимо этого, определенные этапы способа или процесса могут опускаться в некоторых реализациях. Способы и процессы, описанные в данном документе, также не ограничены конкретными последовательностями, и этапы или состояния, связанные с ними, могут выполняться в других последовательностях, которые являются подходящими. Например, описанные этапы или состояния могут выполняться в порядке, отличном от конкретно раскрытого порядка, либо несколько этапов или состояний могут комбинироваться в одном этапе или состоянии. Примерные этапы или состояния могут выполняться последовательно, параллельно или некоторым другим способом. Этапы или состояния могут добавляться или удаляться из раскрытых примерных вариантов осуществления. Примерные системы и компоненты, описанные в данном документе, могут быть сконфигурированы отлично от описанных конфигураций. Например, элементы могут добавляться, удаляться или перекомпоновываться по сравнению с раскрытыми примерными вариантами осуществления.
[140] Различные операции примерных способов, описанных в данном документе, могут выполняться, по меньшей мере, частично, посредством алгоритма. Алгоритм может содержаться в программных кодах или инструкциях, сохраненных в запоминающем устройстве (например, на долговременном машиночитаемом носителе хранения данных, описанном выше). Такой алгоритм может содержать алгоритм машинного обучения. В некоторых вариантах осуществления, алгоритм машинного обучения может не программировать явно компьютеры с возможностью выполнять функцию, а может обучаться, из обучающих данных, возможности создавать модель прогнозирований, которая выполняет функцию.
[141] Различные операции примерных способов, описанных в данном документе, могут выполняться, по меньшей мере, частично, посредством одного или более процессоров, которые временно выполнены с возможностью (например, посредством программного обеспечения) или постоянно выполнены с возможностью выполнять релевантные операции. Независимо от того, временно или постоянно выполнены с возможностью, такие процессоры могут составлять процессорнореализуемые механизмы, которые работают с возможностью выполнять одну или более операций или функций, описанных в данном документе.
[142] Аналогично, способы, описанные в данном документе, могут быть, по меньшей мере, частично процессорнореализуемыми, при этом конкретный процессор или процессоры представляют собой пример аппаратных средств. Например, по меньшей мере, некоторые операции способа могут осуществляться посредством одного или более процессоров или процессорнореализуемых механизмов. Кроме того, один или более процессоров также могут работать с возможностью поддерживать выполнение релевантных операций в окружении "облачных вычислений" или в качестве "программного обеспечения как услуга" (SaaS). Например, по меньшей мере, некоторые операции могут выполняться посредством группы компьютеров (в качестве примеров машин, включающих в себя процессоры), причем эти операции являются доступным через сеть (например, Интернет) и через один или более соответствующих интерфейсов (например, через интерфейс прикладного программирования (API)).
[143] Выполнение определенных операций может распределяться между процессорами, не только постоянно размещающимися в одной машине, но и развернутыми на определенном числе машин. В некоторых примерных вариантах осуществления, процессоры или процессорнореализуемые механизмы могут быть расположены в одном географическом местоположении (например, в домашнем окружении, в офисном окружении или на ферме серверов). В других примерных вариантах осуществления, процессоры или процессорнореализуемые механизмы могут быть распределены по ряду географических местоположений.
[144] В этом подробном описании, несколько экземпляров могут реализовывать компоненты, операции или структуры, описанные в качестве одного экземпляра. Хотя отдельные операции одного или более способов проиллюстрированы и описаны в качестве отдельных операций, одна или более отдельных операций могут выполняться параллельно, и ничего не требует выполнения операций в проиллюстрированном порядке. Структуры и функциональность, представленная в качестве отдельных компонентов в примерных конфигурациях, могут реализовываться как комбинированная структура или компонент. Аналогично, структуры и функциональность, представленные в качестве одного компонента, могут реализовываться как отдельные компоненты. Эти и другие варьирования, модификации, добавления и улучшения попадают в пределы объема изобретения в данном документе.
[145] Хотя общее представление изобретения описывается со ссылкой на конкретные примерные варианты осуществления, различные модификации и изменения могут вноситься в эти варианты осуществления без отступления от более широкого объема вариантов осуществления настоящего раскрытия. Такие варианты осуществления изобретения могут упоминаться в данном документе отдельно или совместно посредством термина "изобретение" просто для удобства и без намерения умышленно ограничивать объем этой заявки каким-либо одним раскрытием или идеей, если фактически раскрывается несколько из них. Подробное описание не должно рассматриваться в ограничивающем смысле, и объем различных вариантов осуществления задается только посредством прилагаемой формулы изобретения, наряду с полным диапазоном эквивалентов, на которые уполномочена такая формула изобретения.

Claims (64)

1. Машинореализуемый способ защиты информации, содержащий этапы, на которых:
формируют посредством узла-отправителя, ассоциированного с отправителем транзакции, значение T удостоверения транзакции путем заверения суммы t транзакции упомянутой транзакции с помощью схемы обязательств на основе, по меньшей мере, коэффициента r_t маскирования транзакции, при этом транзакция содержит перевод суммы t транзакции с адреса, ассоциированного с общедоступным ключом PK_1_A отправителя, в адрес, ассоциированный с общедоступным ключом PK_1_B получателя транзакции, и суммы t транзакции - из одного или более активов отправителя, записанных в цепочке блоков;
зашифровывают посредством узла-отправителя первую комбинацию коэффициента r_t маскирования транзакции и суммы t транзакции с помощью общедоступного ключа PK_2_B получателя транзакции, при этом общедоступный ключ PK_2_B отличается от общедоступного ключа PK_1_B;
передают посредством узла-отправителя через канал вне цепочки блоков значение T удостоверения транзакции и зашифрованную первую комбинацию в узел-получатель, ассоциированный с получателем;
принимают посредством узла-отправителя от узла-получателя подпись SIGB получателя, сформированную посредством подписания узлом-получателем транзакции с помощью секретного ключа SK_1_B получателя, причем общедоступный ключ PK_1_B и секретный ключ SK_1_B представляют собой пару общедоступного-секретного ключей получателя;
формируют посредством узла-отправителя подпись SIGA отправителя путем подписания транзакции с помощью секретного ключа SK_1_A отправителя, причем общедоступный ключ PK_1_A и секретный ключ SK_1_A представляют собой пару общедоступного-секретного ключей отправителя;
формируют посредством узла-отправителя обновленную версию транзакции, причем обновленная версия транзакции содержит зашифрованную первую комбинацию, значение T удостоверения транзакции, подпись SIGA отправителя и подпись SIGB получателя; и
отправляют посредством узла-отправителя обновленную версию транзакции в один или более узлов цепочки блоков упомянутой цепочки блоков.
2. Способ по п.1, в котором общедоступный ключ PK_2_B представляет собой гомоморфный ключ шифрования.
3. Способ по п.1, в котором схема обязательств содержит схему обязательств Педерсена на основе, по меньшей мере, коэффициента r_t маскирования транзакции, при этом сумма t транзакции является заверенным значением.
4. Способ по п.1, в котором первая комбинация коэффициента r_t маскирования транзакции и суммы t транзакции содержит конкатенацию коэффициента r_t маскирования транзакции и суммы t транзакции.
5. Способ по п.1, в котором подписание транзакции с помощью секретного ключа SK_1_B получателя содержит этапы, на которых:
получают посредством узла-получателя сумму t транзакции и коэффициент r_t маскирования транзакции посредством расшифровывания зашифрованной первой комбинации с помощью секретного ключа SK_2_B получателя, причем общедоступный ключ PK_2_B и секретный ключ SK_2_B представляют собой другую пару общедоступного-секретного ключей получателя; и
верифицируют посредством узла-получателя транзакцию на основе значения T удостоверения транзакции, полученной суммы t транзакции и полученного коэффициента r_t маскирования транзакции.
6. Способ по п.5, в котором верификация транзакции на основе значения T удостоверения транзакции, полученной суммы t транзакции и полученного коэффициента r_t маскирования транзакции содержит этап, на котором, в качестве реакции на определение того, что значение T удостоверения транзакции совпадает со схемой обязательств суммы t транзакции, на основе коэффициента r_t маскирования транзакции, одобряют посредством узла-получателя транзакцию путем подписания транзакции с помощью секретного ключа SK_1_B получателя.
7. Способ по п.1, который, до формирования обновленной версии транзакции, дополнительно содержит этапы, на которых:
формируют посредством узла-отправителя значение Y удостоверения сдачи путем заверения сдачи y транзакции с помощью схемы обязательств на основе, по меньшей мере, коэффициента r_y маскирования сдачи, при этом сдача y представляет собой упомянутые один или более активов отправителя транзакции за вычетом суммы t транзакции; и
зашифровывают посредством узла-отправителя вторую комбинацию коэффициента r_y маскирования сдачи и сдачи y с помощью общедоступного ключа PK_2_A отправителя, при этом общедоступный ключ PK_2_A отправителя отличается от общедоступного ключа PK_1_A отправителя.
8. Способ по п.7, в котором обновленная версия транзакции дополнительно содержит зашифрованную вторую комбинацию и значение Y удостоверения сдачи.
9. Способ по п.8, дополнительно содержащий этап, на котором добавляют посредством множества узлов цепочки блоков упомянутой цепочки блоков обновленную версию транзакции в данную цепочку блоков посредством верификации обновленной версии транзакции с помощью консенсусной верификации.
10. Долговременный машиночитаемый носитель данных из состава узла-отправителя, ассоциированного с отправителем транзакции, хранящий инструкции, которые при их исполнении процессором узла-отправителя инструктируют узлу-отправителю выполнять операции, содержащие:
формирование значения T удостоверения транзакции посредством заверения суммы t транзакции упомянутой транзакции с помощью схемы обязательств на основе, по меньшей мере, коэффициента r_t маскирования транзакции, при этом транзакция содержит перевод суммы t транзакции с адреса, ассоциированного с общедоступным ключом PK_1_A отправителя, в адрес, ассоциированный с общедоступным ключом PK_1_B получателя транзакции, и суммы t транзакции - из одного или более активов отправителя, записанных в цепочке блоков;
зашифровывание первой комбинации коэффициента r_t маскирования транзакции и суммы t транзакции с помощью общедоступного ключа PK_2_B получателя транзакции, при этом общедоступный ключ PK_2_B отличается от общедоступного ключа PK_1_B;
передачу, через канал вне цепочки блоков, значения T удостоверения транзакции и зашифрованной первой комбинации в узел-получатель, ассоциированный с получателем;
прием от узла-получателя подписи SIGB получателя, сформированной посредством подписания узлом-получателем транзакции с помощью секретного ключа SK_1_B получателя, причем общедоступный ключ PK_1_B и секретный ключ SK_1_B представляют собой пару общедоступного-секретного ключей получателя;
формирование подписи SIGA отправителя посредством подписания транзакции с помощью секретного ключа SK_1_A отправителя, причем общедоступный ключ PK_1_A и секретный ключ SK_1_A представляют собой пару общедоступного-секретного ключей отправителя;
формирование обновленной версии транзакции, причем обновленная версия транзакции содержит зашифрованную первую комбинацию, значение T удостоверения транзакции, подпись SIGA отправителя и подпись SIGB получателя; и
отправление обновленной версии транзакции в один или более узлов цепочки блоков упомянутой цепочки блоков.
11. Носитель данных по п.10, при этом общедоступный ключ PK_2_B представляет собой гомоморфный ключ шифрования.
12. Носитель данных по п.10, при этом схема обязательств содержит схему обязательств Педерсена на основе, по меньшей мере, коэффициента r_t маскирования транзакции, при этом сумма t транзакции является заверенным значением.
13. Носитель данных по п.10, при этом первая комбинация коэффициента r_t маскирования транзакции и суммы t транзакции содержит конкатенацию коэффициента r_t маскирования транзакции и суммы t транзакции.
14. Носитель данных по п.10, при этом подписание транзакции с помощью секретного ключа SK_1_B получателя содержит:
получение узлом-получателем суммы t транзакции и коэффициента r_t маскирования транзакции посредством расшифровывания зашифрованной первой комбинации с помощью секретного ключа SK_2_B получателя, причем общедоступный ключ PK_2_B и секретный ключ SK_2_B представляют собой другую пару общедоступного-секретного ключей получателя; и
верификацию узлом-получателем транзакции на основе значения T удостоверения транзакции, полученной суммы t транзакции и полученного коэффициента r_t маскирования транзакции.
15. Носитель данных по п.14, при этом верификация транзакции на основе значения T удостоверения транзакции, полученной суммы t транзакции и полученного коэффициента r_t маскирования транзакции содержит, в качестве реакции на определение того, что значение T удостоверения транзакции совпадает со схемой обязательств суммы t транзакции, на основе коэффициента r_t маскирования транзакции, одобрение узлом-получателем транзакции посредством подписания транзакции с помощью секретного ключа SK_1_B получателя.
16. Носитель данных по п.10, в котором, до формирования обновленной версии транзакции, операции дополнительно содержат:
формирование значения Y удостоверения сдачи посредством заверения сдачи y транзакции с помощью схемы обязательств на основе, по меньшей мере, коэффициента r_y маскирования сдачи, при этом сдача y представляет собой упомянутые один или более активов отправителя транзакции за вычетом суммы t транзакции; и
зашифровывание второй комбинации коэффициента r_y маскирования сдачи и сдачи y с помощью общедоступного ключа PK_2_A отправителя, при этом общедоступный ключ PK_2_A отправителя отличается от общедоступного ключа PK_1_A отправителя.
17. Носитель данных по п.16, при этом обновленная версия транзакции дополнительно содержит зашифрованную вторую комбинацию и значение Y удостоверения сдачи.
18. Носитель данных по п.17, при этом обновленная версия транзакции добавляется посредством множества узлов цепочки блоков упомянутой цепочки блоков в данную цепочку блоков посредством верификации обновленной версии транзакции с помощью консенсусной верификации.
19. Система из состава узла-отправителя, ассоциированного с отправителем транзакции, предназначенная для защиты информации, при этом система содержит процессор и долговременный машиночитаемый носитель данных, соединенный с процессором, причем носитель данных хранит инструкции, которые при их исполнении процессором инструктируют системе выполнять операции, содержащие:
формирование значения T удостоверения транзакции посредством заверения суммы t транзакции упомянутой транзакции с помощью схемы обязательств на основе, по меньшей мере, коэффициента r_t маскирования транзакции, при этом транзакция содержит перевод суммы t транзакции с адреса, ассоциированного с общедоступным ключом PK_1_A отправителя, в адрес, ассоциированный с общедоступным ключом PK_1_B получателя транзакции, и суммы t транзакции - из одного или более активов отправителя, записанных в цепочке блоков;
зашифровывание первой комбинации коэффициента r_t маскирования транзакции и суммы t транзакции с помощью общедоступного ключа PK_2_B получателя транзакции, при этом общедоступный ключ PK_2_B отличается от общедоступного ключа PK_1_B;
передачу, через канал вне цепочки блоков, значения T удостоверения транзакции и зашифрованной первой комбинации в узел-получатель, ассоциированный с получателем;
прием от узла-получателя подписи SIGB получателя, сформированной посредством подписания узлом-получателем транзакции с помощью секретного ключа SK_1_B получателя, причем общедоступный ключ PK_1_B и секретный ключ SK_1_B представляют собой пару общедоступного-секретного ключей получателя;
формирование подписи SIGA отправителя посредством подписания транзакции с помощью секретного ключа SK_1_A отправителя, причем общедоступный ключ PK_1_A и секретный ключ SK_1_A представляют собой пару общедоступного-секретного ключей отправителя;
формирование обновленной версии транзакции, причем обновленная версия транзакции содержит зашифрованную первую комбинацию, значение T удостоверения транзакции, подпись SIGA отправителя и подпись SIGB получателя; и
отправление обновленной версии транзакции в один или более узлов цепочки блоков упомянутой цепочки блоков.
20. Машинореализуемый способ защиты информации, содержащий этапы, на которых:
получают посредством узла-получателя, ассоциированного с получателем транзакции, от узла-отправителя, ассоциированного с отправителем транзакции, через канал вне цепочки блоков комбинацию коэффициента r_t маскирования транзакции и суммы t транзакции, зашифрованную с помощью общедоступного ключа PK_2_B получателя транзакции, и значение T удостоверения транзакции, сформированное посредством заверения узлом-отправителем суммы t транзакции с помощью схемы обязательств на основе, по меньшей мере, коэффициента r_t маскирования транзакции;
расшифровывают посредством узла-получателя полученную комбинацию с помощью секретного ключа SK_2_B получателя транзакции, чтобы получить коэффициент r_t маскирования транзакции и сумму t транзакции, причем общедоступный ключ PK_2_B и секретный ключ SK_2_B представляют собой пару общедоступного-секретного ключей получателя;
верифицируют посредством узла-получателя транзакцию на основе, по меньшей мере, значения T удостоверения транзакции, коэффициента r_t маскирования транзакции и суммы t транзакции; и
в качестве реакции на определение того, что значение T удостоверения транзакции совпадает со схемой обязательств суммы t транзакции, на основе коэффициента r_t маскирования транзакции, одобряют посредством узла-получателя транзакцию путем подписания транзакции с помощью секретного ключа SK_1_B получателя.
21. Способ по п.20, в котором общедоступный ключ PK_2_B получателя и секретный ключ SK_2_B получателя представляют собой пару гомоморфных ключей шифрования.
22. Долговременный машиночитаемый носитель данных из состава узла-получателя, ассоциированного с получателем транзакции, хранящий инструкции, которые при их исполнении процессором узла-получателя инструктируют узлу-получателю выполнять операции, содержащие:
получение от узла-отправителя, ассоциированного с отправителем транзакции, через канал вне цепочки блоков, комбинации коэффициента r_t маскирования транзакции и суммы t транзакции, зашифрованной с помощью общедоступного ключа PK_2_B получателя транзакции, и значения T удостоверения транзакции, сформированного посредством заверения узлом-отправителем суммы t транзакции с помощью схемы обязательств на основе, по меньшей мере, коэффициента r_t маскирования транзакции;
расшифровывание полученной комбинации с помощью секретного ключа SK_2_B получателя транзакции, чтобы получить коэффициент r_t маскирования транзакции и сумму t транзакции, причем общедоступный ключ PK_2_B и секретный ключ SK_2_B представляют собой пару общедоступного-секретного ключей получателя;
верификацию транзакции на основе, по меньшей мере, значения T удостоверения транзакции, коэффициента r_t маскирования транзакции и суммы t транзакции; и
в качестве реакции на определение того, что значение T удостоверения транзакции совпадает со схемой обязательств суммы t транзакции, на основе коэффициента r_t маскирования транзакции, одобрение транзакции посредством подписания транзакции с помощью секретного ключа SK_1_B получателя.
23. Система из состава узла-получателя, ассоциированного с получателем транзакции, предназначенная для защиты информации, при этом система содержит процессор и долговременный машиночитаемый носитель данных, соединенный с процессором, причем носитель данных хранит инструкции, которые при их исполнении процессором инструктируют системе выполнять операции, содержащие:
получение от узла-отправителя, ассоциированного с отправителем транзакции, через канал вне цепочки блоков, комбинации коэффициента r_t маскирования транзакции и суммы t транзакции, зашифрованной с помощью общедоступного ключа PK_2_B получателя транзакции, и значения T удостоверения транзакции, сформированного посредством заверения узлом-отправителем суммы t транзакции с помощью схемы обязательств на основе, по меньшей мере, коэффициента r_t маскирования транзакции;
расшифровывание полученной комбинации с помощью секретного ключа SK_2_B получателя транзакции, чтобы получить коэффициент r_t маскирования транзакции и сумму t транзакции, причем общедоступный ключ PK_2_B и секретный ключ SK_2_B представляют собой пару общедоступного-секретного ключей получателя;
верификацию транзакции на основе, по меньшей мере, значения T удостоверения транзакции, коэффициента r_t маскирования транзакции и суммы t транзакции; и
в качестве реакции на определение того, что значение T удостоверения транзакции совпадает со схемой обязательств суммы t транзакции, на основе коэффициента r_t маскирования транзакции, одобрение транзакции посредством подписания транзакции с помощью секретного ключа SK_1_B получателя.
RU2019111930A 2018-11-27 2018-11-27 Система и способ для защиты информации RU2721959C1 (ru)

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
RU2721959C1 true RU2721959C1 (ru) 2020-05-25

Family

ID=66100015

Family Applications (1)

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

Country Status (17)

Country Link
US (2) US11127002B2 (ru)
EP (2) EP3745637B1 (ru)
JP (1) JP6908700B2 (ru)
KR (1) KR102139897B1 (ru)
CN (1) CN110419053B (ru)
AU (1) AU2018347196B2 (ru)
BR (1) BR112019007907A2 (ru)
CA (1) CA3040611C (ru)
ES (2) ES2881674T3 (ru)
MX (1) MX2019004360A (ru)
MY (1) MY197480A (ru)
PH (1) PH12019500860A1 (ru)
PL (1) PL3745637T3 (ru)
RU (1) RU2721959C1 (ru)
SG (1) SG11201903438TA (ru)
WO (1) WO2019072278A2 (ru)
ZA (1) ZA201902472B (ru)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11636478B2 (en) * 2017-07-27 2023-04-25 Nanyang Technological University Method of performing authentication for a transaction and a system thereof
EP3713148B1 (en) * 2019-03-22 2022-08-03 Giesecke+Devrient Mobile Security GmbH White-box ecc implementation
DE102019002731A1 (de) 2019-04-15 2020-10-15 Giesecke+Devrient Gesellschaft mit beschränkter Haftung Gerät zum direkten Übertragen von elektronischen Münzdatensätzen an ein anderes Gerät sowie Bezahlsystem
SE544149C2 (en) * 2019-06-25 2022-01-11 Coined Invest Pool Company Ab Method and system for performing electronic transactions
US10790990B2 (en) * 2019-06-26 2020-09-29 Alibaba Group Holding Limited Ring signature-based anonymous transaction
US10790961B2 (en) * 2019-07-31 2020-09-29 Alibaba Group Holding Limited Ciphertext preprocessing and acquisition
US11636470B2 (en) * 2019-09-25 2023-04-25 Visa International Service Association Key-value map commitments system and method
CN111191212B (zh) * 2019-12-31 2020-12-15 卓尔智联(武汉)研究院有限公司 基于区块链的数字凭证处理方法、装置、设备和存储介质
CN111275414A (zh) * 2019-12-31 2020-06-12 深圳市网心科技有限公司 一种基于区块链的数字货币兑换方法、装置及***
DE102020104906A1 (de) * 2020-02-25 2021-08-26 Giesecke+Devrient Gesellschaft mit beschränkter Haftung Verfahren zum direkten übertragen von elektronischen münzdatensätzen zwischen endgeräten, bezahlsystem, währungssystem und überwachungseinheit
US11645632B2 (en) * 2020-05-26 2023-05-09 Derek Norman La Salle System and method for a decentralized portable information container supporting privacy protected digital information credentialing, remote administration, local validation, access control and remote instruction signaling utilizing blockchain distributed ledger and container wallet technologies
EP3957025B1 (en) * 2020-07-03 2022-12-28 Alipay (Hangzhou) Information Technology Co., Ltd. System and method for providing privacy and security protection in blockchain-based private transactions
DE102020004121A1 (de) 2020-07-08 2022-01-13 Giesecke+Devrient Gesellschaft mit beschränkter Haftung Verfahren, teilnehmereinheit, transaktionsregister und bezahlsystem zum verwalten von transaktionsdatensätzen
DE102020004122A1 (de) 2020-07-08 2022-01-13 Giesecke+Devrient Gesellschaft mit beschränkter Haftung Bezahlsystem, münzregister, teilnehmereinheit, transaktionsregister, überwachungsregister und verfahren zum bezahlen mit elektronischen münzdatensätzen
CN113225189B (zh) * 2021-01-05 2024-02-02 上海零数众合信息科技有限公司 一种基于量子抗性的环形保密业务方法
CN112819465B (zh) * 2021-01-28 2023-08-15 武汉天喻聚联科技有限公司 基于Elgamal的同态加密方法及应用***
DE102021004025A1 (de) 2021-08-04 2023-02-09 Giesecke+Devrient Advance52 Gmbh Münzverwaltungseinheit sowie Verfahren in einer Münzverwaltungseinheit
DE102021004022A1 (de) 2021-08-04 2023-02-09 Giesecke+Devrient Advance52 Gmbh Münzdepot-Verwaltungseinheit sowie Verfahren in einer Münzdepot-Verwaltungseinheit
CN113704733B (zh) * 2021-08-31 2024-03-08 上海万向区块链股份公司 隐私可验证的动态did认证方法及***
DE102021005040A1 (de) 2021-09-24 2023-03-30 Giesecke+Devrient Advance52 Gmbh Münzverwaltungseinheit sowie Verfahren in einer Münzverwaltungseinheit
CN114092242A (zh) * 2021-11-03 2022-02-25 支付宝(杭州)信息技术有限公司 基于范围证明实现隐私交易的方法和***
CN115412263B (zh) * 2022-09-06 2024-06-11 西南交通大学 一种基于双重盲化的拜占庭容错共识方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2536666C2 (ru) * 2008-12-23 2014-12-27 МТН Мобайл Мани СА (ПТИ) ЛТД Способ и система безопасной обработки транзакции
US20160358165A1 (en) * 2015-06-08 2016-12-08 Blockstream Corporation Cryptographically concealing amounts transacted on a ledger while preserving a network's ability to verify the transaction
US20170085555A1 (en) * 2015-07-14 2017-03-23 Fmr Llc Point-to-Point Transaction Guidance Apparatuses, Methods and Systems
CN108764874A (zh) * 2018-05-17 2018-11-06 深圳前海微众银行股份有限公司 基于区块链的匿名转账方法、***及存储介质

Family Cites Families (140)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4926480A (en) 1983-08-22 1990-05-15 David Chaum Card-computer moderated systems
US7107246B2 (en) 1998-04-27 2006-09-12 Esignx Corporation Methods of exchanging secure messages
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
AU2001250824A1 (en) 2000-03-10 2001-09-24 Absolutefuture, Inc. Method and system for coordinating secure transmission of information
AU2001255183A1 (en) * 2000-04-14 2001-10-30 Wu Wen Delayed commitment scheme to prevent attacks based on compromised certificates
AU6816101A (en) * 2000-06-05 2001-12-17 Phoenix Tech Ltd Systems, methods and software for remote password authentication using multiple servers
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
EP1436967A2 (en) 2001-10-19 2004-07-14 Matsushita Electric Industrial Co., Ltd. Device authentication system and device authentication method
AU2003304217A1 (en) * 2003-06-13 2005-01-04 Orbid Limited Method and system for performing a transaction and for performing a verification of legitimate use of digital data
JP2007510947A (ja) * 2003-11-03 2007-04-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 多数当事者の効率的な乗算のための方法及び装置
US8156029B2 (en) 2005-02-24 2012-04-10 Michael Gregory Szydlo Process for verifiably communicating risk characteristics of an investment portfolio
WO2006121322A1 (en) 2005-05-10 2006-11-16 Dts Ltd. Transaction method and verification method
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
WO2007086435A1 (ja) 2006-01-25 2007-08-02 Matsushita Electric Industrial Co., Ltd. 端末装置、サーバ装置及びデジタルコンテンツ配信システム
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 日本電信電話株式会社 ビットコミットメント検証システム、ビットコミットメント装置、検証装置、ビットコミットメント検証方法、ビットコミットメント方法、検証方法、ビットコミットメントプログラム、検証プログラム
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
GB2490483B (en) * 2011-04-26 2019-05-29 Hewlett Packard Entpr Dev Lp Digital signature method and system
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
JP6082015B2 (ja) 2011-09-29 2017-02-15 アマゾン テクノロジーズ インコーポレイテッド パラメータベースのキー導出
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
JP6497726B2 (ja) * 2014-03-14 2019-04-10 シャープ株式会社 端末、基地局、通信システム、通信方法、およびプログラム
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)를 이용한 암호화폐 관리 시스템 및 그 방법
CN104219056B (zh) * 2014-09-16 2017-05-17 西安电子科技大学 一种智能电网中具有隐私保护的实时电量收集方法
GB201419016D0 (en) 2014-10-24 2014-12-10 Visa Europe Ltd Transaction Messaging
EP3251046B1 (fr) * 2015-01-30 2021-03-24 Enrico Maim Systèmes et procédés pour la gestion d'engagements en réseau d'entités sécurisées
SG11201708000PA (en) 2015-03-31 2017-10-30 Nasdaq Inc Systems and methods of blockchain transaction recordation
SG11201708295XA (en) 2015-04-06 2017-11-29 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
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
US10026082B2 (en) 2015-05-21 2018-07-17 Mastercard International Incorporated Method and system for linkage of blockchain-based assets to fiat currency accounts
AU2016287732A1 (en) 2015-06-30 2017-12-07 Visa International Service Association Mutual authentication of confidential communication
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
WO2017079652A1 (en) 2015-11-05 2017-05-11 Pulsifer Allen Cryptographic transactions system
US20180253702A1 (en) * 2015-11-24 2018-09-06 Gartland & Mellina Group Blockchain solutions for financial services and other transactions-based industries
SG11201804538UA (en) 2015-11-30 2018-06-28 Shapeshift Ag Systems and methods for improving security in blockchain-asset exchange
US10243738B2 (en) * 2015-12-04 2019-03-26 Microsoft Technology Licensing, Llc Adding privacy to standard credentials
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
EP3860037A1 (en) 2016-02-23 2021-08-04 Nchain Holdings Limited Cryptographic method and system for secure extraction of data from a blockchain
AU2017223133B2 (en) 2016-02-23 2022-09-08 nChain Holdings Limited Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
EP3259724B1 (en) 2016-02-23 2021-03-24 Nchain Holdings Limited Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
WO2017147696A1 (en) 2016-02-29 2017-09-08 Troy Jacob Ronda Systems and methods for distributed identity verification
EP4195128A1 (en) 2016-04-11 2023-06-14 nChain Licensing AG A method for secure peer-to-peer communication on a blockchain
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 주식회사 코인플러그 메신저 서비스를 통하여 송수신하는 데이터에 대한 기록 서비스 및 검증 서비스를 제공하는 방법, 및 이를 이용한 서버
US11651352B2 (en) 2016-07-15 2023-05-16 Visa International Service Association Digital asset distribution by transaction device
EP3273635B1 (en) 2016-07-20 2019-10-30 Mastercard International Incorporated Secure channel establishment
EP3491572B1 (en) 2016-07-26 2021-09-01 NEC Corporation 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
US10769600B2 (en) 2016-09-26 2020-09-08 International Business Machines Corporation Cryptocurrency transactions using debit and credit values
JP6971019B2 (ja) 2016-09-26 2021-11-24 Gmoインターネット株式会社 データ管理システム、情報処理装置、プログラム、及び、データ管理方法
CN106375097A (zh) * 2016-10-12 2017-02-01 贵州大学 基于代理盲签名的防倒卖的敏感数据交易方法
CN106549749B (zh) 2016-12-06 2019-12-24 杭州趣链科技有限公司 一种基于加法同态加密的区块链隐私保护方法
US20180167198A1 (en) 2016-12-09 2018-06-14 Cisco Technology, Inc. Trust enabled decentralized asset tracking for supply chain and automated inventory management
DE112017006701T5 (de) 2016-12-30 2019-09-19 Intel Corporation Internet der Dinge
CN106911470B (zh) * 2017-01-23 2020-07-07 北京航空航天大学 一种比特币交易隐私增强方法
CN106845960B (zh) 2017-01-24 2018-03-20 上海壹账通区块链科技有限公司 基于区块链的安全交易方法及***
US11082418B2 (en) 2017-02-13 2021-08-03 Avalanche Cloud Corporation Privacy ensured brokered identity federation
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株式会社 生成装置、検証装置、及びプログラム
US20180293576A1 (en) 2017-04-05 2018-10-11 Samsung Sds Co., Ltd. System for custom currency transaction based on blockchain and operating method thereof
US11095432B2 (en) 2017-04-05 2021-08-17 Samsung Sds Co., Ltd. System for processing data based on blockchain and operating method thereof
GB201705621D0 (en) 2017-04-07 2017-05-24 Nchain Holdings Ltd Computer-implemented system and method
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
US10320758B2 (en) 2017-04-25 2019-06-11 International Business Machines Corporation Cryptography using multi-factor key system and finite state machine
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
CN107451175B (zh) 2017-05-23 2020-01-31 创新先进技术有限公司 一种基于区块链的数据处理方法及设备
CN107239951A (zh) 2017-06-07 2017-10-10 北京天德科技有限公司 一种基于第三代区块链的可扩展央行数字货币交易方法
CN110771088B (zh) 2017-06-14 2024-04-19 区块链控股有限公司 用于解决在网络故障情况下与区块链外通道相关出现的安全性相关漏洞的***和方法
GB201710283D0 (en) 2017-06-28 2017-08-09 Nchain Holdings Ltd Computer-implemented system and method
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
EP3688705B1 (en) 2017-09-29 2023-08-02 Leverage Rock LLC Transaction privacy in public distributed ledger systems
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
CN108282459B (zh) 2017-12-18 2020-12-15 ***股份有限公司 基于智能合约的数据传递方法及***
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 網家金融科技股份有限公司 網路支付轉帳系統
US10388097B1 (en) 2018-01-29 2019-08-20 Accenture Global Solutions Limited Blockchain-based cryptologic ballot verification
US10373129B1 (en) 2018-03-05 2019-08-06 Winklevoss Ip, Llc System, method and program product for generating and utilizing stable value digital assets
US20210089676A1 (en) 2018-02-16 2021-03-25 Ecole Polytechnique Fédérale De Lausanne Epfl-Tto Methods and systems for secure data exchange
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 四川吉鼎科技有限公司 一种基于区块链的安全交易验证方法及***
CN108683669B (zh) 2018-05-19 2021-09-17 深圳市图灵奇点智能科技有限公司 数据验证方法和安全多方计算***
CN108876332B (zh) 2018-06-04 2020-09-22 清华大学 一种基于生物特征标记认证的区块链安全交易方法及装置
CN109003184A (zh) 2018-06-22 2018-12-14 中链科技有限公司 区块链资产管理方法及装置
US11032068B2 (en) 2018-06-29 2021-06-08 International Business Machines Corporation Leakage-deterring encryption for message communication
US10917233B2 (en) 2018-10-16 2021-02-09 International Business Machines Corporation Selective exchange of transaction data
JP6956062B2 (ja) 2018-10-30 2021-10-27 株式会社Crypto Garage 取引方法、プログラム、検証装置及び生成方法
US11240001B2 (en) 2018-11-06 2022-02-01 International Business Machines Corporation Selective access to asset transfer data
JP6830530B2 (ja) 2018-11-07 2021-02-17 アドバンスド ニュー テクノロジーズ カンパニー リミテッド アカウントモデルの下でパブリックおよびプライベートトランザクションをサポートするブロックチェーンシステム
RU2735439C2 (ru) 2018-11-27 2020-11-02 Алибаба Груп Холдинг Лимитед Система и способ для защиты информации
SG11201902778UA (en) 2018-11-27 2019-05-30 Alibaba Group Holding Ltd System and method for information protection
KR102248154B1 (ko) 2018-11-27 2021-05-06 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. 정보 보호를 위한 시스템 및 방법
TWM651861U (zh) 2023-07-25 2024-02-21 磊興有限公司 帶閉環控制的電動比例閥

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2536666C2 (ru) * 2008-12-23 2014-12-27 МТН Мобайл Мани СА (ПТИ) ЛТД Способ и система безопасной обработки транзакции
US20160358165A1 (en) * 2015-06-08 2016-12-08 Blockstream Corporation Cryptographically concealing amounts transacted on a ledger while preserving a network's ability to verify the transaction
US20170085555A1 (en) * 2015-07-14 2017-03-23 Fmr Llc Point-to-Point Transaction Guidance Apparatuses, Methods and Systems
CN108764874A (zh) * 2018-05-17 2018-11-06 深圳前海微众银行股份有限公司 基于区块链的匿名转账方法、***及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Jadhav H., Chandre P., Association rule mining methods for applying encryption techniques in transaction dataset, 2016 International Conference on Computer Communication and Informatics (ICCCI), Jan. 07-09, 2016, Coimbatore, INDIA. *

Also Published As

Publication number Publication date
CN110419053B (zh) 2023-12-01
US11127002B2 (en) 2021-09-21
WO2019072278A3 (en) 2019-09-19
ES2833550T3 (es) 2021-06-15
JP2020502856A (ja) 2020-01-23
EP3745637B1 (en) 2021-06-09
JP6908700B2 (ja) 2021-07-28
SG11201903438TA (en) 2019-05-30
CN110419053A (zh) 2019-11-05
US20200111093A1 (en) 2020-04-09
EP3549082A2 (en) 2019-10-09
MX2019004360A (es) 2019-08-05
CA3040611A1 (en) 2019-04-18
KR20200066259A (ko) 2020-06-09
BR112019007907A2 (pt) 2019-11-12
WO2019072278A2 (en) 2019-04-18
AU2018347196B2 (en) 2020-05-14
KR102139897B1 (ko) 2020-07-31
ES2881674T3 (es) 2021-11-30
EP3549082A4 (en) 2020-02-26
EP3549082B1 (en) 2020-08-26
US11080694B2 (en) 2021-08-03
MY197480A (en) 2023-06-19
CA3040611C (en) 2021-06-29
PL3745637T3 (pl) 2021-11-02
PH12019500860A1 (en) 2019-12-02
EP3745637A1 (en) 2020-12-02
US20200058022A1 (en) 2020-02-20
ZA201902472B (en) 2020-08-26

Similar Documents

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

Legal Events

Date Code Title Description
PC41 Official registration of the transfer of exclusive right

Effective date: 20210303

PC41 Official registration of the transfer of exclusive right

Effective date: 20210414