25
GBC083 - Seguran¸ ca da Informa¸c˜ ao Aula 3 - Pseudo-aleatoriedade 6 de Setembro de 2016

GBC083 - Segurança da Informação Aula 3 - Pseudo-aleatoriedadealbertini/2sem2016/infosec/aulas/aula03c-pseudo...Pseudo One-Time Pad - resumo at e agora I Vimos que existem restri˘c~oes

  • Upload
    vanmien

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Page 1: GBC083 - Segurança da Informação Aula 3 - Pseudo-aleatoriedadealbertini/2sem2016/infosec/aulas/aula03c-pseudo...Pseudo One-Time Pad - resumo at e agora I Vimos que existem restri˘c~oes

GBC083 - Seguranca da InformacaoAula 3 - Pseudo-aleatoriedade

6 de Setembro de 2016

Page 2: GBC083 - Segurança da Informação Aula 3 - Pseudo-aleatoriedadealbertini/2sem2016/infosec/aulas/aula03c-pseudo...Pseudo One-Time Pad - resumo at e agora I Vimos que existem restri˘c~oes

Pseudo One-Time Pad - resumo ate agora

I Vimos que existem restricoes para sigilo perfeitoI Ineficiencia: chave do tamanho da mensagem

I Definimos sigilo computacional: nocao mais pratica deseguranca

I Como superar limitacoes do One-Time Pad - Cifra de UsoUnico

Page 3: GBC083 - Segurança da Informação Aula 3 - Pseudo-aleatoriedadealbertini/2sem2016/infosec/aulas/aula03c-pseudo...Pseudo One-Time Pad - resumo at e agora I Vimos que existem restri˘c~oes

Revisao: one-time pad - cifra de uso unico

mensagem + texto cifrado

chave

p bits

p bits

p bits

Page 4: GBC083 - Segurança da Informação Aula 3 - Pseudo-aleatoriedadealbertini/2sem2016/infosec/aulas/aula03c-pseudo...Pseudo One-Time Pad - resumo at e agora I Vimos que existem restri˘c~oes

Pseudo one-time pad

mensagem + texto cifrado

pseudo chaveG

chave

n bits

p bits

p bits

p bits

Page 5: GBC083 - Segurança da Informação Aula 3 - Pseudo-aleatoriedadealbertini/2sem2016/infosec/aulas/aula03c-pseudo...Pseudo One-Time Pad - resumo at e agora I Vimos que existem restri˘c~oes

Pseudo one-time pad

I Seja G funcao polinomial determinıstica com |G (k)| = p(|k |)I Gen(1n): produz chave uniforme k de n bits

I Parametro de seguranca n ⇒ espaco de mensagem {0, 1}p(n)

I Enck(m): produz G (k)⊕m

I Deck(c): produz G (k)⊕ c

Page 6: GBC083 - Segurança da Informação Aula 3 - Pseudo-aleatoriedadealbertini/2sem2016/infosec/aulas/aula03c-pseudo...Pseudo One-Time Pad - resumo at e agora I Vimos que existem restri˘c~oes

Seguranca do pseudo one-time pad

I Provar seguranca do pseudo one-time pad sabendo que G eum GPA

I Prova por reducao

Page 7: GBC083 - Segurança da Informação Aula 3 - Pseudo-aleatoriedadealbertini/2sem2016/infosec/aulas/aula03c-pseudo...Pseudo One-Time Pad - resumo at e agora I Vimos que existem restri˘c~oes

Seguranca do OTP com um pseudo-GPA

I Se G e um gerador pseudo-aleatorio, entao o pseudo-OTP ecomputacionalmente indiscernıvel

I Meta e provar que pseudo one-time pad atende a essadefinicao

I Nao e possıvel provar isso de maneira incondicionalI Alem das tecnicas atuaisI Seguranca depende de G

I Possıvel provar seguranca assumindo que G e um GPA

Page 8: GBC083 - Segurança da Informação Aula 3 - Pseudo-aleatoriedadealbertini/2sem2016/infosec/aulas/aula03c-pseudo...Pseudo One-Time Pad - resumo at e agora I Vimos que existem restri˘c~oes

Recapitulacao de GPA

I Seja G uma funcao eficiente determinıstica com|G (k)| = 2 · |k|

DGy ← U2n

k ← Un

y

I Para qualquer atacante D eficiente, as probabilidades de queD produz 1 (ou seja, julga y como aleatorio) em ambos casos(y vir de U2n ou de G (·)) devem ser proximas

Page 9: GBC083 - Segurança da Informação Aula 3 - Pseudo-aleatoriedadealbertini/2sem2016/infosec/aulas/aula03c-pseudo...Pseudo One-Time Pad - resumo at e agora I Vimos que existem restri˘c~oes

