Aulas de Criptografia 2019

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 205

Uniceub

Pós-Graduação Lato Sensu

Criptografia

Prof. M.Sc. Robertson Schitcoski


Contato: [email protected]
Avaliações e Cronograma
• Oito (08) aulas.
• Prova na penúltima aula e atividades práticas ao longo
do curso
• Encerramento do curso com entrega de artigo científico
• Nota Final = 2 x Prova + Artigo + Atividades
4
• O artigo deverá ser realizado em pequenos grupos,
seguindo modelo apresentado pelo professor na
segunda aula e deverá ser entregue impresso e em
formato eletrônico (pdf).

2
Conteúdo programático
• Arquitetura de Segurança OSI (4 horas)
• Serviços
• Ataques
• Mecanismos
• Fundamentos de Criptografia (2 horas)
• Conceitos e histórico
• Criptografia simétrica e de chave pública
• Tipos de operação
• Modos de processamento
• Funções hash
3
Conteúdo programático
• Algoritmos Simétricos (6 horas)
• DES e DES com cifração múltipla
• AES
• Modos de operação
• Cifras de fluxo
• Algoritmos de Chave Pública (4 horas)
• RSA
• Diffie-Hellman

4
Conteúdo programático
• Funções de Hash (2 horas)
• Requisitos
• Secure Hash Signature Standard (SHS)
• Message Digest (MD)
• Ataque do aniversário
• Assinatura Digital (2 horas)
• Esquemas
• Verificação
• Esquema híbrido

5
Conteúdo programático
• Noções de Certificação Digital (4 horas)
• Certificado digital
• Padrões X.509 e PKIX
• RFC 5280
• SSL/TLS e Kerberos (2 horas)
• IPSec (2 horas)
• Modos túnel e transporte
• Associação de Segurança
• IKE

6
Bibliografia

• Básica
• Criptografia e Segurança de Redes – Willian
Stallings
• Applied Cryptography – Bruce Schneier
• Handbook of Applied Cryptography – Menezes,
Oorschot e Vanstone
• Complementar
• O Livro dos Códigos – Simon Singh
• The Codebreakers – David Kahn

7
Arquitetura de Segurança OSI

Arquitetura
de Segurança
OSI

Ataques Serviços Mecanismos

Confidencialidade
Criptografia

Passivos Integridade
Assinatura Digital
Disponibilidade

Ativos Protocolos de
Autenticação Autenticação

Irretratabilidade
...
Controle de Acesso

8
Serviços
Confidencialidade
• Propriedade de que a informação não será disponibilizada
ou divulgada a indivíduos, entidades ou processos sem
autorização.
• A proteção dos dados contra divulgação não autorizada.
• Isto inclui:
• impressão;
• divulgação;
• até mesmo a existência de algum tipo de informação.

9
Serviços
Integridade
• A garantia de que os dados recebidos estão exatamente
como foram enviados por uma entidade autorizada.
• Logo, eles não contém:
• modificação;
• inserção;
• exclusão;
• repetição.

10
Serviços
Autenticação

• A garantia de que a entidade se comunicando é aquela que


ela afirma ser.
• Dois serviços de autenticação específicos são definidos na
X.800:
• autenticação de entidade par;
• autenticação da origem dos dados.

11
Serviços
Irretratabilidade (Não Repúdio)

• Oferece proteção contra negação, por parte de uma das


entidades envolvidas em uma comunicação, de ter
participado de toda ou parte da comunicação.

• Logo, quem enviou não poderá negar ter enviado nem


quem recebeu poderá negar ter recebido a mensagem.

12
Serviços
Disponibilidade

• Propriedade de um sistema ou de um recurso do sistema


ser acessível e utilizável sob demanda por uma entidade
autorizada.

13
Serviços
Controle de Acesso

• O impedimento do uso não autorizado de um recurso.


• O serviço controla quem pode ter acesso a um recurso, sob
que condições o acesso pode ocorrer e o que é permitido
para aqueles que acessam o recurso.

14
Serviços
• Não há um mecanismo único que garanta todos os
serviços citados.
• Sempre haverá a necessidade da utilização de um
conjunto de mecanismos para solucionar o problema
proposto.
• Entretanto, existe um elemento que serve como base para
a maioria dos mecanismos de segurança que são: as
técnicas de criptografia.

15
Serviços
• O que o uso da criptografia pode fazer?
• Fornecer o sigilo da informação.
• Garantir a autenticidade do remetente.
• Garantir, implicitamente, a autenticidade do destino.
• Garantir a integridade da informação.

16
Ataques

Fluxo normal

FONTE DA DESTINO DA
INFORMAÇÃO INFORMAÇÃO

17
Ataques
Interceptação

FONTE DA DESTINO DA
INFORMAÇÃO INFORMAÇÃO

• Uma parte não autorizada ganha acesso a um recurso. Este


é um ataque à confidencialidade.
• A parte não autorizada pode ser pessoa, programa ou
computador.
• Exemplos:
• grampos em linhas para capturar dados da rede;
• cópia de programas ou arquivos;
• análise de tráfego.
18
Ataques
Modificação

FONTE DA DESTINO DA
INFORMAÇÃO INFORMAÇÃO

• Uma parte não autorizada não somente ganha acesso, mas


também adultera o bem. Este é um ataque à integridade.
• Exemplos:
• mudança de valores em um arquivo de dados;
• alteração de um programa de tal forma que ele se
comporte de maneira diferente;
• modificação do conteúdo da mensagem sendo
transmitida.
19
Ataques
Fabricação

FONTE DA DESTINO DA
INFORMAÇÃO INFORMAÇÃO

• Uma pessoa não autorizada insere objetos no sistema.


• Este é um ataque à autenticidade.
• Exemplos:
• inserção de mensagens maliciosas na rede;
• adição de registros em um arquivo.
20
Ataques
Interrupção

FONTE DA DESTINO DA
INFORMAÇÃO INFORMAÇÃO

• Um recurso do sistema é destruído ou se torna indisponível


ou inútil.
• Este é um ataque à disponibilidade.
• Exemplos:
• destruição de uma peça de hardware como um disco
rígido;
• o corte de uma linha de comunicação;
• tornar indisponível um sistema de gerência de arquivos.

21
Mecanismos
• Específicos (podem oferecer algum(ns) dos serviços de
segurança OSI):
• cifragem;
• assinatura digital;
• controle de acesso (série de mecanismos);
• integridade (série de mecanismos);
• troca de informação de autenticação;
• preenchimento de tráfego;
• controle de roteamento;
• certificação digital.

22
Mecanismos
• Pervasivos (não são específicos a qualquer serviço de
segurança OSI):
• funcionalidade confiável;
• rótulo de segurança;
• detecção de evento;
• registros de auditoria;
• recuperação de segurança.

23
Mecanismos
Serviço Cifragem Assinatura Controle de Integridade dos
Digital Acesso dados
Autenticação de Entidade Par S S

Autenticação da Origem S S

Controle de Acesso S

Confidencialidade S

Confidencialidade do fluxo de S
tráfego
Integridade de dados S S S

Irretratabilidade S S

Disponibilidade S

24
Mecanismos
Serviço Troca de Informações Preenchimento de Controle de
Tráfego Roteamento
Autenticação de S
Entidade Par
Autenticação da Origem

Controle de Acesso

Confidencialidade S

Confidencialidade do S S
fluxo de tráfego
Integridade de dados

Irretratabilidade

Disponibilidade S

25
Exercícios
1. (CESPE – Perito Criminal Federal – Área 3 – PF–Regional/2004 – 107)
Segurança da informação é caracterizada, basicamente, pelo fornecimento de
três serviços de segurança: a preservação do sigilo ou da confidencialidade das
informações, a garantia da integridade dos dados e a manutenção da
disponibilidade.
2. (CESPE – Analista Administrativo – Tecnologia da Informação –
ANAC/2009 – 111) Disponibilidade é a garantia de que a informação é
acessível ou revelada somente a pessoas, entidades ou processos autorizados
a acessá-la.
3. (CESPE – Analista Judiciário – Análise de Sistemas – TRE-PR/2009 – 88) A
confidencialidade tem o objetivo de garantir que apenas pessoas autorizadas
tenham acesso à informação. Essa garantia deve ser obtida em todos os
níveis, desde a geração da informação, passando pelos meios de transmissão,
até chegar ao seu destino e ser devidamente armazenada ou, se necessário,
destruída sem possibilidade de recuperação.
4. (CESPE – Tecnologista – Classe Pleno I – ABIN/2004 – 62)
Confidencialidade é a garantia dada a um objeto de um sistema de apenas
poder ser dado a conhecer a uma entidade autorizada. A confidencialidade
assegura automaticamente a integridade do objeto.
26
Exercícios
5. (CESGRANRIO – Analista em Ciências e Tecnologia Jr I – Análise de
Sistemas – Informática – CAPES/2008 – 63) Uma autenticação é caracterizada
como forte quando estão presentes 2 ou mais itens dos seguintes fatores:
(A) senha, integridade, disponibilidade.
(B) disponibilidade, confidencialidade, confiabilidade.
(C) onde você está, em quem você confia, integridade.
(D) o que você é, o que você sabe, o que você tem.
(E) o que você é, confiabilidade, em quem você confia.

27
Exercícios
O Banco ABC disponibiliza seus serviços exclusivamente por meio da
Internet, 24 horas por dia, e está sujeito a ataques aos seus sistemas, que
podem ser realizados por meio da própria Internet. Como qualquer
empresa do sistema financeiro, o banco está sujeito a leis que garantem o
sigilo bancário de seus clientes. Além disso, precisa garantir que os dados
das transações financeiras realizadas pelos seus clientes cheguem aos
seus sistemas sem alterações. Acerca desse cenário hipotético, julgue os
itens seguintes.
6. (CESPE – Analista Executivo em Metrologia e Qualidade – Processos de
Negócios e Tecnologia da Informação – INMETRO/2009 – 41) O uso de
senhas para efetuar a autenticação dos clientes do banco pode ser um
mecanismo para garantir a confidencialidade necessária às transações
financeiras do banco.
7. (CESPE – Analista Executivo em Metrologia e Qualidade – Processos de
Negócios e Tecnologia da Informação – INMETRO/2009 – 42) Entre as
necessidades de segurança do Banco ABC, a integridade e a confidencialidade
são as que podem ser comprometidas pelos ataques efetuados por meio da
Internet.

28
Exercícios
8. (FCC – Analista Judiciário – Análise de Sistemas – TRE-RS/2010 – 56) Um
ataque passivo à segurança tenta descobrir ou utilizar informações do
sistema, mas não afeta seus recursos. Já um ataque ativo à segurança tenta
alterar os recursos do sistema ou afetar sua operação. São categorias de
ataques ativos:
(A) disfarce, repetição, modificação de mensagens e negação de serviço.
(B) negação de serviço, análise de tráfego, disfarce e repetição.
(C) análise de tráfego, disfarce, repetição, modificação de mensagens e negação
de serviço.
(D) análise de tráfego, disfarce, repetição e negação de serviço.
(E) liberação do conteúdo da mensagem, disfarce, repetição, modificação de
mensagens e análise de tráfego.

29
Exercícios
9. (CESPE – Tecnologista Pleno 1 – Padrão I – Segurança de Sistemas de
Informação – MCT-CTI/2008 – 74) A análise de tráfego não autorizada em
uma rede é considerada um ataque passivo pois o conteúdo dos pacotes não é
alterado, embora possa ser coletada uma considerável quantidade de
informação do fluxo de mensagens entre os entes que se comunicam.
10. (CESPE – Analista de Informática – Banco de Dados – MPU/2010 – 141)
Considere a situação na qual os usuários camuflam-se como o próprio SGBD,
por exemplo, removendo fisicamente parte do banco de dados, grampeando
uma linha de comunicação e processando um programa que atravesse as
defesas do sistema operacional. Nessa situação, estão caracterizadas
ameaças de segurança que podem ser eficazmente combatidas com
criptografia de dados.
11. (CESPE – Analista – Desenvolvimento de Sistemas – SERPRO/2010 – 56)
Em um sistema de controle de acesso embasado no modelo RBAC (role based
access control), uma sessão associa diretamente um usuário a um conjunto de
permissões de acesso.

30
Fundamentos de Criptografia
• Uma mensagem original é conhecida como texto claro,
enquanto a mensagem codificada é chamada de texto
cifrado.
• Criptografia ou cifração – processo de converter texto
claro em texto cifrado.
• Decriptografia ou decifração – processo que consiste
em restaurar o texto claro a partir do texto cifrado.
• Criptoanálise – consiste nas técnicas empregadas para
decifrar uma mensagem sem conhecimento completo
sobre como ela foi cifrada. Também conhecida como
“quebra de código”.

31
Fundamentos de Criptografia
• Criptologia – consiste na junção das áreas da criptografia e
da criptoanálise.
• Elementos importantes no processo de cifração:
• texto claro;
• algoritmo criptográfico; Algoritmo
Criptográfico

