Anda di halaman 1dari 19

Ricardo Queiroz 05/04/2018

Segurança e Auditoria
Segurança em Redes de
Computadores
Forouzan, Behrouz A.
Comunicação de Dados e Redes de
Computadores
(Adendos: Tanenbaum e Kurose)

Ricardo Queiroz

Segurança em Redes de Computadores


Cenário
 Segurança: Privacidade, Integridade, Autenticação e Não repúdio
 Segurança no TCP/IP
 Criptografia
 Simétrica
 Assimétrica
 Assinatura Digital
 Gerenciamento de Chaves
 Certificação Digital
 IP Security - IPSec
 Transport Layer Security - TLS
 Socket Security Layer - SSL
 Pretty Good Privacity - PGP
 Virtual Private Network - VPN
 Firewall + Proxy

Ricardo Queiroz Segurança em Redes de Computadores

Segurança e Auditoria 1
Ricardo Queiroz 05/04/2018

Segurança da Informação - Propriedades da


Comunicação Segura
Confidencialidade (Privacidade)
 Somente remetente e destinatário devem ter conhecimento do
conteúdo da mensagem
 Como? (Criptografia)

Autenticação
 Deve ser possível confirmar a identidade de ambas as partes
 Como? (Assinatura Digital e Protocolos de Autenticação)

Integridade
 O conteúdo da mensagem não pode ser alterado sem permissão, ou
seja, os dados devem chegar ao remetente intactos
 Como? (Sumário de Mensagens e Assinatura Digital)

Não Repúdio
 Ao destinatário deve ser possível provar que a informação veio de um
determinado remetente
 Como? (Assinatura Digital)

Ricardo Queiroz Segurança em Redes de Computadores

Criptografia
Introdução
 Criptologia
 Criptoanálise
 Criptografia
 Princípios Fundamentais da Criptografia
 Redundância
 Toda mensagem criptografada deve incluir informações
redundantes
 Atualidade
 A mensagem deve poder ser confirmada como atual
 Idéia da Criptografia
 Utilizar símbolos ou códigos para substituir os caracteres da
mensagem original por um padrão não inteligível
 Princípio de Kerckhoff e Segurança pela Obscuridade

Ricardo Queiroz Segurança em Redes de Computadores

Segurança e Auditoria 2
Ricardo Queiroz 05/04/2018

Componentes
Criptografia
 A mensagem original é denominada texto limpo ou texto em
claro
 Após a transformação a mensagem passa a ser conhecida
como texto cifrado, texto criptografado ou criptograma
 Cifras
 Algoritmos de cifragem e algoritmos de decifragem que utilizam
chaves para transformar o texto limpo em texto cifrado

Ricardo Queiroz Segurança em Redes de Computadores

Criptografia
Detalhamento
 Cifras
 Substituição
 Monoalfabética (Cifra de César): 1 – 1
 Polialfabética: 1 – N
 Transposição
 Por Blocos
 Algoritmos de Criptografia
 Criptografia Clássica
 Criptografia com Chave Simétrica
 Criptografia com Chave Pública

Ricardo Queiroz Segurança em Redes de Computadores

Segurança e Auditoria 3
Ricardo Queiroz 05/04/2018

Tipos Básicos de Cifras (1)


Cifras de Substituição
 Funcionamento
 Esse tipo de cifra permuta cada símbolo do texto limpo por
outro
 Classificação…
 Substituição Monoalfabética
 Um caractere no texto limpo sempre é substituído pelo
mesmo caractere no texto cifrado não importando sua
posição no texto limpo
 Exemplo com chave = desloque 3

Ricardo Queiroz Segurança em Redes de Computadores

Tipos Básicos de Cifras (2)


Cifras de Substituição
 Classificação…
 Substituição Polialfabética
 Cada ocorrência de um caractere pode ter um substituto
diferente
 A correspondência entre um caractere do texto limpo e um
do texto cifrado é de um para muitos
 Exemplos
