Criptografia plausivelmente negável ou como revelar uma chave sem revelá-la

Gonzalo Álvarez Marañón    25 enero, 2021
Criptografia plausivelmente negável ou como revelar uma chave

Quando a polícia secreta deteve Andrea no controle do aeroporto, ela pensou que era um mero procedimento reservado a todos os cidadãos estrangeiros. Quando revistaram sua bagagem e encontraram o disco USB com todos os nomes e endereços dos dissidentes políticos que ajudava a fugir do país, ela se sentiu tranquila: o disco estava criptografado com uma chave AES de 256 bits, nem mesmo com um supercomputador. eles decifrariam em um bilhão de anos. Quando ela foi amarrada nua a uma grade e recebeu o primeiro choque de 1.000 volts, seus nervos e músculos convulsionaram em uma explosão de pânico. Quanto tempo ele poderia durar antes de revelar a chave secreta? Se ela falasse, quantas pessoas mais seriam torturadas e mortas? De que serve a criptografia se eles podem fazer você revelar a chave?

De fato, mesmo o melhor algoritmo de criptografia do mundo não resistirá à criptoanálise de mangueira de borracha : por que se preocupar em atacar matematicamente um algoritmo de criptografia, quando por meio de extorsão, suborno ou tortura, as chaves das pessoas que o usam ou gerenciam podem ser extraídas?

Seria maravilhoso ser capaz de criptografar as informações de forma que, se você revelar a chave de criptografia sob coação, ela não descriptografe as informações confidenciais originais, mas sim um engodo. Felizmente, essa forma incrível de criptografia existe: é uma criptografia plausivelmente negável .

A criptografia plausivelmente negável para descriptografar uma mensagem ou outra, dependendo do cenário

Como você bem sabe, um algoritmo de criptografia ( E ) recebe como entrada uma mensagem sensível para proteger (o texto não criptografado, m ) e uma curta sequência aleatória de bits (a chave, k ) e gera um conjunto de bits de aparência aleatória (o texto cifrado, c ) de aproximadamente o mesmo comprimento que a mensagem:

c = k ( m )

A mesma mensagem m criptografada com a mesma chave k produz o mesmo texto criptografado c . Para simplificar, neste artigo deixaremos de fora a criptografia de preenchimento aleatório que evita precisamente esse determinismo. Reciprocamente, o mesmo texto cifrado c descriptografado com a mesma chave k , produz o mesmo texto simples m usando o algoritmo de descriptografia correspondente ( D ):

m = k ( k ( m ))

É neste sentido que se diz que a criptografia compromete : uma vez que você criptografou um texto m com uma chave k e compartilhou o texto criptografado c , os três valores estão inextricavelmente ligados. Se você revelar k sob coação , de c você obterá o texto original m , perfeitamente legível por todos. Se ao invés de revelar a verdadeira chave k , você inventar qualquer valor k ‘ , então o resultado da decifração de c com ele será um texto aleatório e, portanto, ilegível, então todos saberão que você não confessou a chave real: k. Assim, eles podem continuar a coagi-lo até que revele o verdadeiro k .

Além disso, o simples fato de armazenar ou transmitir mensagens criptografadas já é incriminador, dependendo de quais cenários. Possuir ou enviar informações criptografadas para um governo repressivo, um criminoso sangrento ou um parceiro ciumento fará com que eles suspeitem que você tem que esconder algo. A criptografia protege a confidencialidade da mensagem, mas não oculta sua existência. Como escapar de problemas se um adversário interceptar suas informações criptografadas e exigir que você as descriptografe? Você não deseja revelar as informações criptografadas, nem pode descriptografá-las com uma chave errada que retorna um texto ilegível.

O objetivo da cifra plausivelmente negável é que o mesmo texto cifrado c pode ser descriptografado com duas chaves diferentes, 1 e 2 , resultando em dois textos claros diferentes, 1 e 2 , ambos perfeitamente legíveis, mas com um toque fascinante: 1 é um texto sensível cuja confidencialidade você realmente deseja proteger, enquanto 2 é um texto legível e plausível, que age como um engodo e que você pode exibir com alegria para a satisfação do adversário. Ambos criados a partir do mesmo c !

Como obter criptografia negável rudimentar usando criptografia XOR

Se você acha que a criptografia plausivelmente negável é mágica, você verá como uma versão rudimentar pode ser alcançada usando um exemplo simples baseado no teclado único . Basta usar a operação XOR, também conhecida como módulo de adição 2, que representaremos por (+). Neste algoritmo, ele é criptografado e descriptografado da seguinte forma:

Criptografia à c = m (+) k

