quarta-feira, 21 de maio de 2014

Chaves públicas e privadas para uso em aula.

Esse post é apenas para auxiliar alguns colegas da turma da faculdade de Redes de Computadores.

Uma questão sobre a utilização das chaves criptográficas que acho muito importante ser abordada é a respeito da utilização da "chave pública" de forma realmente pública.

Primeiramente compartilho uma nomenclatura que uso particularmente para que eu compreenda a utilização: 
A chave é uma só, porém ela é dividida em 2 partes e essas partes sim, são "privada" e "pública". Essa definição não se encontra em literatura, é só uma forma particular de organizar pensamentos.

Exemplo:
     A "chave do Cleber" é formada pela junção dos arquivos CleberIanes.privada.key e CleberIanes.publica.key. Eu só consigo abrir um arquivo criptografado por essa chave se eu tiver os 2 arquivos, mas eu consigo criptografar um aquivo tendo só a parte "CleberIanes.publica.key".

Então nesse link está o arquivo CleberIanes.publica.key:

                    http://goo.gl/gyb8P9

Digamos que queiram me enviar uma foto, mas é uma foto íntima (é só suposição, não precisam me enviar aquelas fotos. rsrsr
Baixem o arquivo no link acima e utilizem ele como "chave pública" para criptografar a foto e me mandar. Podem fazer isso respondendo o e-mail que mandei pra todo mundo, pois mesmo que qualquer um possa pegar a "chave pública", somente eu tenho a segunda parte da chave, a "chave privada". Vocês irão enviar o arquivo gerado pelo openssl, ou seja, o arquivo ArquivoCriptografadoASerEnviado.jpg. Não precisam me mandar qualquer chave pois eu tenho a chave privada pra abrir.

O comando no linux para isso é:
  openssl rsautl   -encryt    -in ArquivoOriginalASerEnviado.jpg    -out ArquivoCriptografadoASerEnviado.jpg  -pubin    -inkey CleberIanes.publica.key

* tudo na mesma linha, se estiver vendo em 2 ou mais  é só por causa da resolução de sua tela.

Importantíssimo compreender:
Se eu quero receber arquivos criptografados de qualquer pessoa então EU tenho que criar as chaves públicas e privadas que as pessoas usarão para me enviar arquivos. Então eu disponibilizo publicamente a chave que as pessoas podem me mandar arquivos criptografados. Dessa forma só eu conseguirei abrir os arquivos que são direcionados a mim, pois só eu tenho a segunda parte da chave.
Muita atenção nesse detalhe: Quem cria a chave não é a pessoa que vai enviar o arquivo, mas sim quem vai receber. Foi essa abordagem que senti falta na explanação dos 2 professores envolvidos. 

Dúvidas ou sugestões por e-mail. Inclusive, se encontrarem erros de digitação me avisem, estou fazendo isso  as pressas no meu horário de almoço.