• chave;
E
• texto cifrado.
Texto Claro Texto Cifrado
K
Chave

Elementos importantes no processo de cifração

32
Fundamentos de Criptografia
Algoritmos proprietários (sigilo do algoritmo e da
chave) x Algoritmos públicos (sigilo da chave)
Algoritmos proprietários Algoritmos públicos

São aqueles que somente poucas pessoas São aqueles que todos conhecem o código
conhecem o código
Vantagens: Vantagens:
Geralmente realizar criptoanálise conhecendo O código foi avaliado por muitas pessoas
o código é difícil, sem conhecer o código é tornado o algoritmo mais confiável.
ainda mais difícil. Maior facilidade de padronização e produção
por fabricantes diferentes.
Desvantagens:
O código somente foi avaliado por poucas Desvantagens:
pessoas, com isso, podem existir fragilidades No caso de descoberta de uma
não descobertas. vulnerabilidade no algoritmo, imediatamente
Pode ser feita engenharia reversa em cima todos os usuários estão comprometidos.
de um produto que implemente o algoritmo e
pode ser descoberto o código.

33
Fundamentos de Criptografia
• Elementos de um sistema criptográfico

Origem Destino
Chave K1 Chave K2

Canal Seguro

Texto claro Texto cifrado Texto claro


Algoritmo (criptograma) Algoritmo
de Cifração de
Canal Inseguro Decifração

• Problema importante: distribuição da chave!


34
Um pouco de história
• A Criptografia originalmente operava com base em
operações exclusivamente de substituição ou de
transposição.
• Um exemplo de cifra baseada em substituição é a
Cifra de César.
• Há relatos de que o imperador romano Júlio César usava
na sua correspondência particular um código de
substituição no qual cada letra da mensagem original era
substituída pela letra três posições à frente no alfabeto.
• Desta forma, a letra A era substituída por D, a B por E, e
assim sucessivamente

35
Um pouco de história

Cifra de César

36
Um pouco de história
• A máquina enigma, empregada sobretudo pelos
Alemães na Segunda Guerra, era nada mais do que
um complexo arranjo de substituição, por meio dos
“rotores”

37
Um pouco de história

O funcionamento da Enigma

38
Um pouco de história
• Já um exemplo de cifra de transposição é o citale
• O segredo estava no diâmetro do bastão e no número de
lados.
• Desta forma, o cinto de couro sozinho não era suficiente
para reaver a informação.
• Os antigos gregos (especificamente, os espartanos)
usavam esta ferramenta para se comunicar durante as
campanhas militares.
• A partir de evidências indiretas existem evidências do
citale no século 7 a.C. (Antes de Cristo).

39
Um pouco de história

Citale

40
Um pouco de história

• Na era moderna, os principais mecanismos


criptográficos são:
• a criptografia simétrica;
• a criptografia assimétrica;
• as funções hash;
• a assinatura digital;
• a certificação digital.

41
Criptografia Simétrica
chave K chave K

texto claro texto cifrado texto claro


cifração decifração

• A chave de cifração é igual à chave de decifração.


OU
• A chave de cifração pode ser facilmente gerada a partir da
chave de decifração e vice-versa.
• Sejam:
• Ek( ) a função cifração com a chave k;
• Dk( ) a função de decifração com a chave k;
• M o texto em claro e C o texto cifrado.
• Logo Ek(M)=C, Dk(C)=M e Dk(Ek(M))=M.
42
Criptografia de Chave Pública
chave K1 chave K2

texto claro texto cifrado texto claro


cifração decifração

• A chave de cifração é diferente da de decifração e uma não


pode facilmente ser gerada somente a partir da outra.
• As duas são relacionadas matematicamente.
• Sejam:
• Ekx( )a função cifração com a chave kx;
• Dkx( )a função de decifração com a chave kx;
• M o texto em claro e C o texto cifrado.
• Logo:
• Ek1(M)=C, Dk2(C)=M e Dk2(Ek1(M))=M.
• Ek2(M)=C, Dk1(C)=M e Dk1(Ek2(M))=M.
43
Criptografia – Tipos de Operação
• Substituição
• Monoalfabética - utiliza um alfabeto de substituição;
• Polialfabética - utiliza vários alfabetos de substituição.
• Permutação ou transposição - modifica a posição dos
símbolos.

44
Criptografia – Modo de Processamento
• Bloco – processa a entrada de um bloco de elementos de
cada vez, produzindo um bloco de saída para cada bloco
de entrada.
• Fluxo – processa os elementos da entrada continuamente,
produzindo a saída de um elemento de cada vez,
enquanto prossegue.

45
Funções Hash
Funções unidirecionais (one way)
fácil

x
x x x
x x
x x
difícil
x x x
x
x x

• Em funções unidirecionais, para uma dada entrada, é


relativamente fácil calcular a saída da função. Mas dada uma
saída, é extremamente difícil calcular uma possível entrada
desta função.
• Ou seja, dado x é fácil calcular f(x), mas dado f(x) é difícil
calcular x.
• Analogia com o dia a dia: a quebra de um prato.
46
Funções Hash
Funções de condensação (hash functions)

x
x x x
x x
x
x
x
x

• Uma função de condensação (hash) é uma função que


recebe, como entrada, uma string de tamanho variável
(chamada de pré-imagem) e a converte em uma string de
saída de tamanho fixo, geralmente menor, chamada de valor
hash (resumo ou valor condensado).

47
Funções Hash
Funções de condensação (hash functions)
• Exemplos:
• Dígito verificador em CPFs;
• Função que pega uma pré-imagem e retorna um byte
que consiste no XOR de todos os bytes de entrada.

entrada 0101 0110


1001 0101
0100 0110
0001 1011

saída 1001 1110

48
Funções Hash
Funções de condensação unidirecionais

x
x x x
x x
x
difícil
x
x
x

• A finalidade de uma função de hash é produzir uma


“impressão digital” de um arquivo, mensagem ou outro bloco
de dados.
• Exemplo de aplicação:
• Armazenamento de senhas.
49
Exercícios
12. (FCC – Analista Judiciário – Análise de Sistemas – TRE-SE/2007 – 27) O
princípio criptográfico de Kerkhoff estabelece que
(A) uma chave pública não deve ser criptografada.
(B) todos os algoritmos devem ser públicos e apenas as chaves devem ser
secretas.
(C) todas a chaves devem ser públicas e apenas os algoritmos devem ser
secretos.
(D) tanto as chaves quanto os algoritmos devem ser secretos.
(E) tanto as chaves quanto os algoritmos devem ser públicos.

50
Exercícios
13. (FCC – Analista – Área I – BACEN/2006 – 25) NÃO é uma cifra de César
resultante da criptografia sobre uma mesma mensagem:
(A) F H Q W U D O.
(B))K M V C W J Q.
(C) E G P V T C N.
(D) I K T Z X G R.
(E) G I R X V E P.

51
Exercícios
14. (CESPE – Analista de Suporte – PRODEPA/2004 – 104) A criptologia é uma
área do conhecimento humano que pode ser dividida em criptografia, que trata
da defesa dos sistemas de informação, e esteganografia, que se preocupa na
identificação de técnicas para o ataque a sistemas de informação.
15. (CESPE – Analista Judiciário – Informática – STJ/2008 – 113) Os sistemas
de criptografia simétrica utilizam apenas uma chave, que é usada tanto para
cifração quanto para decifração.
16. (CESPE – Analista Judiciário – Informática – STJ/2008 – 114) Do ponto de
vista do custo computacional, os sistemas assimétricos apresentam melhor
desempenho que os sistemas simétricos.
17. (CESPE – Analista Judiciário – Informática – STJ/2008 – 115) Os sistemas
de criptografia assimétrica utilizam duas chaves: uma pública, que é usada para
cifração; e uma privada, que é usada para decifração.
18. (CESPE – Analista de Saneamento – Analista de TI – Desenvolvimento –
EMBASA/2010 – 103) Na criptografia de chave única ou simétrica, o tamanho
da chave não é importante no processo de cifrar porque a segurança está
embutida no ocultamento do código contra criptoanálise.

52
Exercícios
19. (CESPE – Técnico Científico – Tecnologia da Informação – Redes e
Telecomunicações – Banco da Amazônia S.A./2009 – 102) É possível
atingir confidencialidade e integridade com o uso de sistemas criptográficos
simétricos.
20. (CESPE – Técnico Científico – Tecnologia da Informação – Redes e
Telecomunicações – Banco da Amazônia S.A./2009 – 103) É possível obter
autenticação e não repúdio, além de confidencialidade e integridade, por meio
dos sistemas criptográficos assimétricos.
21. (CESPE – Oficial Técnico de Inteligência – Suporte a Rede de Dados –
ABIN/2010 –114) Considere que João criptografe uma mensagem com a
chave pública de Pedro. Nessa situação hipotética, a mensagem não poderá
ser facilmente decriptografada por terceiros sem a chave privada de Pedro;
uma mensagem criptografada com a chave privada de Pedro não poderia, da
mesma forma, ser decriptografada facilmente por João sem a chave pública
de Pedro.

53
Exercícios
22. (CESPE – Analista de Controle Externo – Tecnologia da Informação –
TCU/2007 – 163) A segurança de um sistema criptográfico depende, entre
outros fatores: do segredo da guarda da chave ou das chaves; da dificuldade
em se adivinhar ou tentar uma a uma as possíveis chaves; da dificuldade de
se inverter o algoritmo de cifração sem conhecimento da chave; da existência
ou não de formas de uma mensagem cifrada ser decifrada sem conhecimento
da chave; da possibilidade de se decifrar uma mensagem cifrada conhecendo-
se apenas como parte dela é decifrada; da possibilidade de se conhecer e
usar propriedades das mensagens em claro para decifrar mensagens cifradas.
23. (CESPE – Analista de Controle Externo – Tecnologia da Informação –
TCU/2007 – 164) Atualmente, os sistemas criptográficos utilizados são
incondicionalmente seguros por se basearem na dificuldade de resolução de
problemas matemáticos específicos ou em limitações na tecnologia
computacional vigente.
24. (CESPE – Analista de Controle Externo – Tecnologia da Informação –
TCU/2007 – 165) Em geral, um sistema criptográfico impede que dados sejam
deletados, ou que o programa que o implementa seja comprometido.

54
Exercícios
25. (CESPE – Tecnologista Pleno – Segurança de Sistemas de Informação –
MCT/2008 – 110) Shannon identificou duas propriedades essenciais em um
algoritmo criptográfico: a confusão, em que a relação entre o Plaintext e o
Ciphertext se torna o mais complexa possível; e a difusão, em que se
removem do Ciphertext as propriedades estatísticas do Plaintext.
26. (CESPE – Perito Criminal Federal – Computação Científica – PF/2002 –
47-1) A quebra de sistemas criptográficos simétricos sempre depende da
descoberta da chave secreta utilizada no processo criptográfico.
27. (CESPE – Perito Criminal Federal – Computação Científica – PF/2002 –
47-4) Chaves criptográficas consideradas seguras contra ataques de força
bruta, para os padrões de processamento atuais, devem possuir pelo menos
128 bits, tanto para criptografia simétrica quanto para criptografia assimétrica.
28. (CESPE – Analista de Informática – Banco de Dados – MPU/2010 – 140)
Abordagens básicas de criptografia de dados incluem a substituição e a
permutação. A substituição ocorre na situação em que, para cada caractere de
um texto simples, verifica-se a substituição desse caractere por um outro texto
cifrado. A permutação ocorre quando caracteres de texto simples são
reformulados em alguma sequência diferente da original.
55
Exercícios
29. (CESPE – Analista de Informática – Suporte Técnico – MPU/2010 – 140) Em
processos de autenticação de mensagens, um digest MDC (modification
detection code) utiliza uma função hash sem chaves. Se for assinado, o digest
permite verificar a integridade de mensagem, além de sua autenticação, e não
repúdio.
30. (CESPE – Perito Criminal Federal – Computação Científica – PF/2002 – 47-
2) Um princípio básico para a utilização de senhas em serviços de segurança,
tais como autentificação e controle de acesso, consiste em não armazenar a
senha diretamente pois o acesso a tal entidade de armazenamento poria em
risco toda a segurança do sistema. Ao contrário, é armazenado um resumo da
senha, gerado normalmente por algum tipo de função digestora unidirecional.
Ataques de força bruta a esses sistemas podem ser bem sucedidos, caso se
encontre a mensagem original utilizada na entrada da função (isto é, a senha)
ou alguma outra mensagem que resulte em um mesmo resumo que aquele
gerado para a mensagem original.

56
Exercícios
31. (CESPE – Tecnologista – Classe Pleno I – ABIN/2004 – 66) Um mecanismo
de senhas (passwords) é uma das barreiras mais simples e largamente
utilizada para se evitar acessos não autorizados a um sistema. Nos
mecanismos de autenticação por senhas, normalmente é armazenado um
hashing das senhas, para evitar que elas possam ser obtidas simplesmente
pela leitura do arquivo de senhas, e ainda é acrescentado um parâmetro
modificador variável, denominado salt, que individualiza o hashing das senhas,
mesmo para senhas idênticas. Esse procedimento de acrescentar o salt é
essencial, por impedir os denominados ataques de dicionário ao arquivo de
senhas.

