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

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

Info

Publication number
RU2719423C1
RU2719423C1 RU2019111969A RU2019111969A RU2719423C1 RU 2719423 C1 RU2719423 C1 RU 2719423C1 RU 2019111969 A RU2019111969 A RU 2019111969A RU 2019111969 A RU2019111969 A RU 2019111969A RU 2719423 C1 RU2719423 C1 RU 2719423C1
Authority
RU
Russia
Prior art keywords
transaction
key
value
coefficient
recipient
Prior art date
Application number
RU2019111969A
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 RU2719423C1 publication Critical patent/RU2719423C1/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/606Protecting data by securing the transmission between two devices or processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • 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/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/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
    • 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
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Power Engineering (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Accounting & Taxation (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)

Abstract

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

Description

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[1] Это изобретение относится, в целом, к способам и устройствам для защиты информации.
УРОВЕНЬ ТЕХНИКИ
[2] Персональная информация играет важную роль при осуществлении связи и переносе данных между различными пользователями. В отсутствие защиты пользователи подвергаются опасности хищения личных данных, незаконного перевода или других возможных потерь. Опасность дополнительно увеличивается, когда передачи и переводы реализуются онлайн, вследствие свободного доступа к онлайновой информации.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[3] Различные варианты осуществления настоящего изобретения включают в себя системы, способы и долговременные машиночитаемые носители для защиты информации.
[4] Согласно одному аспекту, компьютерно-реализуемый способ защиты информации содержит: заверение суммы t транзакции транзакции с помощью схемы обязательств для получения заверяющего значения T транзакции, причем схема обязательств содержит, по меньшей мере, коэффициент r_t ослепления транзакции; генерирование первого ключа из пары симметричных ключей; шифрование комбинации коэффициента r_t ослепления транзакции и суммы t транзакции с помощью первого ключа; и передачу заверяющего значения T транзакции и зашифрованной комбинации на узел-получатель, связанный с получателем транзакции, с целью проверки транзакции узлом-получателем.
[5] В некоторых вариантах осуществления, генерирование первого ключа содержит: генерирование первого ключа на основе закрытого ключа SK_A отправителя транзакции и общедоступного ключа PK_B получателя согласно протоколу обмена ключами Диффи-Хеллмана (DH).
[6] В некоторых вариантах осуществления, схема обязательств содержит схему обязательств Педерсена на основе, по меньшей мере, коэффициента r_t ослепления транзакции, и при этом сумма t транзакции является заверенным значением.
[7] В некоторых вариантах осуществления, комбинация коэффициента r_t ослепления транзакции и суммы t транзакции содержит конкатенацию коэффициента r_t ослепления транзакции и суммы t транзакции.
[8] В некоторых вариантах осуществления, передача заверяющего значения T транзакции и зашифрованной комбинации на узел-получатель, связанный с получателем транзакции, с целью проверки транзакции узлом-получателем, содержит передачу заверяющего значения T транзакции и зашифрованной комбинации на узел-получатель, связанный с получателем транзакции, предписывающих узлу-получателю: генерировать второй ключ из пары симметричных ключей на основе закрытого ключа SK_B получателя и общедоступного ключа PK_A отправителя транзакции; дешифровать зашифрованную комбинацию с помощью второго ключа, сгенерированного узлом-получателем, для получения коэффициента r_t ослепления транзакции и суммы t транзакции; и проверять транзакцию на основе, по меньшей мере, заверяющего значения T транзакции, коэффициента r_t ослепления транзакции и суммы t транзакции.
[9] В некоторых вариантах осуществления, предписание узлу-получателю проверять транзакцию на основе, по меньшей мере, заверяющего значения T транзакции, коэффициента r_t ослепления транзакции и суммы t транзакции содержит предписание узлу-получателю: в ответ на определение, что заверяющее значение T транзакции не соответствует схеме обязательств суммы t транзакции на основе коэффициента r_t ослепления транзакции, отказываться от транзакции; и в ответ на определение, что заверяющее значение T транзакции согласуется со схемой заверения суммы t транзакции на основе коэффициента r_t ослепления транзакции, одобрять транзакцию путем подписания транзакции для генерации подписи SIGB получателя, возвращаемой на узел-отправитель, связанный с отправителем.
[10] В некоторых вариантах осуществления, до передачи зашифрованной комбинации на узел-получатель, связанный с получателем, способ дополнительно содержит: заверение изменения y транзакции согласно схеме обязательств для получения заверяющего значения Y изменения, причем схема обязательств содержит, по меньшей мере, коэффициент r_y ослепления изменения, причем изменение y является одним или более активов отправителя, выведенных для транзакции, меньших суммы t транзакции; генерирование еще одного ключа на основе закрытого ключа SK_A отправителя и общедоступного ключа PK_A отправителя; и шифрование другой комбинации коэффициента r_y ослепления изменения и изменения y с помощью еще одного ключа.
[11] В некоторых вариантах осуществления, способ дополнительно содержит: в ответ на прием подписи SIGB получателя, одобрение транзакции путем подписания транзакции для генерации подписи SIGA отправителя; и предоставление транзакции, содержащей зашифрованную комбинацию, зашифрованную другую комбинацию, заверяющее значение T транзакции, заверяющее значение Y изменения, подпись SIGA отправителя и подпись SIGB получателя, одному или более узлам в блокчейн сети с целью проверки транзакции одним или более узлами.
[12] В некоторых вариантах осуществления, предоставление транзакции, содержащей зашифрованную комбинацию, зашифрованную другую комбинацию, заверяющее значение T транзакции, заверяющее значение Y изменения, подпись SIGA отправителя и подпись SIGB получателя, одному или более узлам в блокчейн сети с целью проверки транзакции одним или более узлами содержит: предоставление транзакции, содержащей зашифрованную комбинацию, зашифрованную другую комбинацию, заверяющее значение T транзакции, заверяющее значение Y изменения, подпись SIGA отправителя и подпись SIGB получателя, одному или более узлам в блокчейн сети, предписывающее одному или более узлам, в ответ на успешную проверку транзакции, выдавать сумму t транзакции получателю, устранять один или более активов, выведенных для транзакции, и выдавать изменение y отправителю.
[13] Согласно другому аспекту, на долговременном машиночитаемом носителе данных хранятся инструкции, подлежащие выполнению процессором, для предписания процессору осуществлять операции, содержащие: заверение суммы t транзакции транзакции с помощью схемы обязательств для получения заверяющего значения T транзакции, причем схема обязательств содержит, по меньшей мере, коэффициент r_t ослепления транзакции; генерирование первого ключа из пары симметричных ключей; шифрование комбинации коэффициента r_t ослепления транзакции и суммы t транзакции с помощью первого ключа; и передачу заверяющего значения T транзакции и зашифрованной комбинации на узел-получатель, связанный с получателем транзакции, с целью проверки транзакции узлом-получателем.
[14] Согласно другому аспекту, система для защиты информации содержит процессор и долговременный машиночитаемый носитель данных, подключенный к процессору, причем на носителе данных хранятся инструкции, подлежащие выполнению процессором, для предписания системе осуществлять операции, содержащие: заверение суммы t транзакции транзакции с помощью схемы обязательств для получения заверяющего значения T транзакции, причем схема обязательств содержит, по меньшей мере, коэффициент r_t ослепления транзакции; генерирование первого ключа из пары симметричных ключей; шифрование комбинации коэффициента r_t ослепления транзакции и суммы t транзакции с помощью первого ключа; и передачу заверяющего значения T транзакции и зашифрованной комбинации на узел-получатель, связанный с получателем транзакции, с целью проверки транзакции узлом-получателем.
[15] Согласно другому аспекту, компьютерно-реализуемый способ защиты информации содержит: заверение суммы t транзакции транзакции с помощью схемы обязательств для получения заверяющего значения T транзакции, причем схема обязательств содержит, по меньшей мере, коэффициент r_t ослепления транзакции; генерирование первого ключа из пары симметричных ключей; шифрование комбинации коэффициента r_t ослепления транзакции и суммы t транзакции с помощью первого ключа; и передачу заверяющего значения T транзакции и зашифрованной комбинации на узел-получатель, связанный с получателем транзакции, чтобы узел-получатель: генерировал второй ключ из пары симметричных ключей на основе закрытого ключа SK_B получателя и общедоступного ключа PK_A отправителя, дешифровал зашифрованную комбинацию с помощью второго ключа, сгенерированного узлом-получателем, для получения коэффициента r_t ослепления транзакции и суммы t транзакции, и проверял транзакцию на основе, по меньшей мере, заверяющего значения T транзакции, коэффициента r_t ослепления транзакции и суммы t транзакции.
[16] Согласно другому аспекту, на долговременном машиночитаемом носителе данных хранятся инструкции, подлежащие выполнению процессором, для предписания процессору осуществлять операции, содержащие: заверение суммы t транзакции транзакции с помощью схемы обязательств для получения заверяющего значения T транзакции, причем схема обязательств содержит, по меньшей мере, коэффициент r_t ослепления транзакции; генерирование первого ключа из пары симметричных ключей; шифрование комбинации коэффициента r_t ослепления транзакции и суммы t транзакции с помощью первого ключа; и передачу заверяющего значения T транзакции и зашифрованной комбинации на узел-получатель, связанный с получателем транзакции, чтобы узел-получатель: генерировал второй ключ из пары симметричных ключей на основе закрытого ключа SK_B получателя и общедоступного ключа PK_A отправителя, дешифровал зашифрованную комбинацию с помощью второго ключа, сгенерированного узлом-получателем, для получения коэффициента r_t ослепления транзакции и суммы t транзакции, и проверял транзакцию на основе, по меньшей мере, заверяющего значения T транзакции, коэффициента r_t ослепления транзакции и суммы t транзакции.
[17] Согласно другому аспекту, система для защиты информации содержит процессор и долговременный машиночитаемый носитель данных, подключенный к процессору, причем на носителе данных хранятся инструкции, подлежащие выполнению процессором, для предписания системе осуществлять операции, содержащие: заверение суммы t транзакции транзакции с помощью схемы обязательств для получения заверяющего значения T транзакции, причем схема обязательств содержит, по меньшей мере, коэффициент r_t ослепления транзакции; генерирование первого ключа из пары симметричных ключей; шифрование комбинации коэффициента r_t ослепления транзакции и суммы t транзакции с помощью первого ключа; и передачу заверяющего значения T транзакции и зашифрованной комбинации на узел-получатель, связанный с получателем транзакции, чтобы узел-получатель: генерировал второй ключ из пары симметричных ключей на основе закрытого ключа SK_B получателя и общедоступного ключа PK_A отправителя, дешифровал зашифрованную комбинацию с помощью второго ключа, сгенерированного узлом-получателем, для получения коэффициента r_t ослепления транзакции и суммы t транзакции, и проверял транзакцию на основе, по меньшей мере, заверяющего значения T транзакции, коэффициента r_t ослепления транзакции и суммы t транзакции.
[18] Согласно другому аспекту, компьютерно-реализуемый способ защиты информации содержит: заверение суммы t транзакции транзакции с помощью схемы обязательств для получения заверяющего значения T транзакции, причем схема обязательств содержит, по меньшей мере, коэффициент r_t ослепления транзакции; генерирование первого ключа из пары симметричных ключей; шифрование комбинации коэффициента r_t ослепления транзакции и суммы t транзакции с помощью первого ключа; и передачу заверяющего значения T транзакции и зашифрованной комбинации на узел-получатель, связанный с получателем транзакции, чтобы узел-получатель: генерировал второй ключ из пары симметричных ключей на основе закрытого ключа SK_B получателя и общедоступного ключа PK_A отправителя, дешифровал зашифрованную комбинацию с помощью второго ключа, сгенерированного узлом-получателем, для получения коэффициента r_t ослепления транзакции и суммы t транзакции, и проверял транзакцию на основе, по меньшей мере, заверяющего значения T транзакции, коэффициента r_t ослепления транзакции и суммы t транзакции.
[19] Согласно другому аспекту, на долговременном машиночитаемом носителе данных хранятся инструкции, подлежащие выполнению процессором, для предписания процессору осуществлять операции, содержащие: заверение суммы t транзакции транзакции с помощью схемы обязательств для получения заверяющего значения T транзакции, причем схема обязательств содержит, по меньшей мере, коэффициент r_t ослепления транзакции; генерирование первого ключа из пары симметричных ключей; шифрование комбинации коэффициента r_t ослепления транзакции и суммы t транзакции с помощью первого ключа; и передачу заверяющего значения T транзакции и зашифрованной комбинации на узел-получатель, связанный с получателем транзакции, чтобы узел-получатель: генерировал второй ключ из пары симметричных ключей на основе закрытого ключа SK_B получателя и общедоступного ключа PK_A отправителя, дешифровал зашифрованную комбинацию с помощью второго ключа, сгенерированного узлом-получателем, для получения коэффициента r_t ослепления транзакции и суммы t транзакции, и проверял транзакцию на основе, по меньшей мере, заверяющего значения T транзакции, коэффициента r_t ослепления транзакции и суммы t транзакции.
[20] Согласно другому аспекту, система для защиты информации содержит процессор и долговременный машиночитаемый носитель данных, подключенный к процессору, причем на носителе данных хранятся инструкции, подлежащие выполнению процессором, для предписания системе осуществлять операции, содержащие: заверение суммы t транзакции транзакции с помощью схемы обязательств для получения заверяющего значения T транзакции, причем схема обязательств содержит, по меньшей мере, коэффициент r_t ослепления транзакции; генерирование первого ключа из пары симметричных ключей; шифрование комбинации коэффициента r_t ослепления транзакции и суммы t транзакции с помощью первого ключа; и передачу заверяющего значения T транзакции и зашифрованной комбинации на узел-получатель, связанный с получателем транзакции, чтобы узел-получатель: генерировал второй ключ из пары симметричных ключей на основе закрытого ключа SK_B получателя и общедоступного ключа PK_A отправителя, дешифровал зашифрованную комбинацию с помощью второго ключа, сгенерированного узлом-получателем, для получения коэффициента r_t ослепления транзакции и суммы t транзакции, и проверял транзакцию на основе, по меньшей мере, заверяющего значения T транзакции, коэффициента r_t ослепления транзакции и суммы t транзакции.
[21] Согласно другому аспекту, компьютерно-реализуемый способ защиты информации содержит: получение комбинации коэффициента r_t ослепления транзакции и суммы t транзакции, зашифрованной с помощью первого ключа из пары симметричных ключей, и получение заверяющего значения T транзакции, причем: сумма t транзакции заверяется с помощью схемы обязательств узлом-отправителем, связанным с отправителем транзакции, для получения заверяющего значения T транзакции, причем схема обязательств содержит, по меньшей мере, коэффициент r_t ослепления транзакции; генерирование второго ключа из пары симметричных ключей; дешифрование полученной комбинации с помощью второго ключа, сгенерированного узлом-получателем, связанным с получателем транзакции, для получения коэффициента r_t ослепления транзакции и суммы t транзакции; и проверку транзакции на основе, по меньшей мере, заверяющего значения T транзакции, коэффициента r_t ослепления транзакции и суммы t транзакции.
[22] Согласно другому аспекту, на долговременном машиночитаемом носителе данных хранятся инструкции, подлежащие выполнению процессором, для предписания процессору осуществлять операции, содержащие: получение комбинации коэффициента r_t ослепления транзакции и суммы t транзакции, зашифрованной с помощью первого ключа из пары симметричных ключей, и получение заверяющего значения T транзакции, причем: сумма t транзакции заверяется с помощью схемы обязательств узлом-отправителем, связанным с отправителем транзакции, для получения заверяющего значения T транзакции, причем схема обязательств содержит, по меньшей мере, коэффициент r_t ослепления транзакции; генерирование второго ключа из пары симметричных ключей; дешифрование полученной комбинации с помощью второго ключа, сгенерированного узлом-получателем, связанным с получателем транзакции, для получения коэффициента r_t ослепления транзакции и суммы t транзакции; и проверку транзакции на основе, по меньшей мере, заверяющего значения T транзакции, коэффициента r_t ослепления транзакции и суммы t транзакции.
[23] Согласно другому аспекту, система для защиты информации содержит процессор и долговременный машиночитаемый носитель данных, подключенный к процессору, причем на носителе данных хранятся инструкции, подлежащие выполнению процессором, для предписания системе осуществлять операции, содержащие: получение комбинации коэффициента r_t ослепления транзакции и суммы t транзакции, зашифрованной с помощью первого ключа из пары симметричных ключей, и получение заверяющего значения T транзакции, причем: сумма t транзакции заверяется с помощью схемы обязательств узлом-отправителем, связанным с отправителем транзакции, для получения заверяющего значения T транзакции, причем схема обязательств содержит, по меньшей мере, коэффициент r_t ослепления транзакции; генерирование второго ключа из пары симметричных ключей; дешифрование полученной комбинации с помощью второго ключа, сгенерированного узлом-получателем, связанным с получателем транзакции, для получения коэффициента r_t ослепления транзакции и суммы t транзакции; и проверку транзакции на основе, по меньшей мере, заверяющего значения T транзакции, коэффициента r_t ослепления транзакции и суммы t транзакции.
[24] Эти и другие признаки раскрытых здесь систем, способов и долговременных машиночитаемых носителей, а также способы работы и функции соответствующих элементов конструкции и комбинация частей и экономий производства, явствуют из нижеследующего описания и нижеследующей формулы изобретения, приведенных со ссылкой на прилагаемые чертежи, которые все образуют часть этого описания изобретения, где аналогичные ссылочные позиции обозначают соответствующие части на различных фигурах. Однако очевидно, что чертежи служат только для иллюстрации и описания, но не призваны ограничивать изобретение.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[25] Некоторые признаки различных вариантов осуществления настоящей технологии подробно изложены в нижеследующей формуле изобретения. Чтобы лучше понять признаки и преимущества технологии, следует обратиться к нижеследующему подробному описанию, где изложены иллюстративные варианты осуществления, где используются принципы изобретения, и прилагаемым чертежам, в которых:
[26] фиг. 1 демонстрирует иллюстративную систему для защиты информации, в соответствии с различными вариантами осуществления;
[27] фиг. 2 демонстрирует иллюстративные этапы для инициирования и проверки транзакции, в соответствии с различными вариантами осуществления;
[28] фиг. 3A демонстрирует блок-схему операций иллюстративного способа защиты информации, в соответствии с различными вариантами осуществления;
[29] фиг. 3B демонстрирует блок-схему операций иллюстративного способа защиты информации, в соответствии с различными вариантами осуществления;
[30] фиг. 4A демонстрирует блок-схему операций иллюстративного способа защиты информации, в соответствии с различными вариантами осуществления;
[31] фиг. 4B демонстрирует блок-схему операций иллюстративного способа защиты информации, в соответствии с различными вариантами осуществления;
[32] фиг. 5 демонстрирует блок-схему иллюстративной компьютерной системы, в которой может быть реализован любой из описанных здесь вариантов осуществления.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
[33] Блокчейн можно рассматривать как децентрализованную базу данных, в целом именуемую распределенной бухгалтерской книгой, поскольку операция осуществляется различными узлами (например, вычислительными устройствами) в сети. Любая информация может записываться в блокчейн и сохраняться в нем или считываться из него. Можно создать сервер и подключиться к блокчейн сети с образованием узла. Любой узел может вносить вклад в вычислительную мощность для поддержания блокчейна путем осуществления сложных вычислений, например, вычисления хеша для добавления блока к текущему блокчейну, и добавленный блок может содержать различные типы данных или информации. Узел, который вносит вклад в вычислительную мощность для добавленного блока, может вознаграждаться жетоном (например, единицей цифровой валюты). Поскольку блокчейн не имеет центрального узла, все узлы одинаковы и в каждом из них содержится вся база данных блокчейна.
[34] Узлы являются, например, вычислительными устройствами или большими компьютерными системами, которые поддерживают блокчейн сеть и ее плавное выполнение. Узлы могут использоваться индивидами или группами людей, которые вносят денежный вклад в покупку мощных компьютерных систем, известные как майнинг-фермы. Существует два типа узлов: полные узлы и облегченные узлы. На полных узлах хранится полная копия блокчейна. Полные узлы в блокчейн сети подтверждают транзакции и блоки, которые они принимают, и ретранслируют их на подключенные равноправные устройства для обеспечения проверки консенсуса транзакций. С другой стороны, в облегченные узлы загружается только часть блокчейна. Например, облегченные узлы используются для транзакций в цифровой валюте. Облегченный узел будет осуществлять связь с полным узлом для осуществления транзакции.
[35] Это свойство децентрализации позволяет препятствовать появлению центра управления в управляемой позиции. Например, обслуживание биткойнового блокчейна осуществляется сетью узлов связи биткойнового программного обеспечения в области выполнения. Это изобретение использует в качестве примеров один или более блокчейнов или цифровых валют, например, биткойн и Эфириум. Специалисту в данной области техники очевидно, что технические решения, раскрытые в этом изобретении, могут использоваться или применяться к другому типу блокчейнов и цифровых валют. Таким образом, вместо банков, учреждений или администраторов в традиционном смысле, множественные посредники существуют в форме компьютеров-серверов, выполняющих биткойновое программное обеспечение. Эти компьютеры-серверы образуют сеть, соединенную через интернет, и потенциально любой может подключиться к сети. Транзакции, производимые сетью, могут иметь форму: ʺпользователь A хочет отправить Z биткойнов пользователю B,ʺ причем транзакции рассылаются в сеть с использованием легкодоступных прикладных программ. Компьютеры-серверы функционируют как биткойновые серверы, которые способны подтверждать эти финансовые транзакции, добавлять запись о них в свою копию бухгалтерской книги, и затем рассылать эти добавления в бухгалтерскую книгу на другие серверы сети.
[36] Поддержание блокчейна именуется ʺмайнингомʺ, и те, которые осуществляют такое поддержание, вознаграждаются вновь созданными биткойнами и вышеупомянутыми транзакционными взносами. Например, узлы могут определять, действительны ли транзакции, на основе набора правил, которым подчиняется блокчейновая сеть. Майнеры могут располагаться на любом континенте и обрабатывать платежи, проверяя действительность каждой транзакции и добавляя ее к блокчейну. Такая проверка достигается через консенсус, обеспеченный множеством майнеров, и предполагает отсутствие систематического сговора. В конце, все данные будут согласованы, поскольку вычисление должно удовлетворять некоторым требованиям, чтобы приводить к правильному результату, и все узлы будут синхронизироваться чтобы гарантировать согласованность блокчейна. Таким образом, данные могут согласованно храниться в распределенной системе блокчейновых узлов.
[37] В процессе майнинга, транзакции, например, переводы активов, проверяются и добавляются к растущей цепи блоков блокчейна сетевыми узлами. При обходе всего блокчейна, проверка может включать в себя, например, имеет ли оплачивающая сторона доступ к активу, подлежащему переводу, был ли актив потрачен до этого, верна ли сумма перевода, и т.д. Например, в гипотетической транзакции (например, транзакции биткойнов согласно модели UTXO (неизрасходованного выхода транзакции)), транзакции монет Эфириум согласно модели модель счета/баланса) подписанной отправителем, предложенная транзакция может рассылаться в блокчейн сеть для майнинга. Майнеру нужно проверять, подлежит ли транзакция выполнению, согласно истории блокчейна. Если на балансе кошелька отправителя достаточно средств согласно существующей истории блокчейна, транзакция считается действительной и может добавляться к блоку. После проверки, переводы активов могут быть включены в следующий блок, подлежащий добавлению в блокчейн.
[38] Блок во многом подобен записи базы данных. Каждый раз при записи данных создается блок. Эти блоки связаны и защищены с использованием криптографии, образуя взаимосвязанные сети. Каждый блок соединен с предыдущим блоком, откуда происходит название ʺблокчейнʺ. Каждый блок обычно содержит криптографический хеш предыдущего блока, время генерации и фактические данные. Например, каждый блок содержит две части: заголовок блока для записи характерного значения текущего блока и тело для записи фактических данных (например, данных транзакции). Блоки цепи связаны заголовками блоков. Каждый заголовок блока может содержать множественные характерные значения, например, версию, хеш предыдущего блока, корень Меркла, метку времени, целевой уровень сложности и нонс (nonce). Хеш предыдущего блока содержит не только адрес предыдущего блока, но и хеш данных внутри предыдущего блока, что обеспечивает неизменность блокчейнов. Нонс представляет собой число, которое, будучи включено, дает хеш с заданным количеством ведущих нулевых битов.
[39] Для майнинга, узел берет хеш содержимого нового блока. Нонс (например, случайная строка) присоединяется к хешу для получения новой строки. Новая строка снова хешируется. Затем окончательный хеш сравнивается с целевым уровнем сложности (например, уровнем), и производится определение, меньше ли фактически окончательный хеш целевого уровня сложности. Если нет, то нонс изменяется, и процесс повторяется снова. Если да, то блок добавляется в цепь, и открытая бухгалтерская книга обновляется и получает объявление о добавлении. Узел, отвечающий за успешное добавление, вознаграждается биткойнами, например, путем добавления транзакции своего вознаграждения в новый блок (известного как генерация coinbase).
[40] Таким образом, для каждого выхода ʺYʺ, если k выбирается из распределения с высокой минимальной энтропией, невозможно найти вход x таким образом, что H(k|x)=Y, где K - нонс, x - хеш блока, Y - целевой уровень сложности, и ʺ|ʺ обозначает конкатенацию. Поскольку криптографические хеши, по существу, случайны, в том смысле, что их выход нельзя прогнозировать на основе их входов, найти нонс можно только одним способом: проверять целые числа одно за другим, например, 1, затем 2, затем 3 и т.д., то есть "в лоб". Чем больше количество ведущих нулей, тем больше времени в среднем потребуется, чтобы найти необходимый нонс Y. В одном примере, система биткойна постоянно регулирует количество ведущих нулей, таким образом, что среднее время нахождения нонса составляет около десяти минут. Таким образом, поскольку возможности обработки вычислительного оборудования возрастают со временем, в течение лет, протокол биткойна всегда будет просто требовать больше ведущих нулевых битов, чтобы осуществление майнинга занимало около десяти минут.
[41] Как описано, хеширование является краеугольным камнем блокчейна. Алгоритм хеширования можно понимать как функцию, которая сжимает сообщения произвольной длины в сборник сообщений фиксированной длины. Более широко используются MD5 и SHA. В некоторых вариантах осуществления, хеш блокчейна имеет длину 256 битов, и это означает, что независимо от первоначального содержимого, в конце концов вычисляется 256-битовое двоичное число. Можно гарантировать, что соответствующий хеш уникален при условии, что первоначальное содержимое отличается. Например, хеш строки ʺ123ʺ равен a8fdc205a9f19cc1c7507a60c4f01b13d11d7fd0 (в шестнадцатеричном формате), что составляет 256 битов будучи преобразован в двоичный формат, и только ʺ123ʺ имеет этот хеш. Алгоритм хеширования в блокчейне необходим, то есть прямое вычисление осуществляется легко (из ʺ123ʺ в a8fdc205a9f19cc1c7507a60c4f01b1c7507a60c4f01b13d11d7fd0), и обратное вычисление неосуществимо даже если израсходовать все вычислительные ресурсы. Таким образом, хеш каждого блока блокчейна уникален.
[42] Дополнительно, если содержимое блока изменяется, его хеш также изменяется. Существует взаимно-однозначное соответствие между блоком и хешем, и хеш каждого блока вычисляется в зависимости от заголовка блока. Таким образом, характерные значения заголовков блоков соединяются для формирования длинной строки, и затем вычисляется хеш строки. Например, ʺХеш=SHA256 (заголовок блока)ʺ - формула вычисления хеша блока, SHA256 - алгоритм хеширования блокчейна, применяемый к заголовку блока. Хеш уникально определяется заголовком блока, но не телом блока. Как упомянуто выше, заголовок блока содержит много содержимого, включая хеш текущего блока и хеш предыдущего блока. Это означает, что, если содержимое текущего блока изменяется, или если хеш предыдущего блока изменяется, это приведет к изменению хеша в текущем блоке. Если взломщик изменяет блок, хеш этого блока изменяется. Для соединения более позднего блока с измененным блоком, взломщик должен последовательно изменить все последующие блоки, поскольку следующий блок должен содержать хеш предыдущего блока. В противном случае измененный блок будет отсоединяться от блокчейна. По соображениям конструкции, вычисления хеша требуют длительного времени, и почти невозможно изменить множественные блоки за короткий период времени, если только взломщик не завладеет более 51% вычислительной мощности всей сети. Таким образом, блокчейн гарантирует свою собственную надежность, и как только данные записаны, с ним нельзя ничего сделать.
[43] Как только майнер находит хеш (то есть пригодную подпись или решение) для нового блока, майнер рассылает эту подпись всем остальным майнерам (узлам блокчейна). Теперь другие майнеры проверяют, в свою очередь, соответствует ли это решение задаче блока отправителя (то есть, определяют, приводит ли фактически ввод хеша к этой подписи). Если решение верно, другие майнеры подтвердят решение и согласятся добавить новый блок в блокчейн. Таким образом, достигается консенсус нового блока. Это также называется ʺдоказательством выполнения работыʺ. Теперь блок, для которого достигнут консенсус, можно добавить в блокчейн и разослать на все узлы в сети совместно с его подписью. Узлы будут принимать блок и сохранять его в своих данных транзакции при условии, что транзакции внутри блока точно соответствуют текущим балансам кошелька (истории транзакций) в этот момент времени. Каждый раз при добавлении нового блока поверх этого блока, добавление также рассматривается как другое ʺподтверждениеʺ для блоков до него. Например, если транзакция включена в блок 502, и длина блокчейна составляет 507 блоков, это означает, что транзакция имеет пять подтверждений (соответствующих блокам 507-502). Чем больше подтверждений имеет транзакция, тем труднее злоумышленникам изменить ее.
[44] В некоторых вариантах осуществления, иллюстративная система активов блокчейна использует криптографию общедоступного ключа, в которой генерируются два криптографических ключа, один общедоступный ключ и один закрытый ключ. общедоступный ключ можно рассматривать как номер счета, и закрытый ключ можно рассматривать как права собственности. Например, биткойновый кошелек является совокупностью общедоступных и закрытых ключей. Владение активом (например, цифровой валютой, наличным активом, акциями, собственными средствами, облигации) связанным с некоторым адресом актива можно продемонстрировать знанием закрытого ключа, принадлежащего адресу. Например, программное обеспечение биткойнового кошелька, иногда именуемое ʺклиентским программным обеспечением биткойнаʺ, позволяет данному пользователю совершать транзакции в биткойнах. Программа кошелька генерирует и сохраняет закрытые ключи и осуществляет связь с равноправными устройствами в биткойновой сети.
[45] В блокчейновых транзакциях, отправители и получатели платежа идентифицируются в блокчейне своими общедоступными криптографическими ключами. Например, наиболее современные переводы биткойнов совершаются от одного общедоступного ключа к другому общедоступному ключу. На практике хеши этих ключей используются в блокчейне и называются ʺадресами биткойновʺ. В принципе, гипотетическое злонамеренное лицо S может похитить денежные средства у лица A, просто добавив в блокчейн бухгалтерскую книгу транзакцию наподобие ʺлицо A уплачивает лицу S 100 биткойновʺ с использованием адресов биткойнов пользователей вместо их имен. Протокол биткойна препятствует хищению такого рода, требуя, чтобы каждый перевод был снабжен цифровой подписью в виде закрытого ключа плательщика, и чтобы в блокчейн бухгалтерскую книгу добавлялись только подписанные переводы. Поскольку лицо S не может подделать подпись лица A, лицо S не может обмануть лицо A путем добавления в блокчейн элемент, эквивалентный ʺлицо A уплачивает лицу S 200 биткойновʺ. В то же время, любой может проверить с использованием своего общедоступного ключа подпись лица A и, таким образом, уполномочено совершать любую транзакцию в блокчейне, где оно является плательщиком.
[46] В контексте биткойновой транзакции, для перевода некоторой суммы в биткойнах пользователю B, пользователь A может построить запись, содержащую информацию о транзакции через узел. Запись может быть подписана ключом подписания (закрытым ключом) пользователя A и содержать общедоступный проверочный ключ пользователя A и общедоступный проверочный ключ пользователя B. Подпись используется для подтверждения, что транзакция пришла от пользователя, и также препятствует изменению транзакции после ее выдачи. Запись, связанная с другой записью, которая возникала в том же временном окне в новом блоке, может рассылаться на полные узлы. Приняв записи, полные узлы могут включать в бухгалтерскую книгу записи всех транзакций, когда-либо произошедших в блокчейн системе, добавлять новый блок в ранее принятый блокчейн через вышеописанный процесс майнинга, и подтверждать добавленный блок согласно правилам консенсуса сети.
[47] Модель UTXO (неизрасходованного выхода транзакции) и модель счета/баланса являются двумя иллюстративными моделями для осуществления блокчейновых транзакций. UTXO является объектной моделью блокчейна. Согласно UTXO, активы представлены выходами блокчейновых транзакций, которые не были потрачены, которые могут использоваться как входы в новых транзакциях. Например, актив пользователя A, подлежащий переносу, может иметь форму UTXO. Чтобы потратить (перевести) актив, пользователь A должен подписаться закрытым ключом. Биткойн является примером цифровой валюты, которая использует модель UTXO. В случае действительной блокчейн транзакции, неизрасходованные выходы могут использоваться для осуществления дополнительных транзакций. В некоторых вариантах осуществления, только неизрасходованные выходы могут использоваться в дополнительных транзакциях для предотвращения двойного расходования и мошенничества. По этой причине, входы на блокчейне удаляются, когда происходит транзакция, хотя в то же время, выходы создаются в форме UTXO. Эти неизрасходованные выходы транзакции могут использоваться (держателями закрытых ключей, например, лицами, имеющими кошельки цифровой валюты) в целях будущих транзакций.
[48] Модель счета/баланса (именуемая моделью транзакции на основе счета), с другой стороны, отслеживает баланс каждого счета в качестве глобального состояния. Баланс счета проверяется чтобы убедиться в том, что он больше или равен сумме расходной транзакции. Приведен пример того, как модель счета/баланса работает в Эфириуме:
[49] 1. Алиса добывает 5 эфиров посредством майнинга. В системе записывается, что Алиса имеет 5 эфиров.
[50] 2. Алиса хочет дать Бобу 1 эфир, поэтому система сначала списывает 1 эфир со счета Алисы, в результате чего, Алиса теперь имеет 4 эфира.
[51] 3. Затем система увеличивает счет Боба на 1 эфир. Система знает, что сначала Боб имеет 2 эфира, поэтому баланс Боба увеличивается до 3 эфиров.
[52] Записи для Эфириума могут вестись наподобие того, как это делается в банке. Аналогия состоит в использовании банкоматов/дебетовых карт. Банк отслеживает, сколько денежных средств присутствует на каждой дебетовой карте, и когда Бобу нужно потратить денежные средства, банк проверяет свою запись, чтобы убедиться в том, что Боб имеет достаточный баланс до одобрения транзакции.
[53] Поскольку блокчейн и другие аналогичные бухгалтерские книги полностью открыты, блокчейн сам по себе не имеет защиты персональной информации. общедоступный характер сети P2P означает, что, хотя ее пользователи не идентифицируются по имени, транзакции легко связывать с индивидами и компаниями. Например, в заграничных переводах или в логистических цепочках, сумма транзакции имеет чрезвычайно высокий уровень защиты персональной информации, поскольку из информации о сумме транзакции можно вывести конкретное местоположение и личности сторон транзакции. Предмет транзакции может содержать, например, денежные средства, жетон, цифровую валюту, контракт, акт, медицинскую карту, детали потребителя, акции, облигации, собственные средства или любой другой актив, который можно описать в цифровой форме. Хотя модель UTXO может обеспечивать анонимность объемов транзакций, например, через кольцевую подпись в Monero и криптографию нулевого разглашения Zcash, объемы транзакций остаются незащищенными согласно модели счета/баланса. Таким образом, техническая проблема, решаемая настоящим изобретением, состоит в защите онлайновой информации, например, персональной информации об объемов транзакций. Такие транзакции могут отвечать модели счета/баланса.
[54] В некоторых современных технологиях предлагается использовать схему обязательств Педерсена для шифрования суммы транзакции и заменять модель счета/баланса. Согласно схеме, отправитель отправляет сумму транзакции и случайное число, соответствующее схеме обязательств Педерсена суммы транзакции, получателю платежа по защищенному каналу вне блокчейна. Получатель платежа проверяет, совпадает ли случайное число с заверением транзакции, и осуществляет локальное хранение. Например, согласно модели счета/баланса, счет может обрабатываться как кошелек (счет) для поддержания активов, которые агрегируются, но не объединяются. Каждый актив может соответствовать типу актива (например, криптовалюте), и баланс счета равен сумме значений активов. Даже активы одного типа не объединяются. В ходе транзакции может задаваться получатель переводимого актива, и соответствующий актив можно удалять из кошелька для финансирования транзакции. Блокчейновые узлы удостоверяются в том, что в кошельке плательщика имеется достаточно актива(ов) для покрытия транзакции, и затем узлы удаляют переносимый актив из кошелька плательщика и добавляют соответствующий актив в кошелек получателя.
[55] Однако для такой схемы существуют ограничения. Во-первых, схема требует, чтобы пользователь локально поддерживал постоянное хранилище для управления балансами случайных чисел и нешифрованного текста, соответствующими зашифрованному балансу счета, и реализация управления усложняется; во-вторых, хранилище балансов коэффициентов ослепления (например, случайных чисел) и нешифрованного текста, соответствующих ʺактиву Педерсенаʺ в одном локальном узле подвержено потере или повреждению, тогда как хранилище резервных копий на множественных узлах трудно реализовать вследствие частого изменения баланса счета.
[56] Системы и способ, представленные в этом изобретении, позволяют преодолеть вышеупомянутые ограничения и достичь надежной защиты персональной информации для объемов транзакций, значений активов и коэффициентов ослепления в схемах обязательств. Для этого симметричные ключи, полученные согласно протоколу обмена ключами Диффи-Хеллмана (DH), можно использовать для шифрования/дешифрования балансов случайных чисел и нешифрованного текста, таким образом, обеспечивая удобное управление. Дополнительно, хранение зашифрованной информации в блокчейне гарантирует, что объемы транзакций, значения активов и коэффициенты ослепления в схемах обязательств нелегко потерять или подделать.
[57] Прежде чем рассмотреть фигуры этого изобретения, опишем схему обязательств Педерсена и протокол обмена ключами Диффи-Хеллмана (DH).
[58] В некоторых вариантах осуществления, схема обязательств (например, схема обязательств Педерсена) может шифровать некоторое значение a (например, сумму транзакции, значение актива, параметр ключа) следующим образом:
PC(a)=r×G+a×H
[59] где r - случайный коэффициент ослепления (альтернативно именуемый коэффициентом связывания), который обеспечивает сокрытие, G и H - публично согласованные генераторы/базисные точки эллиптической кривой, которые могут выбираться произвольно, sn - значение заверения, C(sn) - точка кривой, используемая как заверение и передаваемая контрагенту, и 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, благодаря чему rG=H. Это может осуществляться, например, с использованием криптографического хеша G для взятия H: H=to_point(SHA256(ENCODE(G))).
[65] При наличии двух генераторов G и H, иллюстративную схему обязательств для шифрования входного значения можно определить как: заверение=rG+aH. Здесь, r может быть секретным коэффициентом ослепления, и a может быть входным значением, являющимся целью заверения. Следовательно, если sn заверено, можно получить вышеописанную схему обязательств PC(a)=r×G+a×H. Схемы обязательств Педерсена связаны с теорией информации: для любой заверения, существует некоторый коэффициент ослепления, величина которого совпадает с заверением. Схемы обязательств Педерсена могут быть вычислительно защищены от ложной заверения, таким образом, что произвольное отображение невозможно вычислить.
[66] Сторона (узел), заверившая значение, может открывать заверение путем раскрытия первоначального значения a и коэффициента r, который удовлетворяет уравнению заверения. Сторона, желающая открыть значение PC(a), будет снова вычислять заверение для проверки, что совместно используемое первоначальное значение действительно совпадает с первоначально принятой заверением PC(a). Таким образом, информацию о типе актива можно защищать путем ее отображения в уникальный порядковый номер, и затем ее шифрования заверением Педерсена. Случайное число r, выбранное при генерации заверения, практически не позволяет никому вывести тип типа актива, который заверен согласно заверяющему значению PC(a).
[67] В некоторых вариантах осуществления, обмен ключом Диффи-Хеллмана (DH) может использоваться в качестве способа безопасного обмена криптографическими ключами по общедоступному каналу. Обмен ключом DH, также именуемый экспоненциальным обменом ключами, является способом цифрового шифрования, в котором используются числа, возведенные в конкретные степени для генерации ключей дешифрования на основе компонентов, которые никогда напрямую не передаются, что ставит перед потенциальным дешифровщиком математически невыполнимую задачу.
[68] В примере осуществления обмена ключами Диффи-Хеллмана (DH), два конечных пользователя Алиса и Боб, осуществляя связь по каналу, известному им как закрытый, согласуют друг с другом положительные целые числа p и q, таким образом, что p является простым числом, и q является генератором p. Генератор q представляет собой число, которое, будучи возведено в положительные целочисленные степени, меньшие p, никогда не даст один и тот же результат для любых двух таких целых чисел. Значение p может быть большим, но значение q обычно мало. Таким образом, q является первообразным корнем по модулю p.
[69] После того, как Алиса и Боб конфиденциально согласовали p и q, они выбирают положительные целочисленные персональные ключи a и b, которые оба меньше простого числа по модулю p и оба могут быть произвольно сгенерированы. Пользователи никому не открывает свои персональные ключи, и, в идеале, они запоминают эти числа и нигде их не записывают и не сохраняют. Затем Алиса и Боб вычисляют общедоступные ключи a* и b* на основе своих персональных ключей по формулам
a*=qa mod p
и
b*=qb mod p
[70] Два пользователя могут совместно использовать свои общедоступные ключи a* и b* в среде передачи данных, которая предполагается небезопасной, например, в интернете или корпоративной глобальной сети (WAN). Из этих общедоступных ключей любой пользователь может генерировать число k1 на основе своих собственных персональных ключей.
[71] Алиса вычисляет k1 по формуле: k1=(b*)a mod p
[72] Боб вычисляет k1 по формуле: k1=(a*)b mod p
[73] Значение k1 оказывается одинаковым согласно любой из двух вышеприведенных формул. Однако персональные ключи a и b, критичный при вычислении k1, не передаются в общедоступный среде. Даже зная p, q, a* и b*, все еще очень трудно вычислить a и b. Поскольку это большой и, очевидно, случайное число, потенциальный взломщик почти не имеет шансов точно угадать k1, даже при наличии мощного компьютера, способного совершать миллионы попыток. Поэтому, теоретически, два пользователя могут осуществлять связь приватно в общедоступный среде способом шифрования по своему выбору с использованием ключа дешифрования k1.
[74] В другом примере осуществления обмена ключами Диффи-Хеллмана (DH), все вычисления осуществляются в дискретной группе достаточного размера, где задача Диффи-Хеллмана считается трудной, обычно мультипликативной группе по модулю большого простого числа (например, для классического DH) или группе эллиптических кривых (например, для эллиптической кривой Диффи-Хеллмана).
[75] Для двух сторон транзакции, каждая сторона выбирает закрытый ключ a или b.
[76] Каждая сторона вычисляет соответствующий общедоступный ключ aG или bG.
[77] Каждая сторона отправляет общедоступный ключ aG или bG другой стороне.
[78] Каждая сторона использует принятый общедоступный ключ совместно со своим собственным закрытым ключом для вычисления нового совместно используемого секрета a(bG)=b(aG), который может именоваться симметричными ключами пары симметричных ключей.
[79] Как описано ниже, этот иллюстративный способ может использоваться для генерации симметричных ключей abG и baG. Результатом этого обмена ключами является совместно используемый секрет, который затем можно использовать с помощью функции вывода ключа (например, функции шифрования E() с использованием другого входа, известного обеим сторонам, например, конкатенации случайного числа и значения актива) для вывода набора ключей для симметричной схемы шифрования. Альтернативно, могут использоваться различные другие способы вычисления, например, путем генерирования общедоступных ключей ga и gb и совместно используемого ключа gab или gba.
[80] В ходе транзакций, защита информации важна для защиты персональной информации пользователя, и сумма транзакции является одним типом информации, которому не хватает защиты. На фиг. 1 показана иллюстративная система 100 для защиты информации, в соответствии с различными вариантами осуществления. Как показано, блокчейновая сеть может содержать множество узлов (например, полные узлы, реализованные в серверах, компьютерах и т.д.). Для некоторой платформы блокчейна (например, NEO), полные узлы с некоторым уровнем права голоса могут именоваться консенсусными узлами, которые предполагают ответственность за проверку транзакции. В этом изобретении, полные узлы, консенсусный узел или другие эквивалентные узлы могут проверять транзакцию.
[81] Так же, как показано на фиг. 1, пользователь A и пользователь B могут использовать соответствующие устройства, например, портативные компьютеры и мобильные телефоны, выступающие в роли облегченных узлов, для осуществления транзакций. Например, пользователь A может пожелать совершать транзакции с пользователем B путем перевода некоторого актива со счета пользователя A на счет пользователя B. Пользователь A и пользователь B могут использовать соответствующие устройства с установленным на них надлежащим программным обеспечением блокчейна для транзакции. Устройство пользователя A может именоваться узлом-инициатором A, который инициирует транзакцию с устройством пользователя B, именуемым узлом-получателем B. Узел A может осуществлять доступ к блокчейну путем связи с узлом 1, и узел B может осуществлять доступ к блокчейну путем связи с узлом 2. Например, узел A и узел B могут предоставлять транзакции блокчейну через узел 1 и узел 2 для запрашивания добавления транзакций в блокчейн. Вне блокчейна, узел A и узел B могут иметь другие каналы связи (например, регулярную интернет-связь без прохождения через узлы 1 и 2).
[82] Каждый из узлов на фиг. 1 может содержать процессор и долговременный машиночитаемый носитель данных, где хранятся инструкции, подлежащие выполнению процессором, для предписания узлу (например, процессору) осуществлять различные описанные здесь этапы для защиты информации. На каждом узле может быть установлено программное обеспечение (например, программа транзакций) и/или оборудование (например, провода, беспроводные соединения) для осуществления связи с другими узлами и/или другими устройствами. Дополнительные детали оборудования и программного обеспечения узла описаны ниже со ссылкой на фиг. 5.
[83] Фиг. 2 демонстрирует иллюстративные этапы транзакции и проверки между узлом-отправителем A, узлом-получателем B и одним или более узлами проверки, в соответствии с различными вариантами осуществления. Представленные ниже операции предназначены для иллюстрации. В зависимости от реализации, иллюстративные этапы могут включать в себя больше, меньше или альтернативные этапы, осуществляемые в различном порядке или параллельно.
[84] В различных вариантах осуществления, счета сторон транзакции (пользователя-отправителя A и пользователя-получателя B) сконфигурированы для модели счета/баланса. Пользователь A и пользователь B могут осуществлять следующие этапы для осуществления транзакции через одно или более устройств, например, портативный компьютер, мобильный телефон и т.д. На устройствах может быть установлено надлежащее программное обеспечение и оборудование для осуществления различных этапов. Каждый счет может быть связан с криптографической парой закрытого ключа (секретного ключа) - общедоступного ключа. Закрытый ключ может обозначаться SK=x, и общедоступный ключ может обозначаться PK=xG, где G является генератором группы. Каждый счет может содержать различные активы, обозначенные: (V=PC(r, v), E(K, r, v)), где v представляет номинальное значение актива, V представляет схему обязательств Педерсена номинального значения v, r - коэффициент ослепления (например, случайное число), PC() - алгоритм схемы обязательств Педерсена, E() - алгоритм шифрования (например, алгоритм шифрования симметричными ключами), и K - ключ шифрования. В одном примере, каждый актив могут обозначаться (V=PC(r, v), E(K, r||v)), где || представляет конкатенацию. Каждый актив также может включать в себя информацию, отличную от перечисленной, например, исходную информацию актива.
[85] В одном примере, прежде чем пользователь A успешно переведет сумму t пользователю B в транзакции, удостоверенной блокчейном, адреса активов в счете A и счете B таковы:
[86] Для счета A (счета A):
адрес: (SK_A=a, PK_A=aG)
активы A_1 - A_m, соответственно, значений a_1 - a_m обозначены:
(A_1=PC(r_{a_1}, a_1), E(K_A, r_{a_1}||a_1)),
(A_2=PC(r_{a_2}, a_2), E(K_A, r_{a_2}||a_2)),
...
(A_m=PC(r_{a_m}, a_m), E(K_A, r_{a_m}||a_m))
[87] Для счета B (счета B):
адрес: (SK_B=b, PK_B=bG)
активы B_1 - B_n, соответственно, значений b_1 - b_n обозначены:
(B_1=PC(r_{b_1}, b_1), E(K_B, r_{b_1}||b_1)),
(B_2=PC(r_{b_2}, b_2), E(K_B, r_{b_2}||b_2)),
...
(B_n=PC(r_{b_n}, b_n), E(K_B, r_{b_n}||b_n))
[88] В некоторых вариантах осуществления генерация ключей может базироваться на эллиптической кривой ecp256k1 для каждого счета согласно модели счета/баланса. Например, на Эфириуме ecp256k1, любое число от 1 до 2256-1 может быть действительным закрытым ключом SK. Хорошая библиотека генерирует закрытый ключ с учетом достаточной случайности. Эфириум требует, чтобы закрытый ключ SK имел длину 256 битов. Генерация общедоступных ключей осуществляется с использованием групповой операции криптографии ECC. Для вывода общедоступного ключа PK, закрытый ключ может умножаться на G. Умножение, используемое для вывода общедоступного ключа PK, является умножением ECC (умножением точки эллиптическая кривой), которое отличается от обычного умножения. G является точкой-генератором, которая представляет собой один из параметров домена криптографии ECC. G может иметь фиксированное значение для ecp256k1. Адресом могут быть, например, последние 20 байтов хеша общедоступного ключа PK.
[89] В некоторых вариантах осуществления, на этапе 201, узел A может инициировать транзакцию с узлом B. Например, пользователь A и пользователь B могут согласовывать сумму t транзакции со счета A пользователя A на счет B пользователя B. Счет A и счет B могут соответствовать описанным здесь ʺкошелькамʺ. Счет A может иметь один или более активов. Актив может содержать, например, денежные средства, жетон, цифровую валюту, контракт, акт, медицинскую карту, детали потребителя, акции, облигации, собственные средства, или любой другой актив, который можно описать в цифровой форме. Счет B может иметь один или более активов или ни одного актива. Каждый актив может быть связан с различной информацией блокчейна, хранящейся в блоках блокчейна, причем информация блокчейна содержит, например, NoteType, представляющий тип актива, NoteID, представляющий уникальную идентификацию актива, заверяющие значения, представляющие значение заверения (например, заверение Педерсена) значения актива, шифрование случайного числа и значения актива, и т.д.
[90] Как описано в отношении счета 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(…), каждый актив также связан со вторым полем E(…), как описано выше. Второе поле E(…) может представлять шифрование соответствующего случайного числа и значения актива, зашифрованной ключом K_A. Например, шифрование может представлять собой E(K_A, r_{a_i}||a_i)). PC(…) и E(…) для каждого актива могут наследоваться из предыдущих транзакций. Тот же механизм можно применять к счету B и его активам.
[91] В некоторых вариантах осуществления, K_A может содержать различные типы ключа шифрования. Например, K_A может быть a*PK_A=aaG что дополнительно описано ниже, и K_B может быть a*PK_B=abG, что дополнительно описано ниже, где a, b, и G могут умножаться путем умножения ECC.
[92] В некоторых вариантах осуществления, для удовлетворения сумме t транзакции, пользователь A может выводить один или более активов с агрегированным значением по меньшей мере t со счета A. Например, со ссылкой на фиг. 1, узел A может выбирать активы A_1 и A_2 для этой транзакции. Узел A может считывать активы PC(r_1, a_1) и PC(r_2, a_2) из узла 1. На основе случайных чисел r_1 и r_2, известных узлу A, узел A может дешифровать считанные активы PC(r_1, a_1) и PC(r_2, a_2) для получения значений a_1 и a_2 активов, чтобы гарантировать, что сумма a_1 и a_2 не меньше суммы t транзакции. Разные активы могут обмениваться друг с другом на счете на основе различных ставок.
[93] В некоторых вариантах осуществления, величина выбранного значения актива, превышающая t, при наличии, задается равной y в качестве изменения. Например, узел A может определять изменение y=a_1+a_2 - 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).
[94] Дополнительно, в некоторых вариантах осуществления, узел A генерирует первый ключ из пары симметричных ключей a*PK_B=abG и генерирует еще один ключ a*PK_A=aaG. Узел A использует первый ключ abG для шифрования (r_t||t), что дает шифрование E(abG, r_t||t), и использует ключ aaG для шифрования (r_y||y), что дает шифрование E(aaG, r_y||y). Фиг. 3A и фиг. 3B могут демонстрировать этот пример. Альтернативно получению шифрования E(abG, r_t||t) узлом A, пользователь A может отправлять r_t и t на узел B совместно с информацией о транзакции, предписывающей узлу B генерировать второй ключ из пары симметричных ключей b*PK_A=baG для шифрования (r_t||t). Узел B будет отправлять шифрование на узел A, чтобы узел A мог осуществлять проверку. Фиг. 4A и фиг. 4B могут демонстрировать этот пример. Хотя в различных примерах этого изобретения используется конкатенация, альтернативные комбинации входов, выходов, или других параметров может использоваться для функции шифрования или другой операции.
[95] Дополнительно, в некоторых вариантах осуществления, узел A может генерировать доказательство диапазона RP, чтобы доказывать блокчейновым узлам, находится ли каждое из значения PC(rt, t) и значения PC(ry, y) в правильном диапазоне. Например, чтобы иметь правильные значения PC(rt, t), сумма t транзакции может находиться в правильном диапазоне [0, 2n-1]; и чтобы иметь правильные значения PC(ry, y), изменение y может находиться в правильном диапазоне [0, 2n-1]. В одном варианте осуществления, узел A может использовать метод блочного доказательства для генерации доказательства диапазона RP, соответствующего (r_y, y, Y, r_t, t, T) для блокчейновых узлов (например, консенсусного узла) для проверки на более позднем этапе, находятся ли сумма t транзакции и изменение y в правильном диапазоне, на основе доказательства диапазона. Доказательство диапазона может содержать, например, буллетпруфы, кольцевую подпись Борромео и т.д.
[96] На этапе 202, узел A может отправлять информацию о транзакции на узел B (например, по защищенному каналу вне блокчейна). Отправленная информация о транзакции может содержать, например, заверяющее значение T=PC(r_t, t), заверяющее значение Y=PC(r_y, y), шифрование E(abG, r_t||t), шифрование E(aaG, r_y||y), доказательство диапазона RP и т.д. заверяющее значение Y=PC(r_y, y), шифрование E(aaG, r_y||y), и доказательство диапазона RP могут быть необязательными, поскольку узел B может не интересовать изменение, отправленное обратно на счет A. В некоторых вариантах осуществления, передача по каналу связи вне блокчейна может предотвращать запись информации о транзакции в блокчейн и предотвращать получение информации о транзакции узлами, отличными от узла-отправителя A и узла-получателя B. E(aaG, r_y||y) может не нуждаться в отправке на узел B, но в будущем пользователю A может потребоваться потратить изменение y, поскольку изменение нужно возвратить на счет A.
[97] На этапе 203, узел B может проверять случайное число r_t, сумму t транзакции и заверяющее значение T. В некоторых вариантах осуществления, узел B может генерировать второй ключ из пары симметричных ключей b*PK_A=baG и использовать второй ключ baG для дешифрования шифрования E(abG, 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.
[98] На этапе 204, узел B может подписывать транзакцию закрытым ключом SK_B пользователя B для генерации подписи SIGB. Подписание может осуществляться согласно алгоритму цифровой подписи (DSA), например, алгоритму цифровой подписи на основе эллиптических кривых (ECDSA), благодаря чему, получатель подписи может проверять подпись общедоступным ключом подписывающей стороны для аутентификации подписанных данных. Подпись SIGB указывает, что узел-получатель B согласен с транзакцией.
[99] На этапе 205, узел B может передавать подписанную транзакцию обратно на узел A с подписью SIGB.
[100] На этапе 206, если не удалось проверить SIGB, узел A может отказываться от транзакции. Если SIGB успешно проверена, узел A может подписывать транзакцию закрытым ключом SK_A пользователя A для генерации подписи SIGA. Аналогично, подписание может осуществляться согласно алгоритму цифровой подписи (DSA). В одном варианте осуществления, узел A может подписывать (E(abG, r_t||t); E(aaG, r_y||y); Y; T; RP) закрытым ключом пользователя A для генерации подписи SIGA.
[101] На этапе 207, узел A может предоставлять транзакцию блокчейну, предписывая блокчейновым узлам проверять транзакции и определять, добавлять ли транзакцию в блокчейн. В одном варианте осуществления, узел A может предоставлять транзакцию (E(abG, r_t||t); E(aaG, r_y||y); Y; T; RP; SIGA; SIGB) блокчейну через узел 1 для выполнения транзакции. Транзакция может содержать дополнительные параметры или может содержать не все перечисленные параметры. Транзакция может рассылаться одному или более узлам (например, консенсусному узлу) в блокчейне для проверки. Если проверка увенчивается успехом, транзакция добавляется в блокчейн. Если проверка не удается, добавление транзакции в блокчейн отвергается.
[102] На этапах 208-213, один или более узлов (например, консенсусный узел) проверяют подписи, доказательство диапазона и другую информацию о предоставленной транзакции. Если проверка не удается, узлы отказываться от транзакции. Если проверка увенчивается успехом, узлы соглашаются с транзакцией, обновляют счет пользователя A и пользователь счет B по отдельности.
[103] В некоторых вариантах осуществления, для выполнения транзакции, информация о транзакции может проверяться различными блокчейновыми узлами. Информация о транзакции может содержать адрес TXID транзакции, подпись(и), вход и выход. TXID может содержать хеш содержимого транзакции. Подписи могут содержать подписи криптоключом отправителем и получателем. Вход может содержать адрес счета отправителя в блокчейне, один или более активов, выведенных с блокчейнового счета отправителя для транзакции, и т.д. Выход может содержать адрес счета получателя в блокчейне, тип(ы) актива для актива(ов) получателя, заверяющее(ие) значение(я) актива(ов) получателя и т.д. Вход и выход могут содержать индексированную информацию в табличной форме. В некоторых вариантах осуществления, значение NoteID может быть ʺTXID+индекс актива на выходеʺ.
[104] В некоторых вариантах осуществления, один или более узлов блокчейна могут проверять предоставленную транзакцию (E(abG, r_t||t); E(aaG, r_y||y); Y; T; RP; SIGA; SIGB).
[105] На этапе 208 узлы могут проверять, была ли транзакция исполнена с использованием механизма противодействия двойному расходованию или механизма противодействия атаке путем повтора. Если транзакция была исполнена, узлы могут отказываться от транзакции; в противном случае, способ может переходить к этапу 209.
[106] На этапе 209 узлы могут проверять подписи SIGA и SIGB (например, на основе общедоступного ключа A и общедоступного ключа B соответственно). Если какая-либо из подписей неверна, узлы могут отказываться от транзакции; в противном случае, способ может переходить к этапу 210.
[107] На необязательном этапе 210, узлы могут проверять, согласованы ли типы активов. Например, узлы могут проверять, согласованы ли типы активов в NoteType для A_1 - A_2 с типом(ами) актива суммы t транзакции. Если какой-либо из типов активов является несогласованным, узлы могут отказываться от транзакции; в противном случае, способ может переходить к этапу 211. В некоторых вариантах осуществления, первоначальный тип актива в кошельке может быть преобразован в другой тип на основе частоты обмена, и этот этап можно пропустить.
[108] На этапе 211, узлы могут проверять доказательство диапазона RP для подтверждения значения PC(rt, t) и значения PC(ry, y). В одном варианте осуществления, узлы могут проверять доказательство диапазона RP для проверки, не меньше ли сумма t транзакции нуля, и не меньше ли изменение y нуля. Если проверка не удается, узлы могут отказываться от транзакции; в противном случае, способ может переходить к этапу 212.
[109] На этапе 212, узлы могут проверять, согласованы ли входы и выходы транзакции. Если проверка не удается, узлы могут отказываться от транзакции; в противном случае, способ может переходить к этапу 213.
[110] На этапе 213, узлы могут проверять, имеет ли узел A актив(ы), выведенный(е) для транзакции. В одном варианте осуществления, узлы могут осуществлять эту проверку на основе информации, хранящейся в блокчейне, например, информации, соответствующей счету A. Информация может содержать информация о предыдущей транзакции всех активов. Таким образом, узлы могут определять, имеет ли счет A переводимый актив для транзакции. Если нет, узлы могут отказываться от транзакции; в противном случае, способ может переходить к этапу 214.
[111] На этапе 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.
[112] В одном примере, после обновления счета A и счета B, счет A принимает изменение y в выведенные активы и принимает свои невыведенные активы. Например, выведенными активами могут быть A_1 и A_2, которые удаляются в транзакции с изменением y, возвращаемым на счет A, и невыведенными активами являются A_3, …, A_m. Счет B принимает сумму t транзакции и принимает свои первоначальные активы (например, B_1, …, B_n). Активы на счете A и счете B таковы:
[113] Для счета A (счета A), обновленные активы обозначены:
(Y=PC(r_y, y), E(aaG, r_y||y)),
...
(A_m=PC(r_{a_m}, a_m), E(K_A, r_{a_m}||a_m))
[114] Для счета B (счета B), обновленные активы обозначены:
(B_1=PC(r_{b_1}, b_1), E(K_B, r_{b_1}||b_1)),
(B_2=PC(r_{b_2}, b_2), E(K_B, r_{b_2}||b_2)),
...
(B_n=PC(r_{b_n}, b_n), E(K_B, r_{b_n}||b_n)),
(T=PC(r_t, t), E(abG, r_t||t))
[115] Хотя в этом изобретении используются узел A/пользователь A и узел B/пользователь B для иллюстрации отправителя и получателя, соответственно, отправителем и получателем может быть один и тот же узел/пользователь. Например, изменение y транзакции (сумма выведенных активов на счете A минус сумма транзакции) может отправляться обратно отправителю транзакции. Таким образом, различные описанные здесь этапы, осуществляемые узлом B, могут альтернативно осуществляться узлом A.
[116] Фиг. 3A демонстрирует блок-схему операций иллюстративного способа 300 для защиты информации, согласно различным вариантам осуществления настоящего изобретения. Способ 300 может осуществляться одним или более компонентами (например, узлом A, узлом 1, комбинацией узла A и узла 1) системы 100, показанной на фиг. 1. Способ 300 может осуществляться системой или устройством (например, компьютером, сервером), содержащим процессор и долговременный машиночитаемый носитель данных (например, память), где хранятся инструкции, подлежащие выполнению процессором, для предписания системе или устройству (например, процессору) осуществлять способ 300. Операции способа 300 представленного ниже, предназначены для иллюстрации. В зависимости от реализации, иллюстративный способ 300 может включать в себя больше, меньше или альтернативные этапы, осуществляемые в различном порядке или параллельно.
[117] Блок 301 содержит: заверение суммы t транзакции транзакции с помощью схемы обязательств для получения заверяющего значения T транзакции, причем схема обязательств содержит, по меньшей мере, коэффициент r_t ослепления транзакции. Например, как описано выше, T=PC(r_t, t). В некоторых вариантах осуществления, схема обязательств содержит схему обязательств Педерсена на основе, по меньшей мере, коэффициента r_t ослепления транзакции, и при этом сумма t транзакции является заверенным значением.
[118] Блок 302 содержит: генерирование первого ключа из пары симметричных ключей. Например, как описано выше, SK_A=a, PK_B=bG, и первый ключ может быть a*PK_B=abG. В некоторых вариантах осуществления, генерирование первого ключа и второго ключа содержит: генерирование первого ключа и второго ключа на основе закрытого ключа SK_A отправителя транзакции и общедоступного ключа PK_B получателя согласно протоколу обмена ключами Диффи-Хеллмана (DH).
[119] Блок 303 содержит: шифрование комбинации (например, конкатенации) коэффициента r_t ослепления транзакции и суммы t транзакции с помощью первого ключа. Например, как описано выше, узел A может использовать первый ключ abG для шифрования (r_t||t), что дает шифрование E(abG, r_t||t).
[120] Блок 304 содержит: передачу заверяющего значения T транзакции и зашифрованной комбинации на узел-получатель, связанный с получателем транзакции, с целью проверки транзакции узлом-получателем. В некоторых вариантах осуществления, передача заверяющего значения T транзакции и зашифрованной комбинации на узел-получатель, связанный с получателем транзакции, с целью проверки транзакции узлом-получателем, содержит передачу заверяющего значения T транзакции и зашифрованной комбинации на узел-получатель, связанный с получателем транзакции, предписывающих узлу-получателю: генерировать второй ключ из пары симметричных ключей на основе закрытого ключа SK_B получателя и общедоступного ключа PK_A отправителя, дешифровать зашифрованную комбинацию с помощью второго ключа, сгенерированного узлом-получателем, для получения коэффициента r_t ослепления транзакции и суммы t транзакции, и проверять транзакцию на основе, по меньшей мере, заверяющего значения T транзакции, коэффициента r_t ослепления транзакции и суммы t транзакции. См., например, этап 203. Например, как описано выше, узел-получатель может независимо генерировать второй ключ b*PK_A=baG. Ключи abG и baG симметричны и равны. Таким образом, узел-получатель может не принимать первый ключ abG от узла-отправителя и вместо этого, узел-получатель независимо генерирует второй ключ baG как эквивалент abG.
[121] В некоторых вариантах осуществления, предписание узлу-получателю проверять транзакцию на основе, по меньшей мере, заверяющего значения T транзакции, коэффициента r_t ослепления транзакции и суммы t транзакции содержит предписание узлу-получателю: в ответ на определение, что заверяющее значение T транзакции не соответствует схеме обязательств суммы t транзакции на основе коэффициента r_t ослепления транзакции, отказываться от транзакции; и в ответ на определение, что заверяющее значение T транзакции согласуется со схемой заверения суммы t транзакции на основе коэффициента r_t ослепления транзакции, одобрять транзакцию путем подписания транзакции для генерации подписи SIGB получателя, возвращаемой на узел-отправитель, связанный с отправителем.
[122] В некоторых вариантах осуществления, до (блок 304) передачи зашифрованной комбинации на узел-получатель, связанный с получателем, способ дополнительно содержит: заверение изменения y транзакции согласно схеме обязательств для получения заверяющего значения Y изменения, причем схема обязательств содержит, по меньшей мере, коэффициент r_y ослепления изменения, причем изменение y является одним или более активов отправителя, выведенных для транзакции, меньших суммы t транзакции; генерирование еще одного ключа на основе закрытого ключа SK_A отправителя и общедоступного ключа PK_A отправителя; и шифрование другой комбинации коэффициента r_y ослепления изменения и изменения y с помощью еще одного ключа. Например, как описано выше, Y=PC(r_y, y), PK_A =a, и узел A может генерировать ключ a*PK_A=aaG и использовать ключ aaG для шифрования (r_y||y), что дает шифрование E(aaG, r_y||y).
[123] В некоторых вариантах осуществления, способ дополнительно содержит: в ответ на прием подписи SIGB получателя, одобрение транзакции путем подписания транзакции для генерации подписи SIGA отправителя; и предоставление транзакции, содержащей зашифрованную комбинацию, зашифрованную другую комбинацию, заверяющее значение T транзакции, заверяющее значение Y изменения, подпись SIGA отправителя и подпись SIGB получателя, одному или более узлам в блокчейн сети с целью проверки транзакции одним или более узлами. Дополнительные детали описаны выше со ссылкой на этапы 208-213.
[124] В некоторых вариантах осуществления, предоставление транзакции, содержащей зашифрованную комбинацию, зашифрованную другую комбинацию, заверяющее значение T транзакции, заверяющее значение Y изменения, подпись SIGA отправителя и подпись SIGB получателя, одному или более узлам в блокчейн сети с целью проверки транзакции одним или более узлами содержит: предоставление транзакции, содержащей зашифрованную комбинацию, зашифрованную другую комбинацию, заверяющее значение T транзакции, заверяющее значение Y изменения, подпись SIGA отправителя и подпись SIGB получателя, одному или более узлам в блокчейн сети, предписывающее одному или более узлам, в ответ на успешную проверку транзакции, выдавать сумму t транзакции получателю, устранять один или более активов, выведенных для транзакции, и выдавать изменение y отправителю. Дополнительные детали описаны выше со ссылкой на этап 214.
[125] Фиг. 3B демонстрирует блок-схему операций иллюстративного способа 400 для защиты информации, согласно различным вариантам осуществления настоящего изобретения. Способ 400 может осуществляться одним или более компонентами (например, узлом B, узлом 2, комбинацией узла B и узла 2 и т.д.) системы 100, показанной на фиг. 1. Способ 400 может осуществляться системой или устройством (например, компьютером, сервером), содержащим процессор и долговременный машиночитаемый носитель данных (например, память), где хранятся инструкции, подлежащие выполнению процессором, для предписания системе или устройству (например, процессору) осуществлять способ 400. Операции способа 400 представленного ниже, предназначены для иллюстрации. В зависимости от реализации, иллюстративный способ 400 может включать в себя больше, меньше или альтернативные этапы, осуществляемые в различном порядке или параллельно.
[126] Блок 401 содержит: получение комбинации коэффициента r_t ослепления транзакции и суммы t транзакции, зашифрованной с помощью первого ключа из пары симметричных ключей, и получение заверяющего значения T транзакции. Сумма t транзакции заверяется с помощью схемы обязательств узлом-отправителем, связанным с отправителем транзакции, для получения заверяющего значения T транзакции, причем схема обязательств содержит, по меньшей мере, коэффициент r_t ослепления транзакции. В некоторых вариантах осуществления, первый ключ генерируется узлом-отправителем на основе закрытого ключа SK_A отправителя транзакции и общедоступного ключа PK_B получателя транзакции.
[127] Блок 402 содержит: генерирование второго ключа из пары симметричных ключей. В некоторых вариантах осуществления, генерирование второго ключа из пары симметричных ключей содержит генерирование второго ключа из пары симметричных ключей на основе закрытого ключа SK_B получателя транзакции и общедоступного ключа PK_A отправителя согласно протоколу обмена ключами Диффи-Хеллмана (DH).
[128] Блок 403 содержит: дешифрование полученной комбинации с помощью второго ключа, сгенерированного узлом-получателем, связанным с получателем, для получения коэффициента r_t ослепления транзакции и суммы t транзакции.
[129] Блок 404 содержит: проверку транзакции на основе, по меньшей мере, заверяющего значения T транзакции, коэффициента r_t ослепления транзакции и суммы t транзакции.
[130] Альтернативно шифрованию комбинации (r_t, t), например, (r_t||t) на узле A, узел A может передавать (r_t, t) на узел B, предписывая узлу B шифровать комбинацию (r_t, t), как описано ниже со ссылкой на фиг. 4A и фиг. 4B. Другие этапы и описания фиг. 1-3B можно аналогично применять к фиг. 4A и фиг. 4B.
[131] Фиг. 4A демонстрирует блок-схему операций иллюстративного способа 440 для защиты информации, согласно различным вариантам осуществления настоящего изобретения. Способ 440 может осуществляться одним или более компонентами (например, узлом A, узлом 1, комбинацией узла A и узла 1) системы 100, показанной на фиг. 1. Способ 440 может осуществляться системой или устройством (например, компьютером, сервером), содержащим процессор и долговременный машиночитаемый носитель данных (например, память), где хранятся инструкции, подлежащие выполнению процессором, для предписания системе или устройству (например, процессору) осуществлять способ 440. Операции способа 440, представленного ниже, предназначены для иллюстрации. В зависимости от реализации, иллюстративный способ 440 может включать в себя больше, меньше или альтернативные этапы, осуществляемые в различном порядке или параллельно.
[132] Блок 441 содержит: заверение суммы t транзакции транзакции с помощью схемы обязательств для получения заверяющего значения T транзакции, причем схема обязательств содержит, по меньшей мере, коэффициент r_t ослепления транзакции.
[133] Блок 442 содержит: отправку суммы t транзакции, коэффициента r_t ослепления транзакции и заверяющего значения T транзакции на узел-получатель, связанный с получателем транзакции, с целью проверки транзакции узлом-получателем и для шифрования коэффициента r_t ослепления транзакции и суммы t транзакции вторым ключом из пары симметричных ключей. Например, узел B может проверять условие T=PC(r_t, t), и узел B может шифровать комбинацию ключом baG для получения E(baG, r_t||t).
[134] Блок 443 содержит: получение зашифрованной комбинации (например, E(baG, r_t||t)) коэффициента r_t ослепления транзакции и суммы t транзакции от узла-получателя.
[135] Блок 444 содержит: генерирование первого ключа пары симметричных ключей для дешифрования зашифрованной комбинации для проверки транзакции. Например, узел A может генерировать первый ключ abG для дешифрования E(baG, r_t||t) и проверять правильность r_t и t. После взаимной проверки r_t и t узлом-отправителем и узлом-получателем, транзакция может предоставляться блокчейну для проверки.
[136] Фиг. 4B демонстрирует блок-схему операций иллюстративного способа 450 для защиты информации, согласно различным вариантам осуществления настоящего изобретения. Способ 450 может осуществляться одним или более компонентами (например, узлом B, узлом 2, комбинацией узла B и узла 2 и т.д.) системы 100, показанной на фиг. 1. Способ 450 может осуществляться системой или устройством (например, компьютером, сервером), содержащим процессор и долговременный машиночитаемый носитель данных (например, память), где хранятся инструкции, подлежащие выполнению процессором, для предписания системе или устройству (например, процессору) осуществлять способ 450. Операции способа 450, представленного ниже, предназначены для иллюстрации. В зависимости от реализации, иллюстративный способ 450 может включать в себя больше, меньше или альтернативные этапы, осуществляемые в различном порядке или параллельно.
[137] Блок 451 содержит: получение суммы t транзакции транзакции, коэффициента r_t ослепления транзакции и заверяющего значения T транзакции.
[138] Блок 452 содержит: проверку транзакции на основе полученной суммы t транзакции, полученного коэффициента r_t ослепления транзакции и полученного заверяющего значения T транзакции.
[139] Блок 453 содержит: в ответ на успешную проверку транзакции, шифрование коэффициента r_t ослепления транзакции и суммы t транзакции вторым ключом из пары симметричных ключей для получения зашифрованной комбинации (например, E(baG, r_t||t)).
[140] Блок 454 содержит: передачу зашифрованной комбинации на узел-отправитель, связанный с отправителем транзакции.
[141] Как показано, персональную информацию для суммы транзакции можно защищать посредством различных усовершенствований вычислительной технологии. Например, счета структура содержат одно или более полей, например, первое поле, связанное с заверением Педерсена значения актива (например, первое поле, представляющее собой PC(r_{a_i}, a_i), где i принимает значения от 1 до m) и второе поле, связанное со случайным числом для схемы обязательств Педерсена и значения актива (например, второе поле представляющее собой E(…)). Первое поле и второе поле также используются на этапах транзакции и сохранения в блокчейне.
[142] В порядке другого примера, симметричный ключ используется для шифрования случайного числа каждого заверения Педерсена и соответствующего значения актива, и сохранения транзакции, включающей в себя зашифрованные случайные числа и значения активов в блокчейне. Этот способ избегает локального управления такими случайными числами и обеспечивает защиту на основе распределенного и согласованного хранения блокчейна.
[143] Дополнительно, согласно протоколу обмена ключами DH или альтернативному протоколу, даже в отсутствие прямой связи, пользователь A и пользователь B совместно используют общий секрет (пару симметричных ключей abG и baG) для шифрования/дешифрования случайного числа заверения и значения актива. Поскольку пара симметричных ключей получается из пары общедоступного-закрытого ключа соответствующих счетов, случайное число для заверения может эффективно сохраняться посредством блокчейна, без дополнительного добавления ключа шифрования.
[144] В порядке еще одного примера, доказательство диапазона используется для доказательства, что уже существующие активы транзакции сбалансированы относительно новых активов и транзакции, и что значение каждого нового актива находится в приемлемом диапазоне. Дополнительно, стороны транзакции могут передавать заверенное случайное число и значение нового актива получателю по защищенному каналу вне блокчейна для проверки, совпадает ли заверенное значение со значением актива транзакции.
[145] Таким образом, случайными числами заверений Педерсена удобно управлять, без опасности повреждения и без навлечения дополнительной нагрузки управления ключами. Таким образом, можно полностью защитить персональная информация о транзакции, и также держать в секрете объемы транзакций.
[146] Описанные здесь методы реализуются одним или более вычислительными устройствами специального назначения. Вычислительные устройства специального назначения могут быть настольными компьютерными системами, серверными компьютерными системами, портативными компьютерными системами, карманными устройствами, сетевыми устройствами или любым другим устройством или комбинацией устройств, которые включают в себя аппаратную и/или программную логику для осуществления методов. Вычислительное(ые) устройство(а), в целом, управляются и координируются программным обеспечением операционной системы. Традиционные операционные системы управляют выполнением компьютерных процессов и планируют его, осуществляют управление памятью, обеспечивают файловую систему, сетевую связь, службы I/O и обеспечивают функциональные возможности пользовательского интерфейса, например, графического пользовательского интерфейса (ʺGUIʺ), помимо прочего.
[147] На фиг. 5 показана блок-схема, которая демонстрирует компьютерную систему 500, в которой можно реализовать любой из описанных здесь вариантов осуществления. Система 500 может быть реализована в любом из описанных здесь узлов и выполнена с возможностью осуществлять соответствующие этапы способов защиты информации. Компьютерная система 500 включает в себя шину 502 или другой механизм связи для передачи информации, один или более аппаратных процессоров 504, соединенных с шиной 502 для обработки информации. Аппаратные процессоры 504 могут представлять собой, например, один или более микропроцессоров общего назначения.
[148] Компьютерная система 500 также включает в себя основную память 506, например, оперативную память (RAM), кэш-память и/или другие динамические запоминающие устройства, подключенные к шине 502 для сохранения информации и инструкций, подлежащих выполнению процессором(ами) 504. Основная память 506 также может использоваться для сохранения временных переменных или другой промежуточной информации в ходе выполнения инструкций, подлежащих выполнению процессором(ами) 504. Такие инструкции, хранящиеся на носителях данных, доступных процессору(ам) 504, превращают компьютерную систему 500 в машину специального назначения, которая специализирована для осуществления операций, заданных в инструкциях. Компьютерная система 500 дополнительно включает в себя постоянную память (ROM) 508 или другое статическое запоминающее устройство, подключенное к шине 502, для хранения статической информации и инструкций для процессора(ов) 504. Запоминающее устройство 510, например, магнитный диск, оптический диск или карта флэш-памяти (флэш-носитель) на USB и т.д., обеспечивается и подключается к шине 502 для сохранения информации и инструкций.
[149] Компьютерная система 500 может осуществлять описанные здесь методы с использованием специализированной аппаратной логики, один или более ASIC или FPGA, программно-аппаратное обеспечение и/или программная логика, которая, совместно с компьютерной системой, предписывает или программирует компьютерную систему 500 быть машиной специального назначения. Согласно одному варианту осуществления, описанные здесь операции, способы и процессы осуществляются компьютерной системой 500, когда процессор(ы) 504 выполняют одну или более последовательностей из одной или более инструкций, содержащихся в основной памяти 506. Такие инструкции могут считываться в основную память 506 с другого носителя данных, например, запоминающего устройства 510. Выполнение последовательностей инструкций, содержащихся в основной памяти 506, предписывает процессору(ам) 504 осуществлять процесс описанные здесь этапы. В альтернативных вариантах осуществления, аппаратная схема может использоваться вместо программных инструкций или совместно с ними.
[150] Основная память 506, ROM 508 и/или хранилище 510 может включать в себя долговременные носители данных. Используемый здесь термин ʺдолговременные носителиʺ и аналогичные термины, означает носители, где хранятся данные и/или инструкции, которые предписывают машине действовать тем или иным образом, носители исключают передаваемые сигналы. Такие долговременные носители могут содержать энергонезависимые носители и/или энергозависимые носители. Энергонезависимые носители включает в себя, например, оптические или магнитные диски, например, запоминающее устройство 510. Энергозависимые носители включают в себя динамическую память, например, основную память 506. Общие формы долговременных носителей включают в себя, например, флоппи-диск, гибкий диск, жесткий диск, твердотельный привод, магнитную ленту или любой другой магнитный носитель данных, CD-ROM, любой другой оптический носитель данных, любой физический носитель с шаблонами отверстий, RAM, PROM, EPROM, FLASH-EPROM, NVRAM, любую другую микросхему памяти или картриджа и их сетевые версии.
[151] Компьютерная система 500 также включает в себя сетевой интерфейс 518, подключенный к шине 502. Сетевой интерфейс 518 обеспечивает двустороннюю передачу данных, подключающуюся к одной или более сетевым линиям связи, которые подключены к одной или более локальным сетям. Например, сетевой интерфейс 518 может представлять собой карту цифровой сети связи с комплексными услугами (ISDN), кабельный модем, спутниковый модем или модем для обеспечения соединения для передачи данных для соответствующего типа телефонной линии. В порядке другого примера, сетевой интерфейс 518 может представлять собой карту локальной сети (LAN) для обеспечения соединения для передачи данных для совместимой LAN (или компонента WAN, соединенного с WAN). Также можно реализовать беспроводные линии связи. В любой подобной реализации, сетевой интерфейс 518 отправляет и принимает электрические, электромагнитные или оптические сигналы, которые несут потоки цифровых данных, представляющие различные типы информации.
[152] Компьютерная система 500 может отправлять сообщения и принимать данные, включающий в себя программный код, через сеть(и), сетевую линию связи и сетевой интерфейс 518. В примере интернета, сервер может передавать запрошенный код для прикладной программы через интернет, ISP, локальную сеть и сетевой интерфейс 518.
[153] Принятый код может выполняться процессором(ами) 504, когда он принимается и/или сохраняется в запоминающем устройстве 510 или другом энергонезависимом хранилище для выполнения в дальнейшем.
[154] Каждый из процессов, способов и алгоритмов, описанных в предыдущих разделах, может быть реализован и полностью или частично автоматизироваться в модулях кода, исполняемых одной или более компьютерными системами или компьютерными процессорами, содержащими компьютерное оборудование. Процессы и алгоритмы могут осуществляться частично или полностью в схеме специального назначения.
[155] Различные вышеописанные признаки и процессы можно использовать независимо друг от друга или можно комбинировать по-разному. Все возможные комбинации и подкомбинации подлежат включению в объем этого изобретения. Кроме того, в некоторых реализациях некоторые блоки способа или процесса могут быть исключены. Описанные здесь способы и процессы также не ограничиваются никакой конкретной последовательностью, и блоки или связанные с ними состояния могут осуществляться в других надлежащих последовательностях. Например, описанные блоки или состояния могут осуществляться в порядке, отличном от конкретно раскрытого, или множественные блоки или состояния можно комбинировать в единый блок или состояние. Иллюстративные блоки или состояния могут осуществляться последовательно, параллельно, или каким-либо другим способом. Блоки или состояния могут добавляться в раскрытые иллюстративные варианты осуществления или удаляться из них. Иллюстративные системы и компоненты, описанный здесь, могут быть сконфигурированы иначе, чем описаны. Например, элементы могут добавляться, удаляться или переставляться по сравнению с раскрытыми иллюстративными вариантами осуществления.
[156] Различные операции описанных здесь иллюстративных способов могут осуществляться, по меньшей мере, частично, посредством алгоритма. Алгоритм может содержаться в программных кодах или инструкциях, хранящихся в памяти (например, вышеописанного долговременного машиночитаемого носителя данных). Такой алгоритм может содержать алгоритм машинного обучения. В некоторых вариантах осуществления, алгоритм машинного обучения может в явном виде не программировать компьютеры для осуществления функции, но может осуществляться из обучающих данных для создания прогностической модели, которая осуществляет функцию.
[157] Различные операции описанных здесь иллюстративных способов могут осуществляться, по меньшей мере, частично, одним или более процессорами, которые временно конфигурируются (например, программным обеспечением) или постоянно конфигурируются для осуществления соответствующих операций. Будучи сконфигурированы на временной или постоянной основе, такие процессоры могут образовывать процессорно-реализованные машины, которые действуют для осуществления описанных здесь одной или более операций или функций.
[158] Аналогично, описанные здесь способы могут быть, по меньшей мере, частично процессорно-реализованы, причем конкретный процессор или процессоры являются примером оборудования. Например, по меньшей мере, некоторые из операций способа могут осуществляться одним или более процессорами или процессорно-реализованными машинами. Кроме того, один или более процессоров также могут действовать для поддержки эксплуатационных показателей соответствующих операций в среде ʺоблачных вычисленийʺ или в качестве ʺпрограммного обеспечения как услугиʺ (SaaS). Например, по меньшей мере, некоторые из операций могут осуществляться группой компьютеров (в качестве примеров машин, включающих в себя процессоры), причем эти операции доступны через сеть (например, интернет) и через один или более надлежащих интерфейсов (например, интерфейс прикладных программ (API)).
[159] Эксплуатационные показатели некоторых из операций могут распределяться между процессорами, не только присутствующими в единой машине, но установленными на нескольких машинах. В некоторых иллюстративных вариантах осуществления, процессоры или процессорно-реализованные машины могут располагаться в одном географическом положении (например, в домашней среде, офисной среде или серверной ферме). В других иллюстративных вариантах осуществления, процессоры или процессорно-реализованные машины могут распределяться в нескольких географических положениях.
[160] В этом описании изобретения, множественные экземпляры могут осуществлять компоненты, операции или структуры, описанные как единственный экземпляр. Хотя отдельные операции одного или более способов проиллюстрированы и описаны как отдельные операции, одна или более из отдельных операций могут осуществляться одновременно, и не требуется, чтобы операции осуществлялись в проиллюстрированном порядке. Структуры и функциональные возможности, представленные как отдельные компоненты в иллюстративных конфигурациях, могут осуществляться как комбинированная конструкция или компонент. Аналогично, структуры и функциональные возможности, представленные в виде единого компонента, могут осуществляться как отдельные компоненты. Эти и другие вариации, модификации, добавления и усовершенствования подлежат включению в объем настоящего изобретения.
[161] Хотя настоящее изобретение описано со ссылкой на конкретные иллюстративные варианты осуществления, различные модификации и изменения можно вносить в эти варианты осуществления, не выходя за рамки более широкого объема вариантов осуществления настоящего изобретения. Такие варианты осуществления изобретения может именоваться здесь, по отдельности или совместно, термином ʺизобретениеʺ лишь для удобства и без намерения добровольно ограничивать объем данной заявки никаким отдельным раскрытием или понятием, если фактически раскрыто более одного. Подробное описание не следует понимать в ограничительном смысле, и объем различных вариантов осуществления задается только нижеследующей формулой изобретения, совместно с полным диапазоном эквивалентов, на которые формула изобретения имеет право.

Claims (71)

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

Applications Claiming Priority (1)

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

Publications (1)

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

Family

ID=66100013

Family Applications (1)

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

Country Status (18)

Country Link
US (2) US11277389B2 (ru)
EP (2) EP3866382B1 (ru)
JP (1) JP6724249B2 (ru)
KR (1) KR102170346B1 (ru)
CN (1) CN109937557B (ru)
AU (1) AU2018327218B2 (ru)
BR (1) BR112019007727A2 (ru)
CA (1) CA3040601C (ru)
ES (1) ES2875581T3 (ru)
MX (1) MX2019004202A (ru)
MY (1) MY193900A (ru)
PH (1) PH12019500556A1 (ru)
PL (1) PL3549303T3 (ru)
RU (1) RU2719423C1 (ru)
SG (1) SG11201902778UA (ru)
TW (1) TWI706275B (ru)
WO (1) WO2019072276A2 (ru)
ZA (1) ZA201902470B (ru)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201805633D0 (en) * 2018-04-05 2018-05-23 Nchain Holdings Ltd Computer implemented method and system
CN109377215B (zh) 2018-08-06 2020-04-21 阿里巴巴集团控股有限公司 区块链交易方法及装置、电子设备
CA3040791C (en) 2018-11-27 2020-12-15 Alibaba Group Holding Limited System and method for information protection
MX2019004357A (es) 2018-11-27 2019-08-05 Alibaba Group Holding Ltd Sistema y método para protección de la información.
CA3040601C (en) 2018-11-27 2021-03-30 Alibaba Group Holding Limited System and method for information protection
US10700850B2 (en) 2018-11-27 2020-06-30 Alibaba Group Holding Limited System and method for information protection
US11127002B2 (en) 2018-11-27 2021-09-21 Advanced New Technologies Co., Ltd. System and method for information protection
CA3037833C (en) 2018-11-27 2022-04-19 Alibaba Group Holding Limited System and method for information protection
US10764029B1 (en) * 2019-04-02 2020-09-01 Carey Patrick Atkins Asymmetric Encryption Algorithm
SG11201909630TA (en) * 2019-04-26 2019-11-28 Alibaba Group Holding Ltd Anti-replay attack authentication protocol
GB201907344D0 (en) 2019-05-24 2019-07-10 Nchain Holdings Ltd Multi-input transactions
GB2588072A (en) 2019-05-24 2021-04-21 Nchain Holdings Ltd Malleability of transactions for inclusion in a blockchain
GB2587773A (en) * 2019-05-24 2021-04-14 Nchain Holdings Ltd Streaming portions of data over a side channel
CN110399735A (zh) * 2019-06-21 2019-11-01 深圳壹账通智能科技有限公司 加密数据大小关系证明方法、装置、设备及存储介质
CN112150281B (zh) * 2019-06-28 2023-09-26 北京国盾量子信息技术有限公司 一种数字货币的交易方法、装置及系统
CN111030821B (zh) * 2019-08-27 2022-07-12 杭州云象网络技术有限公司 一种基于双线性映射技术的联盟链的加密方法
CN113570460A (zh) * 2019-08-30 2021-10-29 创新先进技术有限公司 在区块链中并发执行交易的方法和装置
CN110545279A (zh) * 2019-09-05 2019-12-06 国网区块链科技(北京)有限公司 兼具隐私和监管功能的区块链交易方法、装置及系统
CN112465500A (zh) * 2019-09-09 2021-03-09 本田技研工业株式会社 用于在区块链内保护私钥交易的系统和方法
CN110781503B (zh) * 2019-09-18 2022-05-17 深圳壹账通智能科技有限公司 数据调用方法、装置及计算机可读存储介质
JP7372527B2 (ja) * 2019-09-26 2023-11-01 富士通株式会社 通信中継プログラム、中継装置、及び通信中継方法
CN112769548B (zh) * 2019-11-05 2022-09-20 深圳市迅雷网络技术有限公司 一种区块链数值信息传输方法、系统、装置及计算机介质
CN110933045A (zh) * 2019-11-08 2020-03-27 中国电子科技网络信息安全有限公司 一种基于承诺的区块链数字资产隐私保护方法
CN111475849B (zh) * 2019-11-08 2024-03-12 支付宝(杭州)信息技术有限公司 基于区块链账户的隐私数据查询方法及装置
CN113055178B (zh) * 2019-12-27 2022-08-16 深圳市迅雷网络技术有限公司 区块链系统及数值信息传输方法、系统、装置、介质
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
CN111340489B (zh) * 2020-02-21 2023-11-14 数据通信科学技术研究所 可监管的交易接收者保护方法和装置
CN111523894A (zh) * 2020-05-06 2020-08-11 杭州复杂美科技有限公司 数据延时公布方法、设备和存储介质
CN111600703B (zh) * 2020-05-12 2023-08-04 京东科技信息技术有限公司 基于sm2的签名方法、系统、电子设备及存储介质
CN111709738B (zh) * 2020-05-18 2023-08-01 杜晓楠 区块链系统中隐藏交易金额的方法、计算机可读存储介质和区块链系统
WO2020169124A2 (en) 2020-06-08 2020-08-27 Alipay Labs (singapore) Pte. Ltd. Distributed storage of custom clearance data
CN111989707B (zh) * 2020-06-08 2024-04-16 支付宝实验室(新加坡)有限公司 管理基于区块链的海关清关服务的用户权限
WO2020169122A2 (en) 2020-06-08 2020-08-27 Alipay Labs (singapore) Pte. Ltd. Blockchain-based import custom clearance data processing
CN114930330A (zh) 2020-06-08 2022-08-19 支付宝实验室(新加坡)有限公司 基于区块链的海关清关服务平台的用户管理
WO2020169125A2 (en) 2020-06-08 2020-08-27 Alipay Labs (singapore) Pte. Ltd. Blockchain-based document registration for custom clearance
EP3841491B1 (en) 2020-06-08 2023-08-02 Alipay Labs (Singapore) Pte. Ltd. Blockchain-based smart contract pools
CN113014384B (zh) * 2021-03-16 2022-07-15 平安付科技服务有限公司 基于dh密钥交换算法的数据比较方法、装置、计算机设备及存储介质
US11849032B2 (en) * 2021-05-14 2023-12-19 Verizon Patent And Licensing Inc. Systems and methods for blockchain-based secure key exchange
US11748333B2 (en) 2021-06-30 2023-09-05 Dropbox, Inc. Verifying data consistency using verifiers in a content management system for a distributed key-value database
CN113706150B (zh) * 2021-10-27 2022-02-08 深圳前海微众银行股份有限公司 一种区块确认方法及装置
CN114565382A (zh) * 2022-03-01 2022-05-31 汪泽希 一种交易账户匿名支付方法及系统
JP2024022912A (ja) 2022-08-08 2024-02-21 富士通株式会社 情報秘匿化プログラム、情報秘匿化方法及び情報管理装置
CN115955315B (zh) * 2022-12-27 2024-08-23 浙江吉利控股集团有限公司 环机密交易的签名验证方法、系统、设备及可读存储介质
CN115809482B (zh) * 2023-02-01 2023-05-16 上海金仕达软件科技股份有限公司 基于随机数混淆的数据聚合计算方法、装置、介质及设备
CN116389164B (zh) * 2023-05-26 2023-09-12 建信金融科技有限责任公司 数据的检测方法及装置
CN118316605A (zh) * 2024-06-07 2024-07-09 浪潮软件科技有限公司 一种多方安全通信方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002039391A2 (en) * 2000-11-10 2002-05-16 Telefonaktiebolaget Lm Ericsson (Publ) Returning of change in an electronic payment system
US7716484B1 (en) * 2000-03-10 2010-05-11 Rsa Security Inc. System and method for increasing the security of encrypted secrets and authentication
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
US20170004497A1 (en) * 2013-06-06 2017-01-05 Mastercard International Incorporated Electronic Authentication Systems
US20180026784A1 (en) * 2016-07-20 2018-01-25 Mastercard International Incorporated Secure channel establishment

Family Cites Families (131)

* 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> 複数公開鍵保存方法、その装置およびそのプログラム記録媒体
WO2001069843A2 (en) 2000-03-10 2001-09-20 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
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
WO2005043808A1 (en) 2003-11-03 2005-05-12 Koninklijke Philips Electronics N.V. Method and device for efficient multiparty multiplication
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
JP4016061B2 (ja) 2006-01-25 2007-12-05 松下電器産業株式会社 端末装置、サーバ装置及びデジタルコンテンツ配信システム
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 日本電信電話株式会社 ビットコミットメント検証システム、ビットコミットメント装置、検証装置、ビットコミットメント検証方法、ビットコミットメント方法、検証方法、ビットコミットメントプログラム、検証プログラム
US20120116978A1 (en) 2008-12-23 2012-05-10 Mtn Mobile Money Sa (Pty) Ltd Method of and system for securely processing a transaction
US8762741B2 (en) 2009-01-29 2014-06-24 Microsoft Corporation Privacy-preserving communication
US8825555B2 (en) 2010-06-30 2014-09-02 International Business Machines Corporation Privacy-sensitive sample analysis
US8527777B2 (en) 2010-07-30 2013-09-03 International Business Machines Corporation Cryptographic proofs in data processing systems
US8661240B2 (en) 2011-04-29 2014-02-25 International Business Machines Corporation Joint encryption of data
US20120317034A1 (en) 2011-06-13 2012-12-13 Microsoft Corporation Transparent virtual currency using verifiable tokens
US9858401B2 (en) 2011-08-09 2018-01-02 Biogy, Inc. Securing transactions against cyberattacks
SG10201903265PA (en) 2011-09-29 2019-05-30 Amazon Tech Inc Parameter based key derivation
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
US9853819B2 (en) 2013-08-05 2017-12-26 Guardtime Ip Holdings Ltd. Blockchain-supported, node ID-augmented digital record signature method
US11055707B2 (en) 2014-06-24 2021-07-06 Visa International Service Association Cryptocurrency infrastructure system
KR20160024185A (ko) 2014-08-25 2016-03-04 아이보 (주) SE(Secure element)를 이용한 암호화폐 관리 시스템 및 그 방법
GB201419016D0 (en) 2014-10-24 2014-12-10 Visa Europe Ltd Transaction Messaging
AU2016242888A1 (en) 2015-03-31 2017-11-16 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
US11080665B1 (en) * 2015-06-08 2021-08-03 Blockstream Corporation Cryptographically concealing amounts and asset types for independently verifiable transactions
US10826712B2 (en) 2015-06-30 2020-11-03 Visa International Service Association Confidential authentication and provisioning
US20170085555A1 (en) 2015-07-14 2017-03-23 Fmr Llc Point-to-Point Transaction Guidance Apparatuses, Methods and Systems
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
US20180331832A1 (en) 2015-11-05 2018-11-15 Allen Pulsifer Cryptographic Transactions System
WO2017091530A1 (en) 2015-11-24 2017-06-01 Gartland & Mellina Group Blockchain solutions for financial services and other transaction-based industries
JP2018536957A (ja) 2015-11-30 2018-12-13 シェイプシフト・アーゲーShapeShift AG ブロックチェーン資産取引におけるセキュリティを向上させるためのシステム及び方法
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
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
KR20180115768A (ko) 2016-02-23 2018-10-23 엔체인 홀딩스 리미티드 블록체인으로부터 데이터의 안전한 추출을 위한 암호화 방법 및 시스템
GB2561729A (en) 2016-02-23 2018-10-24 Nchain Holdings Ltd Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
EP3424177B1 (en) 2016-02-29 2021-10-13 SecureKey Technologies Inc. Systems and methods for distributed identity verification
US11455630B2 (en) 2016-04-11 2022-09-27 nChain Holdings Limited 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 주식회사 코인플러그 메신저 서비스를 통하여 송수신하는 데이터에 대한 기록 서비스 및 검증 서비스를 제공하는 방법, 및 이를 이용한 서버
CN109478282A (zh) 2016-07-15 2019-03-15 维萨国际服务协会 通过交易装置进行数字资产分发
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
JP6971019B2 (ja) * 2016-09-26 2021-11-24 Gmoインターネット株式会社 データ管理システム、情報処理装置、プログラム、及び、データ管理方法
US10769600B2 (en) 2016-09-26 2020-09-08 International Business Machines Corporation Cryptocurrency transactions using debit and credit values
CN106549749B (zh) 2016-12-06 2019-12-24 杭州趣链科技有限公司 一种基于加法同态加密的区块链隐私保护方法
US20180167198A1 (en) 2016-12-09 2018-06-14 Cisco Technology, Inc. Trust enabled decentralized asset tracking for supply chain and automated inventory management
EP3934203A1 (en) 2016-12-30 2022-01-05 INTEL Corporation Decentralized data storage and processing for iot devices
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株式会社 生成装置、検証装置、及びプログラム
US11095432B2 (en) 2017-04-05 2021-08-17 Samsung Sds Co., Ltd. System for processing data based on blockchain and operating method thereof
US20180293576A1 (en) 2017-04-05 2018-10-11 Samsung Sds Co., Ltd. System for custom currency transaction based on blockchain and operating method thereof
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 北京天德科技有限公司 一种基于第三代区块链的可扩展央行数字货币交易方法
EP3639469B1 (en) 2017-06-14 2024-04-03 nChain Licensing AG Systems and methods for addressing security-related vulnerabilities arising in relation to off-blockchain channels in the event of failures in a network
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
CA3113389C (en) 2017-09-29 2023-12-19 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 深圳市轱辘车联数据技术有限公司 数据交易方法、区块链节点服务器及数据提交终端
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 南京思利华信息科技有限公司 面向区块链的动态哈希计算方法、装置、节点及存储介质
CN108320228A (zh) 2018-03-07 2018-07-24 物数(上海)信息科技有限公司 跨区块链资产交易方法、平台、设备及存储介质
CN108288159A (zh) 2018-03-07 2018-07-17 物数(上海)信息科技有限公司 基于多区块链的跨链交易方法、系统、设备及存储介质
US10708243B2 (en) 2018-04-24 2020-07-07 Capital One Services, Llc Message encryption using public keychains
US11159306B2 (en) 2018-04-24 2021-10-26 Duvon Corporation Autonomous exchange via entrusted ledger token and transaction management
CN108711105A (zh) 2018-05-16 2018-10-26 四川吉鼎科技有限公司 一种基于区块链的安全交易验证方法及系统
CN108764874B (zh) * 2018-05-17 2021-09-07 深圳前海微众银行股份有限公司 基于区块链的匿名转账方法、系统及存储介质
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
CN110326013A (zh) 2018-11-07 2019-10-11 阿里巴巴集团控股有限公司 在账户模型下支持公开交易和私有交易的区块链系统
CA3040601C (en) 2018-11-27 2021-03-30 Alibaba Group Holding Limited System and method for information protection
CA3040791C (en) 2018-11-27 2020-12-15 Alibaba Group Holding Limited System and method for information protection
MX2019004357A (es) 2018-11-27 2019-08-05 Alibaba Group Holding Ltd Sistema y método para protección de la información.

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7716484B1 (en) * 2000-03-10 2010-05-11 Rsa Security Inc. System and method for increasing the security of encrypted secrets and authentication
WO2002039391A2 (en) * 2000-11-10 2002-05-16 Telefonaktiebolaget Lm Ericsson (Publ) Returning of change in an electronic payment system
US20170004497A1 (en) * 2013-06-06 2017-01-05 Mastercard International Incorporated Electronic Authentication Systems
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
WO2016200885A1 (en) * 2015-06-08 2016-12-15 Blockstream Corporation Cryptographically concealing amounts transacted on a ledger while preserving a network's ability to verify the transaction
US20180026784A1 (en) * 2016-07-20 2018-01-25 Mastercard International Incorporated Secure channel establishment

Also Published As

Publication number Publication date
CN109937557B (zh) 2022-02-22
EP3549303B1 (en) 2021-05-26
AU2018327218B2 (en) 2020-07-16
EP3866382A1 (en) 2021-08-18
AU2018327218A1 (en) 2020-01-30
KR20200066257A (ko) 2020-06-09
WO2019072276A2 (en) 2019-04-18
CA3040601C (en) 2021-03-30
JP6724249B2 (ja) 2020-07-15
PL3549303T3 (pl) 2021-11-22
MY193900A (en) 2022-10-31
TWI706275B (zh) 2020-10-01
JP2019537744A (ja) 2019-12-26
US20200120074A1 (en) 2020-04-16
US20190268312A1 (en) 2019-08-29
PH12019500556A1 (en) 2019-12-16
US11277389B2 (en) 2022-03-15
WO2019072276A3 (en) 2019-09-19
EP3549303A4 (en) 2020-02-26
EP3866382B1 (en) 2023-06-21
SG11201902778UA (en) 2019-05-30
ES2875581T3 (es) 2021-11-10
BR112019007727A2 (pt) 2019-11-12
TW202020710A (zh) 2020-06-01
US11102184B2 (en) 2021-08-24
MX2019004202A (es) 2019-08-05
KR102170346B1 (ko) 2020-10-28
EP3549303A2 (en) 2019-10-09
CN109937557A (zh) 2019-06-25
CA3040601A1 (en) 2019-04-18
ZA201902470B (en) 2021-06-30

Similar Documents

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