BR112019008058A2 - sistema e método para proteção de informações - Google Patents

sistema e método para proteção de informações Download PDF

Info

Publication number
BR112019008058A2
BR112019008058A2 BR112019008058-9A BR112019008058A BR112019008058A2 BR 112019008058 A2 BR112019008058 A2 BR 112019008058A2 BR 112019008058 A BR112019008058 A BR 112019008058A BR 112019008058 A2 BR112019008058 A2 BR 112019008058A2
Authority
BR
Brazil
Prior art keywords
transaction
value
commitment
receiver
factor
Prior art date
Application number
BR112019008058-9A
Other languages
English (en)
Inventor
Ma Baoli
Ma Huanyu
Cui Jiahui
Zhang Wenbin
Liu Zheng
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of BR112019008058A2 publication Critical patent/BR112019008058A2/pt

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3823Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • G06Q20/40145Biometric identity checks
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • 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

Abstract

um método implementado por computador compreende: comprometer um valor de transação t de uma transação com um esquema de compromisso para obter um valor de compromisso de transação t, o esquema de compromisso compreen-dendo, pelo menos, um fator de ocultação de transação r_t; criptografar uma combi-nação do fator de ocultação de transação r_t e o valor de transação t com uma cha-ve pública pk_b de um receptor da transação; e transmitir o valor de compromisso da transação t e a combinação criptografada para um nó receptor associado ao re-ceptor do nó do receptor para verificar a transação.

Description

