Criptografia, decriptografia, Assinatura Digital e Certificação Digital

Criptografia é a ciência de enviar dados ou mensagens em forma cifrada ou em código.

Sua utilização tem como finalidade, entre outras:
autenticar a identidade de usuários
autenticar e proteger o sigilo de comunicações pessoais e de transações bancárias ou comerciais (compras na WEB, por exemplo)

Quando você envia seus dados para seu banco espera que só ele e você tomem conhecimento da transação, certo? O nome disto é Confidencialidade.

E quando recebe informações na tela, do seu saldo e outros dados precisa ter certeza de que é mesmo ele, seu banco, que enviou aquilo, correto? O nome disto é Autenticidade.

Resumindo: uma mensagem criptografada deve ser privada, ou seja, somente aquele que enviou e aquele que recebeu devem ter acesso ao conteúdo da mensagem.


Além disso, uma mensagem deve poder ser assinada, ou seja, a pessoa que a recebeu deve poder ter certeza que o remetente é mesmo a pessoa que diz ser. E, assim, poderá saber se aquela mensagem é a original ou foi alterada por um "intruso". É aqui que entra a Assinatura digital.


Os métodos criptográficos podem ser divididos em duas categorias:

- Criptografia de chave única ou Criptografia Simétrica
- Ccriptografia de chave pública e privada ou Criptografia Assimétrica

Dica: uma chave é como se fosse uma senha. Quanto maior a chave, maior a segurança. Cifrar e decifrar significam codificar e decodificar.

O que é criptografia de chave única (simétrica)?

A criptografia de chave única utiliza a mesma chave tanto para codificar quanto para decodificar mensagens.

João criptografou a mensagem e enviou para Maria. Aproveitou e passou para ela a chave única. Observe que as chaves são iguais (o Intruso não tem a chave e não decifra).

 


O que é criptografia de chaves pública e privada (assimétrica)?

A criptografia de chaves pública e privada utiliza duas chaves distintas, uma para codificar e outra para decodificar mensagens. Neste método cada pessoa ou entidade mantém duas chaves: uma pública, que pode ser divulgada livremente, e outra privada, que deve ser mantida em segredo pelo seu dono. As mensagens codificadas com a chave pública só podem ser decodificadas com a chave privada correspondente.

Observe a figura a seguir e o texto logo abaixo com uma ilustração do uso das chaves pública e privada:


- João codifica uma mensagem utilizando a chave pública de Maria, que ela mesma disponibilizou para o uso de qualquer pessoa – seus amigos e até mesmo o Intruso (que pode conseguir a chave pública da Maria, não tem perigo).
- Depois de criptografada a mensagem, João a envia para Maria, pela Internet.
- Maria recebe e decodifica a mensagem, utilizando sua chave privada, que é apenas de seu conhecimento (note que só temos uma chave vermelha na imagem. E só a chave privada da Maria pode decodificar. Assim, o Intruso, mesmo tendo a chave pública da Maria não decriptografa a mensagem.
- E, se Maria quiser responder a mensagem para o João, deverá realizar o mesmo procedimento, mas utilizando a chave pública do João. Ele também terá que disponibilizar sua chave pública para os amigos. Você notou que os Amigos também têm a chave pública do João? (e o Intruso também...) E, é claro, João também tem uma chave privada, só dele (que nem aparece na imagem acima)

 

O que é assinatura digital?


Aqui é utilizado o método de criptografia de chaves pública e privada, mas em um processo inverso ao anterior. Neste exemplo João quer enviar uma mensagem assinada digitalmente para Maria.

- João criptografa a mensagem porém usando sua chave privada. Neste processo será gerada uma assinatura digital, que será adicionada à mensagem enviada para Maria.
- Maria utiliza a chave pública de João para decodificar a mensagem. Neste processo será gerada uma segunda assinatura digital, que será comparada à primeira. Se as assinaturas forem idênticas, Maria terá certeza que o remetente da mensagem foi o João e que a mensagem não foi modificada. Mas atenção: a segurança deste método baseia-se no fato de que a chave privada é conhecida apenas pelo seu dono. E também é importante saber que o fato de assinar uma mensagem não significa gerar uma mensagem sigilosa. Apenas garante que foi mesmo o João quem mandou. Se João quisesse assinar a mensagem e ter certeza de que apenas Maria teria acesso a seu conteúdo, seria preciso codificá-la com a chave pública de Maria, depois de assiná-la.



Um exemplo de uso de criptografia de chave única e de chaves pública e privada.

Certificado Digital - um pequeno arquivo gravado no seu HD como se fosse uma carteira de identidade

As conexões seguras entre você - usando o seu browser (navegador) e um site, em transações comerciais ou bancárias via Web são um bom exemplo.
Estas conexões seguras via Web utilizam o método de criptografia de chave única, implementado pelo protocolo SSL (Secure Socket Layer).

Um site seguro é mantido por uma instituição certificadora. Se você clicar no cadeado de uma conexão segura poderá identificar esta instituição. Na figura a seguir da minha Loja Virtual, cliquei no cadeado e identifiquei a empresa Verisign autenticando o site.

O browser obtém a chave pública da instituição que mantém o site - no exemplo a Verisign. Então, ele utiliza esta chave pública para codificar e enviar uma mensagem para o site, contendo a chave única a ser utilizada na conexão segura. O site utiliza sua chave privada para decodificar a mensagem e identificar a chave única que será utilizada.

A partir deste ponto, o browser do usuário e o site podem transmitir informações, de forma sigilosa e segura, através da utilização do método de criptografia de chave única. A chave única pode ser trocada em intervalos de tempo determinados, através da repetição dos procedimentos descritos anteriormente, aumentando assim o nível de segurança de todo o processo.

Resumindo:
- Você, por meio do seu browser, pede à instituição certificadora uma chave pública.
- Depois passa essa chave pública para a Loja Virtual (no exemplo acima).
- A Loja Virtual aceita esta chave única e passa a usá-la com você.

E é assim com bancos, lojas etc.

Uma dica final

HTTPS (HyperText Transfer Protocol Secure ), é uma implementação do protocolo HTTP sobre uma camada SSL ou do TLS. Essa camada adicional permite que os dados sejam transmitidos através de uma conexão criptografada e que se verifique a autenticidade do servidor e do cliente através de certificados digitais.

O protocolo HTTPS é utilizado, em regra, quando se deseja evitar que a informação transmitida entre o cliente e o servidor seja visualizada por terceiros, como por exemplo no caso de compras online. A existência na barra de tarefas (normalmente do lado direito) de um cadeado demonstra a certificação de página segura (SSL).

Nas URLs dos sites o início ficaria 'https://'. Geralmente os navegadores mais atuais indicam um site seguro, geralmente atráves das barras de endereço que ficam verde. Consulte a ajuda do seu navegador para mais informações de como ele avisa sobre sites seguros.

Fonte: Wikipedia

Dicas quentes:
1- Não adianta você digitar https:// na frente de qualquer endereço na esperança de ter a segurança da criptografia. O protocolo https terá que ter sido implementado pelo site para funcionar.

Essa camada adicional permite que os dados sejam transmitidos através de uma conexão criptografada e que se verifique a autenticidade do servidor e do cliente através de certificados digitais.

2- Quando se encontra em uma URL a expressão "wwws" isto não significa nada com relação à segurança, criptografia, autenticação etc.