57
Algoritmos Simétricos
• DES
• 3DES
• AES
• Modos de Operação
• One-Time Pad
• RC4

58
Algoritmos Simétricos – DES
• Algoritmo amplamente difundido e estudado.
• Originado a partir do Lucifer (IBM).
• Aprovado como padrão em 1977.
• Mensagem: 64 bits.
• Chave: 56 bits (64 mas 8 são de paridade).
• Mensagem cifrada: 64 bits.

59
DES
texto claro

IP

L0 R0
K1
f

L1 R1
K2
f

L2 R2

L15 R15
K16
f

L16 R16

IP -1

texto cifrado

60
DES
texto claro

IP

L0 R0
K1
f

L1 R1
K2
f

L2 R2

L15 R15
K16
f

L16 R16

IP -1

texto cifrado

61
DES

Permutação inicial (IP)


58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4

62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8

57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7

OU SEJA
b1 b2 b3 b4 b5 b6 b7 b8 b9 ... b61 b62 b63 b64
1 2 3 4 5 6 7 8 9 61 62 63 64

IP

b58 b50 b42 b34 b26 b18 b10 b2 b60 ... b31 b23 b15 b7
1 2 3 4 5 6 7 8 9 61 62 63 64

62
DES
texto claro

IP

L0 R0
K1
f

L1 R1
K2
f

L2 R2

L15 R15
K16
f

L16 R16

IP -1

texto cifrado

63
DES
Ki Ri-1
32 bits
Função F
permutação de
Expansão
48 bits
48 bits

Substituição
S-Box
32 bits
Permutação
P-Box
32 bits

64
DES
texto claro

IP

L0 R0
K1
Ki Ri-1
f
32 bits
L1 R1 permutação de
K2 Expansão
f
48 bits
48 bits
L2 R2

Substituição
S-Box
L15 R15
K16
32 bits
f Permutação
P-Box
L16 R16 32 bits

IP -1

texto cifrado

65
DES

Permutação de Expansão
32 1 2 3 4 5 4 5 6 7 8 9

8 9 10 11 12 13 12 13 14 15 16 17

16 17 18 19 20 21 20 21 22 23 24 25

24 25 26 27 28 29 28 29 30 31 32 1

OU SEJA
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

32

48

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

66
DES
texto claro

IP

L0 R0
K1
Ki Ri-1
f
32 bits

L1 R1
permutação de
K2 Expansão
f
48 bits
48 bits
L2 R2

Substituição
S-Box
L15 R15 32 bits
K16
f Permutação
P-Box
32 bits
L16 R16

IP -1

texto cifrado

67
DES

Substituição S-Box

entrada de 48 bits

S-Box 1 S-Box 2 S-Box 3 S-Box 4 S-Box 5 S-Box 6 S-Box 7 S-Box 8

saída de 32 bits

68
DES
texto claro

IP

Ki Ri-1
L0 R0
K1
32 bits

f permutação de
Expansão
48 bits
48 bits
L1 R1
K2
f Substituição
S-Box
32 bits
Permutação
L2 R2 P-Box
32 bits

L15 R15
K16
f entrada de 48 bits

S-Box 1 S-Box 2 S-Box 3 S-Box 4 S-Box 5 S-Box 6 S-Box 7 S-Box 8


L16 R16

IP -1 saída de 32 bits

texto cifrado

69
DES

0 1 2 3 4 5
S-box1
6 7 8 9 10 11 12 13 14 15

0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7

1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8

2 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0

3 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13

Exemplo:
Dada a entrada na base 2:
Entrada: 010011
ABCDEF 01-> linha 1
1001 -> coluna 9
AF -> define a linha
BCDE -> define a coluna Saída será 6 -> 0110

70
DES
S-box 2
15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10

3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5

0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15

13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9

S-box 3
10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8

13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1

13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7

1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12

S-box 4
7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15

13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9

10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4

3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14

S-box 5
2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9

14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6

4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14

11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3

71
DES
S-box 6
12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11

10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8

9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6

4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13

S-box 7
4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1

13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6

1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2

6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12

S-box 8
13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7

1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2

7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8

2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11

72
DES
texto claro

IP

L0 R0
K1
Ki Ri-1
f
32 bits
permutação de
L1 R1
K2 Expansão
f
48 bits
48 bits

L2 R2

Substituição
S-Box
L15 R15 32 bits
K16
f Permutação
P-Box
32 bits
L16 R16

IP -1

texto cifrado

73
DES

Permutação P Box
16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10

2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

OU SEJA
b1 b2 b3 b4 b5 b6 b7 b8 b9 ... b29 b30 b31 b32
1 2 3 4 5 6 7 8 9 29 30 31 32

PBox

b16 b7 b20 b21 b29 b12 b28 b17 b1 ... b22 b11 b4 b25
1 2 3 4 5 6 7 8 9 29 30 31 32

74
DES
texto claro

IP

L0 R0
K1
f

L1 R1
K2
f

L2 R2

L15 R15
K16
f

L16 R16

IP -1

texto cifrado

75
DES

Permutação final (IP-1)


40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31

38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29

36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27

34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25

OU SEJA
b1 b2 b3 b4 b5 b6 b7 b8 b9 ... b61 b62 b63 b64
1 2 3 4 5 6 7 8 9 61 62 63 64

IP -1

b40 b8 b48 b16 b56 b24 b64 b32 b39 ... b49 b17 b57 b25
1 2 3 4 5 6 7 8 9 61 62 63 64

76
DES
Chave

Geração das chaves de round 1,2,3, . . .

permuted
. . . 64

Round Número de deslocamentos choice 1

1 1

2 1 C0 D0
1,2,3, . . . 28 1,2,3, . . . 28
3 2
shift à shift à
4 2 esquerda esquerda
5 2

6 2 C1 D1
1,2,3, . . . 28 1,2,3, . . . 28

7 2 permuted
K1
choice 2
8 2
shift à shift à
9 1 esquerda esquerda

10 2
Cn Dn
11 2 1,2,3, . . . 28 1,2,3, . . . 28
permuted
12 2 Kn=2,3,...,15
choice 2
13 2
shift à shift à
14 2 esquerda esquerda

15 2
C16 D16
16 1 1,2,3, . . . 28 1,2,3, . . . 28
permuted
K16
choice 2
77
DES Chave
1,2,3, . . . . . . 64

Geração das chaves permuted


choice 1
de round
C0 D0
1,2,3, . . . 28 1,2,3, . . . 28

shift à shift à
esquerda esquerda

C1 D1
1,2,3, . . . 28 1,2,3, . . . 28
permuted
K1
choice 2
shift à shift à
esquerda esquerda

Cn Dn
1,2,3, . . . 28 1,2,3, . . . 28
permuted
Kn=2,3,...,15
choice 2

shift à shift à
esquerda esquerda

C16 D16
1,2,3, . . . 28 1,2,3, . . . 28
permuted
K16
choice 2

78
DES

Permuted Choice 1
57 49 41 33 25 17 9 1 58 50 42 34 26 18

10 2 59 51 43 35 27 19 11 3 60 52 44 36

63 55 47 39 31 23 15 7 62 54 46 38 30 22

14 6 61 53 45 37 29 21 13 5 28 20 12 4

OU SEJA
b1 b2 b3 b4 b5 b6 b7 b8 b9 ... b61 b62 b63 b64
1 2 3 4 5 6 7 8 9 61 62 63 64

Permuted Choice 1

b57 b49 b41 b33 b25 ... b28 b20 b12 b4


1 2 3 4 5 53 54 55 56

79
DES
Chave
1,2,3, . . . . . . 64

Geração das chaves permuted

de round choice 1

C0 D0
1,2,3, . . . 28 1,2,3, . . . 28

shift à shift à
esquerda esquerda

C1 D1
1,2,3, . . . 28 1,2,3, . . . 28
permuted
K1
choice 2
shift à shift à
esquerda esquerda

Cn Dn
1,2,3, . . . 28 1,2,3, . . . 28
permuted
Kn=2,3,...,15
choice 2

shift à shift à
esquerda esquerda

C16 D16
1,2,3, . . . 28 1,2,3, . . . 28
permuted
K16
choice 2

80
DES

Permuted Choice 2
14 17 11 24 1 5 3 28 15 6 21 10

23 19 12 4 26 8 16 7 27 20 13 2

41 52 31 37 47 55 30 40 51 45 33 48

44 49 39 56 34 53 46 42 50 36 29 32

OU SEJA
b1 b2 b3 b4 b5 b6 b7 b8 b9 ... b53 b54 b55 b56
1 2 3 4 5 6 7 8 9 53 54 55 56

Permuted Choice 2

b14 b17 b11 b24 b1 ... b50 b36 b29 b32


1 2 3 4 5 45 46 47 48

81
DES
• As caixas S (S-Boxes) foram definidas pelo NSA (National
Security Agency), órgão do governo americano, sem que
deixasse claro o porque de tais escolhas.
• Depois de alguns anos descobriu-se que essas caixas S
faziam com que as criptoanálises linear e diferencial não se
tornassem ataques práticos.
• Existem pessoas que desconfiam que as caixas S
imponham algum tipo de backdoor (porta dos fundos) no
algoritmo do DES mas isto não ficou provado até hoje e
não passa apenas de especulação.

82
DES
• O tamanho de chave aplicado ao DES (56 bits) já foi
quebrado por um ataque de força bruta em um tempo
relativamente pequeno (22 horas e 15 minutos).
• Em uma busca exaustiva da chave do DES, teríamos que, a
princípio, testar as 256 possíveis chaves.
• Mas o DES possui a seguinte característica:
• seja uma chave K;
• seja K’ a chave complemento bit a bit (ou seja se a
chave K=0110 então K’=1001 – trocam-se os 1’s por 0’s
e vice-versa);
• então EK(P)=C e EK’(P)=C’, onde C’ é o complemento bit
a bit de C.
83
DES
• Considere que temos um bloco cifrado e queremos realizar
uma busca exaustiva da chave, ou seja, decifrar este bloco
com todas as possíveis chaves e achar o texto em claro
que fizesse sentido no contexto aplicado (por exemplo,
achar um bloco que contenha uma palavra conhecida).
• Neste caso, não precisamos decifrar o bloco com todas as
chaves, uma vez que, se decifrarmos com a chave K e
acharmos o texto em claro P, logo, se decifrarmos com a
chave K’ iremos achar o texto em claro P’.
• Com isso é necessário testar apenas 255 chaves e não 256.

84
DES
• O DES possui 4 chave fracas e 6 pares de chaves semi-
fracas, totalizando 16 chaves com problema. Apesar dessa
vulnerabilidade, a utilização delas não é muito provável
(probabilidade = 16/256 = 1/252).
• Chaves fracas são as que permitem que a cifração seja
desfeita por ela mesma. Isso define uma involução na
aplicação do processo de cifra e no DES é ocasionado
quando ocorre o que é conhecido como “chaves
palindrômicas”, que são chaves que geram as seguintes
coincidências: sub-chaves K1 e K16 iguais; sub-chaves K2 e
K15 iguais, e assim sucessivamente até K8 = K9.
• Chaves semi-fracas são pares de chaves onde uma
desfaz o que é efetuado pela outra, ou seja, caso a chave
K1 seja utilizada para cifrar, a chave K2 poderá ser utilizada
para decifrar o que K1 cifrou, resultando no texto claro
original.
85
DES – Cifração Múltipla
Exemplo: Double DES

KA KB

texto texto
cifrar cifrar
claro cifrado

KB KA

texto texto
decifrar decifrar
cifrado claro

86
DES – Cifração Múltipla
Exemplo: Double DES
MEET IN THE MIDDLE ATTACK
• Suponha que temos um texto em claro e o correspondente
cifrado e queremos achar a chave usada na cifração.
• Inicialmente ciframos, com apenas o primeiro estágio, o
texto em claro com todas as possíveis chaves e armazenamos
o resultados em um vetor.
• Depois deciframos o texto cifrado, com apenas o segundo
estágio e para cada saída comparamos para ver se este valor
aparece na tabela.
• Se fizermos isto para alguns textos em claro e os
respectivos textos cifrados, conseguimos achar a chave.
87
DES – Cifração Múltipla
K1
Exemplo: Double DES K2

texto texto
cifrar decifrar
claro cifrado
chave
saída
testada
K0 X0
K1 X1
K2 X2
???
. .
.. ..

K264-1 X264-1

• Logo, um ataque de texto claro conhecido terá sucesso


contra o DES duplo, que tem um tamanho de chave de 112
bits, com um esforço da ordem de 256, não muito mais do que
os 255 exigidos para o DES simples.
88
DES – Cifração Múltipla
Exemplo: Triple DES com duas chaves
KA KB KA

texto texto
cifrar decifrar cifrar
claro cifrado

KA KB KA

texto texto
decifrar cifrar decifrar
cifrado claro