“SISTEMA E MÉTODO PARA PROTEÇÃO DE INFORMAÇÕES”
CAMPO TÉCNICO [001]Essa revelação geralmente se refere aos métodos e dispositivos para proteção de informações.
ANTECEDENTES [002]A privacidade é importante para comunicações e transferências de dados entre vários usuários. Sem proteção, os usuários estão expostos ao risco de roubo de identidade, transferência ilegal ou outras perdas potenciais. O risco torna-se ainda maior quando as comunicações e transferências são implementadas online, devido ao livre acesso de informações online.
SUMÁRIO [003]Várias modalidades da presente revelação incluem sistemas, métodos e meios não transitórios legíveis por computador para proteção de informações.
[004]De acordo com aspecto, um método implementado por computador para proteção de informações compreende: comprometer um valor de transação t de uma transação com um esquema de compromisso para obter um valor de compromisso de transação T, o esquema de compromisso compreendendo, pelo menos, um fator de ocultação de transação r_t; criptografar uma combinação do fator de ocultação de transação r_t e o valor de transação t com uma chave pública PK_B de um receptor da transação; e transmitir o valor de compromisso da transação Tea combinação criptografada para um nó receptor associado ao receptor do nó do receptor para verificar a transação.
[005]Em algumas modalidades, a chave pública PK_B é uma chave de criptografia assimétrica.
[006]Em algumas modalidades, o esquema de compromisso compreende um compromisso de Pedersen baseado, pelo menos, no fator de ocultação da transação r_t e com o valor de transação t sendo um valor comprometido.
Petição 870190037619, de 18/04/2019, pág. 10/72
2/47 [007]Em algumas modalidades, a combinação do fator de ocultação da transação r_t e o valor de transação t compreende uma concatenação do fator de ocultação da transação r_t e o valor da transação t.
[008]Em algumas modalidades, transmitir o valor de compromisso da transação Tea combinação criptografada para um nó receptor associado ao receptor para o nó do receptor verificar a transação compreende transmitir o valor de compromisso de transação Tea combinação encriptada para o nó receptor associado ao receptor, fazendo com que o nó receptor: descriptografe a combinação criptografada com uma chave privada SK_B do receptor para obter o fator de ocultação da transação r_t e o valor da transação t; e verifique a transação com base, pelo menos, no valor de compromisso de transação T, no fator de ocultação de transação r_t e no valor da transação t.
[009]Em algumas modalidades, fazer com que o nó receptor verifique a transação com base, pelo menos, no valor de compromisso de transação Τ, o fator de ocultação de transação r_t, e o valor de transação t compreende fazer com que o nó receptor: em resposta à determinação de que o valor de compromisso de transação T não corresponde ao esquema de compromisso de valor de transação t com base no fator de ocultação de transação r_t, rejeite a transação; e em resposta à determinação de que o valor de compromisso de transação T corresponde ao esquema de compromisso de valor de transação t baseado no fator de ocultação de transação r_t, aprove a transação assinando a transação com a chave privada SKJB do receptor para gerar um SIGB de assinatura de receptor.
[010]Em algumas modalidades, antes de transmitir a combinação encriptada ao nó receptor associado ao receptor, o método compreende, além disso: comprometer uma alteração y da transação com o esquema de compromisso para obter um valor de compromisso de alteração Y, o esquema de comprometimento compreendendo pelo menos um fator de alteração de ocultação r_y, em que a alteração y é um ou
Petição 870190037619, de 18/04/2019, pág. 11/72
3/47 mais ativos de um emissor da transação que são utilizados para a transação menos o valor da transação t; e criptografar outra combinação do fator de ocultação de alteração r_y e a alteração y com uma chave pública PK_A do emissor.
[011]Em algumas modalidades, o método compreende adicionalmente: em resposta ao recebimento da assinatura do receptor SIGB, aprovando a transação assinando a transação com uma chave privada SK_A do emissor gerar uma assinatura do emissor SIGA; e enviar a transação compreendendo a combinação criptografada, a outra combinação criptografada, o valor de compromisso de transação T, o valor de compromisso de alteração Y, a assinatura do emissor SIGA e o SIGB de assinatura do receptor para um ou mais nós em uma rede de cadeia de blocos para um ou mais nós para verificar a transação.
[012]Em algumas modalidades, enviar a transação compreendendo a combinação criptografada, a outra combinação criptografada, o valor de compromisso de transação T, o valor de compromisso de alteração Y, a assinatura do emissor SIGA e o SIGB de assinatura do receptor para os um ou mais nós na rede de cadeia de blocos para um ou mais nós para verificar a transação compreende: enviar a transação compreendendo a combinação criptografada, a outra combinação criptografada, o valor de compromisso de transação T, o valor de compromisso de alteração Y, o SIGA da assinatura do emissor e o SIGB de assinatura do receptor para um ou mais nós na rede de cadeia de blocos, fazendo com que os um ou mais nós, em resposta a uma verificação bem-sucedida da transação, emitam o valor da transação t para o receptor, eliminem um ou mais ativos aproveitados para a transação e emitam a alteração y para o emissor.
[013]De acordo com outro aspecto, um meio legível por computador não transitório armazena instruções a serem executadas por um processador para fazer cm que o processador realize as operações compreendendo: comprometer um valor de transação t de uma transação com um esquema de compromisso para obter um valor
Petição 870190037619, de 18/04/2019, pág. 12/72
4/47 de compromisso de transação T, ο esquema de compromisso compreendendo, pelo menos, um fator de ocultação de transação r_t; criptografar uma combinação do fator de ocultação de transação r_t e o valor de transação t com uma chave pública PK_B de um receptor da transação; e transmitir o valor de compromisso da transação Tea combinação criptografada para um nó receptor associado ao receptor do nó do receptor para verificar a transação.
[014]De acordo com outro aspecto, um sistema para proteção de informação compreende um processador e um meio d armazenamento legível por computador não transitório acoplado ao processador, o meio de armazenamento armazenando instruções a serem executadas pelo processador para fazer com que o sistema realize as operações compreendendo: comprometer um valor de transação t de uma transação com um esquema de compromisso para obter um valor de compromisso de transação T, o esquema de compromisso compreendendo, pelo menos, um fator de ocultação de transação r_t; criptografar uma combinação do fator de ocultação de transação r_t e o valor de transação t com uma chave pública PK_B de um receptor da transação; e transmitir o valor de compromisso da transação Tea combinação criptografada para um nó receptor associado ao receptor do nó do receptor para verificar a transação.
[015]De acordo com outro aspecto, um método implementado por computador para proteção de informações compreende: obter uma combinação de um fator de ocultação de transação r_t e um valor de transação t criptografada com uma chave pública PK_B de um receptor de uma transação, e obter um valor de compromisso de transação T, em que: o valor de transação t é comprometido com um esquema de compromisso por um nó emissor associado a um emissor da transação para obter o valor de compromisso de transação T, o esquema de compromisso compreendendo pelo menos o fator de ocultação de transação r_t; descriptografar a combinação obtida com uma chave privada SK_B de um receptor para obter o fator de ocultação da
Petição 870190037619, de 18/04/2019, pág. 13/72
5/47 transação r_t e o valor de transação t; e verificar a transação com base, pelo menos, no valor de compromisso de transação T, no fator de ocultação de transação r_t e no valor da transação t.
[016]Em algumas modalidades, a chave pública PK_B do receptor e a chave privada SK_B do receptor são chaves de criptografia assimétrica.
[017]De acordo com outro aspecto, um meio legível por computador não transitório armazena instruções a serem executadas por um processador para fazer com que o processador realize as operações compreendendo: obter uma combinação de um fator de ocultação de transação r_t e um valor de transação t criptografada com uma chave pública PK_B de um receptor de uma transação, e obter um valor de compromisso de transação T, em que: o valor de transação t é comprometido com um esquema de compromisso por um nó emissor associado a um emissor da transação para obter o valor de compromisso de transação T, o esquema de compromisso compreendendo pelo menos o fator de ocultação de transação r_t; descriptografar a combinação obtida com uma chave privada SK_B de um receptor para obter o fator de ocultação da transação r_t e o valor de transação t; e verificar a transação com base, pelo menos, no valor de compromisso de transação T, no fator de ocultação de transação r_t e no valor da transação t.
[018]De acordo com outro aspecto, um sistema para proteção de informações compreende um processador e um meio de armazenamento legível por computador não transitório acoplado ao processador, o meio de armazenamento armazenando instruções a serem executadas pelo processador para fazer com que o sistema realize as operações compreendendo: obter uma combinação de um fator de ocultação de transação r_t e um valor de transação t criptografada com uma chave pública PK_B de um receptor de uma transação, e obter um valor de compromisso de transação T, em que: o valor de transação t é comprometido com um esquema de compromisso por um nó emissor associado a um emissor da transação para obter o valor de
Petição 870190037619, de 18/04/2019, pág. 14/72
6/47 compromisso de transação T, o esquema de compromisso compreendendo pelo menos o fator de ocultação de transação r_t; descriptografar a combinação obtida com uma chave privada SK_B de um receptor para obter o fator de ocultação da transação r_t e o valor de transação t; e verificar a transação com base, pelo menos, no valor de compromisso de transação T, no fator de ocultação de transação r_t e no valor da transação t.
[019]De acordo com outro aspecto, um método implementado por computador para proteção de informações compreende: comprometer um valor de transação t de uma transação com um esquema de compromisso para obter um valor de compromisso de transação T, o esquema de compromisso compreendendo, pelo menos, um fator de ocultação de transação r_t; enviar o valor da transação t, o fator de ocultação da transação r_t e o valor do compromisso de transação T para um nó receptor associado a um receptor da transação para o nó do receptor verificar a transação e criptografar o fator de ocultação da transação r_t e o valor da transação t com uma chave pública PK_B do receptor; obter uma combinação criptografada do fator de ocultação da transação r_t e o valor da transação t do nó do receptor; e transmitir a combinação criptografada e o valor de compromisso de transação T para uma pluralidade de nós em uma cadeia de blocos para a pluralidade de nós para verificar a transação.
[020]De acordo com outro aspecto, um meio legível por computador não transitório armazena instruções a serem executadas por um processador para fazer com que o processador realize as operações compreendendo: comprometer um valor de transação t de uma transação com um esquema de compromisso para obter um valor de compromisso de transação T, o esquema de compromisso compreendendo, pelo menos, um fator de ocultação de transação r_t; enviar o valor da transação t, o fator de ocultação da transação r_t e o valor do compromisso de transação T para um nó receptor associado a um receptor da transação para o nó do receptor verificar a transação e criptografar o fator de ocultação da transação r_t e o valor da transação t com
Petição 870190037619, de 18/04/2019, pág. 15/72
7/47 uma chave pública PK_B do receptor; obter uma combinação criptografada do fator de ocultação da transação r_t e o valor da transação t do nó do receptor; e transmitir a combinação criptografada e o valor de compromisso de transação T para uma pluralidade de nós em uma cadeia de blocos para a pluralidade de nós para verificar a transação.
[021 ]De acordo com outro aspecto, um sistema para proteção de informações compreende um processador e um meio de armazenamento legível por computador não transitório acoplado ao processador, o meio de armazenamento armazenando as instruções a serem executadas pelo processador para fazer com que o sistema realize as operações compreendendo: comprometer um valor de transação t de uma transação com um esquema de compromisso para obter um valor de compromisso de transação T, o esquema de compromisso compreendendo, pelo menos, um fator de ocultação de transação r_t; enviar o valor da transação t, o fator de ocultação da transação r_t e o valor do compromisso de transação T para um nó receptor associado a um receptor da transação para o nó do receptor verificar a transação e criptografar o fator de ocultação da transação r_t e o valor da transação t com uma chave pública PK_B do receptor; obter uma combinação criptografada do fator de ocultação da transação r_t e o valor da transação t do nó do receptor; e transmitir a combinação criptografada e o valor de compromisso de transação T para uma pluralidade de nós em uma cadeia de blocos para a pluralidade de nós para verificar a transação.
[022]De acordo com outro aspecto, um método implementado por computador para proteção de informações compreende: obter um valor de transação t de uma transação, um fator de ocultação de transação r_t e um valor de compromisso de transação T; verificar a transação com base no valor da transação obtida t, o fator de ocultação da transação obtido r_t e o valor do compromisso de transação obtido T; em resposta a verificação bem sucedida da transação, criptografar o fator de ocultação da transação r_t e o valor de transação t com uma chave pública PK_B de um
Petição 870190037619, de 18/04/2019, pág. 16/72
8/47 receptor da transação para obter uma combinação criptografada; e transmitir a combinação criptografada para um nó emissor associado a um emissor da transação.
[023]De acordo com outro aspecto, um meio legível por computador não transitório armazena instruções a serem executadas por um processador para fazer com que o processador realize as operações compreendendo: obter um valor de transação t de uma transação, um fator de ocultação de transação r_t e um valor de compromisso de transação T; verificar a transação com base no valor da transação obtida t, o fator de ocultação da transação obtido r_t e o valor do compromisso de transação obtido T; em resposta a verificação bem sucedida da transação, criptografar o fator de ocultação da transação r_t e o valor de transação t com uma chave pública PK_B de um receptor da transação para obter uma combinação criptografada; e transmitir a combinação criptografada para um nó emissor associado a um emissor da transação.
[024]De acordo com outro aspecto, um sistema para proteção de informações compreende um processador e um meio de armazenamento legível por computador não transitório acoplado ao processador, o meio de armazenamento armazenando instruções a serem executadas pelo sistema para fazer com que o processador realize as operações compreendendo: obter um valor de transação t de uma transação, um fator de ocultação de transação r_t e um valor de compromisso de transação T; verificar a transação com base no valor da transação obtida t, o fator de ocultação da transação obtido r_t e o valor do compromisso de transação obtido T; em resposta a verificação bem sucedida da transação, criptografar o fator de ocultação da transação r_t e o valor de transação t com uma chave pública PK_B de um receptor da transação para obter uma combinação criptografada; e transmitir a combinação criptografada para um nó emissor associado a um emissor da transação.
[025]Estes e outros recursos dos sistemas, métodos e meios não transitórios legíveis por computador aqui revelados, bem como os métodos de operação e funções dos elementos relacionados da estrutura e a combinação de partes e economias de
Petição 870190037619, de 18/04/2019, pág. 17/72
9/47 fabricação, se tornarão mais aparentes mediante a consideração da seguinte descrição e das reivindicações anexas com referência aos desenhos em anexo, os quais fazem parte desta especificação, em que números de referência semelhantes designam partes correspondentes nas várias figuras. Deve ser expressamente compreendido, no entanto, que os desenhos são para o propósito de ilustração e descrição somente, e não pretendem ser uma definição dos limites da invenção.
BREVE DESCRIÇÃO DOS DESENHOS [026]Determinados recursos de várias modalidades da presente tecnologia são apresentados com particularidade nas reivindicações anexas. Uma melhor compreensão das características e vantagens da tecnologia será obtida por referência à descrição detalhada a seguir que apresenta modalidades ilustrativas, nas quais são utilizados os princípios da invenção e os desenhos anexos dos quais:
[027]A Figura 1 ilustra um sistema exemplificador para proteção de informações, de acordo com várias modalidades.
[028]A Figura 2 ilustra etapas exemplificadoras para iniciação da transação e verificação, de acordo com várias modalidades.
[029]A Figura 3A ilustra um fluxograma de um método exemplificador para proteção de informações, de acordo com várias modalidades.
[030]A Figura 3B ilustra um fluxograma de um método exemplificador para proteção de informações, de acordo com várias modalidades.
[031 ]A Figura 4A ilustra um fluxograma de um método exemplificador para proteção de informações, de acordo com várias modalidades.
[032]A Figura 4B ilustra um fluxograma de um método exemplificador para proteção de informações, de acordo com várias modalidades.
[033]A Figura 5 ilustra um diagrama de blocos de um sistema de computador exemplar no qual qualquer das modalidades aqui descritas podem ser implementadas.
DESCRIÇÃO DETALHADA
Petição 870190037619, de 18/04/2019, pág. 18/72
10/47 [034]Cadeia de blocos pode ser considerado como um banco de dados descentralizado, comumente referido como um livro-razão distribuído porque a operação é realizada por vários nós (por exemplo, dispositivos de computação) em uma rede. Qualquer informação pode ser escrita na cadeia de blocos e salva ou lida a partir dele. Qualquer um pode configurar um servidor e ingressar na rede cadeia de blocos para se tornar um nó. Qualquer nó pode contribuir com potência de computação para manter a cadeia de blocos executando cálculos complexos, como o cálculo de hash para adicionar um bloco a uma cadeia de blocos atual, e o bloco adicionado pode conter vários tipos de dados ou informações. O nó que contribuiu com a potência de computação para o bloco adicionado pode ser recompensado com um token (por exemplo, unidade monetária digital). Como a cadeia de blocos não possui um nó central, cada nó é igual e contém todo o banco de dados cadeia de blocos.
[035]Qs nós são, por exemplo, dispositivos de computação ou grandes sistemas de computador que suportam a rede cadeia de blocos e a mantém funcionando sem problemas. Existem dois tipos de nós, nós completos e nós leves. Nós completos mantêm uma cópia completa da cadeia de blocos. Os nós completos na rede cadeia de blocos validam transações e bloqueios que recebem e os retransmitem a pares conectados para fornecer verificação consensual das transações. Os nós leves, por outro lado, fazem o download apenas de uma fração da cadeia de blocos. Por exemplo, nós leves são usados para transações em moeda digital. Um nó leve se comunicará com um nó completo quando quiser realizar transações.
[036]Essa propriedade de descentralização pode ajudar a evitar o surgimento de um centro de gerenciamento em uma posição controlada. Por exemplo, a manutenção da cadeia de blocos de bitcoins é realizada pela rede de nós de comunicação do software de bitcoin na área de execução. Esta revelação utiliza um ou mais cadeia de blocos ou moedas digitais, como bitcoin e Ethereum, como exemplos. Uma pessoa versada na técnica deve apreciar que as soluções técnicas reveladas nesta revelação
Petição 870190037619, de 18/04/2019, pág. 19/72
11/47 podem usar ou aplicar a outro tipo de cadeia de blocos e moedas digitais. Ou seja, em vez de bancos, instituições ou administradores no sentido tradicional, existem vários intermediários em uma forma de servidores que executam o software de bitcoin. Esses servidores de computador formam uma rede conectada via Internet, na qual qualquer pessoa pode se conectar à rede. As transações acomodadas pela rede podem ser de uma forma: “o usuário A quer enviar Z bitcoins para o usuário B”, em que as transações são transmitidas para a rede usando aplicativos de software prontamente disponíveis. Os servidores do computador funcionam como servidores de bitcoin que operam para validar essas transações financeiras, adicionam um registro deles à sua cópia do livro-razão e, em seguida, transmitem esses acréscimos do livro-razão para outros servidores da rede.
[037]Manter a cadeia de blocos é chamado de “mineração”, e aqueles que fazem essa manutenção são recompensados com bitcoins recém-criados e taxas de transação conforme mencionado anteriormente. Por exemplo, os nós podem determinar se as transações são válidas com base em um conjunto de regras com as quais a rede cadeia de blocos concordou. Os mineradores podem estar localizados em qualquer continente e processar pagamentos verificando cada transação como válida e adicionando-a à cadeia de blocos. Essa verificação é alcançada através de consenso fornecido por uma pluralidade de mineradores e assume que não há conluio sistemático. No final, todos os dados serão consistentes, porque o cálculo deve atender a certos requisitos para ser válido e todos os nós serão sincronizados para garantir que a cadeia de blocos seja consistente. Assim, os dados podem ser consistentemente armazenados em um sistema distribuído de nós de cadeia de blocos.
[038]Através do processo de mineração, transações como transferências de ativos são verificadas e adicionadas a uma cadeia crescente de blocos de uma cadeia de blocos por nós de rede. Atravessando todo a cadeia de blocos, a verificação pode incluir, por exemplo, se a parte pagadora tem acesso ao ativo transferido, se o ativo
Petição 870190037619, de 18/04/2019, pág. 20/72
12/47 foi gasto antes, se o valor da transferência está correto etc. Por exemplo, em uma transação hipotética (por exemplo, uma transação de bitcoins sob um modelo UTXO (saída da transação não gasta), uma transação de moedas Ethereum sob um modelo Conta/Saldo assinada por um emissor, a transação proposta pode ser transmitida para a rede cadeia de blocos para mineração. Um minerador precisa verificar se a transação está qualificada para ser executada de acordo com o histórico da cadeia de blocos. Se o saldo da carteira do emissor tiver fundos suficientes de acordo com o histórico de cadeia de blocos existente, a transação é considerada válida e pode ser adicionada ao bloco. Uma vez verificada, as transferências de ativos podem ser incluídas no próximo bloco a ser adicionado à cadeia de blocos.
[039]Um bloco é muito parecido com um registro de banco de dados. Cada vez que grava dados cria um bloco. Esses blocos são vinculados e protegidos usando criptografia para se tornarem redes interconectadas. Cada bloco é conectado ao bloco anterior, que também é a origem do nome “cadeia de blocos”. Cada bloco geralmente contém o hash criptográfico do bloco anterior, o tempo de geração e os dados reais. Por exemplo, cada bloco contém duas partes: um cabeçalho de bloco para registrar o valor do recurso do bloco atual e um corpo para registrar dados reais (por exemplo, dados de transação). A cadeia de blocos está vinculada por meio dos cabeçalhos de bloco. Cada cabeçalho de bloco pode conter vários valores de recursos, como versão, hash de bloco anterior, raiz de Merkle, registro de data e hora, alvo de dificuldade e nonce. O hash de bloco anterior contém não apenas o endereço do bloco anterior, mas também o hash dos dados dentro do bloco anterior, tornando assim os cadeia de blocos imutáveis. O nonce é um número que, quando incluído, produz um hash com um número especificado de zero bits iniciais.
[040]Para mineração, o hash do conteúdo do novo bloco é obtido por um nó. O nonce (por exemplo, cadeia aleatória) é anexado ao hash para obter uma nova cadeia. A nova cadeia é novamente totalizada. O hash final é então comparado com
Petição 870190037619, de 18/04/2019, pág. 21/72
13/47 o alvo de dificuldade (por exemplo, um nível) e determinado se o hash final é realmente menor que o alvo de dificuldade ou não. Caso contrário, o nonce é alterado e o processo é repetido novamente. Se sim, o bloco é adicionado à cadeia e o livrorazão pública é atualizada e alertada sobre a adição O nó responsável pela adição bem-sucedida é recompensado com bitcoins, por exemplo, adicionando uma transação de recompensa a si mesmo no novo bloco (conhecido como geração de coinbase).
[041 ]Ou seja, para cada saída Ύ”, se k é escolhido de uma distribuição com alta min-entropia, é inviável encontrar uma entrada x de modo que H (k|x) = Y, onde K é o nonce, x é o hash do bloco, Y é o alvo de dificuldade e “|” indica concatenação. Por causa de hashes criptográficos serem essencialmente aleatórios, no sentido de que sua saída não pode ser prevista a partir de suas entradas, existe apenas uma maneira conhecida de encontrar o nonce: tentar inteiros um após o outro, por exemplo 1, depois 2, então 3 e assim por diante, o que pode ser conhecido como força bruta. Quanto maior o número de zeros à esquerda, mais tempo demorará para encontrar um requisito nonce Y. Em um exemplo, o sistema bitcoin ajusta constantemente o número de zeros à esquerda, de modo que o tempo médio para encontrar um nonce é de cerca de dez minutos. Dessa forma, à medida que as capacidades de processamento do hardware de computação aumentam com o tempo, com o passar dos anos, o protocolo de bitcoin exigirá mais bits zeros iniciais para que a mineração leve uma duração de aproximadamente dez minutos para ser implementada.
[042]Como descrito, o hashing é um fundamento base importante para cadeia de blocos. O algoritmo de hash pode ser entendido como uma função que comprime mensagens de qualquer tamanho em um resumo de mensagem de tamanho fixo. Mais comumente usados são MD5 e SHA. Em algumas modalidades, o comprimento de hash da cadeia de blocos é de 256 bits, o que significa que, independentemente do conteúdo original, um número binário de 256 bits é finalmente calculado. E pode ser
Petição 870190037619, de 18/04/2019, pág. 22/72
14/47 garantido que o hash correspondente é único, desde que o conteúdo original seja diferente. Por exemplo, o hash da cadeia “123” é a8fdc205a9f19cdc7507a60c4f01b13d11d7fd0 (hexadecimal), que tem 256 bits quando convertido em binário, e apenas “123” tem esse hash. O algoritmo de hash na cadeia de blocos é irreversível, isto é, o cálculo direto é fácil (de “123” para a8fdc205a9f19cc1 c7507a60c4f01 b1 c7507a60c4f01 b13d11 d7fd0), e o cálculo inverso não pode ser feito mesmo se todos os recursos de computação estiverem esgotados. Assim, o hash de cada bloco da cadeia de blocos é único.
[043]Além disso, se o conteúdo do bloco for alterado, seu hash será alterado. O bloco e o hash estão na correspondência um-para-um, e o hash de cada bloco é calculado especificamente para o cabeçalho do bloco. Ou seja, os valores de recurso dos cabeçalhos de bloco são conectados para formar uma cadeia longa e, em seguida, o hash é calculado para a cadeia. Por exemplo, “Hash = SHA256 (cabeçalho de bloco)” é uma fórmula de cálculo de hash de bloco, SHA256 é um algoritmo de hash de cadeia de blocos aplicado ao cabeçalho de bloco. O hash é determinado exclusivamente pelo cabeçalho do bloco e não pelo corpo do bloco. Como mencionado acima, o cabeçalho do bloco contém muito conteúdo, incluindo o hash do bloco atual e o hash do bloco anterior. Isso significa que, se o conteúdo do bloco atual for alterado, ou se o hash do bloco anterior for alterado, ele causará uma alteração de hash no bloco atual. Se o hacker modificar um bloco, o hash desse bloco muda. Para que um bloco posterior se conecte ao bloco modificado, o hacker deve modificar todos os blocos subsequentes, pois o próximo bloco deve conter o hash do bloco anterior. Caso contrário, o bloco modificado será desconectado da cadeia de blocos. Devido a razões de design, os cálculos de hash são demorados, e é quase impossível modificar vários blocos em um curto período de tempo, a menos que o hacker domine mais de 51% da potência de computação de toda a rede. Assim, a cadeia de blocos garante sua própria confiabilidade e, uma vez que os dados são gravados, eles não podem
Petição 870190037619, de 18/04/2019, pág. 23/72
15/47 ser adulterados.
[044]Uma vez que o minerador encontra o hash (ou seja, uma assinatura ou solução elegível) para o novo bloco, o minerador transmite essa assinatura para todos os outros mineiros (nós da cadeia de blocos). Outros mineiros agora verificam, por sua vez, se essa solução corresponde ao problema do bloco do emissor (isto é, determinar se a entrada de hash realmente resulta nessa assinatura). Se a solução for válida, os outros mineiros confirmarão a solução e concordarão que o novo bloco pode ser adicionado à cadeia de blocos. Assim, o consenso do novo bloco é alcançado. Isso também é conhecido como “prova de trabalho”. O bloco para o qual o consenso foi alcançado agora pode ser adicionado à cadeia de blocos e é transmitido para todos os nós na rede junto com sua assinatura. Os nós aceitarão o bloco e o salvará em seus dados de transação, desde que as transações dentro do bloco correspondam corretamente aos saldos atuais da carteira (histórico de transações) naquele momento. Toda vez que um novo bloco é adicionado no topo deste bloco, a adição também conta como outra “confirmação” para os blocos anteriores. Por exemplo, se uma transação é incluída no bloco 502 e a cadeia de blocos tem 507 blocos, significa que a transação tem cinco confirmações (correspondentes aos blocos 507 a 502). Quanto mais confirmações a transação tiver, mais difícil será para os invasores alterarem.
[045]Em algumas modalidades, um sistema de ativos de cadeia de blocos exemplar utiliza criptografia de chave pública, na qual são geradas duas chaves criptográficas, uma chave pública e uma chave privada. A chave pública pode ser considerada como um número de conta e a chave privada pode ser considerada como credenciais de propriedade. Por exemplo, uma carteira bitcoin é uma coleção de chaves públicas e privadas. A propriedade de um ativo (por exemplo, moeda digital, ativo em dinheiro, ações, capital, obrigação) associada a um determinado endereço de ativo pode ser demonstrada com o conhecimento da chave privada pertencente ao endereço. Por exemplo, o software de carteira de bitcoin, às vezes chamado de “software
Petição 870190037619, de 18/04/2019, pág. 24/72
16/47 cliente de bitcoin”, permite que um determinado usuário transacione bitcoins. Um programa de carteira gera e armazena chaves privadas e se comunica com os pares na rede bitcoin. As chaves pública e privada podem ser chamadas de chaves de criptografia assimétricas (ou chaves de criptografia assimétricas).
[046]Nas transações de cadeia de blocos, os pagadores e beneficiários são identificados na cadeia de blocos por suas chaves criptográficas públicas. Por exemplo, a maioria das transferências de bitcoin contemporâneas são de uma chave pública para uma chave pública diferente. Na prática, os hashes dessas chaves são usados na cadeia de blocos e são chamados de “endereços de bitcoin”. Em princípio, se um invasor hipotético S podería roubar dinheiro da pessoa A simplesmente adicionando transações ao livro-razão da cadeia de blocos como “a pessoa A paga a pessoa S 100 bitcoins”, usando os endereços de bitcoin dos usuários em vez de seus nomes. O protocolo bitcoin evita esse tipo de roubo exigindo que todas as transferências sejam assinadas digitalmente com a chave privada do pagador, e somente as transferências assinadas podem ser adicionadas ao livro-razão da cadeia de blocos. Como a pessoa S não pode falsificar a assinatura da pessoa A, a pessoa S não pode defraudar a pessoa A adicionando uma entrada no equivalente da cadeia de blocos a “pessoa A paga à pessoa S 200 bitcoins”. Ao mesmo tempo, qualquer um pode verificar a assinatura da pessoa A usando sua chave pública e, portanto, autorizou qualquer transação na cadeia de blocos onde ele é o pagador.
[047]No contexto da transação de bitcoin, para transferir alguns bitcoins para o usuário B, o usuário A pode construir um registro contendo informações sobre a transação através de um nó. O registro pode ser assinado com a chave de assinatura do usuário A (chave privada) e contém a chave de verificação pública do usuário A e a chave de verificação pública do usuário B. A assinatura é usada para confirmar que a transação veio do usuário e também impede que a transação seja alterada por qualquer pessoa, uma vez que tenha sido emitida. O registro junto com outro registro que
Petição 870190037619, de 18/04/2019, pág. 25/72
17/47 ocorreu na mesma janela de tempo em um novo bloco pode ser transmitido para os nós completos. Ao receber os registros, os nós completos podem trabalhar na incorporação dos registros no livro-razão de todas as transações que já ocorreram no sistema cadeia de blocos, adicionando o novo bloco a uma cadeia de blocos previamente aceito através do processo de mineração descrito acima, e validar o bloco adicionado contra as regras de consenso da rede.
[048]O modelo UTXO (saída da transação não gasta) e o modelo Conta/Saldo são dois modelos exemplares para implementar transações de cadeia de blocos. UTXO é um modelo de objeto de cadeia de blocos. Sob o UTXO, os ativos são representados por saídas de transações de cadeia de blocos que não foram gastas, que podem ser usadas como entradas em novas transações. Por exemplo, o ativo do usuário A a ser transferido pode estar em uma forma de UTXO. Para gastar (transacionar) o ativo, o usuário A precisa assinar com a chave privada. Bitcoin é um exemplo de uma moeda digital que usa o modelo UTXO. No caso de uma transação de cadeia de blocos válida, as saídas não gastas podem ser usadas para efetuar outras transações. Em algumas modalidades, apenas as saídas não gastas podem ser utilizadas em transações adicionais para evitar gastos duplos e fraude. Por esse motivo, as entradas em uma cadeia de blocos são excluídas quando ocorre uma transação e, ao mesmo tempo, as saídas são criadas na forma de UTXOs. Essas saídas de transação não gastas podem ser usadas (pelos detentores de chaves privadas, por exemplo, pessoas com carteiras de moeda digital) para fins de transações futuras.
[049]Por outro lado, o Modelo de Conta/Saldo (ou referido como Modelo de Transação baseado em Conta) mantém o controle do saldo de cada conta como um estado global. O saldo de uma conta é verificado para garantir que seja maior ou igual ao valor da transação gasto. Um exemplo de como o Modelo de Conta/Saldo funciona no Ethereum é fornecido:
[050]1. Alice ganha 5 éteres através da mineração. É registrado no sistema
Petição 870190037619, de 18/04/2019, pág. 26/72
18/47 que Alice tem 5 éteres.
[051 ]2. Alice quer dar para Bob 1 éter, então o sistema primeiro deduzirá 1 éter da conta de Alice, então Alice agora tem 4 éteres.
[052]3. O sistema então aumenta a conta de Bob em 1 éter. O sistema sabe que Bob tem 2 éteres para começar, portanto o saldo de Bob é aumentado para 3 éteres.
[053]A manutenção de registros da Ethereum pode ser assim em um banco. Uma analogia é usar um cartão ATM/débito. O banco controla quanto dinheiro cada cartão de débito tem e, quando Bob precisa gastar dinheiro, o banco verifica seu registro para garantir que Bob tenha saldo suficiente antes de aprovar a transação.
[054]Como a cadeia de blocos e outros livros-razão similares são completamente públicos, a cadeia de blocos em si não tem proteção de privacidade. A natureza pública da rede P2P significa que, enquanto aqueles que a usam não são identificados pelo nome, a vinculação de transações a indivíduos e empresas é viável. Por exemplo, nas remessas internacionais ou na cadeia de fornecimento, o valor da transação tem um nível extremamente alto de valor de proteção de privacidade, porque com as informações de quantidade de transação, é possível deduzir a localização e identidades específicas das partes da transação. O assunto da transação pode compreender, por exemplo, dinheiro, moeda digital, contrato, escritura, registo médico, detalhe do cliente, ações, obrigações, capital próprio ou qualquer outro ativo que possa ser descrito em forma digital. Embora o modelo UTXO possa fornecer anonimato aos valores da transação, por exemplo, através da assinatura de anel em Monero e na criptografia de conhecimento zero Zcash, os valores de transação permanecem desprotegidos no Modelo de Conta/Equilíbrio. Assim, uma abordagem de problema técnico da presente divulgação é como proteger a informação online, como a privacidade dos valores de transação. Tais transações podem estar no modelo de conta/saldo.
[055]Algumas tecnologias existentes propõem o uso do esquema de
Petição 870190037619, de 18/04/2019, pág. 27/72
19/47 compromisso de Pedersen para criptografar o valor da transação e substituir o Modelo de Conta/Saldo. Sob o esquema, o emissor envia o valor da transação e um número aleatório correspondente ao comprometimento do valor da transação para o beneficiário por meio de um canal seguro fora da cadeia de blocos. O beneficiário verifica se o número aleatório corresponde ao compromisso da transação e executa o armazenamento local. Por exemplo, no Modelo de conta/saldo, uma conta pode ser tratada como uma carteira (conta) para manter ativos agregados, mas não mesclados. Cada ativo pode corresponder a um tipo de ativo (por exemplo, criptomoeda) e o saldo da conta é a soma dos valores do ativo. Mesmo ativos do mesmo tipo não são mesclados. Durante a transação, um receptor de um ativo transferido pode ser especificado e o ativo correspondente pode ser removido da carteira para financiar a transação. Os nós cadeia de blocos verificam se a carteira de pagamento possui ativo (s) suficiente (s) para cobrir a transação e em seguida, os nós excluem o ativo transferido da carteira de pagamento e adicionam um ativo correspondente a uma carteira de receptor.
[056]No entanto, ainda existem limitações para esse esquema. Primeiro, o esquema exige que o usuário mantenha um armazenamento persistente localmente para gerenciar os números aleatórios e os saldos de texto simples correspondentes ao saldo da conta criptografada e a implementação do gerenciamento é complicada; segundo, o armazenamento de fatores de ocultação (por exemplo, os números aleatórios) e os saldos de texto simples correspondentes ao “ativo Pedersen” em um único nó local são propensos à perda ou corrupção, enquanto o armazenamento de backup de vários nós é difícil de realizar, devido à alteração frequente do saldo da conta.
[057]Os sistemas e métodos apresentados nesta divulgação podem superar as limitações acima e obter proteção de privacidade robusta para valores de transação, valores de ativos e fatores de ocultação em esquemas de comprometimento. Para esse fim, as chaves público-privadas podem ser usadas para criptografar /descriptografar os números aleatórios e os saldos de texto simples, proporcionando assim
Petição 870190037619, de 18/04/2019, pág. 28/72
20/47 um gerenciamento conveniente. Além disso, armazenar as informações criptografadas na cadeia de blocos garante que os valores de transação, os valores dos ativos e os fatores de ocultação nos esquemas de confirmação não sejam facilmente perdidos ou adulterados.
[058]Em algumas modalidades, um esquema de compromisso (por exemplo, compromisso de Pedersen) pode criptografar determinado valor a (por exemplo, valor da transação, valor do ativo, parâmetro chave) da seguinte maneira:
PC(a) = rxG + axH [059]onde r é um fator de ocultação aleatório (alternativamente referido como fator de ligação) que fornece ocultação, G e H são os geradores/pontos de base da curva elíptica publicamente acordados e podem ser escolhidos aleatoriamente, sn é o valor do compromisso, C(sn ) é o ponto de curva usado como compromisso e dado à contraparte e H é outro ponto de curva. Ou seja, G e H podem ser parâmetros conhecidos para os nós. Uma geração “nada acima da manga” de H pode ser gerada pelo hash do ponto de base G com um mapeamento de função hash de um ponto para outro com H = Hash (G). H e G são os parâmetros públicos do sistema dado (por exemplo, pontos gerados aleatoriamente em uma curva elíptica). Embora o acima forneça um exemplo de comprometimento de Pedersen na forma de curva elíptica, várias outras formas de comprometimento de Pedersen ou outros esquemas de comprometimento podem ser alternativamente usados.
[060]Um esquema de comprometimento mantém o sigilo de dados, mas se compromete com os dados para que não possam ser alterados posteriormente pelo emissor dos dados. Se uma parte só conhece o valor de compromisso (por exemplo, PC (a)), eles não podem determinar com que valores de dados subjacentes (por exemplo, a) se comprometeram. Tanto os dados (por exemplo, a) quanto o fator de ocultação (por exemplo, r) podem ser revelados posteriormente (por exemplo, pelo nó iniciador), e um receptor (por exemplo, nó de consenso) do compromisso pode executar
Petição 870190037619, de 18/04/2019, pág. 29/72
21/47 o compromisso e verificar se os dados confirmados correspondem aos dados revelados. O fator de ocultação está presente porque, sem um, alguém podería tentar adivinhar os dados.
[061]Esquemas de comprometimento são uma forma de o emissor (parte comprometido) se comprometer com um valor (por exemplo, a) tal que o valor comprometido permaneça privado, mas possa ser revelado em um momento posterior quando a parte comprometido divulgar um parâmetro necessário do processo de comprometimento. Esquemas de comprometimento fortes podem ser tanto a ocultação de informações quanto a vinculação computacional. Ocultar refere-se à noção de que um determinado valor a e um compromisso desse valor PC (a) devem ser não-relacionados. Ou seja, PC (a) não deve revelar nenhuma informação sobre a. Com PC (a), G e H conhecidos, é quase impossível conhecer um por causa do número aleatório r. Um esquema de comprometimento é vinculativo se não houver uma maneira plausível de que dois valores diferentes possam resultar no mesmo comprometimento. Um compromisso de Pedersen é perfeitamente escondido e computacionalmente vinculado sob a suposição de logaritmo discreto. Além disso, com r, G, H e PC (a) conhecidos, é possível verificar PC (a) determinando se PC (a) = rxG + axH.
[062]Um compromisso de Pedersen tem uma propriedade adicional: compromissos podem ser adicionados e a soma de um conjunto de compromissos é o mesmo que um compromisso com a soma dos dados (com um fator de ocultação definido como a soma dos fatores de ocultação): PC (r1, dadosl) + PC (r2, dados2) == PC (r1 + r2, dadosl + dados2); PC (r1, dadosl) - PC (r1, dadosl) == 0. Em outras palavras, o compromisso preserva a adição e aplica-se à propriedade comutativa, ou seja, o compromisso de Pedersen é aditivamente homomórfico, em que os dados subjacentes podem ser manipulados matematicamente como se não fossem criptografados.
[063]Em uma modalidade, um compromisso de Pedersen usado para criptografar o valor de entrada pode ser construído usando pontos de curva elíptica.
Petição 870190037619, de 18/04/2019, pág. 30/72
22/47
Convencionalmente, uma chave pública de criptografia de curva elíptica (ECC) é criada pela multiplicação de um gerador para o grupo (G) com a chave secreta (r): Pub=rG. O resultado pode ser serializado como uma matriz de 33 bytes. As chaves públicas do ECC podem obedecer à propriedade homomórfica aditiva mencionada anteriormente em relação aos compromissos do Pedersen. Ou seja: Pub1+Pub2=(r1+r2(mod n))G.
[064]O compromisso de Pedersen para o valor de entrada pode ser criado escolhendo um gerador adicional para o grupo (H, nas equações abaixo) de forma que ninguém conheça o registro discreto do segundo gerador H em relação ao primeiro gerador G (ou vice-versa), ou seja, ninguém conhece um x tal que rG = H. Isso pode ser feito, por exemplo, usando o hash criptográfico de G para escolher Η: H = to_point (SHA256 (ENCODE (G))).
[065]Dados os dois geradores G e H, um esquema de compromisso exemplar para criptografar o valor de entrada pode ser definido como: commitment = rG + aH. Aqui, r pode ser o fator secreto de ocultação, e a pode ser o valor de entrada sendo comprometido. Portanto, se sn for confirmado, o esquema de compromisso PC (a) = rxG + axH descrito acima pode ser obtido. Os compromissos de Pedersen são informações teoricamente privadas: para qualquer compromisso, existe algum fator de ocultação que faria qualquer valor corresponder ao compromisso. Os compromissos do Pedersen podem ser computacionalmente seguros contra o falso comprometimento, na medida em que o mapeamento arbitrário pode não ser computado.
[066]A parte (nó) que confirmou o valor pode abrir o compromisso divulgando o valor original a e o fator r que completa a equação de compromisso. A parte que deseja abrir o valor PC (a) calculará o compromisso novamente para verificar se o valor original compartilhado realmente corresponde ao compromisso PC (a) inicialmente recebido. Assim, as informações do tipo de ativo podem ser protegidas mapeando-as para um número de série exclusivo e em seguida criptografando-as pelo
Petição 870190037619, de 18/04/2019, pág. 31/72
23/47 compromisso Pedersen. O número aleatório r escolhido ao gerar o compromisso torna quase impossível para qualquer um inferir o tipo de tipo de ativo que é confirmado de acordo com o valor de comprometimento PC (a).
[067]Durante as transações, a proteção de informações é importante para proteger a privacidade do usuário, e o valor da transação é um tipo de informação que não tem proteção. A Figura 1 mostra um sistema exemplificador 100 para proteção de informações, de acordo com várias modalidades. Como mostrado, uma rede cadeia de blocos pode compreender uma pluralidade de nós (por exemplo, nós completos implementados em servidores, computadores etc.). Para alguma plataforma cadeia de blocos (por exemplo, NEO), os nós completos com determinado nível de poder de voto podem ser referidos como nós de consenso, que assumem a responsabilidade da verificação da transação. Nesta divulgação, nós completos, nós de consenso ou outros nós equivalentes podem verificar a transação.
[068]Além disso, conforme mostrado na Figura 1, o usuário A e o usuário B podem usar dispositivos correspondentes, como notebooks e telefones celulares, servindo como nós leves para realizar transações. Por exemplo, o usuário A pode querer fazer transações com o usuário B transferindo alguns recursos da conta do usuário A para a conta do usuário B. O usuário A e o usuário B podem usar dispositivos correspondentes instalados com um software de cadeia de blocos apropriado para a transação. O dispositivo do usuário A pode ser referido como um nó iniciador A que inicia uma transação com o dispositivo do usuário B referido como o nó receptor B. O nó A pode acessar a cadeia de blocos através da comunicação com o nó 1 e o nó B pode acessar a cadeia de blocos através da comunicação com o nó 2. Por exemplo, o nó A e o nó B podem enviar transações para a cadeia de blocos através do nó 1 e do nó 2 para solicitar a adição das transações à cadeia de blocos. Fora da cadeia de blocos, o nó A e o nó B podem ter outros canais de comunicação (por exemplo, comunicação regular pela Internet sem passar pelos nós 1 e 2).
Petição 870190037619, de 18/04/2019, pág. 32/72
24/47 [069]Cada um dos nós na FIG. 1 pode compreender um processador e um meio de armazenamento legível por computador não transitório armazenando instruções a serem executadas pelo processador para fazer com que o nó (por exemplo, o processador) execute vários passos para a proteção de informações aqui descrita. Cada nó pode ser instalado com um software (por exemplo, programa de transação) e/ou hardware (por exemplo, fios, conexões sem fio) para se comunicar com outros nós e/ou outros dispositivos. Mais detalhes do hardware e software do nó são descritos mais tarde com referência à FIG. 5.
[070]A Figura 2 ilustra etapas exemplificativas para transação e verificação entre um nó emissor A, um nó receptor B e um ou mais nós de verificação, de acordo com várias modalidades. As operações apresentadas abaixo pretendem ser ilustrativas. Dependendo da implementação, as etapas exemplares podem incluir etapas adicionais, menos ou alternativas executadas em várias ordens ou em paralelo.
[071 ]Em várias modalidades, as contas das partes de transação (usuário A do emissor e usuário B receptor) são configuradas para o modelo Conta/Saldo. O usuário A e o usuário B podem executar as seguintes etapas para realizar a transação através de um ou mais dispositivos, como seu laptop, telefone celular etc. Os dispositivos podem ser instalados com software e hardware apropriados para executar as várias etapas. Cada conta pode estar associada a uma chave privada criptográfica (chave secreta) - par de chaves públicas. A chave privada pode ser denotada como SK = x, e a chave pública pode ser denotada como PK = xG, onde G é um gerador do grupo. Cada conta pode conter vários ativos, cada um denotado como: (V = PC (r, v), E (K, r, v)), onde v representa o valor de face do ativo, V representa um compromisso de Pedersen do valor de face v, r é um fator de ocultação (por exemplo, um número aleatório), PC () é um algoritmo de compromisso de Pedersen, E() é um algoritmo de criptografia (por exemplo, algoritmo de criptografia de chave assimétrica) e K é uma chave de criptografia. Em um exemplo, cada ativo pode ser denotado como (V = PC (r, v), E (K,
Petição 870190037619, de 18/04/2019, pág. 33/72
25/47 r II v)), onde || representa a concatenação. Cada ativo também pode incluir informações diferentes das listadas, como as informações de origem do ativo.
[072]Em um exemplo, antes que o usuário A realize a transação com sucesso de um valor t para o usuário B em uma transação confirmada por cadeia de blocos, os endereços e os ativos na conta de A e na conta de B são os seguintes:
[073]Para a Conta de A (conta A):
Endereço (SK_A=a, PK_A=aG)
Ativos A_1 a A_m respectivamente dos valores a_1 a a_m são denotados como:
(A_1=PC(r_{a_1}, a_1), E(PK_A, r_{a_1 }||a_1)), (A_2=PC(r_{a_2}, a_2), E(PK_A, r_{a_2}||a_2)), (A_m=PC(r_{a_m}, a_m), E(PK_A, r_{a_m}||a_m)) [074] Para a Conta de B (conta B):
Endereço (SK_B=b, PK_B=bG)
Ativos B_1 a A_n respectivamente dos valores b_1 a b_n são denotados como:
(B_1=PC(r_{b_1}, b_1), E(PK_B, r_{b_1 }||b_1)), (B_2=PC(r_{b_2}, b_2), E(PK_B, r_{b_2}||b_2)), (B_n=PC(r_{b_n}, b_n), E(PK_B, r_{b_n}||b_n)) [075]Em algumas modalidades, a geração de chaves pode ser baseada na curva elíptica ecp256k1 para cada conta no modelo Conta/Saldo. Por exemplo, no Ethereum ecp256k1, qualquer número entre 1 a 2256-1 pode ser uma chave privada válida SK. Uma boa biblioteca gera uma chave privada levando em conta a aleatoriedade suficiente. O Ethereum requer que a chave privada SK tenha 256 bits de comprimento. A geração de chave pública é feita usando a operação em grupo da
Petição 870190037619, de 18/04/2019, pág. 34/72
26/47 criptografia ECC. Para derivar a chave pública PK, a chave privada pode ser multiplicada por G. A multiplicação usada para derivar a chave pública PK é a multiplicação de ECC (multiplicação de ponto de curva elíptica), que é diferente da multiplicação normal. G é o ponto gerador que é um dos parâmetros de domínio da criptografia ECC. G pode ter um valor fixo para ecp256k1. O endereço pode ser, por exemplo, os últimos 20 bytes do hash da chave pública PK.
[076]Em algumas modalidades, na etapa 201, o nó A pode iniciar uma transação com o nó B. Por exemplo, usuário A e usuário B podem negociar um valor de transação t da conta A do usuário A para a conta B. A conta A e a conta B podem corresponder às “carteiras” aqui descritas. A conta A pode ter um ou mais ativos. O ativo pode compreender, por exemplo, dinheiro, moeda digital, contrato, escritura, registro médico, detalhes do cliente, ações, títulos, ações ou qualquer outro ativo que possa ser descrito em formato digital. A conta B pode ter um ou mais ativos ou nenhum ativo. Cada ativo pode estar associado a várias informações de cadeia de blocos armazenadas em blocos da cadeia de blocos, as informações de cadeia de blocos compreendendo, por exemplo, NoteType representando o tipo de ativo, Notei D representando identificação única de ativo, valores de compromisso representando um compromisso (por exemplo, compromisso de Pedersen) valor do valor do ativo, criptografia do número aleatório e valor do ativo, etc.
[077]Conforme descrito em relação à conta A, em algumas modalidades, os ativos A_1 a A_m correspondem respectivamente aos valores de ativo a_1 a_m e aos números aleatórios r_1 a r_m. Com base nos números aleatórios r_1 a r_m, o nó A pode confirmar os valores do ativo na conta A para um esquema de confirmação (por exemplo, compromisso do Pedersen) para obter valores de confirmação criptografados. Por exemplo, os valores de compromisso criptografados podem ser PC_1 a PC_m, em que PC_i = PC (r_ {a_i}, aj) = r_ {a_i} χ G + a_i χ H, em que G e H são parâmetros conhecidos e i é entre 1 e m. Além do primeiro PC de campo (...), cada
Petição 870190037619, de 18/04/2019, pág. 35/72
27/47 ativo também está associado a um segundo campo E (...), conforme descrito anteriormente. O segundo campo E (...) pode representar uma criptografia do número aleatório correspondente e do valor do ativo criptografado com a chave PK_A. Por exemplo, a criptografia pode ser E (PK_A, r_ {a_i} || a_i)). O PC (...) e (...) para cada ativo podem ser herdados de transações anteriores. O mesmo mecanismo pode ser aplicado à conta B e seus ativos.
[078]Em algumas modalidades, para satisfazer o valor de transação t, o usuário A pode usar a chave privada SK_A para descriptografar um ou mais ativos de um valor agregado pelo menos t da conta A. Por exemplo, o nó A pode tocar nos ativos A_1, A_2,..., A_k para esta transação, onde k é menor ou igual a m. Os ativos restantes A_k + 1, A_k + 2,..., A_m da conta A não foram aproveitados. Correspondentemente, o nó A pode ler os ativos PC (r_ {a_1}, a_1), PC (r_ {a_2}, a_2),..., PC (r_ {a_k}, a_k) do nó 1. Com os números aleatórios r_ {a_1}, r_ {a_2},..., r_ {a_k} conhecidos pelo nó A, o nó A pode descriptografar os ativos de leitura PC (r_ {a_1}, a_1), PC (r_ {a_2}, a_2 ),..., PC (r_ {a_k}, a_k) para obter os valores dos ativos a_1, a_2,..., a_k para garantir que a soma (a_1 + a_2 +... + a_k) não seja menor que o valor da transação t. Ativos diferentes podem ser trocados entre si dentro da conta com base em várias taxas.
[079]Em algumas modalidades, o valor de valor de ativo selecionado em excesso de t, se houver, é definida como y conforme a alteração. Por exemplo, o nó A pode determinar a alteração y = (a_1 + a_2 +... + a_k) -1. O nó A pode selecionar os números aleatórios r_t e r_y como fatores de ocultação para gerar os compromissos de Pedersen para t e y: T=PC(r_t, t), Y=PC(r_y, y). Ou seja, o nó A pode gerar um número aleatório r_t para t e um número aleatório r_y para y. O nó A pode comprometer t e r_t para um esquema de compromisso para obter o valor de comprometimento T = PC (r_t, t) e comprometer y e r_y para um esquema de confirmação para obter o valor de comprometimento Y = PC (r_y, y).
Petição 870190037619, de 18/04/2019, pág. 36/72
28/47 [080]Além disso, em algumas modalidades, o nó A pode usar a chave pública PK_B do usuário B para criptografar (r_t || t), que fornece criptografia E (PK_B, r_t || t) e usar a chave pública PK_A do usuário A para criptografar (r_y || y), que fornece criptografia E (PK_A, r_y || y). A Figura 3A e a Figura 3B pode seguir este exemplo. Alternativa para obter a criptografia E (PK_B, r_t || t) pelo nó A, o usuário A pode enviar r_t e t para o nó B junto com as informações da transação, fazendo com que o nó B gere uma segunda chave para criptografar (r_t || t) com PK_B. O nó B envia a criptografia para o nó A para permitir que o nó A seja verificado. A Figura 4A e a Figura 4B pode seguir este exemplo. Embora a concatenação seja usada em vários exemplos desta revelação, podem ser usadas combinações alternativas de entradas, saídas ou outros parâmetros para a função de criptografia ou outra operação.
[081]Além disso, em algumas modalidades, o nó A pode gerar uma RP de prova de faixa para provar aos nós de cadeia de blocos se o valor de T = PC (r_t, t) e o valor de Y = PC (r_y, y) estiverem dentro de uma faixa válida. Por exemplo, para ter valores válidos de T = PC (r_t, t), o valor da transação t pode estar dentro de uma faixa válida [0, 2n-1 ]; e para ter valores válidos de Y = PC (r_y, y), a alteração y pode estar dentro de uma faixa válida [0, 2n-1 ]. Em uma modalidade, o nó A pode usar a técnica de prova de bloco para gerar a RP de prova de faixa relacionada a (r_y, y, Y, r_t, T) para os nós de cadeia de blocos (por exemplo, nós de consenso) para verificar em uma etapa posterior se o valor da transação t e a alteração y estão dentro da faixa válida com base na prova de faixa. A prova de faixa pode incluir, por exemplo, Bulletproofs, assinatura de anel Borromean etc.
[082]Na etapa 202, o nó A pode enviar a informação de transação para o nó B (por exemplo, através de um canal seguro da cadeia de blocos). A informação de transação enviada pode compreender, por exemplo, valor de compromisso T = PC (rt, t), valor de compromisso Y = PC (r_y, y), criptografia E (PK_B, r_t || t), criptografia E (PK_A, r_y | | y), RP de prova de alcance, etc. O valor de compromisso Y = PC (r_y,
Petição 870190037619, de 18/04/2019, pág. 37/72
29/47
y), criptografia E (PK_A, r_y || y) e RP à prova de intervalo podem ser opcionais porque o nó B pode não se importar com a alteração enviada volta para a conta A. Em algumas modalidades, a transmissão através do canal de comunicação fora da cadeia de blocos pode impedir que as informações da transação sejam gravadas na cadeia de blocos e impedir que nós, além do nó emissor A e do nó receptor B, obtenham as informações da transação. E (PK_A, r_y||y) pode não precisar ser enviado para o nó B, mas pode ser necessário, no futuro, para que o usuário A gaste a alteração y, já que a alteração deve ser retornada para a conta A.
[083]Na etapa 203, o nó B pode verificar o número aleatório r_t, o valor de transação t e o valor de compromisso T. Em algumas modalidades, o nó B pode utilizar a chave privada SK_B para descriptografar a criptografia E (PK_B, r_t || t) para obter r_t || t. De r_t || t, o nó B pode obter r_t et, e então verificar se r_t e t correspondem a T = PC (r_t, t). Ou seja, o nó B pode verificar se o valor de comprometimento T = PC (r_t, t) está correto com base no número aleatório r_t e no valor de transação t de acordo com o algoritmo de consolidação de Pedersen. Se a correspondência/verificação falhar, o nó B pode rejeitar a transação; e se a correspondência/verificação for bem-sucedida, o nó B pode assinar a transação para responder ao nó A na etapa 204.
[084]Na etapa 204, o nó B pode assinar a transação com a chave privada SK_B do usuário B para gerar uma assinatura SIGB. A assinatura pode seguir o Algoritmo de Assinatura Digital (DSA), como o Algoritmo de Assinatura Digital de Curva Elíptica (ECDSA), pelo qual o receptor da assinatura pode verificar a assinatura com a chave pública do signatário para autenticar os dados assinados. A assinatura SIGB indica que o nó receptor B concorda com a transação.
[085]Na etapa 205, o nó B pode transmitir a transação assinada de volta ao nó A com a assinatura SIGB.
[086]Na etapa 206, se o SIGB não for verificado com sucesso, o nó A pode rejeitar a transação. Se o SIGB for verificado com êxito, o nó A poderá assinar a
Petição 870190037619, de 18/04/2019, pág. 38/72
30/47 transação com a chave privada SK_A do usuário A para gerar uma assinatura SIGA. Da mesma forma, a assinatura pode seguir o Algoritmo de Assinatura Digital (DSA). Numa forma de realização, o nó A pode assinar (E (PK_B, r_t || t); E (PK_A, r_y || y); Y; T; RP) com a chave privada SK_A do utilizador A para gerar a assinatura SIGA.
[087]Na etapa 207, o nó A pode submeter a transação à cadeia de blocos, fazendo com que os nós cadeia de blocos verifiquem a transação e determinem se a transação deve ser adicionada à cadeia de blocos. Em uma modalidade, o nó A pode enviar a transação (E(PK_B, r_t||t); E(PK_A, r_y||y); Y; T; r’; RP; SIGA; SIGB) à cadeia de blocos via nó 1 para executar a transação, r’ = r_1 + ... + r_k - r_t - r_y. A transação pode incluir parâmetros adicionais ou pode não incluir todos os parâmetros listados. A transação pode ser transmitida para um ou mais nós (por exemplo, nós de consenso) na cadeia de blocos para verificação. Se a verificação for bem-sucedida, a transação será adicionada à cadeia de blocos. Se a verificação falhar, a transação será rejeitada em ser adicionada à cadeia de blocos.
[088]Nas etapas 208 a 213, o um ou mais nós (por exemplo, nós de consenso) verificam as assinaturas, a prova de alcance e outras informações da transação submetida. Se a verificação falhar, os nós rejeitarão a transação. Se a verificação for bemsucedida, os nós aceitarão a transação, atualizarão a conta do usuário A e a conta do usuário B separadamente.
[089]Em algumas modalidades, para executar a transação, as informações de transação podem ser verificadas por vários nós cadeia de blocos. As informações de transação podem incluir o endereço de transação TXID, assinatura (s), entrada e saída TXID pode incluir o hash do conteúdo da transação. As assinaturas podem incluir assinaturas de criptografia pelo emissor e receptor. A entrada pode incluir um endereço da conta do emissor em cadeia de blocos, um ou mais ativos retirados da conta de cadeia de blocos do emissor para transação etc. A saída pode incluir um endereço da conta do receptor em cadeia de blocos, tipo(s) de ativo do ativo beneficiário(s),
Petição 870190037619, de 18/04/2019, pág. 39/72
31/47 valor(es) de compromisso do(s) ativo(s) do(s) recepto (es), etc. A entrada e a saida podem incluir informações indexadas em um formulário tabular. Em algumas modalidades, o valor do valor Notei D pode ser “o TXID + um índice do ativo na saída”. A chave pública PK_A do emissor pode servir como endereço da conta A e a chave pública PK_B do receptor pode servir como o endereço da conta B.
[090]Em algumas modalidades, o um ou mais nós da cadeia de blocos pode verificar a transação submetida (E (PK_B, r_t || t); E (PK_A, r_y || y); Y; T; RP; SIGA; SIGB).
[091 ]Na etapa 208, os nós podem verificar se a transação foi executada usando um mecanismo anti-gasto duplo ou mecanismo de ataque anti-reprodução. Se a transação foi executada, os nós podem rejeitar a transação; caso contrário, o método pode prosseguir para a etapa 209.
[092]Na etapa 209, os nós podem verificar as assinaturas SIGA e SIGB (por exemplo, com base na chave pública A e na chave pública B, respectivamente). Se alguma das assinaturas estiver incorreta, os nós podem rejeitar a transação; caso contrário, o método pode prosseguir para a etapa 210.
[093]Na etapa opcional 210, os nós podem verificar se os tipos de ativos são consistentes. Por exemplo, os nós podem verificar se os tipos de ativos no NoteType de A_1 a A_k são consistentes com os tipos de ativos do valor da transação t. Se algum dos tipos de ativos for inconsistente, os nós podem rejeitar a transação; caso contrário, o método pode prosseguir para a etapa 211. Em algumas modalidades, o tipo de ativo original na carteira pode ter sido convertido em outro tipo com base em uma taxa de câmbio, e essa etapa pode ser ignorada.
[094]Na etapa 211, os nós podem verificar a RP à prova de alcance para validar o valor de PC (r_t, t) e o valor de PC (r_y, y). Numa forma de realização, os nós podem verificar o RP à prova de alcance para verificar se o valor de transação t não é menor do que zero e a alteração y não é menor do que zero. Se a verificação falhar,
Petição 870190037619, de 18/04/2019, pág. 40/72
32/47 os nós podem rejeitar a transação; caso contrário, o método pode prosseguir para a etapa 212.
[095]Na etapa 212, os nós podem verificar se as entradas e as saídas da transação são consistentes. Numa forma de realização, r ’pode corresponder ao valor do ativo t’ = a_1 +... + a_k -1 - y com base na propriedade homomórfica, onde r ’= r_1 +... + r_k - r_t - r_y. Como os ativos de entrada são a_1 para a_k e a saída é t + y, t '= 0 quando a entrada e a saída são consistentes: a_1 +... a_k = t + y. Assim, o valor de compromisso correspondente a r ’é PC (r’, t j = r’ x G + t ’χ H = r’G. Como r '= r_1 +... + r_k - r_t - r_y, os nós podem determinar se as entradas e saídas são iguais, verificando se r'G é igual a PC_1 +... + PC_k - T - Y correspondendo a r_1 +... + r_k - r_t - r_y. Se r'G for igual a PC_1 +... + PC_k - T - Y, os nós poderão determinar se as entradas e saídas da transação são consistentes e seguir para a próxima etapa; caso contrário, os nós podem determinar que as entradas e saídas da transação são inconsistentes e rejeitam a transação.
[096]Na etapa 213, os nós podem verificar se o nó A possui o (s) ativo (s) aproveitado (s) para a transação. Em uma modalidade, os nós podem executar esta verificação com base nas informações armazenada na cadeia de blocos, tais como informações correspondentes à conta A. As informações podem compreender informações de transações anteriores de todos os ativos. Os nós podem, portanto, determinar se a conta A possui o recurso de transação para a transação. Se a determinação for não, os nós podem rejeitar a transação; caso contrário, o método pode prosseguir para a etapa 214.
[097]Na etapa 214, os nós podem atualizar a conta A e a conta B. Por exemplo, os nós podem remover o ativo de transação de valor t da conta A e adicionar o mesmo à conta B. Com base na propriedade homomórfica, desde Y = PC (r_y, y) e o nó 1 conhece r_y e pode acessar o valor de comprometimento Y da cadeia de blocos, o nó 1 pode descriptografar Y para obter o valor de ativo y e retornar o mesmo para a
Petição 870190037619, de 18/04/2019, pág. 41/72
33/47 conta A. O nó 2 obtém na etapa 202 o número aleatório r_t do nó 1 e pode obter da cadeia de blocos o valor de comprometimento T. Assim, o nó 2 pode descriptografar T para obter o valor de ativo t e incluí-lo na conta B.
[098]Em um exemplo, após a atualização para a conta A e a conta B, a conta A recebe a alteração y para os ativos explorados _1, A_2,..., A_k e recebe seus ativos não explorados A_k + 1A_m e a conta B recebe o valor da transação t e recebe seus ativos originais B_1, B_2,..., B_n. Os ativos na conta de A e na conta de B são os seguintes:
[099]Para a Conta de A (conta A), ativos atualizados são denotados como:
(Y=PC(r_y, y), E(PK_A, r_y||y)), (A_k+1=PC(r_{a_ k+1}, a_k+1), E(PK_A, r_{a_ k+1}||a_ k+1)) (A_k+2=PC(r_{a_ k+2}, a_ k+2), E(PK_A, r_{a_ k+2}||a_ k+2)) (A_m=PC(r_{a_m}, a_m), E(PK_A, r_{a_m}||a_m)) [0100]Para a Conta de B (conta B), ativos atualizados são denotados como:
(B_1=PC(r_{b_1}, b_1), E(PK_B, r_{b_1 }||b_1)), (B_2=PC(r_{b_2}, b_2), E(PK_B, r_{b_2}||b_2)), (B_n=PC(r_{b_n}, b_n), E(PK_B, r_{b_n}||b_n)), (T=PC(r_t, t), E(PK_B, r_t||t)) [0101]Embora essa divulgação use o nó A/usuário A e o nó B/usuário B para ilustrar o emissor e o receptor, respectivamente, o emissor e o receptor podem ser o mesmo nó/usuário. Por exemplo, a alteração y de uma transação (total de ativos explorados na conta A menos o valor da transação) pode ser enviada de volta ao emissor da transação. Assim, os vários passos realizados pelo nó B, como aqui descrito, podem ser alternativamente realizados pelo nó A.
[0102]A Figura 3A ilustra um fluxograma de um método exemplificador 300
Petição 870190037619, de 18/04/2019, pág. 42/72
34/47 para proteção de informações, de acordo com várias modalidades da presente divulgação. O método 300 pode ser implementado por um ou mais componentes (por exemplo, nó A, nó 1, uma combinação do nó A e nó 1) do sistema 100 da FIG. 1. O método 300 pode ser implementado por um sistema ou dispositivo (por exemplo, computador, servidor) compreendendo um processador e um meio de armazenamento não transitório legível por computador (por exemplo, memória) armazenando instruções a serem executadas pelo processador para causar o sistema ou dispositivo (por exemplo, o processador) para executar o método 300. As operações do método 300 apresentadas abaixo pretendem ser ilustrativas. Dependendo da implementação, o método exemplar 300 pode incluir etapas adicionais, menos ou alternativas executadas em várias ordens ou em paralelo.
[0103]O bloco 301 compreende: comprometer um valor de transação t de uma transação com um esquema de compromisso para obter um valor de compromisso de transação T, o esquema de compromisso compreendendo, pelo menos, um fator de ocultação de transação r_t; Por exemplo, conforme descrito antes, T = PC(r_t, t). Em algumas modalidades, o esquema de compromisso compreende um compromisso de Pedersen baseado, pelo menos, no fator de ocultação da transação r_t e com o valor de transação t sendo um valor comprometido.
[0104]O bloco 302 compreende: criptografar uma combinação do fator de ocultação de transação r_t e o valor de transação t com uma chave pública PK_B de um receptor da transação. Por exemplo, o nó A pode usar a chave PK_B para criptografar (r_t||t), o que gera a criptografia E(PK_B, r_t||t). Em algumas modalidades, a chave pública PK_B é uma chave de criptografia assimétrica. Em algumas modalidades, a combinação do fator de ocultação da transação r_t e o valor de transação t compreende uma concatenação do fator de ocultação da transação r_t e o valor da transação t.
[0105]O bloco 303 compreende: transmitir o valor de compromisso da
Petição 870190037619, de 18/04/2019, pág. 43/72
35/47 transação Tea combinação criptografada para um nó receptor com o receptor para o nó receptor verifica a transação (ex., fazendo com que o nó do receptor verifique a transação). Em algumas modalidades, transmitir o valor de compromisso da transação Tea combinação criptografada para um nó receptor associado ao receptor para o nó do receptor verificar a transação compreende transmitir o valor de compromisso de transação Tea combinação encriptada para o nó receptor associado ao receptor, fazendo com que o nó receptor: descriptografe a combinação criptografada com uma chave privada SK_B do receptor para obter o fator de ocultação da transação r_t e o valor da transação t; e verifique a transação com base, pelo menos, no valor de compromisso de transação T, no fator de ocultação de transação r_t e no valor da transação t.
[0106]Em algumas modalidades, fazer com que o nó receptor verifique a transação com base, pelo menos, no valor de compromisso de transação T, o fator de ocultação de transação r_t, e o valor de transação t compreende fazer com que o nó receptor: em resposta à determinação de que o valor de compromisso de transação T não corresponde ao esquema de compromisso de valor de transação t com base no fator de ocultação de transação r_t, rejeite a transação; e em resposta à determinação de que o valor de compromisso de transação T corresponde ao esquema de compromisso de valor de transação t baseado no fator de ocultação de transação r_t, aprove a transação assinando a transação com a chave privada SK_B do receptor para gerar um SIGB de assinatura de receptor.
[0107]Em algumas modalidades, antes (bloco 304) de transmitir a combinação encriptada ao nó receptor associado ao receptor, o método compreende, além disso: comprometer uma alteração y da transação com o esquema de compromisso para obter um valor de compromisso de alteração Y, o esquema de comprometimento compreendendo pelo menos um fator de alteração de ocultação r_y, em que a alteração y é um ou mais ativos de um emissor da transação que são utilizados para a transação
Petição 870190037619, de 18/04/2019, pág. 44/72
36/47 menos o valor da transação t; e criptografar outra combinação do fator de ocultação de alteração r_y e a alteração y com uma chave pública PK_A do emissor. Por exemplo, o nó A pode usar a chave PK_A para criptografar (r_y| |y), o que gera a criptografia E(PK_A, r_y||y).
[0108]Em algumas modalidades, o método compreende adicionaímente: em resposta ao recebimento da assinatura do receptor SIGB, aprovando a transação assinando a transação com uma chave privada SK_A do emissor gerar uma assinatura do emissor SIGA; e enviar a transação compreendendo a combinação criptografada, a outra combinação criptografada, o valor de compromisso de transação T, o valor de compromisso de alteração Y, a assinatura do emissor SIGA e o SIGB de assinatura do receptor para um ou mais nós em uma rede de cadeia de blocos para um ou mais nós para verificar a transação. Mais detalhes são descritos acima com referência às Etapas 208-2013.
[0109]Em algumas modalidades, enviar a transação compreendendo a combinação criptografada, a outra combinação criptografada, o valor de compromisso de transação T, o valor de compromisso de alteração Y, a assinatura do emissor SIGA e o SIGB de assinatura do receptor para os um ou mais nós na rede de cadeia de blocos para um ou mais nós para verificar a transação compreende: enviar a transação compreendendo a combinação criptografada, a outra combinação criptografada, o valor de compromisso de transação T, o valor de compromisso de alteração Y, o SIGA da assinatura do emissor e o SIGB de assinatura do receptor para um ou mais nós na rede de cadeia de blocos, fazendo com que os um ou mais nós, em resposta a uma verificação bem-sucedida da transação, emitam o valor da transação t para o receptor, eliminem um ou mais ativos aproveitados para a transação e emitam a alteração y para o emissor. Mais detalhes são descritos acima com referência à Etapa 214.
[0110]A Figura 3B ilustra um fluxograma de um método exemplar 400 para proteção de informações, de acordo com várias modalidades da presente revelação.
Petição 870190037619, de 18/04/2019, pág. 45/72
37/47
O método 400 pode ser implementado por um ou mais componentes (por exemplo, nó B, nó 2, uma combinação do nó B e nó 2, etc.) do sistema 100 da FIG. 1. O método 400 pode ser implementado por um sistema ou dispositivo (por exemplo, computador, servidor) compreendendo um processador e um meio de armazenamento não transitório legível por computador (por exemplo, memória) armazenando instruções a serem executadas pelo processador para fazer com que o sistema ou dispositivo (por exemplo, o processador) execute o método 400. As operações do método 400 apresentadas abaixo pretendem ser ilustrativas. Dependendo da implementação, o método exemplar 400 pode incluir etapas adicionais, menos ou alternativas executadas em várias ordens ou em paralelo.
[0111]O bloco 401 compreende: obter uma combinação de um fator de ocultação de transação r_t e um valor de transação t criptografada com uma chave pública PK_B de um receptor de uma transação, e obter um valor de compromisso de transação T, em que: o valor de transação t é comprometido com um esquema de compromisso por um nó emissor associado a um emissor da transação para obter o valor de compromisso de transação Τ, o esquema de compromisso compreendendo pelo menos o fator de ocultação de transação r_t.
[0112]O bloco 402 compreende: descriptografar a combinação obtida com uma chave privada SK_B de um receptor da transação para obter o fator de ocultação da transação r_t e o valor da transação t. Em algumas modalidades, a chave pública PK_B do receptor e a chave privada SK_B do receptor são chaves de criptografia assimétrica.
[0113]O bloco 403 compreende: verificar a transação com base, pelo menos, no valor de compromisso de transação T, no fator de ocultação de transação r_t e no valor da transação t.
[0114]Alternativa para criptografar a combinação (r_t, t) como (r_t || t) no nó A, o nó A pode transmitir (r_t, t) para o nó B, fazendo com que o nó B criptografe a
Petição 870190037619, de 18/04/2019, pág. 46/72
38/47 combinação (r_t, t), conforme descrito abaixo com referência à FIG. 4A e a Figura 4B. Outras etapas e descrições da Figura 1 a FIG. 3B podem de modo similar se aplicar à Figura 4A e a Figura 4B.
[0115]A Figura 4A ilustra um fluxograma de um método exemplar 440 para proteção de informações, de acordo com várias modalidades da presente revelação. O método 440 pode ser implementado por um ou mais componentes (por exemplo, nó A, nó 1, uma combinação do nó A e nó 1, etc.) do sistema 100 da FIG. 1. O método 440 pode ser implementado por um sistema ou dispositivo (por exemplo, computador, servidor) compreendendo um processador e um meio de armazenamento não transitório legível por computador (por exemplo, memória) armazenando instruções a serem executadas pelo processador para fazer com que o sistema ou dispositivo (por exemplo, o processador) execute o método 440. As operações do método 440 apresentadas abaixo pretendem ser ilustrativas. Dependendo da implementação, o método exemplar 440 pode incluir etapas adicionais, menos ou alternativas executadas em várias ordens ou em paralelo.
[0116]O bloco 441 compreende: comprometer um valor de transação t de uma transação com um esquema de compromisso para obter um valor de compromisso de transação T, o esquema de compromisso compreendendo, pelo menos, um fator de ocultação de transação r_t;
[0117]O bloco 442 compreende: enviar o valor da transação t, o fator de ocultação da transação r_t e o valor do compromisso de transação T para um nó receptor associado a um receptor da transação para o nó receptor verificar a transação e criptografar o fator de ocultação da transação r_t e o valor da transação t com uma chave pública PK_B do receptor (por exemplo, fazendo com que o nó receptor verifique a transação e criptografe o fator de ocultação da transação r_t e o valor da transação t com uma chave pública PK_B do receptor). Por exemplo, o nó B pode verificar se T = PC (r_t, t) e o nó B podem criptografar a combinação com a chave pública PK_A para
Petição 870190037619, de 18/04/2019, pág. 47/72
39/47 obter E (PK_B, r_t || t).
[0118]O bloco 443 compreende: obter uma combinação criptografada (por exemplo, E (PK_B, r_t || t)) do fator de ocultação de transação r_t e o valor da transação t do nó receptor [0119]O bloco 444 compreende: transmitir a combinação criptografada e o valor de compromisso de operação T para uma pluralidade de ns numa cadeia de blocos para a pluralidade de ns para verificar a transação (por exemplo, fazendo com que a pluralidade de ns verifique a transação) [0120]A Figura 4B ilustra um fluxograma de um método exemplar 450 para proteção de informações, de acordo com várias modalidades da presente revelação. O método 450 pode ser implementado por um ou mais componentes (por exemplo, nó B, nó 2, uma combinação do nó B e nó 2, etc.) do sistema 100 da FIG. 1. O método 450 pode ser implementado por um sistema ou dispositivo (por exemplo, computador, servidor) compreendendo um processador e um meio de armazenamento não transitório legível por computador (por exemplo, memória) armazenando instruções a serem executadas pelo processador para fazer com que o sistema ou dispositivo (por exemplo, o processador) execute o método 450. As operações do método 450 apresentadas abaixo pretendem ser ilustrativas. Dependendo da implementação, o método exemplar 450 pode incluir etapas adicionais, menos ou alternativas executadas em várias ordens ou em paralelo.
[0121 ]O bloco 451 compreende: obter um valor de transação t de uma transação, um fator de ocultação de transação rt e um valor de compromisso de transação T.
[0122]O bloco 452 compreende: verificar a transação com base, pelo menos, no valor de compromisso de transação T, no fator de ocultação de transação r_t e no valor da transação t.
[0123]O bloco 453 compreende: em resposta à verificação bem-sucedida da
Petição 870190037619, de 18/04/2019, pág. 48/72
40/47 transação, criptografar o fator de ocultação de transação r_t e o valor de transação t com uma chave pública PK_B de um receptor da transação para obter uma combinação criptografada (por exemplo, E (PK_B, r_t || t))).
[0124]O bloco 454 compreende: transmitir a combinação criptografada para um nó emissor associado a um emissor da transação.
[0125]Como mostrado, a privacidade para o valor da transação pode ser protegida através de várias melhorias da tecnologia de computação. Por exemplo, a estrutura da conta compreende um ou mais campos, como um primeiro campo associado ao compromisso Pedersen do valor do ativo (por exemplo, o primeiro campo sendo PC (r_ {a_i}, aj), com i sendo entre 1 e m ) e um segundo campo associado ao número aleatório para o compromisso de Pedersen e o valor do ativo (por exemplo, o segundo campo é E (...)). O primeiro campo e o segundo campo também são usados nas etapas da transação e armazenados na cadeia de blocos.
[0126]Por outro exemplo, um sistema de chave público-privada (criptografia assimétrica) da conta é reutilizado para criptografar o número aleatório de cada compromisso Pedersen e o valor do ativo correspondente, e armazenar a transação incluindo os números aleatórios criptografados e valores de ativos na cadeia de blocos. Essa maneira elimina o gerenciamento local de tais números aleatórios e promove a segurança com base no armazenamento de cadeia de blocos distribuído e consistente. Assim, o número aleatório do compromisso pode ser efetivamente armazenado através da cadeia de blocos, sem a necessidade de um sistema adicional de criptografia.
[0127]Para mais um exemplo, a prova de intervalo é usada para provar que os ativos preexistentes da transação são balanceados contra os novos ativos e a transação e que o valor de cada novo ativo está em um intervalo razoável. Além disso, as partes da transação podem transmitir o número aleatório comprometido e o valor do novo ativo ao receptor através de um canal fora da cadeia de blocos seguro para
Petição 870190037619, de 18/04/2019, pág. 49/72
41/47 verificar se o valor confirmado corresponde ao valor do ativo da transação.
[0128]Como tal, números aleatórios de compromissos de Pedersen podem ser convenientemente gerenciados, sem o risco de corrupção e sem incorrer em encargos adicionais de gerenciamento de chaves Assim, a privacidade da transação pode ser totalmente protegida, e os valores das transações podem ser mantidos como segredos.
[0129]As técnicas descritas aqui são implementadas por um ou mais dispositivos de computação para fins especiais. Os dispositivos computacionais de finalidade especial podem ser sistemas de computador de mesa, sistemas de computador servidor, sistemas de computadores porteis, dispositivos porteis, dispositivos de rede ou qualquer outro dispositivo ou combinação de dispositivos que incorporem dispositivos físicos e/ou lógica de programas para implementar as técnicas. Dispositivos de computação geralmente são controlados e coordenados pelo software do sistema operacional. Sistemas operacionais convencionais controlam e agendam processos de computador para execução, executam gerenciamento de memória, fornecem sistema de arquivos, rede, serviços de E/S e fornecem uma funcionalidade de interface de usuário, como uma interface gráfica de usuário (GUI), entre outras coisas.
[0130]A Figura 5 é um diagrama de blocos que ilustra um sistema de computador 500 sobre o qual qualquer das modalidades aqui descritas podem ser implementadas. O sistema 500 pode ser implementado em qualquer um dos nós aqui descritos e configurado para realizar os passos correspondentes para métodos de proteção de informação. O sistema de computador 500 inclui um barramento 502 ou outro mecanismo de comunicação para comunicar informação, um ou mais processadores de hardware 504 acoplados com barramento 502 para processar informação. Processadores de hardware 504 podem ser, por exemplo, um ou mais microprocessadores de uso geral.
[0131 ]O sistema de computador 500 também inclui uma memória principal
Petição 870190037619, de 18/04/2019, pág. 50/72
42/47
506, tal como uma memória de acesso aleatório (RAM), cache e/ou outros dispositivos de armazenamento dinâmicos, acoplada ao barramento 502 para armazenar informação e instruções a serem executadas pelo(s) processador(es) 504. A memória principal 506 também pode ser usada para armazenar variáveis temporárias ou outras informações intermediárias durante a execução de instruções a serem executadas pelo(s) processador(es) 504. Tais instruções, quando armazenadas em meios de armazenamento acessíveis ao(s) processador(es) 504, processam o sistema de computador 500 em uma máquina de propósito especial que é personalizada para executar as operações especificadas nas instruções. O sistema de computador 500 inclui ainda uma memória apenas de leitura (ROM) 508 ou outro dispositivo de armazenamento estático acoplado ao barramento 502 para armazenar informações estáticas e instruções para o(s) processador(es) 504. Um dispositivo de armazenamento 510, tal como um disco magnético, disco óptico, ou pen drive USB (pen drive), etc., é fornecido e acoplado ao barramento 502 para armazenar informações e instruções.
[0132]O sistema de computador 500 pode implementar as técnicas descritas aqui usando lógica de dispositivos físicos personalizada, um ou mais ASICs ou FPGAs, firmware e/ou lógica de programa que em combinação com o sistema de computador provoca ou programa o sistema de computador 500 para ser uma máquina de finalidade especial. De acordo com uma forma de realização, as operações, métodos e processos aqui descritos são realizados pelo sistema de computador 500 em resposta ao(s) processador(es) 504 que executam uma ou mais sequências de uma ou mais instruções contidas na memória principal 506. Tais instruções podem ser lidas na memória principal 506 a partir de outro meio de armazenamento, tal como o dispositivo de armazenamento 510. A execução das sequências de instruções contidas na memória principal 506 faz com que o(s) processador(es) 504 efetue as etapas do processo aqui descritas. Em modalidades alternativas, podem ser usados circuitos com fios em vez de ou em combinação com instruções de software.
Petição 870190037619, de 18/04/2019, pág. 51/72
43/47 [0133]A memória principal 506, a ROM 508 e/ou o armazenamento 510 podem incluir meios de armazenamento não transitórios. O termo “mídia não transitória” e termos similares, como usados aqui, referem-se a mídias que armazenam dados e/ou instruções que fazem com que uma máquina opere de maneira específica, a mídia exclui sinais transitórios. Tais mídias não transitórias podem compreender mídias não voláteis e/ou mídias voláteis. A mídia não volátil inclui, por exemplo, discos ópticos e/ou magnéticos, como o dispositivo de armazenamento 510. A mídia volátil inclui, sem limitação, memória dinâmica, como a memória principal 1114. Formas comuns de mídia não transitória incluem, por exemplo, um disquete, um disco flexível, disco rígido, unidade de estado sólido, fita magnética ou qualquer outro meio magnético de armazenamento de dados, um CD-ROM, qualquer outro meio ótico de armazenamento de dados, qualquer mídia física com padrões de furos, uma RAM, uma PROM e EPROM, uma FLASH-EPROM, NVRAM, qualquer outro chip ou cartucho de memória e versões em rede da mesma.
[0134]O sistema de computador 500 também inclui uma interface de rede 518 acoplada ao barramento 502. A interface de rede 518 fornece um acoplamento de comunicação de dados bidirecional para um ou mais links de rede que estão conectados a uma ou mais redes locais. Por exemplo, a interface de rede 518 pode ser uma placa de rede digital de serviços integrados (ISDN), modem de cabo, modem de satélite ou um modem para fornecer uma ligação de comunicação de dados para um tipo de linha telefônica correspondente. Como outro exemplo, a interface de rede 518 pode ser uma placa de rede de área local (LAN) para fornecer uma conexão de comunicação de dados a uma LAN compatível (ou componente de WAN para se comunicar com uma WAN). Links sem fio também podem ser implementados. Em qualquer implementação deste tipo, a interface de rede 518 envia e recebe sinais elétricos, eletromagnéticos ou ópticos que transportam fluxos de dados digitais representando vários tipos de informação.
Petição 870190037619, de 18/04/2019, pág. 52/72
44/47 [0135]O sistema de computador 500 pode enviar mensagens e receber dados, incluindo código de programa, através da(s) rede(s), ligação de rede e interface de rede 518. No exemplo da Internet, um servidor pode transmitir um código solicitado para um programa aplicativo através da Internet, o ISP, a rede local e a interface de rede 518.
[0136]O código recebido pode ser executado pelo(s) processador(es) 504 à medida que é recebido e/ou armazenado no dispositivo de armazenamento 510, ou outro armazenamento não volátil para execução posterior.
[0137]Cada um dos processos, métodos e algoritmos descritos nas secções anteriores podem ser incorporados e totalmente ou parcialmente automatizados por módulos de código executados por um ou mais sistemas de computador ou processadores de computador compreendendo hardware de computador. Os processos e algoritmos podem ser implementados parcialmente ou totalmente em circuitos específicos de aplicativos.
[0138]Os vários recursos e processos descritos acima podem ser usados independentemente uns dos outros, ou podem ser combinados de várias maneiras. Todas as combinações e subcombinações possíveis devem estar dentro do escopo desta divulgação. Além disso, determinados métodos ou blocos de processos podem ser omitidos em algumas implementações. Os métodos e processos aqui descritos também não estão limitados a qualquer sequência particular, e os blocos ou estados a eles relacionados podem ser realizados em outras sequências que sejam apropriadas. Por exemplo, blocos ou estados descritos podem ser realizados em uma ordem diferente da especificamente divulgada, ou múltiplos blocos ou estados podem ser combinados em um único bloco ou estado. Os blocos ou estados exemplificadores podem ser realizados em série, em paralelo ou de alguma outra maneira. Os blocos ou estados podem ser adicionados ou removidos das modalidades exemplares divulgadas. Os sistemas e componentes exemplificadores aqui descritos podem ser
Petição 870190037619, de 18/04/2019, pág. 53/72
45/47 configurados de maneira diferente do descrito. Por exemplo, elementos podem ser adicionados, removidos ou rearranjados em comparação com as modalidades exemplares divulgadas.
[0139]As várias operações dos métodos exemplificadores aqui descritos podem ser realizadas, pelo menos parcialmente, por um algoritmo. O algoritmo pode estar compreendido em códigos de programa ou instruções armazenadas numa memória (por exemplo, um meio de armazenamento legível por computador não transitório descrito acima). Tal algoritmo pode compreender um algoritmo de aprendizado de máquina. Em algumas modalidades, um algoritmo de aprendizado de máquina pode não programar explicitamente computadores para executar uma função, mas pode aprender com dados de treinamento para criar um modelo de previsão que execute a função.
[0140]As várias operações dos métodos exemplificadores aqui descritos podem ser realizadas, pelo menos parcialmente, por um ou mais processadores que são temporariamente configurados (por exemplo, por software) ou permanentemente configurados para realizar as operações relevantes. Configurados temporária ou permanentemente, tais processadores podem constituir mecanismos implementados pelo processador que operam para executar uma ou mais operações ou funções descritas aqui.
[0141]Similarmente, os métodos aqui descritos podem ser pelo menos parcialmente implementados em processador, com um processador ou processadores particulares sendo um exemplo de hardware. Por exemplo, pelo menos algumas das operações de um método podem ser realizadas por um ou mais processadores ou mecanismos implementados pelo processador. Além disso, um ou mais processadores também podem operar para suportar o desempenho das operações relevantes em um ambiente de computação em nuvem ou como um software como serviço (SaaS). Por exemplo, pelo menos algumas das operações podem ser realizadas por um grupo
Petição 870190037619, de 18/04/2019, pág. 54/72
46/47 de computadores (como exemplos de máquinas, incluindo processadores), sendo essas operações acessíveis por uma rede (por exemplo, a Internet) e por uma ou mais interfaces apropriadas (por exemplo, uma Application Program Interface (API)).
[0142]O desempenho de algumas das operações pode ser distribuído entre os processadores, não residindo apenas em uma única máquina, mas implantado em várias máquinas. Em algumas modalidades exemplares, os processadores ou mecanismos implementados pelo processador podem estar localizados em um único local geográfico (por exemplo, dentro de um ambiente doméstico, um ambiente de escritório ou uma fazenda de servidores). Noutras modalidades exemplificativas, os processadores ou motores implementados por processador podem ser distribuídos através de uma série de localizações geográficas.
[0143]Ao longo desta especificação, instâncias plurais podem implementar componentes, operações ou estruturas descritas como uma instância única. Embora operações individuais de um ou mais métodos sejam ilustradas e descritas como operações separadas, uma ou mais das operações individuais podem ser executadas simultaneamente, e nada requer que as operações sejam executadas na ordem ilustrada. As estruturas e funcionalidades apresentadas como componentes separados nas configurações exemplares podem ser implementadas como uma estrutura ou componente combinado. Da mesma forma, as estruturas e funcionalidades apresentadas como um componente único podem ser implementadas como componentes separados. Estas e outras variações, modificações, adições e melhorias caem dentro do escopo do assunto da presente invenção.
[0144]Embora tenha sido descrita uma descrição geral do assunto com referência a modalidades exemplificativas específicas, podem ser feitas várias modificações e alterações a estas modalidades sem sair do âmbito mais amplo de modalidades da presente divulgação. Tais modalidades da matéria podem ser aqui referidas, individual ou coletivamente, pelo termo “invenção” apenas por conveniência e sem
Petição 870190037619, de 18/04/2019, pág. 55/72
47/47 intenção de limitar voluntariamente o âmbito desta aplicação a qualquer divulgação ou conceito único se mais de uma for, de facto divulgado. A Descrição Detalhada não deve ser tomada num sentido limitative, e o âmbito de várias modalidades é definido apenas pelas reivindicações anexas, juntamente com a gama completa de equivalentes a que tais reivindicações têm direito.

