GBC083 Segurança da Informação Aula 5 - Integridade e...

24
GBC083 – Seguran¸ ca da Informa¸c˜ ao Aula 5 - Integridade e Criptografia autenticada 14 de Junho de 2017

Transcript of GBC083 Segurança da Informação Aula 5 - Integridade e...

Page 1: GBC083 Segurança da Informação Aula 5 - Integridade e ...albertini/1sem2017/infosec/aulas/aula05a-integridade.pdf · Integridade de mensagens { Sigilo vs. Integridade I At e agora,

GBC083 – Seguranca da InformacaoAula 5 - Integridade e Criptografia autenticada

14 de Junho de 2017

Page 2: GBC083 Segurança da Informação Aula 5 - Integridade e ...albertini/1sem2017/infosec/aulas/aula05a-integridade.pdf · Integridade de mensagens { Sigilo vs. Integridade I At e agora,

Integridade de mensagens – Sigilo vs. Integridade

I Ate agora, preocupados com garantia de sigilo da comunicacaoI E sobre integridade?

I Garantir que uma mensagem recebida e originada da pessoacerta e que nao foi modificada

I Mesmo se o atacante controla o canal

I Tecnicas padroes de deteccao e correcao de erros nao saosuficientes

I Ferramenta certa e um codigo de autenticacao de mensagens

Page 3: GBC083 Segurança da Informação Aula 5 - Integridade e ...albertini/1sem2017/infosec/aulas/aula05a-integridade.pdf · Integridade de mensagens { Sigilo vs. Integridade I At e agora,

k

mt ← Mack(m)

Vrfyk(m′, t ′) = 1

km,t m′, t ′

I Esquema de autenticacao de mensagens

Page 4: GBC083 Segurança da Informação Aula 5 - Integridade e ...albertini/1sem2017/infosec/aulas/aula05a-integridade.pdf · Integridade de mensagens { Sigilo vs. Integridade I At e agora,

k

m

m,t

I Garantir a identidade em operacoes

Page 5: GBC083 Segurança da Informação Aula 5 - Integridade e ...albertini/1sem2017/infosec/aulas/aula05a-integridade.pdf · Integridade de mensagens { Sigilo vs. Integridade I At e agora,

k

k

cookie,t

. . . preco =10. . .

cookie,t

I Comunicacoes em diferentes momentos: a ordem e autentica

Page 6: GBC083 Segurança da Informação Aula 5 - Integridade e ...albertini/1sem2017/infosec/aulas/aula05a-integridade.pdf · Integridade de mensagens { Sigilo vs. Integridade I At e agora,

Sigilo e integridade

I Sigilo e integridade sao preocupacoes ortogonaisI Possıvel ter um sem o outro

I Encriptacao nao prove, em geral, qualquer integridadeI Relacionado ao problema da maleabilidade

Page 7: GBC083 Segurança da Informação Aula 5 - Integridade e ...albertini/1sem2017/infosec/aulas/aula05a-integridade.pdf · Integridade de mensagens { Sigilo vs. Integridade I At e agora,

Codigo de autenticacao de mensagens

I Message authentication code (MAC)

I Um MAC e definido por 3 algoritmos (Gen,Mac,Vrfy):I Gen: recebe entrada 1n, produz chave uniforme k, |k| = n.I Mac : recebe como chave de entrada k e mensagem

m ∈ {0, 1}∗; produz etiqueta t ∈ {0, 1}∗

t ← Mack(m)

I Vrfy : recebe chave k , mensagem m, e etiqueta t comoentrada; produz 1: aceita ou 0:rejeita

I Para toda m e todo k produzido por Gen,Vrfyk(m,Mack(m)) = 1

Page 8: GBC083 Segurança da Informação Aula 5 - Integridade e ...albertini/1sem2017/infosec/aulas/aula05a-integridade.pdf · Integridade de mensagens { Sigilo vs. Integridade I At e agora,

Seguranca?

I Apenas uma definicao padraoI Modelo de ameaca

I Ataque de escolha de mensagem adaptativaI Supor que o atacante pode induzir o transmissor a autenticar

mensagens da escolha do atacante

I Meta de segurancaI Inforjabilidade existencialI Atacante nao deve ser capaz de forjar uma etiqueta valida em

qualquer mensagem nao autenticada pelo transmissor

Page 9: GBC083 Segurança da Informação Aula 5 - Integridade e ...albertini/1sem2017/infosec/aulas/aula05a-integridade.pdf · Integridade de mensagens { Sigilo vs. Integridade I At e agora,

k

t1 ← Mack(m1)t2 ← Mack(m2)

. . .tt ← Mack(mt)

m1,t1

m2,t2

. . .

mi ,tiVrfyk(m′, t ′)???

m′, t ′

Page 10: GBC083 Segurança da Informação Aula 5 - Integridade e ...albertini/1sem2017/infosec/aulas/aula05a-integridade.pdf · Integridade de mensagens { Sigilo vs. Integridade I At e agora,

Definicao formal

I Fixar A, ΠI Definir experimento aleatorio ForgeA,Π(n):

I k ← Gen(1n)I A interage com um oraculo Mack(·); seja M o conjunto de

mensagens enviado a esse oraculoI A produz (m, t)I A e bem sucedido e o experimento produz 1 se Vrfyk(m, t) = 1

e m /∈ M

Page 11: GBC083 Segurança da Informação Aula 5 - Integridade e ...albertini/1sem2017/infosec/aulas/aula05a-integridade.pdf · Integridade de mensagens { Sigilo vs. Integridade I At e agora,

Seguranca para MACs

I Π e seguro se para todos atacantes em tempo polinomial A,existe uma funcao negligıvel ε tal que

P(ForgeA,Π(n) = 1) ≤ ε(n)

Page 12: GBC083 Segurança da Informação Aula 5 - Integridade e ...albertini/1sem2017/infosec/aulas/aula05a-integridade.pdf · Integridade de mensagens { Sigilo vs. Integridade I At e agora,

Ataques replay

I Note que ataques replay nao prevenidosI Nenhum mecanismo sem estado pode previr ataques replay

I Ataques replay podem ser uma preocupacao real

I Necessario protecao contra ataques replay em um nıvel maisalto

Page 13: GBC083 Segurança da Informação Aula 5 - Integridade e ...albertini/1sem2017/infosec/aulas/aula05a-integridade.pdf · Integridade de mensagens { Sigilo vs. Integridade I At e agora,

Intuicao para desenvolvimento de metodo seguro paraintegridade

I Necessaria uma funcao chaveada Mac tal que:I dados Mack(m1) e Mack(m2), . . . ,I deve ser inviavel predizer o valor Mack(m) para qualquer

m ∈ {m1, . . . , }I Podemos usar uma funcao pseudo-aleatoria como sendo o

Mac

Page 14: GBC083 Segurança da Informação Aula 5 - Integridade e ...albertini/1sem2017/infosec/aulas/aula05a-integridade.pdf · Integridade de mensagens { Sigilo vs. Integridade I At e agora,

Construcao de seguranca para integridade: primeira versao

I Seja F uma funcao pseudo-aleatoria que preservacomprimento da entrada

I Construir o seguinte esquema Π MAC:I Gen – escolher uma chave uniforme k para FI Mack(m) – computar Fk(m)I Vrfyk(m, t) – produzir 1 se e so se Fk(m) = t

I Teorema: esquema Π e um MAC seguro.

Page 15: GBC083 Segurança da Informação Aula 5 - Integridade e ...albertini/1sem2017/infosec/aulas/aula05a-integridade.pdf · Integridade de mensagens { Sigilo vs. Integridade I At e agora,

Prova por reducao

PRF/aleatorio

Dse (t = t∗)produzir 1

m1

t1

m1

t1

...

mi

ti

m

t∗

m, t

ti

mi

t1

m1

...

I Supor existencia de um “diferenciador” entre PRF oualeatorio que usa o atacante do tipo Forge

Page 16: GBC083 Segurança da Informação Aula 5 - Integridade e ...albertini/1sem2017/infosec/aulas/aula05a-integridade.pdf · Integridade de mensagens { Sigilo vs. Integridade I At e agora,

Analise

I Duas opcoes:I Quando D interage com Fk para uma chave uniforme k, a

visao do adversario e identica a visao do atacante noexperimento MAC real

I P(DFk produz 1) = P(ForgeAdv,Π(n) = 1)

I Quando D interage com f uniforme, entao sendof (m1), . . . , f (mi ) nao ajuda predizer f (m) para qualquerm /∈ {m1, . . . ,mi}

I P(D f produz 1) = 2−n

Page 17: GBC083 Segurança da Informação Aula 5 - Integridade e ...albertini/1sem2017/infosec/aulas/aula05a-integridade.pdf · Integridade de mensagens { Sigilo vs. Integridade I At e agora,

Analise

I Com F e uma funcao pseudo-aleatoria

|P(DFk produz 1)− P(D f produz 1)| < ε(n)

Portanto,P(ForgeAdv ,Π(n) = 1) = P(DFk produz 1) ≤ 2−n + ε(n)

Page 18: GBC083 Segurança da Informação Aula 5 - Integridade e ...albertini/1sem2017/infosec/aulas/aula05a-integridade.pdf · Integridade de mensagens { Sigilo vs. Integridade I At e agora,

Desvantagens deste primeiro metodo basedo em cifra de 1bloco

I Na pratica, cifra de blocos (aka funcoes pseudo-aleatorias)tem tamanho pequeno e fixo

I Exemplo, AES tem bloco de 128 bitsI Entao a construcao previa e limitada a autenticacao de

mensagens curtas (comprimento fixo)

Page 19: GBC083 Segurança da Informação Aula 5 - Integridade e ...albertini/1sem2017/infosec/aulas/aula05a-integridade.pdf · Integridade de mensagens { Sigilo vs. Integridade I At e agora,

Ate agora

I Mostramos como construir um MAC seguro para mensagenscurtas de tamanho fixo baseado em qualquer cifra de blocos(funcao pseudo-aleatoria)

I Queremos obter um MAC seguro para mensagens de tamanhoarbitrario

I Aqui sera o CBC-MAC

Page 20: GBC083 Segurança da Informação Aula 5 - Integridade e ...albertini/1sem2017/infosec/aulas/aula05a-integridade.pdf · Integridade de mensagens { Sigilo vs. Integridade I At e agora,

Modo CBC-MAC basico

m1 m2 mt

Fk

⊕Fk

⊕Fk

t

. . .

Page 21: GBC083 Segurança da Informação Aula 5 - Integridade e ...albertini/1sem2017/infosec/aulas/aula05a-integridade.pdf · Integridade de mensagens { Sigilo vs. Integridade I At e agora,

Modo CBC-MAC vs. Modo CBC

I CBC-MAC e determinıstico (sem IV)I Em CBC-MAC, somente o valor final e mostrado

I Verificacao e realizada por recomputacao do resultado

I Ambos sao essenciais para seguranca

Page 22: GBC083 Segurança da Informação Aula 5 - Integridade e ...albertini/1sem2017/infosec/aulas/aula05a-integridade.pdf · Integridade de mensagens { Sigilo vs. Integridade I At e agora,

Seguranca do CBC-MAC basico

I Se F e uma funcao pseudo-aleatoria que preservacomprimento, entao para qualquer l fixo, o CBC-MAC e umMAC seguro para mensagens de comprimento l · n

I O transmissor e o receptor devem concordar com o parametrode comprimento l antecipadamente

I CBC-MAC basico nao e seguro se isto nao e feitoI Sejam (m, t) e (m′, t′) conhecidosI Atacante consegue gerar: m′′ = m|[(m′1 ⊕ t)|m′2| . . .]I CBC-MAC(m′′) = m′ pois o m′1 ⊕ t elimina contribuicao da

primeira parte

Page 23: GBC083 Segurança da Informação Aula 5 - Integridade e ...albertini/1sem2017/infosec/aulas/aula05a-integridade.pdf · Integridade de mensagens { Sigilo vs. Integridade I At e agora,

Extensoes CBC-MAC

I Varias maneiras de manipular mensagens de tamanho variavelI Uma simples: transmitir tamanho inicial antes de aplicar

CBC-MAC basicoI Tambem pode ser adaptado para mensagens que nao tem

tamanho multiplo do comprimento do bloco

I Outra forma: usar outra chave e encriptar ultimo bloco(Encrypt Last Block):CBC-MAC-ELB(m, (k1, k2)) = E (k2,CBC-MAC(k1,m))

Page 24: GBC083 Segurança da Informação Aula 5 - Integridade e ...albertini/1sem2017/infosec/aulas/aula05a-integridade.pdf · Integridade de mensagens { Sigilo vs. Integridade I At e agora,

Modo CBC-MAC: “prepend length”

l m1 m2 mt

Fk

⊕Fk

⊕Fk

⊕Fk

t

. . .