• A vantagem cifrar-decifrar-cifrar é que se colocarmos KA=KB,


podemos usar o Triple DES como sendo o DES simples, ou
seja, esta solução serve tanto para cifrar com o triple-DES
quanto para cifrar com o DES.
• Força efetiva de 2112 e o ataque meet in the middle não é
útil neste caso.
89
DES – Cifração Múltipla
Exemplo: Triple DES com três chaves
KA KB KC

texto texto
cifrar decifrar cifrar
claro cifrado

KC KB KA

texto texto
decifrar cifrar decifrar
cifrado claro

• A vantagem de cifrar-decifrar-cifrar é que se colocarmos


KA=KB=KC, podemos usar o Triple DES como sendo o DES
simples, ou seja, esta solução serve tanto para cifrar triple-DES
quanto para cifrar DES.
• Força efetiva – devido ao ataque meet in the middle – 2112 e
não 2168 como poderia se imaginar inicialmente.
90
AES
• O AES é definido no FIPS PUBS 197 (Federal Information
Processing Standards Publication 197).
• Padronizado em 2001.
• O AES foi escolhido entre diversas cifras que foram
submetidas para análise.
• A cifra escolhida foi o RIJNDAEL, que originalmente
trabalhava com blocos de 128, 192 ou 256 bits e chaves
de 128, 192 ou 256 bits.
• O AES possui:
• tamanho de bloco de 128 bits;
• tamanho da chave de 128, 192 ou 256 bits.

91
AES
Estado
bytes de vetor de bytes de
entrada estado saída

in0 in4 in8 in12 s0,0 s0,1 s0,2 s0,3 out0 out4 out8 out12

in1 in5 in9 in13 s1,0 s1,1 s1,2 s1,3 out1 out5 out9 out13

in2 in6 in10 in14 s2,0 s2,1 s2,2 s2,3 out2 out6 out10 out14

in3 in7 in11 in15 s3,0 s3,1 s3,2 s3,3 out3 out7 out11 out15

• Os bytes de entrada (in0in1in2 ... in14in15) são considerados


como uma matriz e o algoritmo AES realiza operações sobre
ela, gerando a matriz final. O bloco cifrado então é
considerado como sendo a seqüência de bytes out0out1out2
... out14out15.

92
AES
S-Box ShiftRows() MixColumns() AddRoundKey()

s0,0 s0,1 s0,2 s0,3 s0,0 s0,1 s0,2 s0,3 s0,0 s0,1 s0,2 s0,3 s0,0 s0,1 s0,2 s0,3 s0,0 s0,1 s0,2 s0,3

s1,0 s1,1 s1,2 s1,3 s1,0 s1,1 s1,2 s1,3 1 s1,0 s1,1 s1,2 s1,3 s1,0 s1,1 s1,2 s1,3 s1,0 s1,1 s1,2 s1,3

s2,0 s2,1 s2,2 s2,3 s2,0 s2,1 s2,2 s2,3 2 s2,0 s2,1 s2,2 s2,3 s2,0 s2,1 s2,2 s2,3 s2,0 s2,1 s2,2 s2,3

s3,0 s3,1 s3,2 s3,3 s3,0 s3,1 s3,2 s3,3 3 s3,0 s3,1 s3,2 s3,3 s3,0 s3,1 s3,2 s3,3 s3,0 s3,1 s3,2 s3,3

• A quantidade de passos depende do tamanho de chave


usada:
• 128 bits – 10 passos;
• 192 bits – 12 passos;
• 256 bits – 14 passos.
• No último passo não é executada a operaçãoMixColumns e
antes do primeiro passo é executada a operação
AddRoundKey.
93
Exercícios

32. (CESPE – Analista Judiciário – Apoio Especializado – Análise de Sistemas


– TRE-PR/2009 – 90) O DES é uma cifragem de bloco que utiliza uma chave de
56 bits para criar uma tabela de chaves. Ao utilizar tal tabela, o DES realiza
manipulações de bits sobre o texto simples e, para decriptar o texto cifrado,
simplesmente reverte tudo.
94
Exercícios
33. (CESPE – Perito Criminal Federal – Computação Científica – PF-
Nacional/2004 – 104) O algoritmo criptográfico DES é uma cifra de substituição
que mapeia um bloco de texto claro de 64 bits em um outro bloco de
criptograma de 64 bits.
34. (CESPE – Perito Criminal Federal – Computação Científica – PF-
Regional/2004 – 112) O algoritmo DES (Data Encryption Standard) efetua
exatamente as mesmas operações durante o processo de cifração e o de
decifração. A única diferença percebida entre os dois processos está na ordem
de aplicação das chaves parciais (chaves de round).
35. (CESPE – Técnico Judiciário – Apoio Especializado – Programação de
Sistemas – TRE-PR/2009 – 97) A técnica S-box realiza uma substituição no
nível de bits e inclui três componentes: um codificador, um decodificador e,
internamente, uma implementação da P-box. A P-box permuta a saída do
decodificador e o codificador converte a saída da P-box de volta para código
binário cifrado, com a mesma quantidade de bits encontrada na entrada do
decodificador.

95
Exercícios
36. (CESPE – Oficial Técnico de Inteligência – Suporte a Rede de Dados –
ABIN/2010 – 112) O esquema de criptografia data encryption standard (DES)
duplo é vulnerável a ataque do tipo meet-in-the-middle (encontro no meio).
37. (CESPE – Técnico Científico – Tecnologia da Informação – Segurança da
Informação – BASA/2009 – 110) O padrão DES, que utiliza chave de 64 bits,
não é mais recomendado, considerando a sua vulnerabilidade a ataques de
força bruta.
38. (CESPE – Técnico Científico – Tecnologia da Informação – Segurança da
Informação – BASA/2009 – 112) O padrão 3DES com duas chaves consiste
em três rodadas consecutivas do DES, com chaves distintas de 56 bits,
sendo que a primeira e a última usam a mesma chave, tendo assim uma
chave equivalente a 112 bits.

96
Exercícios
Na rede de computadores de uma organização pública brasileira com
diversos ativos, como, por exemplo, switches, roteadores, firewalls,
estações de trabalho, hosts servidores de aplicação web, servidores de
bancos de dados, é comum a ocorrência de ataques e de outros
incidentes que comprometem a segurança de seus sistemas. Nessa
organização, a definição de políticas e metodologias adequadas para se
lidar com esse tipo de problema cabe ao departamento de TI. Julgue os
itens abaixo relativos à segurança da informação.
39. (CESPE – Analista de Controle Externo – Tecnologia da Informação –
TCU/2008 – 168) Se, para a troca de mensagens seguras na rede de
computadores da organização citada, seus vários dispositivos móveis
empregarem sistemas baseados no algoritmo criptográfico 3DES (DES triplo) e
os vários dispositivos não-móveis utilizarem sistemas baseados no algoritmo
simples DES, a superação da diferença entre os algoritmos criptográficos
empregados pelos sistemas de troca de mensagens seguras usados por
dispositivos móveis e não-móveis dessa rede pode ser feita pelo administrador
por meio da definição K1 = K2 = K3 = K, em que K1, K2 e K3 são as três
chaves usadas no 3DES e K é a chave usada no simples DES e compartilhada
entre dois dispositivos quaisquer das duas categorias mencionadas.

97
Exercícios
40. (CESPE – Técnico Científico – Tecnologia da Informação – Segurança da
Informação – Banco da Amazônia S.A./2009 – 113) O padrão AES define
uma cifra na qual os comprimentos do bloco e da chave podem ser
especificados independentemente para 128 bits, 192 bits ou 256 bits. Os três
tamanhos de chave determinam vários parâmetros da cifra, como número de
rodadas, e podem ser usados limitando o bloco a 128 bits.
41. (CESPE – Perito Criminal Federal – Computação Científica – PF-
Nacional/2004 – 105) O DES e o seu sucessor como padrão de criptografia
do governo norte-americano, o AES, são cifradores de bloco que obedecem o
esquema geral de cifradores de Feistel. Nesses cifradores, os blocos cifrados
são divididos em metades (lado esquerdo e lado direito) de mesmo tamanho,
que são processadas independentemente, a cada rodada de cifração. Esse
processo faz que apenas metade dos bits do bloco cifrado sofra influência da
chave, em cada rodada, introduzindo confusão no processo criptográfico.

98
Modos de Operação
Electronic Codebook Mode (ECB)
Pi-1 Pi Pi+1 Ci-1 Ci Ci+1

EK EK EK DK DK DK

Ci-1 Ci Ci+1 Pi-1 Pi Pi+1

cifração ECB decifração ECB

• Vantagens:
• pode-se cifrar ou decifrar qualquer bloco de forma
independente dos demais;
• ideal para cifrar arquivos que são acessados
aleatoriamente;
• pode-se acessar, cifrar ou decifrar qualquer bloco;
• posso paralelizar a cifração, onde cada bloco é cifrado
em um processador.
99
Modos de Operação
Electronic Codebook Mode (ECB)
• Desvantagens:
• blocos em claro iguais geram blocos cifrados iguais;
• ataque block replay.
número do bloco

1 2 3 4 5 6 7 8 9 10 11 12 13
banco banco conta de quem será
data/hora nome de quem será feito o depósito valor
emissor destino feito o depósito

campo

• Inicialmente transfiro dinheiro para minha conta e,


grampeando a linha de comunicação do banco, consigo os
blocos de 5 a 12 correspondentes ao meu nome cifrado.
• Intercepto toda a comunicação do banco e substituo os
blocos de 5 a 10 pelos blocos que consegui no item anterior.
• Desta forma, todos os depósitos serão feitos na minha
conta.
100
Modos de Operação

Figura em Claro Figura Cifrada Utilizando ECB

101
Modos de Operação
Electronic Codebook Mode (ECB)
Pi-1 Pi Pi+1 Ci-1 Ci Ci+1

EK EK EK DK DK DK

Ci-1 Ci Ci+1 Pi-1 Pi Pi+1

cifração ECB decifração ECB

• Propagação de falhas
• O erro em um bit (troca) no texto cifrado – afeta 1 bloco
do texto claro decifrado.
• 1 bit do texto cifrado é removido ou adicionado – a falha
se propaga para todos os demais blocos em claro
subsequentes.
102
Modos de Operação
Cipher Block Chaining Mode (CBC)
Pi-1 Pi Pi+1 Ci-1 Ci Ci+1

IV

DK DK DK
EK EK EK
IV

Ci-1 Ci Ci+1 Pi-1 Pi Pi+1

cifração CBC decifração CBC

• Vetor de inicialização IV
• Serve para que mensagens que começam iguais não
gerem os mesmos textos cifrados.
• Não precisa ser secreto e pode ser enviado junto com a
mensagem cifrada.
103
Modos de Operação

Figura em Claro Figura Cifrada Utilizando CBC

104
Modos de Operação
Cipher Block Chaining Mode (CBC)
Pi-1 Pi Pi+1 Ci-1 Ci Ci+1

IV

DK DK DK
EK EK EK
IV

Ci-1 Ci Ci+1 Pi-1 Pi Pi+1

cifração CBC decifração CBC


• Propagação de falhas
• Erro de 1 bit no texto cifrado – afeta 1 bloco e 1 bit do
texto claro decifrado.
• 1 bit do texto cifrado é removido ou adicionado – a falha
se propaga para todos os demais blocos em claro
subsequentes.
105
Modos de Operação
Cipher Feedback Mode (CFB)

chave K cifrar chave K cifrar

pi ci ci pi

cifração CFB decifração CFB


• Propagação de falhas
• Erro de 1 bit no texto cifrado – gera 1 bit + 8 bytes
errados no texto claro decifrado (considerando o bloco de 8
bytes).
• 1 byte do texto cifrado é removido ou adicionado – falha
se propaga para os 8 bytes seguintes. Após, a decifração
continua sem falhas.
106
Modos de Operação
Output Feedback Mode (OFB)

chave K cifrar chave K cifrar

pi ci ci pi

cifração OFB decifração OFB

• Propagação de falhas
• Erro de 1 bit no texto cifrado – gera 1 bit errado no texto
claro decifrado.
• 1 bit do texto cifrado é removido ou adicionado – o erro
se propaga em todos os blocos decifrados a partir deste
erro.
107
Modos de Operação
Counter Mode
contador (1,2,3,...) contador(1,2,3,...)

chave K cifrar chave K cifrar

pi ci ci pi

decifração Counter
cifração Counter Mode
• Vantagem em relação ao OFB
Mode

• Pode-se cifrar ou decifrar Pi sem ter que gerar toda a


