Criptografia negável

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa

Em criptografia e esteganografia, a criptografia negável é um tipo de criptografia que permite negar de forma convincente que os dados são cifrados, ou de ser capaz de decifrá-los. A negação, embora que não seja verídica, não pode ser verificada pelo atacante sem a cooperação do usuário, que poderia realmente não ser capaz de decifrar os dados. A criptografia negável serve para minar a confiança do atacante e a dúvida se torna em uma forma de proteção.

Função[editar | editar código-fonte]

Normalmente um texto cifrado pode ser decifrado para obter um único texto em claro e, portanto, uma vez decifrado, o usuário não pode afirmar que a mensagem decifrada é diferente do original. A criptografia negável permite encriptar um texto e obter, se necessário, uma alternativa de texto simples que tem a função de "engodo". O atacante, mesmo se ele é capaz de forçar o usuário a produzir um texto claro não pode perceber qualquer diferença real entre o texto em claro e as alternativas. O usuário pode sempre defender-se, de tempos em tempos, escolhendo se quer produzir, a partir do mesmo texto cifrado, o verdadeiro texto original ou outro texto de disfarce.

A noção de "criptografia negável" foi usada por Julian Assange e Ralf Weinmann no Rubberhose filesystem e explicada em detalhe num artigo de Ran Canetti, Cynthia Dwork, Moni Naor, e Rafail Ostrovsky [1] em 1996.

Cenário[editar | editar código-fonte]

A criptografia negável permite que o remetente da mensagem cifrada possa negar o envio dessa mensagem. Isto requer uma terceira pessoa de confiança. Aqui está um cenário possível:

  1. Alice é a esposa de Bob, que suspeita que sua mulher esteja envolvida em adultério. Ela quer se comunicar com seu amante Carl em segredo. Ela cria duas chaves, uma com a intenção de mantê-la secreta, e outra destinada a ser sacrificada. Ela passa a chave secreta (ou ambas) a Carl.
  2. Alice constrói uma mensagem inofensiva M1 para Carl (destinada a ser revelada a Bob no caso de emergência) e uma carta de amor de conteúdo incriminatório M2 para Carl. O texto M1 é cifrado com a chave K1 e M2 com a chave K2. No momento da criptografia M1 e M2 são mescladas em uma única mensagem cifrada que é enviada para Carl.
  3. Carl usa sua chave privada K2 para decifrar M2 e lê o texto secreto.
  4. Bob descobre a mensagem cifrada para Carl, torna-se suspeitoso e constrange Alice de decifrar a mensagem.
  5. Alice usa a chave de sacrifício K1 e a revela a Bob que lê o texto inofensivo M1. E porque Bob não sabe a chave de outro, ele tem que assumir que não há outra mensagem M2.

Outro cenário possível é que Alice cria uma mensagem cifrada com instruções secretas para Bob e Carl. A mensagem tem instruções diferentes e cada um destinatário não deve ficar a conhecer as instruções do outro. Carl pode receber a mensagem só por meio de Bob.

  1. Alice constrói a mensagem cifrada (M1 com K1 e M2 com K2) e a envia para Bob.
  2. Bob usa sua chave K1 e lê as instruções M1. Não pode ler M2.
  3. Bob envia a mensagem cifrada para Carl.
  4. Carl usa sua chave K2 e lê as instruções M2. Não pode ler M1.

Formas modernas de criptografia negável[editar | editar código-fonte]

As modernas técnicas de criptografia negável exploram as propriedades de permutação pseudoaleatória de cifras por bloco, tornando-se impossível provar que o texto cifrado não corresponde a dados aleatórios, gerados por um gerador de números pseudoaleatórios criptograficamente seguro. Usa-se também este método em combinação com um ou mais dados chamariz que o usuário deseja manter plausivelmente segredos, e que serão revelados em caso de ataque, afirmando que isso é tudo que existe. Esta forma de criptografia negável às vezes é denotada como esteganografia.

Outro exemplo de criptografia negável é o sistema de ficheiros criptográfico que utiliza o conceito de níveis abstratos, onde cada nível é cifrado com uma chave diferente, e com níveis adicionais especiais, com função de "chaff", preenchidos de dados aleatórios. O usuário armazena alguns ficheiros "chamarizes" em um ou mais níveis, negando a existência de outros níveis com ficheiros secretos, dizendo que o espaço restante é ocupado por níveis de chaff. Fisicamente, este tipo de sistema de ficheiros é armazenado em um único diretório que contém ficheiros de tamanho igual e de marca temporal casual. Os nomes são gerados por acaso - se eles pertencem às níveis de chaff - ou são hash criptográficos de cadeias que identificam os blocos. Sistema de ficheiros Rubberhose e PhoneBookFS utilizam essa abordagem.

Outro método utilizado por alguns software de criptografia de disco é a criação de um segundo volume cifrado dentro de um volume com funções de recipiente. O volume é formatado com dados aleatórios cifrados[2] e então inicializado com um sistema de ficheiros que o usuário preenche com dados plausivelmente sensíveis. Após, internamente ao volume recipiente se insere um segundo volume escondido com os dados segredos que o usuário queira armazenar. Como em outros exemplos, a proteção do volume cifrado traz força das propriedades de permutação pseudoaleatória de cifras por bloco.[3]

A integridade do volume cifrado depende da possibilidade de não aumentar o tamanho dos dados contidos no volume do recipiente, até chegando a sobrescrever o espaço oculto cifrado alocado no interior. Talvez, no tempo pode ser necessário "congelar" o volume recipiente para preservar aquilo escondido, correndo o risco de torná-lo suspeito por causa das marcas temporais de último acesso e modificação, nunca atualizadas. FreeOTFE e BestCrypt podem conter mais volumes cifrados no volume recipiente, TrueCrypt é limitado a um único volume escondido.[4]

Críticas[editar | editar código-fonte]

A existência de um volume oculto pode ser afetada por implementações de criptografia com elementos previsíveis, ou por efeito de alguns ferramentas forenses que podem forçar a revelar a presença de dados cifrados, não-aleatórios.[5] [6] Foi também sugerida a vulnerabilidade de volumes cifrados, se processados com o teste de ​​randomização chi-quadrado, e que seria necessária, depois de cada modificação de dados cifrados, uma inclusão de elementos de correção para reduzir o volume a um estado razoável de aleatoriedade.[7]

A criptografia negável foi também criticada por sua incapacidade de defender os usuários contra a coação e tortura (criptoanálise de mangueira de borracha). De fato, alguns usuários e os desenvolvedores têm medo de que a utilização mesma de instrumentos com apoio da criptografia negável possa empurrar os atacantes a não interromper as investigações, mesmo quando o usuário arremeda de cooperar, fornecendo a chave.[8]

Ver também[editar | editar código-fonte]

Referências

Bibliografia[editar | editar código-fonte]