» Tome a posição do caractere, a ser substituído, no texto
limpo, divida o número por 10 e use o valor do resto da
divisão como valor de deslocamento
» Cifra de Visgenère
 Exemplo de Texto Claro e Cifrado

Ricardo Queiroz Segurança em Redes de Computadores

Segurança e Auditoria 4
Ricardo Queiroz 05/04/2018

Tipos Básicos de Cifras (3)


Cifras de Transposição…
 Os caracteres permanecem na forma original do texto limpo
mas mudam de posição através de permutações para criar o
texto cifrado
 O texto é organizado em uma matriz bidimensional e as
colunas são permutadas de acordo com o valor da chave

Ricardo Queiroz Segurança em Redes de Computadores

Tipos Básicos de Cifras (4)


Cifras de Transposição
 A chave define quais colunas devem ser permutadas
 Como podemos ver, a criptografia por transposição não é
muito segura
 A freqüência dos caracteres é preservada
 Esse método é combinado com outros métodos para produzir
esquemas de cifras seguros
 O texto limpo pode ser determinado por força bruta

Ricardo Queiroz Segurança em Redes de Computadores

Segurança e Auditoria 5
Ricardo Queiroz 05/04/2018

Cifra por Bloco (1)


Definição
 Os bits da mensagem a ser cifrada são agrupados em blocos
e um algoritmo de cifragem gera blocos de bits onde ambos
não necessariamente do mesmo tamanho
 Tipos…
 P-Box
 Uma P-Box realiza uma transposição no nível de bit
 O texto limpo e o cifrado possuem a mesma quantidade de
1’s e 0’s

Ricardo Queiroz Segurança em Redes de Computadores

Cifra por Bloco (2)


Tipos
 S-Box
 Além de operar sobre substituições com grupos de bits também
trabalha com substituições no nível de bit e transpõe os bits
permutados
 A S-Box substitui um dígito decimal por outro
 Utiliza normalmente três componentes: um codificador, uma P-
Box e um decodificador
 O decodificador gera 2n saídas a partir de n bits de entrada
 Cada saída possui apenas um dígito 1 os restantes são 0’s
 A P-Box permuta a saída do decodificador e o codificador
converte a saída da P-Box de volta para o código binário cifrado
com a mesma quantidade de bits encontrada na entrada
 Por exemplo
 O número 2 (010) seria 00000100 após o decodificador
 Após a P-Box teríamos 01000000
 No final o resultado seria 110 (6)

Ricardo Queiroz Segurança em Redes de Computadores

Segurança e Auditoria 6
Ricardo Queiroz 05/04/2018

Criptografia com Chave Simétrica (1)


Detalhamento
 A mesma chave é usada para cifrar e decifra a mensagem
 A chave é compartilhada

 O algoritmo de decifragem é recíproco do algoritmo de


cifragem
 Se o algoritmo de cifragem usa uma combinação de operações
de adição e multiplicação o de decifragem usa uma combinação
de operações de subtração e divisão

Ricardo Queiroz Segurança em Redes de Computadores

Criptografia com Chave Simétrica (2)


Detalhamento
 Os algoritmo de chave simétrica são eficientes e as chaves
são usualmente menores que as chaves do algoritmos de
chave pública
 É usada freqüentemente na cifragem e decifragem de
mensagens longas
 Desvantagens
 A cada usuário participante deve estar associada uma única
chave
 A distribuição segura de chaves é um problema difícil de
resolver

Ricardo Queiroz Segurança em Redes de Computadores

Segurança e Auditoria 7
Ricardo Queiroz 05/04/2018

Exemplo de Cifra por Bloco


Data Encryption Standard – DES
 Cifra de bloco bastante complexa
 A DES foi desenvolvida pela IBM para o governo americano
para ser um padrão oficial em 77 para aplicações não
militares
 Funcionamento
 O texto limpo é cifrado em blocos de 64-bits usando uma chave
de 56-bits
 O texto passa através de 19 estágios complexos diferentes para
produzir um texto cifrado de 64-bits
 O DES possui dois blocos de transposição, um bloco de