Ideia da prova

I Assuma que G e um gerador pseudo-aleatorio

I Fixar um atacante eficiente arbitrario A atacando o esquemapseudo-OTP

I Usar A como subrotina para construir um D eficienteatacando G

I Relacionar a probabilidade de discernibilidade de D aprobabilidade de sucesso de A

I Por hipotese, a probabilidade de sucesso de D deve sernegligıvel

I Limita a probabilidade de sucesso de A

Page 10: GBC083 - Segurança da Informação Aula 3 - Pseudo-aleatoriedadealbertini/2sem2016/infosec/aulas/aula03c-pseudo...Pseudo One-Time Pad - resumo at e agora I Vimos que existem restri˘c~oes

Pseudo one-time pad

mensagem + texto cifrado

pseudo chaveG

chave

n bits

2n bits

2n bits

2n bits

Page 11: GBC083 - Segurança da Informação Aula 3 - Pseudo-aleatoriedadealbertini/2sem2016/infosec/aulas/aula03c-pseudo...Pseudo One-Time Pad - resumo at e agora I Vimos que existem restri˘c~oes

Teorema da Seguranca

I Se G e um gerador pseudo-aleatorio, entao o pseudo one-timepad e computacionalmente indiscernıvel

Page 12: GBC083 - Segurança da Informação Aula 3 - Pseudo-aleatoriedadealbertini/2sem2016/infosec/aulas/aula03c-pseudo...Pseudo One-Time Pad - resumo at e agora I Vimos que existem restri˘c~oes

A reducao: D vai usar atacante A

A

D

b′

y

⊕c

b ← {0, 1}mb

m0, m1

if(b = b′) produzir 1

Page 13: GBC083 - Segurança da Informação Aula 3 - Pseudo-aleatoriedadealbertini/2sem2016/infosec/aulas/aula03c-pseudo...Pseudo One-Time Pad - resumo at e agora I Vimos que existem restri˘c~oes

Analise

I Se A roda em tempo polinomial, entao D tambem

I Seja µ(n) = P(PrivKA,Π(n) = 1)I Se entrada y e pseudo-aleatoria, a visao de A e exatamente

como em PrivKA,Π(n)I ⇒ Px←Un(D(G (x)) = 1) = µ(n)

Page 14: GBC083 - Segurança da Informação Aula 3 - Pseudo-aleatoriedadealbertini/2sem2016/infosec/aulas/aula03c-pseudo...Pseudo One-Time Pad - resumo at e agora I Vimos que existem restri˘c~oes

A reducao

A

D

Π-Enc

G

k ← Un

y

cb ← {0, 1}mb

m0, m1

b′

if(b = b′)produzir 1

Page 15: GBC083 - Segurança da Informação Aula 3 - Pseudo-aleatoriedadealbertini/2sem2016/infosec/aulas/aula03c-pseudo...Pseudo One-Time Pad - resumo at e agora I Vimos que existem restri˘c~oes

Analise

I Queremos provar que pseudo-OTP e computacionalmenteindiscernıvel

I Se entrada y e uniforme, A e bem sucedido com probabilidade0.5

I ⇒ Px←U2n(D(y) = 1) = 0.5

I Se entrada y e pseudo-aleatoria, a visao de A e exatamentecomo em PrivKA,Π

I Seja µ(n) = P(PrivKA,Π(n) = 1)I ⇒ Px←Un(D(G (X )) = 1) = µ(n)

I Como G e pseudoaleatorio...

I Use seja, vale

|Px←Un(A(G (x)) = 1)− Py←U2n(A(y) = 1)| ≤ ε(n)

I |µ(n)− 0.5| ≤ ε(n)I ⇒ P(PrivKA,Π(n) = 1) ≤ 0.5 + ε(n)

Page 16: GBC083 - Segurança da Informação Aula 3 - Pseudo-aleatoriedadealbertini/2sem2016/infosec/aulas/aula03c-pseudo...Pseudo One-Time Pad - resumo at e agora I Vimos que existem restri˘c~oes

Analise

I Queremos provar que pseudo-OTP e computacionalmenteindiscernıvel

I Se entrada y e uniforme, A e bem sucedido com probabilidade0.5

I ⇒ Px←U2n(D(y) = 1) = 0.5

I Se entrada y e pseudo-aleatoria, a visao de A e exatamentecomo em PrivKA,Π

I Seja µ(n) = P(PrivKA,Π(n) = 1)I ⇒ Px←Un(D(G (X )) = 1) = µ(n)

I Como G e pseudoaleatorio...

I Use seja, vale

|Px←Un(A(G (x)) = 1)− Py←U2n(A(y) = 1)| ≤ ε(n)

I |µ(n)− 0.5| ≤ ε(n)I ⇒ P(PrivKA,Π(n) = 1) ≤ 0.5 + ε(n)

Page 17: GBC083 - Segurança da Informação Aula 3 - Pseudo-aleatoriedadealbertini/2sem2016/infosec/aulas/aula03c-pseudo...Pseudo One-Time Pad - resumo at e agora I Vimos que existem restri˘c~oes

Analise

I Queremos provar que pseudo-OTP e computacionalmenteindiscernıvel

I Se entrada y e uniforme, A e bem sucedido com probabilidade0.5

I ⇒ Px←U2n(D(y) = 1) = 0.5

I Se entrada y e pseudo-aleatoria, a visao de A e exatamentecomo em PrivKA,Π

I Seja µ(n) = P(PrivKA,Π(n) = 1)I ⇒ Px←Un(D(G (X )) = 1) = µ(n)

I Como G e pseudoaleatorio...

I Use seja, vale

|Px←Un(A(G (x)) = 1)− Py←U2n(A(y) = 1)| ≤ ε(n)

I |µ(n)− 0.5| ≤ ε(n)I ⇒ P(PrivKA,Π(n) = 1) ≤ 0.5 + ε(n)

Page 18: GBC083 - Segurança da Informação Aula 3 - Pseudo-aleatoriedadealbertini/2sem2016/infosec/aulas/aula03c-pseudo...Pseudo One-Time Pad - resumo at e agora I Vimos que existem restri˘c~oes

Analise

I Queremos provar que pseudo-OTP e computacionalmenteindiscernıvel

I Se entrada y e uniforme, A e bem sucedido com probabilidade0.5

I ⇒ Px←U2n(D(y) = 1) = 0.5

I Se entrada y e pseudo-aleatoria, a visao de A e exatamentecomo em PrivKA,Π

I Seja µ(n) = P(PrivKA,Π(n) = 1)I ⇒ Px←Un(D(G (X )) = 1) = µ(n)

I Como G e pseudoaleatorio...

I Use seja, vale

|Px←Un(A(G (x)) = 1)− Py←U2n(A(y) = 1)| ≤ ε(n)

I |µ(n)− 0.5| ≤ ε(n)I ⇒ P(PrivKA,Π(n) = 1) ≤ 0.5 + ε(n)

Page 19: GBC083 - Segurança da Informação Aula 3 - Pseudo-aleatoriedadealbertini/2sem2016/infosec/aulas/aula03c-pseudo...Pseudo One-Time Pad - resumo at e agora I Vimos que existem restri˘c~oes

Analise

I Queremos provar que pseudo-OTP e computacionalmenteindiscernıvel

I Se entrada y e uniforme, A e bem sucedido com probabilidade0.5

I ⇒ Px←U2n(D(y) = 1) = 0.5

I Se entrada y e pseudo-aleatoria, a visao de A e exatamentecomo em PrivKA,Π

I Seja µ(n) = P(PrivKA,Π(n) = 1)

I ⇒ Px←Un(D(G (X )) = 1) = µ(n)

I Como G e pseudoaleatorio...

I Use seja, vale

|Px←Un(A(G (x)) = 1)− Py←U2n(A(y) = 1)| ≤ ε(n)

I |µ(n)− 0.5| ≤ ε(n)I ⇒ P(PrivKA,Π(n) = 1) ≤ 0.5 + ε(n)

Page 20: GBC083 - Segurança da Informação Aula 3 - Pseudo-aleatoriedadealbertini/2sem2016/infosec/aulas/aula03c-pseudo...Pseudo One-Time Pad - resumo at e agora I Vimos que existem restri˘c~oes

Analise

I Queremos provar que pseudo-OTP e computacionalmenteindiscernıvel

I Se entrada y e uniforme, A e bem sucedido com probabilidade0.5

I ⇒ Px←U2n(D(y) = 1) = 0.5

I Se entrada y e pseudo-aleatoria, a visao de A e exatamentecomo em PrivKA,Π

I Seja µ(n) = P(PrivKA,Π(n) = 1)I ⇒ Px←Un(D(G (X )) = 1) = µ(n)

I Como G e pseudoaleatorio...

I Use seja, vale

|Px←Un(A(G (x)) = 1)− Py←U2n(A(y) = 1)| ≤ ε(n)

I |µ(n)− 0.5| ≤ ε(n)I ⇒ P(PrivKA,Π(n) = 1) ≤ 0.5 + ε(n)

Page 21: GBC083 - Segurança da Informação Aula 3 - Pseudo-aleatoriedadealbertini/2sem2016/infosec/aulas/aula03c-pseudo...Pseudo One-Time Pad - resumo at e agora I Vimos que existem restri˘c~oes

Analise

I Queremos provar que pseudo-OTP e computacionalmenteindiscernıvel

I Se entrada y e uniforme, A e bem sucedido com probabilidade0.5

I ⇒ Px←U2n(D(y) = 1) = 0.5

I Se entrada y e pseudo-aleatoria, a visao de A e exatamentecomo em PrivKA,Π

I Seja µ(n) = P(PrivKA,Π(n) = 1)I ⇒ Px←Un(D(G (X )) = 1) = µ(n)

I Como G e pseudoaleatorio...

I Use seja, vale

|Px←Un(A(G (x)) = 1)− Py←U2n(A(y) = 1)| ≤ ε(n)

I |µ(n)− 0.5| ≤ ε(n)I ⇒ P(PrivKA,Π(n) = 1) ≤ 0.5 + ε(n)

Page 22: GBC083 - Segurança da Informação Aula 3 - Pseudo-aleatoriedadealbertini/2sem2016/infosec/aulas/aula03c-pseudo...Pseudo One-Time Pad - resumo at e agora I Vimos que existem restri˘c~oes

Analise

I Queremos provar que pseudo-OTP e computacionalmenteindiscernıvel

I Se entrada y e uniforme, A e bem sucedido com probabilidade0.5

I ⇒ Px←U2n(D(y) = 1) = 0.5

I Se entrada y e pseudo-aleatoria, a visao de A e exatamentecomo em PrivKA,Π

I Seja µ(n) = P(PrivKA,Π(n) = 1)I ⇒ Px←Un(D(G (X )) = 1) = µ(n)

I Como G e pseudoaleatorio...

I Use seja, vale

|Px←Un(A(G (x)) = 1)− Py←U2n(A(y) = 1)| ≤ ε(n)

I |µ(n)− 0.5| ≤ ε(n)I ⇒ P(PrivKA,Π(n) = 1) ≤ 0.5 + ε(n)

Page 23: GBC083 - Segurança da Informação Aula 3 - Pseudo-aleatoriedadealbertini/2sem2016/infosec/aulas/aula03c-pseudo...Pseudo One-Time Pad - resumo at e agora I Vimos que existem restri˘c~oes

Analise

I Queremos provar que pseudo-OTP e computacionalmenteindiscernıvel

I Se entrada y e uniforme, A e bem sucedido com probabilidade0.5

I ⇒ Px←U2n(D(y) = 1) = 0.5

I Se entrada y e pseudo-aleatoria, a visao de A e exatamentecomo em PrivKA,Π

I Seja µ(n) = P(PrivKA,Π(n) = 1)I ⇒ Px←Un(D(G (X )) = 1) = µ(n)

I Como G e pseudoaleatorio...

I Use seja, vale

|Px←Un(A(G (x)) = 1)− Py←U2n(A(y) = 1)| ≤ ε(n)

I |µ(n)− 0.5| ≤ ε(n)

I ⇒ P(PrivKA,Π(n) = 1) ≤ 0.5 + ε(n)

Page 24: GBC083 - Segurança da Informação Aula 3 - Pseudo-aleatoriedadealbertini/2sem2016/infosec/aulas/aula03c-pseudo...Pseudo One-Time Pad - resumo at e agora I Vimos que existem restri˘c~oes

Analise

I Queremos provar que pseudo-OTP e computacionalmenteindiscernıvel

I Se entrada y e uniforme, A e bem sucedido com probabilidade0.5

I ⇒ Px←U2n(D(y) = 1) = 0.5

I Se entrada y e pseudo-aleatoria, a visao de A e exatamentecomo em PrivKA,Π

I Seja µ(n) = P(PrivKA,Π(n) = 1)I ⇒ Px←Un(D(G (X )) = 1) = µ(n)

I Como G e pseudoaleatorio...

I Use seja, vale

|Px←Un(A(G (x)) = 1)− Py←U2n(A(y) = 1)| ≤ ε(n)

I |µ(n)− 0.5| ≤ ε(n)I ⇒ P(PrivKA,Π(n) = 1) ≤ 0.5 + ε(n)

Page 25: GBC083 - Segurança da Informação Aula 3 - Pseudo-aleatoriedadealbertini/2sem2016/infosec/aulas/aula03c-pseudo...Pseudo One-Time Pad - resumo at e agora I Vimos que existem restri˘c~oes

O que isso tudo significa?

I Prova que o pseudo OTP e seguroI Temos um esquema provado como seguro em vez de uma

construcao heurıstica

I Com alguns porens:I assumindo G e um gerador pseudo-aleatorio

I A unica forma que o esquema pode ser quebrado e:I Se uma fraqueza e achada em GI Se a definicao de pseudo-aleatoriedade nao e forte o suficiente