demonstrações de seguranças - semântica
TRANSCRIPT
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 1/238
Introdução à Segurança Demonstrável
Rafael Dantas de Castro
Agosto de 2007
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 1 / 90
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 2/238
Organização geral
1 O que é “Segurança”?
2 Um primeiro criptossistema seguro
3 O Modelo do Oráculo Aleatório
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 2 / 90
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 3/238
Nesta seção
1 O que é “Segurança”?Definição ingênua de segurançaA abordagem de Diffie-HellmanReduções de Segurança
Objeções à abordagem de Diffie-HellmanDefinições fortes de segurança
2 Um primeiro criptossistema seguro
3 O Modelo do Oráculo Aleatório
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 3 / 90
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 4/238
O que é “Segurança”?
Apenas pessoas autorizadas devem ter acesso a informaçãoMecanismos para proteção: Obscuridade → Esteganografia
Transformações invertíveis → Criptografia A criptografia estuda como transformar a informação garantindoque:
1 Pessoas não-autorizadas não conseguem “decifrar” a informaçãooriginal
2
Pessoas autorizadas conseguem recuperar a informação original
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 4 / 90
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 5/238
O que é “Segurança”?
Apenas pessoas autorizadas devem ter acesso a informaçãoMecanismos para proteção: Obscuridade → Esteganografia
Transformações invertíveis → Criptografia A criptografia estuda como transformar a informação garantindoque:
1 Pessoas não-autorizadas não conseguem “decifrar” a informaçãooriginal
2
Pessoas autorizadas conseguem recuperar a informação original
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 4 / 90
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 6/238
O que é “Segurança”?
Apenas pessoas autorizadas devem ter acesso a informaçãoMecanismos para proteção: Obscuridade → Esteganografia Transformações invertíveis
→ Criptografia
A criptografia estuda como transformar a informação garantindoque:
1 Pessoas não-autorizadas não conseguem “decifrar” a informaçãooriginal
2
Pessoas autorizadas conseguem recuperar a informação original
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 4 / 90
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 7/238
Criptossistemas
Conjunto de operações que nos permite realizar os objetivosdescritos anteriormente:
Ciframento. transforma uma mensagem em um texto cifrado Deciframento. obtém a mensagem original a partir de um textocifrado
Uma primeira definição de segurança:
Um criptossistema é seguro se apenas pessoas autorizadas
conseguem decifrar textos cifrados
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 5 / 90
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 8/238
Criptossistemas
Conjunto de operações que nos permite realizar os objetivosdescritos anteriormente:
Ciframento. transforma uma mensagem em um texto cifrado Deciframento. obtém a mensagem original a partir de um textocifrado
Uma primeira definição de segurança:
Um criptossistema é seguro se apenas pessoas autorizadas
conseguem decifrar textos cifrados
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 5 / 90
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 9/238
Chaves
Como definir pessoas autorizadas ? Pessoas que conhecem alguma informação especial , uma chave
Um criptossistema é seguro se apenas pessoas que conhecem a
chave correta podem decifrar textos cifrados
Dois fatos importantes: Assumimos que a descrição do criptossistema é pública Como um adversário pode tentar todas as chaves possíveis, um
criptossistema segura precisa ter um conjunto suficientemente
grande de chaves para evitar ataques de força bruta
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 6 / 90
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 10/238
Chaves
Como definir pessoas autorizadas ? Pessoas que conhecem alguma informação especial , uma chave
Um criptossistema é seguro se apenas pessoas que conhecem a
chave correta podem decifrar textos cifrados
Dois fatos importantes: Assumimos que a descrição do criptossistema é pública Como um adversário pode tentar todas as chaves possíveis, um
criptossistema segura precisa ter um conjunto suficientemente
grande de chaves para evitar ataques de força bruta
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 6 / 90
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 11/238
Chaves
Como definir pessoas autorizadas ? Pessoas que conhecem alguma informação especial , uma chave
Um criptossistema é seguro se apenas pessoas que conhecem a
chave correta podem decifrar textos cifrados
Dois fatos importantes: Assumimos que a descrição do criptossistema é pública Como um adversário pode tentar todas as chaves possíveis, um
criptossistema segura precisa ter um conjunto suficientemente
grande de chaves para evitar ataques de força bruta
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 6 / 90
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 12/238
Chaves
Como definir pessoas autorizadas ? Pessoas que conhecem alguma informação especial , uma chave
Um criptossistema é seguro se apenas pessoas que conhecem a
chave correta podem decifrar textos cifrados
Dois fatos importantes: Assumimos que a descrição do criptossistema é pública Como um adversário pode tentar todas as chaves possíveis, um
criptossistema segura precisa ter um conjunto suficientemente
grande de chaves para evitar ataques de força bruta
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 6 / 90
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 13/238
Criptossistemas
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 7 / 90
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 14/238
Criptografia assimétrica (chave pública)
Introduzida por Diffie & Hellman em 1976
Funções unidirecionais com segredo → as chaves utilizadas parao ciframento e para o deciframento não precisam ser iguais,apenas relacionadas
Resolve (parcialmente) o problema de distribuição de chaves
Não altera significativamente a idéia intuitiva de segurança
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 8 / 90
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 15/238
Criptografia assimétrica (chave pública)
Introduzida por Diffie & Hellman em 1976
Funções unidirecionais com segredo → as chaves utilizadas parao ciframento e para o deciframento não precisam ser iguais,apenas relacionadas
Resolve (parcialmente) o problema de distribuição de chaves
Não altera significativamente a idéia intuitiva de segurança
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 8 / 90
C i fi i é i ( h úbli )
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 16/238
Criptografia assimétrica (chave pública)
Introduzida por Diffie & Hellman em 1976
Funções unidirecionais com segredo → as chaves utilizadas parao ciframento e para o deciframento não precisam ser iguais,apenas relacionadas
Resolve (parcialmente) o problema de distribuição de chaves
Não altera significativamente a idéia intuitiva de segurança
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 8 / 90
C i fi d h úbli
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 17/238
Criptografia de chave pública
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 9 / 90
Ti d S
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 18/238
Tipos de Segurança
Segurança geralmente não é um conceito absoluto.Um criptossistema pode ser incondicionalmente seguro:
possível em criptossistemas simétricos; caracterização feita por Shannon (Teoria da Informação); One-Time Pad: chaves tão grandes quanto mensagens. Impossível para criptossistemas assimétricos.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 10 / 90
Ti d S
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 19/238
Tipos de Segurança
Segurança geralmente não é um conceito absoluto.Um criptossistema pode ser incondicionalmente seguro:
possível em criptossistemas simétricos; caracterização feita por Shannon (Teoria da Informação); One-Time Pad: chaves tão grandes quanto mensagens. Impossível para criptossistemas assimétricos.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 10 / 90
Tipos de Seg rança
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 20/238
Tipos de Segurança
Segurança geralmente não é um conceito absoluto.Um criptossistema pode ser incondicionalmente seguro:
possível em criptossistemas simétricos; caracterização feita por Shannon (Teoria da Informação); One-Time Pad: chaves tão grandes quanto mensagens. Impossível para criptossistemas assimétricos.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 10 / 90
Tipos de Segurança
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 21/238
Tipos de Segurança
Incondicional
Estatística
Computacional Não existem algoritmos eficientes capazes de quebrar o
criptossistema. Objetivo para criptossistemas assimétricos.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 11 / 90
Tipos de Segurança
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 22/238
Tipos de Segurança
Incondicional
Estatística
Computacional Não existem algoritmos eficientes capazes de quebrar o
criptossistema. Objetivo para criptossistemas assimétricos.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 11 / 90
Tipos de Segurança
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 23/238
Tipos de Segurança
Incondicional
Estatística
Computacional Não existem algoritmos eficientes capazes de quebrar o
criptossistema. Objetivo para criptossistemas assimétricos.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 11 / 90
Tipos de Segurança
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 24/238
Tipos de Segurança
Incondicional
Estatística
Computacional Não existem algoritmos eficientes capazes de quebrar ocriptossistema.
Objetivo para criptossistemas assimétricos.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 11 / 90
Tipos de Segurança
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 25/238
Tipos de Segurança
Incondicional
Estatística
Computacional Não existem algoritmos eficientes capazes de quebrar ocriptossistema.
Objetivo para criptossistemas assimétricos.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 11 / 90
Criptossistemas de chave pública
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 26/238
Criptossistemas de chave pública
DefiniçãoUm criptossistema de chave pública C é uma tupla G ,E ,D dealgoritmos tais que:
G : {0,1}∗ → {0, 1}∗ × {0,1}∗ é o algoritmo de geração dechaves: G (1k ) → (SK,PK)
E PK : MC → CC é o algoritmo de ciframento;
D SK : CC → MC é o algoritmo de deciframento
Eficiência. G ,E ,D são algoritmos polinomiais
Correção. ∀M ∈M
C, e ∀(SK,PK) ∈ G (1
k
), tem-se queD SK(E PK(M )) = M
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 12 / 90
Funções (unidirecionais) com segredo
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 27/238
Funções (unidirecionais) com segredo
DefiniçãoUma função f : D f → I f é dita unidirecional com segredo se existemalgoritmos polinomiais (I ,D ,A,A−1) tais que:
1 Geração com Segredo. (f , s ) ← I (1n )
2
Amostragem. D (1n
) é uniformemente distribuída em D f .3 Eficiência de Cálculo. X n ← D (1n ),A(X n ) = f (X n )
4 Dificuldade de Inversão. Para todo algoritmo B polinomial, e n
suficientemente grande
Pr[B (f (X n )) = X n ] < 1
poli (n )
5 Inversão com Segredo. X n ← D (1n ),A−1(f (X n ), s ) = X n
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 13 / 90
Funções (unidirecionais) com segredo
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 28/238
Funções (unidirecionais) com segredo
DefiniçãoUma função f : D f → I f é dita unidirecional com segredo se existemalgoritmos polinomiais (I ,D ,A,A−1) tais que:
1 Geração com Segredo. (f , s ) ← I (1n )
2
Amostragem. D (1n
) é uniformemente distribuída em D f .3 Eficiência de Cálculo. X n ← D (1n ),A(X n ) = f (X n )
4 Dificuldade de Inversão. Para todo algoritmo B polinomial, e n
suficientemente grande
Pr[B (f (X n )) = X n ] < 1
poli (n )
5 Inversão com Segredo. X n ← D (1n ),A−1(f (X n ), s ) = X n
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 13 / 90
Funções (unidirecionais) com segredo
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 29/238
Funções (unidirecionais) com segredo
DefiniçãoUma função f : D f → I f é dita unidirecional com segredo se existemalgoritmos polinomiais (I ,D ,A,A−1) tais que:
1 Geração com Segredo. (f , s ) ← I (1n )
2
Amostragem. D (1n
) é uniformemente distribuída em D f .3 Eficiência de Cálculo. X n ← D (1n ),A(X n ) = f (X n )
4 Dificuldade de Inversão. Para todo algoritmo B polinomial, e n
suficientemente grande
Pr[B (f (X n )) = X n ] < 1
poli (n )
5 Inversão com Segredo. X n ← D (1n ),A−1(f (X n ), s ) = X n
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 13 / 90
Funções (unidirecionais) com segredo
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 30/238
Funções (unidirecionais) com segredo
DefiniçãoUma função f : D f → I f é dita unidirecional com segredo se existemalgoritmos polinomiais (I ,D ,A,A−1) tais que:
1 Geração com Segredo. (f , s ) ← I (1n )
2
Amostragem. D (1n
) é uniformemente distribuída em D f .3 Eficiência de Cálculo. X n ← D (1n ),A(X n ) = f (X n )
4 Dificuldade de Inversão. Para todo algoritmo B polinomial, e n
suficientemente grande
Pr[B (f (X n )) = X n ] < 1
poli (n )
5 Inversão com Segredo. X n ← D (1n ),A−1(f (X n ), s ) = X n
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 13 / 90
Funções (unidirecionais) com segredo
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 31/238
Funções (unidirecionais) com segredo
DefiniçãoUma função f : D f → I f é dita unidirecional com segredo se existemalgoritmos polinomiais (I ,D ,A,A−1) tais que:
1 Geração com Segredo. (f , s ) ← I (1n )
2
Amostragem. D (1n
) é uniformemente distribuída em D f .3 Eficiência de Cálculo. X n ← D (1n ),A(X n ) = f (X n )
4 Dificuldade de Inversão. Para todo algoritmo B polinomial, e n
suficientemente grande
Pr[B (f (X n )) = X n ] < 1
poli (n )
5 Inversão com Segredo. X n ← D (1n ),A−1(f (X n ), s ) = X n
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 13 / 90
Funções unidirecionais com segredo - RSA
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 32/238
ç g
Geração.
Escolhe dois primos p e q ; calcula n = pq ; escolhe e , d tais queed ≡ 1 (mod φ(n )); retorna (n ,e ),d .
Função.Dado um x , F RSA(x ) = x e mod n .
Inversão com segredo.
Dado um y = F RSA(x ), calcule F −1RSA(y ) = y d mod n ≡ x (mod n ).
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 14 / 90
Funções Unidirecionais com segredo - Rabin
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 33/238
ç g
Geração.Escolhe dois primos p e q ; calcula n = pq ; retorna n , (p , q ).
Função.
Dado um x , F Rabin(x ) = x 2 mod n .
Inversão com segredo.
Dado um y = F Rabin(x ), calcular x 1 = y 12 mod p e x 2 = y
12 mod q ;
combinar usando o TCR; x é uma das quatro possíveis soluções.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 15 / 90
Como avaliar a segurança de um criptossistema?
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 34/238
g ç p
Digamos que queremos avaliar o Rabin .O que podemos fazer?
1 Tentar atacar de todas as formas possíveis. Impossível obter garantias
2 Derivar evidências matemáticas sobre sua segurança. Idealmente, queremos obter uma demonstração de segurança .
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 16 / 90
Como avaliar a segurança de um criptossistema?
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 35/238
g ç p
Digamos que queremos avaliar o Rabin .O que podemos fazer?
1 Tentar atacar de todas as formas possíveis. Impossível obter garantias
2 Derivar evidências matemáticas sobre sua segurança. Idealmente, queremos obter uma demonstração de segurança .
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 16 / 90
Como avaliar a segurança de um criptossistema?
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 36/238
Digamos que queremos avaliar o Rabin .O que podemos fazer?
1 Tentar atacar de todas as formas possíveis. Impossível obter garantias
2 Derivar evidências matemáticas sobre sua segurança. Idealmente, queremos obter uma demonstração de segurança .
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 16 / 90
Como avaliar a segurança de um criptossistema?
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 37/238
Digamos que queremos avaliar o Rabin .O que podemos fazer?
1 Tentar atacar de todas as formas possíveis. Impossível obter garantias
2 Derivar evidências matemáticas sobre sua segurança. Idealmente, queremos obter uma demonstração de segurança .
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 16 / 90
Demonstrações de Segurança
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 38/238
Todo criptossistema de chave pública é naturalmente baseado emuma suposição de intratabilidade . Fatoração no caso do RSA e do Rabin.
Isto não significa que quebrar o criptossistema seja tão difícil
quanto resolver o problema difícil. A fatoração é redutível ao Rabin. Não há evidência que o mesmo valha para o RSA.
Como reduzimos então um problema (difícil) à segurança de umcriptossistema?
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 17 / 90
Demonstrações de Segurança
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 39/238
Todo criptossistema de chave pública é naturalmente baseado emuma suposição de intratabilidade . Fatoração no caso do RSA e do Rabin.
Isto não significa que quebrar o criptossistema seja tão difícil
quanto resolver o problema difícil. A fatoração é redutível ao Rabin. Não há evidência que o mesmo valha para o RSA.
Como reduzimos então um problema (difícil) à segurança de umcriptossistema?
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 17 / 90
Demonstrações de Segurança
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 40/238
Todo criptossistema de chave pública é naturalmente baseado emuma suposição de intratabilidade . Fatoração no caso do RSA e do Rabin.
Isto não significa que quebrar o criptossistema seja tão difícil
quanto resolver o problema difícil. A fatoração é redutível ao Rabin. Não há evidência que o mesmo valha para o RSA.
Como reduzimos então um problema (difícil) à segurança de umcriptossistema?
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 17 / 90
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 41/238
Demonstrações de Segurança
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 42/238
Todo criptossistema de chave pública é naturalmente baseado emuma suposição de intratabilidade . Fatoração no caso do RSA e do Rabin.
Isto não significa que quebrar o criptossistema seja tão difícil
quanto resolver o problema difícil. A fatoração é redutível ao Rabin. Não há evidência que o mesmo valha para o RSA.
Como reduzimos então um problema (difícil) à segurança de umcriptossistema?
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 17 / 90
Estrutura de uma redução
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 43/238
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 18 / 90
Segurança do Rabin
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 44/238
TeoremaSe existir um algoritmo A capaz de decifrar textos cifrados do Rabin,existe um algoritmo D capaz de fatorar inteiros grandes.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 19 / 90
Segurança do Rabin
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 45/238
Descrição de D.1 Recebe N .2 enquanto não tiver sucesso:
1 escolhe x
r
← ZN ;2 calcula y = x 2 mod N ;3 executa w ← A(y ,N );
Se w = ±x (mod N ) SUCESSO Caso contrário, FALHA
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 20 / 90
Segurança do Rabin
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 46/238
Descrição de D.1 Recebe N .2 enquanto não tiver sucesso:
1 escolhe x
r
← ZN ;2 calcula y = x 2 mod N ;3 executa w ← A(y ,N );
Se w = ±x (mod N ) SUCESSO Caso contrário, FALHA
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 20 / 90
Segurança do Rabin
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 47/238
Descrição de D.1 Recebe N .2 enquanto não tiver sucesso:
1 escolhe x
r
← ZN ;2 calcula y = x 2 mod N ;3 executa w ← A(y ,N );
Se w = ±x (mod N ) SUCESSO Caso contrário, FALHA
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 20 / 90
Segurança do Rabin
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 48/238
Descrição de D.1 Recebe N .2 enquanto não tiver sucesso:
1 escolhe x
r
← ZN ;2 calcula y = x 2 mod N ;3 executa w ← A(y ,N );
Se w = ±x (mod N ) SUCESSO Caso contrário, FALHA
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 20 / 90
Segurança do Rabin
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 49/238
Descrição de D.1 Recebe N .2 enquanto não tiver sucesso:
1 escolhe x
r
←Z
N ;2 calcula y = x 2 mod N ;3 executa w ← A(y ,N );
Se w = ±x (mod N ) SUCESSO Caso contrário, FALHA
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 20 / 90
Segurança do Rabin
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 50/238
Descrição de D.1 Recebe N .2 enquanto não tiver sucesso:
1 escolhe x
r
←Z
N ;2 calcula y = x 2 mod N ;3 executa w ← A(y ,N );
Se w = ±x (mod N ) SUCESSO Caso contrário, FALHA
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 20 / 90
Segurança do Rabin
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 51/238
Sabemos que y = x 2 mod N tem quatro raízes quadradas seN = pq . ±r 1 ±r 2
Em caso de sucesso, D conhece x ,w tais que x 2 ≡ w 2 (mod N ), mas x = ±w (mod N )
Então d = MDC ((w − x ),N ) divide N .
w 2 ≡ x 2 (mod N )
w 2 − x 2 ≡ 0 (mod N )
(w − x )(w + x ) ≡ 0 (mod N )(w − x )(w + x ) = kN
Logo, em caso de sucesso, D consegue fatorar N .
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 21 / 90
Segurança do Rabin
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 52/238
Sabemos que y = x 2 mod N tem quatro raízes quadradas seN = pq . ±r 1 ±r 2
Em caso de sucesso, D conhece x ,w tais que x 2 ≡ w 2 (mod N ), mas x = ±w (mod N )
Então d = MDC ((w − x ),N ) divide N .
w 2 ≡ x 2 (mod N )
w 2 − x 2 ≡ 0 (mod N )
(w − x )(w + x ) ≡ 0 (mod N )(w − x )(w + x ) = kN
Logo, em caso de sucesso, D consegue fatorar N .
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 21 / 90
Segurança do Rabin
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 53/238
Sabemos que y = x 2 mod N tem quatro raízes quadradas seN = pq . ±r 1 ±r 2
Em caso de sucesso, D conhece x ,w tais que x 2 ≡ w 2 (mod N ), mas x = ±w (mod N )
Então d = MDC ((w − x ),N ) divide N .
w 2 ≡ x 2 (mod N )
w 2 − x 2 ≡ 0 (mod N )
(w − x )(w + x ) ≡ 0 (mod N )(w − x )(w + x ) = kN
Logo, em caso de sucesso, D consegue fatorar N .
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 21 / 90
Segurança do Rabin
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 54/238
Sabemos que y = x 2 mod N tem quatro raízes quadradas seN = pq . ±r 1 ±r 2
Em caso de sucesso, D conhece x ,w tais que x 2 ≡ w 2 (mod N ), mas x = ±w (mod N )
Então d = MDC ((w − x ),N ) divide N .
w 2 ≡ x 2 (mod N )
w 2 − x 2 ≡ 0 (mod N )
(w − x )(w + x ) ≡ 0 (mod N )(w − x )(w + x ) = kN
Logo, em caso de sucesso, D consegue fatorar N .
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 21 / 90
Segurança do Rabin
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 55/238
Sabemos que y = x 2 mod N tem quatro raízes quadradas seN = pq .
±r 1 ±r 2
Em caso de sucesso, D conhece x ,w tais que x 2 ≡ w 2 (mod N ), mas x = ±w (mod N )
Então d = MDC ((w − x ),N ) divide N .
w 2 ≡ x 2 (mod N )
w 2 − x 2 ≡ 0 (mod N )
(w − x )(w + x ) ≡ 0 (mod N )(w − x )(w + x ) = kN
Logo, em caso de sucesso, D consegue fatorar N .
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 21 / 90
Segurança do Rabin
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 56/238
Probabilidade de sucesso.1 Seja λ(k ) a chance de A quebrar o Rabin. Supomos que λ(k ) é não-desprezível. (λ(k ) ≥ 1
p (n ))
2 A probabilidade de uma iteração de D conseguir fatorar N éPr[D 1] = 1
2λ(k ).3 Logo, a probabilidade de n iterações de D fatorarem N é
Pr[D n ] = (1 − λ(k )
2 )n
4 O tempo de execução de D cai exponencialmente com o aumentoda probabilidade de acerto de A
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 22 / 90
Segurança do Rabin
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 57/238
Probabilidade de sucesso.1 Seja λ(k ) a chance de A quebrar o Rabin. Supomos que λ(k ) é não-desprezível. (λ(k ) ≥ 1
p (n ))
2 A probabilidade de uma iteração de D conseguir fatorar N éPr[D 1] = 1
2λ(k ).3 Logo, a probabilidade de n iterações de D fatorarem N é
Pr[D n ] = (1 − λ(k )
2 )n
4 O tempo de execução de D cai exponencialmente com o aumentoda probabilidade de acerto de A
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 22 / 90
Segurança do Rabin
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 58/238
Probabilidade de sucesso.1 Seja λ(k ) a chance de A quebrar o Rabin. Supomos que λ(k ) é não-desprezível. (λ(k ) ≥ 1
p (n ))
2 A probabilidade de uma iteração de D conseguir fatorar N éPr[D 1] = 1
2λ(k ).3 Logo, a probabilidade de n iterações de D fatorarem N é
Pr[D n ] = (1 − λ(k )
2 )n
4 O tempo de execução de D cai exponencialmente com o aumentoda probabilidade de acerto de A
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 22 / 90
Objeções
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 59/238
“Problemas” utilizando esquemas do estilo Diffie-Hellman:1 Como enviar um bit de maneira segura2 Como jogar pôquer pelo telefone
As idéias originais de Diffie & Hellman não são suficientes para
garantir a segurança nestes dois cenáriosA nossa noção “intuitiva” de segurança também não garante asegurança destes casos
Precisamos de melhores definições de “segurança”
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 23 / 90
Objeções
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 60/238
“Problemas” utilizando esquemas do estilo Diffie-Hellman:1 Como enviar um bit de maneira segura2 Como jogar pôquer pelo telefone
As idéias originais de Diffie & Hellman não são suficientes para
garantir a segurança nestes dois cenáriosA nossa noção “intuitiva” de segurança também não garante asegurança destes casos
Precisamos de melhores definições de “segurança”
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 23 / 90
Objeções
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 61/238
“Problemas” utilizando esquemas do estilo Diffie-Hellman:1 Como enviar um bit de maneira segura2 Como jogar pôquer pelo telefone
As idéias originais de Diffie & Hellman não são suficientes para
garantir a segurança nestes dois cenáriosA nossa noção “intuitiva” de segurança também não garante asegurança destes casos
Precisamos de melhores definições de “segurança”
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 23 / 90
Objeções
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 62/238
“Problemas” utilizando esquemas do estilo Diffie-Hellman:1 Como enviar um bit de maneira segura2 Como jogar pôquer pelo telefone
As idéias originais de Diffie & Hellman não são suficientes para
garantir a segurança nestes dois cenáriosA nossa noção “intuitiva” de segurança também não garante asegurança destes casos
Precisamos de melhores definições de “segurança”
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 23 / 90
Modelos de ataque
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 63/238
O que é um ataque? Informações a que um adversário tem acesso Possibilidade de interação com usuários
O que é um ataque bem-sucedido?
Que informação desejamos esconder O que é “quebrar” o criptossistema
Modelo simplificado de ataque: adversário passivo Intercepta mensagens cifradas Tenta atacar o criptossistema sem capacidade extra
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 24 / 90
Modelos de ataque
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 64/238
O que é um ataque? Informações a que um adversário tem acesso Possibilidade de interação com usuários
O que é um ataque bem-sucedido?
Que informação desejamos esconder O que é “quebrar” o criptossistema
Modelo simplificado de ataque: adversário passivo Intercepta mensagens cifradas Tenta atacar o criptossistema sem capacidade extra
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 24 / 90
Modelos de ataque
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 65/238
O que é um ataque? Informações a que um adversário tem acesso Possibilidade de interação com usuários
O que é um ataque bem-sucedido?
Que informação desejamos esconder O que é “quebrar” o criptossistema
Modelo simplificado de ataque: adversário passivo Intercepta mensagens cifradas Tenta atacar o criptossistema sem capacidade extra
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 24 / 90
Modelos de ataque
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 66/238
O que é um ataque? Informações a que um adversário tem acesso Possibilidade de interação com usuários
O que é um ataque bem-sucedido?
Que informação desejamos esconder O que é “quebrar” o criptossistema
Modelo simplificado de ataque: adversário passivo Intercepta mensagens cifradas Tenta atacar o criptossistema sem capacidade extra
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 24 / 90
Segurança Semântica
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 67/238
“Um bom disfarce não deve revelar a altura da pessoa”,
[Goldwasser & Micali, 1982]
Segurança Semântica: nenhuma informação adicional pode serobtida a partir da observação de um texto cifrado
Qualquer função polinomial do texto claro que pode ser calculadaa partir do texto cifrado pode ser calculada sem a sua observação.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 25 / 90
Segurança Semântica
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 68/238
“Um bom disfarce não deve revelar a altura da pessoa”,
[Goldwasser & Micali, 1982]
Segurança Semântica: nenhuma informação adicional pode serobtida a partir da observação de um texto cifrado
Qualquer função polinomial do texto claro que pode ser calculadaa partir do texto cifrado pode ser calculada sem a sua observação.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 25 / 90
Segurança Semântica
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 69/238
Definição
Um criptossistema (G ,E ,D ) é semanticamente seguro se para todoalgoritmo polinomial A existe um A tal que
Pr[A(1n ,G 1(1n ),E G 1(1n )(X n ),1|X n |,h (1n ,X n )) = f (1n ,X n )]
< Pr[A(1n , 1|X n |, h (1n ,X n )) = f (1n ,X n )] + 1p (n ) ,
para
todo par de funções polinomiais f ,h : {0,1}∗ → {0, 1}∗
todo polinômio positivo p todo n suficientemente grande
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 26 / 90
Indistinguibilidade
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 70/238
“Um bom disfarce não deve permitir que uma mãe distinga entre seus próprios filhos”,
[Goldwasser & Micali, 1982]
Segurança Polinomial – “Indistinguibilidade”
Sejam duas mensagems m 0,m 1
Sejam os textos cifrados respectivos x 0 = E (m 0), x 1 = E (m 1)
Um adversário não consegue escolher m 0,m 1 tais que, ao receber o texto cifrado x i , para i
r← {0,1}, ele consiga decidir a
qual mensagem x i se refere.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 27 / 90
Indistinguibilidade
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 71/238
Definição 1Um criptossistema (G ,E ,D ) é polinomialmente seguro se para todoalgoritmo polinomial A
| Pr[A(1n , x , y ,G 1(1n ),E G 1(1n )(x )) = 1]
− Pr[A(1n , x , y ,G 1(1n ),E G 1(1n )(y )) = 1]| < 1p (n )
,
para
todo polinômio positivo p
todo n suficientemente grande
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 28 / 90
Indistinguibilidade
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 72/238
Definição 2Um criptossistema (G ,E ,D ) é polinomialmente seguro se para todoalgoritmo polinomial A
Pr[A(1n ,m 0,m 1,G 1(1n ),E G 1(1n )(m i )) = i ] < 1
2
+ 1
p (n )para
i r← {0,1}
todo polinômio positivo p
todo n suficientemente grande
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 29 / 90
Ciframento probabilístico
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 73/238
O ciframento (determinístico) como em Diffie & Hellman nuncapode ser polinomialmente seguro O texto cifrado de cada mensagem é único
Goldwasser & Micali propuseram a noção de ciframentoprobabilístico Uma única mensagem pode resultar um número imenso de textos
cifrados diferentes
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 30 / 90
Ciframento probabilístico
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 74/238
O ciframento (determinístico) como em Diffie & Hellman nuncapode ser polinomialmente seguro O texto cifrado de cada mensagem é único
Goldwasser & Micali propuseram a noção de ciframentoprobabilístico Uma única mensagem pode resultar um número imenso de textos
cifrados diferentes
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 30 / 90
A noção “correta” de segurança
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 75/238
Segurança semântica ou indistinguibilidade?Segurança Semântica Intuitiva: qualquer informação relacionada à mensagem é difícil de
calcular dado apenas o texto cifrado
Indistinguibilidade Mais artificial porém muito mais fácil de se trabalhar
Em [Goldwasser & Micali, 1982] prova-se que indistinguibilidade
implica segurança semântica.
Em [Micali et al., 1988] prova-se que as duas noções são
equivalentes (em ataques passivos)
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 31 / 90
A noção “correta” de segurança
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 76/238
Segurança semântica ou indistinguibilidade?Segurança Semântica Intuitiva: qualquer informação relacionada à mensagem é difícil de
calcular dado apenas o texto cifrado
Indistinguibilidade Mais artificial porém muito mais fácil de se trabalhar
Em [Goldwasser & Micali, 1982] prova-se que indistinguibilidade
implica segurança semântica.
Em [Micali et al., 1988] prova-se que as duas noções são
equivalentes (em ataques passivos)
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 31 / 90
A noção “correta” de segurança
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 77/238
Segurança semântica ou indistinguibilidade?Segurança Semântica Intuitiva: qualquer informação relacionada à mensagem é difícil de
calcular dado apenas o texto cifrado
Indistinguibilidade Mais artificial porém muito mais fácil de se trabalhar
Em [Goldwasser & Micali, 1982] prova-se que indistinguibilidade
implica segurança semântica.
Em [Micali et al., 1988] prova-se que as duas noções são
equivalentes (em ataques passivos)
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 31 / 90
A noção “correta” de segurança
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 78/238
Segurança semântica ou indistinguibilidade?Segurança Semântica Intuitiva: qualquer informação relacionada à mensagem é difícil de
calcular dado apenas o texto cifrado
Indistinguibilidade Mais artificial porém muito mais fácil de se trabalhar
Em [Goldwasser & Micali, 1982] prova-se que indistinguibilidade
implica segurança semântica.
Em [Micali et al., 1988] prova-se que as duas noções são
equivalentes (em ataques passivos)
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 31 / 90
Retrato de um ataque
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 79/238
Apenas adversários passivos (CPA)Indistinguibilidade como noção de segurançaUm adversário é um algoritmo A que
1 Recebe como entrada PK2 Escolhe um par de mensagens m 0,m 13 Recebe como entrada αi = E SK (m i ), para i r← {0,1}.4 Após um número polinomial de passos deve responder o valor i
As primeiras provas vão então supor, por absurdo, que um tal Aexista e construir um desafiante D que o utiliza para resolver
algum problema (suposto) difícil
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 32 / 90
Retrato de um ataque
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 80/238
Apenas adversários passivos (CPA)Indistinguibilidade como noção de segurançaUm adversário é um algoritmo A que
1 Recebe como entrada PK2 Escolhe um par de mensagens m 0,m 13 Recebe como entrada αi = E SK (m i ), para i r← {0,1}.4 Após um número polinomial de passos deve responder o valor i
As primeiras provas vão então supor, por absurdo, que um tal Aexista e construir um desafiante D que o utiliza para resolver
algum problema (suposto) difícil
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 32 / 90
Retrato de um ataque
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 81/238
Apenas adversários passivos (CPA)Indistinguibilidade como noção de segurançaUm adversário é um algoritmo A que
1 Recebe como entrada PK2 Escolhe um par de mensagens m 0,m 13 Recebe como entrada αi = E SK (m i ), para i r← {0,1}.4 Após um número polinomial de passos deve responder o valor i
As primeiras provas vão então supor, por absurdo, que um tal Aexista e construir um desafiante D que o utiliza para resolver
algum problema (suposto) difícil
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 32 / 90
Retrato de um Ataque (CPA)
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 82/238
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 33 / 90
Perguntas?
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 83/238
Dúvidas?? Perguntas???
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 34 / 90
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 84/238
Permutações (unidirecionais) com segredoUma permutação com segredo é uma função unidirecional comsegredo que também é uma permutação no seu domínio
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 85/238
segredo que também é uma permutação no seu domínio
Permutação com segredoUma permutação p : D p → D p é dita unidirecional com segredo seexistem algoritmos (I ,D ,A,A−1) tais que:
1 Geração com Segredo. (p , s ) ← I (1n )
2 Amostragem. A saída de D (1n ) é uniformemente distribuída em D p
3 Eficiência de Cálculo. X n ← D (1n ),A(X n ) = p (X n )
4 Dificuldade de Inversão. Para todo B polinomial, e n suficientementegrande
Pr[B (p (X n )) = X n ] < 1
poli (n )
5 Inversão com Segredo. X n ← D (1n ),A−1(p (X n ), s ) = X n
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 36 / 90
Permutações (unidirecionais) com segredoUma permutação com segredo é uma função unidirecional comsegredo que também é uma permutação no seu domínio
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 86/238
segredo que também é uma permutação no seu domínio
Permutação com segredoUma permutação p : D p → D p é dita unidirecional com segredo seexistem algoritmos (I ,D ,A,A−1) tais que:
1 Geração com Segredo. (p , s ) ← I (1n )
2 Amostragem. A saída de D (1n ) é uniformemente distribuída em D p
3 Eficiência de Cálculo. X n ← D (1n ),A(X n ) = p (X n )
4 Dificuldade de Inversão. Para todo B polinomial, e n suficientementegrande
Pr[B (p (X n )) = X n ] < 1
poli (n )
5 Inversão com Segredo. X n ← D (1n ),A−1(p (X n ), s ) = X n
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 36 / 90
Permutações (unidirecionais) com segredoUma permutação com segredo é uma função unidirecional comsegredo que também é uma permutação no seu domínio
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 87/238
segredo que também é uma permutação no seu domínio
Permutação com segredoUma permutação p : D p → D p é dita unidirecional com segredo seexistem algoritmos (I ,D ,A,A−1) tais que:
1 Geração com Segredo. (p , s ) ← I (1n )
2 Amostragem. A saída de D (1n ) é uniformemente distribuída em D p
3 Eficiência de Cálculo. X n ← D (1n ),A(X n ) = p (X n )
4 Dificuldade de Inversão. Para todo B polinomial, e n suficientementegrande
Pr[B (p (X n )) = X n ] < 1
poli (n )
5 Inversão com Segredo. X n ← D (1n ),A−1(p (X n ), s ) = X n
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 36 / 90
Permutações (unidirecionais) com segredoUma permutação com segredo é uma função unidirecional comsegredo que também é uma permutação no seu domínio
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 88/238
segredo que também é uma permutação no seu domínio
Permutação com segredoUma permutação p : D p → D p é dita unidirecional com segredo seexistem algoritmos (I ,D ,A,A−1) tais que:
1 Geração com Segredo. (p , s ) ← I (1n )
2 Amostragem. A saída de D (1n ) é uniformemente distribuída em D p
3 Eficiência de Cálculo. X n ← D (1n ),A(X n ) = p (X n )
4 Dificuldade de Inversão. Para todo B polinomial, e n suficientementegrande
Pr[B (p (X n )) = X n ] < 1
poli (n )
5 Inversão com Segredo. X n ← D (1n ),A−1(p (X n ), s ) = X n
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 36 / 90
Permutações (unidirecionais) com segredoUma permutação com segredo é uma função unidirecional comsegredo que também é uma permutação no seu domínio
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 89/238
segredo que também é uma permutação no seu domínio
Permutação com segredoUma permutação p : D p → D p é dita unidirecional com segredo seexistem algoritmos (I ,D ,A,A−1) tais que:
1 Geração com Segredo. (p , s ) ← I (1n )
2 Amostragem. A saída de D (1n ) é uniformemente distribuída em D p
3 Eficiência de Cálculo. X n ← D (1n ),A(X n ) = p (X n )
4 Dificuldade de Inversão. Para todo B polinomial, e n suficientementegrande
Pr[B (p (X n )) = X n ] < 1
poli (n )
5 Inversão com Segredo. X n ← D (1n ),A−1(p (X n ), s ) = X n
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 36 / 90
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 90/238
Hard-core de uma função
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 91/238
Hard-Core de uma funçãoSeja b : {0,1}∗ → {0,1}∗ tal que que ∀x , y |x | = |y | → |b (x )| = |b (y )|.
Seja l (n ) def= |b (1n )|.
A função b é chamada de hard-core da função f se, para todoalgoritmo polinomial A e n suficientemente grande, tem-se
abs Pr[A(f (X n ),b (X n )) = 1] − Pr[A(f (X n ),R l (n )) = 1]
<
1p (n )
,
onde X n e R l (n ) são duas variáveis aleatórias independentes
uniformemente distribuídas em {0,1}n e {0, 1}l (n ) respectivamente.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 38 / 90
Exemplo
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 92/238
Suponha que, para escolhas apropriadas de parâmetros, a função
F e ,N (x ) = x e mod N
seja uma permutação com segredoSabe-se [Goldwasser et al., 1982] que o bit menos significativo dex é um hard-core de F e ,N
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 39 / 90
O criptossistema CS-2
Geração de Chaves.
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 93/238
Geração de Chaves.
Seleciona-se aleatoriamente uma permutação p com segredo s p
associado, e um hard-core b p de p .
Ciframento.
Seja σ o bit a ser cifrado. Selecione r r
← D p e calcule o texto cifradoC = p (r ), σ ⊕ b p (r ).
Deciframento.
Seja C = γ 1, γ 2 o texto a decifrar. Utilizando s p , calcule r
= p −1
(γ 1);o bit original é σ = γ 2 ⊕ b p (r ).
R f l D t d C t () I t d ã à S D t á l A t d 2007 40 / 90
CS-2 - Demonstração de segurança
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 94/238
Lembrando indistinguibilidade Não existe adversário A capaz de escolher m 0,m 1, tais que ele
consegue diferenciar E PK(m 0) de E PK (m 1) com probabilidadenão-desprezível
Como o ciframento aqui ocorre bit-a-bit, podemos supor que
m 0 = 0 e m 1 = 1.Precisamos provar então que, para todo adversário A,
Prα,r
[A(p α(r ),1 ⊕ b (r )) = 1] − Prα,r
[A(p α(r ), 0 ⊕ b (r )) = 1] < 1
poli (n )
R f l D t d C t () I t d ã à S D t á l A t d 2007 41 / 90
CS-2 - Demonstração de segurança
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 95/238
Lembrando indistinguibilidade Não existe adversário A capaz de escolher m 0,m 1, tais que ele
consegue diferenciar E PK(m 0) de E PK (m 1) com probabilidadenão-desprezível
Como o ciframento aqui ocorre bit-a-bit, podemos supor que
m 0 = 0 e m 1 = 1.Precisamos provar então que, para todo adversário A,
Prα,r
[A(p α(r ),1 ⊕ b (r )) = 1] − Prα,r
[A(p α(r ), 0 ⊕ b (r )) = 1] < 1
poli (n )
R f l D t d C t () I t d ã à S D t á l A t d 2007 41 / 90
CS-2 - Demonstração de segurança
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 96/238
Lembrando indistinguibilidade Não existe adversário A capaz de escolher m 0,m 1, tais que ele
consegue diferenciar E PK(m 0) de E PK (m 1) com probabilidadenão-desprezível
Como o ciframento aqui ocorre bit-a-bit, podemos supor que
m 0 = 0 e m 1 = 1.Precisamos provar então que, para todo adversário A,
Prα,r
[A(p α(r ),1 ⊕ b (r )) = 1] − Prα,r
[A(p α(r ), 0 ⊕ b (r )) = 1] < 1
poli (n )
R f l D t d C t () I t d ã à S D t á l A t d 2007 41 / 90
CS-2 - Demonstração de segurança
Suponha então, por absurdo, que exista um A que distingueE (0) e E (1) com probabilidade não desprezível
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 97/238
E α(0) e E α(1) com probabilidade não-desprezível Construímos então um D capaz de calcular b (x ) a partir de p (x )
com probabilidade também não-desprezível
Relembrando a definição de hard-core , para todo algoritmo B :
Pr[B (p (X n ),b (X n )) = 1] − Pr[B (p (X n ),R l (n )) = 1] <
1poli (n )
Logo, se construirmos D a partir de A chegamos a umacontradição...
. . . e portanto não pode haver A com probabilidade de sucessonão-desprezível
R f l D t d C t () I t d ã à S D t á l A t d 2007 42 / 90
CS-2 - Demonstração de segurança
Suponha então, por absurdo, que exista um A que distingueE (0) e E (1) com probabilidade não desprezível
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 98/238
E α(0) e E α(1) com probabilidade não-desprezível Construímos então um D capaz de calcular b (x ) a partir de p (x )
com probabilidade também não-desprezível
Relembrando a definição de hard-core , para todo algoritmo B :
Pr[B (p (X n ),b (X n )) = 1] − Pr[B (p (X n ),R l (n )) = 1] <
1
poli (n )
Logo, se construirmos D a partir de A chegamos a umacontradição...
. . . e portanto não pode haver A com probabilidade de sucessonão-desprezível
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 42 / 90
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 99/238
CS-2 - Demonstração de segurança
Suponha então, por absurdo, que exista um A que distingueE (0) e E (1) com probabilidade não-desprezível
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 100/238
E α(0) e E α(1) com probabilidade não-desprezível Construímos então um D capaz de calcular b (x ) a partir de p (x )
com probabilidade também não-desprezível
Relembrando a definição de hard-core , para todo algoritmo B :
Pr[B (p (X n ),b (X n )) = 1] − Pr[B (p (X n ),R l (n )) = 1] <
1
poli (n )
Logo, se construirmos D a partir de A chegamos a umacontradição...
. . . e portanto não pode haver A com probabilidade de sucessonão-desprezível
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 42 / 90
CS-2 - Demonstração de segurança
Suponha então, por absurdo, que exista um A que distingueE (0) e E (1) com probabilidade não-desprezível
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 101/238
E α(0) e E α(1) com probabilidade não desprezível Construímos então um D capaz de calcular b (x ) a partir de p (x )
com probabilidade também não-desprezível
Relembrando a definição de hard-core , para todo algoritmo B :
Pr[B (p (X n ),b (X n )) = 1] − Pr[B (p (X n ),R l (n )) = 1] <
1
poli (n )
Logo, se construirmos D a partir de A chegamos a umacontradição...
. . . e portanto não pode haver A com probabilidade de sucessonão-desprezível
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 42 / 90
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 102/238
CS-2 - Redução de segurança
A descrição de D é bastante simples
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 103/238
A descrição de D é bastante simples1 Recebe p (X n ), σ
2 Lembre-se que m 0 = 0 e m 1 = 13 Executa i ← A(m 0,m 1, p (X n ), σ)
i é o chute de A
4 Responde o inverso de i Se i = 0:
σ = m 0 ⊕ b p (X n ) = b p (X n )
Se i = 1: σ = m 1 ⊕ b p (X n ) = b p (X n )
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 43 / 90
CS-2 - Redução de segurança
A descrição de D é bastante simples
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 104/238
A descrição de D é bastante simples1 Recebe p (X n ), σ
2 Lembre-se que m 0 = 0 e m 1 = 13 Executa i ← A(m 0,m 1, p (X n ), σ)
i é o chute de A
4 Responde o inverso de i Se i = 0:
σ = m 0 ⊕ b p (X n ) = b p (X n )
Se i = 1: σ = m 1 ⊕ b p (X n ) = b p (X n )
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 43 / 90
CS-2 - Redução de segurança
A descrição de D é bastante simples
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 105/238
A descrição de D é bastante simples1 Recebe p (X n ), σ
2 Lembre-se que m 0 = 0 e m 1 = 13 Executa i ← A(m 0,m 1, p (X n ), σ)
i é o chute de A
4 Responde o inverso de i Se i = 0:
σ = m 0 ⊕ b p (X n ) = b p (X n )
Se i = 1: σ = m 1 ⊕ b p (X n ) = b p (X n )
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 43 / 90
CS-2 - Redução de segurança
A descrição de D é bastante simples
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 106/238
A descrição de D é bastante simples1 Recebe p (X n ), σ
2 Lembre-se que m 0 = 0 e m 1 = 13 Executa i ← A(m 0,m 1, p (X n ), σ)
i é o chute de A
4 Responde o inverso de i Se i = 0:
σ = m 0 ⊕ b p (X n ) = b p (X n )
Se i = 1: σ = m 1 ⊕ b p (X n ) = b p (X n )
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 43 / 90
CS-2 - Redução de segurança
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 107/238
Tempo de execução: O tempo de execução de D é basicamente o mesmo que A
A probabilidade de sucesso de D é a mesma que a de A Contradição
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 44 / 90
CS-2 - Redução de segurança
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 108/238
Tempo de execução: O tempo de execução de D é basicamente o mesmo que A
A probabilidade de sucesso de D é a mesma que a de A Contradição
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 44 / 90
CS-2 - Redução de segurança
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 109/238
Tempo de execução: O tempo de execução de D é basicamente o mesmo que A
A probabilidade de sucesso de D é a mesma que a de A Contradição
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 44 / 90
Esquemas seguros e eficientes
O CS-2, como foi apresentado é extremamente ineficiente: ciframento bit-a-bit
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 110/238
ciframento bit a bit
Precisamos encontrar hard-cores de funções que forneçamresultados maiores que 1 bit Chor e Goldreich provaram em 1985 que O (log n ) bits menos
significativos no RSA são um hard-core Conjetura: será que os n /2 bits menos significativos são um
hard-core ?Blum-Goldwasser proposto em 1985 eficiência comparável à do RSA demonstravelmente seguro
Por que continuar com o RSA simples?
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 45 / 90
Esquemas seguros e eficientes
O CS-2, como foi apresentado é extremamente ineficiente: ciframento bit-a-bit
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 111/238
ciframento bit a bit
Precisamos encontrar hard-cores de funções que forneçamresultados maiores que 1 bit Chor e Goldreich provaram em 1985 que O (log n ) bits menos
significativos no RSA são um hard-core Conjetura: será que os n /2 bits menos significativos são um
hard-core ?Blum-Goldwasser proposto em 1985 eficiência comparável à do RSA demonstravelmente seguro
Por que continuar com o RSA simples?
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 45 / 90
Esquemas seguros e eficientes
O CS-2, como foi apresentado é extremamente ineficiente: ciframento bit-a-bit
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 112/238
ciframento bit a bit
Precisamos encontrar hard-cores de funções que forneçamresultados maiores que 1 bit Chor e Goldreich provaram em 1985 que O (log n ) bits menos
significativos no RSA são um hard-core Conjetura: será que os n /2 bits menos significativos são um
hard-core ?Blum-Goldwasser proposto em 1985 eficiência comparável à do RSA demonstravelmente seguro
Por que continuar com o RSA simples?
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 45 / 90
Modelo de adversário
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 113/238
Somente adversários passivos até agoraEste certamente não é o modelo mais desejável de adversárioPode-se imaginar adversários bastante mais poderosos: Conhecem pares de texto em claro/texto cifrado Interagem com usuários legítimos Podem requisitar deciframento de mensagens arbitrárias
Não se conheciam esquemas eficientes e demonstravelmenteseguros contra adversários adaptativos
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 46 / 90
Modelo de adversário
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 114/238
Somente adversários passivos até agoraEste certamente não é o modelo mais desejável de adversárioPode-se imaginar adversários bastante mais poderosos: Conhecem pares de texto em claro/texto cifrado Interagem com usuários legítimos Podem requisitar deciframento de mensagens arbitrárias
Não se conheciam esquemas eficientes e demonstravelmenteseguros contra adversários adaptativos
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 46 / 90
Modelo de adversário
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 115/238
Somente adversários passivos até agoraEste certamente não é o modelo mais desejável de adversárioPode-se imaginar adversários bastante mais poderosos: Conhecem pares de texto em claro/texto cifrado Interagem com usuários legítimos Podem requisitar deciframento de mensagens arbitrárias
Não se conheciam esquemas eficientes e demonstravelmenteseguros contra adversários adaptativos
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 46 / 90
Final dos anos 80
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 116/238
Final de uma década de grandes avanços na criptografia
Certa discrepância entre a criptografia teórica e a prática
Segurança contra adversários ativos em aberto
Papel cada vez mais proeminente das funções de hashSurgimento do Paradigma do Oráculo Aleatório
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 47 / 90
Final dos anos 80
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 117/238
Final de uma década de grandes avanços na criptografia
Certa discrepância entre a criptografia teórica e a prática
Segurança contra adversários ativos em aberto
Papel cada vez mais proeminente das funções de hashSurgimento do Paradigma do Oráculo Aleatório
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 47 / 90
Final dos anos 80
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 118/238
Final de uma década de grandes avanços na criptografia
Certa discrepância entre a criptografia teórica e a prática
Segurança contra adversários ativos em aberto
Papel cada vez mais proeminente das funções de hashSurgimento do Paradigma do Oráculo Aleatório
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 47 / 90
Final dos anos 80
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 119/238
Final de uma década de grandes avanços na criptografia
Certa discrepância entre a criptografia teórica e a prática
Segurança contra adversários ativos em aberto
Papel cada vez mais proeminente das funções de hashSurgimento do Paradigma do Oráculo Aleatório
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 47 / 90
Final dos anos 80
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 120/238
Final de uma década de grandes avanços na criptografia
Certa discrepância entre a criptografia teórica e a prática
Segurança contra adversários ativos em aberto
Papel cada vez mais proeminente das funções de hashSurgimento do Paradigma do Oráculo Aleatório
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 47 / 90
Final da primeira parte
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 121/238
Perguntas???
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 48 / 90
Nesta seção
1 O que é “Segurança”?
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 122/238
2 Um primeiro criptossistema seguro
3 O Modelo do Oráculo Aleatório
Funções de HashO Paradigma do Oráculo AleatórioSegurança Contra no ROMSegurança Contra Adversários Ativos no ROMControvérsia ao redor do ROM
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 49 / 90
O que é uma função de hash?
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 123/238
Termo usado desde os anos 50.Diferentes requisitos em diferentes áreas: hash tables; correção e detecção de erros; “fingerprinting” Hash criptográfico.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 50 / 90
O que é uma função de hash criptográfico ?
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 124/238
Seja H a função em análise, buscamos: Resistência a cálculo de pré-imagem.
→ Dado um y , calcular x tal que H (x ) = y . Resistência a cálculo de segunda pré-imagem.
→ Dados y , x onde H (x ) = y , calcular x
tal que H (x
) = y . Resistência a colisões.→ Calcular x 1, x 2 tais que H (x 1) = H (x 2).
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 51 / 90
O que é uma função de hash criptográfico ?
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 125/238
Seja H a função em análise, buscamos: Resistência a cálculo de pré-imagem.
→ Dado um y , calcular x tal que H (x ) = y . Resistência a cálculo de segunda pré-imagem.
→ Dados y , x onde H (x ) = y , calcular x
tal que H (x
) = y . Resistência a colisões.→ Calcular x 1, x 2 tais que H (x 1) = H (x 2).
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 51 / 90
O que é uma função de hash criptográfico ?
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 126/238
Seja H a função em análise, buscamos: Resistência a cálculo de pré-imagem.
→ Dado um y , calcular x tal que H (x ) = y . Resistência a cálculo de segunda pré-imagem.
→ Dados y , x onde H (x ) = y , calcular x
tal que H (x
) = y . Resistência a colisões.→ Calcular x 1, x 2 tais que H (x 1) = H (x 2).
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 51 / 90
O que é uma função de hash criptográfico ?
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 127/238
Uma função de hash ideal deve: Identificar unicamente um objeto; não trazer qualquer informação “útil” sobre este objeto.
Modelar como função aleatória.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 52 / 90
O que é uma função de hash criptográfico ?
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 128/238
Uma função de hash ideal deve: Identificar unicamente um objeto; não trazer qualquer informação “útil” sobre este objeto.
Modelar como função aleatória.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 52 / 90
O Paradigma do Oráculo Aleatório[Bellare & Rogaway, 1993]
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 129/238
Um paradigma para o projeto de protocolos eficientes; modela funções de hash como funções aleatórias;
Oráculo: descrição da função aleatória é desconhecida.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 53 / 90
O Paradigma do Oráculo Aleatório[Bellare & Rogaway, 1993]
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 130/238
Um paradigma para o projeto de protocolos eficientes; modela funções de hash como funções aleatórias;
Oráculo: descrição da função aleatória é desconhecida.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 53 / 90
O Paradigma do Oráculo Aleatório
Propõe abordagem heurística para avaliação da segurança dei t i t m
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 131/238
criptossistemas;Para projetar um protocolo P :
1 Projete o protocolo P O; todos os participantes tem acesso ao oráculo aleatório O.
2 Prove a segurança de P O
.3 Escolha uma “boa” função H (.) para implementar O.4 Defina P como o protocolo onde consultas ao oráculo são
simuladas por chamadas a H (.).5 A menos de vulnerabilidades em H (.), P é seguro.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 54 / 90
O Paradigma do Oráculo Aleatório
Propõe abordagem heurística para avaliação da segurança decriptossistemas;
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 132/238
criptossistemas;Para projetar um protocolo P :
1 Projete o protocolo P O; todos os participantes tem acesso ao oráculo aleatório O.
2 Prove a segurança de P O
.3 Escolha uma “boa” função H (.) para implementar O.4 Defina P como o protocolo onde consultas ao oráculo são
simuladas por chamadas a H (.).5 A menos de vulnerabilidades em H (.), P é seguro.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 54 / 90
O Paradigma do Oráculo Aleatório
Propõe abordagem heurística para avaliação da segurança decriptossistemas;
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 133/238
criptossistemas;Para projetar um protocolo P :
1 Projete o protocolo P O; todos os participantes tem acesso ao oráculo aleatório O.
2 Prove a segurança de P O
.3 Escolha uma “boa” função H (.) para implementar O.4 Defina P como o protocolo onde consultas ao oráculo são
simuladas por chamadas a H (.).5 A menos de vulnerabilidades em H (.), P é seguro.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 54 / 90
O Paradigma do Oráculo Aleatório
Propõe abordagem heurística para avaliação da segurança decriptossistemas;
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 134/238
criptossistemas;Para projetar um protocolo P :
1 Projete o protocolo P O; todos os participantes tem acesso ao oráculo aleatório O.
2
Prove a segurança de P O
.3 Escolha uma “boa” função H (.) para implementar O.4 Defina P como o protocolo onde consultas ao oráculo são
simuladas por chamadas a H (.).5 A menos de vulnerabilidades em H (.), P é seguro.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 54 / 90
O Paradigma do Oráculo Aleatório
Propõe abordagem heurística para avaliação da segurança decriptossistemas;
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 135/238
criptossistemas;Para projetar um protocolo P :
1 Projete o protocolo P O; todos os participantes tem acesso ao oráculo aleatório O.
2
Prove a segurança de P O
.3 Escolha uma “boa” função H (.) para implementar O.4 Defina P como o protocolo onde consultas ao oráculo são
simuladas por chamadas a H (.).5 A menos de vulnerabilidades em H (.), P é seguro.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 54 / 90
O Paradigma do Oráculo Aleatório
Por melhor que H( ) seja ela:
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 136/238
Por melhor que H (.) seja, ela: nunca será realmente aleatória; nunca será um oráculo.
Acredita-se que uma prova de segurança no ROM implica a
ausência de vulnerabilidades “estruturais” no protocolo.A menos de vulnerabilidades em H (.), a instanciação P doprotocolo ideal P O seria segura.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 55 / 90
O Paradigma do Oráculo Aleatório
Por melhor que H(.) seja ela:
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 137/238
Por melhor que H (.) seja, ela: nunca será realmente aleatória; nunca será um oráculo.
Acredita-se que uma prova de segurança no ROM implica a
ausência de vulnerabilidades “estruturais” no protocolo.A menos de vulnerabilidades em H (.), a instanciação P doprotocolo ideal P O seria segura.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 55 / 90
O Paradigma do Oráculo Aleatório
Por melhor que H(.) seja ela:
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 138/238
Por melhor que H (.) seja, ela: nunca será realmente aleatória; nunca será um oráculo.
Acredita-se que uma prova de segurança no ROM implica a
ausência de vulnerabilidades “estruturais” no protocolo.A menos de vulnerabilidades em H (.), a instanciação P doprotocolo ideal P O seria segura.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 55 / 90
Alguns exemplos do poder do Oráculo AleatórioSeja p uma permutação com segredo.
Esquema de ciframento semanticamente seguro contra ataquespassivos:
E (x ) = p (r ) || (G (r ) ⊕ x )
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 139/238
( ) p( ) || ( ( ) ⊕ )
Esquema de ciframento semanticamente seguro contra ataquesadaptativos:
E (x ) = p (r ) || (G (r ) ⊕ x ) || H (rx )
Esquema de assinatura existencialmente inforjável sob ataquesadaptativos:
S (m ) = p −1
(H (m ))Muitos outros esquemas mais eficientes, como RSA-OAEP ePSS.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 56 / 90
Alguns exemplos do poder do Oráculo AleatórioSeja p uma permutação com segredo.
Esquema de ciframento semanticamente seguro contra ataquespassivos:
E (x ) = p (r ) || (G (r ) ⊕ x )
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 140/238
( ) p( ) || ( ( ) ⊕ )
Esquema de ciframento semanticamente seguro contra ataquesadaptativos:
E (x ) = p (r ) || (G (r ) ⊕ x ) || H (rx )
Esquema de assinatura existencialmente inforjável sob ataquesadaptativos:
S (m ) = p −1
(H (m ))Muitos outros esquemas mais eficientes, como RSA-OAEP ePSS.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 56 / 90
Alguns exemplos do poder do Oráculo AleatórioSeja p uma permutação com segredo.
Esquema de ciframento semanticamente seguro contra ataquespassivos:
E (x ) = p (r ) || (G (r ) ⊕ x )
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 141/238
( ) p( ) || ( ( ) )
Esquema de ciframento semanticamente seguro contra ataquesadaptativos:
E (x ) = p (r ) || (G (r ) ⊕ x ) || H (rx )
Esquema de assinatura existencialmente inforjável sob ataquesadaptativos:
S (m ) = p −1
(H (m ))Muitos outros esquemas mais eficientes, como RSA-OAEP ePSS.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 56 / 90
Adversários passivos no ROM
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 142/238
A estrutura da prova é completamente análoga; porém, todos os participantes têm acesso ao oráculo.
O algoritmo que faz a redução do ataque (D) deve simular O.
As respostas de D tem que parecer aleatórias.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 57 / 90
Adversários passivos no ROM
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 143/238
A estrutura da prova é completamente análoga; porém, todos os participantes têm acesso ao oráculo.
O algoritmo que faz a redução do ataque (D) deve simular O.
As respostas de D tem que parecer aleatórias.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 57 / 90
Jogo CPA no ROM
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 144/238
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 58 / 90
Criptossistema BR-1
Geração de ChavesSeja G (.) um oráculo aleatório. Seleciona-se aleatoriamente uma
permutação p com segredo s p associado. p é a chave pública e s p é achave privada
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 145/238
p ç g pchave privada.
Ciframento
Seja M a mensagem a ser cifrada. Selecione r r
← D p e calcule o textocifrado C = p (r ),M ⊕ G (r ).
Deciframento
Seja C = γ 1, γ 2 o texto a decifrar. Utilizando s p , calcule r
= p −1
(γ 1);a mensagem original é M = γ 2 ⊕ G (r ).
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 59 / 90
Segurança do BR-1
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 146/238
O BR-1 é bastante semelhante ao CS-2 trocamos um hard-core por uma consulta ao oráculo aleatório.
A idéia intuitiva de sua segurança é semelhante.
Demonstração apresentada a seguir.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 60 / 90
Segurança do BR-1
O é b lh
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 147/238
O BR-1 é bastante semelhante ao CS-2 trocamos um hard-core por uma consulta ao oráculo aleatório.
A idéia intuitiva de sua segurança é semelhante.
Demonstração apresentada a seguir.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 60 / 90
Segurança do BR-1
O é b t t lh t
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 148/238
O BR-1 é bastante semelhante ao CS-2 trocamos um hard-core por uma consulta ao oráculo aleatório.
A idéia intuitiva de sua segurança é semelhante.
Demonstração apresentada a seguir.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 60 / 90
Segurança do BR-1
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 149/238
Suponha que existe um adversário A = (A1,A2) que quebra oesquema;
Construímos então o algoritmo D capaz e inverter p ;
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 61 / 90
Segurança do BR-1
1 D recebe p , y como parâmetro; D deseja calcular x , tal que p (x ) = y .
2 D executa AG 1 (p ) D simula G( )
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 150/238
D simula G (.). Se for feita a consulta G (r i ), tal que p (r i ) = y , D pára. SUCESSO.
3 A1 retorna o par de mensagens-desafio (m 0,m 1)
4
D escolhe s
r
← {0,1}|m 0|
e faz γ = (y , s )5 D executa AG
2 (p ,m 0,m 1, γ ) D simula G (.). Se for feita a consulta G (r i ), tal que p (r i ) = y , D pára. SUCESSO.
6 A2 retorna seu palpite para i
7 Se a consulta aguardada por D não foi feita, FALHA.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 62 / 90
Segurança do BR-1
1 D recebe p , y como parâmetro; D deseja calcular x , tal que p (x ) = y .
2 D executa AG 1 (p )
D simula G( )
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 151/238
D simula G (.). Se for feita a consulta G (r i ), tal que p (r i ) = y , D pára. SUCESSO.
3 A1 retorna o par de mensagens-desafio (m 0,m 1)
4
D escolhe s
r
← {0,1}|m 0|
e faz γ = (y , s )5 D executa AG
2 (p ,m 0,m 1, γ ) D simula G (.). Se for feita a consulta G (r i ), tal que p (r i ) = y , D pára. SUCESSO.
6 A2 retorna seu palpite para i
7 Se a consulta aguardada por D não foi feita, FALHA.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 62 / 90
Segurança do BR-1
1 D recebe p , y como parâmetro; D deseja calcular x , tal que p (x ) = y .
2 D executa AG 1 (p )
D simula G(.).
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 152/238
D simula G (.). Se for feita a consulta G (r i ), tal que p (r i ) = y , D pára. SUCESSO.
3 A1 retorna o par de mensagens-desafio (m 0,m 1)
4
D escolhe s
r
← {0,1}|m 0|
e faz γ = (y , s )5 D executa AG
2 (p ,m 0,m 1, γ ) D simula G (.). Se for feita a consulta G (r i ), tal que p (r i ) = y , D pára. SUCESSO.
6 A2 retorna seu palpite para i
7 Se a consulta aguardada por D não foi feita, FALHA.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 62 / 90
Segurança do BR-1
1 D recebe p , y como parâmetro; D deseja calcular x , tal que p (x ) = y .
2 D executa AG
1 (p ) D simula G (.).
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 153/238
s u a G( ) Se for feita a consulta G (r i ), tal que p (r i ) = y , D pára. SUCESSO.
3 A1 retorna o par de mensagens-desafio (m 0,m 1)
4
D escolhe s
r
← {0,1}|m 0|
e faz γ = (y , s )5 D executa AG
2 (p ,m 0,m 1, γ ) D simula G (.). Se for feita a consulta G (r i ), tal que p (r i ) = y , D pára. SUCESSO.
6 A2 retorna seu palpite para i
7 Se a consulta aguardada por D não foi feita, FALHA.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 62 / 90
Segurança do BR-1
1 D recebe p , y como parâmetro; D deseja calcular x , tal que p (x ) = y .
2 D executa AG
1 (p ) D simula G (.).
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 154/238
( ) Se for feita a consulta G (r i ), tal que p (r i ) = y , D pára. SUCESSO.
3 A1 retorna o par de mensagens-desafio (m 0,m 1)
4
D escolhe s
r
← {0,1}|m 0|
e faz γ = (y , s )5 D executa AG
2 (p ,m 0,m 1, γ ) D simula G (.). Se for feita a consulta G (r i ), tal que p (r i ) = y , D pára. SUCESSO.
6 A2 retorna seu palpite para i
7 Se a consulta aguardada por D não foi feita, FALHA.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 62 / 90
Segurança do BR-1
1 D recebe p , y como parâmetro; D deseja calcular x , tal que p (x ) = y .
2 D executa AG
1 (p ) D simula G (.).
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 155/238
( ) Se for feita a consulta G (r i ), tal que p (r i ) = y , D pára. SUCESSO.
3 A1 retorna o par de mensagens-desafio (m 0,m 1)
4
D escolhe s
r
← {0,1}|m 0|
e faz γ = (y , s )5 D executa AG
2 (p ,m 0,m 1, γ ) D simula G (.). Se for feita a consulta G (r i ), tal que p (r i ) = y , D pára. SUCESSO.
6 A2 retorna seu palpite para i
7 Se a consulta aguardada por D não foi feita, FALHA.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 62 / 90
Segurança do BR-1
1 D recebe p , y como parâmetro; D deseja calcular x , tal que p (x ) = y .
2 D executa AG
1 (p ) D simula G (.).
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 156/238
( ) Se for feita a consulta G (r i ), tal que p (r i ) = y , D pára. SUCESSO.
3 A1 retorna o par de mensagens-desafio (m 0,m 1)
4
D escolhe s
r
← {0,1}
|m 0|
e faz γ = (y , s )5 D executa AG
2 (p ,m 0,m 1, γ ) D simula G (.). Se for feita a consulta G (r i ), tal que p (r i ) = y , D pára. SUCESSO.
6 A2 retorna seu palpite para i
7 Se a consulta aguardada por D não foi feita, FALHA.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 62 / 90
Segurança do BR-1
1 D recebe p , y como parâmetro; D deseja calcular x , tal que p (x ) = y .
2 D executa AG
1 (p ) D simula G (.).
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 157/238
Se for feita a consulta G (r i ), tal que p (r i ) = y , D pára. SUCESSO.3 A1 retorna o par de mensagens-desafio (m 0,m 1)
4
D escolhe s
r
← {0,1}
|m 0|
e faz γ = (y , s )5 D executa AG
2 (p ,m 0,m 1, γ ) D simula G (.). Se for feita a consulta G (r i ), tal que p (r i ) = y , D pára. SUCESSO.
6 A2 retorna seu palpite para i
7 Se a consulta aguardada por D não foi feita, FALHA.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 62 / 90
Segurança do BR-1
1 D recebe p , y como parâmetro; D deseja calcular x , tal que p (x ) = y .
2 D executa AG
1 (p ) D simula G (.).
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 158/238
Se for feita a consulta G (r i ), tal que p (r i ) = y , D pára. SUCESSO.3 A1 retorna o par de mensagens-desafio (m 0,m 1)
4
D escolhe s
r
← {0,1}
|m 0|
e faz γ = (y , s )5 D executa AG
2 (p ,m 0,m 1, γ ) D simula G (.). Se for feita a consulta G (r i ), tal que p (r i ) = y , D pára. SUCESSO.
6 A2 retorna seu palpite para i
7 Se a consulta aguardada por D não foi feita, FALHA.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 62 / 90
Segurança do BR-1
Ciframento: γ = p (r ),M ⊕ G (r )
Caso a consulta G (r ) não seja feita, A não tem vantagem emdistinguir E(m0) de E(m1);
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 159/238
distinguir E (m 0) de E (m 1);Seja γ = (γ 1, γ 2); como G é aleatório, A não tem informação sobre γ 2 = G (f −1(γ 1)) ⊕ M a não ser que
G (f
−1
(γ 1)) seja conhecido.único jeito de conhecer qualquer coisa sobre o valor deG (f −1(γ 1)) é fazer a consulta;
probabilidade de sucesso sem conhecer G (f −1(γ 1)) é
Pr[sucesso de A|D falha] = 12
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 63 / 90
Segurança do BR-1
Ciframento: γ = p (r ),M ⊕ G (r )
Caso a consulta G (r ) não seja feita, A não tem vantagem emdistinguir E(m0) de E(m1);
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 160/238
distinguir E (m 0) de E (m 1);Seja γ = (γ 1, γ 2); como G é aleatório, A não tem informação sobre γ 2 = G (f −1(γ 1)) ⊕ M a não ser que
G (f
−1
(γ 1)) seja conhecido.único jeito de conhecer qualquer coisa sobre o valor deG (f −1(γ 1)) é fazer a consulta;
probabilidade de sucesso sem conhecer G (f −1(γ 1)) é
Pr[sucesso de A|D falha] = 12
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 63 / 90
Segurança do BR-1
Ciframento: γ = p (r ),M ⊕ G (r )
Caso a consulta G (r ) não seja feita, A não tem vantagem emdistinguir E(m0) de E(m1);
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 161/238
distinguir E (m 0) de E (m 1);Seja γ = (γ 1, γ 2); como G é aleatório, A não tem informação sobre γ 2 = G (f −1(γ 1)) ⊕ M a não ser que
G (f
−1
(γ 1)) seja conhecido.único jeito de conhecer qualquer coisa sobre o valor deG (f −1(γ 1)) é fazer a consulta;
probabilidade de sucesso sem conhecer G (f −1(γ 1)) é
Pr[sucesso de A|D falha] = 12
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 63 / 90
Segurança do BR-1
Ciframento: γ = p (r ),M ⊕ G (r )
Caso a consulta G (r ) não seja feita, A não tem vantagem emdistinguir E(m0) de E(m1);
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 162/238
distinguir E (m 0) de E (m 1);Seja γ = (γ 1, γ 2); como G é aleatório, A não tem informação sobre γ 2 = G (f −1(γ 1)) ⊕ M a não ser que
G (f
−1
(γ 1)) seja conhecido.único jeito de conhecer qualquer coisa sobre o valor deG (f −1(γ 1)) é fazer a consulta;
probabilidade de sucesso sem conhecer G (f −1(γ 1)) é
Pr[sucesso de A|D falha] = 12
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 63 / 90
Segurança do BR-1
Certamente,
Pr[A] = 1
2 + λ(k ), para λ(k ) não desprezível
= Pr[A|D ] Pr[D ] + Pr[A|D ] Pr[D ]
Pr[A|D] 1
Pr[A|D] ≤ 1 Pr[D] ≤ 1
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 163/238
Pr[A|D ] =2,Pr[A|D ] ≤ 1,Pr[D ] ≤ 1
Logo,12
+ λ(k ) ≤ 1
2 + Pr[D ]
Provando assim que a probabilidade de sucesso de D énão-desprezível.Contradição.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 64 / 90
Segurança do BR-1
Certamente,
Pr[A] = 1
2 + λ(k ), para λ(k ) não desprezível
= Pr[A|D ] Pr[D ] + Pr[A|D ] Pr[D ]
Pr[A|D] = 1
Pr[A|D] ≤ 1 Pr[D] ≤ 1
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 164/238
Pr[A|D ] =2,Pr[A|D ] ≤ 1,Pr[D ] ≤ 1
Logo,12
+ λ(k ) ≤ 1
2 + Pr[D ]
Provando assim que a probabilidade de sucesso de D énão-desprezível.Contradição.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 64 / 90
Segurança do BR-1
Certamente,
Pr[A] = 1
2 + λ(k ), para λ(k ) não desprezível
= Pr[A|D ] Pr[D ] + Pr[A|D ] Pr[D ]
Pr[A|D] = 1
Pr[A|D] ≤ 1 Pr[D] ≤ 1
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 165/238
Pr[A|D ] =2,Pr[A|D ] ≤ 1,Pr[D ] ≤ 1
Logo,12
+ λ(k ) ≤ 1
2 + Pr[D ]
Provando assim que a probabilidade de sucesso de D énão-desprezível.Contradição.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 64 / 90
Segurança do BR-1
Certamente,
Pr[A] = 1
2 + λ(k ), para λ(k ) não desprezível
= Pr[A|D ] Pr[D ] + Pr[A|D ] Pr[D ]
Pr[A|D] = 1
Pr[A|D] ≤ 1 Pr[D] ≤ 1
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 166/238
Pr[A|D ] =2,Pr[A|D ] ≤ 1,Pr[D ] ≤ 1
Logo,12
+ λ(k ) ≤ 1
2 + Pr[D ]
Provando assim que a probabilidade de sucesso de D énão-desprezível.Contradição.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 64 / 90
Adversários adaptativos no ROM
Trataremos do tipo mais poderoso de adversário: adversários adaptativos executando ataques de mensagem cifrada
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 167/238
adversários adaptativos executando ataques de mensagem cifradaescolhida.
Modelar interação entre adversário e usuário: reduções de segurança mais complexas.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 65 / 90
Adversários adaptativos no ROM
Trataremos do tipo mais poderoso de adversário: adversários adaptativos executando ataques de mensagem cifrada
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 168/238
adversários adaptativos executando ataques de mensagem cifradaescolhida.
Modelar interação entre adversário e usuário: reduções de segurança mais complexas.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 65 / 90
Retrato de um CCA
1 Desafiante gera os parâmetros do sistema params;2 adversário recebe params e executa por um tempo polinomial:
interage com o usuário; consulta oráculos aleatórios;
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 169/238
3 adversário gera um par de mensagens-desafio m 0,m 1;
4 desafiante escolhe i r← {0, 1} e calcula γ = E SK(m i );
5 adversário recebe γ e executa por um tempo polinomial: interage com o usuário; consulta oráculos aleatórios;
6 adversário responde seu “chute” i .
O adversário vence se i
= i .
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 66 / 90
Retrato de um CCA
1 Desafiante gera os parâmetros do sistema params;2 adversário recebe params e executa por um tempo polinomial:
interage com o usuário; consulta oráculos aleatórios;
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 170/238
3 adversário gera um par de mensagens-desafio m 0,m 1;
4 desafiante escolhe i r← {0, 1} e calcula γ = E SK(m i );
5 adversário recebe γ e executa por um tempo polinomial: interage com o usuário; consulta oráculos aleatórios;
6 adversário responde seu “chute” i .
O adversário vence se i
= i .
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 66 / 90
Retrato de um CCA
1 Desafiante gera os parâmetros do sistema params;2 adversário recebe params e executa por um tempo polinomial:
interage com o usuário; consulta oráculos aleatórios;
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 171/238
3 adversário gera um par de mensagens-desafio m 0,m 1;
4 desafiante escolhe i r← {0, 1} e calcula γ = E SK(m i );
5 adversário recebe γ e executa por um tempo polinomial: interage com o usuário; consulta oráculos aleatórios;
6 adversário responde seu “chute” i .
O adversário vence se i
= i .
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 66 / 90
Retrato de um CCA
1 Desafiante gera os parâmetros do sistema params;2 adversário recebe params e executa por um tempo polinomial:
interage com o usuário; consulta oráculos aleatórios;
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 172/238
3 adversário gera um par de mensagens-desafio m 0,m 1;
4 desafiante escolhe i r← {0, 1} e calcula γ = E SK(m i );
5 adversário recebe γ e executa por um tempo polinomial: interage com o usuário; consulta oráculos aleatórios;
6 adversário responde seu “chute” i .
O adversário vence se i
= i .
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 66 / 90
Retrato de um CCA
1 Desafiante gera os parâmetros do sistema params;2 adversário recebe params e executa por um tempo polinomial:
interage com o usuário; consulta oráculos aleatórios;
á
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 173/238
3 adversário gera um par de mensagens-desafio m 0,m 1;
4 desafiante escolhe i r← {0, 1} e calcula γ = E SK(m i );
5 adversário recebe γ e executa por um tempo polinomial: interage com o usuário; consulta oráculos aleatórios;
6 adversário responde seu “chute” i .
O adversário vence se i
= i .
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 66 / 90
Retrato de um CCA
1 Desafiante gera os parâmetros do sistema params;2 adversário recebe params e executa por um tempo polinomial:
interage com o usuário; consulta oráculos aleatórios;
d á i d d fi
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 174/238
3 adversário gera um par de mensagens-desafio m 0,m 1;
4 desafiante escolhe i r← {0, 1} e calcula γ = E SK(m i );
5 adversário recebe γ e executa por um tempo polinomial: interage com o usuário; consulta oráculos aleatórios;
6 adversário responde seu “chute” i .
O adversário vence se i
= i .
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 66 / 90
Retrato de um CCA
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 175/238
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 67 / 90
(In)Segurança Contra Adversários Ativos - BR-1
BR-1Ciframento. γ = p (r ),M ⊕ G (r ).
Deciframento. M = γ 2 ⊕ G (r
), r
= p −1
(γ 1)
Dado um texto cifrado γ = γ1, γ2;
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 176/238
Dado um texto cifrado γ γ 1, γ 2;1 calcule γ = γ 1, γ
2 = γ 2 ⊕ M ;
2 peça que o usuário decifre γ , obtendo α = γ 2 ⊕ G (r );3 calcule M = α ⊕ M , pois
α = γ 2 ⊕ G (r )
= γ 2 ⊕ M ⊕ G (r )
= M ⊕ G (r ) ⊕ M ⊕ G (r )
= M ⊕ M
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 68 / 90
(In)Segurança Contra Adversários Ativos - BR-1
BR-1Ciframento. γ = p (r ),M ⊕ G (r ).
Deciframento. M = γ 2 ⊕ G (r
), r
= p −1
(γ 1)
Dado um texto cifrado γ = γ1, γ2;
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 177/238
Dado um texto cifrado γ γ 1, γ 2;1 calcule γ = γ 1, γ
2 = γ 2 ⊕ M ;
2 peça que o usuário decifre γ , obtendo α = γ 2 ⊕ G (r );
3 calcule M = α ⊕ M
, pois
α = γ 2 ⊕ G (r )
= γ 2 ⊕ M ⊕ G (r )
= M ⊕ G (r ) ⊕ M ⊕ G (r )
= M ⊕ M
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 68 / 90
(In)Segurança Contra Adversários Ativos - BR-1
BR-1Ciframento. γ = p (r ),M ⊕ G (r ).
Deciframento. M = γ 2 ⊕ G (r
), r
= p −1
(γ 1)
Dado um texto cifrado γ = γ 1, γ 2;
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 178/238
γ γ1, γ2;1 calcule γ = γ 1, γ
2 = γ 2 ⊕ M ;
2 peça que o usuário decifre γ , obtendo α = γ 2 ⊕ G (r );
3 calcule M = α ⊕ M
, pois
α = γ 2 ⊕ G (r )
= γ 2 ⊕ M ⊕ G (r )
= M ⊕ G (r ) ⊕ M ⊕ G (r )
= M ⊕ M
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 68 / 90
(In)Segurança Contra Adversários Ativos - BR-1
BR-1Ciframento. γ = p (r ),M ⊕ G (r ).
Deciframento. M = γ 2 ⊕ G (r
), r
= p −1
(γ 1)
Dado um texto cifrado γ = γ 1, γ 2;
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 179/238
γ γ1, γ2;1 calcule γ = γ 1, γ
2 = γ 2 ⊕ M ;
2 peça que o usuário decifre γ , obtendo α = γ 2 ⊕ G (r );
3 calcule M = α ⊕ M
, pois
α = γ 2 ⊕ G (r )
= γ 2 ⊕ M ⊕ G (r )
= M ⊕ G (r ) ⊕ M ⊕ G (r )
= M ⊕ M
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 68 / 90
Criptossistema BR-2
Geração de ChavesSejam G (.),H (.) oráculos aleatórios. Seleciona-se aleatoriamenteuma permutação p com segredo s p associado. p é a chave pública es p é a chave privada.
Cif m t
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 180/238
Ciframento
Seja M a mensagem a ser cifrada. Selecione r r← D p e calcule o texto
cifrado C = p (r ),M ⊕ G (r ),H (rM ).
DeciframentoSeja C = γ 1, γ 2, γ 3 o texto a decifrar. Utilizando s p , calcule
r = p −1
(γ 1); calcule M = γ 2 ⊕ G (r ); se H (r M ) = γ 3 a mensagemoriginal é M ; caso contrário, o deciframento falha.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 69 / 90
Segurança do BR-2
1 D recebe f , y como parâmetro; D deseja calcular x , tal que f (x ) = y .
2 D executa AG ,H ,D 1 (f )
Simulação de G ,H ,D definidas a seguir.
A t d d fi ( )
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 181/238
3 A1 retorna o par de mensagens-desafio (m 0,m 1)
4 D escolhe w r← {0,1}|m 0|,b
r← {0, 1}k e faz γ = (y ,w ,b )
5 D executa AG ,H ,D 2 (f ,m 0,m 1, γ )
Simulação de G ,H ,D definidas a seguir.
6 A2 retorna seu palpite para i
7 Se a consulta aguardada por D não foi feita, FALHA.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 70 / 90
Segurança do BR-2
1 D recebe f , y como parâmetro; D deseja calcular x , tal que f (x ) = y .
2 D executa AG ,H ,D 1 (f )
Simulação de G ,H ,D definidas a seguir.3 A t d d fi ( )
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 182/238
3 A1 retorna o par de mensagens-desafio (m 0,m 1)
4 D escolhe w r← {0,1}|m 0|,b
r← {0, 1}k e faz γ = (y ,w ,b )
5 D executa AG ,H ,D 2 (f ,m 0,m 1, γ )
Simulação de G ,H ,D definidas a seguir.
6 A2 retorna seu palpite para i
7 Se a consulta aguardada por D não foi feita, FALHA.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 70 / 90
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 183/238
Segurança do BR-2
1 D recebe f , y como parâmetro; D deseja calcular x , tal que f (x ) = y .
2 D executa AG ,H ,D 1 (f ) Simulação de G ,H ,D definidas a seguir.
3 A retorna o par de mensagens desafio (m m )
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 184/238
3 A1 retorna o par de mensagens-desafio (m 0,m 1)
4 D escolhe w r← {0,1}|m 0|,b
r← {0, 1}k e faz γ = (y ,w ,b )
5 D executa AG ,H ,D 2 (f ,m 0,m 1, γ )
Simulação de G ,H ,D definidas a seguir.
6 A2 retorna seu palpite para i
7 Se a consulta aguardada por D não foi feita, FALHA.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 70 / 90
Segurança do BR-2
1 D recebe f , y como parâmetro; D deseja calcular x , tal que f (x ) = y .
2 D executa AG ,H ,D 1 (f ) Simulação de G ,H ,D definidas a seguir.
3 A retorna o par de mensagens desafio (m m )
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 185/238
3 A1 retorna o par de mensagens-desafio (m 0,m 1)
4 D escolhe w r← {0,1}|m 0|,b
r← {0, 1}k e faz γ = (y ,w ,b )
5 D executa AG ,H ,D 2 (f ,m 0,m 1, γ )
Simulação de G ,H ,D definidas a seguir.
6 A2 retorna seu palpite para i
7 Se a consulta aguardada por D não foi feita, FALHA.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 70 / 90
Segurança do BR-2
1 D recebe f , y como parâmetro; D deseja calcular x , tal que f (x ) = y .
2 D executa AG ,H ,D 1 (f ) Simulação de G ,H ,D definidas a seguir.
3 A1 retorna o par de mensagens desafio (m0 m1)
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 186/238
3 A1 retorna o par de mensagens-desafio (m 0,m 1)
4 D escolhe w r← {0,1}|m 0|,b
r← {0, 1}k e faz γ = (y ,w ,b )
5 D executa AG ,H ,D 2 (f ,m 0,m 1, γ )
Simulação de G ,H ,D definidas a seguir.
6 A2 retorna seu palpite para i
7 Se a consulta aguardada por D não foi feita, FALHA.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 70 / 90
Segurança do BR-2
Especificação dos oráculos:
H (r , x ). Se r é tal que f (r ) = y , SUCESSO. Caso contrário,
reponde com uma string aleatória do tamanho apropriado.G (r ). Se r é tal que f (r ) = y , SUCESSO. Caso contrário, repondecom uma string aleatória do tamanho apropriado.
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 187/238
com uma string aleatória do tamanho apropriado.
D (a ,w ,b ). Se foram consultados r i a G e r i u i a H tais que,
a = f (r i ),
w = G (r i ) ⊕ u i ,
responde u . Caso contrário rejeita a consulta como inválida.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 71 / 90
Segurança do BR-2
Especificação dos oráculos:
H (r , x ). Se r é tal que f (r ) = y , SUCESSO. Caso contrário,
reponde com uma string aleatória do tamanho apropriado.G (r ). Se r é tal que f (r ) = y , SUCESSO. Caso contrário, repondecom uma string aleatória do tamanho apropriado.
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 188/238
co u a st g a eató a do ta a o ap op ado
D (a ,w ,b ). Se foram consultados r i a G e r i u i a H tais que,
a = f (r i ),
w = G (r i ) ⊕ u i ,
responde u . Caso contrário rejeita a consulta como inválida.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 71 / 90
Segurança do BR-2
Especificação dos oráculos:
H (r , x ). Se r é tal que f (r ) = y , SUCESSO. Caso contrário,
reponde com uma string aleatória do tamanho apropriado.G (r ). Se r é tal que f (r ) = y , SUCESSO. Caso contrário, repondecom uma string aleatória do tamanho apropriado.
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 189/238
g p p
D (a ,w ,b ). Se foram consultados r i a G e r i u i a H tais que,
a = f (r i ),
w = G (r i ) ⊕ u i ,
responde u . Caso contrário rejeita a consulta como inválida.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 71 / 90
Segurança do BR-2
Precisamos provar:
o tempo de execução de D é polinomial (se o de A o for);
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 190/238
a simulação dos oráculos é fiel;
as probabilidades de sucesso de D e A estão relacionadas.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 72 / 90
Segurança do BR-2
Precisamos provar:
o tempo de execução de D é polinomial (se o de A o for);
i l d á l é fi l
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 191/238
a simulação dos oráculos é fiel;
as probabilidades de sucesso de D e A estão relacionadas.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 72 / 90
Segurança do BR-2
Precisamos provar:
o tempo de execução de D é polinomial (se o de A o for);
i l ã d á l é fi l
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 192/238
a simulação dos oráculos é fiel;
as probabilidades de sucesso de D e A estão relacionadas.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 72 / 90
Segurança do BR-2 - Tempo de Execução de D
Todas as operações executadas diretamente por D sãopolinomiais.
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 193/238
Se o tempo de execução de A é polinomial, o de D também o é.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 73 / 90
Segurança do BR-2 - Tempo de Execução de D
Todas as operações executadas diretamente por D sãopolinomiais.
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 194/238
Se o tempo de execução de A é polinomial, o de D também o é.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 73 / 90
Segurança do BR-2 - Fidelidade da Simulação
Certamente G e H são simulados corretamente.A simulação de D falha quando uma consulta é consideradainválida erroneamente: Uma consulta a w b é considerada inválida se
G (r ) não foi consultado, onde a = p (r ); ou H (r u ) não foi consultado, onde w = G (r ) ⊕ u .
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 195/238
Uma consulta a w b é de fato inválida se b = H (r u ), onde a = p (r ) e w = G (r ) ⊕ u .
Seja Lk o evento em que o oráculo D falha erroneamente
Pr[Lk ] ≤ n (k )2−k ,
onde n (k ) é o número de consultas feitas ao oráculo.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 74 / 90
Segurança do BR-2 - Fidelidade da Simulação
Certamente G e H são simulados corretamente.A simulação de D falha quando uma consulta é consideradainválida erroneamente: Uma consulta a w b é considerada inválida se
G (r ) não foi consultado, onde a = p (r ); ou H (r u ) não foi consultado, onde w = G (r ) ⊕ u .
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 196/238
Uma consulta a w b é de fato inválida se b = H (r u ), onde a = p (r ) e w = G (r ) ⊕ u .
Seja Lk o evento em que o oráculo D falha erroneamente
Pr[Lk ] ≤ n (k )2−k ,
onde n (k ) é o número de consultas feitas ao oráculo.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 74 / 90
Segurança do BR-2 - Fidelidade da Simulação
Certamente G e H são simulados corretamente.A simulação de D falha quando uma consulta é consideradainválida erroneamente: Uma consulta a w b é considerada inválida se
G (r ) não foi consultado, onde a = p (r ); ou H (r u ) não foi consultado, onde w = G (r ) ⊕ u .
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 197/238
Uma consulta a w b é de fato inválida se b = H (r u ), onde a = p (r ) e w = G (r ) ⊕ u .
Seja Lk o evento em que o oráculo D falha erroneamente
Pr[Lk ] ≤ n (k )2−k ,
onde n (
k ) é o número de consultas feitas ao oráculo.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 74 / 90
Segurança do BR-2 - Fidelidade da Simulação
Certamente G e H são simulados corretamente.A simulação de D falha quando uma consulta é consideradainválida erroneamente: Uma consulta a w b é considerada inválida se
G (r ) não foi consultado, onde a = p (r ); ou H (r u ) não foi consultado, onde w = G (r ) ⊕ u .
U l b é d f i álid
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 198/238
Uma consulta a w b é de fato inválida se b = H (r u ), onde a = p (r ) e w = G (r ) ⊕ u .
Seja Lk o evento em que o oráculo D falha erroneamente
Pr[Lk ] ≤ n (k )2−k ,
onde n (
k ) é o número de consultas feitas ao oráculo.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 74 / 90
Segurança do BR-2 - Fidelidade da Simulação
Certamente G e H são simulados corretamente.A simulação de D falha quando uma consulta é consideradainválida erroneamente: Uma consulta a w b é considerada inválida se
G (r ) não foi consultado, onde a = p (r ); ou H (r u ) não foi consultado, onde w = G (r ) ⊕ u .
U lt b é d f t i álid
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 199/238
Uma consulta a w b é de fato inválida se b = H (r u ), onde a = p (r ) e w = G (r ) ⊕ u .
Seja Lk o evento em que o oráculo D falha erroneamente
Pr[Lk ] ≤ n (k )2−k ,
onde n (k ) é o número de consultas feitas ao oráculo.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 74 / 90
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 200/238
Segurança do BR-2 - Probabilidade de Sucesso
Seja Ak o evento em que A tem sucesso.
Seja D k o evento em que D tem sucesso.
Pr[Ak |Lk ∧ D k ] =
1
2
Logo Pr[Ak ] = 12 + λ(k) é limitado por
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 201/238
Logo Pr[Ak ] 2 + λ(k ) é limitado por
Pr[Ak ] = Pr[Ak |Lk ] Pr[Lk ] + Pr[Ak |Lk ∧ D k ] Pr[Lk ∧ D k ]+ Pr[Ak |Lk ∧ D k ] Pr[Lk ∧ D k ]
≤ n (k )2−k + Pr[D k ] + 12.
Temos então Pr[D k ] ≥ λ(k ) − n (k )2−k .
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 75 / 90
Segurança do BR-2 - Probabilidade de Sucesso
Seja Ak o evento em que A tem sucesso.
Seja D k o evento em que D tem sucesso.
Pr[Ak |Lk ∧ D k ] =
1
2
Logo Pr[Ak ] = 12 + λ(k ) é limitado por
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 202/238
g [ k ] 2 + ( ) p
Pr[Ak ] = Pr[Ak |Lk ] Pr[Lk ] + Pr[Ak |Lk ∧ D k ] Pr[Lk ∧ D k ]+ Pr[Ak |Lk ∧ D k ] Pr[Lk ∧ D k ]
≤ n (k )2−k + Pr[D k ] + 12.
Temos então Pr[D k ] ≥ λ(k ) − n (k )2−k .
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 75 / 90
Segurança do BR-2 - Probabilidade de Sucesso
Seja Ak o evento em que A tem sucesso.
Seja D k o evento em que D tem sucesso.
Pr[Ak |Lk ∧ D k ] =
1
2
Logo Pr[Ak ] = 12 + λ(k ) é limitado por
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 203/238
g [ k ] 2 ( ) p
Pr[Ak ] = Pr[Ak |Lk ] Pr[Lk ] + Pr[Ak |Lk ∧ D k ] Pr[Lk ∧ D k ]+ Pr[Ak |Lk ∧ D k ] Pr[Lk ∧ D k ]
≤ n (k )2−k + Pr[D k ] + 12.
Temos então Pr[D k ] ≥ λ(k ) − n (k )2−k .
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 75 / 90
Perguntas?
Dúvidas?? Perguntas???
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 204/238
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 76 / 90
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 205/238
The Random Oracle Methodology, Revisited - 1998
Canetti, Goldreich & Halevi reavaliam o ROM;apresentam fortes resultados teóricos contra a sua validade; Esquemas seguros no ROM, porém inseguros em qualquer
instanciação
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 206/238
instanciação.
Resultado altamente controverso por sua aparente artificialidade.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 77 / 90
Como implementar o oráculo aleatório?
Queremos determinar se existem “boas” implementações dooráculo aleatório. Uma boa implementação mantém a segurança do esquema
equivalente na prática ao que era no ROM.
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 207/238
1 Uma função F (.).
2 Uma família de funções F k = {f s }s ∈S .3 Escolher caso-a-caso.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 78 / 90
Como implementar o oráculo aleatório?
Queremos determinar se existem “boas” implementações dooráculo aleatório. Uma boa implementação mantém a segurança do esquema
equivalente na prática ao que era no ROM.
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 208/238
1 Uma função F (.).
2 Uma família de funções F k = {f s }s ∈S .3 Escolher caso-a-caso.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 78 / 90
Como implementar o oráculo aleatório?
Queremos determinar se existem “boas” implementações dooráculo aleatório. Uma boa implementação mantém a segurança do esquema
equivalente na prática ao que era no ROM.
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 209/238
1 Uma função F (.).
2 Uma família de funções F k = {f s }s ∈S .3 Escolher caso-a-caso.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 78 / 90
Implementando o ROM com uma função
O ideal é construir uma função F (.) que, independente do
protocolo, se ja uma boa implementação de O. Impossível!
Uma aplicação (artificial) E que mostra isso é a seguinte:1 Seja f a função candidata;
b M d
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 210/238
2 E recebe uma mensagem M como entrada;
Se O(M ) = f (M ), E revela seus dados privados. Senão retorna O(M ).
O adversário tem sucesso se descobre os dados secretos de E .
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 79 / 90
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 211/238
Implementando o ROM com uma função
O ideal é construir uma função F (.) que, independente do
protocolo, se ja uma boa implementação de O. Impossível!
Uma aplicação (artificial) E que mostra isso é a seguinte:1 Seja f a função candidata;2 E b M t d
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 212/238
2 E recebe uma mensagem M como entrada;
Se O(M ) = f (M ), E revela seus dados privados. Senão retorna O(M ).
O adversário tem sucesso se descobre os dados secretos de E .
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 79 / 90
Implementando o ROM com uma função
O ideal é construir uma função F (.) que, independente do
protocolo, se ja uma boa implementação de O. Impossível!
Uma aplicação (artificial) E que mostra isso é a seguinte:1 Seja f a função candidata;2 E recebe uma mensagem M como entrada;
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 213/238
2 E recebe uma mensagem M como entrada;
Se O(M ) = f (M ), E revela seus dados privados. Senão retorna O(M ).
O adversário tem sucesso se descobre os dados secretos de E .
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 79 / 90
Implementando o ROM com uma função
E é seguro no ROM. A probabilidade de O(x ) = f (x ) é baixíssima; O é aleatório.
E é inseguro quando implementado por f . Of (x ) = f (x ) é trivialmente verdade.
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 214/238
O adversário sempre tem sucesso.
Uma única função f não pode ser então uma boa implementaçãopara O.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 80 / 90
Implementando o ROM com uma função
E é seguro no ROM. A probabilidade de O(x ) = f (x ) é baixíssima; O é aleatório.
E é inseguro quando implementado por f . Of (x ) = f (x ) é trivialmente verdade.
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 215/238
O adversário sempre tem sucesso.
Uma única função f não pode ser então uma boa implementaçãopara O.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 80 / 90
Implementando o ROM com uma função
E é seguro no ROM. A probabilidade de O(x ) = f (x ) é baixíssima; O é aleatório.
E é inseguro quando implementado por f . Of (x ) = f (x ) é trivialmente verdade.
O d á i
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 216/238
O adversário sempre tem sucesso.
Uma única função f não pode ser então uma boa implementaçãopara O.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 80 / 90
Implemetando O com uma família de funções
Consideremos uma família infinita de funçõesF k = {f s : {0,1}poli(k ) → {0,1}
l out(k )
s ∈{0,1}k }
A implementação ocorre da seguinte forma:1 Dado um parâmetro de segurança k , a família F k está
implicitamente definida;2 Escolhemos s
r← {0,1}k
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 217/238
{ , }3 Substituimos invocações ao oráculo
O por chamadas à função f
s .
O problema anterior não se repete neste cenário.
Será que podemos então utilizar famílias de funções paraimplementar O? Não!.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 81 / 90
Implemetando O com uma família de funções
Consideremos uma família infinita de funçõesF k = {f s : {0,1}poli(k ) → {0,1}
l out(k )
s ∈{0,1}k }
A implementação ocorre da seguinte forma:1 Dado um parâmetro de segurança k , a família F k está
implicitamente definida;2 Escolhemos s
r← {0,1}k
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 218/238
{ , }3 Substituimos invocações ao oráculo O por chamadas à função f
s .
O problema anterior não se repete neste cenário.
Será que podemos então utilizar famílias de funções paraimplementar O? Não!.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 81 / 90
Implemetando O com uma família de funções
Consideremos uma família infinita de funçõesF k = {f s : {0,1}poli(k ) → {0,1}
l out(k )
s ∈{0,1}k }
A implementação ocorre da seguinte forma:1 Dado um parâmetro de segurança k , a família F k está
implicitamente definida;2 Escolhemos s
r← {0,1}k
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 219/238
{ , }3 Substituimos invocações ao oráculo O por chamadas à função f
s .
O problema anterior não se repete neste cenário.
Será que podemos então utilizar famílias de funções paraimplementar O? Não!.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 81 / 90
Esquema de assinatura (quase) “não-instanciável”
Seja S = (G ,S ,V ) um esquema de assinaturas seguro, e seja R umarelação evasiva . Contruímos o esquema modificado S R = (G ,S R ,V R ):
Assinatura Modificada, S OR (SK,M ):1 Se (M ,O(M )) ∈ R , retorna (SK,M )2 Caso contrário, retorna S O(SK,M )
Verificação Modificada VOR (PK M σ):
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 220/238
Verificação Modificada, V R (PK,M , σ):
1 Se (M ,O(M )) ∈ R , ACEITA.2 Caso contrário, retorna V O(PK,M , σ)
Este esquema é seguro no ROM porém inseguro em qualquerinstanciação.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 82 / 90
Esquema de assinatura (quase) “não-instanciável”
Seja S = (G ,S ,V ) um esquema de assinaturas seguro, e seja R umarelação evasiva . Contruímos o esquema modificado S R = (G ,S R ,V R ):
Assinatura Modificada, S OR (SK,M ):1 Se (M ,O(M )) ∈ R , retorna (SK,M )2 Caso contrário, retorna S O(SK,M )
Verificação Modificada, VOR (PK M σ):
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 221/238
Verificação Modificada, V R (PK,M , σ):
1 Se (M ,O(M )) ∈ R , ACEITA.2 Caso contrário, retorna V O(PK,M , σ)
Este esquema é seguro no ROM porém inseguro em qualquerinstanciação.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 82 / 90
Esquema de assinatura (quase) “não-instanciável”
Seja S = (G ,S ,V ) um esquema de assinaturas seguro, e seja R umarelação evasiva . Contruímos o esquema modificado S R = (G ,S R ,V R ):
Assinatura Modificada, S OR (SK,M ):1 Se (M ,O(M )) ∈ R , retorna (SK,M )2 Caso contrário, retorna S O(SK,M )
Verificação Modificada, VOR (PK,M, σ):
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 222/238
Verificação Modificada, V R (PK,M , σ):
1 Se (M ,O(M )) ∈ R , ACEITA.2 Caso contrário, retorna V O(PK,M , σ)
Este esquema é seguro no ROM porém inseguro em qualquerinstanciação.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 82 / 90
Relações Evasivas - Definição
Definição
Uma relação binária R é dita evasiva se para qualquer algoritmoprobabilístico A
PrO
[x ← AO(1k ), (x ,O(x )) ∈ R] = 1
poli(k),
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 223/238
O poli(k )
É difícil de achar um x tal que (x ,O(x )) pertence à relação.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 83 / 90
Relações Evasivas - Construção
Para qualquer família de funções F = {f s } é possível construiruma função evasiva R F correspondente
R F def =
k
{(s , f s (s ) : s ∈ {0,1}k }.
Para qualquer família F candidata a implementar o oráculo existe
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 224/238
Para qualquer família F candidata a implementar o oráculo existe
um esquema de assinaturas seguro no ROM porém inseguroquando instanciado por F
Não existem famílias de funções que implementem bem o oráculoaleatório.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 84 / 90
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 225/238
Relações Evasivas - Construção
Para qualquer família de funções F = {f s } é possível construiruma função evasiva R F correspondente
R F def =
k
{(s , f s (s ) : s ∈ {0,1}k }.
Para qualquer família F candidata a implementar o oráculo existe
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 226/238
Para qualquer família F candidata a implementar o oráculo existe
um esquema de assinaturas seguro no ROM porém inseguroquando instanciado por F
Não existem famílias de funções que implementem bem o oráculoaleatório.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 84 / 90
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 227/238
Implementando o ROM caso-a-caso
Só nos resta a esperança de escolher caso-a-caso a função que
implementa O. Dado um protocolo P qualquer, escolhemos uma f apropriada paraa sua implementação
Extensão do resultado anterior: Existem esquemas de assinaturas inseguros em qualquer
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 228/238
q g q q
instanciação.
Não existem boas implementações para o oráculo aleatório.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 85 / 90
Implementando o ROM caso-a-caso
Só nos resta a esperança de escolher caso-a-caso a função que
implementa O. Dado um protocolo P qualquer, escolhemos uma f apropriada paraa sua implementação
Extensão do resultado anterior: Existem esquemas de assinaturas inseguros em qualquer
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 229/238
instanciação.
Não existem boas implementações para o oráculo aleatório.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 85 / 90
Implementando o ROM caso-a-caso
Só nos resta a esperança de escolher caso-a-caso a função que
implementa O. Dado um protocolo P qualquer, escolhemos uma f apropriada paraa sua implementação
Extensão do resultado anterior: Existem esquemas de assinaturas inseguros em qualquer
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 230/238
instanciação.
Não existem boas implementações para o oráculo aleatório.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 85 / 90
Aftermatch
An Uninstantiable Random-Oracle-Model Scheme for aHybrid-Encryption Problem [Bellare et al., 2004].
On the random-oracle methodology as applied to length-restrictedsignature schemes [Canetti et al., 2004]
Another Look at “Provable Security” [Koblitz e Menezes 2004]
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 231/238
Another Look at Provable Security [Koblitz e Menezes, 2004]
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 86 / 90
Aftermatch
An Uninstantiable Random-Oracle-Model Scheme for aHybrid-Encryption Problem [Bellare et al., 2004].
On the random-oracle methodology as applied to length-restrictedsignature schemes [Canetti et al., 2004]
Another Look at “Provable Security” [Koblitz e Menezes 2004]
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 232/238
Another Look at Provable Security [Koblitz e Menezes, 2004]
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 86 / 90
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 233/238
O Futuro do Modelo do Oráculo Aleatório
Situação incerta: especialistas se pronunciam contra e a favor do
modelo.Atualmente única opção viável para análise de segurança demuitos protocolos eficientes;Pôr fim ao impasse: Ataques mais realistas.
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 234/238
q Delimitação precisa das vulnerabilidades. Delimitação precisa da sua aplicabilidade.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 87 / 90
O Futuro do Modelo do Oráculo Aleatório
Situação incerta: especialistas se pronunciam contra e a favor do
modelo.Atualmente única opção viável para análise de segurança demuitos protocolos eficientes;Pôr fim ao impasse: Ataques mais realistas.
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 235/238
q Delimitação precisa das vulnerabilidades. Delimitação precisa da sua aplicabilidade.
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 87 / 90
Agradecimentos
Gostaria de agradecer a ajuda dos meus co-autores e de DiegoAranha.
Muito obrigado pela presença.
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 236/238
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 88 / 90
Dúvidas
Perguntas???
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 237/238
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 89 / 90
Problemas Difíceis
8/17/2019 Demonstrações de Seguranças - Semântica
http://slidepdf.com/reader/full/demonstracoes-de-segurancas-semantica 238/238
Rafael Dantas de Castro () Introdução à Segurança Demonstrável Agosto de 2007 90 / 90