seqüência para cifração dos Pj (onde j<i) anteriores.
• Propagação de falhas
• Erro de 1 bit no texto cifrado – gera 1 bit errado no texto
claro decifrado.
• 1 bit do texto cifrado é removido ou adicionado – erro em
todos os blocos decifrados a partir deste erro.
108
Exercícios
42. (CESPE – Analista Judiciário – Análise de Sistemas – TST/2007 – 117 ) O
modo de operação ECB (Electronic Codebook) não é adequado quando o texto
em claro possui baixa entropia.
43. (CESPE – Analista Judiciário – Análise de Sistemas – TST/2007 – 118)
Uma cifra de bloco com o modo de operação CBC (Cipher Block Chaining)
pode ser utilizada para construir um código de autenticação de mensagens
(MAC).
44. (CESPE – Analista Judiciário – Análise de Sistemas – TST/2007 – 119) No
modo CBC, é recomendável que seja escolhido um único vetor de inicialização
para a cifração de diversas mensagens.
45. (CESPE – Técnico Científico – Banco da Amazônia/2006 – 118) O modo de
operação CBC é um dos mais utilizados para criptografar dados. Uma
importante característica desse modo é o fato de se poder cifrar ou decifrar
qualquer bloco de forma independente dos demais blocos, o que o torna ideal
para cifrar arquivos que são acessados aleatoriamente.
46. (CESPE – Analista Executivo em Metrologia e Qualidade – Redes –
INMETRO/2009 –61) O modo ECB é mais seguro que o CBC, mas é menos
eficiente que o CTR.
109
Exercícios
47. (CESPE – Perito Criminal Federal – Computação Científica – PF-
Regional/2004 – 115) Para a utilização do modo de operação CBC (Cipher
Block Chaning Mode), é necessário que seja criado o que se denomina vetor
de inicialização (initialization vector), que evita que mensagens que comecem
idênticas gerem criptogramas com começos idênticos. Um inconveniente
desse modo de operação reside na questão da propagação de erros, pois,
caso haja um bit errado em um bloco de criptograma a ser decifrado, todos os
blocos a partir dali serão decriptografados de forma errada.
48. (CESPE – Tecnologista – Classe Pleno I – ABIN/2004 – 56) Diversos modos
de operação são definidos para cifradores de bloco. Entre eles, tem-se
destacado ultimamente o modo contador, que permite implementações de alta
velocidade por meio de paralelização e(ou) pré-processamento, mas que
apresenta a desvantagem de ser menos seguro em relação a outros modos,
pois o conhecimento do valor inicial do contador simplifica a determinação da
chave utilizada.

110
Cifras de Fluxo – OTP
• O One-Time Pad (OTP) é o esquema de cifração perfeito.
• Em dados binários, ele utiliza uma chave gerada de forma
aleatória, do tamanho do texto.
• A operação de cifração consiste na operação XOR bit a bit
do texto em claro com a chave.
• Neste método de cifração, a busca exaustiva da chave não
é eficaz, uma vez que todos os possíveis textos são achados
quando se aplica a busca exaustiva.

111
Cifras de Fluxo – OTP
Exemplo: Suponha que temos um texto cifrado que é 0101.
Se aplicarmos a busca exaustiva, obteremos:
texto cifrado chave de busca exaustiva texto em claro analisado
0101 0000 0101
0101 0001 0100
0101 0010 0111
0101 0011 0110
0101 0100 0001
0101 0101 0000
0101 0110 0011
0101 0111 0010
0101 1000 1101
0101 1001 1100
0101 1010 1111
0101 1011 1110
0101 1100 1001
0101 1101 1000
0101 1110 1011
0101 1111 1010
112
Cifras de Fluxo – OTP
Exemplo (cont.):

• Ou seja, se tentarmos a busca exaustiva iremos achar todos


os possíveis textos em claro e não poderemos identificar qual
era o texto em claro original a não ser que tenhamos a chave
utilizada na cifração.

113
Cifras de Fluxo – RC4
• É uma cifra de fluxo de tamanho de chave variável (até
no máximo 2048 bits)
• Desenvolvida em 1987 por Ron Rivest para a empresa
RSA Data Security, Inc.

114
Cifras de Fluxo – RC4
Geração do Vetor S
• Seja o vetor S de 256 posições (S0, S1, ..., S255) onde cada
elemento do vetor armazena um byte.
• Seja um vetor K de 256 posições (K0, K1, ..., K255) onde
cada elemento do vetor armazena um byte.
• Inicialize o vetor S da seguinte forma:S0=0,S1=1,...,
S255=255.
• Preencha o vetor K com a chave, repetindo a chave se
necessário até completar todo o vetor K.
• Seja j = 0
• Para i=0 até 255 faça
j=(j+Si+Ki) mod 256
troque Si com Sj
115
Cifras de Fluxo – RC4
Geração da seqüência pseudo aleatória

• Sejam i = 0 e j = 0
• i=(i+1)mod 256
• j=(j+Si) mod 256
• troque Si com Sj
• T=(Si+Sj)mod 256
• B=St
• Ou seja, B é um byte pseudo aleatório gerado. Executa-se o
algoritmo acima para quantos bytes pseudo aleatórios
necessários.

116
Cifras de Fluxo – RC4
Cifração

Cx=Bx XOR Px

• Onde:
• Cx é o byte x do texto cifrado;
• Bx é o byte x gerado pelo RC4;
• Px é o byte x do texto em claro.

117
Cifras de Fluxo – RC4
Decifração

Px=Bx XOR Cx

• Onde:
• Cx é o byte x do texto cifrado;
• Bx é o byte x gerado pelo RC4;
• Px é o byte x do texto em claro.

118
Exercícios
49. (CESPE – Técnico Científico – Tecnologia da Informação – Segurança da
Informação – Banco da Amazônia S.A./2009 – 106) Enquanto uma cifra de
bloco atua em um bit ou byte do fluxo de dados por vez, uma cifra de fluxo atua
sobre um conjunto de caracteres de texto em claro, que são tratados como um
todo e usados para produzir um criptograma de igual comprimento.
50. (CESPE – Tecnologista – Classe Pleno I – ABIN/2004 – 53) Um único sistema
criptográfico, denominado sistema de chave única, é considerado
matematicamente inquebrável. Esse sistema tem o inconveniente de ter de
dispor de uma chave secreta distinta, imprevisível e de, pelo menos, mesmo
tamanho que a mensagem, para cada mensagem a ser cifrada. Todos os
demais sistemas são, em princípio, quebráveis.
51. (CESPE – Perito Criminal Federal – Computação Científica – PF-
Nacional/2004 – 107) O algoritmo criptográfico RC4 tem como princípio de
funcionamento o segredo criptográfico perfeito, em que a chave criptográfica
deve ter o mesmo tamanho que a mensagem. Desse modo, no RC4, a chave
de criptografia é a semente de uma seqüência pseudo-aleatória que é usada
para chavear os bytes cifrados em uma operação linear. A mensagem cifrada
pode ser tão longa quanto o período da seqüência gerada.

119
Exercícios
52. (CESPE – AFCE – Tecnologia da Informação – TCU/2009 – 162) Considere a
seguinte situação hipotética. Um analista foi incumbido de construir um sistema
de comunicações seguro baseado em uma combinação de cifragem simétrica e
esteganografia no qual as mensagens trocadas entre o emissor (E) e o
destinatário (D) sejam sempre de pequeno tamanho e que apenas uma
pequena quantidade de mensagens seja eventualmente trocada durante todo o
ciclo de vida do sistema. De acordo com os critérios de segurança do sistema,
deverá ser provida absoluta confidencialidade do teor das mensagens, em
detrimento de integridade e disponibilidade. Para tal tarefa, o implementador
dispõe de um gerador de números aleatórios de elevadíssima qualidade, mas
precisa fazer uma implementação de grande simplicidade. Esses critérios e o
desenho do sistema de cifragem não são conhecidos pelo oponente (O). Nessa
situação, é mais adequado que o implementador do sistema adote um modelo
com base na técnica de one-time pad, que utiliza uma cifra de fluxo, em vez de
um modelo baseado no algoritmo DES (data encription standard), que utiliza
cifra de bloco.

120
Algoritmos de Chave Pública
• RSA
• Diffie-Hellman

121
Algoritmos de Chave Pública
• Principais problemas geradores de algoritmos de chaves
públicas:
• soma dos subconjuntos (algoritmo da mochila);
• fatoração de inteiros (RSA);
• logaritmo discreto (ElGamal e Diffie-Hellman);
• curvas elípticas.
• Aplicações para criptossistemas de chave pública:
• criptografia/decriptografia;
• assinatura digital;
• troca de chave.

122
Algoritmos de Chave Pública

123
RSA
• Publicado em 1978.
• Nome RSA provém das iniciais dos autores (Ron Rivest,
Adi Shamir e Len Adleman).
• Baseado na dificuldade de fatorar um número inteiro
grande.
• Amplamente difundido.

124
RSA
Geração das chaves pública e privada
• Sejam dois números primos grandes p e q.
• Calcule n = p.q.
• Seja e escolhido randomicamente tal que e e
(p-1)(q-1) sejam primos entre si.
• Calcule d tal que e.d ≡1 mod(p-1)(q-1).
• Desta forma:
• e e n formam a chave pública;
• d e n formam a chave privada.

125
RSA
Cifração
• Divida a mensagem em blocos numéricos menores que n
• Seja mi o bloco de texto claro que se deseja cifrar
• Seja ci o bloco de texto cifrado correspondente a mi
• ci é calculado da seguinte forma:

ci=mie mod n

126
RSA
Decifração
• Seja ci o bloco de texto cifrado que se deseja decifrar.
• Seja mi o bloco de texto claro correspondente a ci.
• mi é calculado da seguinte forma:

mi=cid mod n

127
RSA
Exemplo – geração das chaves:
• Passo 1 - escolha de p e q
• Suponha que escolhamos p = 47 e q = 71
• Passo 2 - Cálculo de n
• n = p.q = 3337
• Passo 3 - escolha de e
• Lembre que e não pode ter fatores em comum com (p-1)(q-1) =
46.70 = 3220
• Suponha que escolhamos e = 79.
• Passo 4 - cálculo de d
• Utilizaremos o algoritmo euclidiano estendido para calcular d
• d = 79-1 mod 3220 = 1019
• Passo 5 - Torne público e e n e mantenha d secreto. Descarte p e q.
128
RSA
Exemplo – cifração:
• Para cifrar a mensagem: m=6882326879666683
• Primeiro quebre-a em blocos pequenos. Blocos de três dígitos funcionam
bem neste caso. A mensagem é quebrada em seis blocos, mi, que são:
• m1=688
• m2=232
• m3=687
• m4=966
• m5=668
• m6=003
• O primeiro bloco é cifrado da seguinte forma: 68879 mod 3337 = 1570 =
c1
• Realizando a mesma operação nos blocos subseqüentes, será gerada a
seguinte mensagem cifrada:
c = 1570 2756 2091 2276 2423 158
129
RSA
Exemplo – decifração:

• Decifrar a mensagem consiste em realizar a mesma


operação de exponenciação usando a chave de decifração
1019, então:

15701019 mod 3337 = 688 = m1

• O resto da mensagem será decifrado da mesma maneira.

130
Alg. Diffie-Hellman (Troca de Chaves)
• Segurança baseada na dificuldade de se calcular o logaritmo
discreto em corpos finitos.
• Pode ser usado para troca de chaves.
• Não pode ser usado para cifrar ou decifrar mensagens.

131
Alg. Diffie-Hellman (Troca de Chaves)
• Suponha que Alice e Bob desejam combinar uma chave.
• Primeiro eles combinam dois números primos grandes n e g
tal que g é primitivo mod n.
• Esses dois números não precisam ser secretos e podem ser
usados por várias pessoas.
• Depois, o algoritmo se segue da seguinte forma:
• Alice escolhe um número inteiro aleatório grande x e
envia para Bob X calculado da seguinte forma: X=gx mod
n;
• Bob escolhe um número inteiro aleatório grande y e
envia para Alice Y calculado da seguinte forma: Y=gy mod
n;
132
Alg. Diffie-Hellman (Troca de Chaves)
• (Cont.):
• Alice calcula k = Yx modn;
• Bob calcula k’=Xy mod n;
• k e k’são iguais a gxy mod n e ninguém que tenha
monitorado a linha de comunicação poderá calcular este valor.

133
Alg. Diffie-Hellman (Troca de Chaves)
Exemplo: Sejam o numero primo n=97 e a raiz primitiva g=5

ALICE BOB

GERA GERA
ALEATORIAMENTE ALEATORIAMENTE
x=36 (chave privada) y=58 (chave privada)

CALCULA CALCULA
36 58
X= 5 mod 97 = 50 Y= 5 mod 97 = 44
(chave pública) (chave pública)

Alice envia X=50 para Bob

Bob envia Y=44 para Alice

CALCULA CALCULA
K= 4436 mod 97 = 75 K= 5058 mod 97 = 75
(chave secreta (chave secreta
compartilhada por compartilhada por
Bob e Alice) Bob e Alice)

