Segurança & Auditoria de Sistemas AULA 06 Eduardo Silvestri .
Segurança e auditoria de sistemas
description
Transcript of Segurança e auditoria de sistemas
Segurança e auditoria de sistemas
Carlos Oberdan Rolim
Ciência da ComputaçãoSistemas de informação
Criptografia
* Créditos: Prof. Dr.Edgar Jamhour - PUC Parana
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
MODO ECB
DADOS
BLOCO 64 bits
CRIPTOGRAFIA
BLOCO 64 bits(cipher text)
BLOCO 64 bits
CRIPTOGRAFIA
BLOCO 64 bits(cipher text)
BLOCO 64 bits
CRIPTOGRAFIA
BLOCO 64 bits(cipher text)
O Modo ECB divide a mensagem em blocos de 64 bits, e criptografa cada bloco de maneira independente.
MODO CBC
DADOS
BLOCO 64 bits
CRIPTOGRAFIA
BLOCO 64 bits(cipher text)
BLOCO 64 bits
CRIPTOGRAFIA
BLOCO 64 bits(cipher text)
XOR
BLOCO 64 bits
CRIPTOGRAFIA
BLOCO 64 bits(cipher text)
XOR
O Metodo CBC torna a criptografia de um bloco dependente do bloco anterior.
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úblicaChave Pública Chave PrivadaChave Privada
Algoritmo de Algoritmo de CriptografiaCriptografia
Algoritmo de Algoritmo de DecriptografiaDecriptografia
Chave Pública e Chave Secreta
Receptor(servidor)
Transmissor(cliente)
Chave privada
Chave pública
11
22
33
(chave secreta aleatória)
44
(chave secreta aleatória)
COMUNICAÇÃO COMUNICAÇÃO SEGURASEGURA
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 Assinatura digitaldigital
Chave privada
Algoritmode assinatura
digitalMensagemMensagem
isto é isto é segredosegredo
Implementação da Assinatura Digital
ABFC01FE012A02C897CD012DF41
DIGEST
F18901BF18901B
Algoritmo de
Hashing
ASSINATURA DIGITAL
ABFC01FE012A02C897CD012DF41
Mensagem com
Assinatura
Digital
MENSAGEM
aberta
ASSINATURA
criptografada
Algoritmo de Cripografia
Geração e Validação das Assinaturas
xxxxyyyyzzzz
Assinatura Assinatura DigitalDigital
DIGEST
1B2A37...Criptografia com chave privada
Algoritmo Algoritmo de de
HashingHashingRede
Assinatura Assinatura DigitalDigital
xxxxyyyyzzzz
DIGESTDIGEST
Decriptografia com chave
pública
DIGESTDIGEST
Algoritmo Algoritmo de de
HashingHashing
COMPARAÇÃO
RECEPTORTRANSMISSOR
Verificação da Integridade da Mensagem
Transmissor(A)
Receptor(B)
MENSAGEMASSINATURA
DIGITAL
CHAVE PRIVADA DE A CHAVE PÚBLICA DE A
O receptor precisa ter a chave O receptor precisa ter a chave pública do transmissor para verificar pública do transmissor para verificar
a assinatura.a assinatura.
Autoridade Certificadora
C.A.C.A.(Certification (Certification
Authority)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.brBanco do Brasil S.A.Brasilia, DF, Brasil
www.verisign.comVerisign, 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.
Basede
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.brwww.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 LinkEthernet, 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
SSLSSL
TCP/IPTCP/IP
POP
8080 110110 2323
HTTPs TELNETsPOPs
443443 995995 992992
SocketsSockets
Exemplo: HTTPS
CLIENTE SERVIDOR
SOCKS
SSL
>1023
>1023
SOCKS
SSL443
80
HTTP
HTTPS
RecursoNão
Protegido
RecursoProtegido
XX
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.
SSL/TLS
SSL Record Protocol
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/TLSSSL/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.
SSLSSL
Identificação do Servidor
Chave pública do servidor
Assinatura Digital de uma CA
Certificados de Servidor
Autenticação do Cliente
SSL permite ao servidor identificar a identidade do cliente.
SSLSSL
Identificação do CA
Identificação do Cliente
Chave pública do Cliente
Assinatura Digital de uma CA
Certificados de Cliente
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).
infoinfo(chave secreta aleatória)
infoinfo(chave secreta aleatória)
TLS Handshake
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.