permutação e 16 blocos complexos de interação
 Embora os 16 blocos de iteração sejam conceitualmente os
mesmos, cada um usa uma chave derivada da chave original

Ricardo Queiroz Segurança em Redes de Computadores

Esquema Geral do DES

Ricardo Queiroz Segurança em Redes de Computadores

Segurança e Auditoria 8
Ricardo Queiroz 05/04/2018

Esquema Geral – Visão das Iterações


Blocos de Iteração
 Embora os 16 blocos de
iteração sejam
conceitualmente os
mesmos, cada um usa uma
chave derivada da chave
original
 Observe que o bloco inteiro
de cifra DES é um bloco de
substituição de um texto
limpo de 64 bits, em um
texto cifrado de 64 bits

Ricardo Queiroz Segurança em Redes de Computadores

Bloco de Iteração no DES

Ricardo Queiroz Segurança em Redes de Computadores

Segurança e Auditoria 9
Ricardo Queiroz 05/04/2018

Quão Seguro é o Padrão DES?


DES Challenge
 Uma frase criptografada com chave de 56 bits

“strong cryptography makes the world a safer place”

 foi decodificada pelo método da força bruta em 4 meses

Ricardo Queiroz Segurança em Redes de Computadores

Triplo DES – TDES ou 3DES


Cifra Tripla
 Considerações Iniciais
 Alguns críticos do DES argumentam que a chave é pequena
demais, então o 3DES foi desenvolvido para aumentar a chave
 Uma das franquezas é que o DES utiliza o mesmo princípio da
cifra de César embora mais complexo devido as 16 iterações
 No entanto, o novo bloco de cifra deveria manter
compatibilidade com o tamanho original
 Como? (slide seguinte)
 O 3DES foi um padrão utilizado para cifragem do payload de
frames PPP
 Funcionamento
 Existem 3 blocos DES e três chaves de 56 bits
 Cada bloco DES opera com uma chave e na encriptação existe
um bloco encripta+desencripta+encripta e na desencriptação
os blocos são desencripta+encripta+desencripta

Ricardo Queiroz Segurança em Redes de Computadores

Segurança e Auditoria 10
Ricardo Queiroz 05/04/2018

Esquema do 3DES

Ricardo Queiroz Segurança em Redes de Computadores

3DES e DES
Compatibilidade 3DES e DES
 Questão Importante
 Observe que o 3DES emprega uma chave em cada um dos seus
três blocos, dessa forma
 Precisaríamos de 168 bits de chaves (3 x 56 bits)
 Para o 3DES ser compatível* com o DES ele deve operar
como o DES, substituindo-o em qualquer situação se que
seja necessário nenhuma reconfiguração no sistema alvo
 E como fica a compatibilidade retroativa* com o DES que
emprega somente uma chave de 56 bit
 Resposta
 Em vez de 168 bits temos um conjunto de chaves com
apenas 112 bits (menos overhead, inclusive)
 Usamos a mesma chave Key1 no primeiro e último blocos e
Key2 no bloco intermediário
 Para tornar o 3DES compatível com o DES usamos Key1 =
Key2

Ricardo Queiroz Segurança em Redes de Computadores

Segurança e Auditoria 11
Ricardo Queiroz 05/04/2018

Modos de Operação (1)


Definição
 São esquemas de cifragem sofisticados que utilizam
combinações dos esquemas anteriores sobre cifras para
definir métodos de cifragem mais eficazes e robustos
Modos mais Populares
 Electronic Code Block (ECB)…
 Uma mensagem é dividida em blocos de 64 bits e
ciframos cada bloco separadamente
 A cifragem de cada bloco é independente dos outros
blocos do código ECB
 O problema com esse esquema é justamente essa independência
entre cada bloco
 Isso, além de facilitar ataques ao algoritmo, dificulta a detecção
de adulteração da mensagem original

Ricardo Queiroz Segurança em Redes de Computadores

Modos de Operação (2)


Esquema ECB

