MiniCurso : Criptografia na plataforma .NET - Aula 1


    Princípios Gerais

A segurança é uma preocupação constante que todos os desenvolvedores precisam abordar principalmente quando existem dados que estão sendo armazenados ou transmitidos.

Criptografia (em grego: kryptós, "escondido", e gráphein, "escrita") é o estudo dos princípios e técnicas pelas quais a informação pode ser transformada da sua forma original para outra ilegível, de forma que possa ser conhecida apenas por seu destinatário (detentor da "chave secreta"), o que a torna difícil de ser lida por alguém não autorizado. ( https://pt.wikipedia.org/wiki/Criptografia )

Resumindo, a criptografia representa a transformação de informação inteligível numa forma aparentemente ilegível, a fim de ocultar informação de pessoas não autorizadas, garantindo privacidade.

O estudo da criptografia é feito desde a Roma antiga onde eram usados algoritmos simples para criptografar informações. A criptografia moderna é basicamente formada pelo estudo dos algoritmos criptográficos que podem ser implementados em computadores.

Por meio do uso da criptografia você pode: ( http://cartilha.cert.br/criptografia/ )

Há duas maneiras básicas de se criptografar mensagens:

  1. Usando códigos - Procura esconder o conteúdo da mensagem através de códigos predefinidos entre as partes envolvidas na troca de mensagens.
  2. Usando cifras - O conteúdo da mensagem é cifrado através da mistura e/ou substituição das letras da mensagem original. A mensagem é decifrada fazendo-se o processo inverso ao ciframento
Os termos codificar e criptografar não significam a mesma coisa. Assim codificação não é criptografia.

Na codificação, usando o mecanismo de codificação base64 por exemplo, não é preciso usar uma chave de codificação ou decodificação.

O mecanismo de codificação Base64 é usando quando você precisa representar dados binários em um ambiente baseado em texto.

Para converter para e a partir de base64 podemos usar a classe Convert. Veja exemplo abaixo para VB .NET e C#:

      Dim binario = New Byte() {1, 2, 3, 4, 5}
      Dim codificacao = Convert.ToBase64String(binario)
      Dim retornaBinario = Convert.FromBase64String(codificacao)
   var binario = new Byte[] { 1, 2, 3, 4, 5 };
   var codificacao = Convert.ToBase64String(binario);
   var retornaBinario = Convert.FromBase64String(codificacao);
Código VB .NET Código C#

Com a popularização da internet e o consequente aumento na utilização das aplicações de comércio eletrônico e de home-banking, informações confidenciais como cartões de crédito, transações financeiras, etc. são enviadas e processadas em meios não confiáveis.

Enquanto meios de comunicações suficientemente seguros para proteger este tipo de informação não surgem, a criptografia aparece como uma boa alternativa para proteção de dados.

A criptografia foca em quatro princípios gerais para proteger a informação que esta sendo armazenada ou transmitida entre as partes. Uma aplicação segura precisa aplicar uma combinação destes princípios para proteger os dados sensíveis:

  1. Autenticação
  2. Não Repúdio
  3. Integridade dos dados
  4. Confidencialidade
1  - Autenticação

Antes que a informação recebida de uma parte possa ser considerada confiável, a fonte dessa informação deve ser autenticada para provar a legitimidade da identidade da parte que enviou a informação.(emissor).

A autenticação garante que a informação é autêntica.

2  - Não Repúdio

Além de provar a identidade do emissor da informação, precisa existir um mecanismo para assegurar que o emissor de fato enviou a informação.

O não repúdio garante que o emissor não negue ter assinado ou criado a informação.

Nota:  O não repudio fornece provas legais de que um usuário realizou uma determinada ação, como transferir dinheiro, autorizar uma compra, ou enviar uma mensagem.

3  - Integridade dos dados

Uma vez que a autenticação do emissor e a legitimidade da correspondência tenham sido confirmados, os dados precisam ser verificados para assegurar que não eles não foram modificados.

A integridade garante a exatidão da informação ou seja, garante que a informação não foi modificada.

4  - Integridade dos dados

A Confidencialidade é a propriedade da informação pela que não estará disponível ou divulgada a indivíduos, entidades ou processos sem autorização. Ela protege a informação de qualquer pessoa que possa interceptar a transmissão da informação.

A confidencialidade garante que a informação seja acessada somente por pessoas autorizadas.

Na próxima aula veremos as técnicas de criptografia.

Não se turbe o vosso coração; credes em Deus, crede também em mim.
Na casa de meu Pai há muitas moradas; se não fosse assim, eu vo-lo teria dito. Vou preparar-vos lugar.

João 14:1,2

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

Referências :


José Carlos Macoratti