Dicas

Cifragem de arquivos com chave assimétrica

O envio de arquivos com segurança é muito comum entre pessoas que querem manter a integridade dos dados, para isso melhor ainda usar uma estrutura de chaves assimétricas para o envio deste documento ou arquivo. Para isso vamos começar criando o par de chaves, usarei o OpenSSL 1.0.1e-fips 11 Feb 2013
 
Num algoritmo de criptografia assimétrica, uma mensagem cifrada com a chave pública pode somente ser decifrada pela sua chave privada correspondente. 
 
 
Os algoritmos de chave pública podem ser utilizados para autenticidade e confidencialidade:
 
Confidencialidade: A chave pública é usada para cifrar mensagens, com isso apenas o dono da chave privada pode decifrá-la, evitando assim que terceiros possam ler a mensagem.
 
Autenticidade: A chave privada é usada para cifrar a mensagem, com isso garante-se que apenas o dono da chave poderia tê-la editado.
 
Criar chave privada:
root@redhat::~#  openssl genrsa -out private.pem  2048
 
Criar chave publica como base a chave privada:
root@redhat::~#  openssl rsa -in private.pem  -out  public.pem -outform PEM -pubout
 
O arquivo deve ser cifrado com a chave publica e enviado ao destinatário pelo canal de comunicação adequado. O dono do arquivo de posse da sua chave privada pode decriptar o arquivo ou documento que lhe foi enviado. Vale lembrar que a chave publica pode ser enviado normalmente para todas as pessoas que vão lhe enviar algo com segurança.
 
Cifrar o arquivo com a chave publica para o envio:
root@redhat::~#  openssl rsautl -encrypt -inkey public.pem  -pubin -in  file.txt -out  file.encrypt.txt
 
Após o recebimento do arquivo pelo dono, o processo inverso é muito simples, mas o dono deve ter a posse da chave privada.
 
Decriptar o arquivo enviado (file.encrypt.txt):
root@redhat::~#  openssl rsautl -decrypt -inkey private.pem  -in file.encrypt.txt  -out file.decrypt.txt
 

 

Standard
Dicas, Linux

Cifrar arquivos no linux com OPENSSL

Bom dia …
me deparei com uma situação interessante, tive que enviar alguns arquivos para um cliente e ele exigia que fossem encriptados devido a sua potencial importância, bem não é errado dizer que quem deve informar o grau de sigilo do arquivo é o dono do arquivo. Pensando no principio da confiabilidade e integridade podemos chegar a conclusão básica, vamos encriptar e enviar o pacote encriptado e junto com um “hash” do arquivo.
tudo na linha de comando, não pode ser diferente né, se fosse fácil não tinha graça.
usaremos o arquivo chamado segredo.txt
 
Primeiramente vamos tirar um hash do arquivo antes da encriptação:
root@redhat::~# md5sum segredo.txt
ceb01ad5f429e14a37aa0066017ec038
 
 
Agora vamos encriptar de fato:
root@redhat::~# openssl enc -aes-256-cbc -in segredo.txt -out segredo.enc
ceb01ad5f429e14a37aa0066017ec038
O procedimento obriga colocar uma senha (porque deveria colocar uma senha?  se você NÃO colocar para que todo esse processo), após o envio do arquivo e do hash, o cliente pode decrepitar o pacote e fazer a comparação do código que eu enviei e com o que ele obteve fazendo o mesmo procedimento. Caso o hash não seja igual pode descartar o pacote porque ele não esta mais integro.
Para a decrepitação:
root@redhat::~# openssl enc -aes-256-cbc -d -in segredo.enc -out segredo.txt
ceb01ad5f429e14a37aa0066017ec038
 
 
 
Pronto !!!
Como enviei a senha? pelo telefone e não foi pelo whatsapp.
Standard