P P P P P
1 2 3 4 5
Chave Chave Chave Chave Chave

Cifra Cifra Cifra Cifra Cifra

C1 C2 C3 C4 C5

Ricardo Queiroz Segurança em Redes de Computadores

Segurança e Auditoria 12
Ricardo Queiroz 05/04/2018

Modos de Operação (3)


Modos de Operação…
Cipher Block Chaining (CBC)
 A cifragem ou decifragem de um bloco depende de todos os blocos
anteriores
 Para cifrar o segundo bloco de texto limpo (P2) primeiramente
aplicamos um XOR de P2 com o primeiro bloco cifrado C1 e então
continuamos o processo de cifragem
 Portanto, C2 depende de C1
 Como fica a cifragem do primeiro bloco, já que não há Co?
 Vetor de Inicialização de 64 bits, por exemplo
 O VI é transmitido junto com os dados
P P P P
1 2 3 4

VI + + + +
Chave Chave Chave Chave

Cifra Cifra Cifra Cifra

C1 C2 C3 C4

Ricardo Queiroz Segurança em Redes de Computadores

Modos de Operação (4)


Modos de Operação…
 Cipher Feedback Block (CFB)
 O CFB foi desenvolvido para emprego em situações onde
precisamos enviar ou receber 1 byte de dados por vez, mas
ainda queremos usar o DES ou o 3DES
 A solução é fazer 1 byte CN dependente de 1 byte PN e outro
byte aleatório (VI)

Ricardo Queiroz Segurança em Redes de Computadores

Segurança e Auditoria 13
Ricardo Queiroz 05/04/2018

Modos de Operação (5)


Modos de Operação
Cipher Stream Mode (CSM)
 Para cifrar/decifrar 1 bit por vez e ao mesmo tempo torná-lo
independente dos bits anteriores
 Neste modo, o XOR dos dados é realizado bit a bit com uma cadeia
longa de bits, ou seja, um fluxo seqüencial de bits
 Essa cadeia de bits é gerada pelo VI em um processo de looping que
gera 64 bits para serem colocados em um XOR com o texto limpo e
criar o texto cifrado

Ricardo Queiroz Segurança em Redes de Computadores

Cifras Simétricas
Advanced Encryption Standard – AES
 Novo (nov/2001) padrão do NIST para chaves simétricas,
substituindo o DES
 Concurso do NIST vencido por Rijndael (Daemen e Rijmen)
 Processa dados em blocos de 128 bits
 Chaves de 128, 192, ou 256 bits em intervalos de 32 bits
 Substituições e permutas com bytes inteiros
 Decodificação por força bruta (tentar cada chave) leva 1 segundo
no DES e 149 trilhões de anos no AES

Ricardo Queiroz Segurança em Redes de Computadores

Segurança e Auditoria 14
Ricardo Queiroz 05/04/2018

Crítica a Cifras de Bloco


Problemática
 Apesar de toda a complexidade, o DES, TDES, AES ou
qualquer outra cifra de bloco é basicamente uma cifra de
substituição monoalfabética que utiliza caracteres grandes
 Assim, se o mesmo texto for cifrado com a mesma chave o
texto de saída é sempre o mesmo
Solução
 Blocos de Cifras encadeadas
 Vetor de Inicialização + Cifra
 Veja Cipher Block Chaining (CBC)
 O mesmo bloco de texto nunca é mapeado para o mesmo bloco
cifrado
 A criptografia deixa de ser uma grande cifra monoalfabética
 E ainda, nas fases de encriptação/decriptação podemos
empregar algoritmos como DES, TDES e AES
Ricardo Queiroz Segurança em Redes de Computadores

Outras Cifras Simétricas


Resumo das Cifras Simétricas
 Blowfish: 1 a 448 bits – lento
 DES: 56 bits – fraco para os dias de hoje
 IDEA: 128 bits – bom, mas patenteado
 RC4: 1 a 2048 bits – bom, mas algumas chaves são fracas
 RC5: 128 a 256 bits – bom, mas patenteado
 Rijdael (AES): 128 a 256 bits – melhor escolha
 Serpent: 128 a 256 bits – muito forte
 DES Triplo: 112 bits – segunda melhor escolha
 Twofish: 128 a 256 bits – muito forte, amplamente utilizado

