Segurança em Redes
Técnicas criptográficas modernas
A Criptografia
 A Criptografia moderna se ocupa muito menos de
sigilo do que há trinta anos, quando justificava o
uso da palavra criptografia, de modo básico e em
seu significado de origem.
 Origem grega  escrita oculta.
 Podem ser empregadas para prevenção dos
incidentes de segurança.
Criptografia
 Aplicações e sistemas que tenham requisitos
como sigilo, autenticação, integridade, não-
repúdio e anonimato, empregam técnicas
criptográficas em algum nível de sua arquitetura.
 O sigilo de mensagens, ou de identidades, pode
ser necessário a uma aplicação ou auxiliar a
consecução de outro requisito, como a
autenticação.
 As técnicas criptográficas para prevenir tais
ataques vêm de duas vertentes, a simétrica e a
assimétrica, usadas isoladamente ou em
conjunto.
Autenticação
 A autenticação de propriedades de mensagens
(integridade e origem) e de entidades
(identidade) pode ser um fim em si ou pode
ancorar a obtenção de outros fins como o
estabelecimento de uma chave criptográfica.
Exemplo
 O nosso exemplo de comunicação sugere duas
entidades, Alice e Beto, trocando mensagens
transmitidas num canal inseguro; isto é, um canal
passível de leitura e escrita por um intruso, Ivo.
 Os métodos de Ivo podem ser a simples escuta, um
“grampo”, que chamamos de ataque passivo, ou até
a modificação, repetição e injeção de mensagens
com objetivos variados como, por exemplo, passar-se
por Alice ou Beto para obter acesso a serviços não
autorizados; esses são os chamados ataques ativos.
 Passivos ou ativos, esses ataques representam
ameaça aos requisitos de segurança.
Modelo Simétrica
Modelo Simétrico
Criptografia e Descriptografia
Texto Aberto
(PlainText)
Texto Fechado
(Ciphertext)
CRIPTOGRAFIA
DECRIPTOGRAFIA
Sistema de Criptografia Simples
 Caesar Cipher: usado por Julius Caesar
 Substituição de letras pelas letras deslocadas de N.
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:
 Keyspace = 25
 N = 3, é a chave específica.
 Algoritmos modernos:
 Chaves binárias: 128, 256, 1024, 2048 bits
 Tipos de Criptografia:
 Simétrico: Keyspace  2tamanho da chave
 Assimétrico: Keyspace  2tamanho da chave
Quebra de Criptografia
 A quebra da criptografia utilizando força bruta é
inviável para espaço de chaves acima de 2128
 Exemplo:
 Keyspace=264
 Computador: Deep Crack
 90 bilhões de chaves por segundo
 Tempo para encontrar uma chave: 4 dias e meio
 Keyspace = 2128
 Computador = 1 trilhão de chaves por segundo
 Tempo para testar todas as chaves:
 10 milhões de trilhões de anos.
Criptografia Simétrica e Assimétrica
 Dois sistemas de criptografia são usados
atualmente:
 sistemas de chave secreta (secret-key)
 Também denominados simétricos
 Trabalha com uma única chave, denominada SECRETA.
 sistemas de chave pública (public-key)
 Também denominado assimétrico
 Trabalho 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
Decriptografia
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.
 O algoritmo é considerado obsoleto:
 1998: DES-cracker da Electronic Frontier Foundation (EFF), ao custo