Claims (23)

1. Método implementado por computador para proteção de informação, CARACTERIZADO por compreender:
comprometer um valor de transação t de uma transação com um esquema de compromisso para obter um valor de compromisso de transação Τ, o esquema de compromisso compreendendo, pelo menos, um fator de ocultação de transação r_t;
criptografar uma combinação do fator de ocultação de transação r_t e o valor de transação t com uma chave pública PK_B de um receptor da transação; e transmitir o valor de compromisso da transação Tea combinação criptografada para um nó receptor associado ao receptor do nó do receptor para verificar a transação.
2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que:
a chave pública PK_B é uma chave de criptografia assimétrica.
3. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que:
o esquema de compromisso compreende um compromisso de Pedersen baseado, pelo menos, no fator de ocultação da transação r_t e com o valor de transação t sendo um valor comprometido.
4. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que:
a combinação do fator de ocultação da transação r_t e o valor de transação t compreende uma concatenação do fator de ocultação da transação r_t e o valor da transação t.
5. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a transmissão do valor de compromisso de transação Tea combinação encriptada para o nó receptor associado ao receptor para o nó receptor verificar a transação
Petição 870190037619, de 18/04/2019, pág. 57/72
2/8 compreende transmitir o valor de compromisso de transação Tea combinação encriptada para o nó receptor associado o receptor, fazendo com que o nó receptor:
descriptografe a combinação criptografada com uma chave privada SK_B do receptor para obter o fator de ocultação da transação r_t e o valor da transação t; e verificar a transação com base, pelo menos, no valor de compromisso de transação T, no fator de ocultação de transação r_t e no valor da transação t.
6. Método, de acordo com a reivindicação 5, CARACTERIZADO pelo fato de que fazer com que o nó receptor verifique a transação com base, pelo menos, no valor de compromisso de transação T, o fator de ocultação de transação r_t, e o valor de transação t compreende fazer com que o nó receptor:
em resposta à determinação de que o valor de compromisso de transação T não corresponde ao esquema de compromisso de valor de transação t com base no fator de ocultação de transação r_t, rejeite a transação; e em resposta à determinação de que o valor de compromisso de transação T corresponde ao esquema de compromisso de valor de transação t baseado no fator de ocultação de transação r_t, aprove a transação assinando a transação com a chave privada SKJB do receptor para gerar um SIGB de assinatura de receptor.
7. Método, de acordo com a reivindicação 6, antes de transmitir a combinação encriptada ao nó receptor associado ao receptor, CARACTERIZADO por compreender adicionaímente:
comprometer uma alteração y da transação com o esquema de compromisso para obter um valor de compromisso de alteração Y, o esquema de comprometimento compreendendo pelo menos um fator de alteração de ocultação r_y, em que a alteração y é um ou mais ativos de um emissor da transação que são utilizados para a transação menos o valor da transação t; e criptografar outra combinação do fator de ocultação de alteração r_y e a alteração y com uma chave pública PK_A do emissor.
Petição 870190037619, de 18/04/2019, pág. 58/72
3/8
8. Método, de acordo com a reivindicação 7, CARACTERIZADO pelo fato de que compreende ainda:
em resposta ao recebimento da assinatura do receptor SIGB, aprovando a transação assinando a transação com uma chave privada SK_A do emissor gerar uma assinatura do emissor SIGA; e enviar a transação compreendendo a combinação criptografada, a outra combinação criptografada, o valor de compromisso de transação T, o valor de compromisso de alteração Y, a assinatura do emissor SIGA e o SIGB de assinatura do receptor para um ou mais nós em uma rede de cadeia de blocos para um ou mais nós para verificar a transação.
9. Método, de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que enviar a transação compreendendo a combinação criptografada, a outra combinação criptografada, o valor de compromisso de transação T, o valor de compromisso de alteração Y, a assinatura do emissor SIGA e o SIGB de assinatura do receptor para os um ou mais nós na rede de cadeia de blocos para um ou mais nós para verificar a transação compreende:
enviar a transação compreendendo a combinação criptografada, a outra combinação criptografada, o valor de compromisso de transação T, o valor de compromisso de alteração Y, o SIGA da assinatura do emissor e o SIGB de assinatura do receptor para um ou mais nós na rede de cadeia de blocos, fazendo com que os um ou mais nós, em resposta a uma verificação bem-sucedida da transação, emitam o valor da transação t para o receptor, eliminem um ou mais ativos aproveitados para a transação e emitam a alteração y para o emissor.
10. Mídia legível por computador não transitória CARACTERIZADO pelo fato de que armazena instruções, que quando executadas por um processador, fazem com que o processador realize as operações compreendendo:
comprometer um valor de transação t de uma transação com um esquema de
Petição 870190037619, de 18/04/2019, pág. 59/72
4/8 compromisso para obter um valor de compromisso de transação T, o esquema de compromisso compreendendo, pelo menos, um fator de ocultação de transação r_t;
criptografar uma combinação do fator de ocultação de transação r_t e o valor de transação t com uma chave pública PK_B de um receptor da transação; e transmitir o valor de compromisso da transação Tea combinação criptografada para um nó receptor associado ao receptor do nó do receptor para verificar a transação.
11. Meio de armazenamento, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que: a chave pública PK_B é uma chave de criptografia assimétrica.
12. Meio de armazenamento, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que: o esquema de compromisso compreende um compromisso de Pedersen baseado, pelo menos, no fator de ocultação da transação r_t e com o valor de transação t sendo um valor comprometido.
13. Meio de armazenamento, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que:
a combinação do fator de ocultação da transação r_t e o valor de transação t compreende uma concatenação do fator de ocultação da transação r_t e o valor da transação t.
14. Meio de armazenamento, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que a transmissão do valor de compromisso de transação Tea combinação encriptada para o nó receptor associado ao receptor para o nó receptor verificar a transação compreende transmitir o valor de compromisso de transação Tea combinação encriptada para o nó receptor associado o receptor, fazendo com que o nó receptor:
descriptografe a combinação criptografada com uma chave privada SK_B do receptor para obter o fator de ocultação da transação r_t e o valor da transação t; e
Petição 870190037619, de 18/04/2019, pág. 60/72
5/8 verificar a transação com base, pelo menos, no valor de compromisso de transação T, no fator de ocultação de transação r_t e no valor da transação t.
15. Meio de armazenamento, de acordo com a reivindicação 14, CARACTERIZADO pelo fato de que fazer com que o nó receptor verifique a transação com base, pelo menos, no valor de compromisso de transação Τ, o fator de ocultação de transação r_t, e o valor de transação t compreende fazer com que o nó receptor:
em resposta à determinação de que o valor de compromisso de transação T não corresponde ao esquema de compromisso de valor de transação t com base no fator de ocultação de transação r_t, rejeite a transação; e em resposta à determinação de que o valor de compromisso de transação T corresponde ao esquema de compromisso de valor de transação t baseado no fator de ocultação de transação r_t, aprove a transação assinando a transação com a chave privada SKJB do receptor para gerar um SIGB de assinatura de receptor.
16. Meio de armazenamento, de acordo com a reivindicação 15, antes de transmitir a combinação encriptada ao nó receptor associado ao receptor, as operações CARACTERIZADAS por compreender adicionalmente:
comprometer uma alteração y da transação com o esquema de compromisso para obter um valor de compromisso de alteração Y, o esquema de comprometimento compreendendo pelo menos um fator de alteração de ocultação r_y, em que a alteração y é um ou mais ativos de um emissor da transação que são utilizados para a transação menos o valor da transação t; e criptografar outra combinação do fator de ocultação de alteração r_y e a alteração y com uma chave pública PK_A do emissor.
17. Meio de armazenamento, de acordo com a reivindicação 16, CARACTERIZADO pelo fato de que as operações compreendem adicionalmente:
em resposta ao recebimento da assinatura do receptor SIGB, aprovando a transação assinando a transação com uma chave privada SK_A do emissor gerar uma
Petição 870190037619, de 18/04/2019, pág. 61/72
6/8 assinatura do emissor SIGA; e enviar a transação compreendendo a combinação criptografada, a outra combinação criptografada, o valor de compromisso de transação T, o valor de compromisso de alteração Y, a assinatura do emissor SIGA e o SIGB de assinatura do receptor para um ou mais nós em uma rede de cadeia de blocos para um ou mais nós para verificar a transação.
18. Meio de armazenamento, de acordo com a reivindicação 17, CARACTERIZADO pelo fato de que enviar a transação compreendendo a combinação criptografada, a outra combinação criptografada, o valor de compromisso de transação T, o valor de compromisso de alteração Y, a assinatura do emissor SIGA e o SIGB de assinatura do receptor para os um ou mais nós na rede de cadeia de blocos para um ou mais nós para verificar a transação compreende:
enviar a transação compreendendo a combinação criptografada, a outra combinação criptografada, o valor de compromisso de transação T, o valor de compromisso de alteração Y, o SIGA da assinatura do emissor e o SIGB de assinatura do receptor para um ou mais nós na rede de cadeia de blocos, fazendo com que os um ou mais nós, em resposta a uma verificação bem-sucedida da transação, emitam o valor da transação t para o receptor, eliminem um ou mais ativos aproveitados para a transação e emitam a alteração y para o emissor.
19. Sistema para proteção de informações, CARACTERIZADO por compreender um processador e um meio de armazenamento legível por computador não transitório acoplado ao processador, o meio de armazenamento armazenando instruções a serem executadas pelo processador para fazer com o sistema realize as operações compreendendo:
comprometer um valor de transação t de uma transação com um esquema de compromisso para obter um valor de compromisso de transação T, o esquema de compromisso compreendendo, pelo menos, um fator de ocultação de transação r_t;
Petição 870190037619, de 18/04/2019, pág. 62/72
7/8 criptografar uma combinação do fator de ocultação de transação r_t e o valor de transação t com uma chave pública PK_B de um receptor da transação; e transmitir o valor de compromisso da transação Tea combinação criptografada para um nó receptor associado ao receptor do nó do receptor para verificar a transação.
20. Método implementado por computador para proteção de informação, CARACTERIZADO por compreender:
obter uma combinação de um fator de ocultação de transação r_t e um valor de transação t criptografada com uma chave pública PK_B de um receptor de uma transação, e obter um valor de compromisso de transação T, em que: o valor de transação t é comprometido com um esquema de compromisso por um nó emissor associado a um emissor da transação para obter o valor de compromisso de transação T, o esquema de compromisso compreendendo pelo menos o fator de ocultação de transação r_t;
descriptografar a combinação obtida com uma chave privada SK_B de um receptor para obter o fator de ocultação da transação r_t e o valor de transação t; e verificar a transação com base, pelo menos, no valor de compromisso de transação T, no fator de ocultação de transação r_t e no valor da transação t.
21. Método, de acordo com a reivindicação 20, CARACTERIZADO pelo fato de que:
a chave pública PK_B do receptor e a chave privada SK_B do receptor são chaves de criptografia assimétrica.
22. Mídia legível por computador não transitória CARACTERIZADO pelo fato de que armazena instruções, que quando executadas por um processador, fazem com que o processador realize as operações compreendendo:
obter uma combinação de um fator de ocultação de transação r_t e um valor de transação t criptografada com uma chave pública PK_B de um receptor de uma
Petição 870190037619, de 18/04/2019, pág. 63/72
8/8 transação, e obter um valor de compromisso de transação T, em que: o valor de transação t é comprometido com um esquema de compromisso por um nó emissor associado a um emissor da transação para obter o valor de compromisso de transação T, o esquema de compromisso compreendendo pelo menos o fator de ocultação de transação r_t;
descriptografar a combinação obtida com uma chave privada SK_B de um receptor para obter o fator de ocultação da transação r_t e o valor de transação t; e verificar a transação com base, pelo menos, no valor de compromisso de transação T, no fator de ocultação de transação r_t e no valor da transação t.
23. Sistema para proteção de informações, CARACTERIZADO por compreender um processador e um meio de armazenamento legível por computador não transitório acoplado ao processador, o meio de armazenamento armazenando instruções a serem executadas pelo processador para fazer com o sistema realize as operações compreendendo:
obter uma combinação de um fator de ocultação de transação r_t e um valor de transação t criptografada com uma chave pública PK_B de um receptor de uma transação, e obter um valor de compromisso de transação T, em que: o valor de transação t é comprometido com um esquema de compromisso por um nó emissor associado a um emissor da transação para obter o valor de compromisso de transação T, o esquema de compromisso compreendendo pelo menos o fator de ocultação de transação r_t;
descriptografar a combinação obtida com uma chave privada SK_B de um receptor para obter o fator de ocultação da transação r_t e o valor de transação t; e verificar a transação com base, pelo menos, no valor de compromisso de transação T, no fator de ocultação de transação r_t e no valor da transação t.
BR112019008058-9A 2018-11-27 2018-11-27 sistema e método para proteção de informações BR112019008058A2 (pt)

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
BR112019008058A2 true BR112019008058A2 (pt) 2019-11-12

