Descriptografar um arquivo criptografado em um sistema diferente

4

Meu servidor doméstico roda o OpenBSD 5.3 com arquivos de serviço do Samba em várias máquinas Windows. Eu escrevi um script para fazer backup dos arquivos de vídeo criptografando cada arquivo com openssl enc -aes-256-cbc e fazendo o upload para o Amazon S3. Para testar um possível cenário de restauração, tentei executar o script em um arquivo, fazer o download do arquivo em uma das máquinas Windows e descriptografá-lo usando vários programas anunciados como descriptografar arquivos criptografados AES, mas eles não conseguiram decifrá-lo. Um arquivo criptografado pelo OpenSSL pode ser descriptografado apenas pelo OpenSSL? Um arquivo criptografado pelo OpenSSL no OpenBSD pode ser descriptografado somente pelo OpenSSL no OpenBSD?

Para o registro, eu não tive nenhum problema em baixar o arquivo para o meu servidor e descriptografá-lo usando o OpenSSL. No entanto, estou interessado em saber se meus vídeos no S3 (rapidamente arquivados no Glacier) podem permanecer acessíveis, independentemente da minha escolha de configuração do servidor.

    
por Kellvyn 05.08.2013 / 00:09

2 respostas

3

AES-CBC-256 especifica completamente um algoritmo de criptografia e um algoritmo de descriptografia. Dado um texto simples, uma chave e um IV, duas implementações da criptografia AES-256-CBC produzirão o mesmo texto cifrado. Dado um texto cifrado, uma chave e um IV, duas implementações do AES-256-CBC produzirão o mesmo texto simples.

O IV é uma string aleatória que é gerada quando você criptografa uma mensagem. Se você criptografar os mesmos dados duas vezes, obterá textos cifrados diferentes porque o IV será diferente. Isto é em parte para que alguém que possa ver apenas dois textos cifrados com o mesmo tamanho não possa detectar se os textos cifrados são iguais. A maioria das ferramentas preenche o IV do texto cifrado, de modo que todos os dados necessários para a descriptografia estão em um lugar (exceto a chave, é claro).

A ferramenta de linha de comando OpenSSL gera um arquivo contendo um cabeçalho de 16 bytes, o IV e o texto cifrado. Este formato é específico para o OpenSSL, mas não depende da plataforma.

A linha de comando do OpenSSL é mais uma demonstração das possibilidades da biblioteca do que uma ferramenta de linha de comando de nível de produção. Eu não recomendo usá-lo, é muito fácil cometer um erro e acabar com dados não recuperáveis ou dados inseguros. Além disso, o OpenSSL não irá ajudá-lo com o gerenciamento de chaves.

Em vez disso, use uma ferramenta destinada a criptografar o arquivo. O GPG foi desenvolvido para essa finalidade. Gere um par de chaves e criptografe os arquivos com gpg -e [email protected] /path/to/file .

    
por 06.08.2013 / 04:03
0

A criptografia e formatação AES é regida pelas especificações NIST . Deve ser seguro assumir que, desde que as implementações sejam compatíveis, seus arquivos estarão acessíveis em todas as plataformas.

    
por 05.08.2013 / 04:58