de US$250.000, quebrou o algoritmo em 2 dias.
 2008: COPACOBANA RIVYERA (128 Spartan-3 5000's), ao custo de
US$10.000, quebrou o algoritmo em menos de um dia.
DES - Estrutura
 Uma permutação inicial (IP)
 16 rounds de processamento
(função de Feistel –F)
 Uma permutação final (FP)
Função de Feistel
 Opera em meio bloco (32 bits) de cada vez. É
composto de 4 operações:
 Expansion : transforma o bloco de 32 bits em 48
duplicando alguns bits.
 Key mixing — combina o resultado com uma sub-
chave de 48 bits.
 Substitution — divide o bloco em partes de 6-bits e
aplica o (S-Boxes) substitution boxes.
 Cada um dos 8 S-boxes substitui uma parte de 6 bits por
outra de 4 bits através de uma operação tabelada.
 Permutation — efetua uma permutação nos 32 bits
para espalhar os bits de cada S-box em pelo
menos 4 S-boxes differences para o próximo round.
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 decriptografar 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
Criptografia
Algoritmo de
Descriptografia

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 Algorithm Example
1. Escolher p = 3 e q = 11
2. Calcular n = p * q = 3 * 11 = 33
3. Calcular φ(n) = (p - 1) * (q - 1) = 2 * 10 = 20
4. Escolher e tal que 1 < e < φ(n) e e e n são coprimos.
Seja e = 7
5. Calcular o valor de d tal que (d * e) % φ(n) = 1.
Uma solução possível é d = 3 [(3 * 7) % 20 = 1]
6. A chave pública é (e, n) => (7, 33)
7. A chave privada é (d, n) => (3, 33)
8. A criptografia de m = 2 é c = 27 % 33 = 29
9. A descriptografia de c = 29 é m = 293 % 33 = 2
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.
 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
digital
Mensagem
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
Assinatura
Digital
DIGEST
1B2A37...
Criptografia com
chave privada
Algoritmo
de
Hashing
Rede
Assinatura
Digital
xxxx
yyyy
zzzz
DIGEST
Descriptografia
com chave
pública
DIGEST
Algoritmo
de
Hashing
COMPARAÇÃO
RECEPTORTRANSMISSOR
xxxx
yyyy
zzzz
Verificação da Integridade da
Mensagem
Transmissor
(A)
Receptor
(B)
MENSAGEM
ASSINATURA
DIGITAL
CHAVE PRIVADA DE A
CHAVE 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.
Nomenclatura X509
 Um certificado X509 é emitido para um distinguished
name.
DN Field Abbrev. Description Example
Common Name CN Name being certified CN=Joe Average
Organization or
Company
O
Name is associated with this
organization
O=Snake Oil, Ltd.
Organizational Unit OU
Name is associated with this
organization unit, such as a department
OU=Research
Institute
City/Locality L Name is located in this City L=Snake City
State/Province ST Name is located in this State/Province ST=Desert
Country C
Name is located in this Country (ISO
code)
C=XZ
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)certificados
certificados
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
 Bibliografia básica:
 KUROSE, James F; ROSS, Keith W. Redes de
computadores e a Internet: uma abordagem top-
down.

