Apostila de como fazer e usar certas técnicas de criptografia utilizando dos preceitos e teorias mais conhecidos no mercado. Vários capítulos descrevem e demonstrar como fazer toda a parte criptográfica desde os simples métodos até os mais complicados. Não cobre tudo, mas ajudo muito.
2. Criptografia
O termo Criptografia surgiu da fusão das palavras
gregas "Kryptos" e "gráphein", que significam
"oculto (escondido)" e "escrever (grafia)",
respectivamente.
Trata-se de um conjunto de conceitos e técnicas que
visa codificar uma informação de forma que
somente o emissor e o receptor possam acessa-la,
evitando que um intruso consiga interpreta-la.
A RFC 2828 define criptografia como a ciência
matemática que lida com a transformação de dados
para mudar seu significado am algo ininteligível
para o inimigo, isto é, esconder seu conteúdo
semântico prevenindo sua alteração ou seu uso sem
autorização.
3. Utilidade
Meio efetivo de proteção de informações
suscetíveis a ataques.
A criptografia tem quatro objetivos
principais:
Confidencialidade da mensagem
Integridade da mensagem
Autenticação do remetente
Não-repúdio do remetente
4. Como funciona
O processo de criptografia consiste em transformar um
texto simples, através de uma função parametrizada por
uma chave (senha), em um texto inteligível.
A saída desse processo de criptografia é chamado texto
cifrado ou criptograma.
Após o processo de criptografia, o texto é então
transmitido ao destinatário. Este conhece o método
utilizado para a criptografia e também conhece a chave,
possibilitando a transformação do texto criptografado
em texto simples novamente.
Se a mensagem for interceptada por alguém, será
necessário descobrir a chave de criptografia bem como
o seu método, para que se possa utilizar a mensagem
capturada.
5. Criptografia
Os métodos de criptografia podem ser
divididos em duas categorias:
Cifra de substituição: cada letra ou grupo de
letras e substituído por outra letra ou grupo de
letras, a fim de oculta-la.
Ex: deslocamento de k letras em um texto. K torna-se
a chave para o método de criptografia.
Cifra de transposição: as letras são reordenada
mas não ocultas.
Ex: EXEMPLIFIQUE XEMELPFIQIEU
6. Tipos de Criptografia
Simétrica
Os usuários envolvidos devem ter prévio conhecimento
da chave (senha). Isso a torna muito vulnerável a
falhas de segurança.
Assimétrica
Existem duas chaves relacionadas entre si (a pública e a
privada). Qualquer texto encriptado com uma delas
somente poderá ser decriptado com a outra.
7. Criptografia por chave simétrica
Nessa técnica uma mesma chave (senha) é
utilizada para criptografar e decriptografar
uma mensagem que, portanto, deve ser de
conhecimento tanto do emissor como do
receptor da mensagem.
Em cifradores simétricos, o algoritmo de
criptografia e descriptografia são os mesmos,
mudando apenas a forma como são utilizadas
as chaves.
8.
9. Exemplos (chave simétrica)
DES (Data Encryption Standard): criado pela IBM em
1977, faz uso de chaves de 56 bits. Isso corresponde a 72
quadrilhões de combinações.Em 1997, ele foi quebrado
por técnicas de "força bruta" (tentativa e erro) em um
desafio promovido na internet;
IDEA (International Data Encryption Algorithm):
criado em 1991 por James Massey e Xuejia Lai, o IDEA é
um algoritmo que faz uso de chaves de 128 bits e que tem
uma estrutura semelhante ao DES.
RC (Ron's Code ou Rivest Cipher): criado por Ron
Rivest, esse algoritmo é muito utilizado em e-mails e faz
uso de chaves que vão de 8 a 1024 bits. Possui várias
versões: RC2, RC4, RC5 e RC6. Essencialmente, cada
versão difere da outra por trabalhar com chaves maiores.
E outros.
10. *Chave
O tamanho da chave é muito importante para a segurança
dos algoritmos simétricos.
Uma chave de “40 bits de tamanho” significa que existem
240 chaves possíveis.
Quanto mais bits forem utilizados, mais segura será a
criptografia.
Atualmente, para se obter um bom nível de segurança na
utilização do método de criptografia de chave única, é
aconselhável utilizar chaves de no mínimo 128 bits. E
para o método de criptografia de chaves pública e privada
é aconselhável utilizar chaves de no mínimo 1024 bits.
Dependendo dos fins para os quais os métodos
criptográficos serão utilizados, deve-se considerar a
utilização de chaves maiores: 256 ou 512 bits para chave
única e 2048 ou 4096 bits para chaves pública e privada.
11. A criptografia por chave assimétrica (ou
chave pública) utiliza um par de chaves,
sendo uma chave para cifrar a informação e
uma outra chave diferente para decifrar a
informação.
Criptografia por chave assimétrica
12. A chave pública é de conhecimento público e a chave
privada deve ser mantida em segredo.
Mensagens cifradas com a chave pública só podem ser
cifradas com a chave secreta e vice-versa.
13. O Processo:
1. O emissor escreve uma mensagem e a criptografa
utilizando a chave pública do receptor;
2. O emissor envia a mensagem através de um meio
qualquer, por exemplo a Internet, para o receptor;
3. O receptor recebe a mensagem e a descriptografa
utilizando a chave privada que só ele conhece;
4. O receptor lê a mensagem e se quiser responder
ao emissor deverá fazer o mesmo procedimento
anterior, com a diferença de que dessa vez a chave
pública do emissor é que será utilizada.
14. RSA (Rivest, Shamir and Adleman): criado em 1977 por
Ron Rivest, Adi Shamir e Len Adleman nos laboratórios do
MIT (Massachusetts Institute of Technology), é um dos
algoritmos de chave assimétrica mais usados.
Nesse algoritmo, números primos são utilizados da seguinte
forma: dois números primos são multiplicados para se obter
um terceiro valor. Porém, descobrir os dois primeiros
números a partir do terceiro (ou seja, fazer uma fatoração) é
muito trabalhoso.
Se dois números primos grandes (realmente grandes) forem
usados na multiplicação, será necessário usar muito
processamento para descobrí-los, tornando essa tarefa quase
sempre inviável.
Basicamente, a chave privada no RSA são os números
multiplicados e a chave pública é o valor obtido.
E outros.
Exemplo (chave assimétrica)
15. Exemplo
Exemplos que combinam a utilização dos métodos de criptografia de
chave única e de chaves pública e privada são as conexões seguras,
estabelecidas entre o browser de um usuário e um site, em transações
comercias ou bancárias via Web.
Estas conexões seguras via Web utilizam o método de criptografia de
chave única, implementado pelo protocolo SSL (Secure Socket Layer). O
browser do usuário precisa informar ao site qual será a chave única
utilizada na conexão segura, antes de iniciar a transmissão de dados
sigilosos.
Para isto, o browser obtém a chave pública da instituição que mantém o
site. 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, aumentando assim o nível de segurança
de todo o processo.
17. Esteganografia
A palavra esteganografia vem do grego e significa
“escrita coberta”.
É um ramo da criptografia que consiste em fazer
com que uma mensagem seja ininteligível, mas
sem camufla-la, mascarando a sua presença.
Por exemplo: uma seqüência de letras de cada
palavra pode formar a palavra de uma mensagem
escondida.
18. Um exemplo básico de técnica moderna de
esteganografia é a alteração do bit menos
significativo de cada pixel de uma imagem colorida
de forma a que ele corresponda a um bit da
mensagem. Essa técnica, apesar de não ser ideal,
pouco afeta o resultado final de visualização da
imagem.
Os dois métodos (criptografia e esteganografia)
podem ser combinados para aumento da segurança.
Esteganografia
19. Esteganografia
Se a imagem for interceptada, primeiro será
necessário descobrir a mensagem oculta entre os
bits da imagem, e, somente após isso, poderá
ocorrer a tentativa de descriptografia..