Upload
alison-ribeiro
View
6
Download
0
Embed Size (px)
DESCRIPTION
11 - seguranca_criptografia
Citation preview
Uma das ferramentas mais importantes
para a segurança da informação é a
criptografia.
Qualquer método que transforme
informação legível em informação
legível ilegível.
O fato é que todos nós temos informações que queremos
manter em sigilo:
Desejo de Privacidade.
Autoproteção.
Empresas também têm segredos.
Informações estratégicas.
Previsões de vendas.
Detalhes técnicos como produtos.
Resultados de pesquisa de mercado.
Arquivos pessoais.
Por que Criptografia ?
O papel da criptografia na segurança da informação
Mundo real
Se as fechaduras nas portas e janelas
da sua casa são relativamente fortes, a
ponto de que um ladrão não pode invadir
e furtar seus pertences …
… a sua casa está segura.
O papel da criptografia na segurança da informação
Mundo real
Para maior proteção contra invasores,
talvez você tenha de ter um sistema de
alarme de segurança.
A sua casa estará mais segura.
O papel da criptografia na segurança da informação
Mundo real
Se alguém tentar fraudulentamente
retirar dinheiro de sua conta bancária,
mas se o banco não confiar na história do
ladrão …
… seu dinheiro estará seguro.
O papel da criptografia na segurança da informação
Mundo real
Quando você assina um contrato, as
assinaturas são imposições legais que
orientam e impelem ambas as partes a
honrar suas palavras.
O papel da criptografia na segurança da informação
Mundo Digital
Confidencialidade ou Privacidade
Ninguém pode invadir seus arquivos e ler os
seus dados pessoais sigilosos (Privacidade).
Ninguém pode invadir um meio de comunicação
e obter a informação trafegada, no sentido de
usufruir vantagem no uso de recursos de uma
rede (confidencialidade).
O papel da criptografia na segurança da informação
Mundo Digital
A privacidade é a fechadura da porta.
Integridade refere-se ao mecanismo
que informa quando algo foi alterado.
Integridade é alarme da casa.
O papel da criptografia na segurança da informação
De algum modo a criptografia contribui
para resolver os problemas de:
confidencialidade,
privacidade,
integridade,
autenticação,
irretratabilidade,
disponibilidade.
O papel da criptografia na segurança da informação
Mas, de modo algum a criptografia é a
única ferramenta para assegurar a
segurança da informação.
Nem resolverá todos os problemas de
segurança.
Criptografia não é a prova de falhas.
O papel da criptografia na segurança da informação
Toda criptografia pode ser quebrada e ,
sobretudo, se for implementada
incorretamente, não agrega nenhuma
segurança real.
O que veremos: uma visão da criptografia,
focalizando a sua uitlização de forma
adequada.
O papel da criptografia na segurança da informação
Não se trata de uma análise completa de
tudo o que se deve conhecer sobre
criptografia.
Veremos as técnicas de criptografia
mais amplamente usadas no mundo
atual.
Significado da palavra “Criptografia”
A palavra criptografia vem das palavras gregas
que significam “escrita secreta”.
Kriptos (em grego) = Secreto + Grafia (de
escrever)
Criptografia = Escrita secreta.
Criar mensagens cifradas.
História de milhares de anos.
Jargões da Criptografia
Encripta (codifica, criptografa, cifra)
Decripta (decodifica, decriptografa,
decifra)
Criptografia
Possui emprego nas mais diferentes áreas
de atuação, mas em todas, tem o mesmo
significado: proteger informações
consideradas ‘especiais’ ou de qualidade
sensível.
Cifra de Cesar
A cifra de Cesar é uma das mais simples e
conhecidas técnicas de criptografia. É um tipo
de cifra de substituição na qual cada letra do
texto é substituída por outra representada no
mesmo alfabeto. A substituição ocorre
alterando a posição definida.
Cifra de Cesar
Por exemplo para que a substituição ocorra
no valor de 3 posições teríamos:
Texto Normal:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Texto Cifrado:
DEFGHIJKLMNOPQRSTUVWXYZABC
Cifra de Cesar
Perdurou por mais de 1000 anos e foi
descoberta pelos árabes
Depois vieram muitas outras cifras que
também foram quebradas.
2º Guerra Mundial
Em meados da 2º guerra mundial, foi criado uma
máquina chamada ENIGMA.
Muito parecida com uma máquina de escrever.
2º Guerra Mundial
Tinha uma variedade de combinações de
aproximadamente 1 SEXTILHÃO de possibilidade.
Muito usado pelos soldados alemães para se
comunicar durante a guerra.
Criptografia Baseada em Chaves
Texto Aberto
(PlainText)
Texto Fechado
(Ciphertext)
CRIPTOGRAFIA
DESCRIPTOGRAFIA
Criptografia por Chaves
Princípio: O resultado da criptografia depende de um parâmetro de entrada, denominado chave.
Exemplo. Caesar Cipher
Chave: N = número de letras deslocadas
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
Nada de novo
no front.
Qdgd gh qryr
qr iurqw.
N = 3
N = 4 Rehe hi rszs rs
jvstx.
Espaço das Chaves (KeySpace)
Uma chave é um valor específico do espaço de chaves (keyspace).
No exemplo anterior:
KS = 25
N = 3, é a chave específica.
Algoritmos Modernos:
Utilizam chaves binárias
O espaço de chaves depende do tamanho da chave
Dois tipos de Algoritmos:
Simétricos: KS 2tamanho_chave
Assimétricos: KS << 2tamanho_chave
Segurança =Tamanho do Espaço de Chaves
Exemplo: Algoritmo Simétrico
chaves de 128 bits: KS = 2128 chaves
KS = 3,4028 1038 chaves
Computador: capaz de avaliar
1 bilhões de chaves por segundo
= 3,1536 1016 chaves por ano
= 31,536 milhões de bilhões chaves por ano
Testaria todas as chaves em:
1,0781 1022 de anos
= 1,0781 1010 trilhões de anos
= 10,0781 bilhões de trilhões de anos
Criptografia Simétrica e Assimétrica
Dois sistemas de criptografia são usados atualmente:
Criptografia Simétrica ou de Chave Secreta
trabalha com uma única chave.
Chave secreta ou chave de sessão
Criptografia Assimétrica ou de Chave Pública
trabalha com um par de chaves
Chave pública
Chave privada
Chave Secreta (Criptografia Simétrica)
Texto
Simples
(plaintext)
Texto
Codificado
(ciphertext)
Texto
Simples
(plaintext)
Chave Secreta
Algoritmo de
Criptografia
Algoritmo de
Descriptografia
Chave Secreta=
DES – Data Encryption Standard
Um dos algoritmo de chave secreta mais difundido é o DES.
Originalmente Desenvolvido pela IBM.
Este algoritmo é padronizado pela ANSI, e foi adotado como algoritmo
oficial pelo governo americano.
DES criptografia blocos de 64 bits com chaves de 56 bits.
DES utiliza técnicas baseadas em permutação sucessiva de bits.
Modos de Operação
O DES possui vários modos de operação, dependendo da maneira como os blocos de 64 bits de uma mesma mensagem são criptografados.
Alguns exemplos são:
ECB: Electronic Codebook Mode
CBC: Cipher Block Chaining
Chave Pública = CRIPTOGRAFIA ASSIMÉTRICA
Sistema de Criptografia Assimétrico
Utiliza um par de chaves.
Uma chave publica para criptografar a mensagem.
Uma chave privada para descriptografar a mensagem.
A chave pública não é secreta.
A chave privada é secreta.
A chave pública deve ser distribuída para os usuário que desejarem enviar uma mensagem com segurança.
Chave Pública (Criptografia Assimétrica)
Texto
Simples
(plaintext)
Texto
Codificado
(ciphertext)
Texto
Simples
(plaintext)
Chave Pública Chave Privada
Algoritmo de
CriptografiaAlgoritmo de
Decriptografia
Chave Pública e Chave Secreta
Receptor
(servidor)
Transmissor
(cliente)
Chave privada
Chave pública
1
2
3
(chave secreta
aleatória)
4
(chave secreta
aleatória)
COMUNICAÇÃO
SEGURA
RSA (Rivest, Shamir, Adleman)
Sejam p, q e e números primos (> 512 bits). Calcula-se:
n = p.q e ed = 1 mod (p-1)(q-1)
As chaves são definidas da seguinte maneira:
Chave pública: (n,e) e Chave privada: d
Para criptografar uma mensagem “m” efetua-se a operação:
s = me mod n
Para decriptografar, efetua-se a operação:
m = sd mod n
RSA
O algoritmo RSA é muito mais lento que o DES, pois os cálculos efetuados são complexos.
Por utilizar números primos, o RSA precisa de chaves muito grandes para reproduzir o mesmo grau de segurança do DES.
Espaço de Chaves <<< 2tamanho_chave
As chaves em RSA são em geral da ordem de 1024 bits.
Assinatura Digital com Chave Pública
Permite ao receptor verificar a integridade da mensagem:
O conteúdo não foi alterado durante a transmissão.
O transmissor é quem ele diz ser.
Assinatura
digital
Chave privada
Algoritmo
de assinatura
digitalMensagem
isto é
segredo
Implementação da Assinatura Digital
ABFC01
FE012A0
2C897C
D012DF
41
DIGEST
F18901B
Algoritmo
de
Hashing
ASSINATURA
DIGITAL
ABFC01
FE012A0
2C897C
D012DF
41
Mensagem
com
Assinatura
Digital
MENSAGEM
aberta
ASSINATURA
criptografada
Algoritmo de
Cripografia
Geração e Validação das Assinaturas
xxxx
yyyy
zzzz
Assinatura
DigitalDIGEST
1B2A37...Criptografia com
chave privada
Algoritmo
de
Hashing
Rede
Assinatura
Digital
xxxx
yyyy
zzzz
DIGEST
Decriptografia
com chave
pública
DIGEST
Algoritmo
de
Hashing
COMPARAÇÃO
RECEPTORTRANSMISSOR
Verificação da Integridade da Mensagem
Transmissor
(A)Receptor
(B)
MENSAGEMASSINATURA
DIGITAL
CHAVE PRIVADA DE ACHAVE PÚBLICA DE A
O receptor precisa ter a chave
pública do transmissor para verificar
a assinatura.
Autoridade Certificadora
C.A.
(Certification
Authority)
I.D. do
Proprietário
Assinatura
Digital
Autoridade
Certificadora
(Verisign,
Certisign,
Etc.)
Chave pública (e.g., Banco do Brasil)
CHAVE
PRIVADA
I.D. da
CA
Certificado X509
www.bancodobrasil.com.br
Banco do Brasil S.A.
Brasilia, DF, Brasil
www.verisign.com
Verisign, Inc.
Estratégias de Certificação
O software que recebe o certificado (por exemplo, o browser) deve possuir a chave pública da autoridade certificadora.
Base
de
chaves
I.D. do
Proprietário
Assinatura
Eletrônica
I.D. da
Autoridade
Certificadora
VERISIGN: www.verisign.com
Off-line On-line
www.bancodobrasil.com.br
PKI (Public Key Infrastructure)
O termo PKI (Infraestrutura de chave pública) é utilizado para descrever o
conjunto de elementos necessários para implementar um mecanismo de
certificação por chave pública.
EMPRESA
A
EMPRESA
B
CA
(Autoridade
Certificadora)certificadoscertificados
Como a criptografia pode ser implementada?
Protolco de
Aplicação
FTP, SMTP, HTTP,
Telnet, SNM, etc.
TCP, UDP
Data Link
Ethernet, Token
Ring, FDDI, etc
IP
Física
Aplicações
Tecnologia
heterogênea
aplicação
transporte
rede
enlace
física
Seqüência de
empacotamento
SSL
SSL: Secure Sockets Layer
HTTP TELNET
SSL
TCP/IP
POP
80 110 23
HTTPs TELNETsPOPs
443 995 992
Sockets
Exemplo: HTTPS
CLIENTE SERVIDOR
SOCKS
SSL
>1023
>1023
SOCKS
SSL443
80
HTTP
HTTPS
Recurso
Não
Protegido
Recurso
Protegido
X
SSL e TLS
SSL: Secure Socket Layer
Definido pela Netscape
Versão atual: 3.0
TLS: Transport Layer Security
Definido pelo IETF
Versão atual: 1.0
RFC 2246 (Janeiro de 1999)
O TLS 1.0 é baseado no SSL 3.0, mas eles possuem diferenças que os tornam incompatíveis.
TLS
O TLS define dois sub-protocolos:
TLS Record Protocol
Utilizado para encapsular os protocolos das camadas superiores.
TLS Handshake Protocol
Utilizado para negociar o algorítmo e as chaves de criptografia antes que o primeiro byte da comunicação segura seja transmitido.
TLS
Os objetivos do TLS são:
Segurança criptográfica entre dois pontos.
Interoperabilidade
Fabricantes diferentes
Extensibilidade
Novos algorítmos de criptografia.
Eficiência:
CPU
Tráfego de rede.
Secure Socket Layer (SSL) e Transport Layer Security (TLS)
O SSL/TLS permite executar duas funções básicas:
autenticação entre o cliente e o servidor.
criptografia na troca de mensagens.
SSL/TLS
O cliente se autentica para o servidor (opctional)
O servidor se autentica para o cliente (obrigatório)
Identificação
do CA
Autenticação do Servidor
SSL/TLS permite ao usuário confirmar a identidade do servidor.
SSL
Identificação do
Servidor
Chave pública
do servidor
Assinatura Digital
de uma CA
Autenticação do Cliente
SSL permite ao servidor identificar a identidade do cliente.
SSL
Identificação
do CA
Identificação do
Cliente
Chave pública
do Cliente
Assinatura Digital
de uma CA
Criptografia da Comunicação
Após a certificação, o SSL/TLS cria uma chave de sessão que garante:
Confidencialidade e Proteção contra Tampering (alteração dos dados em transito).
info(chave secreta
aleatória)
info(chave secreta
aleatória)
Algoritmos Padronizados para SSL/TLS
Strongest cipher suite.
Triple DES (168-bit encryption com autenticação)
Strong cipher suites
RC4, criptografia de 128-bits (utiliza o MD5 para autenticação)
é o mais rápido da categoria
RC2, criptografia de 128-bits (utiliza o MD5 para autenticação)
DES, que suporta criptografia de 56-bits (utiliza o SHA-1 para
autenticação).
Conclusão
Algoritmos modernos são baseados no conceito de chaves.
Algoritmos assimétricos são lentos e unidirecionais.
Algoritmos simétricos são rápidos e bidirecionais.
SSL é um mecanismo para negociação de algoritmos e chaves de criptografia.
SSL é implementado nas aplicações através de uma biblioteca de sockets estendida.