134
Exercícios
53. (CESPE – Oficial Técnico de Inteligência – Suporte a Rede de Dados –
ABIN/2010 – 113) Em criptossistemas de chave pública, o algoritmo de Rivest,
Shamir e Adleman (RSA) é adequado para a implementação de
criptografia/decriptografia, assinatura digital e troca de chave.
54. (CESPE – Técnico Científico – Banco da Amazônia/2006 – 117) Um dos
mais utilizados algoritmos de criptografia é o RSA, que se baseia na dificuldade
de fatoração de números primos grandes e utiliza, por ser um algoritmo de
ciframento assimétrico, um par de chaves (pública e privada) para cada
usuário.
55. (CESPE – Perito Criminal Federal – Computação Científica – PF-
Regional/2004 – 114) O algoritmo de criptografia assimétrica RSA (Rivest,
Shamir e Adleman) tem sua segurança fundamentada na dificuldade de se
fatorar números inteiros muito grandes. Além de ser utilizado para criptografar
mensagens a serem enviadas por canais inseguros de comunicação, o RSA
também pode ser aplicado na criptografia de chaves simétricas que são
utilizadas na criptografia simétrica de mensagens.

135
Exercícios
56. (CESPE – Perito Criminal Federal – Computação Científica – PF-
Nacional/2004 – 103) Cada uma das chaves pública e privada de um
criptossistema RSA são formadas por dois números inteiros denominados
expoente e módulo, ambos devendo ser números primos.
57. (CESPE – Técnico Judiciário – Programação de Sistemas – TRE-PR/2009
– 98) No método RSA, a chave de decodificação consiste em um par de
inteiros (n, e) em que n é o produto de dois inteiros quaisquer, não primos, e e
é tal que mdc(e, F(n)) = 1, em que F é a função de Euler.
58. (CESPE – Analista Judiciário – Análise de Sistemas – TST/2007 – 116) O
criptossistema RSA é seguro caso o problema da fatoração de números
inteiros seja intratável, ou seja, não exista um algoritmo de fatoração de tempo
polinomial.
59. (CESPE – Analista Judiciário – Informática – STJ/2008 – 111) O sistema
RSA é seguro contra ataques adaptativos de texto cifrado escolhido.
60. (CESPE – Analista Judiciário – Informática – STJ/2008 – 112) O esquema
OAEP apresenta segurança demonstrável no caso em que utiliza o RSA,
devido às propriedades deste último.

136
Exercícios
61. (CESGRANRIO – Analista de Sistemas Júnior – Infraestrutura –
PETROBRAS/2011 – 37) Sejam os parâmetros de um sistema de chave
pública RSA.
• Dois primos selecionados inicialmente p = 5 e q = 11
• Chave pública: k1 = 3
Qual é o valor da chave secreta?
(A) 3 (mod 40)
(B) 17 (mod 40)
(C) 23 (mod 40)
(D) 27 (mod 40)
(E) 53 (mod 40)

137
Exercícios
62. (CESPE – Analista – Redes – SERPRO/2008 – 82) O criptossistema Diffie-
Hellman define uma forma segura de troca de chaves.
63. (CESPE – Analista de Redes – MPERR/2008 – 106) A segurança do
criptossistema Diffie-Helmman baseia-se na complexidade computacional do
problema do logaritmo discreto.
64. (CESPE – Analista Executivo em Metrologia e Qualidade – Redes –
INMETRO/2009 – 65) O criptosistema Diffie-Hellman é normalmente usado
para cifração e decifração, além do estabelecimento de chaves.

138
Funções de Hash – Requisitos
H(x)

x
x x x
x x
x
difícil
x
x
x

• Para ser útil para autenticação de mensagens, uma função


de hash H(x) precisa ter as seguintes propriedades:
• H(x) pode ser aplicada a um bloco de dados de qualquer
tamanho.
• H(x) produz uma saída de comprimento fixo.
139
Funções de Hash – Requisitos
• (Cont.):
• H(x) é facil de calcular para qualquer x, tornando as
implementações de hardware e software práticas.
• Para qualquer valor de h dado, é computacionalmente
inviável encontrar x tal que H(x) = h.
• Para qualquer bloco dado x, é computacionalmente
inviável encontrar y  x tal que H(y) = H(x).
• É computacionalmente inviável encontrar qualquer par
(x,y) tal que H(x) = H(y).

140
Funções de Hash – SHS
• Especificado na FIPS PUB 180-3 (Federal Information
Processing Standards Publications).
• Nome do padrão: Secure Hash Signature Standard (SHS)
(FIPS PUB 180-3).
• O padrão especifica cinco algoritmos hash seguros – SHA-1,
SHA-224, SHA-256, SHA-384 e SHA-512.
• Segundo o padrão, é computacionalmente inviável:
• achar uma mensagem que corresponda a um message
digest;
• achar duas mensagens que possuam o mesmo message
digest.

141
Funções de Hash – SHS
Características:
Algoritmo Tamanho da Tamanho do Tamanho da Tamanho do Segurança
mensagem bloco (bits) palavra message (bits)
(bits) (bits) digest (bits)

SHA-1 < 264 512 32 160 80

SHA-224 < 264 512 32 224 112

SHA-256 < 264 512 32 256 128

SHA-384 < 2128 1024 64 384 192

SHA-512 < 2128 1024 64 512 256

• O item segurança considera que o ataque do aniversário em


um message digest de tamanho n produz uma colisão com
fator de trabalho de aproximadamente 2n/2.

142
Funções de Hash – SHA-1
• O algoritmo utiliza:
• 80 palavras de 32 bits fixas (constantes);
• 5 variáveis de 32 bits (A, B, C, D, E);
• Um valor hash com 5 palavras de 32 bits.
• Deve ser feito o pré-processamento antes da execução do
algoritmo:
• “padding” para um múltiplo de 512 e divisão em blocos
de 512.

143
Funções de Hash – SHA-1
• Para cada um dos N blocos de 512 bits:
• Iteração de 80 repetições com as operações:
• f(x,y,z);
• adições mod 232;
• deslocamentos e rotações;
• As variáveis utilizadas serão inicializadas e apresentarão
valores que serão passados para as iterações com os
outros blocos (N).
• Ao final, as cinco palavras de 32 bits serão concatenadas,
gerando o hash final de 160 bits.

144
Funções de Hash – SHA-1
• A mensagem final deve ter um número de bits múltiplo de
512.
• Exemplo: a mensagem é “abc”
• acrescenta-se um bit 1;
• vários bits 0;
• 64 bits representando o tamanho original da mensagem.

145
Funções de Hash – MD-5
• Melhoria do MD4.
• Projetado por Ron Rivest (também autor do MD4).
• MD (Message Digest).
• MD5 e MD4 produzem um hash de 128 bits.
• MD5 roda 30% mais lento que o MD4.

146
Funções de Hash – Birthday Attack
• Existem dois ataques de força bruta contra funções one
way:
• dado o MD (hash) de uma mensagem H(M), o inimigo
tenta achar M’ tal que H(M)=H(M’);
• o inimigo tenta achar duas mensagens aleatórias, M e M’
tal que H(M)=H(M’). Isto é bem mais fácil que o item
anterior.
• O paradoxo do aniversário é um problema estatístico
clássico.

147
Funções de Hash – Birthday Attack
• Quantas pessoas devem estar em uma sala para que eu
tenha uma chance maior do que 50% de que uma dessas
pessoas tenham o mesmo aniversário que eu?
• Resp: 253.
• Quantas pessoas devem estar em uma sala para que se
tenha uma chance maior que 50% de que duas dessas
pessoas façam aniversário no mesmo dia?
• Resp: 23.
• O primeiro problema apresentado acima é análogo ao
primeiro caso de força bruta.
• O segundo problema apresentado é análogo ao segundo
caso de força bruta.
148
Funções de Hash – Birthday Attack
• Considere uma função hash que gere um hash de m bits:
• achar uma mensagem que tenha um valor hash
específico requer o cálculo do hash de 2m mensagens
aleatórias (2m é o espaço de todos os possíveis hash);
• achar duas mensagens que tenham o mesmo valor hash
requer o cálculo do hash de 2m/2 mensagens aleatórias.
• Uma máquina que calcule o hash de um milhão de
mensagens por segundo levaria 600.000 anos para achar uma
segunda mensagem que possua um hash específico de 64
bits.
• A mesma máquina pode achar um par de mensagens que
tenham o mesmo valor hash em aproximadamente uma hora.

149
Funções de Hash – Birthday Attack
• Uma pessoa está se preparando para assinar uma
mensagem onde a assinatura consiste em um hash de m bits
cifrado com sua chave privada.
• O fraudador prepara 2m/2 mensagens diferentes com o
mesmo sentido e calcula os respectivos hash.
• O fraudador prepara 2m/2 mensagens diferentes com
conteúdo fraudulento e calcula os respectivos hash.
• Os dois conjuntos são comparados.
• Pelo ataque do aniversário, a probabilidade de se obter uma
mensagem do primeiro grupo com um hash igual a uma
mensagem do segundo grupo é de mais de 50%.

150
Funções de Hash – Birthday Attack
• Considere que conseguimos essas duas mensagem e elas
são, respectivamente M e M’.
• O fraudador então entrega a mensagem M para quem vai
assinar e essa assinatura será válida também para M’.

• Conclusão:
• Se usamos uma função hash que gera um resumo de m
bits, o nível de esforço necessário para quebrá-la é 2m/2.

151
Exercícios
65. [21](Analista – Área 1 – BACEN/2010 – CESGRANRIO) Um fabricante de
software disponibiliza atualizações de seus produtos no site
http://www.exemplodefabricante.com.br/ update, que é sempre divulgado nas
seções de ajuda dos aplicativos. Considerando-se que existe um arquivo
SHA-1 associado a cada atualização disponível para download, é
INCORRETO afirmar que o(a)
(A) objetivo desse mecanismo, embora imperfeito, é garantir ao usuário que as
atualizações baixadas estejam íntegras em relação à origem.
(B) algoritmo de hash utilizado é, atualmente, passível de ataques de colisão em
tempo computacionalmente viável.
(C) mecanismo de integridade utilizado está limitado a arquivos menores que 2 PB,
em virtude do limite atual de 64 bits.
(D) protocolo utilizado para download (HTTP) não oferece, nativamente, garantia
de confidencialidade dos dados.
(E) utilização do HTTPS, em vez do HTTP, melhoraria significativamente a
segurança do download das atualizações.

152
Exercícios
66. (CESPE – Perito Criminal Federal – Computação Científica – PF-
Nacional/2004 – 106) MD5 e SHA-1 são funções de resumo de mensagem
(funções hash). Esses algoritmos têm a finalidade de garantir a integridade e a
autenticidade para mensagens de tamanho arbitrário.
67. (CESPE – Oficial Técnico de Inteligência – Suporte a Rede de Dados –
ABIN/2010 – 111) As técnicas usadas para verificar a integridade de dados
contra dano acidental, tais como os checksums, podem por si só ser usadas
para garantir a integridade dos dados contra mudanças intencionais.
68. (CESPE – Analista Administrativo – Tecnologia da Informação – Redes e
Segurança – ANATEL/2009 – 87) MD2, MD4 e MD5 são uma família de
funções hash do tipo one-way. O MD2 produz uma chave de 64 bits que é
considerada menos segura que as do MD4 e do MD5. O MD4 produz uma
chave de 128 bits e usa operandos de 32 bits para uma rápida implementação.
69. (CESPE – Tecnologista Jr – MCT/2008 – 109) Segundo o padrão FIPS 180-2,
os algoritmos SHA-384 e SHA-512 operam com tamanho de bloco de entrada
de 1.024 bits.

153
Assinatura Digital
Esquema de assinatura digital

Kpública => todos conhecem


par de chaves de uma
cifra assimétrica
Kprivada=> só Bob conhece

hash hash cifrado


com Kprivada

documento

assinatura

154
Assinatura Digital
Verificação da assinatura digital

gera o hash do documentos

hash (H1) se for igual => assinatura válida


compara
hash (H2) se for diferente => assinatura não válida

decifra a assinatura com a


chave Kpública

155
Assinatura Digital
Esquema de assinatura digital

Kpública => todos conhecem par de chaves de uma


cifra assimétrica
Kprivada=> só Bob conhece

documento documento
cifrado
com Kprivada

assinatura

156
Assinatura Digital
Verificação da assinatura digital

decifra a assinatura com a


chave Kpública

157
Assinatura Digital

assinatura

hash cifrado
com Kprivada
hash emissor

documento
documento
cifrado com
Kpública
destinatário

158
Esquema Híbrido
Alice Sigilo
Trudy Bob

documento Canal Seguro documento


Canal Inseguro
E D
Integridad
e

hash Ksim Ksim


hash
E KPu B KPri B D

H1
Se
KPri A E H1 = H2

D H2
assinatura assinatura
validada !
Autenticidade KPu A

159
Exercícios
70. (CESPE – Analista Judiciário – Análise de Sistemas – STM/2011 – 109)
Uma assinatura digital confere autenticidade, integridade e sigilo a uma
mensagem.
71. (CESPE – Analista de Informática – Banco de Dados – MPU/2010 – 139)
Assumindo que as assinaturas não possam ser forjadas, os esquemas de
criptografia de chaves públicas permitem que mensagens criptografadas sejam
assinadas de tal modo que o recipiente possa ter certeza de que a mensagem
originou-se com a pessoa que alega tê-la feito.