Descriptografia à m = c (+) k = m (+) k (+) k = m

já que o XOR de um valor consigo mesmo é igual a 0.

Começamos com duas mensagens, a sensível 1 e a isca 2 , e uma chave secreta, 1 , tão longa quanto a mensagem mais longa. O texto cifrado c é calculado como:

c = 1 (+) 1

A chave 2 é calculada como

2 = c (+) 2

Se c for decifrado com 1, obtemos 1 :

c (+) 1 = 1 (+) 1 (+) 1 = 1

Ao passo que se c for decifrado com 2 , obtemos 2 :

c (+) 2 = c (+) c (+) 2 = 2

A criptografia negável funciona! O adversário não tem nenhuma maneira de saber se 2 foi a mensagem autêntica ou uma falsificação. Espero que ele fique satisfeito e deixe a vítima em paz. Obviamente, quantas chaves e mensagens alternativas podem ser calculadas a partir de c, conforme desejado.

Outro cenário de uso de criptografia negável que não tem nada a ver com proteção contra coação é o envio de instruções diferentes para destinatários diferentes, mas todas contidas no mesmo texto cifrado! Todos os destinatários recebem abertamente o mesmo texto cifrado c . No entanto, cada destinatário recebe uma chave diferente i, que irá descriptografar uma mensagem diferente i do mesmo c . O destinatário 1 receberá a mensagem 1 se ele descriptografar c com a chave 1 , o destinatário 2 receberá a mensagem 2 se ele descriptografar ccom a chave 2 e assim por diante. Nenhum deles será capaz de ler a mensagem do outro. Além do mais, ele nem suspeitará de sua existência.

Claro, esta versão seria impraticável, pois requer chaves tão longas quanto as próprias mensagens. Portanto, os criptógrafos tiveram que criar algoritmos mais eficientes.

A melhoria incremental da criptografia negável ao longo dos anos

primeiro algoritmo operacional de criptografia negável foi proposto em 1997 por R. Canetti, C. Dwork, M. Naor e R. Ostrovsky, com base na seguinte ideia engenhosa: imagine que o remetente (Alice) e o receptor (Bob) concordaram um certo método que permite a Alice escolher em algum domínio um elemento totalmente aleatório ou pseudo-aleatório, de modo que Bob possa distinguir entre escolha aleatória e pseudo-aleatória. Quando Alice deseja transmitir um 1, ela envia uma string pseudo-aleatória; enquanto para transmitir um 0, ele envia uma string verdadeiramente aleatória. Como o adversário não consegue distinguir pseudoaleatório de aleatório, Alice pode fingir que enviou qualquer mensagem.

Ao longo dos anos, vários esquemas de criptografia negáveis, tanto de chave pública quanto de chave secreta, foram propostos. Este último pode ser usado para criptografar grandes volumes de dados, como discos rígidos inteiros. Um bom exemplo desses sistemas de criptografia negáveis ​​aplicados a discos é a ferramenta de plataforma cruzada Truecrypt , com seus volumes ocultos em volumes criptografados. Baseou- se no trabalho pioneiro desenvolvido em 1997 pelos cryptopunks Julian Assange (sim, o do Wikileaks) e Ralf Weinmann, precisamente denominado Rubberhose File System (sistema de arquivo de mangueira de borracha), em referência ao método de criptoanálise acima mencionado. Ferramentas também foram lançadas para a criptografia negável do conteúdo deSmartphones Android, como Mobiflage ou MobiCeal . O aplicativo BestCrypt fornece a maior cobertura, pois funciona no Windows, macOS, Linux e Android.

Cuidado com criptografia negável, que pode denunciá-lo

Em suma , a criptografia negável apresenta sérios riscos. Se o adversário for suficientemente versado em criptografia, a mera suspeita de que você está usando um sistema de criptografia negável o motivará a continuar extraindo suas chaves. Suponha que você use o Truecrypt para criptografar as informações em seu disco, que não podem ser ocultadas de uma investigação forense digital básica. Seu oponente ficará satisfeito com a primeira pista que você revelar a ele? Ele pode continuar a coagir você, com uma mangueira de borracha ou outro meio, a revelar uma segunda chave. E um terceiro. E uma quarta … Como o adversário saberá que extraiu de você a última chave e você não está escondendo outra? A criptografia negável pode sair pela culatra em um cenário de criptoanálise de mangueira de borracha, porque pode fazer com que você nunca pare.

Em suma, a criptografia plausivelmente negável é mais uma ferramenta que a criptografia coloca a serviço das liberdades e direitos civis. Obviamente, em circunstâncias de perigo real de coerção, deve ser usado com cautela.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *