BR102015013579A2 - Método criptográfico para troca segura de mensagens e dispositvo e método para implementação deste método - Google Patents

Método criptográfico para troca segura de mensagens e dispositvo e método para implementação deste método Download PDF

Info

Publication number
BR102015013579A2
BR102015013579A2 BR102015013579-3A BR102015013579A BR102015013579A2 BR 102015013579 A2 BR102015013579 A2 BR 102015013579A2 BR 102015013579 A BR102015013579 A BR 102015013579A BR 102015013579 A2 BR102015013579 A2 BR 102015013579A2
Authority
BR
Brazil
Prior art keywords
key
cryptographic
message
operands
bit size
Prior art date
Application number
BR102015013579-3A
Other languages
English (en)
Other versions
BR102015013579B1 (pt
Inventor
Pelletier Hervé
Original Assignee
Nagravision S.A.
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 Nagravision S.A. filed Critical Nagravision S.A.
Publication of BR102015013579A2 publication Critical patent/BR102015013579A2/pt
Publication of BR102015013579B1 publication Critical patent/BR102015013579B1/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/004Countermeasures against attacks on cryptographic mechanisms for fault attacks
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

"método criptográfico para troca segura de mensagens e dispositivo e método para implementação deste método" a presente invenção refere-se a um método para troca segura de mensagens (m) entre pelo menos dois dispositivos (01, 02), cada um armazenando uma chave secreta compartilhada (k), compreendendo as etapas de: em cada dispositivo: gerar um número aleatório (r1, r2), e então enviá-lo aos outros dispositivos, determinar uma primeira chave (k1) por uma primeira operação baseado na referida chave secreta e em cada número aleatório, determinar uma segunda chave (k2) baseado na referida primeira chave e nos referidos números aleatórios, em um dispositivo de envio (01 ): determinar uma pseudo-mensagem (m') com base na mensagem (m) e nos referidos números aleatórios, - calcular então o envio de um criptograma (c) com base na referida pseudo-mensagem (m') e na referida segunda chave (k2), no dispositivo receptor (02): descriptografar o referido criptograma (c) por meio da referida segunda chave, e então recuperar a referida mensagem (m) a partir da referida pseudomensagem (m').

Description

(54) Título: MÉTODO CRIPTOGRÁFICO PARA TROCA SEGURA DE MENSAGENS E DISPOSITVO E MÉTODO PARA IMPLEMENTAÇÃO DESTE MÉTODO (51) Int. Cl.: H04L 9/00 (52) CPC: H04L 9/00 (30) Prioridade Unionista: 12/06/2014 EP 14172225.6 (73) Titular(es): NAGRAVISION S.A.
(72) Inventor(es): HERVÉ PELLETIER (74) Procurador(es): RANA GOSAIN (57) Resumo: MÉTODO CRIPTOGRÁFICO PARA TROCA SEGURA DE MENSAGENS E DISPOSITIVO E MÉTODO PARA IMPLEMENTAÇÃO DESTE MÉTODO A presente invenção refere-se a um método para troca segura de mensagens (M) entre pelo menos dois dispositivos (01, 02), cada um armazenando uma chave secreta compartilhada (K), compreendendo as etapas de: em cada dispositivo: gerar um número aleatório (Rl, R2), e então enviá-lo aos outros dispositivos, determinar uma primeira chave (Kl) por uma primeira operação baseado na referida chave secreta e em cada número aleatório, determinar uma segunda chave (K2) baseado na referida primeira chave e nos referidos números aleatórios, em um dispositivo de envio (01): determinar uma pseudo-mensagem (M') com base na mensagem (M) e nos referidos números aleatórios, - calcular então o envio de um criptograma (C) com base na referida pseudomensagem (M') e na referida segunda chave (K2), no dispositivo receptor (02): descriptografar o referido criptograma (C) por meio da referida segunda chave, e então recuperar a referida mensagem (M) a partir da referida pseudomensagem (M').
Figure BR102015013579A2_D0001
1/16 “MÉTODO CRIPTOGRÁFICO PARA TROCA SEGURA DE MENSAGENS E DISPOSITIVO E MÉTODO PARA IMPLEMENTAÇÃO DESTE MÉTODO”
CAMPO TÉCNICO [001 ]A presente invenção refere-se ao campo de transferências de dados entre dispositivos conectados juntos, envolvendo operações criptográficas para enviar e receber, de forma segura, qualquer tipo de mensagem que tenha que ser trocada entre esses dispositivos.
ANTECEDENTES DA INVENÇÃO [002]Existem muitos métodos conhecidos envolvendo algoritmos criptográficos, tal como o Padrão de Criptografia de Dados (DES) ou o Padrão de Criptografia Avançada (AES), para criptografia e descriptografia de dados a serem transmitidos por meio de canais inseguros ou redes conectando dispositivos eletrônicos de qualquer tipo. Para esse fim, tais dispositivos são providos de componentes criptográficos que realizam operações criptográficas para embaralhar mensagens de modo a torná-las ininteligíveis sem uma chave de descriptografia secreta. Esses componentes são tipicamente implementados de acordo com a tecnologia CMOS (tecnologia de Semicondutor de Óxido Metálico Complementar). Os algoritmos criptográficos implementados em tais componentes geralmente são seguros o suficiente do ponto de vista matemático. Entretanto, o fato de que tal algoritmo é implementado fisicamente por circuitos integrados construídos com transistores interconectados para produzir as funções lógicas desse algoritmo gera quantidades físicas observáveis. A observação de tais quantidades pode ser realizada por meio de um osciloscópio, por exemplo, para monitorar o consumo de energia do circuito integrado. Variações de consumo de energia súbitas aparecem como picos na tela do osciloscópio. Cada pico pode, por exemplo, identificar o início de uma chamada “sessão”, tipicamente em um algoritmo tal como DES e AES, em que uma mensagem de entrada a ser criptografada é aplicada a uma sucessão de grupos de operações chamadas de
2/16 “sessões”. De acordo com tal algoritmo, cada sessão é colocada sob o controle de uma sub-chave resultante da sessão anterior. Portanto, tal algoritmo envolve uma série de sub-chaves que são derivadas de uma chave secreta usada como chave inicial dentro do algoritmo. Caso esta chave inicial secreta seja conhecida por uma pessoa mal-intencionada, o último torna-se capaz de descriptografar e criptografar apropriadamente qualquer mensagem trocada com um dispositivo correspondente que usa o mesmo algoritmo com a mesma chave secreta de acordo com um esquema de criptografia simétrico.
[003]Há diversas maneiras de atacar um circuito criptográfico para recuperar a chave inicial secreta. Alguns ataques são conhecidos como ataques não-invasivos, uma vez que almejam observar o consumo de energia, a emanação eletromagnética ou o tempo de processamento do circuito. Outros ataques são referenciados como ataques invasivos, uma vez que envolvem modificar o circuito, em particular seu comportamento durante um curto lapso de tempo. Nesta última categoria, sabe-se que a Análise de Falha Diferencial (DFA) representa uma séria ameaça a qualquer sistema de criptografia/descriptografia. A Análise de Falha Diferencial se baseia na observação e na comparação das saídas proporcionadas por um circuito criptográfico sob dois estados diferentes. Um desses estados corresponde à operação normal do circuito, ao passo que o outro é obtido mediante a injeção voluntária de uma falha que visa a alterar um ou vários bits, trocando de 0 para 1 ou vice-versa. Tal inversão de bits física pode ser realizada, por exemplo, pela varredura da superfície do circuito integrado com um feixe de laser. Por meio da localização de áreas sensíveis dentro do circuito criptográfico, sequências de laser permitem modificar o comportamento do circuito de maneira simples e precisa, uma vez que podem ser implementados sob o'controle de um computador, enquanto atuam com excelente resolução temporal e^fespacial. Quando várias falhas são injetadas durante o processamento de um algoritmo criptográfico, a análise das saídas errôneas permite adivinhar a chave se3/16 ereta mediante a observação e propagações de falha dentro do algoritmo.
[004]Por conseguinte, há a necessidade de proporcionar uma solução eficiente que possibilite evitar que invasores adivinhem a chave secreta através de qualquer análise de falha diferencial, ou, de forma mais geral, que eles adivinhem tal chave através de informações obtidas por qualquer tipo de análise.
SUMÁRIO DA INVENÇÃO [005] O objetivo da presente invenção é resolver, pelo menos em parte, as desvantagens supramencionadas. Para esse fim, a presente invenção sugere um método criptográfico e um dispositivo para troca segura de dados entre pelo menos dois dispositivos, envolvendo a implementação de um processo criptográfico que é particularmente complexo. De acordo com a invenção, a chave secreta, que é compartilhada por todos os dispositivos do mesmo sistema como uma chave simétrica, nunca é usada diretamente como chave de criptografia/descriptografia das mensagens trocadas. De fato, a chave que é usada para criptografar/descriptografar as mensagens trocadas entre os dispositivos de um mesmo sistema sempre dependem de uma pluralidade de números aleatórios, em particular. Mais especificamente, cada dispositivo gera pelo menos um número aleatório que é levado em conta para determinar a chave que é usada para criptografar/descriptografar as mensagens trocadas. Por conseguinte, se o sistema compreender três dispositivos, a chave supramencionada dependerá de pelo menos três números aleatórios.
[006]Além do mais, um nível de chave adicional é determinado antes de criptografar/descriptografar a mensagem a ser trocada. Por conseguinte, o presente método envolve três níveis de chave para criptografar/descriptografar as mensagens. Além disso, a mensagem a ser trocada nunca é usada diretamente como dados de entrada do algoritmo para gerar o criptograma que tem de ser enviado, mas sempre é usado com cada um dos números aleatórios para primeiramente gerar uma pseudo-mensagem que será então criptografada pelo algoritmo criptográfico
4/16 supramencionado.
[007]De preferência, os números aleatórios são renovados toda vez que uma mensagem precisa ser trocada. Por conseguinte, a presente invenção impede que qualquer pessoa maliciosa adivinhe a chave secreta compartilhada através de qualquer ataque envolvendo uma análise de falha diferencial. Adicionalmente, graças à complexidade proporcionada tanto pela pseudo-mensagem quando pela chave derivada usada para a criptografia, o método criptográfico da presente invenção atinge um nível de segurança particularmente alto.
[008]O objetivo e as vantagens da presente invenção são alcançadas graças ao método criptográfico de acordo com a matéria da reivindicação 1 e graças a um dispositivo de acordo com a matéria da reivindicação 11.
[009]Outras vantagens e concretizações serão apresentadas na descrição detalhada a seguir.
BREVE DESCRIÇÃO DOS DESENHOS [010]A presente invenção será melhor compreendida graças às figuras anexas, nas quais:
[011]A Figura 1 representa uma visão geral do sistema da presente invenção de acordo com uma concretização, [012]A Figura 2 é um fluxograma ilustrando uma concretização ilustrativa do método criptográfico da presente invenção, [013]A Figura 3 mostra uma alternativa de um extrato do fluxograma da Fig.
2, [014]A Figura 4 é uma representação esquemática de um dos dispositivos do sistema ilustrado na Fig. 1.
• DESCRIÇÃO DETALHADA [015]Referindo-se à Fig. 1, a última ilustra esquematicarhente uma visão geral de uma concretização do sistema na qual o método e uma pluralidade de disposi5/16 tivos da presente invenção podem ser implementados. O sistema de comunicação ilustrado nesta Figura mostra três dispositivos D1, D2, D3 conectados um ao outro por qualquer meio. Deve-se observar que o número de dispositivos D1, D2, D3, etc... é ilimitado e que o sistema ilustrado nesta Figura é tido como um exemplo dentre diversas outras possibilidades, tanto em termos de conexão quanto de número de dispositivos. Tal sistema poderia incluir somente dois dispositivos, conectados um ao outro tanto por uma rede, tal como a Internet, quanto por qualquer outro tipo de conexão (com ou sem fio), em particular uma conexão insegura.
[016]Cada dispositivo D1, D2, D3 pode trocar mensagens M com pelo menos um outro dispositivo, de preferência, com qualquer outro dispositivo no sistema. Uma vez que essas mensagens M são trocadas de forma segura, elas foram ilustradas nesta Figura por envelopes, cada um estampado com um cadeado. Para criptografar ou descriptografar mensagens seguras M, cada dispositivo D1, D2, D3 deverá gerenciar pelo menos três chaves criptográficas K, K1, K2. Uma dessas chaves é uma chave secreta compartilhada K comum a todos os dispositivos D1, D2, D3 do sistema. Esta chave secreta K pode ser implementada durante a fabricação do dispositivo D1, D2, D3 ou seu chipset relacionado, ou subsequentemente durante seu estágio de personalização ou durante uma fase de inicialização.
[017]Como ilustrado de forma esquemática nesta Figura, cada dispositivo envia e recebe outros dados indicados por R1, R2, R3. Tais dados se referem a números aleatórios. Cada dispositivo (por exemplo, D1) gera um número aleatório (R1) que é enviado aos outros dispositivos (D2, D3) e recebe o número aleatório (R2, R3) gerado por cada um dos outros dispositivos (D2, D3). Com base na visão geral proporcionada pela Fig. 1, o método para troca segura de mensagens M entre pelo menos dois dispositivos será descrito em detalhes com referência à Fig. 2.
[018]Para fins de simplicidade, a Fig. 2 revela, etapa por etapa, o método da presente invenção enquanto se refere-se a um sistema compreendendo somente
6/16 dois dispositivos, D1 e D2, respectivamente identificados pelos numerais de referência 10, 20. Nesta figura, as etapas realizadas por cada um desses dispositivos são ilustradas em várias colunas e seguem uma a outra de cima para baixo. As etapas comuns que são realizadas, ambas por cada um dos dispositivos, são representadas em uma coluna central. Deve-se notar que essas etapas comuns são realizadas por cada dispositivo de forma individual. Não há exigência de processar as etapas comuns simultaneamente dentro de cada dispositivo envolvido para troca de mensagens.
[019]Como já mencionado, cada dispositivo D1, D2 compreende uma chave secreta compartilhada K comum a todos os dispositivos que desejam trocar mensagens mutuamente. Esta chave secreta K é ilustrada na caixa 31 da Fig. 2 Nesta concretização, o dispositivo D1 é projetado para enviar uma mensagem M ao dispositivo D2. Por conseguinte, o primeiro dispositivo D1 corresponde ao dispositivo de envio e o segundo dispositivo D2 corresponde ao dispositivo receptor. Embora somente haja um dispositivo receptor ilustrado nesta Figura, deve-se compreender que a mesma mensagem M podería ser enviada do dispositivo de envio a uma pluralidade de dispositivos receptores. Na caixa 11, o dispositivo de envio D1 tem de preparar ou recuperar a mensagem M que tem de ser enviada. Tal mensagem M pode se referir a qualquer tipo de dado, mas normalmente, ela irá se referir a dados sensíveis, cuja natureza depende principalmente do tipo dos dispositivos envolvidos no sistema de comunicação em questão.
[020]Cada dispositivo D1, D2 gera um número aleatório antes de enviá-lo ao outro dispositivo, em particular a uma pluralidade de dispositivos selecionados ou a todos os outros dispositivos no caso de o sistema compreender mais de dois dispositivos. Esta etapa é ilustrada nas caixas 12, 21, onde o dispositivo de envio D1 gera um primeiro número aleatório R1, que é enviado ao dispositivo receptor D2, e o últi- '<
mo gera um segundo número aleatório R2 que é enviado ao dispositivo de envio D1.
7/16
A realização de uma troca mútua dos números aleatórios com cada um dos dispositivos pode ser alcançada mesmo se esses dispositivos não tivessem acordado anteriormente em trocar uma mensagem a chegar, por exemplo, por meio de um sinal específico reconhecido por esses dispositivos durante uma etapa anterior. Neste caso, poder-se-ia esperar que o mero fato de receber um número aleatório R1 (isto é, dados que podem ser identificados como tal, seja através de um identificador específico, ou por meio de um formato particular) pode ser reconhecido pelo(s) dispositivo(s) receptor(es) como sendo um sinal gatilho que informa que uma mensagem M deverá ser recebida a partir do dispositivo de envio. Por conseguinte, cada dispositivo torna-se totalmente capaz de executar as etapas necessárias do presente método no devido tempo.
[021]Ademais, no caso em que o sistema envolve mais de dois dispositivos, como ilustrado no exemplo da Fig. 1, pode-se adicionalmente proporcionar meios para identificar o dispositivo de envio no dispositivo receptor, se necessário. Se a comunicação ainda não for estabelecida entre o dispositivo de envio e o(s) dispositivo(s) receptor(es), por exemplo, durante uma sessão atual, uma forma possível podería ser identificar o endereço do dispositivo de envio ou transmitir o identificador (ID) do dispositivo de envio para o dispositivo receptor. Isso pode ser alcançado, por exemplo, anexando, ao número aleatório R1, o número de ID pertencente ao dispositivo de envio D1 ou incluindo tal ID em quaisquer outros dados.
[022]Na caixa 33, cada dispositivo D1, D2 determina uma primeira chave K1 calculando uma primeira operação OP1 que usa tanto a chave secreta compartilhada K quando cada número aleatório R1, R2 como operandos. Na ilustração fornecida pela Fig. 2, esta primeira operação OP1, bem como outras operações subsequentes, referem-se a uma operação OU exclusiva, como um exemplo não-limitante. De acordo com uma concretização preferida, e como ilustrado nesta caixa 33?o resultado da primeira operação OP1 é usado diretamente como a primeira chave K1.
8/16 [023] Na caixa 35, cada dispositivo D1, D2 subsequentemente calcula uma segunda operação OP2 que usa pelo menos cada número aleatório R1, R2 como operandos. Então, com base no resultado desta segunda operação OP2, cada dispositivo D1, D2 adicionalmente determina uma segunda chave K2. De acordo com o exemplo da caixa 35, isso é realizado pela criptografia do resultado da segunda operação OP2 por meio de um primeiro algoritmo, indicado por A1, que usa a primeira chave K1 como chave de criptografia. Por conseguinte, a segunda operação, ou diretamente seu resultado, é transmitida para o primeiro algoritmo A1 juntamente com a primeira chave criptográfica K1 necessária. Em resposta, este primeiro algoritmo fornece a segunda chave criptográfica K2 como saída.
[024]Na caixa 14, o dispositivo atuando como o dispositivo de envio D1 calcula uma terceira operação OP3 que usa tanto a mensagem M quanto cada número aleatório R1, R2 como operandos. Dessa forma, o dispositivo de envio D1 determina uma chamada pseudo-mensagem M’ dado que ela se baseia na mensagem M, mas parece diferente da mensagem inicial M, embora a última ainda não tenha sido criptografada.
[025]Na caixa 16, o dispositivo de envio D1 calcula um criptograma C que resulta da criptografia da pseudo-mensagem M’. Para esse fim, ele usa a pseudomensagem M’ como entrada de um segundo algoritmo A2 juntamente com a segunda chave K2 como chave de criptografia.
[026]Na caixa 18, o criptograma C é transmitido pelo dispositivo de envio a pelo menos um outro dispositivo atuando como dispositivo receptor.
[027]Quando o dispositivo receptor D2 obtém o criptograma C, ele é capaz de descriptográfa-lo por meio do mesmo algoritmo A2 e da mesma chave K2, como mostra a caixa 23. Para esse fim, o segundo algoritmo A2 será, ou irá incluir, uma função bidirecional que pode ser revertida (vide a notação A2'1 na Fig. 2). Sem dúvi- ί das, o mesmo algoritmo precisa ser usado tanto pelo envio quanto pelos dispositivos
9/16 de recepção. De acordo com a concretização preferida, a segunda chave K2 é usada como chave de descriptografia direta ou indireta do segundo algoritmo. O uso da segunda chave K2 como chave indireta será descrito com referência à Fig. 3. Em todo caso, a descriptografia do criptograma C permite recuperar a pseudomensagem M’ como resultado do segundo algoritmo A2.
[028] Finalmente, na caixa 25, cada dispositivo receptor D2 recupera a mensagem M em sua forma de texto simples inicial, a partir da pseudo-mensagem M’ invertendo a terceira operação OP3 (vide a notação OP3'1 na Fig. 2).
[029]Deve-se observar que o primeiro algoritmo A1 pode ser diferente ou idêntico ao segundo algoritmo A2. No entanto, e contrariamente ao segundo algoritmo, o primeiro algoritmo pode usar uma função unidirecional (ou ele mesmo pode ser tal função) que proporciona a segunda chave K2. Por conseguinte, tal segunda chave K2 podería ser o resumo (digest) de uma função hash ou podería ser derivada de tal função, por exemplo.
[030]Quaisquer que sejam os algoritmos (A1, A2) usados neste método, eles deve ser os mesmos para todos os dispositivos que desejam trocar mensagens M. Esses algoritmos podem ser implementados dentro de cada dispositivo através de diferentes maneiras, por exemplo, durante a fabricação dos dispositivos, durante sua personalização ou durante uma fase de inicialização.
[031]Referindo-se agora à Fig. 3, esta Figura mostra as últimas etapas do método ilustrado na Fig. 2, onde a caixa 37 representa uma etapa adicional como uma alternativa do fluxograma anterior. Esta variante corresponde ao caso em que a segunda chave K2 é usada como chave de criptografia/descriptografia indireta dentro do segundo algoritmo A2. Para esse fim, uma terceira chave K3 é determinada, em cada dispositivo D1, D2, por uma quarta operação OP4 que usa tanto a segunda chave K2 quanto a chave secreta compartilhada K como operandos. Como mostra a caixa 37, o resultado desta quarta operação OP4 fornece a terceira chave criptográ10/16 fica K3.
[032]De maneira similar aos algoritmos, todas as operações OP1, OP2, OP3, OP4, ou algumas delas, podem ser implementadas dentro de cada dispositivo durante a fabricação dos dispositivos, durante sua personalização ou durante uma fase de inicialização.
[033]Quanto ao dispositivo de envio D1, a etapa ilustrada na caixa 37 é realizada entre as etapas das caixas 36 e 16, uma vez que necessita da segunda chave K2 (determinada pela etapa da caixa 35) e o resultado dessa etapa adicional será usado com o segundo algoritmo A2 (durante a etapa ilustrada na caixa 16). Quanto ao(s) dispositivo(s) de recepção D2, esta etapa adicional é realizada entre as etapas das caixas 35 e 23 pelas mesmas razões.
[034]Como mostra a Fig. 3, o uso da segunda chave K2 no segundo algoritmo A2 (isto é, dentro das etapas das caixas 16 e 23) foi substituído pela terceira chave K3. Isso resulta do fato de que a segunda chave K2 é usada de forma indireta nessas etapas. Por essa razão, os numerais de referências dessas duas caixas foram respectivamente emendados em 16’ e 23’ na Fig. 3.
[035]Deve-se observar que certas etapas ilustradas na Fig. 2 ou na Fig. 3 poderíam ser colocadas em uma ordem diferente. Por exemplo, as etapas da caixa 14 poderíam ser realizadas em qualquer lugar entre as trocas dos números aleatórios R1, R2 (nas caixas 12, 21) e a criptografia da pseudo-mensagem M' (na caixa 16, 16'). O mesmo princípio se aplica às etapas da caixa 37, como explicado antes.
[036] De acordo com uma concretização, pelo menos parte de pelo menos qualquer uma das operações OP1, OP2, OP3, OP4 envolve uma operação lógica (álgebra Booleana). Mais particularmente, esta operação lógica é uma operação OU exclusiva (vide a notação simbólica □ na Fig. 2 e 3). Deve-se notar que outras funções lógicas (isto é, operações básicas e/ou derivadas) poderiarrrser usadas em vez do operador XOR ou com o operador XOR.
11/16 [037]De acordo com outra concretização, pelo menos uma parte de pelo menos qualquer uma das operações OP1, OP2, OP3, OP4 envolve um número elevado a uma potência. Neste caso, qualquer um dos operandos da operação relevante é usado como expoente desse número que é escolhido dentre os outros operandos desta operação.
[038]Para realizar operações lógicas, os operandos envolvidos devem ter o mesmo número digital. Em outras palavras, e uma vez que as operações referem-se a operações binárias, os operandos devem possuir o mesmo tamanho de bit. Portanto, e dependendo do tipo de operação realizado, por exemplo, na caixa 33 (OP1), tanto o tamanho de bit dos números aleatórios R1, R2 quanto o tamanho de bit da chave secreta compartilhada K deverá ser o mesmo. Com respeito à segunda operação OP2, como ilustrado no exemplo da caixa 35, os números aleatórios R1, R2 devem ter o mesmo tamanho de bit. O mesmo princípio se aplica à terceira e quarta operações com respeito tanto aos números aleatórios R1, R2 quanto à mensagem M, de um lado, e às chaves criptográficas K2, K do outro.
[039]Por essa razão, se os operandos de qualquer uma das operações OP1, OP2, OP3, OP4 tiverem tamanhos de bits diferentes, então o presente método pode adicionalmente compreender uma etapa que visa a recuperar o mesmo tamanho de bit para cada um desses operandos. Para esse fim, a recuperação do mesmo tamanho de bit pode ser obtida de várias maneiras diferentes.
[040]De acordo com uma concretização, isso pode ser obtido por uma “etapa de balanceamento” que visa a suplementar o operando com o menor tamanho de bit até que seu tamanho de bit seja igual ao tamanho de bit de qualquer um dos outros operandos da operação relevante. Então, esta etapa de balanceamento pode ser repetida até que todos os operandos da operação relevante tenham o mesmo tamanho de bit. A etapa que visa a suplementar oxjperando pode ser alcançada por uma sucessão de bits 0, por uma sucessão de bits 1, até mesmo por uma sucessão
12/16 de uma combinação específica desses dois bits 0 e 1. Sem dúvidas, a sucessão de bits selecionada deverá ser conhecida tanto pelo dispositivo de envio quanto pelo(s) dispositivo(s) receptor(es), através de qualquer processo mencionado antes, por exemplo, durante a personalização dos dispositivos ou seus chipsets.
[041]Na variante, esta etapa de balanceamento podería ser obtida suplementando o operando com o menor tamanho de bit até que o tamanho de bit do outro operando (isto é, de preferência o operando que possui o maior tamanho de bit) seja igual a um múltiplo do tamanho de bit do operando suplementado.
[042] De acordo com outra concretização, a chamada etapa de balanceamento pode ser primeiro realizada concatenando o operando com o menor tamanho de bit consigo mesmo, até alcançar o mesmo tamanho de bit que o outro operando. Essa abordagem implica que o operando que possui o maior tamanho de bit é um múltiplo do outro operando (isto é, o operando concatenado). No caso em que um operando não é exatamente um múltiplo do outro operando, a concatenação supramencionada pode ser realizada até alcançar um tamanho de bit reduzido por um valor residual menor do que o tamanho de bit do operando concatenado. Este tamanho de bit residual corresponde ao restante da divisão Euclideana, onde o operando com o maior tamanho de bit é o dividendo e o operando a ser concatenado é o divisor. Então, o tamanho de bit residual (isto é, o valor residual) pode ser suplementado por qualquer sucessão de bits, como explicado acima.
[043]Como exemplos de uma dessas concretizações aplicadas em particular à terceira operação OP3, a recuperação do mesmo tamanho de bit pode ser obtida para cada um dos referidos números aleatórios R1, R2 concatenando o referido número aleatório consigo mesmo, até atingir o mesmo comprimento tamanho da mensagem M. Esta concretização envolve os números aleatórios R1, R2 terem o mesmo tamanho de bit e o tamanho de bit da mensagem M ser um múltiplo de um dos números aleatórios. Se esta última condição não for satisfeita, então o tamanho de bit
13/16 residual pode ser suplementado como já explicado.
[044]Na variante, e enquanto se referindo ainda à terceira operação OP3, a recuperação do mesmo tamanho de bit podería ser obtida primeiramente suplementando-se a mensagem M até que seu tamanho de bit seja igual a um múltiplo do tamanho de bit de qualquer um dos números aleatórios R1, R2, e então fatiando a mensagem suplementada M em blocos com o mesmo tamanho de bit que o tamanho de bit do número aleatório antes de usar cada um desses blocos como uma nova mensagem (M) a ser processada pelas etapas do presente método criptográfico.
[045]De acordo com outra concretização e para fins de simplificação, as chaves criptográficas usadas no presente método, de preferência pelo menos a segunda chave K2, e a chave secreta compartilhada K, possuem o mesmo tamanho de bit. Pela mesma razão, todos os números aleatórios R1, R2 também possuem o mesmo tamanho de bit.
[046]Vantajosamente, mediante a geração de um número aleatório em cada dispositivo e o uso de todos os números aleatórios gerados tanto para derivar a chave criptográfica K2, K3, que é usada para calcular o criptograma C, e para determinar a pseudo-mensagem M’ a ser criptografada, a matéria da presente invenção aumenta significativamente a segurança aplicada às mensagens trocadas M.
[047]Ainda vantajosamente, mesmo se um dos números aleatórios for adivinhado por uma pessoa mal-intencionada, a mesma não será capaz de deduzir a chave que foi usada para criptografar a pseudo-mensagem M’. Adicionalmente, mesmo que essa chave pudesse ser descoberta por tal pessoa, ela ainda não conseguiría recuperar a mensagem inicial M a partir da pseudo-mensagem M’, dado que, para recuperar a mensagem original M, tal pessoa precisa primeiro possuir todos os números aleatórios, e então, deverá saber qual é a terceira operação (OP3) realizada no método. Isso também requer estar ciente de todos os operadores usados nesta operação, e até mesmo saber a ordem de cada operador e cada operando
14/16 usando dentro desta operação, dependendo da natureza desta operação.
[048]Ainda vantajosamente, a chave secreta compartilhada K nunca é diretamente usada como chave criptográfica em qualquer um dos algoritmos criptográficos A1, A2 implementados no presente método. Em contrapartida, a chave secreta compartilhada K somente é usada dentro de operações matemáticas (OP1, OP4) cujos resultados são subsequentemente usados como chaves nesses algoritmos. Por conseguinte, a chave secreta compartilhada K nunca é diretamente exposta no primeiro plano, dentro de um algoritmo criptográfico.
[049]De preferência, as etapas do presente método são realizadas toda vez que uma mensagem M precisa ser trocada. Isso pode ser aplicado qualquer que seja a concretização do método. Por conseguinte, os números aleatórios gerados por cada dispositivo possuem um único uso, dado que um novo número aleatório é gerado, por cada dispositivo, toda vez que uma nova mensagem tem de ser enviada. Portanto, a chave secreta compartilhada K é vantajosamente diferente sempre que uma mensagem M é trocada. Isso proporciona um método forte para troca segura de mensagens, e em particular, um método para impedir quaisquer ataques DFA.
[050]Finalmente, deve ser observado que a mensagem M pode compreender qualquer tipo de dado, em particular dados sensíveis, como senhas, palavras de controle, chave criptográfica ou qualquer outra informação confidencial.
[051 ]A presente invenção também se refere a um dispositivo ou a um sistema adequado para implementação de qualquer uma das concretizações do método descrito acima.
[052]Referindo-se à Fig. 4, a última ilustra esquematicamente em mais detalhes um dos dispositivos 10, 20 representados no sistema da Fig. 1. Este dispositivo pode ser usado indistintamente como um dispositivo de envio D1 ou como um dispositivo receptor D2, e de preferência, até mesmo como um dispositivo tanto de envio quanto de recepção. Para esse fim, ele compreende vários componentes incluindo,
15/16 pelo menos:
[053]- uma interface de comunicação 1 para troca de dados (M’, R1, R2, ...), em particular para troca de dados com pelo menos um outro dispositivo, [054]- uma memória segura 2 para armazenar a chave secreta compartilhada K, [055]- um gerador aleatório 3 para gerar um número aleatório R1 quando uma mensagem M precisa ser trocada, de preferência toda vez que tal mensagem precisa ser trocada, [056]- pelo menos uma unidade de cálculo 7 para emitir pelo menos um resultado de uma operação (OP1, OP2, OP3, OP4) usando operandos (por exemplo, R, R2, K, M) como entradas, [057]- pelo menos uma unidade criptográfica 8 para executar algoritmos (A1, A2) por meio de pelo menos uma chave criptográfica (K1, K2, K3), e [058]- uma unidade central de processamento 5 encarregada de gerenciar os componentes supramencionados (1, 2, 3, 7, 8) de acordo com as etapas do método criptográfico descritas aqui anteriormente.
[059]O dispositivo 10, 20 pode ser usado em todos os casos em que dados sensíveis devem ser trocados de forma segura. Tal dispositivo pode assumir a forma de um circuito eletrônico (circuito integrado, de preferência um circuito monolítico), tal como um cartão inteligente ou um chipset próprio para ser inserido em outro dispositivo. O último poderia ser um decodificador de sinais (dentro da área de TV paga), um smart phone ou qualquer outro dispositivo de comunicação. Em uma variante, tal cartão inteligente poderia ainda ser usado como um dispositivo autônomo, por exemplo, como um cartão de acesso, um cartão de banco (cartão de crédito ou cartão de pagamento) para comunicação com um terminal de controle.
[060]O cálculo· de cada operação OP1, OP2, OP3, OP4 pode ser realizado usando uma única unidade de cálculo 7 configurada para realizar diferentes opera16/16 ções, ou várias unidades de cálculo 7, cada uma dedicada a uma dessas operações. O mesmo princípio se aplica à unidade criptográfica 8 com relação aos algoritmos A1, A2.
[061 ]A invenção também se refere a um sistema conforme ilustrado na Fig.1. Tal sistema compreende pelo menos dois dispositivos criptográficos 10, 20 conectados um ao outro, para implementar qualquer concretização do método descrito acima. Cada dispositivo 10, 20 desse sistema compreende pelo menos os componentes que foram listados acima durante a descrição detalhada do dispositivo apresentado como uma matéria adicional da presente invenção. Ademais, quaisquer dos dispositivos do sistema podem incluir pelo menos um dos aspectos opcionais relacionados mencionados acima.
1/4

Claims (13)

  1. REIVINDICAÇÕES
    1. Método criptográfico para troca segura de mensagens (M) entre pelo menos dois dispositivos (D1, D2), cada um armazenando uma chave secreta compartilhada (K) comum aos referidos dispositivos, CARACTERIZADO por compreender as seguintes etapas:
    gerar um número aleatório (R1, R2) em cada dispositivo, enviar, por cada dispositivo, o número aleatório gerado (R1, R2) aos outros dispositivos, determinar, em cada dispositivo, uma primeira chave (K1) por meio do cálculo de uma primeira operação que usa tanto a referida chave secreta compartilhada (K) quanto cada número aleatório (R1, R2) como operandos, determinar, em cada dispositivo, uma segunda chave (K2) por meio da criptografia de uma segunda operação com um primeiro algoritmo usando a referida primeira chave (K1) como chave de criptografia, a referida segunda operação usando pelo menos cada número aleatório (R1, R2) como operandos, determinar, por um dos referidos dispositivos atuando como um dispositivo de envio (D1), uma pseudo-mensagem (M’) calculando uma terceira operação reversível que usa tanto a referida mensagem (M) quanto cada número aleatório (R1, R2) como operandos, calcular, pelo referido dispositivo de envio (D1), um criptograma (C) resultante da criptografia da referida pseudo-mensagem (M’) com um segundo algoritmo usando a referida segunda chave (K2) como chave de criptografia direta ou indireta, transmitir o referido criptograma (C) do referido dispositivo de envio (D1) a pelo menos um outro dispositivo atuando como dispositivo receptor (D2), receber ò> referido criptograma (C) no referido dispositivo receptor (D2), descriptografar o criptograma (C) no dispositivo receptor (D2) usando a
  2. 2/4 referida segunda chave (K2) como chave de descriptografia direta ou indireta do referido segundo algoritmo para recuperar a referida pseudo-mensagem (M’), recuperar a referida mensagem (M) a partir da referida pseudomensagem (M’) por meio da inversão da referida terceira operação.
    2. Método criptográfico, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o uso da referida segunda chave (K2) como chave de criptografia ou descriptografia indireta, dentro do segundo algoritmo, é realizado com uma terceira chave (K3) determinada, em cada dispositivo, por uma quarta operação usando a referida segunda chave (K2) e a referida chave secreta compartilhada (K) como operandos.
  3. 3. Método criptográfico, de acordo com a reivindicação 1 ou 2, CARACTERIZADO pelo fato de que pelo menos uma parte de pelo menos qualquer uma das referidas operações envolve uma operação lógica.
  4. 4. Método criptográfico, de acordo com a reivindicação 3, CARACTERIZADO pelo fato de que a referida operação lógica é uma operação OU exclusiva.
  5. 5. Método criptográfico, de acordo com qualquer uma das reivindicações precedentes, CARACTERIZADO pelo fato de que se os operandos de qualquer uma da referidas operações tiverem tamanhos de bit diferentes, então procede-se à recuperação do mesmo tamanho de bit para cada um dos referidos operandos.
  6. 6. Método criptográfico, de acordo com a reivindicação 5, CARACTERIZADO pelo fato de que a recuperação do mesmo tamanho de bit é obtida por uma etapa de balanceamento que visa a suplementar o operando com o menor tamanho de bit até que seu tamanho de bit seja igual ao tamanho de bit de qualquer um dos outros operandos, repetindo então a referida etapa de balanceamento até que todos os operandos (ou operandos suplementados) tenham o mesmo tamanho de bit.
    3/4
  7. 7. Método criptográfico, de acordo com a reivindicação 6, CARACTERIZADO pelo fato de que a referida etapa de balanceamento é primeiro realizada concatenando-se o operando com o menor tamanho de bit consigo mesmo, até alcançar o meso tamanho de bit que o outro operando, ou até alcançar um tamanho de bit reduzido por um valor residual menor do que o tamanho de bit do operando concatenado.
  8. 8. Método criptográfico, de acordo com a reivindicação 7, CARACTERIZADO pelo fato de que a referida etapa de balanceamento é aplicada à referida terceira operação e o operando com o menor tamanho de bit é qualquer um dos referidos números aleatórios (R1, R2), enquanto que o referido outro operando é a mensagem (M).
  9. 9. Método criptográfico, de acordo com qualquer uma das reivindicações precedentes, CARACTERIZADO pelo fato de que o referido primeiro algoritmo usa uma função unidirecional.
  10. 10. Método criptográfico, de acordo com qualquer uma das reivindicações precedentes, CARACTERIZADO pelo fato de que pelo menos uma parte de pelo menos qualquer uma das referidas operações envolve um número elevado a uma potência, em que qualquer um dos referidos operandos é usado como expoente do referido número escolhido dentre os outros operandos.
  11. 11. Dispositivo criptográfico (10, 20) para implementar o método criptográfico de acordo com qualquer uma das reivindicações 1 a 10, CARACTERIZADO por compreender vários componentes incluindo pelo menos uma interface de comunicação (1) para troca de dados, uma memória segura (2) para armazenar uma chave secreta compartilhada (K), um gerador aleatório (3) para gerar um número aleatório (R1, R2), pelo menos uma unidade de cálculo (7) emitindo um resultado de uma operação usando operandos como entradas, pelo menos uma unidade criptográfica (8) para executar algoritmos por meio de pelo menos uma chave criptográfica (K1,
    4/4
    Κ2, Κ3), e uma unidade central de processamento (5) encarregada de gerenciar os referidos componentes de acordo com as etapas do referido método criptográfico.
  12. 12. Dispositivo criptográfico (10, 20), de acordo com a reivindicação 11, CARACTERIZADO por ser feito de um circuito monolítico.
  13. 13. Sistema, CARACTERIZADO por compreender pelo menos dois dispositivos criptográficos (10, 20) conectados um ao outro para implementar o método criptográfico de acordo com qualquer uma das reivindicações 1 a 10, em que cada um dos referidos dispositivos compreende vários componentes incluindo pelo menos uma interface de comunicação (1) para troca de dados, uma memória segura (2) para armazenar uma chave secreta compartilhada (K), um gerador aleatório (3) para gerar um número aleatório (R1, R2), pelo menos uma unidade de cálculo (7) emitindo um resultado de uma operação usando operandos como entradas, pelo menos uma unidade criptográfica (8) para executar algoritmos por meio de pelo menos uma chave criptográfica (K1, K2, K3), e uma unidade central de processamento (5) encarregada de gerenciar os referidos componentes de acordo com as etapas do referido método criptográfico.
    1/3
BR102015013579-3A 2014-06-12 2015-06-10 Método criptográfico para troca segura de mensagens entre pelo menos dois dispositivos, dispositivo criptográfico e sistema BR102015013579B1 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP14172225.6 2014-06-12
EP14172225.6A EP2955871B1 (en) 2014-06-12 2014-06-12 Cryptographic method for securely exchanging messages and device and system for implementing this method

Publications (2)

Publication Number Publication Date
BR102015013579A2 true BR102015013579A2 (pt) 2018-05-29
BR102015013579B1 BR102015013579B1 (pt) 2023-07-04

Family

ID=

Also Published As

Publication number Publication date
CN105207772A (zh) 2015-12-30
JP6499519B2 (ja) 2019-04-10
DK2955871T3 (en) 2017-05-01
NZ708697A (en) 2018-01-26
US20150365424A1 (en) 2015-12-17
CN105207772B (zh) 2018-08-10
EP2955871A1 (en) 2015-12-16
EP2955871B1 (en) 2017-01-11
CA2893067A1 (en) 2015-12-12
KR102383829B1 (ko) 2022-04-06
JP2016005273A (ja) 2016-01-12
AU2015202994A1 (en) 2016-01-07
KR20150142623A (ko) 2015-12-22
CA2893067C (en) 2022-11-01
ES2619613T3 (es) 2017-06-26
US9648026B2 (en) 2017-05-09
SG10201504276RA (en) 2016-01-28

Similar Documents

Publication Publication Date Title
CN108345806B (zh) 一种硬件加密卡和加密方法
TWI717907B (zh) 用於安全記憶體的方法與系統
US9648026B2 (en) Cryptographic method for securely exchanging messages and device and system for implementing this method
US10482252B2 (en) Method for protecting the confidentiality and integrity of firmware for an Internet of Things device
US11308241B2 (en) Security data generation based upon software unreadable registers
US9798677B2 (en) Hybrid cryptographic key derivation
CN108475237A (zh) 存储器操作加密
US9729319B2 (en) Key management for on-the-fly hardware decryption within integrated circuits
US11893115B2 (en) Method for providing a secret unique key for a volatile FPGA
BR102015013579B1 (pt) Método criptográfico para troca segura de mensagens entre pelo menos dois dispositivos, dispositivo criptográfico e sistema
WO2016019670A1 (zh) 一种分组密码防攻击的加解密方法和装置
US12021973B2 (en) System and method for post-quantum trust provisioning and updating with contemporary cryptography
JP2015070498A (ja) 鍵交換システム、鍵交換装置、その方法、及びプログラム
Jain Enhancing security in Tokenization using NGE for storage as a service
US20230246826A1 (en) System and method for flexible post-quantum trust provisioning and updating
US20240020383A1 (en) Method and circuit for protecting an electronic device from a side-channel attack
CN117278212A (zh) 密钥生成方法、装置、系统、电子设备及可读存储介质

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

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