160
Certificação Digital – Certificados

dados
do
titular H
A resumo
S
extensões H

chave chave
privada pública

assinatura CRIPTO
chave
digital privada
(AC)

161
Certificação Digital – O que é ICP?

hardware, criação,
software, gerenciamento, certificados
pessoas, armazenamento, digitais
políticas, distribuição,
procedimentos revogação

criptografia
de chave
pública

162
Certificação Digital – Padrões de ICP
• Objetivos:
• gerenciamento eficiente e confiável de chaves
públicas/certificados;
• interoperabilidade.
• Principais padrões abertos de ICP:
• X.509;
• PKIX.

163
Certificação Digital – X.509
• Origem: ITU-T.
• Versão 3 atualizada em março de 2000.
• Dois tipos de certificados:
• de chave pública (autenticação);
• de atributos (autorização).
• ISO/IEC 9594-8.
• Inclui infra-estrutura para gerenciamento de certificados
de atributos.

164
Certificação Digital – PKIX
• Internet X.509 Public Key Infrastructure.
• Internet Engineering Task Force – IETF: PKIX Working
Group.
• Principais objetivos:
• aperfeiçoar gerência de certificados;
• promover a interoperabilidade de aplicações.
• Baixa demanda de comunicação.

165
PKIX – Entidades de uma ICP
• Autoridade Certificadora (AC);
• Autoridade de Registro (AR);
• Repositório;
• Entidade Final (EF).

166
PKIX – Relacionamento de Entidades
(RFC 5280)

ENTIDADE FINAL
Transações operacionais e
de gerência em repositório Transações de
R gerência Usuários de ICP
E
P Entidades de
O gerenciamento
S AR de ICP
Publicação de certificado
I
T
Ó
R AC
Publicação de certificado e de LCR
I
O Transações de
gerência
EMISSOR LCR
Publicação
de LCR AC

167
PKIX – Atribuições das Entidades
• Autoridade Certificadora (AC): emite, gerencia, publica
e revoga certificados.
• Autoridade de Registro (AR): sistema opcional que
assegura o vínculo entre chaves públicas e identidades de
seus proprietários, dentre outras funções de
gerenciamento, delegadas pela CA.
• Entidade final (EF): usuário de certificados ou entidade
de um sistema de usuário final, proprietários de
certificados.
• Repositório: sistema ou coleção de sistemas distribuídos
com a finalidade de armazenar certificados e Listas de
Certificados Revogados (LCR), distribuindo esses
elementos às entidades finais.
168
PKIX – Atribuições das Entidades
• Registro: processo pelo qual um indivíduo faz-se
conhecido pela AC, diretamente, ou por meio de uma AR,
antes da emissão de certificado(s) relativo(s) a esse
indivíduo.
• Inicialização: se dá quando um indivíduo, usuário ou
cliente, obtém valores necessários ao início das
comunicações com a ICP, como por exemplo, a geração de
um par de chaves.
• Certificação: processo em que a AC emite um certificado
da chave pública de um indivíduo e lhe envia o certificado,
ou publica-o em um repositório.

169
PKIX – Atribuições das Entidades
• Recuperação de chave privada: como uma opção,
materiais de chave de um usuário de chave pública (por
exemplo, a chave privada de um usuário, utilizada para
propósito de cifração) podem ser recuperados por meio de
cópias de segurança, feitas pela AC. Possibilita reaver a
chave privada de um usuário quando essa é perdida. Por
exemplo, no caso de um funcionário ter sido demitido, para
permitir a recuperação de dados cifrados de relevância à
empresa.
• Atualização do par de chaves: todos os pares de chave
necessitam ser regularmente atualizados, isto é, substituídos
por um novo par. Em novo certificado é emitido.
• Geração de chaves: o par de chaves pode ser gerado no
ambiente local do usuário, ou pela AC, dependendo da
política adotada.
170
PKIX – Atribuições das Entidades
• Revogação: possibilita a divulgação de listas de
certificados que tenham sido revogados antes de seus
respectivos prazos de validade, por meio de LCRs ou outros
métodos, como a checagem de revogação on-line. A
requisição de revogação implica em uma AC ser avisada de
uma situação anormal que exige a revogação de
certificado.
• Certificação cruzada: utilizada para permitir que
clientes/usuários em um ambiente administrativo
comuniquem-se com parceiros de outros ambientes, em
hierarquias distintas.
• distribuição/publicação de certificados e
notificações de revogação.

171
PKIX – Delineamento de Políticas
• Para o desenvolvimento de uma ICP segura faz-se
necessário o desenvolvimento de uma Política de
Certificado (PC) e uma Declaração de Práticas de
Certificação (DPC).
• Ambas devem tratar de: segurança física e pessoal,
requisitos para identificação de indivíduos, política de
revogação, perfil dos certificados, etc.

172
RFC 5280 – Estrutura de Certificados
Certificate ::= SEQUENCE { (Codificação
tbsCertificate TBSCertificate, ASN.1 DER –
signatureAlgorithm AlgorithmIdentifier, ITU-T X.208)
signatureValue BIT STRING
}
TBSCertificate ::= SEQUENCE {
version [0] EXPLICIT Version DEFAULT v1,
serialNumber CertificateSerialNumber,
signature AlgorithmIdentifier,
issuer Name,
validity Validity,
subject Name,
subjectPublicKeyInfo SubjectPublicKeyInfo,
issuerUniqueID [1] IMPLICIT UniqueIdentifier OPTIONAL,
-- If present, version shall be v2 or v3
subjectUniqueID [2] IMPLICIT UniqueIdentifier OPTIONAL,
-- If present, version shall be v2 or v3
extensions [3] EXPLICIT Extensions OPTIONAL
-- If present, version shall be v3
}

173
RFC 5280 – Principais Extensões
• Authority Key Identifier
• Subject Key Identifier
• Key Usage
• Certificate Policies
• Policy Mappings
• Subject Alternative Name
• Issuer Alternative Name
• Basic Constraints
• Name Constraints
• Policy Constraints
• Extended key usage field
• CRL Distribution Points
174
RFC 5280 – Estrutura de LCR
CertificateList ::= SEQUENCE {
tbsCertList TBSCertList,
signatureAlgorithm AlgorithmIdentifier,
signatureValue BIT STRING
}
TBSCertList ::= SEQUENCE {
version Version OPTIONAL,
-- if present, shall be v2
signature AlgorithmIdentifier,
issuer Name,
thisUpdate Time,
nextUpdate Time OPTIONAL,
revokedCertificates SEQUENCE OF SEQUENCE {
userCertificate CertificateSerialNumber,
revocationDate Time,
crlEntryExtensions Extensions OPTIONAL
-- if present, shall be v2
} OPTIONAL,
crlExtensions [0] EXPLICIT Extensions OPTIONAL
-- if present, shall be v2
}

175
RFC 5280 – Distinguished Names (DN)
• Identificação única em árvores hierárquicas de diretórios
(ITU-T X.500).
• Ex.: cn = Jose da Silva,
ou = Departamento de Engenharia Elétrica,
o = Uniceub,
c = BR

176
RFC 5280 – Distinguished Names (DN)

c = BR

o = Uniceub o = Empresa XYZ

ou = Eng Elétrica ou = Admin ou = Admin ou = Desenv

cn = Fulano
cn = Jose da Silva cn = Bira dos Anzois
de Tal

177
Exercícios
72. (CESPE – Técnico Científico – Tecnologia da Informação – Segurança da
Informação – Banco da Amazônia S.A./2009 – 116) Um certificado digital é a
chave pública de um usuário assinada por uma autoridade certificadora
confiável.
Considere que, em determinada empresa, o funcionário Haroldo precise
passar informações confidenciais para o seu chefe, Júlio. Para maior
segurança, os dados são transmitidos criptografados pela rede da
empresa. Rogério, outro funcionário da empresa, está tentando
indevidamente interceptar as informações trocadas entre Haroldo e
Júlio. Com base nessa situação hipotética, julgue os itens de 87 a 90,
acerca de configurações e do emprego dos sistemas de criptografia.
73. (CESPE – Técnico de Informática – MPU/2010 – 87) Considere que Haroldo
e Júlio se comuniquem utilizando um sistema de criptografia de chave pública,
sem assinatura digital. Nesse caso, se Rogério, passando-se por Haroldo,
enviar uma mensagem criptografada para Júlio, este pode não ter como saber
que a mensagem não foi enviada por Haroldo.

178
Exercícios
74. (CESPE – Técnico de Informática – MPU/2010 – 88) Mesmo que Haroldo e
Júlio coloquem normalmente os seus nomes no corpo das mensagens
trocadas entre eles, esse procedimento não facilita o deciframento não
autorizado das mensagens, já que os dados são criptografados.
75. (CESPE – Técnico de Informática – MPU/2010 – 89) Caso Haroldo utilize
assinatura digital em suas mensagens, Júlio pode comprovar se uma
mensagem supostamente enviada por Haroldo partiu realmente dele. Além
disso, caso Haroldo resolva negar que tenha enviado dada mensagem, tendo
ele efetivamente a enviado, Júlio pode provar que a mensagem é de fato de
Haroldo.
76. (CESPE – Técnico de Informática – MPU/2010 – 90) Caso Júlio tenha obtido
um certificado digital de uma autoridade certificadora, ele deve proteger esse
certificado e mantê-lo em sigilo.

179
Exercícios
77. (CESPE – Analista de Saneamento – Analista de TI – Desenvolvimento –
EMBASA/2010 – 102) Um certificado digital possui alguns atributos comuns,
entre os quais estão a assinatura do emissor do certificado e o prazo de
validade.
78. (CESPE – Tecnologista Pleno – Segurança de Sistemas de Informação –
MCT/2008 – 110) Todo certificado X.509 possui um campo de assinatura que
contém o hash dos demais campos do certificado. Esse hash é cifrado com a
chave privada do usuário ao qual o certificado se refere.
79. (CESPE – Tecnologista Pleno – Segurança de Sistemas de Informação –
MCT/2008 – 111) Na public key infrastructure X.509 (PKIX), o processo de
registro é definido como sendo aquele em que uma autoridade certificadora
(CA) se registra junto a outra CA, tornando-se a primeira uma CA subordinada
à segunda.
80. (CESPE – Tecnologista Pleno – Segurança de Sistemas de Informação –
MCT/2008 – 112) O algoritmo de chave pública RSA pode ser utilizado nos
processos de registro, assinatura e revogação de certificados da PKIX.

180
SSL
• O Security Socket Layer (SSL) oferece serviços de
segurança entre TCP e aplicações que usam TCP.
• A versão padrão da Internet é chamada de Transport Layer
Service (TLS).
• O SSL/TLS oferece confidencialidade usando criptografia
simétrica e integridade de mensagens usando um código
de autenticação de mensagens.
• O SSL/TLS inclui mecanismos de protocolo para permitir
que dois usuários TCP determinem os mecanismos e os
serviços de segurança que eles usarão.

181
SSL

Pilha de Protocolos SSL

182
Exercícios
81. (FCC – Analista Judiciário – Análise de Sistemas – TRT-13R/2005 – 55)
Observe as seguintes definições sobre o protocolo SSL – Secure Socket
Layer na questão da segurança em ambiente internet:
I. SSL não faz distinção entre uma conexão e uma sessão.
II. Quando um cliente e um servidor estabelecem uma conexão SSL pela
primeira vez, eles necessitam estabelecer uma chave compartilhada
chamada master_secret.
III. O SSL só pode ser usado no serviço Internet FTP.
É correto o que se afirma SOMENTE em
(A) I
(B) II
(C) III
(D) I e III
(E) II e III

183
Exercícios
82. (CESGRANRIO – Analista de Nível Superior – Suporte em TI – CASA DA
MOEDA/2009 –23) Uma livraria deseja vender seus produtos pela Internet de
forma segura e, para isso, adquire um certificado digital X de servidor WEB
SSL. X está assinado por um certificado intermediário Y que, por sua vez,
está assinado por outro certificado intermediário Z e esse está assinado por
um certificado raiz R. Para que os usuários estabeleçam uma conexão
segura com a livraria virtual, é suficiente e necessário que os navegadores
(firefox, p. ex.) possuam, em sua lista de certificados confiáveis, o(s)
certificado(s)
(A) R.
(B) X e Y.
(C) Z e R.
(D) X, Y e Z.
(E) X, Y, Z e R.

184
Exercícios
83. (CESPE – Analista de Informações – Código 9 – ABIN/2004 – 107) O
protocolo SSL (secure sockets layer) apresenta uma forma de autenticação
assimétrica em que um cliente pode ter sua identidade autenticada para
proteger o servidor. Essa autenticação não permite, no entanto, que um cliente
confirme a identidade do servidor.
84. (CESPE – Analista de Apoio às Atividades Jurídicas – Analista de
Sistemas – SGA-AAJ/2004 – 115) No protocolo secure sockets layer (SSL), a
autenticação do cliente é uma funcionalidade opcional que faz uso de
certificados dos clientes para verificação da identidade destes por um servidor.

