A criptoanálise é a ciência que estuda técnicas de descodificar código encriptado, descobrir vulnerabilidades/quebrar os algoritmos de criptografia, descobrir a chave do algoritmo ou descodificar as mensagens sem conhecer a chave.
Esta ciência não é apenas
usada por pessoas mal-intencionadas mas também por pessoas que desejam conhecer as
vulnerabilidades de uma cifra/algoritmo para que as possam proteger de
ataques mais graves.
Ao conjunto da criptografia e da cripto-análise, designa-se criptologia.
Atualmente, a segurança dos dados tornou-se cada vez mais importante, desde mensagens de email, informação bancária, empresarial, etc.
A criptografia deve ser usada sempre que há
informação importante a ser enviada através de um meio que pode ser acedido por
qualquer um, deste modo tornou-se uma peça fundamental da transmissão de informação na Web atual
pois diariamente passa inúmeras informações importantes.
Nós
estamos habituados a utilizar a
criptografia diariamente em vários sítios embora raramente se tenha noção
disso como por exemplo na informação que navega entre o nosso PC e o router wi-fi lá
de casa, se por algum motivo vocês conseguissem ver os caracteres que
viajam pelo ar das nossas casas não seria possível de ler pois o mesmo vai criptografado.
História da Criptografia
- A criptografia existe desde a antiguidade, Século 1900 a.C., quando um escriva Egípcio, utilizou hieróglifos egípcios diferentes dos utilizados normalmente.
- no Sec. XIX começou-se a encarar como ciência, arte de proteger a informação, transformando-a num formato ilegível, acessível apenas a quem tivesse a chave do código.
- Avanços relevantes da criptografia aconteceram em tempos de guerra.
Em tempo de guerra é importante que uma ordem de ataque ou movimentação não seja interceptado pois pode comprometer o mesmo ataque.
Visualização do vídeo - Cifra César e Máquina Enigma
https://www.youtube.com/watch?v=VMJeDLv2suw (Museu UnivFRGS Brasil)
A criptografia já é conhecida desde à vários séculos muitas vezes
associadas as práticas militares. As primeiras mensagens
criptografadas consistiam na substituição de simples caracteres de uma mensagem
ou de um determinado modo de adulterar as posições do caracteres de modo a que
não fosse possível ler o texto sem o reordenar de uma dada forma.
Desde então a arte da
criptografia e criptoanálise tem estado sempre a par das mais variadas
tecnologias, iremos descrever então aqui as duas grande vertentes da
criptografia na história.
(a)
Criptografia Clássica
A criptografia clássica tal
como o nome indica é a criptografia mais antiga conhecida pelo homem. Esta
técnica andava de mão dada com as atividades militares e a sua força contra
possíveis ataques dependiam unicamente do secretismo, isto é, do conhecimento
do algoritmo necessário para a desencriptação da mensagem.
Um dos mais antigos algoritmos de codificação/cifragem conhecidos e talvez também o mais simples de perceber nesta
fazer é a Cifra de César que foi
chamada assim em homenagem ao imperador Romano que imperava na Época.
Mensagem
antes de Codificar/Cifrar:
“O meu primeiro Criptograma”
Mensagem
após a Descodificar/Cifragem:
“R PHX
SULPHLUR FULSWRJUDPD”
(b)
Criptografia Moderna - Máquina Enigma
O nascimento da criptografia moderna foi durante a segunda
guerra mundial. Numa era tensa em que a informação sobre possíveis alvos/bases
era cada vez mais crucial de manter secreta foi necessário o desenvolvimento
algo capaz de fazer esse trabalho.
Foi nesse
caso que os Alemães se destacaram e desenvolveram
uma máquina conhecida por “Enigma” que não era mais que uma máquina de
Rotores em que cada Rotor fazia algo tão simples como a substituição
de uma letra por outra tal como na cifra de César apresentada
anteriormente.
Então
o que fez esta máquina tão especial?
O “Enigma” tinha a vantagem de ter vários rotores colocados em paralelo (inicialmente 3) e numerados em numeração Romana de I a III e era garantido que o substituto de cada carácter era diferente em cada Rotor. De seguida o sujeito que escrevia a mensagem deveria inserir num mecanismo de existente na máquina que servia para escolher a posição de arranque dos rotores, ou seja, esta seria a chave da mensagem e como tal deveria ser partilhada entre os dois interlocutores.
De modo a tornar esta máquina o
mais segura possível o rotor era alterado a cada tecla premida voltando ao
rotor I no após o III (no caso da maquina de 3 rotores). Este tipo de técnica
embora tenha sido muito avançada para a época tinha um enorme perigo que seria
o caso de duas mensagens iguais serem interceptadas seria possível ver a relação
entre o 1º e 3º, 2º e 5º caracter e assim sucessivamente.
Devido a este facto mais tarde
foram introduzidas no exército máquinas com 4 e 5 rotores tornando mais difícil
a percepção de mensagens interceptadas.
Durante a
segunda guerra mundial o exército Inglês
juntamente com o Francês tinha uma unidade especial para decifrar as
mensagens intercetadas provenientes do Enigma de seu nome Ultra, ainda hoje há quem afirme que a
unidade Ultra conseguiu a decifragem mas devido ao secretismo do seu sucesso os
Alemães
nunca o souberam e continuando a usar o Enigma dando assim uma enorme
vantagem aos aliados o que pode ter levado à vitória.
O matemático inglês Alan Turing e sua equipe foram os responsáveis por descodificar o “Enigma”, máquina nazista que enviava códigos às suas lideranças armadas durante a Segunda Guerra Mundial. Estima-se que a descoberta tenha reduzido a guerra em dois anos e evitado a morte de 14 milhões de pessoas. O longa resgata todo esse processo e também destaca o trabalho de colaboradores de Turing, como a criptoanalista Joan Clarke. O trabalho do matemático ainda lançou as bases para os computadores atuais.
Na imagem seguinte podemos ver uma mensagem cifrada pelo “Enigma”, intercetada pelo Ultra onde é possível ver o texto descodificado/cifrado e escrito no lado direito da mesma a lápis um conjunto de 3 caracteres que são o finger wheels escolhidos inicialmente como chave.
FILME O Jogo da Imitação - 2014
Na Segunda Grande Guerra, Turing e a sua equipa ajudaram os Aliados a descodificar o código Enigma, que os nazis utilizavam para comunicar secretamente.
Conceitos da Criptografia
Texto
Limpo - texto legível
Nesta área o
termo texto limpo é sinónimo ao texto
legível que é obtido antes e depois da cifragem. No exemplo dado no artigo anterior o nosso texto limpo é “O meu primeiro
Criptograma”.
Criptograma - texto encriptado
Já o termo criptograma é o termo utilizado para se referir ao texto obtido após o encriptação, ou seja, é o texto encriptado.
No artigo anterior o nosso criptograma é “L IBR MOFIBFOL
ZOFMQLDOVIV”.
Algoritmo
O algoritmo matemático utilizado na encriptação/desencriptação, transforma o texto limpo num criptograma (texto encriptado).
Algoritmo de César: foi o processo substituição
de letras
Chave - é o segredo da criptografia e é partilhado entre ambas a partes que estão a comunicar sem a qual é impossível reverter o criptograma para texto limpo.
Chave de César - 3 posições de letras à direita
Chave doEnigma: posição inicial dos motores
Se se lembram no caso do Enigma havia 3 rotores
que eram colocados numa determinada posição inicial sem a qual era impossível
saber o que estava escrito no criptograma. A posição inicial desses 3 rotores era nesse caso a chave de algoritmo.
Para que existe criptografia deve existir sempre um algoritmo e a respetiva chave
-->CRIPTOGRAFIA SIMÉTRICA (chave única)
O problema da chave simétrica está em sua distribuição. Pois imagine que o João tenha criado a chave e precisa que ela seja entregue à Maria. Para isso, a chave é enviada através da rede em texto puro.
Quando a chave é enviada, esta corre o risco de ser capturada no meio do caminho, assim possibilita que uma pessoa não autorizada tenha acesso a chave.
- DES (Data Encryption Standard)
- O DES é um mecanismo de cifragem tradicional ("simétrico) desenvolvido nos anos setenta
- 3DES (Triple Data Encryption Standard) ,
- AES(Advanced EncryptionStandard) e RC4
- Rivest Ciphers (RC2; RC4 e RC5)
- Esta é uma sucessão de algorimos bastante usados na atualidade que possuem maior flexibilidade e possibilitam maior segurança do que o DES simples.
- IDEA (International Data Encryption Algoritmo)
- É mais uma técnica de codificação simétrica em bloco que é usada na atualidade. Usa blocos fixos com 64 bits (8 bytes) e usa chaves com 128 bits (16 bytes).
- BLOWFISH
- É um algoritmo simétrico conhecido pela sua velocidade, sendo bastante mais rápido do que o RC2 e o IDEA. Usa blocos fixos com 64 bits (8 bytes), mas as chaves podem ter qualquer comprimento (128 bits é o mais corrente na atualidade).
Estes algoritmos que usam criptografia
simétrica são
Ø Mais simples
Ø mais rápidos,
Ø não são tão seguros como os que usam criptografia
assimétrica, uma vez que a chave usada para codificar a informação é partilhada.
Ø Usada para grandes volumes
de dados
-->CRIPTOGRAFIA
ASSIMÉTRICA
( 2
chaves)
Chave Pública – será partilhada com alguém que quer comunicar
e a Chave Privada – é privada, não pode ser partilhada
A Chave Pública – será utilizada para encriptar os dados
e a Chave Privada – será utilizada para desencriptar os dados.
Os dados encriptados com chave pública só poderão ser desencriptados pela chave privada do mesmo par.
Funcionamento
Exemplo: Maria quer enviar dados e informa João! João irá gerar as 2 chaves, uma chave pública e outra chave privada.
Algoritmos utilizados em criptografia assimétrica
Chaves Diffie-Hellman
Em 1976, Diffie e Hellman [DIF 76] mudaram os rumos da criptografia com a criptografia assimétrica
RSA
Em 1977, Rivest, Shamir e Adleman desenvolveram um algoritmo assimétrico denominado RSA
Criptografia assimétrica
Øé mais segura pois usa 2 chaves
Ø utiliza algoritmos mais complexos
Ø processo de criptografia mais lento
CURISIDADE
Segurança do Algoritmo Assimétrico |
-->CRIPTOGRAFIA HÍBRIDA - criptografia simétrica e assimétrica
https://www.youtube.com/watch?v=I3qEH3zIDr0 examBR
A utilização das 2 criptografias
garante maior rapidez e segurança
v
Em Websites de compras online com envio de dados bancários
utiliza-se a criptografia simétrica e
assimétrica
Conclusão: neste caso a
Ø Criptografia simétrica (CS)
é usada para encriptar e desencriptar os dados e a
Ø Criptografia assimétrica é usada para encriptar a chave simétrica (chave pública) /desencriptar a
chave simétrica
FUNCIONAMENTO
Criptografia quântica: o futuro
A “assinatura digital qualificada” permite garantir a autenticidade da assinatura de um documento digital.
Uma assinatura digital possui certificados digitais associados que asseguram a identidade de quem assina um documento digital, ou seja, assegura a autenticidade da assinatura de um documento digital. https://www.autenticacao.gov.pt/web/guest/assinatura-digital/assinatura-digital-qualificada
Assinatura Digital utiliza
criptografia
assimétrica + algoritmo Hash (resumo do documento)
Site anterior e este https://www.youtube.com/watch?v=o-TPSs65fYU prof. Léo Matos -
Estúdios Aulas
A tradução da palavra hash quer dizer "picar, misturar, confundir".
A função/algoritmo Hash é usado em conjunto com a criptografia assimétrica para garantir a integridade de um documento digital.
A criptografia assimétrica é utilizada para garantir a autenticidade
chave privada é
utilizada para encriptar o hash do documento
chave pública para desencripta o hash do documento
Assinatura DIGITAL
Ø não encripta o documento por isso não garante a confidencialidade/sigilo
Ø Integridade - garantia que o documento não é modificado (assegurado pelo HASH)
Ø o uso da chave privada garante que há
· Autenticidade: garantia de quem é o autor do documento
· Não-repúdio - garante que o autor não pode repudiar a autoria do documento
Uma assinatura digital precisa de uma certificação
digital que terá que ser adquirida numa Autoridade Certificadora (CA)
Assinatura digital é utilizada:
· Assinatura de contratos
· Prescrições e atestados médicos
· Procurações e processos digitais
· Declaração fiscais
Assinaturas manuscritas digitalizadas em Papel
versus Assinatura DIGITAIS
Public Key
Infrastructure (PKI) - Infra-estrutura
de Chave Pública
O
Public Key Infrastructure (PKI) tem como objectivo resolver esta
questão, através da existência de uma terceira
entidade idónea, aceite por todos as partes do sistema, o Certificate Authority (CA).
O CA associa uma chave
pública ao verdadeiro proprietário através de um certificado de chave pública.
Autoridade de Certificação (Certification Authority - CA)
Todas
as entidades do sistema possuem um par de chaves pública-privada
e o respectivo certificado
da chave pública.
O
próprio CA possui um par de chave pública – privada e o certificado.
Os
certificados do CA são utilizados para que as entidades possam verificar que
os seus próprios certificados e das outras entidades são válidos e porque CA
foram emitidos.
Tipos de certificados digitais
Podemos classificar os certificados digitais quanto à
sua natureza e finalidade.
Assim temos:
- Certificados
de CAs - assinados pela própria
CA ou por outra CA; são utilizados para validar outros certificados;
- Certificados
de servidor - apresentam a
designação da organização em causa e do DNS do servidor, tendo por
objetivo identificar servidores
seguros;
- Certificados
de programadores ou developers - usados para permitir a validação de assinaturas em aplicações
de software;
- Certificados
pessoais - como os utilizados
para comunicações ou transações via correio electrónico.
--> HTTPs
Protocolo SSL/TLS – utiliza chaves simétricas e assimétricas para criptografia dos dados
https://4future.com.br/index.php/2021/10/17/criptografia-como-funciona-o-https/
O TLS funciona usando uma técnica chamada criptografia de chave pública (assimétrica), que se baseia em um par de chaves — uma chave pública e uma chave privada.
- Qualquer coisa encriptada com a chave pública pode ser desencriptada apenas com a chave privada
- Qualquer coisa encriptada com a chave privada pode ser desencriptada apenas com a chave pública
VERIFICAR
NÍVEL DE SEGURANÇA DE UM SITE
Site https://securityheaders.com/
www.novobanco.pt segurança nível A
Tutorial: Two-Way SSL Mutual Authentication https://www.youtube.com/watch?v=x7B5CwcxCDI
- Cliente conecta-se ao servidor
- Servidor apresenta seu certificado TLS (certificado de chave pública)
- O cliente verifica o certificado do servidor
- Cliente apresenta seu certificado TLS
- O servidor verifica o certificado do cliente
- Servidor concede acesso
- Cliente e servidor trocam informações por conexão TLS criptografada
Criação de pares de chaves pública e privada - OpenSSL
https://support.google.com/a/answer/6342198?hl=pt-BR
A ferramenta OpenSSL de código aberto é uma das mais usadas para criação de pares de chaves pública e privada.
utilizada nas principais plataformas e fornece uma interface de linha de comando simples para a geração de chaves.
Criar a chave privada RSA
A geração da chave privada RSA com o OpenSSL tem apenas uma etapa:
openssl genrsa -out rsaprivkey.pem 2048
Certificado
criar um certificado assinado usando uma chave privada RSA
openssl req -new -x509 -key dsaprivkey.pem -out dsacert.pem
Criar uma assinatura digital de certificado
Alguns aplicativos exigem uma assinatura digital de certificado X.509 em vez do próprio certificado X.509.
Uma assinatura digital é um resumo do certificado no formato binário x509. O tipo de assinatura digital depende do algoritmo usado para gerá-la, como SHA-1 ou SHA-256.
Para criar uma assinatura digital SHA-256 de um certificado X.509, use o seguinte comando (substitua o arquivo .pem pelo nome do seu certificado real):
openssl x509 -noout -fingerprint -sha256 -inform pem -in "GoogleIDPCertificate-domain.com.pem"
Sem comentários:
Enviar um comentário