Family

ID=66100014

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112019008058-9A BR112019008058A2 (pt) 2018-11-27 2018-11-27 sistema e método para proteção de informações

Country Status (17)

Country Link
US (5) US10726657B2 (pt)
EP (2) EP3748901B1 (pt)
JP (1) JP6841911B2 (pt)
KR (1) KR102248154B1 (pt)
CN (1) CN110089069B (pt)
AU (1) AU2018347197B2 (pt)
BR (1) BR112019008058A2 (pt)
CA (1) CA3040791C (pt)
ES (2) ES2879855T3 (pt)
MX (1) MX2019004543A (pt)
PH (1) PH12019500848A1 (pt)
PL (2) PL3523919T3 (pt)
RU (1) RU2716740C1 (pt)
SG (1) SG11201903419WA (pt)
TW (1) TWI716034B (pt)
WO (1) WO2019072279A2 (pt)
ZA (1) ZA201902473B (pt)

Families Citing this family (22)

* 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 阿里巴巴集团控股有限公司 区块链交易方法及装置、电子设备
US11409734B2 (en) * 2018-10-29 2022-08-09 Electronics And Telecommunications Research Institute Blockchain system and operation method thereof
ES2881674T3 (es) 2018-11-27 2021-11-30 Advanced New Technologies Co Ltd Sistema y método para la protección de información
WO2019072276A2 (en) 2018-11-27 2019-04-18 Alibaba Group Holding Limited INFORMATION PROTECTION SYSTEM AND METHOD
PL3523919T3 (pl) 2018-11-27 2021-05-04 Alibaba Group Holding Limited System i sposób ochrony informacji
ES2859569T3 (es) 2018-11-27 2021-10-04 Advanced New Technologies Co Ltd Sistema y método para la protección de información
CN110730963B (zh) 2018-11-27 2023-12-01 创新先进技术有限公司 用于信息保护的系统和方法
US10700850B2 (en) 2018-11-27 2020-06-30 Alibaba Group Holding Limited System and method for information protection
KR102185191B1 (ko) * 2019-01-22 2020-12-01 (주)에스투더블유랩 암호화폐 거래 분석 방법 및 시스템
US10764062B2 (en) * 2019-06-03 2020-09-01 Alibaba Group Holding Limited Blockchain ledger compression
US10790990B2 (en) * 2019-06-26 2020-09-29 Alibaba Group Holding Limited Ring signature-based anonymous transaction
SG10201907110VA (en) * 2019-08-01 2020-08-28 Alibaba Group Holding Ltd Methods and devices for transaction matching based on blockchain system
CN110648229B (zh) * 2019-08-07 2022-05-17 中国科学院信息工程研究所 一种半公开的区块链系统及交易方法
CN110473105B (zh) * 2019-08-20 2024-01-16 深圳市迅雷网络技术有限公司 一种区块链交易结算方法、系统及相关设备
CN110472957A (zh) * 2019-08-20 2019-11-19 深圳市网心科技有限公司 一种区块链交易验证方法及相关设备
CN110545279A (zh) * 2019-09-05 2019-12-06 国网区块链科技(北京)有限公司 兼具隐私和监管功能的区块链交易方法、装置及系统
JP7372527B2 (ja) * 2019-09-26 2023-11-01 富士通株式会社 通信中継プログラム、中継装置、及び通信中継方法
US11373171B2 (en) * 2020-01-22 2022-06-28 Mastercard International Incorporated Method and system for prevention of lost currency in blockchain networks to missing wallets
TR202010606A1 (tr) * 2020-07-03 2022-01-21 Havelsan Hava Elektronik San Ve Tic A S Blok zi̇nci̇re kayitli di̇ji̇tal anahtarlarin güveni̇li̇r saklanmasi ve i̇leti̇lmesi̇ i̇çi̇n güvenli̇ bölge temelli̇ bi̇r yöntem
TWI770676B (zh) * 2020-11-17 2022-07-11 玉山商業銀行股份有限公司 線上交易處理系統及方法
CN113742761B (zh) * 2021-11-04 2022-03-15 深圳时空云科技有限公司 一种数字身份铸造方法、装置

