gbc083 - segurança da informação aula 3 -...
TRANSCRIPT
![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](https://reader030.vdocuments.net/reader030/viewer/2022020216/5cc4172888c993af3f8dff44/html5/thumbnails/1.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022020216/5cc4172888c993af3f8dff44/html5/thumbnails/2.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022020216/5cc4172888c993af3f8dff44/html5/thumbnails/3.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022020216/5cc4172888c993af3f8dff44/html5/thumbnails/4.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022020216/5cc4172888c993af3f8dff44/html5/thumbnails/5.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022020216/5cc4172888c993af3f8dff44/html5/thumbnails/6.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022020216/5cc4172888c993af3f8dff44/html5/thumbnails/7.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022020216/5cc4172888c993af3f8dff44/html5/thumbnails/8.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022020216/5cc4172888c993af3f8dff44/html5/thumbnails/9.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022020216/5cc4172888c993af3f8dff44/html5/thumbnails/10.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022020216/5cc4172888c993af3f8dff44/html5/thumbnails/11.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022020216/5cc4172888c993af3f8dff44/html5/thumbnails/12.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022020216/5cc4172888c993af3f8dff44/html5/thumbnails/13.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022020216/5cc4172888c993af3f8dff44/html5/thumbnails/14.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022020216/5cc4172888c993af3f8dff44/html5/thumbnails/15.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022020216/5cc4172888c993af3f8dff44/html5/thumbnails/16.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022020216/5cc4172888c993af3f8dff44/html5/thumbnails/17.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022020216/5cc4172888c993af3f8dff44/html5/thumbnails/18.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022020216/5cc4172888c993af3f8dff44/html5/thumbnails/19.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022020216/5cc4172888c993af3f8dff44/html5/thumbnails/20.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022020216/5cc4172888c993af3f8dff44/html5/thumbnails/21.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022020216/5cc4172888c993af3f8dff44/html5/thumbnails/22.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022020216/5cc4172888c993af3f8dff44/html5/thumbnails/23.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022020216/5cc4172888c993af3f8dff44/html5/thumbnails/24.jpg)
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](https://reader030.vdocuments.net/reader030/viewer/2022020216/5cc4172888c993af3f8dff44/html5/thumbnails/25.jpg)
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