BR112016017419B1 - METHOD TO PROVIDE NEW PUBLIC KEY, METHOD TO RECEIVE PUBLIC KEY, SECURE COMMUNICATIONS DEVICE AND PUBLIC KEY SERVER - Google Patents

METHOD TO PROVIDE NEW PUBLIC KEY, METHOD TO RECEIVE PUBLIC KEY, SECURE COMMUNICATIONS DEVICE AND PUBLIC KEY SERVER Download PDF

Info

Publication number
BR112016017419B1
BR112016017419B1 BR112016017419-4A BR112016017419A BR112016017419B1 BR 112016017419 B1 BR112016017419 B1 BR 112016017419B1 BR 112016017419 A BR112016017419 A BR 112016017419A BR 112016017419 B1 BR112016017419 B1 BR 112016017419B1
Authority
BR
Brazil
Prior art keywords
public key
key
processor
account
server
Prior art date
Application number
BR112016017419-4A
Other languages
Portuguese (pt)
Other versions
BR112016017419A8 (en
BR112016017419A2 (en
Inventor
Marcio Coelho Teixeira
Original Assignee
Cryptometry Canada Inc
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 Cryptometry Canada Inc filed Critical Cryptometry Canada Inc
Priority claimed from PCT/CA2015/000042 external-priority patent/WO2015113138A1/en
Publication of BR112016017419A2 publication Critical patent/BR112016017419A2/pt
Publication of BR112016017419A8 publication Critical patent/BR112016017419A8/en
Publication of BR112016017419B1 publication Critical patent/BR112016017419B1/en

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key

Abstract

SISTEMA E MÉTODO PARA REALIZAR COMUNICAÇÕES SEGURAS. Um método para fornecer uma nova chave pública melhorada através de um terminal de comunicações seguras para proteger comunicações de sistema, o terminal de comuni-cações seguras tem um processador conectado de modo operacional um uma memória e uma interface de comunicações, o método compreende: gerar, através do processador, uma primeira porção para verificar uma conta de cliente; gerar, através do processador, uma segunda porção para autenticar um servidor de chave pública; gerar, através do processador, uma chave pública assimétrica e uma chave privada assimétrica correspon-dente; combinar, através do processador, a primeira porção, a segunda porção e a chave pública assimétrica para formar a nova chave pública melhorada; normalizar, através do processador, a chave pública melhorada com base em um tamanho da chave pública assimétrica.SYSTEM AND METHOD FOR CARRYING OUT SECURE COMMUNICATIONS. A method of providing a new enhanced public key through a secure communications terminal to protect system communications, the secure communications terminal has a processor operably connected to a memory and a communications interface, the method comprises: generating , via the processor, a first portion for verifying a customer account; generating, via the processor, a second portion for authenticating a public key server; generating, through the processor, an asymmetric public key and a corresponding asymmetric private key; combining, via the processor, the first portion, the second portion and the asymmetric public key to form the new improved public key; normalize, through the processor, the enhanced public key based on an asymmetric public key size.

Description

REFERÊNCIAS CRUZADAS A PEDIDOS RELACIONADOSCROSS-REFERENCES TO RELATED ORDERS

[001] Este pedido reivindica prioridade ao Pedido Provisório n° U.S. 61/934.341, depositado em 31 de janeiro de 2014, ao Pedido Provisório n° U.S. 62/038.589, depositado em 18 de agosto de 2014, e ao pedido provisório n° U.S. 62/090.632, depositado em 11 de dezembro de 2014, cada um dos quais é incorporado ao presente documento a título de referência em sua totalidade.[001] This order claims priority over Provisional Order No. U.S. 61/934,341, filed on January 31, 2014, Provisional Order No. U.S. 62/038,589, filed on August 18, 2014, and Provisional Order No. U.S. 62/090,632, filed on December 11, 2014, each of which is incorporated into this document by way of reference in its entirety.

ANTECEDENTESBACKGROUND

[002] Segurança de dados é de suma importância à medida que mais e mais dados são coletados e mantidos em sistemas com base em rede. Um componente importante de segurança são as comunicações seguras entre dispositivos. Especificamente, uma quantidade grande de dados é trocada entre dispositivos conectados por rede a cada minuto. A troca pode tomar a forma de mensagens, documentos e outros dados comunicados entre dispositivos, incluindo e-mails, anexos, mensagens instantâneas, arquivos e outros.[002] Data security is of paramount importance as more and more data is collected and maintained in network-based systems. An important component of security is secure communications between devices. Specifically, a large amount of data is exchanged between network-connected devices every minute. The exchange can take the form of messages, documents and other data communicated between devices, including emails, attachments, instant messages, files and more.

[003] Hoje, um volume grande de dados incluindo e-mails e documentos são comunicados com segurança mínima, o que significa que tais comunicações podem ser prontamente interceptadas e empregadas indevidamente por dispositivos maliciosos de terceiros. Embora existam mecanismos para proteger tais comunicações, os mesmos são tipicamente complicados de usar e relativamente fáceis de superar. Por exemplo, a maioria dos sistemas existentes para proteger comunicações depende de métodos de criptografia assimétricos em que uma chave disponível publicamente é usada para criptografar dados e uma chave privada é usada para descriptografar os mesmos. Métodos de criptografia assimétricos são problemáticos porque os mesmos não oferecem uma proteção tão forte quanto os simétricos. Ademais, uma vez que o par de chaves públicas/privadas permanece inalterado, uma vez que um par de chaves é comprometido, uma quantidade vasta de comunicações pode ser decifrada.[003] Today, a large volume of data including emails and documents are communicated with minimal security, meaning that such communications can be readily intercepted and misused by malicious third-party devices. While there are mechanisms to protect such communications, they are typically complicated to use and relatively easy to overcome. For example, most existing systems for securing communications rely on asymmetric encryption methods in which a publicly available key is used to encrypt data and a private key is used to decrypt data. Asymmetric encryption methods are problematic because they don't offer as strong protection as symmetric ones. Furthermore, since the public/private key pair remains unchanged, once a key pair is compromised, a vast amount of communications can be decrypted.

[004] Métodos de criptografia simétricos também existem para proteger comunicações que oferecem proteção mais forte do que métodos assimétricos. Entretanto, tais métodos são complicados de usar. Por exemplo, os mesmos tipicamente envolvem a troca de chaves fora de banda, tornando a definição ou renovação de chaves complicada e, desse modo, infrequente. Em conformidade, há uma necessidade para um sistema e método para comunicações seguras que proporciona proteção forte e é conveniente de usar.[004] Symmetric encryption methods also exist to secure communications that offer stronger protection than asymmetric methods. However, such methods are complicated to use. For example, they typically involve out-of-band key exchange, making key definition or renewal complicated and thus infrequent. Accordingly, there is a need for a system and method for secure communications that provides strong protection and is convenient to use.

SUMÁRIOSUMMARY

[005] Um objetivo da presente invenção é fornecer um servidor e método inovadores para comunicações seguras que afastam e mitigam pelo menos uma das desvantagens identificadas acima da técnica anterior.[005] An object of the present invention is to provide an innovative server and method for secure communications that obviate and mitigate at least one of the disadvantages identified above from the prior art.

[006] Aspectos e vantagens serão, subsequentemente, evidentes e residem nos detalhes de construção e operação conforme mais completamente descrito e reivindicado doravante neste documento, fazendo-se referência aos desenhos anexos que formam uma parte dos mesmos, em que numerais similares se referem a partes similares por todo o documento.[006] Aspects and advantages will subsequently be evident and reside in the details of construction and operation as more fully described and claimed hereinafter in this document, making reference to the attached drawings that form a part thereof, in which similar numerals refer to similar parts throughout the document.

BREVE DESCRIÇÃO DOS DESENHOSBRIEF DESCRIPTION OF THE DRAWINGS

[007] A Figura 1 mostra um diagrama de blocos de uma implementação de um sistema para comunicações seguras de acordo com uma implementação;[007] Figure 1 shows a block diagram of an implementation of a system for secure communications according to an implementation;

[008] A Figura 2 mostra um método para fornecer uma chave pública melhorada para proteger comunicações do sistema da Figura 1 de acordo com uma implementação;[008] Figure 2 shows a method for providing an enhanced public key to secure system communications of Figure 1 according to an implementation;

[009] A Figura 3 mostra um diagrama de blocos do sistema da Figura 1 no processo de realização do método da Figura 2 de acordo com uma implementação;[009] Figure 3 shows a block diagram of the system of Figure 1 in the process of carrying out the method of Figure 2 according to an implementation;

[0010] A Figura 4 mostra um diagrama de blocos do sistema da Figura 1 no processo de realização do método da Figura 2 de acordo com uma implementação;[0010] Figure 4 shows a block diagram of the system of Figure 1 in the process of carrying out the method of Figure 2 according to an implementation;

[0011] A Figura 5 mostra um diagrama de blocos do sistema da Figura 1 no processo de realização do método da Figura 2 de acordo com uma implementação;[0011] Figure 5 shows a block diagram of the system of Figure 1 in the process of carrying out the method of Figure 2 according to an implementation;

[0012] A Figura 6 mostra um diagrama de blocos do sistema da Figura 1 no processo de realização do método da Figura 2 de acordo com uma implementação;[0012] Figure 6 shows a block diagram of the system of Figure 1 in the process of carrying out the method of Figure 2 according to an implementation;

[0013] A Figura 7 mostra um diagrama de blocos do sistema da Figura 1 no processo de realização do método da Figura 2 de acordo com uma implementação;[0013] Figure 7 shows a block diagram of the system of Figure 1 in the process of carrying out the method of Figure 2 according to an implementation;

[0014] A Figura 8 mostra um diagrama de blocos do sistema da Figura 1 no processo de realização do método da Figura 2 de acordo com uma implementação;[0014] Figure 8 shows a block diagram of the system of Figure 1 in the process of carrying out the method of Figure 2 according to an implementation;

[0015] A Figura 9 mostra um diagrama de blocos de uma chave pública melhorada no processo de ser normalizada de acordo com uma implementação.[0015] Figure 9 shows a block diagram of an enhanced public key in the process of being normalized according to an implementation.

[0016] A Figura 10 mostra um diagrama de blocos do sistema da Figura 1 no processo de realização do método da Figura 2 de acordo com uma implementação;[0016] Figure 10 shows a block diagram of the system of Figure 1 in the process of carrying out the method of Figure 2 according to an implementation;

[0017] A Figura 11 mostra um método de adição de chave pública pelo sistema da Figura 1 de acordo com uma implementação;[0017] Figure 11 shows a public key addition method by the system of Figure 1 according to an implementation;

[0018] A Figura 12 mostra um diagrama de blocos do sistema da Figura 1 no processo de realização do método da Figura 11 de acordo com uma implementação;[0018] Figure 12 shows a block diagram of the system of Figure 1 in the process of carrying out the method of Figure 11 according to an implementation;

[0019] A Figura 13 mostra um diagrama de blocos do sistema da Figura 1 no processo de realização do método da Figura 11 de acordo com uma implementação;[0019] Figure 13 shows a block diagram of the system of Figure 1 in the process of carrying out the method of Figure 11 according to an implementation;

[0020] A Figura 14 mostra um diagrama de blocos do sistema da Figura 1 no processo de realização do método da Figura 11 de acordo com uma implementação;[0020] Figure 14 shows a block diagram of the system of Figure 1 in the process of carrying out the method of Figure 11 according to an implementation;

[0021] A Figura 15 mostra um diagrama de blocos do sistema da Figura 1 no processo de realização do método da Figura 11 de acordo com uma implementação;[0021] Figure 15 shows a block diagram of the system of Figure 1 in the process of carrying out the method of Figure 11 according to an implementation;

[0022] A Figura 16 mostra um diagrama de blocos do sistema da Figura 1 no processo de realização do método da Figura 11 de acordo com uma implementação;[0022] Figure 16 shows a block diagram of the system of Figure 1 in the process of carrying out the method of Figure 11 according to an implementation;

[0023] A Figura 17 mostra um diagrama de blocos do sistema da Figura 1 no processo de realização do método da Figura 1 de acordo com uma implementação;[0023] Figure 17 shows a block diagram of the system of Figure 1 in the process of carrying out the method of Figure 1 according to an implementation;

[0024] A Figura 18 mostra um diagrama de blocos do sistema da Figura 1 incluindo uma mensagem exemplificativa de acordo com uma implementação;[0024] Figure 18 shows a block diagram of the system of Figure 1 including an exemplary message according to an implementation;

[0025] A Figura 19 mostra um método para receber comunicações seguras através do sistema da Figura 1 de acordo com uma implementação;[0025] Figure 19 shows a method for receiving secure communications through the system of Figure 1 according to an implementation;

[0026] A Figura 20 mostra um diagrama de blocos do sistema da Figura 1 no processo de realização do método da Figura 19 de acordo com uma implementação;[0026] Figure 20 shows a block diagram of the system of Figure 1 in the process of carrying out the method of Figure 19 according to an implementation;

[0027] A Figura 21 mostra um diagrama de blocos do sistema da Figura 2 no processo de realização do método da Figura 19 de acordo com uma implementação;[0027] Figure 21 shows a block diagram of the system of Figure 2 in the process of carrying out the method of Figure 19 according to an implementation;

[0028] A Figura 22 mostra um diagrama de blocos do sistema da Figura 3 no processo de realização do método da Figura 19 de acordo com uma implementação;[0028] Figure 22 shows a block diagram of the system of Figure 3 in the process of carrying out the method of Figure 19 according to an implementation;

[0029] A Figura 23 mostra um diagrama de blocos do sistema da Figura 1 no processo de realização do método da Figura 19 de acordo com uma implementação;[0029] Figure 23 shows a block diagram of the system of Figure 1 in the process of carrying out the method of Figure 19 according to an implementation;

[0030] A Figura 24 mostra um diagrama de blocos do sistema da Figura 1 no processo de realização do método da Figura 19 de acordo com uma implementação;[0030] Figure 24 shows a block diagram of the system of Figure 1 in the process of carrying out the method of Figure 19 according to an implementation;

[0031] A Figura 25 mostra um método para enviar comunicações seguras através do sistema da Figura 1 de acordo com uma implementação;[0031] Figure 25 shows a method for sending secure communications through the system of Figure 1 according to an implementation;

[0032] A Figura 26 mostra um diagrama de blocos do sistema da Figura 1 no processo de realização do método da Figura 25 de acordo com uma implementação;[0032] Figure 26 shows a block diagram of the system of Figure 1 in the process of carrying out the method of Figure 25 according to an implementation;

[0033] A Figura 27 mostra um diagrama de blocos do sistema da Figura 1 no processo de realização do método da Figura 25 de acordo com uma implementação;[0033] Figure 27 shows a block diagram of the system of Figure 1 in the process of carrying out the method of Figure 25 according to an implementation;

[0034] A Figura 28 mostra um diagrama de blocos do sistema da Figura 1 no processo de realização do método da Figura 25 de acordo com uma implementação; e[0034] Figure 28 shows a block diagram of the system of Figure 1 in the process of carrying out the method of Figure 25 according to an implementation; It is

[0035] A Figura 29 mostra um diagrama de blocos do sistema da Figura 1 no processo de realização do método da Figura 25 de acordo com uma implementação.[0035] Figure 29 shows a block diagram of the system of Figure 1 in the process of carrying out the method of Figure 25 according to an implementation.

DESCRIÇÃO DETALHADADETAILED DESCRIPTION

[0036] A Figura 1 mostra um diagrama de um sistema 100 para comunicações seguras. Pelo menos um terminal de comunicações seguras (os terminais de comunicações seguras 104-1 e 104-2) pode ser conectado, por meio da rede 108, a um servidor de chave pública 112. Coletivamente, os terminais de comunicações seguras 104-1 e 104-2 são referidos como os terminais de comunicações seguras 104 e, genericamente, como o terminal de comunicações seguras 104. Essa nomenclatura é usada em outro lugar no presente documento. Os terminais de comunicações seguras 104 podem ser baseados em qualquer ambiente de computação adequado e o tipo não é particularmente limitado, desde que cada terminal de comunicações seguras 104 seja capaz de receber, processar e enviar comunicações seguras. Em uma presente implementação, os terminais de comunicações seguras 104 são configurados para pelo menos executar instruções que podem interagir com os serviços de rede hospedados pelo servidor de chave pública 112 para estabelecer comunicações seguras. Embora, no exemplo ilustrativo da Figura 1, apenas dois terminais de comunicações seguras sejam mostrados, deve ser compreendido que, em outras implementações, mais ou menos terminais de comunicações seguras 104 podem estar presentes.[0036] Figure 1 shows a diagram of a system 100 for secure communications. At least one secure communications terminal (secure communications terminals 104-1 and 104-2) may be connected, via network 108, to a public key server 112. Collectively, secure communications terminals 104-1 and 104-2 are referred to as the secure communications terminal 104, and generally as the secure communications terminal 104. This nomenclature is used elsewhere in this document. Secure communications terminals 104 can be based on any suitable computing environment and the type is not particularly limited as long as each secure communications terminal 104 is capable of receiving, processing and sending secure communications. In a present implementation, secure communications terminals 104 are configured to at least execute instructions that can interact with network services hosted by public key server 112 to establish secure communications. Although, in the illustrative example of Figure 1, only two secure communications terminals are shown, it should be understood that, in other implementations, more or less secure communications terminals 104 may be present.

[0037] Cada terminal de comunicações seguras 104 inclui pelo menos um processador conectado a um meio de armazenamento legível por computador não transitório tal como uma memória. O processador opera ou executa instruções de operação ou aplicativos que são armazenados na memória para realizar várias funções para o terminal de comunicações seguras 104. O processador inclui um ou mais microprocessadores, microcontroladores, processadores de sinal digital (DSP), máquinas de estado, circuitos de lógica ou qualquer dispositivo ou dispositivos que processam informações com base em instruções operacionais ou de programação armazenadas na memória. De acordo com as modalidades, o processador processa várias funções e dados associados à execução de criptografia e descriptografia de dados e comunicações seguras.[0037] Each secure communications terminal 104 includes at least one processor connected to a non-transient computer-readable storage medium such as memory. The processor operates or executes operating instructions or applications that are stored in memory to perform various functions for the secure communications terminal 104. The processor includes one or more microprocessors, microcontrollers, digital signal processors (DSP), state machines, circuits logic or any device or devices that process information based on operating or programming instructions stored in memory. Depending on the embodiments, the processor processes various functions and data associated with performing encryption and decryption of data and secure communications.

[0038] A memória pode ser qualquer combinação adequada de memória volátil (por exemplo, Memória de Acesso Aleatório ("RAM")) e não volátil (por exemplo, memória somente de leitura ("ROM"), Memória Somente de Leitura Programável Apagável Eletricamente ("EEPROM"), memória flash, dispositivo de armazenamento de computador magnético, ou disco óptico). Em uma implementação, a memória inclui tanto uma memória não volátil para armazenamento persistente de instruções legíveis por computador e outros dados e uma memória não volátil para armazenamento de curto prazo de tais instruções legíveis por computador e outros dados durante a execução das instruções legíveis por computador. Outros tipos de meio de armazenamento legível por computador, que em algumas implementações podem ser removíveis ou externos a um terminal de comunicações seguras 104, também são contemplados, tais como cartões digitais seguros (SD) e variantes dos mesmos. Outros exemplos de meios de armazenamento legíveis por computador externos ou removíveis incluem discos compactos (CD-ROM, CD-RW) e discos de vídeo digital (DVD).[0038] The memory may be any suitable combination of volatile memory (e.g., Random Access Memory ("RAM")) and non-volatile memory (e.g., read-only memory ("ROM"), Erasable Programmable Read-Only Memory Electrically ("EEPROM"), flash memory, magnetic computer storage device, or optical disc). In one implementation, the memory includes both non-volatile memory for persistent storage of computer-readable instructions and other data and non-volatile memory for short-term storage of such computer-readable instructions and other data during execution of the computer-readable instructions. . Other types of computer-readable storage medium, which in some implementations may be removable or external to a secure communications terminal 104, are also contemplated, such as secure digital (SD) cards and variants thereof. Other examples of external or removable computer-readable storage media include compact discs (CD-ROM, CD-RW) and digital video discs (DVD).

[0039] Cada terminal de comunicações seguras 104 pode incluir uma interface de comunicações conectada de modo operacional ao processador. A interface de comunicações pode permitir que um terminal de comunicações seguras 104 se comunique com outros dispositivos de computação, por exemplo, por meio da rede 108. A interface de comunicações pode, portanto, ser selecionada para compatibilidade com rede 108. Em algumas implementações do sistema 100, os terminais de comunicações seguras 104 podem ser conectados ao servidor de chave pública 112 e/ou uns aos outros diretamente, sem uma rede de intervenção 108, tal como quando um terminal de comunicações seguras 104 é conectado ao servidor de chave pública 112 e/ou outro terminal de comunicações seguras 104 através de uma conexão de barramento serial universal (USB) com fio ou uma conexão Bluetooth sem fio. Essas conexões podem ser estabelecidas além ou no lugar de uma conexão através da rede 08.[0039] Each secure communications terminal 104 may include a communications interface operably connected to the processor. The communications interface may allow a secure communications terminal 104 to communicate with other computing devices, for example, over network 108. The communications interface may therefore be selected for compatibility with network 108. In some implementations of the system 100, the secure communications terminals 104 can be connected to the public key server 112 and/or to each other directly, without a network intervening 108, such as when a secure communications terminal 104 is connected to the public key server 112 and/or another secure communications terminal 104 via a wired Universal Serial Bus (USB) connection or a wireless Bluetooth connection. These connections may be established in addition to or in place of a connection through network 08.

[0040] A rede 108 pode compreender qualquer rede capaz de ligar o servidor de chave pública 112 com os terminais de comunicações seguras 104 e pode incluir qualquer combinação adequada de redes com fio e/ou sem fio, incluindo, mas sem limitação, uma Rede de Área Ampla (WAN) tal como a Internet, uma Rede Local (LAN), redes de telefone celular, redes Wi-Fi™, redes WiMAX™ e similares.[0040] The network 108 can comprise any network capable of linking the public key server 112 with the secure communications terminals 104 and can include any suitable combination of wired and/or wireless networks, including, but not limited to, a Network Wide Area Networks (WAN) such as the Internet, a Local Area Network (LAN), cellular phone networks, Wi-Fi™ networks, WiMAX™ networks and the like.

[0041] Em termos gerais, o servidor de chave pública 112 pode compreender qualquer plataforma capaz de fornecer auxílio com o desempenho de comunicações protegidas. Em uma presente modalidade, o servidor de chave pública 112 é um servidor configurado para receber, manter e fornecer chaves públicas. O servidor de chave pública 112 pode ser baseado em um ambiente de computação tipo servidor que inclui configurações apropriadas de uma ou mais unidades de processamento central (CPUs) configuradas para controlar e interagir com meios legíveis por computador não transitórios na forma de memória de computador ou um dispositivo de armazenamento. A memória de computador ou dispositivo de armazenamento pode incluir uma memória volátil, tal como Memória de Acesso Aleatório (RAM), e memória não volátil, tal como unidades de disco rígido ou unidades FLASH ou uma Gama Redundante de Discos Baratos (RAID) ou armazenamento com base em nuvem. O servidor de chave pública 112 pode também incluir uma ou mais interfaces de rede ou de comunicação para se conectar à rede 108 ou aos terminais de comunicações seguras 104. O servidor de chave pública 112 pode também ser configurado para incluir dispositivos de entrada, tal como um teclado, ou dispositivo de indicador ou dispositivos de saída, tal como um monitor ou um visor ou qualquer um ou todos eles, para permitir interação local.[0041] In general terms, the public key server 112 may comprise any platform capable of providing assistance with the performance of protected communications. In a present embodiment, public key server 112 is a server configured to receive, maintain, and provide public keys. Public key server 112 may be based on a server-like computing environment that includes appropriate configurations of one or more central processing units (CPUs) configured to control and interact with non-transient computer-readable media in the form of computer memory or a storage device. Computer memory or storage device can include volatile memory, such as Random Access Memory (RAM), and non-volatile memory, such as hard disk drives or FLASH drives or Redundant Array of Inexpensive Disks (RAID) or storage. cloud based. Public key server 112 may also include one or more network or communication interfaces for connecting to network 108 or secure communications terminals 104. Public key server 112 may also be configured to include input devices, such as a keyboard, or pointing device or output devices, such as a monitor or a display or any or all of them, to allow local interaction.

[0042] Outros tipos de configurações de hardware para o servidor de chave pública 112 são contempladas. Por exemplo, o servidor de chave pública 112 pode ser implantado como parte de uma solução de computação com base em nuvem, em que a funcionalidade do servidor de chave pública 112 é implantada como uma ou mais máquinas virtuais que operam em um único centro de dados ou através de uma pluralidade de centros de dados. O servidor de chave pública 112 pode também ser implantado como um servidor distribuído, distribuído através de múltiplos dispositivos de computação conectados de modo operacional através de uma rede, por exemplo, a rede 108. O aspecto de software do ambiente de computação do servidor de chave pública 112 pode também incluir capacidades de acesso remoto em vez, ou além, de quaisquer dispositivos de entrada locais ou dispositivos de saída locais.[0042] Other types of hardware configurations for the public key server 112 are contemplated. For example, public key server 112 may be deployed as part of a cloud-based computing solution, where public key server 112 functionality is deployed as one or more virtual machines operating in a single data center. or across a plurality of data centers. The public key server 112 may also be deployed as a distributed server, distributed across multiple computing devices operatively connected via a network, for example, network 108. The Software Aspect of the Key Server Computing Environment public 112 may also include remote access capabilities instead of, or in addition to, any local input devices or local output devices.

[0043] Qualquer ambiente operacional desejado ou adequado pode ser usado no ambiente de computação do servidor de chave pública 112. O ambiente de computação pode ser configurado em conformidade com sistemas operacionais e aplicativos apropriados para efetuar a funcionalidade discutida no presente documento. Aqueles versados na técnica irão agora reconhecer que o servidor de chave pública 112 não precisa necessariamente ser implantado como um dispositivo autônomo e pode ser integrado como parte de um servidor universal ou implantado como uma máquina virtual.[0043] Any desired or suitable operating environment may be used in the computing environment of public key server 112. The computing environment may be configured accordingly with appropriate operating systems and applications to effect the functionality discussed in this document. Those skilled in the art will now recognize that public key server 112 need not necessarily be deployed as a standalone device and can be integrated as part of a universal server or deployed as a virtual machine.

[0044] O servidor de chave pública 112 é operável para receber, armazenar e enviar chaves públicas associadas a uma ou mais contas de cliente. O servidor de chave pública 112 pode ser operável adicionalmente para determinar que as chaves transferidas por upload não são duplicatas de chaves anteriormente transferidas por upload. Ademais, o servidor de chave pública 112 pode ser operável para confirmar a conta de cliente que fornece as chaves e verificar que as chaves transferidas por upload foram de fato geradas por essa conta de cliente. Em variações, pode haver mais de um servidor de chave pública 112.[0044] The public key server 112 is operable to receive, store and send public keys associated with one or more customer accounts. Public key server 112 may be further operable to determine that the uploaded keys are not duplicates of previously uploaded keys. Furthermore, public key server 112 may be operable to confirm the customer account supplying the keys and verify that the uploaded keys were indeed generated by that customer account. In variations, there may be more than one public key server 112.

[0045] Em algumas implementações, os terminais de comunicações seguras 104 são configurados para serem associados a uma conta de cliente. Por exemplo, conforme mostrado na Figura 1, o terminal de comunicações seguras 104-1 é associado a uma conta de cliente A, em que o terminal de comunicações seguras 104-2 é associado a uma conta de cliente B. O acesso a uma conta de cliente é obtido tipicamente com base em credenciais fornecidas, tal como um nome de usuário, um endereço de e-mail, uma senha e/ou outras credenciais que irão agora ocorrer a uma pessoa versada na técnica. Em algumas variações, mais de uma conta pode ser associada a um terminal de comunicações seguras 104. Em variações adicionais, uma conta pode ser associada a mais de um terminal de comunicações seguras 104. Em outras variações, contas podem não ser usadas e, em vez disso, credenciais podem ser credenciais singulares associadas a um terminal de comunicações seguras 104 que não são conhecidas por outros, tal como um número de série singular associado ao dispositivo. Nessas variações, as comunicações seguras descritas abaixo são realizadas com base em credenciais de dispositivo ao contrário de credenciais de conta de cliente associadas a um terminal de comunicações seguras 104.[0045] In some implementations, secure communications terminals 104 are configured to be associated with a customer account. For example, as shown in Figure 1, the secure communications terminal 104-1 is associated with an account of customer A, where the secure communications terminal 104-2 is associated with an account of customer B. Accessing an account Customer access is typically obtained based on supplied credentials, such as a username, an email address, a password and/or other credentials that will now occur to a person skilled in the art. In some variations, more than one account may be associated with a secure communications terminal 104. In further variations, an account may be associated with more than one secure communications terminal 104. In other variations, accounts may not be used and, in instead, credentials may be unique credentials associated with a secure communications terminal 104 that are not known to others, such as a unique serial number associated with the device. In these variations, the secure communications described below are performed based on device credentials as opposed to customer account credentials associated with a secure communications endpoint 104.

[0046] Com base na conta de cliente mantida, um terminal de comunicações seguras pode ser configurado, em associação com uma conta de cliente, para gerar chaves simétricas e assimétricas, gerar mensagens, criptografar as mensagens geradas e outros dados, enviar mensagens geradas para outros terminais de comunicações seguras 104, receber mensagens de outros terminais de comunicações seguras 104 e descriptografar mensagens recebidas. A criptografia realizada pelos terminais de comunicações seguras 104 em associação com uma conta de cliente pode ser baseada em chaves ou identificador de chaves que são gerados anteriormente por essa conta de cliente e comunicados a outra conta de cliente como parte de uma mensagem enviada anteriormente. Por exemplo, em algumas implementações, uma chave simétrica compartilhada SSK e um identificador de chave simétrica compartilhada SSKID podem ser gerados por uma conta de cliente e incluídos como parte de uma mensagem enviada para outra conta de cliente. A chave simétrica compartilhada SSK pode ser gerada com base em qualquer método de geração de chave desejado. Em conformidade, quando a conta de cliente recebe uma mensagem subsequente, que inclui o identificador de chave simétrica compartilhada SSKID, a conta de cliente pode determinar, com base na inclusão do SSKID, que a mensagem, pelo menos em parte, foi criptografada pela outra conta de cliente que compõe a mensagem, com o uso da chave simétrica compartilhada SSK. Desse modo, para descriptografar pelo menos porções da mensagem recebida, a conta de cliente pode identificar a chave simétrica compartilhada SSK, com base no identificador de chave simétrica compartilhada SSKID e usar a chave simétrica compartilhada SSK identificada para descriptografar porções da mensagem recebida. Dessa maneira, cada mensagem enviada entre duas contas de cliente pode ser criptografada por uma chave simétrica diferente que é compartilhada entre as duas contas de cliente que trocam as mensagens. Em variações, SSK e SSKID podem ser usados para criptografar um conjunto de mensagens. Desse modo, mesmo se uma chave simétrica compartilhada é comprometida por terceiros, apenas uma ou um conjunto de mensagens pode ser descriptografada.[0046] Based on the customer account maintained, a secure communications terminal can be configured, in association with a customer account, to generate symmetric and asymmetric keys, generate messages, encrypt the generated messages and other data, send generated messages to other secure communications terminals 104, receive messages from other secure communications terminals 104, and decrypt received messages. Encryption performed by secure communications terminals 104 in association with a customer account may be based on keys or key identifiers that are previously generated by that customer account and communicated to another customer account as part of a previously sent message. For example, in some implementations, an SSK shared symmetric key identifier and SSKID shared symmetric key identifier may be generated by one customer account and included as part of a message sent to another customer account. The SSK shared symmetric key can be generated based on any desired key generation method. Accordingly, when the customer account receives a subsequent message that includes the SSKID shared symmetric key identifier, the customer account can determine, based on the inclusion of the SSKID, that the message, at least in part, has been encrypted by the other customer account composing the message, using the SSK shared symmetric key. Thus, to decrypt at least portions of the received message, the customer account can identify the SSK symmetric shared key, based on the SSK symmetric shared key identifier SSKID, and use the identified SSK symmetric shared key to decrypt portions of the received message. In this way, each message sent between two customer accounts can be encrypted by a different symmetric key that is shared between the two customer accounts exchanging the messages. In variations, SSK and SSKID can be used to encrypt a set of messages. That way, even if a shared symmetric key is compromised by a third party, only one or a set of messages can be decrypted.

[0047] Em variações, a conta de cliente pode criptografar o identificador de chave simétrica compartilhada SSKID com o uso de outra chave simétrica que é singular àquela conta de cliente (chave de cliente singular UCK), que não é compartilhada com outras contas de cliente, para reduzir a chance de o identificador de chave simétrica compartilhada SSKID ser interceptado e decodificado por contas de terceiros que não são o remetente ou o receptor das mensagens. Em algumas variações, a chave de cliente singular UCK pode ser gerada com o uso de um gerador de número aleatório, com uma credencial de conta de cliente, de modo que a senha seja a semente. Dessa maneira, a chave de cliente singular UCK pode ser gerada consistentemente através de vários dispositivos em que uma conta de cliente existe. Embora a chave de cliente singular UCK seja exclusiva a uma conta de cliente, em variações, a mesma pode variar em tempo ou com base em mudanças nas credenciais de conta de cliente, por exemplo.[0047] In variations, the customer account can encrypt the SSKID shared symmetric key identifier using another symmetric key that is unique to that customer account (CUK customer unique key), which is not shared with other customer accounts , to reduce the chance that the SSKID symmetric shared key identifier will be intercepted and decrypted by third-party accounts that are not the sender or receiver of the messages. In some variations, the UCK unique customer key can be generated using a random number generator with a customer account credential such that the password is the seed. In this way, the unique UCK customer key can be generated consistently across multiple devices where a customer account exists. Although the UCK unique customer key is unique to a customer account, in variations it may vary over time or based on changes in customer account credentials, for example.

[0048] A fim de ser capaz de usar diferentes chaves simétricas compartilhadas com diferentes mensagens ou conjuntos de mensagens, um método é fornecido para gerar e compartilhar chaves compartilhadas entre duas contas de cliente. Consequentemente, uma chave simétrica compartilhada SSK, uma vez gerada por uma conta de cliente, é compartilhada com apenas uma outra conta de cliente e usada para criptografar chaves de mensagens enviadas daquela outra conta para a conta de cliente que gerou a chave compartilhada simétrica SSK. Em variações, a chave simétrica compartilhada pode ser compartilhada com um conjunto de outras contas de cliente.[0048] In order to be able to use different symmetric shared keys with different messages or sets of messages, a method is provided to generate and share shared keys between two client accounts. Consequently, an SSK symmetric shared key, once generated by a customer account, is shared with only one other customer account and used to encrypt message keys sent from that other account to the customer account that generated the SSK symmetric shared key. In variations, the shared symmetric key can be shared with a set of other customer accounts.

[0049] Em algumas implementações, uma chave pública PuK associada a uma conta de cliente de recipiente pode também ser usada por outra conta de cliente para criptografar pelo menos porções de uma mensagem destinada à conta de cliente de recipiente, além do uso de uma chave simétrica compartilhada. Ademais, a chave pública PuK pode ser incluída, pela outra conta de cliente, como parte da mensagem antes de enviar a mensagem para a conta de cliente de recipiente. Nessas implementações, a outra conta de cliente pode receber a chave pública PuK do servidor de chave pública 112, que é descrita em maiores detalhes abaixo. A chave pública PuK pode ser criptografada, por exemplo, com a chave simétrica compartilhada SSK recebida anteriormente, pela outra conta de cliente, antes da inclusão na mensagem. Consequentemente, quando a conta de cliente de recipiente recebe a mensagem, a mesma pode descriptografar a chave pública PuK com o uso da chave simétrica compartilhada SSK e identificar a chave privada PrK que corresponde à chave pública PuK. Em algumas variações, a chave pública melhorada pode ser usada de tal modo que a chave privada PrK que corresponde à chave pública PuK possa ser incluída como parte da chave pública melhorada, em uma forma criptografada, conforme descrito abaixo em maiores detalhes. Subsequentemente, as porções da mensagem criptografada com a chave pública PuK podem ser descriptografadas com o uso da chave privada PrK correspondente. Em variações pelo menos algumas porções da mensagem podem ser criptografadas com o uso tanto da chave simétrica compartilhada SSK quanto da chave pública PuK. Em variações, uma chave pública PuK diferente pode ser obtida criptografando-se cada nova mensagem ou um conjunto de novas mensagens criadas com base no uso de uma chave pública melhorada. Limitar o uso de uma chave pública PuK à criptografia de uma ou um conjunto de mensagens limita quaisquer comprometimentos devido à violação de um par de chaves públicas/privadas a uma ou um conjunto de mensagens criptografadas que violaram a chave pública. Ademais, o uso tanto de uma chave simétrica compartilhada em mudança e uma chave assimétrica em mudança também aumenta a segurança de troca de mensagens e questões de endereços tal como o problema de ataque indireto (man-in-the-middle).[0049] In some implementations, a PuK public key associated with a recipient customer account may also be used by another customer account to encrypt at least portions of a message intended for the recipient customer account, in addition to the use of a key shared symmetric. Furthermore, the PuK public key may be included, by the other customer account, as part of the message before sending the message to the recipient customer account. In these implementations, the other client account can receive the PuK public key from public key server 112, which is described in more detail below. The PuK public key can be encrypted, for example, with the SSK shared symmetric key previously received by the other customer account, before being included in the message. Consequently, when the recipient's customer account receives the message, it can decrypt the PuK public key using the SSK shared symmetric key and identify the PrK private key that corresponds to the PuK public key. In some variations, the enhanced public key can be used such that the PrK private key that corresponds to the PuK public key can be included as part of the enhanced public key, in an encrypted form, as described in more detail below. Subsequently, portions of the message encrypted with the PuK public key can be decrypted using the corresponding PrK private key. In variations at least some portions of the message can be encrypted using either the SSK shared symmetric key or the PuK public key. In variations, a different PuK public key can be obtained by encrypting each new message or set of new messages created using an enhanced public key. Limiting the use of a PuK public key to encrypting one or a set of messages limits any compromises due to tampering with a public/private key pair to one or a set of encrypted messages that breached the public key. Furthermore, the use of both a symmetric shared key in change and an asymmetric key in change also increases message exchange security and addressing issues such as the man-in-the-middle attack problem.

[0050] A fim de ser capaz de usar diferentes chaves públicas com diferentes mensagens, um método é fornecido para gerar e compartilhar múltiplas chaves públicas melhoradas associadas a cada conta de cliente. Consequentemente, em variações, cada conta de cliente pode gerar mais de um par de chave assimétrica pública/privada. As chaves públicas melhoradas geradas por uma conta de cliente podem ser transferidas por upload para o servidor de chave pública 112 e armazenadas no mesmo em associação com a conta de cliente. Subsequentemente, qualquer conta de cliente pode solicitar uma chave pública melhorada associada a uma conta de cliente à medida que novas mensagens são trocadas. Em variações, as chaves públicas melhoradas geradas podem incluir uma porção de dados de tal modo que o servidor de chave pública possa verificar que uma chave pública melhorada é fornecida ao mesmo e é associada a uma conta de cliente é de fato gerada por aquela conta de cliente. Ademais, a chave pública melhorada pode também incluir uma segunda porção de dados de tal modo que uma conta de cliente que transfere por upload uma nova chave pública melhorada para um servidor de chave pública 112 possa verificar que o servidor de chave pública 112 é autêntico (ao contrário de, por exemplo, um interceptor que tenta comprometer as chaves públicas).[0050] In order to be able to use different public keys with different messages, a method is provided to generate and share multiple enhanced public keys associated with each customer account. Consequently, in variations, each customer account can generate more than one public/private asymmetric key pair. Enhanced public keys generated by a customer account may be uploaded to public key server 112 and stored therein in association with the customer account. Subsequently, any customer account may request an enhanced public key associated with a customer account as new messages are exchanged. In variations, the enhanced public keys generated may include a portion of data such that the public key server can verify that an enhanced public key provided to it and associated with a customer account is in fact generated by that account. client. Furthermore, the enhanced public key may also include a second piece of data such that a customer account uploading a new enhanced public key to a public key server 112 can verify that the public key server 112 is authentic ( as opposed to, for example, an interceptor that tries to compromise the public keys).

[0051] Em algumas implementações adicionais, pelo menos uma porção de uma mensagem pode ser criptografada por uma chave de mensagem MK simétrica. A porção criptografada pela MK pode ser, por exemplo, o conteúdo de mensagem ou outros dados de mensagem. A MK pode ser gerada pela conta de cliente que envia a mensagem e incluída na mensagem. A MK pode ser criptografada pela SSK e/ou PuK da conta de cliente para qual a mensagem é enviada.[0051] In some further implementations, at least a portion of a message may be encrypted by a symmetric MK message key. The portion encrypted by the MK can be, for example, message content or other message data. The MK can be generated by the customer account sending the message and included in the message. The MK can be encrypted by the SSK and/or PuK of the customer account to which the message is sent.

[0052] Referindo-se agora à Figura 2, um método para fornecer uma chave pública melhorada para proteger a comunicação de sistema é indicado geralmente em 200. A fim de auxiliar na explicação do método, será presumido que o método 200 é operado com o uso do sistema 100 conforme mostrado na Figura1. Adicionalmente, a discussão a seguir do método 200 leva a compreensão adicional do sistema 100. Entretanto, deve ser compreendido que o sistema 100 e o método 200 podem ser variados e não precisam funcionar exatamente conforme discutido no presente documento em combinação um com o outro e que tais variações estão dentro do escopo.[0052] Referring now to Figure 2, a method for providing an enhanced public key to protect system communication is generally indicated at 200. In order to assist in explaining the method, it will be presumed that method 200 is operated with the use of system 100 as shown in Figure 1. Additionally, the following discussion of method 200 leads to further understanding of system 100. However, it should be understood that system 100 and method 200 may be varied and need not function exactly as discussed herein in combination with one another and that such variations are within scope.

[0053] Iniciando-se em 205, um conjunto de pares de chaves públicas/privadas é gerado por uma conta de cliente em um terminal de comunicações seguras 104. No exemplo ilustrado da Figura 1, a conta de cliente A gera um par de chaves públicas/privadas que compreende uma chave pública assimétrica PK1 e uma chave privada assimétrica PKR1 respectivamente conforme mostrado na Figura 3 de acordo com métodos conhecidos de geração de chave assimétrica. Ademais, o terminal de comunicações seguras 104-1 mantém uma chave de cliente singular UCKA gerada previamente singular ao cliente A. A chave de cliente singular UCKA pode ser gerada com base em um gerador de número aleatório com o uso de uma credencial da conta de cliente A, tal como sua senha.[0053] Starting at 205, a set of public/private key pairs is generated by a customer account at a secure communications terminal 104. In the illustrated example of Figure 1, customer account A generates a key pair public/private keys comprising a PK1 asymmetric public key and a PKR1 asymmetric private key respectively as shown in Figure 3 according to known asymmetric key generation methods. Furthermore, the secure communications terminal 104-1 maintains a previously generated UCKA unique customer key unique to customer A. The UCKA unique customer key can be generated based on a random number generator using a customer account credential. customer A, such as your password.

[0054] Continuando com o método 200 em 210, assim como a Figura 3, um código de confirmação de conta também é gerado e criptografado. Por exemplo, um gerador de número aleatório pode ser usado para gerar o código de confirmação de conta ACC1. O código de confirmação de conta ACC1 pode ser usado pelo servidor de chave pública 112 para verificar que a conta de cliente que envia uma nova chave pública é de fato a conta de cliente à qual a chave pública deve ser associada. O código de confirmação de conta ACC1 pode ser criptografado por si próprio, o que resulta em uma primeira forma criptografada do código de confirmação de conta ACC1 (EACC1). Além disso, conforme mostrado na Figura 4, o código de geração de conta ACC1 pode também ser criptografado com a chave de cliente singular UCKA, o que resulta em uma segunda forma criptografada do código de autenticação de conta ACC1 (EACC2). Subsequentemente, o primeiro código de autenticação de conta criptografado EACC1 e o segundo código de autenticação de conta criptografado EACC2 podem ser combinados com a chave pública assimétrica PK1 como parte da formação de uma versão melhorada da chave pública, a chave pública melhorada PuK. O processo de combinação pode tomar várias formas, tal como concentração, por exemplo.[0054] Continuing with method 200 at 210, just like Figure 3, an account confirmation code is also generated and encrypted. For example, a random number generator can be used to generate the ACC1 account confirmation code. Account confirmation code ACC1 can be used by public key server 112 to verify that the customer account sending a new public key is indeed the customer account to which the public key is to be associated. The ACC1 Account Confirmation Code can be self-encrypted, resulting in a first encrypted form of the ACC1 Account Confirmation Code (EACC1). Furthermore, as shown in Figure 4, the ACC1 account generation code can also be encrypted with the UCKA customer unique key, which results in a second encrypted form of the ACC1 account authentication code (EACC2). Subsequently, the first encrypted account authentication code EACC1 and the second encrypted account authentication code EACC2 can be combined with the asymmetric public key PK1 as part of forming an enhanced version of the public key, the PuK enhanced public key. The blending process can take various forms, such as concentration, for example.

[0055] Referindo-se novamente à Figura 2, em 215, um código de autenticação de servidor (SAC1) é gerado com o uso, por exemplo, de um gerador de número aleatório e criptografado. O código de autenticação de servidor SAC1 pode ser usado pela conta de cliente A, por exemplo, para confirmar que o servidor de chave pública é autêntico. O código de autenticação de servidor SAC1 pode criptografado pelo código de autenticação de conta ACC1, o que resulta em uma primeira forma criptografada do código de autenticação de servidor SAC1 (ESAC1). Ademais, o SAC1 pode também ser criptografado com a chave de cliente singular UCKA, o que resulta em uma segunda forma criptografada do SAC1 (ESAC2). Subsequentemente, a primeira forma criptografada do SAC, ESAC1 e a segunda forma criptografada do SAC1, ESAC2 podem ser combinadas com o resto dos conteúdos da chave pública melhorada PuK1 conforme mostrado na Figura 5. O ato de combinação pode tomar várias formas, tal como concentração, por exemplo.[0055] Referring again to Figure 2, at 215, a server authentication code (SAC1) is generated using, for example, a random and encrypted number generator. The server authentication code SAC1 can be used by customer account A, for example, to confirm that the public key server is authentic. The SAC1 Server Authentication Code can be encrypted by the ACC1 Account Authentication Code, which results in a first encrypted form of the SAC1 Server Authentication Code (ESAC1). Furthermore, SAC1 can also be encrypted with the UCKA customer unique key, which results in a second encrypted form of SAC1 (ESAC2). Subsequently, the first encrypted form of SAC, ESAC1 and the second encrypted form of SAC1, ESAC2 can be combined with the rest of the contents of the PuK1 enhanced public key as shown in Figure 5. The act of combining can take various forms, such as concentration , for example.

[0056] Continuando o método 200, em 220, as credenciais de conta de cliente são adicionadas à chave pública melhorada. Por exemplo, um endereço de e-mail (emailA) que foi usado para criar a conta de cliente A pode ser adicionado à chave pública melhorada PuK1, conforme mostrado na Figura 6. Em algumas variações, as credenciais podem ser criptografadas.[0056] Continuing method 200, at 220, the customer account credentials are added to the enhanced public key. For example, an email address (emailA) that was used to create customer account A can be added to the PuK1 enhanced public key, as shown in Figure 6. In some variations, the credentials can be encrypted.

[0057] Continuando com o método 200, em 225, a chave privada PKR1 que corresponde à chave pública PK1, gerada em 205 é criptografada com o uso do código de cliente singular UCKA, para gerar uma forma criptografada da chave privada (EPKR1). A forma criptografada da chave privada EPKR1 é adicionada subsequentemente à chave pública melhorada PuK1 conforme mostrado na Figura 7. Incluindo-se a versão criptografada da chave privada PKR1, uma conta de cliente pode ser desobrigada de manter a chave privada em um terminal de comunicações seguras 104.[0057] Continuing with method 200, at 225, the private key PKR1 corresponding to the public key PK1 generated at 205 is encrypted using the customer unique code UCKA to generate an encrypted form of the private key (EPKR1). The encrypted form of the EPKR1 private key is subsequently added to the PuK1 enhanced public key as shown in Figure 7. By including the encrypted version of the PKR1 private key, a customer account can be relieved of keeping the private key in a secure communications endpoint 104.

[0058] Referindo-se novamente à Figura 2, em 230, informações adicionais podem ser adicionadas à chave pública melhorada PuK1. Por exemplo, um número de versão do gerador de chave pública usado para gerar a chave pública melhorada pode ser anexado à chave pública melhorada Puk1. Alternativamente ou além disso, uma data de geração na chave pública melhorada PuK1 e uma data de vencimento da chave pública melhorada PuK1 podem também ser anexadas. Ademais, o tamanho SizeP, em bits, por exemplo, da chave pública assimétrica PK1 pode também ser incluído na chave pública melhorada PUK1, conforme mostrado na Figura 8, que neste caso é 512 bits.[0058] Referring again to Figure 2, at 230, additional information can be added to the PuK1 enhanced public key. For example, a version number of the public key generator used to generate the enhanced public key can be appended to the Puk1 enhanced public key. Alternatively or in addition, a generation date on the PuK1 enhanced public key and an expiration date on the PuK1 enhanced public key may also be appended. Furthermore, the SizeP size, in bits, for example, of the asymmetric public key PK1 can also be included in the enhanced public key PUK1, as shown in Figure 8, which in this case is 512 bits.

[0059] Continuando com o método 200, em 235 a chave pública melhorada é normalizada. A normalização permite que a chave pública melhorada seja utilizada de acordo com padrões de chave pública assimétrica existentes. Para realizar a normalização, os dados combinados da chave pública melhorada PuK1 são divididos em fileiras que têm um comprimento de bit igual ao campo sizeP na PuK1, que neste exemplo é 512 bits. Neste exemplo, a chave pública melhorada é dividida em três fileiras, R1, R2 e R4. A fileira R1 inclui o tamanho da chave pública assimétrica SizeP, a chave privada criptografada EPKR1 que corresponde à chave pública assimétrica PK1 e o endereço de email emailA para a conta de cliente A. A fileira R2, por outro lado, inclui o segundo código de autenticação de servidor criptografado ESAC2, o primeiro código de autenticação de servidor criptografado ESAC1, o segundo código de confirmação de conta codificado EACC2 e o primeiro código de confirmação de conta codificado EACC1. A fileira R4 inclui a chave pública assimétrica PK1. A fileira um é reservada para o processo de normalização que é discutido em seguida. Deve ser observado que embora neste exemplo, as informações até agora incluídas na PuK1 formaram exatamente três fileiras de 512 bits, em variações, as mesmas podem formar mais ou menos do que duas fileiras. Ademais, em variações adicionais, pode haver pelo menos uma fileira que tem menos do que 512 bits. Em tais casos, a fileira com menos do que 512 bits pode ser preenchida para 512 bits com o uso de zeros. Deve-se também observar que a ordem exata das informações incluídas na chave pública melhorada PuK1 assim como as fileiras não é material e em diferentes implementações, a ordem pode variar.[0059] Continuing with method 200, at 235 the enhanced public key is normalized. Normalization allows the enhanced public key to be used in accordance with existing asymmetric public key standards. To perform normalization, the combined PuK1 enhanced public key data is divided into rows that have a bit length equal to the sizeP field in PuK1, which in this example is 512 bits. In this example, the enhanced public key is split into three rows, R1, R2, and R4. Row R1 includes the size of the asymmetric public key SizeP, the encrypted private key EPKR1 that corresponds to the asymmetric public key PK1, and the email address emailA for customer account A. Row R2, on the other hand, includes the second ESAC2 encrypted server authentication code, the first ESAC1 encrypted server authentication code, the second EACC2 encrypted account confirmation code, and the first EACC1 encrypted account confirmation code. Row R4 includes the PK1 asymmetric public key. Row one is reserved for the normalization process which is discussed next. It should be noted that although in this example, the information so far included in PuK1 formed exactly three rows of 512 bits, in variations it may form more or less than two rows. Furthermore, in additional variations, there may be at least one row that is less than 512 bits long. In such cases, the row with less than 512 bits can be padded to 512 bits using zeros. It should also be noted that the exact order of information included in the PuK1 enhanced public key as well as the ranks is not material and in different implementations, the order may vary.

[0060] Para realizar a normalização, as três fileiras R1, R2 e R4 são combinadas com uma fileira de ajuste R3 para formar uma matriz 900. A fileira R3, inclui um valor de ajuste AdjustP. O valor de ajuste AdjustP é determinado com base nas informações incluídas na chave pública melhorada PuK1, incluindo a chave pública assimétrica PK1. Por exemplo, neste exemplo, o valor de ajuste AdjustP pode ser calculado determinando-se o ou exclusivo das fileiras R1 e R2, cujo resultado é o ou exclusivo determinado com a fileira R4. O valor de ajuste determinado AdjustP é então adicionado à chave pública melhorada PuK1, conforme mostrado na Figura 10. Em algumas variações, um hash da chave pública melhorada pode ser gerado e incluído na chave pública melhorada que fornece um mecanismo de verificação de erro adicional.[0060] To perform normalization, the three rows R1, R2 and R4 are combined with an adjustment row R3 to form a 900 matrix. The row R3 includes an AdjustP adjustment value. The AdjustP adjustment value is determined based on information included in the PuK1 enhanced public key, including the PK1 asymmetric public key. For example, in this example, the AdjustP adjustment value can be calculated by determining the exclusive or of rows R1 and R2, which results in the exclusive or determined with row R4. The determined adjustment value AdjustP is then added to the PuK1 enhanced public key, as shown in Figure 10. In some variations, a hash of the enhanced public key can be generated and included in the enhanced public key that provides an additional error checking mechanism.

[0061] Em uso subsequente da chave pública PuK1 melhorada, para criptografar quaisquer dados com base na mesma, a chave pública assimétrica PK1 pode ser determinada com base no valor de ajuste AdjustP e o resto das informações incluídas na chave pública melhorada PuK1. Por exemplo, nesse caso, referindo-se de novo à Figura 9, para criptografar dados com a chave pública melhorada PuK1, uma matriz 900 pode ser mais uma vez construída a partir da chave pública melhorada PuK1 e as fileiras R1 e R2 com o ou exclusivo calculado e o resultado tem o ou exclusivo calculado adicionalmente com o valor de ajuste AdjustP para obter a chave pública assimétrica PK1, que é usada subsequentemente para criptografar os dados. Ademais, para descriptografar dados criptografados com a chave pública assimétrica PK1, obtidos da chave pública melhorada PuK1, a chave privada PKR1 correspondente não precisa ser armazenada em conta de cliente A desde que a chave pública melhorada PuK1 seja comunicada à conta de cliente A junto com os dados criptografados. Isso se deve ao fato de que a chave pública melhorada PuK1 inclui uma chave privada PKR1 correspondente.[0061] On subsequent use of the PuK1 enhanced public key to encrypt any data based on it, the PK1 asymmetric public key can be determined based on the AdjustP adjustment value and the rest of the information included in the PuK1 enhanced public key. For example, in this case, referring again to Figure 9, to encrypt data with the PuK1 enhanced public key, an array 900 can once again be constructed from the PuK1 enhanced public key and the rows R1 and R2 with the or computed exclusive and the result has the exclusive or computed further with the adjustment value AdjustP to obtain the asymmetric public key PK1, which is subsequently used to encrypt the data. Furthermore, to decrypt data encrypted with the PK1 asymmetric public key obtained from the PuK1 enhanced public key, the corresponding PKR1 private key need not be stored in client A's account as long as the PuK1 enhanced public key is communicated to client A's account along with the encrypted data. This is because the PuK1 enhanced public key includes a corresponding PKR1 private key.

[0062] Uma vez que a chave pública melhorada PuK1 é gerada em um terminal de comunicações seguras 104, a mesma é comunicada para o servidor de chave pública 112 de modo que possa se tornar disponível para outras contas de cliente tal como a conta de cliente B. Referindo-se agora à Figura 11, um método de adição de chave pública é indicado geralmente em 1100. A fim de auxiliar na explicação do método, será presumido que o método 1100 é operado com o uso do sistema 100 conforme mostrado na Figura1. Adicionalmente, a discussão a seguir do método 1100 leva a compreensão adicional do sistema 100. Entretanto, deve ser compreendido que o sistema 100 e o método 100 podem ser variados e não precisam funcionar exatamente conforme discutido no presente documento em combinação um com o outro e que tais variações estão dentro do escopo.[0062] Once the PuK1 enhanced public key is generated at a secure communications terminal 104, it is communicated to the public key server 112 so that it can be made available to other customer accounts such as the customer account B. Referring now to Figure 11, a public key addition method is generally indicated at 1100. In order to assist in explaining the method, it will be presumed that method 1100 is operated using the system 100 as shown in Figure 1 . Additionally, the following discussion of method 1100 leads to further understanding of system 100. However, it should be understood that system 100 and method 100 may be varied and need not function exactly as discussed herein in combination with each other and that such variations are within scope.

[0063] Iniciando-se em 1105, a conta de cliente A, através do terminal de comunicações seguras 104-2, acessa o servidor de chave pública 112 com o uso da interface de comunicações do terminal de comunicações seguras 104-2 e solicita uma chave pública melhorada atual associada à conta de cliente A. Mediante o recebimento da chave pública melhorada atual PuK2, que foi gerada anteriormente de acordo com o método 200 e transferida por upload para o servidor de chave pública 12 através de um desempenho anterior do método 1100, o código de autenticação de servidor SAC2 e o código de confirmação de conta ACC2 são obtidos da chave pública melhorada atual PuK2. Especificamente, conforme mostrado na Figura 12, o segundo código de autenticação de servidor criptografado ESAC22 e o segundo código de confirmação de conta codificado EACC22 são extraídos da chave pública melhorada PuK2 e descriptografados para obter o código de autenticação de servidor SAC2 e o código de confirmação de conta ACC2 respectivamente com o uso da chave de cliente singular UCKA da conta de cliente A. Será agora compreendido por aqueles versados na técnica que apenas a conta de cliente A é equipada para realizar essa descriptografia uma vez que a chave de cliente singular UCKA da conta de cliente A não é compartilhada com quaisquer outras contas de cliente.[0063] Beginning at 1105, customer account A, via secure communications terminal 104-2, accesses public key server 112 using the communications interface of secure communications terminal 104-2 and requests a current enhanced public key associated with customer account A. Upon receipt of the current PuK2 enhanced public key, which was previously generated in accordance with method 200 and uploaded to public key server 12 through a prior performance of method 1100 , the SAC2 server authentication code and the ACC2 account confirmation code are obtained from the current PuK2 enhanced public key. Specifically, as shown in Figure 12, the second ESAC22 encrypted server authentication code and the second EACC22 encrypted account confirmation code are extracted from the PuK2 enhanced public key and decrypted to obtain the SAC2 server authentication code and confirmation code ACC2 account respectively using the UCKA unique customer key of the A customer account. It will now be understood by those skilled in the art that only the A customer account is equipped to perform such decryption since the UCKA unique customer key of the Customer account A is not shared with any other customer accounts.

[0064] Uma vez que o código de autenticação de servidor SAC2 e o código de confirmação de conta ACC2 são obtidos da chave pública melhorada PuK2, os mesmos são armazenados no cliente de comunicações seguras 104-1, conforme mostrado na Figura 13. Continuando com o método 1100, em 1120 o código de confirmação de conta ACC2 é transmitido para o servidor de chave pública 112 junto com a nova chave pública melhorada PuK1, conforme mostrado na Figura 14. Em 1125, o servidor de chave pública 112 verifica a conta de cliente. Por exemplo, conforme mostrado na Figura 15, o servidor de chave pública 12 extrai da chave pública melhorada atual PuK2, informações que compreendem o primeiro código de confirmação de conta codificado EACC2 e descriptografa as informações extraídas com o uso do código de confirmação de conta ACC2 recebido. Irá agora ocorrer àqueles versados na técnica que uma vez que o código de confirmação de conta ACC2 recebido foi primeiro originalmente criptografado com o uso do próprio código de confirmação de conta ACC2 como uma chave, somente quando a conta de cliente que fornece a chave de comparação em 1120 for igual à conta de cliente que forneceu a chave pública melhorada atual a descriptografia do primeiro código de confirmação de conta codificado EACC2 será bem-sucedida. Consequentemente, quando o código de confirmação de conta obtido através de descriptografia EACC2 corresponde à confirmação de conta ACC2 recebida, a conta de cliente é verificada e a nova chave pública é aceita. Desse modo, o método 1100 se move para 1130. Quando, por outro lado, o código de confirmação de conta obtido descriptografando- se EACC1 não corresponde à confirmação de conta ACC1 recebida, então o método 1100 se move para 1135 rejeitando a nova chave pública melhorada PuK2.[0064] Once the SAC2 server authentication code and the ACC2 account confirmation code are obtained from the PuK2 enhanced public key, they are stored in the secure communications client 104-1, as shown in Figure 13. Continuing with method 1100, at 1120 the ACC2 account confirmation code is transmitted to the public key server 112 along with the new PuK1 enhanced public key, as shown in Figure 14. At 1125, the public key server 112 verifies the account of client. For example, as shown in Figure 15, the public key server 12 extracts from the current PuK2 enhanced public key, information comprising the first EACC2 encoded account confirmation code, and decrypts the extracted information using the ACC2 account confirmation code. received. It will now occur to those skilled in the art that since the received ACC2 account confirmation code was first originally encrypted using the ACC2 account confirmation code itself as a key, only when the customer account providing the comparison key If 1120 is the same as the customer account that provided the current enhanced public key, decryption of the first EACC2 encoded account confirmation code will succeed. Consequently, when the account confirmation code obtained through EACC2 decryption matches the received ACC2 account confirmation, the customer account is verified and the new public key is accepted. Thus, method 1100 moves to 1130. When, on the other hand, the account confirmation code obtained by decrypting EACC1 does not match the received ACC1 account confirmation, then method 1100 moves to 1135 rejecting the new public key improved PuK2.

[0065] Continuando com a Figura 11, em 1135 a autenticação do servidor de chave pública 112 através de um terminal de comunicações seguras 104 é iniciada, no servidor de chave pública 112, obtendo-se o código de autenticação de servidor da chave pública melhorada que foi fornecido ao terminal de comunicações seguras 104-1. Especificamente, conforme mostrado na Figura 16, o servidor de chave pública 112 obtém o código de autenticação de servidor SAC2 extraindo-se o primeiro código de autenticação de servidor criptografado ESAC2 da chave pública melhorada atual PuK2 e descriptografando-se o primeiro código de autenticação de servidor criptografado ESAC2 com o uso do código de confirmação de conta ACC2.[0065] Continuing with Figure 11, in 1135 the authentication of the public key server 112 through a secure communications terminal 104 is initiated, in the public key server 112, obtaining the enhanced public key server authentication code which was provided to secure communications terminal 104-1. Specifically, as shown in Figure 16, the public key server 112 obtains the SAC2 server authentication code by extracting the first ESAC2 encrypted server authentication code from the current PuK2 enhanced public key and decrypting the first ESAC2 encrypted server authentication code from ESAC2 encrypted server using the ACC2 account confirmation code.

[0066] Em 1140, o código de autenticação de servidor SAC2 extraído da chave pública melhorada atual PuK2 é enviado ao terminal de comunicações seguras 104-1, através de uma interface de comunicação do servidor de chave pública 112, conforme mostrado na Figura 17. Em 1145, a autenticidade do servidor de chave pública 112 é verificada com base no código de autenticação de servidor recebido. Especificamente, o código de autenticação de servidor SAC2 recebido é comparado ao código de autenticação de servidor SAC2 que foi obtido em 1110. Quando os códigos comparados se correspondem, então a autenticidade do servidor é verificada e uma ação adicional não é tomada. Quando, por outro lado, os códigos comparados não correspondem uns aos outros, então é determinado que o servidor de chave pública 112 não é autêntico e avisos são gerados em 1150. Em variações, o código de autenticação de servidor SAC2 pode ser obtido da chave pública melhorada atual PuK2 nesse ponto em vez de em 1110.[0066] At 1140, the SAC2 server authentication code extracted from the current PuK2 enhanced public key is sent to the secure communications terminal 104-1, through a public key server communication interface 112, as shown in Figure 17. At 1145, the authenticity of the public key server 112 is verified based on the received server authentication code. Specifically, the received SAC2 server authentication code is compared to the SAC2 server authentication code that was obtained at 1110. When the compared codes match each other, then the authenticity of the server is verified and further action is not taken. When, on the other hand, the compared codes do not match each other, then it is determined that the public key server 112 is not authentic and warnings are generated at 1150. In variations, the SAC2 server authentication code can be obtained from the key current improved public PuK2 at that point instead of at 1110.

[0067] Em variações, o método de adição de chave pública pode ser repetido quantas vezes for desejado e as múltiplas chaves públicas melhoradas adicionadas desse modo ao servidor de chave pública 112 podem ser armazenadas em buffer no servidor 112. O tamanho do armazenamento em buffer pode variar. Ademais, o servidor de chave pública 112 pode fornecer cada chave pública melhorada uma vez, ou um número limitado de vezes, antes de deletar a mesma ou de outro modo marcar a mesma como indisponível para fornecimento público. Em algumas variações, uma chave pública melhorada pode expirar se não usada após um período predeterminado de tempo. A data ou período de vencimento pode ser incluída em cada chave pública melhorada ou pode ser determinada como uma política do servidor de chave pública 112. Em variações adicionais, em que, por exemplo, apenas uma chave pública melhorada é mantida pelo servidor de chave pública 112, o método 1100 pode ser usado para mudar essa chave pública melhorada ao contrário de adicionar ao mesmo.[0067] In variations, the public key addition method can be repeated as many times as desired and the multiple enhanced public keys added in this way to the public key server 112 can be buffered in the server 112. The buffering size may vary. Furthermore, public key server 112 may provide each enhanced public key once, or a limited number of times, before deleting it or otherwise marking it as unavailable for public delivery. In some variations, an enhanced public key may expire if not used after a predetermined period of time. The expiration date or period may be included in each enhanced public key or may be determined as a public key server policy 112. In further variations, where, for example, only one enhanced public key is held by the public key server 112, method 1100 can be used to change this enhanced public key as opposed to adding to it.

[0068] Uma vez que chaves públicas melhoradas para uma conta de cliente são geradas e tornadas disponíveis através do servidor de chave pública 112, uma conta de cliente pode engatar comunicações seguras com outras contas de cliente. Por exemplo, comunicações seguras podem ser enviadas e recebidas de um terminal de comunicações seguras 104. Em algumas variações, as comunicações podem estar na forma de envio e recebimento de mensagens. Uma mensagem pode incluir um número de diferentes componentes. A Figura 18, mostra uma mensagem exemplificativa ilustrativa não limitadora que inclui vários componentes. Os componentes de uma mensagem, a mensagem MSG1, são montados pela conta de cliente B no terminal de comunicações seguras 104-2.[0068] Once enhanced public keys for a customer account are generated and made available through public key server 112, a customer account can engage secure communications with other customer accounts. For example, secure communications can be sent and received from a secure communications terminal 104. In some variations, the communications can be in the form of sending and receiving messages. A message can include a number of different components. Figure 18, shows a non-limiting illustrative exemplary message that includes various components. The components of a message, message MSG1, are assembled by customer account B at secure communications terminal 104-2.

[0069] A mensagem MSG1 exemplificativa da Figura 18 inclui ESSKID1, uma forma criptografada do identificador de chave compartilhada simétrica SSKIDA1 que é o identificador para a chave simétrica compartilhada SSKA1. O identificador de chave compartilhada simétrica SSKIDA1, junto com a chave simétrica compartilhada SSKA1 são gerados anteriormente como um par de chaves através de um terminal de comunicações seguras 104 associado à conta de cliente A, sendo que o identificador de chave compartilhada simétrica SSKIDA1 é criptografado com o uso da chave de cliente singular UCKA para a conta de cliente A. A chave compartilhada simétrica pode ser gerada com base em qualquer método de geração de chave simétrica desejado. O par de chaves (SSKA1 e ESSKIDA1) é então transmitido para a conta de cliente B como parte de uma mensagem anterior enviada para a conta de cliente B, como uma forma criptografada do identificador de chave compartilhada simétrica SSKIDA2 e da chave simétrica compartilhada SSKA2 na maneira descrita abaixo em relação ao método 2500. Fornecendo-se o par de chaves à conta de cliente B, a conta de cliente A permite que a conta de cliente B criptografe subsequentemente uma mensagem para a conta de cliente A com o uso do par de chaves fornecido. Consequentemente, nessa mensagem exemplificativa SG1 da Figura 18, o terminal de comunicações seguras 104-2, que recebeu o par de chaves, criptografa uma porção da mensagem MSG1 com o uso da chave simétrica compartilhada SSKA1 e inclui o identificador de chave compartilhada simétrica criptografada ESSKIDA1 para identificar que foi chave simétrica compartilhada SSKA1 que foi usada para criptografar uma porção da mensagem MSG1. Deve ser observado que o par de chaves SSKIDA1 e SSKA1 não foi necessariamente gerado no terminal de comunicações seguras 104-1 e, desse modo, poderia ter sido gerado em qualquer terminal de comunicações seguras 104 associado à conta de cliente A. Deve ser observado adicionalmente que devido ao fato de que o identificador de chave compartilhada simétrico SSKIDA1 foi criptografado com o uso da chave de cliente singular UCKA, apenas a conta de cliente A tem acesso a sua forma não criptografada, tornando desse modo improvável que qualquer interceptor de terceiros da mensagem MSG1 possa obter acesso à chave simétrica compartilhada SSKA. Ademais, já que apenas a conta de cliente A tem a habilidade de descriptografar o identificador de chave compartilhada simétrica criptografada ESSKIDA1 e, adicionalmente, já que a chave simétrica compartilhada SSKA1 não está incluída na mensagem MSG1 criptografada com a chave simétrica compartilhada SSKA1, o par de chaves ESSKIDA1 e SSKIDA1 pode apenas ser usado para criptografar mensagens para a conta de cliente A, tal como a mensagem MSG1.[0069] The example MSG1 message of Figure 18 includes ESSKID1, an encrypted form of the symmetric shared key identifier SSKIDA1 which is the identifier for the symmetric shared key SSKA1. The Symmetric Shared Key Identifier SSKIDA1, together with the Symmetric Shared Key Identifier SSKA1 are previously generated as a key pair through a secure communications terminal 104 associated with the customer account A, wherein the Symmetric Shared Key Identifier SSKIDA1 is encrypted with the use of the UCKA unique customer key for customer account A. The symmetric shared key can be generated based on any desired symmetric key generation method. The key pair (SSKA1 and ESSKIDA1) is then transmitted to client account B as part of a previous message sent to client account B, as an encrypted form of the symmetric shared key identifier SSKIDA2 and the symmetric shared key SSKA2 in manner described below in connection with method 2500. By providing the key pair to customer account B, customer account A permits customer account B to subsequently encrypt a message to customer account A using the key pair. keys provided. Accordingly, in this example message SG1 of Figure 18, the secure communications terminal 104-2, which has received the key pair, encrypts a portion of the message MSG1 using the shared symmetric key SSKA1 and includes the encrypted symmetric shared key identifier ESSKIDA1 to identify that it was SSKA1 shared symmetric key that was used to encrypt a portion of the MSG1 message. It should be noted that the keypair SSKIDA1 and SSKA1 was not necessarily generated at the secure communications terminal 104-1, and thus could have been generated at any secure communications terminal 104 associated with customer A's account. that due to the fact that the symmetric shared key identifier SSKIDA1 has been encrypted using the unique customer key UCKA, only customer account A has access to its unencrypted form, thereby making it unlikely that any third party interceptor of the message MSG1 can gain access to the SSKA shared symmetric key. Furthermore, since only customer account A has the ability to decrypt the encrypted symmetric shared key identifier ESSKIDA1, and additionally, since the symmetric shared key SSKA1 is not included in the MSG1 message encrypted with the symmetric shared key SSKA1, the peer of keys ESSKIDA1 and SSKIDA1 can only be used to encrypt messages for customer account A, such as message MSG1.

[0070] A mensagem MSG1 exemplificativa da Figura 18 inclui adicionalmente o par de chaves ESSKB2 e ESSKIDB2, que são a forma criptografada da chave simétrica compartilhada SSKB1 e do identificador de chave compartilhada simétrica SSKIDB1 para a chave simétrica compartilhada SSKB1. O par de chaves é gerado pelo terminal de comunicações seguras 104-2 e deve ser usada pela conta de cliente A para criptografar pelo menos parte de uma mensagem que será enviada da conta de cliente A para a conta de cliente B subsequente à recepção da mensagem MSG1. A chave simétrica compartilhada criptografada ESSKB1 é gerada pelo terminal de comunicações seguras 104-2 criptografando-se a chave simétrica compartilhada SSKB1 com o uso da chave simétrica compartilhada SSKA1 e da chave pública PuKA1 da conta de cliente A. O identificador de chave compartilhada simétrica SSKIDB1 é criptografado pelo terminal de comunicações seguras 1042 com o uso da chave de cliente singular UCKB da conta de cliente B para gerar o identificador de chave compartilhada simétrica criptografada ESSKIDB1. Em variações, o identificador de chave compartilhada simétrica criptografada ESSKIDB1 pode ser criptografado adicionalmente com a chave pública PuKA1 e a chave simétrica compartilhada SSKIDA1.[0070] The example MSG1 message in Figure 18 additionally includes the pair of keys ESSKB2 and ESSKIDB2, which are the encrypted form of the symmetric shared key SSKB1 and the symmetric shared key identifier SSKIDB1 for the symmetric shared key SSKB1. The key pair is generated by secure communications terminal 104-2 and is to be used by customer account A to encrypt at least part of a message that will be sent from customer account A to customer account B subsequent to receipt of the message MSG1. The encrypted symmetric shared key ESSKB1 is generated by the secure communications terminal 104-2 by encrypting the symmetric shared key SSKB1 using the symmetric shared key SSKA1 and the PuKA1 public key of customer account A. The symmetric shared key identifier SSKIDB1 is encrypted by secure communications terminal 1042 using the unique customer key UCKB of customer account B to generate the encrypted symmetric shared key identifier ESSKIDB1. In variations, the ESSKIDB1 encrypted symmetric shared key identifier can be further encrypted with PuKA1 public key and SSKIDA1 symmetric shared key.

[0071] A mensagem MSG1 exemplificativa da Figura 18 inclui adicionalmente uma chave de mensagem criptografada EMK1. A chave de mensagem MK1 é usada pelo terminal de comunicações seguras 104-2 para criptografar a mensagem data, tal como o conteúdo de mensagem, para gerar os dados criptografados EData. A chave de mensagem MK1 é criptografada pelo terminal de comunicações seguras 104-2 com o uso da chave simétrica compartilhada SSKA1 e da chave pública PuKA1 da conta de cliente A.[0071] The exemplary MSG1 message of Figure 18 additionally includes an EMK1 encrypted message key. Message key MK1 is used by secure communications terminal 104-2 to encrypt message data, such as message content, to generate encrypted data EData. The message key MK1 is encrypted by the secure communications terminal 104-2 using the shared symmetric key SSKA1 and the PuKA1 public key of customer account A.

[0072] A mensagem MSG1 exemplificativa da Figura 18 também inclui uma chave pública criptografada EPuKAI da conta de cliente A. Neste exemplo, a conta de cliente B adquire uma chave pública melhorada PuKA1, gerada pela conta de cliente A em um terminal de comunicações seguras 104 conforme descrito acima, do servidor de chave pública 112. A chave pública melhorada PuKAl é usada para criptografar porções da mensagem MSG1 conforme descrito acima. A chave pública melhorada PuKA1 é criptografada com o uso da chave simétrica compartilhada SSKA1. Em variações, uma chave pública melhorada diferente é obtida para cada mensagem (singular para essa mensagem) ou conjunto de mensagens a serem enviadas para a conta de cliente A. Em tais variações, o servidor de chave pública 112 pode deletar ou de outra forma marcar a chave pública PuKA1 fornecida como indisponível, de modo a impedir o fornecimento da mesma chave pública múltiplas vezes. Em variações adicionais, uma chave pública pode não ser usada como parte da criptografia de uma mensagem de forma alguma, dependendo da chave simétrica compartilhada, da chave de cliente singular e da chave de mensagem em vez disso. Alternativamente, a chave pública usada pode não ser melhorada, (e, por exemplo, em mudança para cada mensagem ou conjunto de mensagens), mas em vez disso pode ser a mesma chave pública para todas as mensagens destinadas a uma conta de cliente, até que essa chave pública expire. Em tais variações, a chave pública pode não ser incluída na mensagem MSG.[0072] The example MSG1 message in Figure 18 also includes an EPuKAI encrypted public key of customer account A. In this example, customer account B acquires a PuKA1 enhanced public key generated by customer account A at a secure communications terminal 104 as described above, from public key server 112. The PuKAl enhanced public key is used to encrypt portions of the MSG1 message as described above. The PuKA1 enhanced public key is encrypted using the SSKA1 shared symmetric key. In variations, a different enhanced public key is obtained for each message (unique to that message) or set of messages to be sent to customer account A. In such variations, public key server 112 may delete or otherwise mark the PuKA1 public key provided as unavailable, in order to prevent providing the same public key multiple times. In further variations, a public key may not be used as part of encrypting a message at all, relying on the shared symmetric key, unique customer key, and message key instead. Alternatively, the public key used may not be enhanced, (and, for example, changed for each message or set of messages), but instead may be the same public key for all messages intended for a customer account, up to this public key expires. In such variations, the public key may not be included in the MSG message.

[0073] Referindo-se agora à Figura 19, um método para receber comunicações seguras é indicado geralmente em 1900. A fim de auxiliar na explicação do método, será presumido que o método 1900 é operado com o uso do sistema 100 conforme mostrado na Figura1. Adicionalmente, a discussão a seguir do método 1900 leva a compreensão adicional do sistema 100. Entretanto, deve ser compreendido que o sistema 100 e o método 1800 podem ser variados e não precisam funcionar exatamente conforme discutido no presente documento em combinação um com o outro e que tais variações estão dentro do escopo.[0073] Referring now to Figure 19, a method for receiving secure communications is generally indicated at 1900. In order to assist in explaining the method, it will be presumed that the method 1900 is operated using the system 100 as shown in Figure 1 . Additionally, the following discussion of method 1900 leads to further understanding of system 100. However, it should be understood that system 100 and method 1800 may be varied and need not function exactly as discussed herein in combination with one another and that such variations are within scope.

[0074] Iniciando-se em 1905, e conforme mostrado na Figura 20, uma mensagem MSG1 é recebida da conta de cliente B no terminal 1041 associado à conta de cliente A. Uma vez que uma mensagem é recebida, a mesma é descriptografada. Consequentemente, em 1910, o identificador de chave compartilhada simétrica criptografada ESSKIDA1 é descriptografado com o uso da chave de cliente singular UCKA para a conta de cliente A, conforme mostrado na Figura 21. Em 1915, o identificador de chave compartilhada simétrica SSKIDA1 é usado para identificar a chave simétrica compartilhada SSKA1 que foi usada para criptografar a mensagem MSG1. Deve ser compreendido que a SSKIDA1 pode ser identificada de várias formas. Por exemplo, todos os pares de chaves gerados podem ser armazenados em uma tabela e uma chave compartilhada simétrica particular obtida com base em uma pesquisa com o identificador correspondente. Alternativamente, a chave compartilhada simétrica particular pode ser gerada com base no identificador. Outros métodos irão agora ocorrer a uma pessoa versada na técnica e são contemplados.[0074] Starting at 1905, and as shown in Figure 20, an MSG1 message is received from customer account B at the terminal 1041 associated with customer account A. Once a message is received, it is decrypted. Consequently, at 1910, the encrypted symmetric shared key identifier ESSKIDA1 is decrypted using the unique customer key UCKA for customer account A, as shown in Figure 21. At 1915, the symmetric shared key identifier SSKIDA1 is used to identify the SSKA1 shared symmetric key that was used to encrypt the MSG1 message. It should be understood that SSKIDA1 can be identified in several ways. For example, all generated key pairs can be stored in a table and a private symmetric shared key obtained based on a lookup with the matching identifier. Alternatively, the private symmetric shared key can be generated based on the identifier. Other methods will now occur to a person skilled in the art and are contemplated.

[0075] Referindo-se novamente à Figura 19 e continuando com o método 1900 em 1920 a chave pública incluída na mensagem recebida é descriptografada. Especificamente, conforme mostrado na Figura 22, a chave pública criptografada EPuKAI é descriptografada com o uso da chave simétrica compartilhada SSKA1 para obter a chave pública PuKA1. Em 1925, a chave privada PKRA1 é identificada com base na chave pública PuKA1 correspondente. Em algumas variações, as chaves privadas podem ser armazenadas nos terminais de comunicações seguras 14 associados à conta de cliente A. Em variações, a chave pública recebida pode ser uma chave pública melhorada conforme descrito acima e a chave privada PKRA1, pode realmente ser armazenada dentro da chave pública melhorada recebida.[0075] Referring again to Figure 19 and continuing with method 1900 at 1920 the public key included in the received message is decrypted. Specifically, as shown in Figure 22, the encrypted public key EPuKAI is decrypted using the symmetric shared key SSKA1 to obtain the public key PuKA1. In 1925, the PKRA1 private key is identified based on the corresponding PuKA1 public key. In some variations, the private keys may be stored on the secure communications terminals 14 associated with customer A's account. In variations, the received public key may be an enhanced public key as described above and the PKRA1 private key may actually be stored within of the received enhanced public key.

[0076] Continuando com a Figura 19, em 1930, as chaves adicionais incluídas na mensagem recebida são descriptografadas. Neste exemplo, conforme mostrado na Figura 23, a forma criptografada da chave simétrica compartilhada SSKB1 e da chave de mensagem EMK1 são descriptografadas com o uso da chave simétrica compartilhada SSKA1 e da chave pública PuKA1 da conta de cliente A. O identificador de chave compartilhada simétrica criptografada SSKIDB1 foi criptografado pelo cliente B com o uso da chave de cliente singular UCKB da conta de cliente B e, desse modo, é extraído da mensagem MSG1 sem descriptografar a mesma. O par de chaves foi gerado pela conta de cliente B no terminal de comunicações seguras 104-2, conforme descrito acima e deve ser usado pela conta de cliente A para criptografar pelo menos parte de uma mensagem que será enviada da conta de cliente A para a conta de cliente B em um ponto futuro no tempo.[0076] Continuing with Figure 19, at 1930, additional keys included in the received message are decrypted. In this example, as shown in Figure 23, the encrypted form of symmetric shared key SSKB1 and message key EMK1 are decrypted using symmetric shared key SSKA1 and public key PuKA1 of customer account A. The symmetric shared key identifier encrypted SSKIDB1 was encrypted by customer B using the UCKB customer unique key of customer B's account and thus is extracted from message MSG1 without decrypting it. The key pair was generated by customer account B at secure communications terminal 104-2 as described above and is to be used by customer account A to encrypt at least part of a message that will be sent from customer account A to customer account B at a future point in time.

[0077] Referindo-se novamente à Figura 19, em 1935, a porção de dados criptografados da mensagem recebida é descriptografada. Neste exemplo, conforme mostrado na Figura 24, os dados criptografados EData são descriptografados com o uso da chave de mensagem MK1 descriptografada anteriormente que é singular à mensagem MSG1, já que a mesma foi usada apenas para criptografar os dados para a mensagem MSG.[0077] Referring again to Figure 19, at 1935, the encrypted data portion of the received message is decrypted. In this example, as shown in Figure 24, the EData encrypted data is decrypted using the previously decrypted message key MK1 which is unique to the MSG1 message as it was only used to encrypt the data for the MSG message.

[0078] Referindo-se agora à Figura 25, um método para enviar comunicações seguras é indicado geralmente em 2500. A fim de auxiliar na explicação do método, será presumido que o método 2500 é operado com o uso do sistema 00 conforme mostrado na Figura1. Adicionalmente, a discussão a seguir do método 2500 leva a compreensão adicional do sistema 00. Entretanto, deve ser compreendido que o sistema 100 e o método 2500 podem ser variados e não precisam funcionar exatamente conforme discutido no presente documento em combinação um com o outro e que tais variações estão dentro do escopo.[0078] Referring now to Figure 25, a method for sending secure communications is generally indicated at 2500. In order to assist in explaining the method, it will be presumed that method 2500 is operated using system 00 as shown in Figure 1 . Additionally, the following discussion of method 2500 leads to further understanding of system 00. However, it should be understood that system 100 and method 2500 may be varied and need not function exactly as discussed herein in combination with each other and that such variations are within scope.

[0079] No início do método 2500, o terminal de comunicações seguras 104-1 mantém diversas chaves criptografadas e não criptografadas como um resultado da realização do método 1800 para receber uma comunicação segura na forma de mensagem MSG1, as quais são mostradas na Figura 26. Para preparar uma nova mensagem segura MSG2 para enviar para a conta de cliente B, uma nova chave de mensagem MK2, singular à mensagem MSG2 é gerada em 2505. Em variações, a chave pode ser usada por múltiplas mensagens. A chave de mensagem pode ser gerada com o uso de métodos conhecidos com base em um gerador de número aleatório, por exemplo. Os dados a serem enviados como parte das comunicações são obtidos e criptografados com o uso da chave de mensagem MK2 e colocados na mensagem MSG2 como Edata2 conforme mostrado na Figura 26.[0079] At the beginning of the method 2500, the secure communications terminal 104-1 maintains various encrypted and unencrypted keys as a result of performing the method 1800 for receiving a secure communication in the form of an MSG1 message, which are shown in Fig. 26 To prepare a new MSG2 secure message for sending to client B's account, a new message key MK2, unique to the MSG2 message is generated at 2505. In variations, the key can be used for multiple messages. The message key can be generated using known methods based on a random number generator for example. The data to be sent as part of the communications is obtained and encrypted using the MK2 message key and placed in the MSG2 message as Edata2 as shown in Figure 26.

[0080] Continuando com o método 2500, em 2510 o terminal de comunicações seguras 104-1 solicita e recebe uma nova chave pública PuKBI associada à conta de cliente B e criptografa a mesma com o uso da chave simétrica compartilhada SSKB1 recebida anteriormente para a conta de cliente B, conforme mostrado na Figura 27, adicionando-se a chave pública EPuKBI criptografada à mensagem MSG2.[0080] Continuing with method 2500, at 2510 the secure communications terminal 104-1 requests and receives a new PuKBI public key associated with customer account B and encrypts it using the shared symmetric key SSKB1 previously received for the account from client B, as shown in Figure 27, by adding the encrypted public key EPuKBI to the message MSG2.

[0081] Em 2515, o terminal de comunicações seguras 104-2 gera o par de chaves seguinte a ser usado pela conta de cliente B para criptografar pelo menos uma porção de uma mensagem subsequente a ser enviada para a conta de cliente A. O par de chaves compreende o identificador de chave compartilhada simétrica SSKIDA2, junto com a chave simétrica compartilhada correspondente SSKA2. Em 2520, o identificador de chave compartilhada simétrica SSKIDA2 é criptografado com o uso da chave de cliente singular UCKA para gerar ESSKIDA2, que é, por sua vez, incluído na mensagem MSG2 as conforme mostrado na Figura 28.[0081] At 2515, secure communications terminal 104-2 generates the next key pair to be used by customer account B to encrypt at least a portion of a subsequent message to be sent to customer account A. The pair of keys comprises the symmetric shared key identifier SSKIDA2, together with the corresponding symmetric shared key SSKA2. At 2520, the SSKIDA2 symmetric shared key identifier is encrypted using the UCKA customer unique key to generate ESSKIDA2, which is in turn included in the MSG2 message as shown in Figure 28.

[0082] Referindo-se novamente à Figura 25, em 2525 a chave simétrica compartilhada SSKA2 e a chave de mensagem K2 são criptografadas com o uso da chave simétrica compartilhada SSKB1 e da chave pública PuKBI e adicionadas à mensagem MSG2 conforme mostrado na Figura 29. Em 2530, o ESSKIDB1 criptografado anteriormente também é adicionado à mensagem MSG2 para indicar a chave simétrica compartilhada usada para criptografar porções da mensagem MSG2. Em 2535 a mensagem MSG2 é transmitida para o terminal de comunicações seguras 104-2.[0082] Referring again to Figure 25, at 2525 the symmetric shared key SSKA2 and the message key K2 are encrypted using the symmetric shared key SSKB1 and the public key PuKBI and added to the MSG2 message as shown in Figure 29. At 2530, the previously encrypted ESSKIDB1 is also added to the MSG2 message to indicate the shared symmetric key used to encrypt portions of the MSG2 message. At 2535 the MSG2 message is transmitted to secure communications terminal 104-2.

[0083] Em algumas variações, antes de realizar qualquer um dos métodos descritos acima, uma conta de cliente é criada. Consequentemente, quando a conta de cliente é criada, as credenciais de usuário a serem associadas com a conta de cliente são obtidas por um terminal de comunicações seguras 104, na base em que a chave de cliente singular para a conta criada recentemente é gerada. Por exemplo, a chave de cliente singular pode ser gerada na base da senha. Ademais, quando as tentativas criadas recentemente para transferir por upload a primeira chave pública melhorada para o servidor de chave pública 112, o servidor de chave pública 112 pode solicitar uma confirmação da conta enviando-se uma solicitação de confirmação para as credenciais de conta que podem ser incluídas na chave pública melhorada. A confirmação é satisfeita quando uma resposta é recebida para a solicitação.[0083] In some variations, before performing any of the methods described above, a customer account is created. Accordingly, when the customer account is created, the user credentials to be associated with the customer account are obtained by a secure communications terminal 104, on the basis of which the unique customer key for the newly created account is generated. For example, the unique customer key can be generated on the basis of the password. Furthermore, when the newly created attempts to upload the first enhanced public key to the public key server 112, the public key server 112 may request an account confirmation by sending a confirmation request for the account credentials which may be included in the enhanced public key. Acknowledgment is satisfied when a response is received for the request.

[0084] As modalidades descritas acima são destinadas a serem exemplos, e alterações e modificações podem ser efetuadas nas mesmas por aqueles versados na técnica, sem desviar do escopo que é definido somente pelas reivindicações anexas ao presente documento. Por exemplo, métodos e sistemas discutidos podem ser variados e combinados, totalmente ou em parte.[0084] The embodiments described above are intended to be examples, and changes and modifications can be made to them by those skilled in the art, without deviating from the scope that is defined only by the claims appended to this document. For example, methods and systems discussed may be varied and combined, in whole or in part.

Claims (11)

1. Método (200) para fornecer uma nova chave pública (PuK1) melhorada através de um terminal de comunicações seguras (104, 104-1, 104-2) para proteger comunicações de sistema, o terminal de comunicações seguras (104, 104-1, 104-2) tem um processador conectado de modo operacional a uma memória e uma interface de comunicações, o método caracterizado pelo fato de que compreende: gerar, através do processador, uma primeira porção para verificar uma conta de cliente; gerar, através do processador, uma segunda porção para autenticar um servidor de chave pública (112); gerar (205), através do processador, uma chave pública assimétrica (PK1) e uma chave privada assimétrica (PKR1) correspondente; combinar, através do processador, a primeira porção, a segunda porção e a chave pública assimétrica (PK1) para formar a nova chave pública melhorada (PuK1), normalizar, através do processador, a nova chave pública melhorada (PuK1) com base em um tamanho da chave pública assimétrica (PK1), em que a geração da primeira porção compreende, adicionalmente: gerar (210), através do processador, um código de confirmação de conta (ACC1) com base em um gerador de número aleatório; gerar, através do processador, um primeiro código de confirmação de conta criptografado (EACC1) com base em criptografia, através do processador, o código de confirmação de conta (ACC1) que usa o código de confirmação de conta (ACC1); e gerar, através do processador, um segundo código de confirmação de conta codificado (EACC2) com base em criptografia, através do processador, o código de confirmação de conta (ACC1) que usa uma chave de cliente singular (UCKA), e em que a combinação da primeira porção compreende adicionalmente: combinar, através do processador, o primeiro código de confirmação de conta codificado (EACC1) e o segundo código de confirmação de conta codificado (EACC2), e em que a geração da segunda porção compreende adicionalmente: gerar (215), através do processador, um código de autenticação de servidor (SAC1) com base em um gerador de número aleatório; gerar, através do processador, um primeiro código de autenticação de servidor criptografado (ESAC1) com base em criptografia, através do processador, o código de autenticação de servidor (SAC1) que usa o código de confirmação de conta (ACC1); e gerar, através do processador, um segundo código de autenticação de servidor criptografado (ESAC2) com base em criptografia, através do processador, o código de autenticação de servidor (SAC1) que usa a chave de cliente singular (UCKA), e em que a combinação da segunda porção compreende, adicionalmente: combinar, através do processador, o primeiro código de autenticação de servidor criptografado (ESAC1) e o segundo código de confirmação de autenticação de servidor (ESAC2).1. Method (200) for providing a new improved public key (PuK1) through a secure communications terminal (104, 104-1, 104-2) to protect system communications, the secure communications terminal (104, 104- 1, 104-2) has a processor operatively connected to a memory and a communications interface, the method characterized in that it comprises: generating, via the processor, a first portion for verifying a customer account; generating, via the processor, a second portion for authenticating a public key server (112); generating (205), via the processor, an asymmetric public key (PK1) and a corresponding asymmetric private key (PKR1); combine, via the processor, the first portion, the second portion, and the asymmetric public key (PK1) to form the new enhanced public key (PuK1), normalize, via the processor, the new enhanced public key (PuK1) based on a size of the asymmetric public key (PK1), wherein generating the first portion further comprises: generating (210), via the processor, an account confirmation code (ACC1) based on a random number generator; generating, via the processor, a first encrypted account confirmation code (EACC1) based on encryption, via the processor, the account confirmation code (ACC1) using the account confirmation code (ACC1); and generating, via the processor, a cryptographically based second encrypted account confirmation code (EACC2), via the processor, the account confirmation code (ACC1) using a unique customer key (UCKA), and wherein combining the first portion further comprising: combining, via the processor, the first encoded account confirmation code (EACC1) and the second encoded account confirmation code (EACC2), and wherein generating the second portion further comprising: generating (215), through the processor, a server authentication code (SAC1) based on a random number generator; generating, via the processor, a first encrypted server authentication code (ESAC1) based on cryptography; via the processor, the server authentication code (SAC1) using the account confirmation code (ACC1); and generating, via the processor, a second encrypted server authentication code (ESAC2) based on cryptography, via the processor, the server authentication code (SAC1) using the unique customer key (UCKA), and wherein combining the second portion further comprising: combining, via the processor, the first encrypted server authentication code (ESAC1) and the second server authentication confirmation code (ESAC2). 2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende, adicionalmente: adicionar (220), através do processador, uma credencial de conta associada a uma conta de cliente à nova chave pública melhorada (PuK1).2. Method according to claim 1, characterized in that it further comprises: adding (220), through the processor, an account credential associated with a customer account to the new improved public key (PuK1). 3. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que compreende, adicionalmente: manter (220) na memória a chave de cliente singular (UCKA) associada à credencial de conta; gerar (225), através do processador, uma chave privada assimétrica criptografada (EPKR1) através da criptografia da chave privada assimétrica (PKR1) com o uso da chave de cliente singular (UCKA); adicionar (230), através do processador, a chave privada assimétrica criptografada (EPKR1) à nova chave pública melhorada (PuK1).3. Method, according to claim 2, characterized in that it additionally comprises: keeping (220) in memory the unique customer key (UCKA) associated with the account credential; generating (225), via the processor, an encrypted asymmetric private key (EPKR1) by encrypting the asymmetric private key (PKR1) using the unique customer key (UCKA); adding (230), via the processor, the encrypted asymmetric private key (EPKR1) to the new enhanced public key (PuK1). 4. Método, de acordo com qualquer uma das reivindicações 1 a 3, caracterizado pelo fato de que a chave pública assimétrica (PK1) tem um tamanho de tamanho de chave, e em que a normalização compreende, adicionalmente: dividir, através do processador, a nova chave pública melhorada (PuK1) em uma pluralidade de fileiras (R1, R2, R4) que têm um comprimento igual ao tamanho de chave, sendo que uma das fileiras (R1, R2, R4) compreende a chave pública assimétrica (PK1); determinar, através do processador, uma fileira de ajuste (R3) com base na pluralidade de fileiras (R1, R2, R4), sendo que a fileira de ajuste (R3) tem um tamanho igual ao tamanho de chave; e adicionar, através do processador, a fileira de ajuste (R3) à nova chave pública melhorada (PuK1).4. Method according to any one of claims 1 to 3, characterized in that the asymmetric public key (PK1) has a key size size, and in which the normalization additionally comprises: dividing, through the processor, the new enhanced public key (PuK1) into a plurality of rows (R1, R2, R4) having a length equal to the key size, one of the rows (R1, R2, R4) comprising the asymmetric public key (PK1) ; determining, via the processor, an adjustment row (R3) based on the plurality of rows (R1, R2, R4), the adjustment row (R3) having a size equal to the key size; and adding, through the processor, the tuning string (R3) to the new enhanced public key (PuK1). 5. Método, de acordo com a reivindicação 4, caracterizado pelo fato de que compreende, adicionalmente: receber (1105), através da interface de comunicações, uma chave pública melhorada atual (PuK2) do servidor de chave pública (112); extrair (1110) da chave pública melhorada atual (PuK2) e descriptografar com o uso da chave de cliente singular (UCKA), através do processador, uma primeira porção da chave pública melhorada atual (PuK2) para verificar a conta de cliente; e transmitir (1120) para o servidor de chave pública (112), através da interface de comunicações, a primeira porção descriptografada da chave pública melhorada atual (PuK2) para verificar a conta de cliente junto com a nova chave pública melhorada (PuK1).5. Method according to claim 4, characterized in that it additionally comprises: receiving (1105), via the communications interface, a current enhanced public key (PuK2) from the public key server (112); extracting (1110) from the current enhanced public key (PuK2) and decrypting using the customer unique key (UCKA) through the processor a first portion of the current enhanced public key (PuK2) to verify the customer account; and transmitting (1120) to the public key server (112), via the communications interface, the first decrypted portion of the current enhanced public key (PuK2) for verifying the customer account together with the new enhanced public key (PuK1). 6. Método, de acordo com a reivindicação 5, caracterizado pelo fato de que compreende, adicionalmente: receber (1110) do servidor de chave pública (112), através da interface de comunicações, um código para autenticar o servidor de chave pública (112); extrair (1110) da chave pública melhorada atual (PuK2) e descriptografar com o uso da chave de cliente singular (UCKA), uma segunda porção da chave pública melhorada atual (PuK2) para autenticar o servidor de chave pública (112); e determinar (1125) que o servidor de chave pública (112) não é autêntico quando o código para autenticar um servidor de chave pública (112) não corresponde à porção descriptografada da chave pública melhorada atual (PuK2) para autenticar um servidor de chave pública (112).6. Method, according to claim 5, characterized in that it additionally comprises: receiving (1110) from the public key server (112), through the communications interface, a code to authenticate the public key server (112 ); extracting (1110) from the current enhanced public key (PuK2) and decrypting, using the unique client key (UCKA), a second portion of the current enhanced public key (PuK2) to authenticate the public key server (112); and determining (1125) that the public key server (112) is not authentic when the code for authenticating a public key server (112) does not match the decrypted portion of the current enhanced public key (PuK2) for authenticating a public key server (112). 7. Método para receber uma chave pública melhorada (PuK1) através de um servidor de chave pública (112) para proteger comunicações de sistema, o servidor de chave pública (112) tem um processador conectado de modo operacional a uma memória e a uma interface de comunicações, o método caracterizado pelo fato de que compreende: manter em memória uma chave pública melhorada atual (PuK2); transmitir (1105), através da interface de comunicações, a chave pública melhorada atual (PuK2) associada a uma conta de cliente para a conta de cliente; receber (1110), através da interface de comunicações, uma primeira porção descriptografada da chave pública melhorada atual (PuK2) para verificar a conta de cliente junto com uma nova chave pública melhorada (PuK1) associada à conta de cliente; extrair (1110), através do processador, da chave pública melhorada atual (PuK2) e descriptografar com o uso da primeira porção descriptografada recebida da chave pública melhorada atual (PuK2) para verificar a conta de cliente, uma segunda porção da chave pública melhorada atual (PuK2) para verificar a conta de cliente; e armazenar em buffer (1125), na memória, a nova chave pública melhorada (PuK1) quando a primeira porção descriptografada recebida da chave pública melhorada atual (PuK2) para verificar a conta de cliente corresponde à segunda porção descriptografada da chave pública melhorada atual (PuK2) para verificar uma conta de cliente.7. Method for receiving an enhanced public key (PuK1) through a public key server (112) To protect system communications, the public key server (112) has a processor operatively connected to a memory and an interface of communications, the method characterized by the fact that it comprises: keeping in memory a current improved public key (PuK2); transmitting (1105), via the communications interface, the current enhanced public key (PuK2) associated with a customer account to the customer account; receiving (1110), via the communications interface, a first decrypted portion of the current enhanced public key (PuK2) for verifying the customer account along with a new enhanced public key (PuK1) associated with the customer account; extract (1110), via the processor, the current enhanced public key (PuK2) and decrypt, using the first received decrypted portion of the current enhanced public key (PuK2) to verify the customer account, a second portion of the current enhanced public key (PuK2) to verify the customer account; and buffering (1125) the new enhanced public key (PuK1) in memory when the first received decrypted portion of the current enhanced public key (PuK2) for verifying the customer account matches the second decrypted portion of the current enhanced public key (1125) PuK2) to verify a customer account. 8. Método, de acordo com a reivindicação 7, caracterizado pelo fato de que compreende, adicionalmente: extrair (1130), através do processador, da chave pública melhorada atual (PuK2) e descriptografar com o uso da primeira porção descriptografada recebida da chave pública melhorada atual (PuK2) para verificar a conta de cliente, uma terceira porção da chave pública melhorada atual (PuK2) para autenticar o servidor de chave pública (112); e transmitir (1140), através da interface de comunicações, a terceira porção descriptografada da chave pública melhorada atual (PuK2) para autenticar o servidor de chave pública.8. Method, according to claim 7, characterized in that it further comprises: extracting (1130), through the processor, the current improved public key (PuK2) and decrypting using the first received decrypted portion of the public key current enhanced public key (PuK2) for verifying the client account, a third portion of the current enhanced public key (PuK2) for authenticating the public key server (112); and transmitting (1140), through the communications interface, the third decrypted portion of the current enhanced public key (PuK2) to authenticate the public key server. 9. Método, de acordo com a reivindicação 7 ou 8, caracterizado pelo fato de que compreende, adicionalmente: receber (1105) através da interface de comunicações, uma solicitação de uma segunda conta de cliente para uma chave pública melhorada associada à conta de cliente; e fornecer (1120), através da interface de comunicações, a nova chave pública melhorada (PuK1) em resposta à solicitação; e tornar (1150) a nova chave pública melhorada (PuK1) indisponível para fornecimento público.9. Method according to claim 7 or 8, characterized in that it additionally comprises: receiving (1105) via the communications interface, a request from a second customer account for an enhanced public key associated with the customer account ; and providing (1120), via the communications interface, the new enhanced public key (PuK1) in response to the request; and making (1150) the new improved public key (PuK1) unavailable for public delivery. 10. Dispositivo de comunicações seguras (104, 104-1, 1042) caracterizado pelo fato de que é configurado para realizar o método, conforme definido em qualquer uma das reivindicações 1 a 6.10. Secure communications device (104, 104-1, 1042) characterized in that it is configured to perform the method as defined in any one of claims 1 to 6. 11. Servidor de chave pública (112) caracterizado pelo fato de que é configurado para realizar qualquer uma das reivindicações 7 a 9.11. Public key server (112) characterized in that it is configured to perform any one of claims 7 to 9.
BR112016017419-4A 2014-01-31 2015-01-27 METHOD TO PROVIDE NEW PUBLIC KEY, METHOD TO RECEIVE PUBLIC KEY, SECURE COMMUNICATIONS DEVICE AND PUBLIC KEY SERVER BR112016017419B1 (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201461934341P 2014-01-31 2014-01-31
US61/934,341 2014-01-31
US201462038589P 2014-08-18 2014-08-18
US62/038,589 2014-08-18
US201462090632P 2014-12-11 2014-12-11
US62/090,632 2014-12-11
PCT/CA2015/000042 WO2015113138A1 (en) 2014-01-31 2015-01-27 System and method for performing secure communications

Publications (3)

Publication Number Publication Date
BR112016017419A2 BR112016017419A2 (en) 2017-08-08
BR112016017419A8 BR112016017419A8 (en) 2022-08-16
BR112016017419B1 true BR112016017419B1 (en) 2023-06-27

Family

ID=

Similar Documents

Publication Publication Date Title
US10862685B2 (en) System and method for performing secure communications
US11716195B2 (en) Facilitating communications using hybrid cryptography
RU2718689C2 (en) Confidential communication control
US10965453B2 (en) System and method for authenticated encryption based on device fingerprint
US9590951B2 (en) One-time pad communications network
US10819510B2 (en) Facilitating communications using hybrid cryptography
EP2538366A2 (en) Generating secure device secret key
KR20150135032A (en) System and method for updating secret key using physical unclonable function
US20210112039A1 (en) Sharing of encrypted files without decryption
CN110383755B (en) Network device and trusted third party device
US20140237239A1 (en) Techniques for validating cryptographic applications
CN114244508B (en) Data encryption method, device, equipment and storage medium
US20210144002A1 (en) Secondary Channel Authentication of Public Keys
US10257176B2 (en) Replacing keys in a computer system
KR101595056B1 (en) System and method for data sharing of intercloud enviroment
BR112016017419B1 (en) METHOD TO PROVIDE NEW PUBLIC KEY, METHOD TO RECEIVE PUBLIC KEY, SECURE COMMUNICATIONS DEVICE AND PUBLIC KEY SERVER
US20140281583A1 (en) Storing encrypted contents in digital archives
KR20160026101A (en) System and method for updating secret key