Family Cites Families (136)

* 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
US7716484B1 (en) 2000-03-10 2010-05-11 Rsa Security Inc. System and method for increasing the security of encrypted secrets and authentication
AU2001255183A1 (en) 2000-04-14 2001-10-30 Wu Wen Delayed commitment scheme to prevent attacks based on compromised certificates
EP1205889A1 (en) 2000-11-10 2002-05-15 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Returning of change in an electronic payment system
US7181017B1 (en) 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
US7509498B2 (en) 2001-06-29 2009-03-24 Intel Corporation Digital signature validation
GB2378282A (en) 2001-07-31 2003-02-05 Hewlett Packard Co Automated multivariate negotiation using convertable undeniable signatures
WO2003036901A2 (en) 2001-10-19 2003-05-01 Matsushita Electric Industrial Co., Ltd. Device authentication system and device authentication method
DE602004016678D1 (de) 2003-11-03 2008-10-30 Koninkl Philips Electronics Nv Verfahren und einrichtung zur effizienten mehrteilnehmer-vervielfachung
US8156029B2 (en) * 2005-02-24 2012-04-10 Michael Gregory Szydlo Process for verifiably communicating risk characteristics of an investment portfolio
ES2380026T3 (es) 2005-05-10 2012-05-07 Dts Ltd. Procedimiento de transación y procedimiento de verificación
JP4435076B2 (ja) * 2005-11-18 2010-03-17 フェリカネットワークス株式会社 携帯端末,データ通信方法,およびコンピュータプログラム
US7725446B2 (en) 2005-12-19 2010-05-25 International Business Machines Corporation Commitment of transactions in a distributed system
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 日本電信電話株式会社 ビットコミットメント検証システム、ビットコミットメント装置、検証装置、ビットコミットメント検証方法、ビットコミットメント方法、検証方法、ビットコミットメントプログラム、検証プログラム
MX2011006772A (es) 2008-12-23 2011-08-03 Mtn Mobile Money Sa Pty Ltd Metodo y sistema para procesar de manera segura una transaccion.
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
SG10201608067QA (en) 2011-09-29 2016-11-29 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
GB201310084D0 (en) 2013-06-06 2013-07-17 Mastercard International Inc Improvements to electronic authentication systems
US9853819B2 (en) 2013-08-05 2017-12-26 Guardtime Ip Holdings Ltd. Blockchain-supported, node ID-augmented digital record signature method
US11055707B2 (en) 2014-06-24 2021-07-06 Visa International Service Association Cryptocurrency infrastructure system
KR20160024185A (ko) * 2014-08-25 2016-03-04 아이보 (주) SE(Secure element)를 이용한 암호화폐 관리 시스템 및 그 방법
GB201419016D0 (en) 2014-10-24 2014-12-10 Visa Europe Ltd Transaction Messaging
CN107615317A (zh) 2015-03-31 2018-01-19 纳斯达克公司 区块链交易记录的系统和方法
US20160300234A1 (en) 2015-04-06 2016-10-13 Bitmark, Inc. System and method for decentralized title recordation and authentication
US9397985B1 (en) * 2015-04-14 2016-07-19 Manifold Technology, Inc. System and method for providing a cryptographic platform for exchanging information
US10026082B2 (en) 2015-05-21 2018-07-17 Mastercard International Incorporated Method and system for linkage of blockchain-based assets to fiat currency accounts
US9870562B2 (en) 2015-05-21 2018-01-16 Mastercard International Incorporated Method and system for integration of market exchange and issuer processing for blockchain-based transactions
US11080665B1 (en) 2015-06-08 2021-08-03 Blockstream Corporation Cryptographically concealing amounts and asset types for independently verifiable transactions
US11062303B2 (en) * 2015-06-08 2021-07-13 Blockstream Corporation Cryptographically concealing amounts transacted on a ledger while preserving a network's ability to verify the transaction
US10708072B2 (en) 2015-06-30 2020-07-07 Visa International Service Association Mutual authentication of confidential communication
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
WO2017079652A1 (en) 2015-11-05 2017-05-11 Pulsifer Allen Cryptographic transactions system
US20180253702A1 (en) 2015-11-24 2018-09-06 Gartland & Mellina Group Blockchain solutions for financial services and other transactions-based industries
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
CA3010116A1 (en) 2016-02-23 2017-08-31 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 엔체인 홀딩스 리미티드 블록체인으로부터 데이터의 안전한 추출을 위한 암호화 방법 및 시스템
CN114282928A (zh) 2016-02-23 2022-04-05 恩链控股有限公司 基于区块链系统结合钱包管理系统的加密密钥存储和转移
CA3015697C (en) 2016-02-29 2022-11-22 Securekey Technologies Inc. Systems and methods for distributed identity verification
KR102608099B1 (ko) 2016-04-11 2023-12-01 엔체인 홀딩스 리미티드 블록체인에서 안전한 피어-투-피어 통신을 위한 방법
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 주식회사 코인플러그 메신저 서비스를 통하여 송수신하는 데이터에 대한 기록 서비스 및 검증 서비스를 제공하는 방법, 및 이를 이용한 서버
SG11201809112VA (en) 2016-07-15 2018-11-29 Visa Int Service Ass Digital asset distribution by transaction device
EP3273635B1 (en) 2016-07-20 2019-10-30 Mastercard International Incorporated Secure channel establishment
EP3491572B1 (en) 2016-07-26 2021-09-01 NEC Corporation Method for controlling access to a shared resource
US10067810B2 (en) 2016-07-28 2018-09-04 Cisco Technology, Inc. Performing transactions between application containers
GB201613176D0 (en) 2016-07-29 2016-09-14 Eitc Holdings Ltd Computer-implemented method and system
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
CN110024422B (zh) 2016-12-30 2023-07-18 英特尔公司 物联网的命名和区块链记录
CN106911470B (zh) * 2017-01-23 2020-07-07 北京航空航天大学 一种比特币交易隐私增强方法
CN106845960B (zh) 2017-01-24 2018-03-20 上海壹账通区块链科技有限公司 基于区块链的安全交易方法及系统
US11082418B2 (en) 2017-02-13 2021-08-03 Avalanche Cloud Corporation Privacy ensured brokered identity federation
CN107025602A (zh) 2017-02-24 2017-08-08 杭州象链网络技术有限公司 一种基于联盟链的金融资产交易系统构建方法
JP6961960B2 (ja) 2017-03-13 2021-11-05 ソニーグループ株式会社 情報処理装置および情報処理方法
JP6719410B2 (ja) 2017-03-17 2020-07-08 Kddi株式会社 生成装置、検証装置、及びプログラム
US20180293576A1 (en) 2017-04-05 2018-10-11 Samsung Sds Co., Ltd. System for custom currency transaction based on blockchain and operating method thereof
US11095432B2 (en) 2017-04-05 2021-08-17 Samsung Sds Co., Ltd. System for processing data based on blockchain and operating method thereof
GB201705621D0 (en) 2017-04-07 2017-05-24 Nchain Holdings Ltd Computer-implemented system and method
GB201705749D0 (en) 2017-04-10 2017-05-24 Nchain Holdings Ltd Computer-implemented system and method
GB201705858D0 (en) 2017-04-11 2017-05-24 Nchain Holdings Ltd Computer-implemented system and method
GB201706132D0 (en) 2017-04-18 2017-05-31 Nchain Holdings Ltd Computer-implemented system and method
US10320758B2 (en) 2017-04-25 2019-06-11 International Business Machines Corporation Cryptography using multi-factor key system and finite state machine
US10198949B2 (en) 2017-04-28 2019-02-05 Mastercard International Incorporated Method and system for parking verification via blockchain
US10560270B2 (en) 2017-05-03 2020-02-11 International Business Machines Corporation Optimal data storage configuration in a blockchain
GB201707168D0 (en) 2017-05-05 2017-06-21 Nchain Holdings Ltd Computer-implemented system and method
GB201707296D0 (en) 2017-05-08 2017-06-21 Nchain Holdings Ltd Computer-implemented system and method
US11165589B2 (en) 2017-05-11 2021-11-02 Shapeshift Ag Trusted agent blockchain oracle
CN107451175B (zh) 2017-05-23 2020-01-31 创新先进技术有限公司 一种基于区块链的数据处理方法及设备
CN107239951A (zh) 2017-06-07 2017-10-10 北京天德科技有限公司 一种基于第三代区块链的可扩展央行数字货币交易方法
CN117640099A (zh) 2017-06-14 2024-03-01 区块链控股有限公司 用于避免或减少区块链网络上的加密滞留资源的系统和方法
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
SG11202002525RA (en) 2017-09-29 2020-04-29 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 深圳市轱辘车联数据技术有限公司 数据交易方法、区块链节点服务器及数据提交终端
EP3718069B1 (en) 2017-11-30 2024-04-17 Visa International Service Association Blockchain system for confidential and anonymous smart contracts
CN108418689B (zh) 2017-11-30 2020-07-10 矩阵元技术(深圳)有限公司 一种适合区块链隐私保护的零知识证明方法和介质
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 中国银联股份有限公司 基于智能合约的数据传递方法及系统
US11544708B2 (en) 2017-12-29 2023-01-03 Ebay Inc. User controlled storage and sharing of personal user information on 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
WO2019158209A1 (en) 2018-02-16 2019-08-22 Ecole polytechnique fédérale de Lausanne (EPFL) Methods and systems for secure data exchange
CN108512650B (zh) 2018-02-28 2021-03-09 南京思利华信息科技有限公司 面向区块链的动态哈希计算方法、装置、节点及存储介质
CN108288159A (zh) 2018-03-07 2018-07-17 物数(上海)信息科技有限公司 基于多区块链的跨链交易方法、系统、设备及存储介质
CN108320228A (zh) 2018-03-07 2018-07-24 物数(上海)信息科技有限公司 跨区块链资产交易方法、平台、设备及存储介质
US11159306B2 (en) 2018-04-24 2021-10-26 Duvon Corporation Autonomous exchange via entrusted ledger token and transaction management
US10708243B2 (en) 2018-04-24 2020-07-07 Capital One Services, Llc Message encryption using public keychains
CN108711105A (zh) 2018-05-16 2018-10-26 四川吉鼎科技有限公司 一种基于区块链的安全交易验证方法及系统
CN108764874B (zh) * 2018-05-17 2021-09-07 深圳前海微众银行股份有限公司 基于区块链的匿名转账方法、系统及存储介质
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
AU2018348318B2 (en) 2018-11-07 2020-05-21 Advanced New Technologies Co., Ltd. Blockchain system supporting public and private transactions under account models
PL3523919T3 (pl) * 2018-11-27 2021-05-04 Alibaba Group Holding Limited System i sposób ochrony informacji
ES2859569T3 (es) 2018-11-27 2021-10-04 Advanced New Technologies Co Ltd Sistema y método para la protección de información
WO2019072276A2 (en) 2018-11-27 2019-04-18 Alibaba Group Holding Limited INFORMATION PROTECTION SYSTEM AND METHOD

