É possível criar um "Time Capsule" usando criptografia?


14

Quero criar uma cápsula do tempo digital que permanecerá ilegível por algum período de tempo e depois se torne legível. Não quero contar com nenhum serviço externo para, por exemplo, manter a chave em segredo e depois revelá-la no tempo necessário. Isso é possível? Caso contrário, é possível algum tipo de prova de que não é?

Uma estratégia seria baseada em projeções de recursos futuros de computação, mas isso não é confiável e faz suposições sobre quantos recursos seriam aplicados à tarefa.


1
Se você puder garantir que o dispositivo não seja violado, poderá usar componentes radioativos (levemente) com um tempo de meia vida conhecido, para que você possa conceder acesso apenas se a radioatividade tiver caído o suficiente.
Raphael

Respostas:


5

O problema é conhecido como criptografia de liberação programada . Para algumas referências / introdução, consulte:

Nossa motivação é a noção de "criptografia de liberação programada", onde o objetivo é criptografar uma mensagem para que ela não possa ser descriptografada por ninguém, nem mesmo pelo remetente, até que um tempo predeterminado tenha passado. O objetivo é "enviar informações para o futuro" ...


7
Você poderia pelo menos resumir os trabalhos?
svick

5
Os trabalhos fazem um estudo aprofundado das duas abordagens "naturais": ou use um terceiro confiável ou exija que o receptor execute um cálculo que não seja paralelo e demore aproximadamente a quantidade certa de tempo.
a3nm

1

Eu vim com uma resposta parcial, mas não falando estritamente uma resposta para a pergunta, como indicado. Eu suspeito que isso possa ser o mais próximo possível, mas não tenho certeza.

Primeiro, codificamos a cápsula com a chave necessária para a descriptografia.

Não sei como ter algum tipo de autoridade para manter a chave, mas é possível distribuir essa função. Se quebrarmos a chave em n pedaços, podemos pedir às n autoridades que os guardem. Então, no momento apropriado, todos poderão publicar suas peças para permitir a reconstrução da chave.

Essa solução é vulnerável à indisponibilidade de qualquer uma das n autoridades, mas, usando a codificação m-out-n, podemos distribuir as peças para n autoridades, mas apenas precisamos que m publique suas peças.

Mesmo nesse caso, um certo número de autoridades com um relógio preciso deve fornecer um serviço de gerenciamento de chaves correto. É possível enfraquecer essa suposição além do m-out-de-n sugerido acima?


1

Eu acho que essa é uma abordagem viável:

Gere um conjunto de chaves usando seu esquema de criptografia preferido usando uma frase secreta gerada aleatoriamente. O truque aqui é com a senha. A chave é conhecida, mas criaremos uma cápsula do tempo usando a senha.

Escolha uma senha que, se criarmos um hash salgado, levará aproximadamente "n" anos para calcular a senha fornecida sal e hash conhecidos usando o poder de computação atual. Se quisermos criar uma cápsula de 20 anos, estime nosso poder de computação daqui a 20 anos e crie um hash que será computável em um mês por um usuário ou um supercomputador em 20 anos, dependendo do objetivo da cápsula. Figura, para uma cápsula de tempo de 20 anos, que será descriptografada por uma megacorp em 15 anos ou por um usuário em 20.

Criptografe dados usando chaves com senha aleatória, armazene a chave e a senha com hash e não armazene a senha real. Agora preserve os dados e, em algum momento no futuro, esperamos que você tenha o poder de computação para recuperar seus dados!


0

Não sou criptógrafo, apenas engenheiro, então minha solução é mais física do que computacional, mas deixe-me tentar de qualquer maneira. Proponho o seguinte procedimento:

  1. Gere o par de chaves assimétrico
  2. Criptografar a mensagem de texto sem formatação usando a chave pública
  3. Armazene a chave privada na memória volátil de um microcontrolador e faça com que ela produza a chave somente após um certo período de tempo.
  4. Destruir todas as outras cópias da chave privada
  5. Agrupe o cyphertext e o microcontrolador juntos e aguarde.

Surge então a pergunta óbvia: por que se preocupar com a criptografia quando você pode simplesmente armazenar a mensagem de texto sem formatação no chip? A resposta para isso é que, dessa forma, o texto sem formatação pode ser arbitrariamente longo, sem atingir a capacidade de armazenamento do chip, porque apenas a chave de comprimento fixo é armazenada lá. Além disso, você pode manter uma cópia da chave pública, gerando mais mensagens com ela posteriormente, que são desbloqueadas ao mesmo tempo. Mas é isso aí.

Para tornar isso ainda mais seguro, você pode conectar um sensor de luz ao chip e colocar o conjunto em um estojo à prova de luz (ou colocar um interruptor na porta ou em algum outro mecanismo de detecção de violação), expondo o sensor à luz acionará o apagamento da tecla. Isso evita a obtenção da chave usando métodos invasivos, como a gravação. Alguns chips também têm suas camadas de silício estruturadas de forma a tornar quase impossível a leitura invasiva, colocando outros circuitos essenciais acima da memória, para obscurecer os bits individuais.


Se houver um relógio interno, alguém poderá acelerar ou removê-lo. Por qualquer meio, não é bom.
Mal

@ Mal eu pensei nisso, e não é realmente um problema, porque o chip pode ser feito com overclock apenas muito antes de se tornar instável, fazendo isso arriscaria perder a chave. Por exemplo, a maioria dos AVRs de 8 bits executa até 20 MHz, pode ser de overclock para cerca de 25 MHz, mas acima disso a chance de uma falha aumenta significativamente.
programagor

1
Você está reinventando o hardware resistente a violações ... algo difícil de fazer bem, especialmente em escalas de tempo prolongadas.
DW
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.