185
Exercícios

Stallings. Criptografia e segurança de redes, Pearson, 2006.

A figura acima apresenta um modelo para segurança de rede, no qual se


destacam vários elementos, individualmente nomeados. Esse modelo
apresenta um conjunto de elementos que compõem soluções para o
provimento de um canal de informação seguro entre o emissor (E) e o (D)
destinatário, envolvendo um terceiro confiável (TC). Julgue o item, acerca
das informações apresentadas e dos conceitos de ataques e dispositivos de
segurança de redes de computadores e criptografia.
186
Exercícios
85. (CESPE – AFCE – Tecnologia da Informação – TCU/2009 – 161) Quando do
uso de criptografia simétrica, as transformações relacionadas à segurança,
realizadas nos lados do emissor (E) e do destinatário (D), devem ser efetuadas
com o uso de uma informação secreta denominada chave. Essa chave pode
ser permanente ou transitória, conforme o desenho dos algoritmos e protocolos
de criptografia empregados. No caso do protocolo https, por exemplo,
empregam-se, entre outros aspectos, dois tipos de chaves: chaves
criptográficas simétricas e transitórias, bem como chaves assimétricas
permanentes. Adicionalmente, chaves de ambos os tipos podem ser geradas
no lado do emissor (E) ou do destinatário (D) da mensagem, bem como são
trocadas com o outro lado por meio de um canal de confiança estabelecido
com um terceiro confiável (TC), que é comum ao emissor e ao destinatário.

187
Kerberos
• O Kerberos é um serviço de autenticação projetado para
uso em ambiente distribuído.
• Ele utiliza um serviço de autenticação de terceiros
confiável, que permite que clientes e servidores
estabeleçam comunicação autenticada.
• O Kerberos conta exclusivamente com a criptografia
simétrica, não utilizando qualquer criptografia de chave
pública.

188
Exercícios
86. (CESPE – AFCE – Tecnologia da Informação – TCU/2009 – 163)
Considerando que o modelo mostrado na figura seja empregado na arquitetura
de um serviço de controle de acesso baseado no Kerberos, em que existe um
domínio de rede que contém um servidor Kerberos, vários servidores de
recursos — destinatários (D) — e vários clientes de recursos — emissores (E),
é correto afirmar que: o servidor Kerberos precisa conhecer senhas de
autenticação dos clientes; o servidor Kerberos precisa compartilhar chaves
criptográficas simétricas com cada servidor de recursos (D); para obter bilhetes
de acesso a cada servidor de recursos (D) individual do domínio de rede, o
cliente de recursos (E) precisa dialogar com o servidor Kerberos.

189
VPN – IPSec
• O IPSec é um protocolo padrão de camada 3 projetado pelo
IETF que oferece transferência segura de informações fim a
fim através de rede IP pública ou privada.
• Essencialmente, ele pega pacotes IP privados, realiza funções
de segurança de dados como criptografia, autenticação e
integridade, e então encapsula esses pacotes protegidos em
outros pacotes IP para serem transmitidos.
• As funções de gerenciamento de chaves também fazem parte
das funções do IPSec.

190
VPN – IPSec
• O IPSec combina diversas tecnologias diferentes de
segurança em um sistema completo que provê
confidencialidade, integridade e autenticidade, empregando:
• mecanismo de troca de chaves de Diffie-Hellman;
• criptografia de chave pública para assinar as trocas de
chave de Diffie-Hellman, garantindo assim a identidade
das duas partes e evitando ataques do tipo man-in-the-
middle;
• algoritmos de encriptação para grandes volumes de
dados, como o DES (Data Encryption Standard);
• algoritmos de hash com utilização de chaves, com o
HMAC combinado com os algoritmos de hash tradicionais
como o MD5 ou SHA, autenticando os pacotes;
• certificados digitais assinados por uma autoridade
certificadora.
191
VPN – IPSec
• Os requisitos de segurança podem ser divididos em 2
grupos, que são independentes entre si, podendo ser
utilizados de forma conjunta ou separada, de acordo
com a necessidade de cada usuário:
• Autenticação e Integridade;
• Confidencialidade.
• Para implementar estas características, o IPSec é
composto de 3 mecanismos adicionais:
• AH - Autentication Header;
• ESP - Encapsulation Security Payload;
• IKE - Internet Key Exchange.
192
VPN – IPSec
• Authentication Header (AH): este cabeçalho, ao ser
adicionado a um datagrama IP, garante a integridade e
autenticidade dos dados, incluindo os campos do cabeçalho
original que não são alterados entre a origem e o destino; no
entanto, não fornece confidencialidade.
• Encapsulating Security Payload (ESP): este cabeçalho
protege a confidencialidade, integridade e autenticidade da
informação.
• AH e ESP podem ser usados separadamente ou em conjunto,
mas para a maioria das aplicações apenas um deles é
suficiente.
• Há dois modos de operação: modo de transporte (nativo) e
modo túnel.
193
VPN – IPSec

Cabeçalho genérico para o modo de transporte

Exemplo de um cabeçalho do modo túnel

194
VPN – IPSec – Modo Transporte
• No modo de transporte, somente a informação (payload) é
encriptada, enquanto o cabeçalho IP original não é alterado.
• Este modo tem a vantagem de adicionar apenas alguns
octetos a cada pacote, deixando que dispositivos da rede
pública vejam a origem e o destino do pacote, o que permite
processamentos especiais (como de QoS) baseados no
cabeçalho do pacote IP.
• No entanto, o cabeçalho da camada 4 (transporte) estará
encriptado, limitando a análise do pacote.
• Passando o cabeçalho sem segurança, o modo de transporte
permite que um atacante faça algumas análises de tráfego,
mesmo que ele não consiga decifrar o conteúdo das
mensagens.
195
VPN – IPSec – Modo Túnel
• No modo de tunelamento, todo o datagrama IP original é
encriptado e passa a ser o payload de um novo pacote IP.
• Este modo permite que um dispositivo de rede, como um
roteador, aja como um Proxy IPSec (o dispositivo realiza a
encriptação em nome dos terminais).
• O roteador de origem encripta os pacotes e os envia ao longo
do túnel IPSec; o roteador de destino decripta o datagrama IP
original e o envia ao sistema de destino.
• A grande vantagem do modo de tunelamento é que os
sistemas finais não precisam ser modificados para
aproveitarem os benefícios da segurança IP; além disto, esse
modo também protege contra a análise de tráfego, já que o
atacante só poderá determinar o ponto de início e de fim dos
túneis, e não a origem e o destino reais.
196
IPSec – Associações de Segurança
• O IPSec fornece diversas opções para executar a encriptação
e autenticação na camada de rede.
• Quando dois nós desejam se comunicar com segurança, eles
devem determinar quais algoritmos serão usados (se DES ou
IDEA, MD5 ou SHA).
• Após escolher os algoritmos, as chaves de sessão devem ser
trocadas.
• Associação de Segurança é o método utilizado pelo IPSec
para lidar com todos estes detalhes de uma determinada
sessão de comunicação.
• Uma SA representa o relacionamento entre duas ou mais
entidades que descreve como estas utilizarão os serviços de
segurança para se comunicarem.

197
IPSec – Associações de Segurança
• As SAs são unidirecionais, o que significa que para cada par de
sistemas que se comunicam, devemos ter pelo menos duas
conexões seguras, uma de A para B e outra de B para A.
• As SAs são identificadas de forma única pela associação entre
um número aleatório chamado SPI (Security Parameter Index),
o protocolo de segurança (AH ou ESP) e o endereço IP de
destino.
• Quando um sistema envia um pacote que requer proteção
IPSec, ele olha as SAs armazenadas em seus banco de dados,
processa as informações, e adiciona o SPI da SA no cabeçalho
IPSec.
• Quando o destino IPSec recebe o pacote, ele procura a SA em
seus banco de dados de acordo com o endereço de destino e
SPI, e então processa o pacote da forma necessária.

198
IPSec – IKE
• O IPSec assume que as SAs já existem para ser utilizado,
mas não especifica como elas serão criadas.
• IETF decidiu dividir o processo em duas partes: o IPSec
fornece o processamento dos pacotes, enquanto o IKMP
negocia as associações de segurança.
• Após analisar as alternativas disponíveis, o IETF escolheu o
IKE como o método padrão para configuração das SAs para o
IPSec.

199
IPSec – IKE

Uso do IKE pelo IPSec

200
Exercícios
87. (FCC – Analista Judiciário – Análise de Sistemas – TJ-PE/2007 – 56)
Observe as exigências definidas nos requisitos que dizem respeito à
segurança e sigilo dos dados. Uma das formas de anular, até certo ponto, a
análise de tráfego na rede TCP/IP por intrusos, é usar o
(A) IPconfig no modo de transporte.
(B) SMTP no modo IPv4.
(C) IPsec no modo de túnel.
(D) TCP na camada de rede.
(E) UDP na camada de aplicação.

201
Exercícios
88. (FCC – Analista Judiciário – Tecnologia da Informação – TRT-1R/2011 –
40) Em relação a ferramentas e protocolos de segurança, é INCORRETO
afirmar:
(A) O IPsec é um protocolo de segurança que opera desde a camada de
transporte até a camada de aplicação do modelo OSI.
(B) O protocolo TLS usa o algoritmo HMAC (keyed-Hashing for Message
Authentication Code), que produz hashes mais seguros que o MAC, utilizado pelo
SSL.
(C) Ao contrário do IDS, que apenas detecta e registra atividades suspeitas, o IPS
reage mediante uma situação adversa, pois, além de detectar o tráfego suspeito, é
capaz de tratá-lo.
(D) VPNs seguras encapsulam o quadro normal com o cabeçalho IP da rede local,
mais o cabeçalho IP da Internet atribuída ao roteador e adicionam os cabeçalhos
de autenticação e criptografia.
(E) Como o endereço IP de um computador integrante de uma rede privada não é
roteado na Internet, o NAT gera um número de 16 bits, que é escrito no campo da
porta de origem, para permitir que o roteador faça a respectiva associação em
suas tabelas e identifique o destinatário correto.
202
Exercícios
89. (CESPE – Analista de Trânsito – Analista de Sistemas – DETRAN-DF/2009
– 120) No IPSEC (IP security), o cabeçalho de autenticação (AH) oferece
controle de acesso, integridade de mensagem sem conexões, autenticação e
antireplay e a carga útil de segurança do encapsulamento que admite esses
mesmos serviços, inclusive confidencialidade. O IPSEC apresenta a
desvantagem de não prover o gerenciamento de chaves.
90. (CESPE – Analista de Sistemas – Suporte de Infraestrutura – IPEA/2008 –
109) O protocolo de encapsulamento de carga útil — encapsulation security
payload (ESP) — fornece os serviços de autenticação, integridade de dados e
confidencialidade que, no contexto de IPsec, permitem a formação de redes
privadas virtuais entre entidades operando na camada de rede IP.
91. (CESPE – Tecnologista Jr – MCT/2008 – 97) Na arquitetura de segurança do
internet protocol (IP) — IPSec —, a associação de segurança é um
relacionamento bidirecional entre um emissor e um receptor, que é identificada
pelo número do soquete da aplicação usuária.
92. (CESPE – Tecnologista Jr – MCT/2008 – 98) O Internet security association
key management protocol (ISA KMP) pode ser usado para a automação da
gerência de chaves criptográficas entre o emissor e o receptor no IPSec.
203
Exercícios
93. (CESPE – Analista de Sistemas – Suporte de Sistemas – ECT/2011 – 97)
[97] O protocolo IPSEC possui a capacidade de esconder os endereços IPs
internos, pois suporta o recurso chamado NAT (network address translation).
94. (CESPE – Analista de Sistemas – Suporte de Sistemas – ECT/2011 – 99) O
IPSEC é muito utilizado em conexões VPN (virtual private network), pois é
capaz de validar a integridade e a confidencialidade das informações
trafegadas na VPN, por meio da utilização do AH (autentication header) e do
ESP (encapsulating security payload).

204
Gabarito das Questões
1. C 16. E 31. E 46. E 61. D 76. E 91. E
2. E 17. C 32. C 47. E 62. E 77. C 92. C
3. C 18. E 33. C 48. E 63. C 78. E 93. E
4. E 19. C 34. C 49. E 64. E 79. E 94. C
5. D 20. C 35. C 50. C 65. C 80. C
6. E 21. C 36. C 51. C 66. E 81. B
7. E 22. C 37. E 52. C 67. E 82. A
8. A 23. E 38. C 53. C 68. E 83. E
9. C 24. E 39. E 54. E 69. C 84. C
10. C 25. E 40. E 55. C 70. E 85. E
11. E 26. E 41. E 56. E 71. C 86. C
12. B 27. E 42. C 57. E 72. E 87. C
13. B 28. C 43. C 58. E 73. C 88. A
14. E 29. C 44. E 59. E 74. E 89. E
15. C 30. C 45. E 60. C 75. C 90. C

205

Você também pode gostar