Also Published As

Publication number Publication date
AU2018347197B2 (en) 2020-06-25
US20210090375A1 (en) 2021-03-25
PL3523919T3 (pl) 2021-05-04
US20200051361A1 (en) 2020-02-13
US20200258339A1 (en) 2020-08-13
CN110089069B (zh) 2022-02-22
KR20200066260A (ko) 2020-06-09
ES2879855T3 (es) 2021-11-23
PH12019500848A1 (en) 2019-11-25
EP3523919A4 (en) 2020-02-26
CA3040791A1 (en) 2019-04-18
WO2019072279A3 (en) 2019-09-19
EP3748901B1 (en) 2021-06-09
US10748370B2 (en) 2020-08-18
JP2020502857A (ja) 2020-01-23
WO2019072279A2 (en) 2019-04-18
RU2716740C1 (ru) 2020-03-16
SG11201903419WA (en) 2019-05-30
CA3040791C (en) 2020-12-15
PL3748901T3 (pl) 2021-12-06
EP3523919B1 (en) 2020-08-26
US10885735B2 (en) 2021-01-05
US20200151992A1 (en) 2020-05-14
US20200258340A1 (en) 2020-08-13
TWI716034B (zh) 2021-01-11
MX2019004543A (es) 2019-11-11
ZA201902473B (en) 2020-08-26
US10909795B2 (en) 2021-02-02
EP3523919A2 (en) 2019-08-14
US11282325B2 (en) 2022-03-22
JP6841911B2 (ja) 2021-03-10
US10726657B2 (en) 2020-07-28
CN110089069A (zh) 2019-08-02
EP3748901A1 (en) 2020-12-09
KR102248154B1 (ko) 2021-05-06
ES2833552T3 (es) 2021-06-15
TW202020711A (zh) 2020-06-01

Similar Documents

Publication Publication Date Title
BR112019008058A2 (pt) sistema e método para proteção de informações
TWI706275B (zh) 用於資訊保護的系統和方法
US11080694B2 (en) System and method for information protection
KR102150814B1 (ko) 정보 보호를 위한 시스템 및 방법
US10892888B2 (en) System and method for information protection
BR112019007232B1 (pt) Métodos implementados por computador para proteção da informação, sistemas para proteção da informação e meio de armazenamento legível por computador não transitório
AU2019101590A4 (en) System and method for information protection

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD. (KY)

B25A Requested transfer of rights approved

Owner name: ADVANCED NEW TECHNOLOGIES CO., LTD. (KY)

B350 Update of information on the portal [chapter 15.35 patent gazette]
B08F Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette]

Free format text: REFERENTE A 5A ANUIDADE.

B08K Patent lapsed as no evidence of payment of the annual fee has been furnished to inpi [chapter 8.11 patent gazette]

Free format text: EM VIRTUDE DO ARQUIVAMENTO PUBLICADO NA RPI 2750 DE 19-09-2023 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDO O ARQUIVAMENTO DO PEDIDO DE PATENTE, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.