BR112018011353B1 - Método e sistema para provisão e armazenamento de chave criptografada distribuída via criptografia de curva elíptica - Google Patents

Método e sistema para provisão e armazenamento de chave criptografada distribuída via criptografia de curva elíptica Download PDF

Info

Publication number
BR112018011353B1
BR112018011353B1 BR112018011353-0A BR112018011353A BR112018011353B1 BR 112018011353 B1 BR112018011353 B1 BR 112018011353B1 BR 112018011353 A BR112018011353 A BR 112018011353A BR 112018011353 B1 BR112018011353 B1 BR 112018011353B1
Authority
BR
Brazil
Prior art keywords
key
processing server
private
data signal
public
Prior art date
Application number
BR112018011353-0A
Other languages
English (en)
Other versions
BR112018011353A2 (pt
Inventor
Steven Charles DAVIS
Original Assignee
Mastercard International Incorporated
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 Mastercard International Incorporated filed Critical Mastercard International Incorporated
Publication of BR112018011353A2 publication Critical patent/BR112018011353A2/pt
Publication of BR112018011353B1 publication Critical patent/BR112018011353B1/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Abstract

a presente invenção refere-se a um método para distribuição de múltiplas chaves criptografadas usadas para acessar dados que inclui: receber um sinal de dados sobreposto a uma solicitação de chave de acesso, no qual a solicitação de chave de acesso inclui pelo menos um número, n, maior que 1, de chaves solicitadas; gerar n pares de chaves usando um algoritmo gerador de par de chaves, no qual cada par de chaves inclui uma chave privada e uma chave pública; derivar uma cha-ve de acesso privada aplicando-se a chave privada incluída em cada um dos n pares de chaves a um algoritmo de derivação de chave; gerar uma chave de acesso pública correspondente à chave de acesso privada derivada usando o algoritmo gerador de par de chaves; e transmitir eletronicamente um sinal de dados sobreposto a uma chave privada incluída em um dos n pares de chaves para cada um dos n pares de chaves.

Description

Relatório Descritivo da Patente de Invenção para "MÉTODO E SISTEMA PARA PROVISÃO E ARMAZENAMENTO DE CHAVE CRIPTOGRAFADA DISTRIBUÍDA VIA CRIPTOGRAFIA DE CURVA ELÍPTICA". REFERÊNCIA CRUZADA A PEDIDOS DE PATENTE RELACIONADOS [001] Este pedido de patente reivindica prioridade e benefício da data de depósito do pedido de patente U.S., número 15/001.775, depositado em 20 de janeiro de 2016, o qual está incorporado aqui em sua totalidade por meio de referência.
CAMPO
[002] O presente relatório descritivo refere-se à distribuição de múltiplas chaves criptografadas usadas para acessar dados e, de maneira específica, ao uso de criptografia de curva elíptica para distribuir com segurança uma pluralidade de chaves criptografadas usadas para derivar uma única chave para acesso de dados necessários na negociação de propriedade de dados dos destinatários das chaves criptografadas.
ANTECEDENTES
[003] Em um mundo no qual o número de dispositivos de computação está na casa de bilhões, a transferência de dados é uma constante. Dados pode ser transferido a partir de um dispositivo de computação para outro, a partir de um dispositivo de computação para vários outros dispositivos de computação, ou a partir de vários dispositivos de computação para um único dispositivo. Em vários casos, a segurança de uma transferência de dados pode ser tão importante quanto para onde os dados estão sendo transferidos. Por exemplo, se os dados forem devidamente protegidos de modo que apenas uma parte destinatária seja capaz de visualizá-los, eles podem ser disponibilizados publicamente para facilitar o acesso da parte destinatária. Havendo um alto nível de segurança, os dados podem ser protegidos de qualquer outra entidade que não seja a parte destinatária a despeito da acessibilidade pública, o que torna extremamente importante garantir a segurança dos dados que são transferidos via canais públicos.
[004] No entanto, tal hipótese pode ser extremamente difícil nos casos em que os dados devem ser disponibilizados para um grupo de partes destinatárias. Por exemplo, se uma entidade quiser tornar os dados disponíveis publicamente acessíveis para um grupo de quatro pessoas diferentes, a parte pode criptografar os dados e prover chaves adequadas de acesso aos dados para cada uma das quatro pessoas diferentes. Neste caso, um comprometimento de qualquer uma das quatro chaves pode corromper os dados que estão sendo transferidos, causando uma redução significava na segurança. Para manter o mais alto nível de segurança, pode ser melhor que a parte distribua uma única chave de acesso aos dados. No entanto, talvez o grupo de quatro pessoas não consiga identificar que pessoa deve receber a chave única, ou tal identificação pode ser demorada ou acarretar em outro tipo de inconveniência para a parte.
[005] Desse modo, há a necessidade de uma solução técnica para a transferência de dados a serem acessados por uma pluralidade de entidades por meio do uso de uma única chave de acesso. Além disso, há a necessidade de uma solução técnica por meio da qual uma parte remetente possa fornecer dados para cada uma da pluralidade de entidades para negociação de propriedade por parte das entidades sem a participação de uma parte remetente. Neste caso, os dados podem ser transferidos com segurança e o mínimo de probabilidade de serem comprometidos, provendo-se acesso apenas para uma única entidade, a qual pode ser selecionada entre a pluralidade de entidades sem exigir participação adicional de uma parte remetente.
SUMÁRIO
[006] O presente relatório descritivo provê uma descrição de sis temas e métodos para distribuição de múltiplas chaves criptografadas a serem usadas no acesso de dados.
[007] Um método para distribuição de múltiplas chaves criptografadas usadas para acessar dados inclui: receber, por meio de um dispositivo de recebimento de um servidor de processamento, um sinal de dados sobreposto a uma solicitação de chave de acesso, no qual a solicitação de chave de acesso inclui pelo menos um número, n, maior que 1, de chaves solicitadas; gerar, por meio de um módulo de geração do servidor de processamento, n pares de chaves usando um algoritmo gerador de par de chaves, no qual cada par de chaves inclui uma chave privada e uma chave pública; derivar, por meio de um módulo de derivação do servidor de processamento, uma chave de acesso privada aplicando-se a chave privada incluída em cada um dos n pares de chaves a um algoritmo de derivação de chave; gerar, por meio do módulo de geração do servidor de processamento, uma chave de acesso pública correspondente à chave de acesso privada derivada usando o algoritmo gerador de par de chaves; e transmitir eletronicamente, por meio de um dispositivo de transmissão do servidor de processamento, um sinal de dados sobreposto a uma chave privada incluída em um dos n pares de chaves para cada um dos n pares de chaves.
[008] Um sistema para distribuição de múltiplas chaves criptografadas usadas para acessar dados inclui: um dispositivo de transmissão de um servidor de processamento; um dispositivo de recebimento do servidor de processamento configurado para receber um sinal de dados sobreposto a uma solicitação de chave de acesso, no qual a solicitação de chave de acesso inclui pelo menos um número, n, de chaves solicitadas; um módulo de geração do servidor de processamento configurado para gerar n pares de chaves usando um algoritmo gerador de par de chaves, no qual cada par de chaves inclui uma chave priva da e uma chave pública; e um módulo de derivação do servidor de processamento configurado para derivar uma chave de acesso privada aplicando-se a chave privada incluída em cada um dos n pares de chaves a um algoritmo de derivação de chave. O módulo de geração do servidor de processamento também é configurado para gerar uma chave de acesso pública correspondente à chave de acesso privada derivada usando o algoritmo gerador de par de chaves. O dispositivo de transmissão do servidor de processamento é configurado para transmitir eletronicamente um sinal de dados sobreposto a uma chave privada incluída em um dos n pares de chaves para cada um dos n pares de chaves.
BREVE DESCRIÇÃO DOS DESENHOS
[009] O escopo do presente relatório descritivo será melhor compreendido a partir da seguinte descrição detalhada das modalidades exemplares quando lida em conjunto com os desenhos em anexo, nos quais: [0010] A figura 1 é um diagrama em bloco que ilustra uma arquitetura de sistema de alto nível de distribuição de chaves para múltiplas entidades negociar propriedade de recompensa de acordo com modalidades exemplares.
[0011] A figura 2 é um diagrama em bloco que ilustra o servidor de processamento da figura 1 para a distribuição de chaves criptografadas para múltiplas entidades a serem usadas na negociação de propriedade de recompensa de acordo com modalidades exemplares. [0012] A figura 3 é um diagrama de fluxo que ilustra a geração de uma chave de acesso pelo servidor de processamento da figura 2 para proteger os dados usados na negociação de propriedade por múltiplas entidades de acordo com modalidades exemplares.
[0013] A figura 4 é um diagrama de fluxo que ilustra um fluxo de processos para a transferência de uma chave de acesso usando crip tografia de curva elíptica de acordo com modalidades exemplares. [0014] A figura 5 é um fluxograma que ilustra um método exemplar para distribuição de múltiplas chaves criptografadas usadas no acesso de dados de acordo com modalidades exemplares.
[0015] A figura 6 é um diagrama em bloco que ilustra uma arquitetura de sistema de computador de acordo com modalidades exemplares.
[0016] Outras áreas de aplicabilidade da presente invenção se tornarão evidentes a partir da descrição detalhada provida logo a seguir. É válido ressaltar que a descrição detalhada das modalidades exemplares serve apenas ao propósito de ilustração e, portanto, não se destina a necessariamente limitar o escopo da invenção DESCRIÇÃO DETALHADA
Glossário dos Termos [0017] Blockchain - Um livro fiscal público de todas as transações de uma moeda baseada em Blockchain. Um ou mais dispositivos de computação podem compreender uma rede Blockchain, os quais podem ser configurados parum processoar e registrar transações como parte de um bloco na Blockchain. Assim que um bloco é completado, ele é adicionado à Blockchain e o registro da transação, atualizado. Em vários casos, a Blockchain pode ser um livro fiscal de transações organizadas em ordem cronológica, ou ela pode ser apresentada em qualquer outra ordem cujo uso seja adequado para a rede Blockchain. Em algumas configurações, as transações registradas na Blockchain podem incluir um endereço de destino e uma quantidade de moeda para que a Blockchain possa registrar quanto de moeda é atribuível a um endereço específico. Em algumas dessas configurações, a Blockchain pode usar uma moeda digital baseada em Blockchain, a qual pode ser exclusiva para a respectiva Blockchain. Em alguns casos, informações adicionais podem ser captadas, tais como um endereço de origem, data e hora, etc. Em algumas modalidades, a Blockchain também pode consistir em dados adicionais e, em alguns casos, dados arbitrários que são confirmados e validados pela rede Blockchain por meio de prova de trabalho e/ou quaisquer outras técnicas adequadas de verificação associadas com os mesmos. Em alguns casos, tais dados podem ser incluídos na Blockchain como parte de transações, tal como incluídos em dados adicionais anexados aos dados da transação. Em alguns casos, a inclusão de tais dados na Blockchain pode constituir uma transação. Em tais casos, a Blockchain talvez não esteja diretamente associada com uma aprovação digital e virtual específica ou com outro tipo de moeda. A Blockchain pode ser privada, quando apenas sistemas ou dispositivos autorizados podem acessar a Blockchain, ou pode ser pública, quando a Blockchain pode ser acessada por qualquer dispositivo ou sistema. Em qualquer um dos casos, é possível limitar a habilidade de os dispositivos ou sistemas adicionarem transações à Blockchain.
Sistema para Distribuição de Chave Criptografada via Criptografia de Curva Elíptica [0018] A figura 1 ilustra um sistema 100 para a transferência de chaves criptografadas usando criptografia de curva elíptica para uso na transferência segura de dados.
[0019] O sistema 100 pode incluir um servidor de processamento 102. O servidor de processamento 102, discutido em mais detalhes abaixo, pode ser configurado para gerar múltiplas chaves criptografadas a serem distribuídas por meio de criptografia de curva elíptica e que são usadas no acesso a dados por parte de uma pluralidade de dispositivos de computação 104. Isso é feito de um modo que exige o processamento em um computador especificamente programado para executar as funções descritas aqui, as quais não podem ser executadas em um computador de propósito geral nem concebidas de uma forma realista mediante processo mental ou com papel e lápis, e assim prover uma solução técnica para a negociação de propriedade de recompensa na transferência segura de dados. O servidor de processamento 102 pode receber uma solicitação de chave de acesso contendo uma pluralidade de chaves a serem entregues aos dispositivos de computação 104 para uso no acesso de dados. A solicitação de chave de acesso pode ser recebida a partir de um dispositivo externo, tal como outro dispositivo ou sistema de computação, tal como via uma transmissão eletrônica a partir de tal dispositivo ou sistema usando-se uma rede de comunicação adequada (por exemplo, uma rede de área local, uma rede de área ampla, radiofrequência, Bluetooth, comunicação de campo próximo, a Internet, etc.), ou pode ser recebida via um ou mais dispositivos de entrada interligados com o servidor de processamento 102 que podem ser acessados por um usuário do servidor de processamento 102. A solicitação de chave de acesso pode especificar um número, n, de dispositivos de computação 104 para o qual as chaves de acesso foram solicitadas. No exemplo ilustrado na figura 1, a solicitação de chave de acesso pode ser para três chaves de acesso.
[0020] O servidor de processamento 102 pode em seguida gerar o número solicitado, n, de pares de chaves. Cada par de chaves pode ser composto por uma chave privada e uma chave pública, referido aqui como um par de chaves de "recompensa" que compreende uma chave privada e uma chave pública de "recompensa". O servidor de processamento 102 pode usar um algoritmo adequado gerador de par de chaves na criação do número solicitado de pares de chaves. Em uma modalidade exemplar, o algoritmo gerador de par de chaves pode ser um esquema em curva elíptica de acordo de chaves. Em outra modalidade, a curva elíptica Diffie-Hellman (ECDH) acordo de chaves protocolo pode ser usada na geração de cada um dos n pares de cha ves, como pode ser compreendido por uma pessoa versada na técnica. Em qualquer caso, o algoritmo gerador de par de chaves pode ser um algoritmo adequado para o uso de sigilos compartilhados, conforme discutido em mais detalhes abaixo.
[0021] Assim que os n números de pares de chaves de recompensa forem gerados, o servidor de processamento 102 pode derivar uma chave de acesso privada aplicando a chave privada de recompensa de cada um dos n pares de chaves de recompensa a um algoritmo de derivação de chave. Em algumas modalidades, o algoritmo de derivação de chave pode incluir o uso de uma operação lógica XOR. Em modalidades exemplares, o algoritmo de derivação de chave pode ser de tal tipo que a variação na ordenação ou sequência de chaves privadas de recompensa durante a derivação da chave de acesso privada possa resultar em uma mesma chave de acesso privada. Em tais modalidades, qualquer entidade em posse de cada uma das chaves privadas de recompensa e que saiba qual algoritmo de derivação de chave deve ser usado, é capaz de reproduzir a chave de acesso privada a despeito da ordenação ou sequência das chaves privadas de recompensa.
[0022] O servidor de processamento 102 também pode ser configurado para gerar uma chave de acesso pública correspondente ao acesso derivado. A chave de acesso pública pode ser gerada por meio do uso de um algoritmo gerador de par de chaves, o qual pode ser o mesmo algoritmo gerador de par de chaves usado para gerar os pares de chaves de recompensa. Por exemplo, em uma modalidade exemplar, o servidor de processamento 102 pode usar o protocolo de acordo de chaves ECDH para gerar a chave de acesso pública como parte de um par de chaves com a chave de acesso privada derivada.
[0023] O servidor de processamento 102 pode usar a chave de acesso privada que foi derivada para restringir o acesso aos dados. E qualquer método adequado para a restrição de acesso aos dados que use uma chave privada pode ser usado. Por exemplo, em um caso, os dados podem ser criptografados usando-se a chave de acesso privada e um algoritmo adequado de criptografia. Em outro exemplo, os dados para os quais o acesso foi restrito podem ser uma quantidade de moeda Blockchain disponível via uma rede Blockchain 106. Em tal exemplo, a chave de acesso pública pode ser usada para gerar um endereço de destino para uma quantidade de moeda Blockchain, no qual a chave de acesso privada é usada para assinar o endereço de destino e prover acesso à moeda Blockchain associada com o mesmo. O uso de pares de chaves para transferir e acessar a moeda Blockchain usando uma rede Blockchain 106 se tornará evidente para pessoas versadas na técnica relevante.
[0024] Assim que o servidor de processamento 102 restringir o acesso aos dados desejados usando a chave de acesso privada, o servidor de processamento 102 pode transmitir eletronicamente uma chave privada de recompensa para cada um dos dispositivos de computação 104 para que cada dispositivo de computação 104 receba uma chave privada de recompensa diferente. Por exemplo, no caso ilustrado na figura 1, o servidor de processamento 102 pode gerar as chaves privadas de recompensa Ka, Kb e Kc, as quais podem ser transmitidas eletronicamente para os dispositivos de computação 104a, 104b, e 104c, respectivamente. Em algumas modalidades, as chaves privadas de recompensa podem ser sobrepostas a um sinal de dados transmitido eletronicamente para os respectivos dispositivos de computação 104 usando a Internet ou outra rede de comunicação adequada.
[0025] Em uma modalidade exemplar, as chaves privadas de recompensa podem ser criptografadas antes de sua transmissão usan-do-se um sigilo compartilhado. Em tal modalidade, o servidor de pro cessamento 102 e cada um dos dispositivos de computação 104 podem gerar pares de chaves a serem usadas na transferência, criptografia e descriptografia das chaves privadas de recompensa por meio de sigilos compartilhados. O servidor de processamento 102 e os dispositivos de computação 104 podem gerar um par de chaves usando o mesmo algoritmo gerador de par de chaves, o qual pode ser o protocolo de acordo de chaves ECDH ou outro algoritmo adequado para uso em conjunto com os sigilos compartilhados. Usando o algoritmo gerador de par de chaves, o servidor de processamento 102 pode gerar um par de chaves referido aqui como um par de chaves de "transferência" que compreende uma chave privada e uma chave pública de "transferência". Cada dispositivo de computação 104 pode gerar um par de chaves usando o algoritmo gerador de par de chaves referido aqui como um par de chaves de "dispositivo" que compreende uma chave privada e uma chave pública de "dispositivo". Cada dispositivo de computação 104 pode transmitir eletronicamente sua chave pública de dispositivo associada para o servidor de processamento 102 usando um método adequado de comunicação. O servidor de processamento 102 também pode transmitir eletronicamente a chave de transferência pública para cada um dos dispositivos de computação 104. Em alguns casos, a chave de transferência pública pode ser transmitida (por exemplo, na mesma transmissão ou em uma transmissão anexada) com a chave privada de recompensa criptografada.
[0026] Depois que o servidor de processamento 102 recebe a chave pública de dispositivo a partir de um dispositivo de computação 104, o servidor de processamento 102 pode gerar um sigilo compartilhado. O sigilo compartilhado pode ser gerado usando-se a chave de transferência privada e a chave pública de dispositivo em conjunto com o algoritmo gerador de par de chaves usado na geração das respectivas chaves. O sigilo compartilhado pode ser um sigilo que é equi valente quando gerado com a chave privada de um primeiro par de chaves e a chave pública de um segundo par de chaves, ou quando gerado com a chave pública do primeiro par de chaves e a chave privada do segundo par de chaves. Por exemplo, no caso ilustrado, o servidor de processamento 102 pode gerar um sigilo compartilhado a ser usado na transmissão da chave privada de recompensa Ka para o dispositivo de computação 104a usando a chave de transferência privada gerada pelo servidor de processamento 102 e a chave pública de dispositivo recebida a partir do dispositivo de computação 104a. O dispositivo de computação 104a pode gerar um sigilo compartilhado equivalente usando a chave de transferência pública recebida a partir do servidor de processamento 102 e a chave privada de dispositivo gerada pelo dispositivo de computação 104a.
[0027] Assim que o servidor de processamento 102 gera um sigilo compartilhado associado com um dispositivo de computação 104 (por exemplo, usando aquela chave pública de dispositivo específica do dispositivo de computação), o servidor de processamento 102 pode criptografar a chave privada de recompensa que está sendo transmitida para esse dispositivo de computação 104 usando o sigilo compartilhado associado. Qualquer algoritmo adequado de criptografia pode ser usado, tal como o algoritmo de criptografia AES256. A chave privada de recompensa criptografada pode ser então transmitida eletronicamente para o dispositivo de computação associado 104 usando-se qualquer método adequado de comunicação. Em alguns casos, o servidor de processamento 102 pode incluir a chave de transferência pública na comunicação eletrônica usada para transmitir uma chave privada de recompensa criptografada.
[0028] Cada dispositivo de computação 104 pode gerar um sigilo compartilhado para uso na descriptografia da chave privada de recompensa criptografada que foi recebida. O sigilo compartilhado pode ser gerado usando-se a chave de transferência pública transmitida eletronicamente pelo servidor de processamento 102 e a chave privada de dispositivo do dispositivo de computação que foi gerada. O sigilo compartilhado pode ser gerado usando-se o algoritmo gerador de par de chaves usado pelo dispositivo de computação 104 e pelo servidor de processamento 102 na geração dos pares de chaves correspondentes. O dispositivo de computação 104 pode usar o sigilo compartilhado para decifrar a chave privada de recompensa usando o algoritmo de criptografia apropriado que foi usado pelo servidor de processamento 102. Por exemplo, o dispositivo de computação 104 pode usar o algoritmo AES256 na descriptografia da chave privada de recompensa usando o sigilo compartilhado.
[0029] Assim que cada dispositivo de computação 104 recebe e decodifica, se aplicável, sua respectiva chave privada de recompensa, os dispositivos de computação 104 podem negociar a posse de cada uma das chaves privadas de recompensa. Em alguns casos, os usuários associados com os dispositivos de computação 104 podem negociar a posse das chaves privadas de recompensa sem o uso dos dispositivos de computação 104. Por exemplo, no caso ilustrado, três usuários dos dispositivos de computação 104 podem negociar off-line um acordo para que o usuário de dispositivo de computação 104a possa coletar cada uma das chaves privadas de recompensa. Neste caso, os dispositivos de computação 104b e 104c podem transmitir eletronicamente sua chave privada de recompensa para o dispositivo de computação 104a usando um método adequado de comunicação.
[0030] Em algumas modalidades, as chaves privadas de recompensa podem ser transferidas para os dispositivos de computação 104 usando-se sigilos compartilhados. Em tais modalidades, os dispositivos de computação 104 podem trocar suas chaves públicas de dispositivo associadas para uso na geração dos sigilos compartilhados para a criptografia de chaves privadas de recompensa a serem transferidas. Por exemplo, o dispositivo de computação 104b pode gerar um sigilo compartilhado para criptografar a chave privada de recompensa Kb usando a chave privada de dispositivo gerada pelo dispositivo de computação 104b e a chave pública de dispositivo gerada pelo dispositivo de computação 104a, e criptografar a chave privada de recompensa Kb com o sigilo compartilhado. O dispositivo de computação 104b pode transmitir eletronicamente a chave privada de recompensa criptografada Kb para o dispositivo de computação 104a usando um método adequado de comunicação. O dispositivo de computação 104a pode gerar um sigilo compartilhado usando a chave privada de dispositivo gerada pelo dispositivo de computação 104a e a chave pública de dispositivo gerada pelo dispositivo de computação 104b, e decifrar a chave privada de recompensa Kb. Os dispositivos de computação 104a e 104c podem repetir o processo para o dispositivo de computação 104a receber e decifrar a chave privada de recompensa Kc.
[0031] Assim que um dispositivo de computação 104 tem posse de cada uma das chaves privadas de recompensa, o dispositivo de computação 104 pode derivar a chave de acesso privada usando o algoritmo de derivação de chave usada pelo servidor de processamento 102 na derivação do mesmo. O dispositivo de computação 104 pode usar a chave de acesso privada para acessar os dados que estão sendo transferidos. Por exemplo, se os dados forem uma moeda Blo-ckchain associada com a rede Blockchain 106, o dispositivo de computação 104 pode usar a chave de acesso privada como uma assinatura para acessar a moeda Blockchain transferida para o endereço de destino gerado usando-se a chave de acesso pública.
[0032] Os métodos e sistemas discutidos aqui podem permitir a transferência de dados que são acessíveis usando-se uma única chave privada, a qual deve ser derivada via uma pluralidade de chaves entregues para múltiplas entidades. Com o uso das chaves entregues para múltiplas entidades, é possível garantir a proteção dos dados até o momento da negociação entre múltiplas entidades ser efetuada, sem a necessidade de participação de uma parte remetente. Além disso, como a chave de acesso é derivada usando-se as chaves entregues a cada entidade, os dados podem ter um nível de segurança significativamente mais elevado do que no caso em que se usa uma única chave, o que pode prover maior proteção para os dados, particularmente, nos casos em que os dados podem estar disponíveis publicamente, mas não acessíveis, tal como em uma rede Blockchain 106. O uso de criptografia de curva elíptica pode prover uma maior proteção, bem como as chaves privadas de recompensa podem ter um nível de proteção mais elevado durante sua transferência. Sendo assim, os métodos e sistemas discutidos aqui podem prover uma maior proteção tanto na transferência de dados quanto na transferência de chaves usadas no acesso aos dados transferidos.
[0033] O uso dos métodos e sistemas discutidos aqui também pode ser benéfico durante o armazenamento de uma chave criptografada usada para acessar dados seguros. Por exemplo, uma entidade pode ter dados a serem armazenados com segurança e pode usar os métodos discutidos aqui para gerar uma única chave privada para criptografar os dados, em que as chaves privadas de recompensa usadas para derivar a chave privada única são entregues a uma pluralidade de sistemas de computação diferentes e, em seguida, a chave privada única é descartada. Em tais casos, se o armazenamento da chave criptografada para um dos sistemas de computação for comprometido, os dados continuam preservados já que a entidade que ganhou acesso à chave privada de recompensa não será capaz de derivar a chave privada única usada para criptografar os dados. A chave privada comprometida pode ser fornecida a outros sistemas de computação, a chave privada única pode ser derivada a partir dos mesmos e o processo, repetido para gerar uma nova série de chaves privadas de recompensa. Neste caso, os dados continuam preservados mesmo se qualquer armazenamento da chave criptografada for comprometido. Sendo assim, os métodos discutidos aqui podem ser benéficos na provisão de um armazenamento seguro de chave criptografada distribuída.
Servidor de Processamento [0034] A figura 2 ilustra uma modalidade do servidor de processamento 102 do sistema 100. Obviamente que pessoas versadas na técnica relevante irão compreender que a modalidade do servidor de processamento 102 ilustrada na figura 2 é provida apenas como ilustração e talvez não seja minuciosa quanto a todas as configurações possíveis do servidor de processamento 102 adequadas para executar as funções conforme discutidas aqui. Por exemplo, o computador sistema 600 ilustrado na figura 6 e discutido em mais detalhes abaixo pode ser uma configuração adequada do servidor de processamento 102.
[0035] O servidor de processamento 102 pode incluir um dispositivo de recebimento 202. O dispositivo de recebimento 202 pode ser configurado para receber dados por meio de uma ou mais redes via um ou mais protocolos de rede. Em alguns casos, o dispositivo de recebimento 202 também pode ser configurado para receber dados a partir de dispositivos de computação 104, redes Blockchain 106 e outras entidades por meio de redes de comunicação adequadas, tais como redes de área local, redes de área ampla, redes de radiofrequência, a Internet. Em algumas modalidades, o dispositivo de recebimento 202 pode ser composto por múltiplos dispositivos, tais como dispositivos de recebimento diferentes para receber dados por meio de diferentes redes, tal como um primeiro dispositivo de recebimento para receber dados por meio de comunicação de campo próximo e um se gundo dispositivo de recebimento para receber dados por meio da Internet. O dispositivo de recebimento 202 pode receber sinais de dados que são transmitidos eletronicamente, no qual os dados podem ser sobrepostos ao sinal de dados, decodificados, analisados, lidos ou obtidos de outro modo mediante o recebimento do sinal de dados pelo dispositivo de recebimento 202. Em alguns casos, o dispositivo de recebimento 202 pode incluir um módulo de análise para analisar o sinal de dados recebido e obter os dados sobrepostos ao mesmo. Por exemplo, o dispositivo de recebimento 202 pode incluir um programa de análise configurado para receber e transformar o sinal de dados recebido em registro utilizável para as funções executadas pelo dispositivo de processamento executar os métodos e sistemas descritos aqui.
[0036] O dispositivo de recebimento 202 pode ser configurado para receber os sinais de dados transmitidos eletronicamente pelos dispositivos de computação 104 para uso na execução das funções discutidas aqui. Os sinais de dados transmitidos eletronicamente pelos dispositivos de computação 104 podem ser sobrepostos às chaves públicas de dispositivo, tal como para uso na geração de sigilos compartilhados. O dispositivo de recebimento 202 também pode receber sinais de dados a partir de dispositivos e sistemas adicionais, tal como a partir da rede Blockchain 106 e/ou de nodos associados com a mesma para uso na transferência de dados (por exemplo, moeda Blockchain) por meio da rede Blockchain 106, tal como um dispositivo externo de computação que envia uma solicitação de chave de acesso. Em alguns casos, o dispositivo de recebimento 202 pode receber um sinal de dados sobreposto a uma solicitação de chave de acesso para n chaves privadas de recompensa para acessar os dados de um dispositivo de computação 104 e receber uma das chaves privadas de recompensa.
[0037] O servidor de processamento 102 também pode incluir um módulo de comunicação 204. O módulo de comunicação 204 pode ser configurado para a transmissão de dados entre módulos, mecanismos, bancos de dados, memórias e outros componentes do servidor de processamento 102 para uso na execução das funções discutidas aqui. O módulo de comunicação 204 pode ser composto por um ou mais tipos de comunicação e pode utilizar vários métodos de comunicação para se comunicar dentro de um dispositivo de computação. Por exemplo, o módulo de comunicação 204 pode ser composto por um barramento, conectores de pinos de contato, fios, etc. Em algumas modalidades, o módulo de comunicação 204 também pode ser configurado para se comunicar com os componentes internos do servidor de processamento 102 e os componentes externos do servidor de processamento 102, tais como bancos de dados externamente conectados, dispositivos de exibição, dispositivos de entrada, etc. O servidor de processamento 102 também pode incluir um dispositivo de processamento. O dispositivo de processamento pode ser configurado para executar as funções do servidor de processamento 102 discutidas aqui, conforme se tornará evidente para pessoas versadas na técnica relevante. Em algumas modalidades, o dispositivo de processamento pode incluir e/ou ser composto por uma pluralidade de mecanismos e/ou módulos especialmente configurados para executar uma ou mais funções do dispositivo de processamento, tais como um módulo de consulta 218, um módulo de geração 206, um módulo de derivação 208, um módulo de criptografia 210, módulo de descriptografia 212, etc. Conforme usado aqui, o termo "módulo" pode ser um software ou um hardware particularmente programado para receber uma entrada, executar um ou mais processos usando a entrada e prover uma saída. A entrada, a saída e os processos executados por vários módulos se tornarão evidentes para uma pessoa versada na técnica baseando-se no presente relato- rio descritivo.
[0038] O servidor de processamento 102 pode incluir um módulo de consulta 218. O módulo de consulta 218 pode ser configurado para executar consultas em bancos de dados para identificar informações. O módulo de consulta 218 pode receber um ou mais valores de dados ou cadeias de consulta, e pode executar uma cadeia de consulta baseada no mesmo em um banco de dados indicado, tal como uma memória 216, para identificar as informações armazenadas no mesmo. O módulo de consulta 218 pode em seguida enviar as informações identificadas para um mecanismo ou módulo apropriado do servidor de processamento 102 quando necessário. O módulo de consulta 218 pode, por exemplo, executar uma consulta na memória 216 para identificar uma ou mais chaves recebidas a partir de um dispositivo de computação 104 ou geradas pelo servidor de processamento 102 para uso nos métodos discutidos aqui.
[0039] O servidor de processamento 102 pode incluir um módulo de geração 206. O módulo de geração 206 pode ser configurado para gerar pares de chaves e sigilos compartilhados. O módulo de geração 206 pode receber uma solicitação como uma entrada, a qual pode requerer a geração de um par de chaves ou sigilo compartilhado e pode incluir informações para uso em conjunto com o mesmo. O módulo de geração 206 pode executar as funções solicitadas e enviar os dados solicitados para serem usados por outro módulo ou mecanismo do servidor de processamento 102. Por exemplo, o módulo de geração 206 pode ser configurado para gerar pares de chaves, tais como pares de chaves de recompensa, usando um algoritmo gerador de par de chaves conforme incluído ou indicado de outro modo (por exemplo, identificado na memória 216 por meio do módulo de consulta 218) na solicitação. O módulo de geração 206 também pode ser configurado para gerar um sigilo compartilhado usando uma chave pública e uma chave privada a partir de dois pares de chaves diferentes, os quais podem utilizar o mesmo algoritmo gerador de par de chaves. Em alguns casos, o módulo de geração 206 também pode ser configurado para gerar uma chave pública correspondente a uma chave privada usando o algoritmo gerador de par de chaves. Em uma modalidade exemplar, o protocolo de acordo de chaves ECDH pode ser usado pelo módulo de geração 206.
[0040] O servidor de processamento 102 também pode incluir um módulo de derivação 208. O módulo de derivação 208 pode ser configurado para derivar chaves públicas e/ou privadas. O módulo de derivação 208 pode receber uma ou mais chaves bem como um algoritmo de derivação de chave ou uma indicação do mesmo como uma entrada, pode derivar uma ou mais chaves solicitadas e pode enviá-las para serem usadas por outro módulo ou mecanismo do servidor de processamento 102. Por exemplo, o módulo de derivação 208 pode receber uma pluralidade de chaves privadas de recompensa geradas pelo módulo de geração 306 e pode derivar uma chave de acesso privada correspondente como base no mesmo usando um algoritmo adequado de derivação de chave. Em algumas modalidades, o módulo de derivação 208 pode usar um algoritmo para que a ordenação ou sequência das chaves privadas de recompensa seja irrelevante, ou seja, para que a variação na ordem de uso das chaves privadas de recompensa na derivação possa resultar na mesma chave de acesso privada. Em tal modalidade, o algoritmo de derivação de chave pode incluir o uso de uma operação lógica XOR.
[0041] O servidor de processamento 102 também pode incluir um módulo de criptografia 210. O módulo de criptografia 210 pode ser configurado para criptografar dados usando algoritmos adequados de criptografia, tal como o algoritmo AES256. O módulo de criptografia 210 pode receber os dados a serem criptografados e uma chave para uso dos mesmos como uma entrada, pode criptografar os dados usando um algoritmo adequado e pode enviar os dados criptografados para outro módulo ou mecanismo do servidor de processamento 102 para que sejam usados pelo mesmo. Em alguns casos, o módulo de criptografia 210 pode receber o algoritmo de criptografia ou uma indicação do mesmo como uma entrada. Em outros casos, o módulo de criptografia 210 pode identificar o algoritmo de criptografia a ser usado. O módulo de criptografia 210 pode, por exemplo, criptografar uma chave privada de recompensa usando um sigilo compartilhado gerado em associação com o mesmo.
[0042] O servidor de processamento 102 também pode incluir um módulo de descriptografia 212. O módulo de descriptografia 212 pode ser configurado para decifrar dados usando algoritmos adequados de criptografia, tal como o algoritmo AES256. O módulo de descriptografia 212 pode receber dados a serem descriptografados e uma chave para uso dos mesmos como uma entrada, pode decifrar os dados usando um algoritmo adequado e pode enviar os dados descriptografados para outro módulo ou mecanismo do servidor de processamento 102 usá-los. A entrada fornecida ao módulo de descriptografia 212 pode incluir o algoritmo de criptografia a ser usado ou pode incluir uma indicação do mesmo, tal como uma indicação para uso na identificação de um algoritmo de criptografia armazenado na memória 216 por meio de um módulo de consulta 218. O módulo de descriptografia 212 pode, por exemplo, decifrar as chaves providas pelos dispositivos de computação 104 usando sigilos compartilhados associados.
[0043] Em algumas modalidades, o servidor de processamento 102 pode incluir módulos ou mecanismos adicionais para uso na execução das funções discutidas aqui. Por exemplo, o servidor de processamento 102 pode incluir módulos adicionais para uso em conjunto com uma rede Blockchain 106, tal como para iniciar e efetuar transa ções da Blockchain e para assinar endereços e pedidos de transação de transferência de moeda Blockchain usando a rede Blockchain 106. Em alguns casos, os módulos do servidor de processamento 102 ilustrado na figura 2 e discutido aqui podem ser configurados para executar funções adicionais em associação com o mesmo. Por exemplo, o módulo de geração 206 pode ser configurado para gerar um endereço de destino de Blockchain usando a chave de acesso pública.
[0044] O servidor de processamento 102 também pode incluir um dispositivo de transmissão 214. O dispositivo de transmissão 214 pode ser configurado para transmitir dados por meio de uma ou mais redes via um ou mais protocolos de rede. Em alguns casos, o dispositivo de transmissão 214 pode ser configurado para transmitir dados para dispositivos de computação 104, redes Blockchain 106 e outras entidades por meio de redes de comunicação adequadas, tais como redes de área local, redes de área ampla, redes de radiofrequência, a Internet. Em algumas modalidades, o dispositivo de transmissão 214 pode ser composto por múltiplos dispositivos, tais como dispositivos de transmissão diferentes para transmitir dados por meio de diferentes redes, tal como um primeiro dispositivo de transmissão para transmitir dados por meio de comunicação de campo próximo e um segundo dispositivo de transmissão para transmitir dados por meio da Internet. O dispositivo de transmissão 214 pode transmitir eletronicamente sinais de dados contendo dados sobrepostos que podem ser analisados por um dispositivo de computação receptor. Em alguns casos, o dispositivo de transmissão 214 pode incluir um ou mais módulos para sobrepor, codificar ou formatar de outro modo os dados em sinais de dados adequados para transmissão.
[0045] O dispositivo de transmissão 214 pode ser configurado para transmitir eletronicamente sinais de dados para os dispositivos de computação 104, os quais são sobrepostos a chaves públicas e/ou privadas que podem, em alguns casos, ser criptografadas usando-se sigilos compartilhados. Por exemplo, o dispositivo de transmissão 214 pode ser configurado para transmitir sinais de dados sobrepostos a chaves privadas de recompensa criptografadas para dispositivos de computação 104, os quais também podem ser sobrepostos a uma chave de transferência pública para serem usados pelos dispositivos de computação 104 na geração de um sigilo compartilhado. O dispositivo de transmissão 214 também pode ser configurado para transmitir sinais de dados para redes Blockchain 106 a serem usados na transferência de moeda Blockchain.
[0046] O servidor de processamento 102 também pode incluir a memória 216. A memória 216 pode ser configurada para armazenar dados a serem usados pelo servidor de processamento 102 na execução das funções discutidas aqui. A memória 216 pode ser configurada para armazenar dados usando métodos e esquemas adequados de formatação de dados e pode ser qualquer tipo adequado de memória, tal como memória apenas de leitura, memória de acesso aleatório, etc. A memória 216 pode incluir, por exemplo, chaves criptografadas e algoritmos, protocolos e padrões de comunicação, padrões e protocolos de formatação de dados, código de programa para módulos e programas aplicativos do dispositivo de processamento, e outros dados cujo uso seja adequado para o servidor de processamento 102 no desempenho das funções descritas aqui, conforme se tornará evidente para pessoas versadas na técnica relevante. A memória 216 pode ser configurada para armazenar algoritmos geradores de par de chaves, algoritmos de derivação de chave e algoritmos de criptografia para uso na execução das funções do servidor de processamento 102 discutido aqui.
Derivação de uma Chave de Acesso Privada [0047] A figura 3 ilustra um processo 300 para a derivação de uma chave de acesso privada para uso no acesso a dados por meio de múltiplas chaves criptografadas geradas para serem entregues a uma pluralidade de dispositivos de computação 104.
[0048] Na etapa 302, o módulo de geração 206 do servidor de processamento 102 pode gerar uma pluralidade de pares de chaves de recompensa 304 usando um algoritmo adequado gerador de par de chaves, o qual pode ser um esquema em curva elíptica de acordo de chaves, tal como o protocolo de acordo de chaves ECDH. O número de pares de chaves de recompensa 304 gerado pelo módulo de geração 206 pode se basear em uma solicitação de chave de acesso conforme recebida pelo dispositivo de recebimento 202 do servidor de processamento 102 ou por um ou mais dispositivos de entrada interligados com o servidor de processamento 102.
[0049] No exemplo ilustrado na figura 3, o módulo de geração 206 pode gerar três pares de chaves de recompensa 304, ilustrados na figura 3 como o par de chaves 1 304a, o par de chaves 2 304b e o par de chaves 3 304c. Cada par de chaves de recompensa 304 pode compreender uma chave privada de recompensa e uma chave pública de recompensa correspondente. Na etapa 306, o módulo de derivação 208 do servidor de processamento 102 pode usar uma operação lógica XOR com a chave privada de recompensa a partir de cada um dos pares de chaves de recompensa 304 para derivar uma chave de acesso privada 308. Usando-se a operação lógica XOR, a ordem de operações para derivação da chave de acesso privada 308 torna-se irrelevante para a chave de acesso privada derivada. Por exemplo, no processo 300 ilustrado na figura 3, os pares de chaves 304 podem incluir três chaves privadas de recompensa R1, R2, e R3. A chave de acesso privada 308 derivada que usa uma operação lógica XOR 306 de todas as três chaves via XOR(R1, XOR(R2, R3)) pode ser equivalente às chaves de acesso privadas 308 derivadas por meio das operações X0R(R2, X0R(R1, R3)) e XOR (R3, XOR(R1, R2)).
[0050] A chave de acesso privada resultante 308 pode ser então usada pelo servidor de processamento 102 na restrição de acesso aos dados. Por exemplo, a chave de acesso privada 308 pode ser usada para criptografar dados, ou pode ser usada para assinar um endereço de destino para recebimento de moeda Blockchain associada com uma rede Blockchain 106. As chaves privadas de recompensa incluídas em cada par de chaves de recompensa 304 podem ser entregues aos dispositivos de computação 104 como um meio de provisão de acesso aos dados restritos. Para o armazenamento de chaves criptografadas distribuídas, uma entidade pode usar a chave de acesso privada 308 para criptografar ou restringir de outro modo o acesso aos dados, pode descartar a chave de acesso privada 308 e pode em seguida distribuir a chave privada de recompensa entre cada par de chaves de recompensa 304 de um dispositivo de computação 104, o qual pode fazer parte da entidade (por exemplo, um sistema de computação subsidiário ou controlado) ou pode ser uma entidade associada confiável. Em tais casos, se o armazenamento das chaves de qualquer dispositivo de computação 104 for comprometido, os dados continuarão protegidos.
Processo para Transferência de Chaves via Criptografia de Curva Elíptica para Acesso a Dados [0051] A figura 4 ilustra um processo para a distribuição de chaves privadas via criptografia de curva elíptica, tal como para a distribuição de chaves privadas de recompensa geradas usando-se o processo 300 ilustrado na figura 3 na derivação de uma chave de acesso privada para o acesso a dados.
[0052] Na etapa 402, o servidor de processamento 102 pode gerar uma pluralidade de pares de chaves de recompensa e derivar a partir da mesma uma chave de acesso privada, tal como usando o processo 300 ilustrado na figura 3 e discutido acima. Na etapa 404, o servidor de processamento 102 e um dispositivo de computação 104 podem trocar chaves públicas para uso na geração de sigilos compartilhados. O dispositivo de computação 104 pode gerar um par de chaves de dispositivo usando um algoritmo gerador de par de chaves, tal como o protocolo de acordo de chaves ECDH, o qual pode compreender uma chave privada de dispositivo e uma chave pública de dispositivo. O módulo de geração 206 do servidor de processamento 102 pode gerar um par de chaves de transferência usando o mesmo algoritmo gerador de par de chaves, o que resulta em uma chave de transferência privada e uma chave de transferência pública. A troca de chaves públicas pode incluir a transferência eletrônica da chave pública de dispositivo a partir do dispositivo de computação 104 para o servidor de processamento 102 e da chave de transferência pública a partir do servidor de processamento 102 (por exemplo, via o dispositivo de transmissão 214) para o dispositivo de computação 104.
[0053] Na etapa 406, o módulo de geração 206 do servidor de processamento 102 pode gerar um sigilo compartilhado. O sigilo compartilhado pode ser gerado usando-se o mesmo algoritmo gerador de par de chaves, tal como o protocolo de acordo de chaves ECDH, usando a chave de transferência privada gerada pelo módulo de geração 206 e a chave pública de dispositivo recebida a partir do dispositivo de computação 104. Na etapa 406, o dispositivo de computação 104 pode gerar um sigilo compartilhado equivalente usando o mesmo algoritmo gerador de par de chaves, a chave privada de dispositivo gerada previamente pelo dispositivo de computação 104 e a chave de transferência pública recebida a partir do servidor de processamento 104.
[0054] Na etapa 410, o módulo de criptografia 210 do servidor de processamento 104 pode criptografar a chave privada de recompensa gerada na etapa 402 e usada na derivação da chave de acesso privada por meio de um algoritmo adequado de criptografia com o sigilo compartilhado. O algoritmo de criptografia pode ser, por exemplo, o algoritmo AES256. Na etapa 412, o dispositivo de transmissão 214 do servidor de processamento 102 pode transmitir eletronicamente um sinal de dados sobreposto à chave privada de recompensa criptografada para o dispositivo de computação 104 usando uma rede e um protocolo de comunicação adequados.
[0055] Na etapa 414, o dispositivo de computação 104 pode receber o sinal de dados e analisar a chave privada de recompensa criptografada a partir do mesmo. Na etapa 416, o dispositivo de computação 104 pode decifrar a chave privada de recompensa. A chave privada de recompensa pode ser descriptografada com o mesmo algoritmo de criptografia usado pelo servidor de processamento 102 com o sigilo compartilhado. A chave privada de recompensa que foi descriptogra-fada pode ser então usada na derivação da chave de acesso privada quando combinada com as outras chaves privadas de recompensa (por exemplo, as chaves recebidas a partir de outros dispositivos de computação 104) usando-se o algoritmo apropriado de derivação de chave. Método Exemplar para Distribuição de Múltiplas Chaves criptografadas Usadas para Acessar Dados [0056] A figura 5 ilustra um método 500 para distribuição de múltiplas chaves criptografadas para uma pluralidade de dispositivos de computação, as quais podem ser usadas para derivar uma chave de acesso para acessar dados.
[0057] Na etapa 502, um sinal de dados sobreposto a uma solicitação de chave de acesso pode ser recebido por um dispositivo de recebimento (por exemplo, o dispositivo de recebimento 202) de um servidor de processamento (por exemplo, o servidor de processamento 102), no qual a solicitação de chave de acesso inclui pelo menos um número, n, maior que 1, de chaves solicitadas. Na etapa 504, n pares de chaves podem ser gerados por um módulo de geração (por exemplo, o módulo de geração 206) do servidor de processamento usando um algoritmo gerador de par de chaves, no qual cada par de chaves inclui uma chave privada e uma chave pública.
[0058] Na etapa 506, uma chave de acesso privada pode ser derivada por um módulo de derivação (por exemplo, o módulo de derivação 208) do servidor de processamento aplicando-se a chave privada incluída em cada um dos n pares de chaves a um algoritmo de derivação de chave. Na etapa 508, uma chave de acesso pública correspondente à chave de acesso privada que foi derivada pode ser gerada pelo módulo de geração do servidor de processamento usando-se o algoritmo gerador de par de chaves. Na etapa 510, um sinal de dados sobreposto a uma chave privada incluída em um dos n pares de chaves pode ser transmitido eletronicamente por um dispositivo de transmissão (por exemplo, o dispositivo de transmissão 214) do servidor de processamento para cada um dos n pares de chaves.
[0059] Em uma modalidade, o método 500 também pode incluir: armazenar, em uma memória (por exemplo, a memória 216) do servidor de processamento, um par de chaves de transferência que inclui uma chave de transferência pública e uma chave de transferência privada; receber, por meio do dispositivo de recebimento do servidor de processamento, um sinal de dados sobreposto a uma chave pública compartilhada a partir de cada de n dispositivos de computação (por exemplo, dispositivos de computação 104); gerar, por meio do módulo de geração do servidor de processamento, n sigilos compartilhados, no qual cada sigilo compartilhado é gerado usando-se uma chave pública compartilhada de os n chaves públicas compartilhadas e a chave de transferência privada e o algoritmo gerador de par de chaves; e criptografar, por meio de um módulo de criptografia (por exemplo, o módulo de criptografia 210) do servidor de processamento, a chave privada incluída em cada um dos n pares de chaves com um dos n sigilos compartilhados usando um algoritmo de criptografia, no qual a chave privada incluída e sobreposta ao sinal de dados transmitido eletronicamente é a respectiva chave privada criptografada. Em outra modalidade, o método 500 também pode incluir transmitir eletronicamente, por meio do dispositivo de transmissão do servidor de processamento, um sinal de dados sobreposto à chave de transferência pública para os n dispositivos de computação.
[0060] Em mais uma modalidade, o sinal de dados sobreposto à chave de transferência pública pode ser transmitido eletronicamente para os n dispositivos de computação antes do recebimento do sinal de dados sobreposto à chave pública compartilhada. Em mais uma modalidade, cada sinal de dados sobreposto à chave de transferência pública pode ser um sinal de dados igual a cada sinal de dados sobreposto a uma chave privada criptografada. Em mais uma modalidade, o sinal de dados pode ser transmitido eletronicamente para um nodo em uma rede Blockchain (por exemplo, a rede Blockchain 106) onde a chave privada criptografada é incluída em uma solicitação de transação que também inclui um endereço de destino correspondente à respectiva chave pública compartilhada.
[0061] Em algumas modalidades, o algoritmo gerador de par de chaves pode ser um esquema em curva elíptica de acordo de chaves. Em outras modalidades, o esquema em curva elíptica de acordo de chaves pode ser o protocolo Diffie-Hellman de acordo de chaves em curva elíptica. Em uma modalidade, o algoritmo de derivação de chave pode incluir o uso de uma operação lógica XOR. Em algumas modalidades, o método 500 também pode incluir transmitir eletronicamente, por meio do dispositivo de transmissão do servidor de processamento, um sinal de dados sobreposto a uma solicitação de transação para um nodo em uma rede Blockchain, no qual a solicitação de transação inclui pelo menos um endereço de destino assinado usando a chave de acesso privada derivada.
Arquitetura de Sistema de Computador [0062] A figura 6 ilustra um computador sistema 600 no qual as modalidades do presente relatório descritivo, ou partes das mesmas, podem ser implantadas como código légivel por computador. Por exemplo, o servidor de processamento 102 da figura 1 pode ser implantado no computador sistema 600 usando-se hardware, software, firmware, meios não transitórios legíveis por computador que possuam instruções armazenadas nos mesmos ou uma combinação dos mesmos, e pode ser implantado em um ou mais sistemas de computador ou em outros sistemas de processamento. Hardware, software ou qualquer combinação dos mesmos pode incorporar módulos e componentes usados para implantar os métodos das figuras de 3 a 5.
[0063] Se uma lógica programável for usada, essa lógica pode ser executada em uma plataforma de processamento comercialmente disponível ou em um dispositivo de propósito especial. Uma pessoa versada na técnica compreenderá que as modalidades do tema descrito podem ser praticadas com várias configurações de sistema de computador, o que inclui sistemas de multiprocessador com múltiplos núcleos, minicomputadores, computadores mainframe, computadores conectados ou agrupados com funções distribuídas, bem como computadores ubíquos ou em miniatura que podem ser embutidos virtualmente em qualquer dispositivo. Por exemplo, pelo menos um dispositivo processador e uma memória podem ser usados para implantar as modalidades descritas acima.
[0064] Uma unidade ou dispositivo processador conforme discutido aqui pode ser um único processador, uma pluralidade de processa dores ou combinações dos mesmos. Os dispositivos processadores podem ter um ou mais "núcleos" processadores. Os termos "meio de programa de computador", "meio não transitório legível por computador" e "meio utilizável em computador", conforme discutidos aqui, geralmente são usados para se referir a meios tangíveis, tais como uma unidade de armazenamento removível 618, uma unidade de armazenamento removível 622 e um disco rígido instalado na unidade de disco rígido 612.
[0065] Várias modalidades do presente relatório descritivo são descritas em relação a esse sistema de computador exemplar 600. Após a leitura desta descrição, se tornará evidente para uma pessoa versada na técnica relevante como implantar a presente invenção usando outros sistemas de computador e/ou arquiteturas de computador. Embora as operações tenham sido descritas como um processo sequencial, algumas dessas operações podem ser de fato executadas em paralelo, simultaneamente e/ou em um ambiente distribuído, e com o código de programa armazenado de forma local ou remota a ser acessado por máquinas com um ou múltiplos processadores. Além disso, em algumas modalidades, a ordem das operações pode ser redefinida sem fugir do espírito do tema descrito.
[0066] O dispositivo processador 604 pode ser um dispositivo processador de propósito especial ou de propósito geral especificamente configurado para executar as funções discutidas aqui. O dispositivo processador 604 pode ser conectado a uma infraestrutura de comunicação 606, tais como um barramento, fila de mensagens, rede, esquema com múltiplos núcleos para passagem de mensagens, etc. A rede pode ser qualquer rede adequada para executar as funções conforme descritas aqui e pode incluir uma rede de área local (LAN), uma rede de área ampla (WAN), uma rede sem fio (por exemplo, WiFi), uma rede de comunicação móvel, uma rede via satélite, a Internet, fi bra ótica, cabo coaxial, infravermelho, radiofrequência (RF) ou qualquer combinação dos mesmos. Outros tipos adequados de rede e configurações se tornarão evidentes para pessoas versadas na técnica relevante. O sistema de computador 600 também pode incluir uma memória principal 608 (por exemplo, memória de acesso aleatório, memória apenas de leitura, etc.) e também pode incluir uma memória secundária 610. A memória secundária 610 pode incluir a unidade de disco rígido 612 e uma unidade de armazenamento removível 614, tais como um disquete drive, uma unidade de fita magnética tape, uma unidade de disco óptico, uma memória flash, etc.
[0067] A unidade de armazenamento removível 614 pode efetuar leitura e/ou gravação na unidade de armazenamento removível 618 de um modo bem conhecido. A unidade de armazenamento removível 618 pode incluir um meio de armazenamento removível que pode ser lido por e gravado pela unidade de armazenamento removível 614. Por exemplo, se a unidade de armazenamento removível 614 for uma unidade de disquete ou uma entrada de barramento serial universal, a unidade de armazenamento removível 618 pode ser um disquete ou um pen drive portátil, respectivamente. Em uma modalidade, a unidade de armazenamento removível 618 pode ser um meio de gravação não transitório legível por computador.
[0068] Em algumas modalidades, a memória secundária 610 pode incluir meios alternativos para permitir que programas de computador ou outras instruções sejam carregadas no sistema de computador 600, por exemplo, a unidade de armazenamento removível 622 e uma interface 620. Exemplos de tais meios podem incluir um cartucho de programa e interface de cartucho (por exemplo, como aquela encontrada em sistemas de vídeo game), um chip de memória removível (por exemplo, EEPROM, PROM, etc.) e tomada associada, e outras unidades de armazenamento removíveis 622 e interfaces 620, conforme se tornará evidente para pessoas versadas na técnica relevante.
[0069] Os dados armazenados no sistema de computador 600 (por exemplo, na memória principal 608 e/ou na memória secundária 610) podem ser armazenados em qualquer tipo de adequado de meio legível por computador, tal como um armazenamento óptico (por exemplo, um disco compacto, disco versátil digital, disco Blu-ray, etc.) ou armazenamento em fita magnética (por exemplo, uma unidade de disco rígido). Os dados podem ser configurados em qualquer tipo de configuração adequada de banco de dados, tais como um banco de dados relacionai, um banco de dados em linguagem de consulta estruturada (SQL), um banco de dados distribuído, um banco de dados orientado a objetos, etc. Os tipos adequados de configurações e armazenamento se tornarão evidentes para pessoas versadas na técnica relevante.
[0070] O sistema de computador 600 também pode incluir uma interface de comunicação 624. A interface de comunicação 624 pode ser configurada para permitir que software e dados sejam transferidos entre o sistema de computador 600 e dispositivos externos. Exemplos de interfaces de comunicação 624 podem incluir um modem, uma rede interface (por exemplo, um cartão Ethernet), uma porta de comunicações, uma entrada para cartão PCMCIA, etc. O software e os dados transferidos por meio da interface de comunicação 624 podem estar na forma de sinais, os quais podem ser eletrônicos, eletromagnéticos, ópticos ou outros sinais, conforme se tornará evidente para pessoas versadas na técnica relevante. Os sinais podem viajar por um caminho de comunicação 626 que pode ser configurado para conduzir os sinais e pode ser implantado usando-se fio, cabo, fibras óticas, uma linha telefônica, uma conexão via telefone celular, uma conexão via radiofrequência, etc.
[0071] O sistema de computador 600 também pode incluir uma interface de exibição 802. A interface de exibição 602 pode ser confi gurada para permitir a transferência de dados entre o sistema de computador 600 e a tela externa 630. Exemplos de interfaces de exibição 602 podem incluir interface multimídia de alta definição (HDMI), interface visual digital (DVI), conjunto de gráficos de vídeo (VGA), etc. A tela 630 pode ser qualquer tipo de tela adequada para exibir os dados transmitidos por meio da interface de exibição 602 do sistema de computador 600, o que inclui uma tela de tubo de raios catódicos (CRT), uma tela de cristal líquido (LCD), uma tela de diodo emissor de luz (LED), uma tela de toque capacitiva, uma tela de transistor de película fina (TFT), etc.
[0072] Os termos "meio de programa de computador" e "meio utilizável em computador" podem se referir a memórias, tais como a memória principal 608 e a memória secundária 610, que podem ser semicondutores de memória (por exemplo, DRAMs, etc.). E esses produtos do tipo programa de computador podem ser meios para prover um software para o sistema de computador 600. Os programas de computador (por exemplo, lógica de controle de computador) podem ser armazenados na memória principal 608 e/ou na memória secundária 610. Os programas de computador também podem ser recebidos por meio da interface de comunicação 624. Tais programas de computador, quando executados, podem permitir ao sistema de computador 600 implantar os presentes métodos conforme discutidos aqui. Em particular, os programas de computador, quando executados, podem permitir ao dispositivo processador 604 implantar os métodos ilustrados nas figuras de 3 a 5, conforme discutido aqui. Consequentemente, tais programas de computador podem representar controladores do sistema de computador 600. Quando a presente invenção é implantada usando-se software, o software pode ser armazenado em um produto do tipo programa de computador e carregado no sistema de computador 600 usando-se a unidade de armazenamento removível 614, a in terface 620 e a unidade de disco rígido 612, ou a interface de comunicação 624.
[0073] O dispositivo processador 604 pode compreender um ou mais módulos ou mecanismos configurados para executar as funções do sistema de computador 600. Cada um dos módulos ou mecanismos pode ser implantado usando-se hardware e, em alguns casos, também um software, por exemplo, correspondente a um código de programa e/ou programas armazenados na memória principal 608 ou na memória secundária 610. Em tais casos, o código de programa pode ser compilado pelo dispositivo processador 604 (por exemplo, por um módulo ou mecanismo de compilação) antes de ser executado pelo hardware do sistema de computador 600. Por exemplo, o código de programa pode ser um código fonte gravado em uma linguagem de programação que é traduzida em uma linguagem de nível inferior, tal como linguagem de montagem ou código de máquina, a ser executado pelo dispositivo processador 604 e/ou por quaisquer componentes adicionais de hardware do sistema de computador 600. O processo de compilação pode incluir o uso de análise lexical, pré-processamento, análise sintática, análise semântica, tradução baseada em sintaxe, geração de código, otimização de código e quaisquer outras técnicas que sejam adequadas para a tradução de código de programa em uma linguagem de nível inferior adequada para controlar o sistema de computador 600 na sua tarefa de execução das funções descritas aqui. Obviamente que pessoas versadas na técnica relevante compreenderão que por causa de tais processos, o sistema de computador 600 é um sistema de computador 600 especialmente configurado, programado exclusivamente para executar as funções discutidas acima.
[0074] Técnicas consistentes com a presente invenção provêm, entre outras funcionalidades, sistemas e métodos para uso de assinaturas digitais na assinatura de transações de Blockchain. Embora vá rios exemplos de modalidades de sistema e método tenham sido descritos acima, é válido ressaltar que sua finalidade é apenas de exem-plificação e não de limitação da invenção à forma precisa apresentada aqui. Desse modo, modificações e variações são possíveis em vista dos ensinamentos supracitados ou podem ser concebidas a partir de prática da invenção, sem que se fuja da abrangência e escopo da mesma.
REIVINDICAÇÕES

Claims (14)

1. Método para distribuição de múltiplas chaves criptografadas usadas para acessar dados, CARACTERIZADO por compreender: receber (502), por meio de um dispositivo de recebimento de um servidor de processamento, um sinal de dados compreendendo uma solicitação de chave de acesso, no qual a solicitação de chave de acesso inclui pelo menos um número, n, maior que 1, de chaves solicitadas; gerar (504), por meio de um módulo de geração do servidor de processamento, n pares de chaves usando um algoritmo gerador de par de chaves, em que cada par de chaves inclui uma chave privada e uma chave pública; derivar (506), por meio de um módulo de derivação do servidor de processamento, uma chave de acesso privada aplicando-se a chave privada incluída em cada um dos n pares de chaves a um algoritmo de derivação de chave, em que a chave privada de acesso é utilizada para restringir o acesso aos dados; gerar (508), por meio do módulo de geração do servidor de processamento, uma chave de acesso pública correspondente à chave de acesso privada derivada usando o algoritmo gerador de par de chaves; e transmitir eletronicamente (510), por meio de um dispositivo de transmissão do servidor de processamento, um sinal de dados compreendendo uma chave privada incluída em um dos n pares de chaves para cada um dos n pares de chaves para cada um dos n dispositivos computacionais, de modo que cada um dos n dispositivos computacionais receba uma chave privada diferente, o método compreendendo ainda: armazenar, em uma memória do servidor de processamento, um par de chaves de transferência, incluindo uma chave pública de transferência e uma chave privada de transferência; receber, pelo dispositivo de recepção do servidor de processamento, um sinal de dados compreendendo uma chave pública compartilhada a partir de cada um dos n dispositivos computacionais; gerar, por meio do módulo de geração do servidor de processamento, n sigilos compartilhados, em que cada sigilo compartilhado é gerado usando uma chave pública compartilhada das n chaves públicas compartilhadas e a chave privada de transferência e o algoritmo de geração de pares de chaves; e criptografar, por meio de um módulo de encriptação do servidor de processamento, a chave privada incluída em cada um dos n pares de chaves com um dos n sigilos compartilhados utilizando um algoritmo de encriptação, em que a chave privada compreendida pelo sinal de dados transmitidos eletronicamente é a respectiva chave privada criptografada.
2. Método de acordo com a reivindicação 1, CARACTERIZADO por compreender ainda: transmitir eletronicamente, por meio do dispositivo de transmissão do servidor de processamento, um sinal de dados compreendendo a chave de transferência pública para os n dispositivos de computação.
3. Método de acordo com a reivindicação 2, CARACTERIZADO pelo fato de que o sinal de dados compreendendo a chave de transferência pública é transmitido eletronicamente para os n dispositivos de computação antes do recebimento do sinal de dados compreendendo a chave pública compartilhada.
4. Método de acordo com a reivindicação 2, CARACTERIZADO pelo fato de que cada sinal de dados compreendendo a chave de transferência pública é um sinal de dados igual a cada sinal de dados compreendendo uma chave privada criptografada.
5. Método de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o sinal de dados transmitido é transmitido eletronicamente para um nodo em uma rede Blockchain e onde a chave privada criptografada é incluída em uma solicitação de transação que também inclui um endereço de destino correspondente à respectiva chave pública compartilhada.
6. Método de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o algoritmo de derivação de chave inclui o uso de uma operação lógica XOR.
7. Método de acordo com a reivindicação 1, CARACTERIZADO por compreender ainda: transmitir eletronicamente, por meio do dispositivo de transmissão do servidor de processamento, um sinal de dados compreendendo uma solicitação de transação para um nodo em uma rede Blockchain, em que a solicitação de transação inclui pelo menos um endereço de destino assinado usando a chave de acesso privada derivada.
8. Sistema para distribuição de múltiplas chaves criptografadas usadas para acessar dados, CARACTERIZADO por compreender: um dispositivo de transmissão (214) de um servidor de processamento; um dispositivo de recebimento (202) do servidor de processamento configurado para receber um sinal de dados compreendendo uma solicitação de chave de acesso, em que a solicitação de chave de acesso inclui pelo menos um número, n, de chaves solicitadas; um módulo de geração (206) do servidor de processamento configurado para gerar n pares de chaves usando um algoritmo gerador de par de chaves, em que cada par de chaves inclui uma chave privada e uma chave pública; e um módulo de derivação (208) do servidor de processamento configurado para derivar uma chave de acesso privada aplicando-se a chave privada incluída em cada um dos n pares de chaves a um algoritmo de derivação de chave, em que a chave de acesso privada é utilizada para restringir o acesso aos dados, em que o módulo de geração do servidor de processamento também é configurado para gerar uma chave de acesso pública correspondente à chave de acesso privada derivada usando o algoritmo gerador de par de chaves, e o dispositivo de transmissão do servidor de processamento é configurado para transmitir eletronicamente um sinal de dados compreendendo uma chave privada incluída em um dos n pares de chaves para cada um dos n pares de chaves para cada um dos n dispositivos computacionais, de modo que cada um dos n dispositivos computacionais receba uma chave privada diferente, o sistema compreendendo ainda: um módulo de criptografia (210) do servidor de processamento; e uma memória (216) do servidor de processamento configurada para armazenar um par de chaves de transferência, incluindo uma chave pública de transferência e uma chave privada de transferência, em que o dispositivo de recebimento do servidor de processamento é ainda configurado para receber um sinal de dados compreendendo uma chave pública compartilhada a partir de cada um dos n dispositivos computacionais, o módulo de geração do servidor de processamento é ainda configurado para gerar n sigilos compartilhados, em que cada sigilo compartilhado é gerado usando uma chave pública compartilhada das n chaves públicas compartilhadas e a chave privada de transferência e o algoritmo de geração de pares de chaves, o módulo de criptografia do servidor de processamento é configurado para criptografar a chave privada incluída em cada um dos n pares de chaves com um dos n sigilos compartilhados utilizando um algoritmo de criptografia, e a chave privada compreendida pelo sinal de dados transmitidos eletronicamente é a respectiva chave privada criptografada.
9. Sistema de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que o dispositivo de transmissão do servidor de processamento também é configurado para transmitir eletronicamente um sinal de dados compreendendo a chave de transferência pública para os n dispositivos computacionais.
10 . Sistema de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que o sinal de dados compreendendo a chave de transferência pública é transmitido eletronicamente para os n dispositivos computacionais antes do recebimento do sinal de dados compreendendo a chave pública compartilhada.
11 . Sistema de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que cada sinal de dados compreendendo a chave de transferência pública é um sinal de dados igual a cada sinal de dados compreendendo uma chave privada criptografada.
12 . Sistema de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que o sinal de dados transmitido é transmitido eletronicamente para um nodo em uma rede Blockchain e onde a chave privada criptografada é incluída em uma solicitação de transação que também inclui um endereço de destino correspondente à respectiva chave pública compartilhada.
13 . Sistema de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que o algoritmo de derivação de chave inclui o uso de uma operação lógica XOR.
14 . Sistema de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que o dispositivo de transmissão do servidor de processamento também é configurado para transmitir eletronicamente um sinal de dados compreendendo uma solicitação de transação para um nodo em uma rede Blockchain, em que a solicitação de transação inclui pelo menos um endereço de destino assinado usando a chave de acesso privada derivada.
BR112018011353-0A 2016-01-20 2017-01-06 Método e sistema para provisão e armazenamento de chave criptografada distribuída via criptografia de curva elíptica BR112018011353B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/001,775 2016-01-20
US15/001,775 US10103885B2 (en) 2016-01-20 2016-01-20 Method and system for distributed cryptographic key provisioning and storage via elliptic curve cryptography
PCT/US2017/012437 WO2017127238A1 (en) 2016-01-20 2017-01-06 Method and system for distributed cryptographic key provisioning and storage via elliptic curve cryptography

Publications (2)

Publication Number Publication Date
BR112018011353A2 BR112018011353A2 (pt) 2018-12-04
BR112018011353B1 true BR112018011353B1 (pt) 2020-03-17

Family

ID=57868395

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112018011353-0A BR112018011353B1 (pt) 2016-01-20 2017-01-06 Método e sistema para provisão e armazenamento de chave criptografada distribuída via criptografia de curva elíptica

Country Status (13)

Country Link
US (4) US10103885B2 (pt)
EP (2) EP3668049B1 (pt)
JP (2) JP7045997B2 (pt)
CN (2) CN112804257B (pt)
AU (2) AU2017208878B2 (pt)
BR (1) BR112018011353B1 (pt)
CA (1) CA3009338C (pt)
DK (1) DK3381172T3 (pt)
ES (1) ES2781091T3 (pt)
HK (1) HK1259028A1 (pt)
MX (2) MX2018007856A (pt)
SG (2) SG10202002256UA (pt)
WO (1) WO2017127238A1 (pt)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US10103885B2 (en) 2016-01-20 2018-10-16 Mastercard International Incorporated Method and system for distributed cryptographic key provisioning and storage via elliptic curve cryptography
DE102016103498A1 (de) * 2016-02-26 2017-08-31 Infineon Technologies Ag Ein Verfahren zum Übermitteln von Daten von einem Sensorbauelement an eine elektronische Steuereinheit, ein Sensorbauelement und eine elektronische Steuereinheit
US10341309B1 (en) 2016-06-13 2019-07-02 Allstate Insurance Company Cryptographically protecting data transferred between spatially distributed computing devices using an intermediary database
US10067810B2 (en) * 2016-07-28 2018-09-04 Cisco Technology, Inc. Performing transactions between application containers
EP3497614B1 (en) * 2016-08-10 2022-01-05 Nextlabs, Inc. Sharing encrypted documents within and outside an organization
US10824759B1 (en) 2017-01-25 2020-11-03 State Farm Mutual Automobile Insurance Company Systems and methods for verifying agent sales data via blockchain
US11128452B2 (en) * 2017-03-25 2021-09-21 AVAST Software s.r.o. Encrypted data sharing with a hierarchical key structure
US10749670B2 (en) * 2017-05-18 2020-08-18 Bank Of America Corporation Block chain decoding with fair delay for distributed network devices
US11411744B2 (en) * 2017-05-25 2022-08-09 Nec Network And Sensor Systems, Ltd. Encryption communication method, information processing apparatus, and program
EP3644548B1 (en) * 2017-06-21 2023-07-26 Nippon Telegraph And Telephone Corporation Key exchange system and key exchange method
US20180373882A1 (en) * 2017-06-23 2018-12-27 Thijs Veugen Privacy preserving computation protocol for data analytics
US11132451B2 (en) * 2017-08-31 2021-09-28 Parity Technologies Ltd. Secret data access control systems and methods
US10970690B2 (en) 2017-09-12 2021-04-06 Northwestern University Blockchain distribution network with service transparency
KR20200107931A (ko) 2017-10-19 2020-09-16 오튼하이브 코퍼레이션 멀티 포인트 인증을 위한 키 생성 및 보관을 위한 시스템 및 방법
US11488433B2 (en) 2018-01-11 2022-11-01 Mastercard International Incorporated Method and system for public elections on a moderated blockchain
CN112119611A (zh) 2018-05-14 2020-12-22 区块链控股有限公司 使用区块链执行原子交换的计算机实现的系统和方法
CN110493168A (zh) * 2018-07-19 2019-11-22 江苏恒宝智能系统技术有限公司 基于非对称加密技术的医药疗效监控共享方法
CN109104419B (zh) * 2018-07-27 2021-06-01 苏州朗润创新知识产权运营有限公司 一种区块链账号的生成方法及系统
US10764039B2 (en) 2018-08-01 2020-09-01 The Toronto-Dominion Bank Dynamic generation and management of asymmetric cryptographic keys using distributed ledgers
US10491404B1 (en) * 2018-09-12 2019-11-26 Hotpyp, Inc. Systems and methods for cryptographic key generation and authentication
KR20200034020A (ko) 2018-09-12 2020-03-31 삼성전자주식회사 전자 장치 및 그의 제어 방법
KR20210061426A (ko) 2018-10-12 2021-05-27 티제로 아이피, 엘엘씨 이중 암호화된 시크릿 부분의 서브세트를 사용하여 시크릿의 어셈블리를 허용하는 이중 암호화된 시크릿 부분
JP6873235B2 (ja) * 2018-11-27 2021-05-19 アドバンスド ニュー テクノロジーズ カンパニー リミテッド コンソーシアムブロックチェーンネットワーク内の非対称鍵管理
JP2022508138A (ja) * 2018-11-27 2022-01-19 エヌチェーン ホールディングス リミテッド ブロックチェーン上にデータを格納するコンピュータにより実施されるシステム及び方法
US11349653B2 (en) 2018-12-18 2022-05-31 Hewlett Packard Enterprise Development Lp Multiple-site private network secured by IPsec using blockchain network for key exchange
US10937339B2 (en) 2019-01-10 2021-03-02 Bank Of America Corporation Digital cryptosystem with re-derivable hybrid keys
CN109921900A (zh) * 2019-02-18 2019-06-21 深圳市优学链科技有限公司 一种分布式密钥生成的算法
US11245516B2 (en) * 2019-04-24 2022-02-08 Veridify Security Inc. Shared secret data production with use of concealed cloaking elements
KR102625088B1 (ko) * 2019-05-08 2024-01-16 삼성에스디에스 주식회사 데이터 공유 장치 및 방법
US20200358604A1 (en) * 2019-05-08 2020-11-12 Samsung Sds Co., Ltd. Apparatus and method for sharing data
EP3754896A1 (en) * 2019-06-18 2020-12-23 Koninklijke Philips N.V. Authenticated key agreement
US11516147B2 (en) * 2019-10-02 2022-11-29 Red Hat, Inc. Blockchain-based dynamic storage provisioner
WO2021229410A1 (en) * 2020-05-11 2021-11-18 Autnhive Corporation Generating keys using controlled corruption in computer networks
TWI776416B (zh) * 2021-03-08 2022-09-01 英屬開曼群島商現代財富控股有限公司 分層確定性錢包的門檻式簽章系統及其方法
TWI759138B (zh) * 2021-03-15 2022-03-21 英屬開曼群島商現代財富控股有限公司 基於輸入密碼的門檻式簽章系統及其方法
CN113364769B (zh) * 2021-06-03 2022-04-15 浙江大学 一种区块链网络中的隐蔽信道构造方法

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6850252B1 (en) * 1999-10-05 2005-02-01 Steven M. Hoffberg Intelligent electronic appliance system and method
US6330671B1 (en) * 1997-06-23 2001-12-11 Sun Microsystems, Inc. Method and system for secure distribution of cryptographic keys on multicast networks
JPH11239124A (ja) * 1998-02-23 1999-08-31 Nippon Telegr & Teleph Corp <Ntt> 秘密鍵回復方法および装置
JP3331327B2 (ja) 1998-12-09 2002-10-07 日本電信電話株式会社 鍵管理方法及びプログラム記録媒体
WO2000049768A1 (en) * 1999-02-17 2000-08-24 Thomas Mittelholzer Method for signature splitting to protect private keys
SE9902339L (sv) 1999-06-21 2001-02-20 Ericsson Telefon Ab L M Anordning omfattande en kapacitiv närhetsavkännande sensor
US6834112B1 (en) * 2000-04-21 2004-12-21 Intel Corporation Secure distribution of private keys to multiple clients
US7181017B1 (en) * 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
JP2004048479A (ja) * 2002-07-12 2004-02-12 Kddi Corp 共有化された暗号化情報の暗号鍵管理方法
US6931133B2 (en) 2002-09-03 2005-08-16 Verisign, Inc. Method and system of securely escrowing private keys in a public key infrastructure
WO2006054843A1 (en) * 2004-11-17 2006-05-26 Samsung Electronics Co., Ltd. Method for transmitting content in home network using user-binding
EP1984866B1 (en) * 2006-02-07 2011-11-02 Nextenders (India) Private Limited Document security management system
JP2008021164A (ja) * 2006-07-13 2008-01-31 Konica Minolta Holdings Inc 情報処理装置、データの管理方法、およびコンピュータプログラム
US8254579B1 (en) * 2007-01-31 2012-08-28 Hewlett-Packard Development Company, L.P. Cryptographic key distribution using a trusted computing platform
CN101459505B (zh) * 2007-12-14 2011-09-14 华为技术有限公司 生成用户私钥的方法、系统及用户设备、密钥生成中心
WO2010067433A1 (ja) * 2008-12-11 2010-06-17 三菱電機株式会社 自己認証通信機器、自己認証検証通信機器、機器認証システム、機器認証システムの機器認証方法、自己認証通信プログラムおよび自己認証検証通信プログラム
CN101917403B (zh) * 2010-07-23 2013-06-05 华中科技大学 一种用于密文存储的分布式密钥管理方法
IL213662A0 (en) * 2011-06-20 2011-11-30 Eliphaz Hibshoosh Key generation using multiple sets of secret shares
IL216162A0 (en) * 2011-11-06 2012-02-29 Nds Ltd Electronic content distribution based on secret sharing
US9053329B2 (en) * 2012-05-24 2015-06-09 Lockbox Llc Systems and methods for validated secure data access
WO2014055148A2 (en) * 2012-07-09 2014-04-10 Massachusetts Institute Of Technology Cryptography and key management device and architecture
US9350536B2 (en) * 2012-08-16 2016-05-24 Digicert, Inc. Cloud key management system
US9311500B2 (en) * 2013-09-25 2016-04-12 Amazon Technologies, Inc. Data security using request-supplied keys
CN103560882B (zh) * 2013-10-29 2016-08-17 武汉理工大学 一种基于标识的椭圆曲线密码系统
JP2015099961A (ja) * 2013-11-18 2015-05-28 三菱電機株式会社 情報配信システム、サーバ装置、情報生成装置、端末装置、情報配信方法及びプログラム
US10700856B2 (en) * 2013-11-19 2020-06-30 Network-1 Technologies, Inc. Key derivation for a module using an embedded universal integrated circuit card
US9280678B2 (en) * 2013-12-02 2016-03-08 Fortinet, Inc. Secure cloud storage distribution and aggregation
US20150213433A1 (en) * 2014-01-28 2015-07-30 Apple Inc. Secure provisioning of credentials on an electronic device using elliptic curve cryptography
US20150254640A1 (en) * 2014-03-05 2015-09-10 Cryptographi, Inc. Method and apparatus for digital currency paper wallet
US10796302B2 (en) * 2014-04-23 2020-10-06 Minkasu, Inc. Securely storing and using sensitive information for making payments using a wallet application
WO2015188277A1 (en) * 2014-06-13 2015-12-17 BicDroid Inc. Methods, systems and computer program product for providing encryption on a plurality of devices
US20160191470A1 (en) * 2014-08-07 2016-06-30 Ajay Movalia Method and apparatus for securely transmitting communication between multiple users
BR112017002747A2 (pt) * 2014-08-29 2018-01-30 Visa Int Service Ass método implementado por computador, e, sistema de computador.
CN104717297A (zh) * 2015-03-30 2015-06-17 上海交通大学 一种安全云存储方法及系统
US20170132626A1 (en) * 2015-11-05 2017-05-11 Mastercard International Incorporated Method and system for processing of a blockchain transaction in a transaction processing network
US9832024B2 (en) * 2015-11-13 2017-11-28 Visa International Service Association Methods and systems for PKI-based authentication
US10103885B2 (en) 2016-01-20 2018-10-16 Mastercard International Incorporated Method and system for distributed cryptographic key provisioning and storage via elliptic curve cryptography

Also Published As

Publication number Publication date
CA3009338A1 (en) 2017-07-27
SG11201804697PA (en) 2018-07-30
US10396988B2 (en) 2019-08-27
EP3381172A1 (en) 2018-10-03
CN108463983B (zh) 2021-02-12
AU2017208878A1 (en) 2018-06-07
ES2781091T3 (es) 2020-08-28
US20170207917A1 (en) 2017-07-20
EP3668049B1 (en) 2022-07-13
BR112018011353A2 (pt) 2018-12-04
MX2018007856A (es) 2018-08-01
US20210044437A1 (en) 2021-02-11
CN112804257A (zh) 2021-05-14
CA3009338C (en) 2020-10-27
WO2017127238A1 (en) 2017-07-27
US20190342094A1 (en) 2019-11-07
US20190028275A1 (en) 2019-01-24
US11664990B2 (en) 2023-05-30
DK3381172T3 (da) 2020-04-27
EP3668049A1 (en) 2020-06-17
JP7045997B2 (ja) 2022-04-01
EP3381172B1 (en) 2020-02-26
JP2022046643A (ja) 2022-03-23
AU2017208878B2 (en) 2019-07-11
AU2019246903A1 (en) 2019-10-31
AU2019246903B2 (en) 2021-08-12
MX2022003019A (es) 2022-04-07
US10848308B2 (en) 2020-11-24
CN108463983A (zh) 2018-08-28
US10103885B2 (en) 2018-10-16
SG10202002256UA (en) 2020-04-29
CN112804257B (zh) 2023-07-11
HK1259028A1 (zh) 2019-11-22
JP7370371B2 (ja) 2023-10-27
JP2019507539A (ja) 2019-03-14

Similar Documents

Publication Publication Date Title
AU2019246903B2 (en) Method and system for distributed cryptographic key provisioning and storage via elliptic curve cryptography
JP6941183B2 (ja) データのトークン化
US20210246824A1 (en) Method and apparatus for securing communications using multiple encryption keys
BR112018011775B1 (pt) Método e sistema de uso de assinaturas digitais para assinar transações de blockchain
WO2019205380A1 (zh) 电子装置、基于区块链的数据处理方法、程序和计算机存储介质
US20230014599A1 (en) Data processing method and apparatus for blockchain system
CN108345806A (zh) 一种硬件加密卡和加密方法
US11689355B2 (en) Method and system for the atomic exchange of blockchain assets using transient key pairs
WO2022227317A1 (zh) 基于区块链的资源转移方法、装置、电子设备及存储介质
WO2019058952A1 (ja) 医療データ検索システム、医療データ検索方法および医療データ検索プログラム
EP3554042A1 (en) Method and system for managing centralized encryption and data format validation for secure real time multi-party data distribution
WO2023076467A1 (en) Encrypting data generated from medical devices
CN203232424U (zh) 一种usb外设
CN109525579A (zh) 基于终端身份校验的云存储数据授权方法及装置
US11550946B2 (en) Searchable sets of data using trusted execution environment
WO2023133621A1 (en) Method and system for injective asymmetric end-to-end encryption of data and encrypted data location
WO2022269544A1 (en) Secure asset storage system and wearable device
CN113132081A (zh) 一种用户信息加密、解密方法及装置、设备和存储介质

Legal Events

Date Code Title Description
B15K Others concerning applications: alteration of classification

Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H04L 29/06 , H04L 9/08

Ipc: H04L 29/06 (1990.01), H04L 9/08 (1990.01), H04L 9/

B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 06/01/2017, OBSERVADAS AS CONDICOES LEGAIS.