Ricardo Queiroz Segurança em Redes de Computadores

Segurança e Auditoria 15
Ricardo Queiroz 05/04/2018

Criptografia com Chave Pública


Detalhamento
 O problema de distribuição de chaves sempre foi o elo mais
fraco da maioria dos sistemas de criptografia, pois todos os
usuários devem ter a mesma chave usada para ambos os
processos
 Na criptografia com chave pública, há duas chaves: uma
privada e uma pública
 A chave privada é mantida pelo proprietárioB e a chave
pública é distribuída publicamente sem qualquer restrição
 Requisitos
 D(E(P))=P
 É extremamente difícil deduzir D a partir de E
 Não pode ser decifrado um ataque de texto escolhido

Ricardo Queiroz Segurança em Redes de Computadores

Visão da Criptografia de Chave Pública

Ricardo Queiroz Segurança em Redes de Computadores

Segurança e Auditoria 16
Ricardo Queiroz 05/04/2018

Algoritmos de Chave Pública


Considerações
 Abordagem radicalmente diferente (Diffie-Hellman, 76)
 A chave pública utilizada para a cifragem deve ser diferente da chave
privada utilizada para a decifragem
 Vantagens
 Remove a necessidade de uma chave simétrica compartilhada entre
duas entidades (pessoas ou processos)
 A chave simétrica é compartilhada entre duas partes e não pode
ser utilizada quando uma delas quiser se comunicar com uma
terceira parte
 Quando usamos a criptografia assimétrica, cada entidade cria um
par de chaves e a chave pública pode ser utilizada para se
comunicar com qualquer outra parte
 A quantidade de chaves necessárias é reduzida tremendamente
 Desvantagens
 Algoritmos complexos
 O Tamanho das chaves é relativamente extenso
 A associação entre uma entidade e sua chave pública deve ser
certificada através de uma entidade certificadora

Ricardo Queiroz Segurança em Redes de Computadores

RSA (Rivest, Shamir e Adleman)


Detalhamento
 Método mais utilizado de criptografia com chave pública
 Chaves de até 1024 bits, mas isso implica em lentidão
 Neste método, a chave privada é um par de números (N, d)
assim como a chave pública (N, e), onde N é comum a
ambas
 Algoritmo de cifragem

C = Pe mod N
 Algoritmo de decifragem

P = Cd mod N

Ricardo Queiroz Segurança em Redes de Computadores

Segurança e Auditoria 17
Ricardo Queiroz 05/04/2018

Aplicação do Algoritmo

Ricardo Queiroz Segurança em Redes de Computadores

RSA
Problemática
 O algoritmo não parece ser eficiente apesar de usar duas
chaves diferentes
 Se alguém conhece o algoritmo de cifragem e N=77, a
informação que está faltando é d=37
 Então, um ataque de força bruta poderia determinar d?
 Facilmente o valor de d poria ser encontrado
 No entanto, a força do algoritmo reside na utilização de
números primos grandes para d e e
 Na prática, os números tem aproximadamente 10 algarismos
e a descoberta da chave por tentativa poderia levar meses
ou anos mesmo com o poder computacional disponível hoje
 O RSA é amplamente utilizado para distribuição de chaves
pois é muito lento para trabalhar com grandes volumes de
dados

Ricardo Queiroz Segurança em Redes de Computadores

Segurança e Auditoria 18
Ricardo Queiroz 05/04/2018

Propriedades Importantes do RSA


Relações

m = (me mod n)d mod n

Ou seja
- + + -
K (K (m)) = m = K (K (m))
B B B B

Essa propriedade é importante pois demonstra como uma


mensagem pode ser assinada digitalmente

Ricardo Queiroz Segurança em Redes de Computadores

Segurança e Auditoria 19

Anda mungkin juga menyukai