Criptgrafia algoritmos

  • 1.
    Segurança em Redes Técnicascriptográficas modernas
  • 2.
    A Criptografia  ACriptografia moderna se ocupa muito menos de sigilo do que há trinta anos, quando justificava o uso da palavra criptografia, de modo básico e em seu significado de origem.  Origem grega  escrita oculta.  Podem ser empregadas para prevenção dos incidentes de segurança.
  • 3.
    Criptografia  Aplicações esistemas que tenham requisitos como sigilo, autenticação, integridade, não- repúdio e anonimato, empregam técnicas criptográficas em algum nível de sua arquitetura.  O sigilo de mensagens, ou de identidades, pode ser necessário a uma aplicação ou auxiliar a consecução de outro requisito, como a autenticação.
  • 4.
     As técnicascriptográficas para prevenir tais ataques vêm de duas vertentes, a simétrica e a assimétrica, usadas isoladamente ou em conjunto.
  • 5.
    Autenticação  A autenticaçãode propriedades de mensagens (integridade e origem) e de entidades (identidade) pode ser um fim em si ou pode ancorar a obtenção de outros fins como o estabelecimento de uma chave criptográfica.
  • 6.
    Exemplo  O nossoexemplo de comunicação sugere duas entidades, Alice e Beto, trocando mensagens transmitidas num canal inseguro; isto é, um canal passível de leitura e escrita por um intruso, Ivo.  Os métodos de Ivo podem ser a simples escuta, um “grampo”, que chamamos de ataque passivo, ou até a modificação, repetição e injeção de mensagens com objetivos variados como, por exemplo, passar-se por Alice ou Beto para obter acesso a serviços não autorizados; esses são os chamados ataques ativos.  Passivos ou ativos, esses ataques representam ameaça aos requisitos de segurança.
  • 7.
  • 8.
  • 18.
    Criptografia e Descriptografia TextoAberto (PlainText) Texto Fechado (Ciphertext) CRIPTOGRAFIA DECRIPTOGRAFIA
  • 19.
    Sistema de CriptografiaSimples  Caesar Cipher: usado por Julius Caesar  Substituição de letras pelas letras deslocadas de N. 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.
  • 20.
    Espaço das Chaves(KeySpace)  Uma chave é um valor específico do espaço de chaves (keyspace).  No exemplo anterior:  Keyspace = 25  N = 3, é a chave específica.  Algoritmos modernos:  Chaves binárias: 128, 256, 1024, 2048 bits  Tipos de Criptografia:  Simétrico: Keyspace  2tamanho da chave  Assimétrico: Keyspace  2tamanho da chave
  • 21.
    Quebra de Criptografia A quebra da criptografia utilizando força bruta é inviável para espaço de chaves acima de 2128  Exemplo:  Keyspace=264  Computador: Deep Crack  90 bilhões de chaves por segundo  Tempo para encontrar uma chave: 4 dias e meio  Keyspace = 2128  Computador = 1 trilhão de chaves por segundo  Tempo para testar todas as chaves:  10 milhões de trilhões de anos.
  • 22.
    Criptografia Simétrica eAssimétrica  Dois sistemas de criptografia são usados atualmente:  sistemas de chave secreta (secret-key)  Também denominados simétricos  Trabalha com uma única chave, denominada SECRETA.  sistemas de chave pública (public-key)  Também denominado assimétrico  Trabalho com um par de chaves  CHAVE PÚBLICA  CHAVE PRIVADA
  • 23.
    Chave Secreta (CriptografiaSimétrica) Texto Simples (plaintext) Texto Codificado (ciphertext) Texto Simples (plaintext) Chave Secreta Algoritmo de Criptografia Algoritmo de Decriptografia Chave Secreta =
  • 24.
    DES – DataEncryption 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.  O algoritmo é considerado obsoleto:  1998: DES-cracker da Electronic Frontier Foundation (EFF), ao custo de US$250.000, quebrou o algoritmo em 2 dias.  2008: COPACOBANA RIVYERA (128 Spartan-3 5000's), ao custo de US$10.000, quebrou o algoritmo em menos de um dia.
  • 25.
    DES - Estrutura Uma permutação inicial (IP)  16 rounds de processamento (função de Feistel –F)  Uma permutação final (FP)
  • 26.
    Função de Feistel Opera em meio bloco (32 bits) de cada vez. É composto de 4 operações:  Expansion : transforma o bloco de 32 bits em 48 duplicando alguns bits.  Key mixing — combina o resultado com uma sub- chave de 48 bits.  Substitution — divide o bloco em partes de 6-bits e aplica o (S-Boxes) substitution boxes.  Cada um dos 8 S-boxes substitui uma parte de 6 bits por outra de 4 bits através de uma operação tabelada.  Permutation — efetua uma permutação nos 32 bits para espalhar os bits de cada S-box em pelo menos 4 S-boxes differences para o próximo round.
  • 27.
    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
  • 28.
    MODO ECB DADOS BLOCO 64bits 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.
  • 29.
    MODO CBC DADOS BLOCO 64bits 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.
  • 30.
    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 decriptografar 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.
  • 31.
  • 32.
    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
  • 33.
    RSA Algorithm Example 1.Escolher p = 3 e q = 11 2. Calcular n = p * q = 3 * 11 = 33 3. Calcular φ(n) = (p - 1) * (q - 1) = 2 * 10 = 20 4. Escolher e tal que 1 < e < φ(n) e e e n são coprimos. Seja e = 7 5. Calcular o valor de d tal que (d * e) % φ(n) = 1. Uma solução possível é d = 3 [(3 * 7) % 20 = 1] 6. A chave pública é (e, n) => (7, 33) 7. A chave privada é (d, n) => (3, 33) 8. A criptografia de m = 2 é c = 27 % 33 = 29 9. A descriptografia de c = 29 é m = 293 % 33 = 2
  • 34.
    RSA  O algoritmoRSA é 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.  As chaves em RSA são em geral da ordem de 1024 bits.
  • 35.
    Assinatura Digital comChave 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 digital Mensagem isto é segredo
  • 36.
  • 37.
    Geração e Validaçãodas Assinaturas Assinatura Digital DIGEST 1B2A37... Criptografia com chave privada Algoritmo de Hashing Rede Assinatura Digital xxxx yyyy zzzz DIGEST Descriptografia com chave pública DIGEST Algoritmo de Hashing COMPARAÇÃO RECEPTORTRANSMISSOR xxxx yyyy zzzz
  • 38.
    Verificação da Integridadeda Mensagem Transmissor (A) Receptor (B) MENSAGEM ASSINATURA DIGITAL CHAVE PRIVADA DE A CHAVE PÚBLICA DE A O receptor precisa ter a chave pública do transmissor para verificar a assinatura.
  • 39.
    Autoridade Certificadora C.A. (Certification Authority) I.D. doProprietá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.
  • 40.
    Nomenclatura X509  Umcertificado X509 é emitido para um distinguished name. DN Field Abbrev. Description Example Common Name CN Name being certified CN=Joe Average Organization or Company O Name is associated with this organization O=Snake Oil, Ltd. Organizational Unit OU Name is associated with this organization unit, such as a department OU=Research Institute City/Locality L Name is located in this City L=Snake City State/Province ST Name is located in this State/Province ST=Desert Country C Name is located in this Country (ISO code) C=XZ
  • 41.
    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
  • 42.
    PKI (Public KeyInfrastructure)  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)certificados certificados
  • 43.
    Como a criptografiapode 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
  • 44.
     Bibliografia básica: KUROSE, James F; ROSS, Keith W. Redes de computadores e a Internet: uma abordagem top- down.