No cenário atual, em que a cada dia surgem novas aplicações para uso das redes de computadores, é natural que existam casos mais críticos que necessitam de mecanismos para garantir a segurança dos dados; isso é verdadeiro principalmente quando falamos de redes reconhecidamente inseguras, como a Internet.
Quando se fala em segurança de informações, existem 3 objetivos a serem alcançados:
- Confidenciabilidade: Os dados só podem ser vistos/compreendidos pelo seu destinatário e por mais ninguém.
- Integridade: É preciso haver garantias de que os dados não foram alterados desde sua transmissão até a recepção.
- Não-repúdio: Precisamos provar que a informação foi originada de uma determinada pessoa.
Isso pode ser feito através de técnicas de criptografia de chave simétrica e assimétrica.
* Exemplo de algoritmo de criptografia *
José e João possuem negócios altamente sigilosos, sendo que toda informação que eles trocarem não pode ser compreendida por mais ninguém e ao mesmo tempo deve existir alguma garantia de que a mensagem não foi escrita por uma terceira pessoa. Combinaram então o seguinte código:
"para cada caractere do texto, deslocar 2 letras para a direita no alfabeto (ABCDEFGHIJKLMNOPQRSTUVWXYZ)"
Utilizando esse algoritmo João criptografa a frase: VIVA O LINUX.
Deslocando cada uma das letras 2 casas à direita temos:
V=X, I=K, V=X, A=C, O=Q, L=N, I=K, N=P, U=W, X=Z
A frase fica então "XKXC Q NKPWZ".
Esse método seria conhecido apenas por João e José, garantindo assim que qualquer outra pessoa que ler a mensagem não compreenda seu conteúdo (CONFIDENCIABILIDADE).
José sabe que além dele apenas João conhece o código. Após receber a mensagem, executa a decriptografia (voltar 2 letras para a esquerda de modo a recuperar a mensagem original); caso a frase faça sentido significa que foi enviada por alguém que conhece o código, ou seja, seu parceiro João (NÃO-REPÚDIO).