criptografia

Embed Size (px)

Citation preview

Introduo `s Infraestruturas de Chaves Pblicas: ca a u Certicados Digitais e suas Aplicaes coPrograma de Vero 2007 a Exerc cios com OpenSSL Luiz M. R. Gadelha Jr. Coordenao de Sistemas e Redes ca Laboratrio Nacional de Computao Cient o ca ca

1

Introduo ao OpenSSL ca O OpenSSL engloba software e bibliotecas de programao para utilizao de criptograa e ca ca infraestruturas de chaves pblicas. u O OpenSSL pode ser utilizado em modo interativo ou diretamente pela linha de comando do Linux. Exemplo: Entrando no OpenSSL em modo interativo: $ openssl OpenSSL> speed Exemplo: Vericao de desempenho: ca $ openssl speed O OpenSSL software livre e pode ser obtido na URL: http://www.openssl.org. Uma boa e fonte de informao o livro Network Security with OpenSSL de J. Viega, M. Messier e P. ca e Chandra, publicado pela editora OReilly.

2

Criptograa simtrica e Verique a documentao do comando enc utilizando man enc na linha de comando do Linux. ca Quais so os algoritmos simtricos dispon a e veis? Crie um arquivo texto chamado arquivo.txt. Criptografe o arquivo criado com o algoritmo AES no modo ECB (Electronic Codebook) com uma chave de 256 bits utilizando o comando: $ openssl aes-256-ecb -in arquivo.txt -out arquivo.txt.aes O arquivo resultante, arquivo.txt.aes, o arquivo original criptografado. e Repita o item anterior para o algoritmo DES no modo ECB.

3

Criptograa assimtrica e Exemplo de utilizao do algoritmo RSA no OpenSSL: ca Gerao de chave privada: ca $ openssl genrsa -out chave privada.pem -des 1024 Gerao de chave pblica: ca u 1

$ openssl rsa -in chave privada.pem -pubout -out chave publica.pem Criptograa de arquivo com a chave pblica: u $ openssl rsautl -encrypt -pubin -inkey chave publica.pem -in arquivo.txt -out arquivo.txt.rsa Descriptograa de um arquivo com a chave privada: $ openssl rsautl -decrypt -inkey chave privada.pem -in arquivo.txt.rsa -out arquivo2.txt Crie um arquivo texto, criptografe-o com o DES, envie a chave DES criptografada com o RSA e o arquivo criptografado com o DES para um colega.

4

Funes de hash co Verique a documentao do comando dgst utilizando man dgst na linha de comando do Linux. ca Quais so as funes de hash dispon a co veis? Gere um arquivo texto e calcule o seu hash MD5. Modique um caracter do arquivo e recalcule o hash MD5. Assine digitalmente um documento manualmente com o md5 e rsautl. Verique a assinatura realizada.

5

Certicados digitais Arquivo de congurao: ca /usr/local/ssl/etc/openssl.conf Gera arquivo de BD vazio: touch index.txt Gerao de chaves e certicado auto-assinado para a AC: ca openssl req -x509 -new -newkey rsa:2048 -out cacert.pem -outform PEM Gerao de solicitao de certicado (CSR) - no congurar OPENSSL CONF: ca ca a openssl req -new -newkey rsa:1024 -keyout certkey.pem -out userreq.pem -outform PEM Emisso de certicado: a openssl ca -in userreq.pem Revogao de certicados: ca cp certs/01.pem rev.pem openssl ca -revoke rev.pem Gerando CRLs: openssl ca -gencrl -out aclncc.crl Visualizando CRLs: openssl crl -in aclncc.crl -text -noout

2