slide1 n.
Download
Skip this Video
Download Presentation
Rodrigo Borges Nogueira

Loading in 2 Seconds...

play fullscreen
1 / 34

Rodrigo Borges Nogueira - PowerPoint PPT Presentation


  • 74 Views
  • Uploaded on

Rodrigo Borges Nogueira Mestrando em Informática - Universidade de Brasília Orientador : Maurício Ayala Rincón Co-orientador : Anderson Nascimento Métodos Formais Aplicados à Verificação de Protocolos Criptográficos. Quarto Seminário Informal (mas Formal!) do Grupo de Teoria da Computação.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Rodrigo Borges Nogueira' - huy


Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

Rodrigo Borges Nogueira

Mestrando em Informática - Universidade de BrasíliaOrientador: Maurício Ayala RincónCo-orientador: Anderson Nascimento

Métodos Formais Aplicados à Verificação de Protocolos Criptográficos

Quarto Seminário Informal (mas Formal!) do Grupo de Teoria da Computação

building systems on open networks

Bank

Hospital

Building Systems on Open Networks

Security Proof !!!

2 M. Backes, B. Pfitzmann, M. Waidner, Zurich, 2003-2004

Cryptography!

Confidence?

Attackers?

E-Government

cryptography the details

Crypto-Toolbox

Prob[

Attack

]  …

DL(gx)

Fact(p*q)

Encryption

Hashfunction

Signature

Proof

Key establishment

Cryptography: The Details

3 M. Backes, B. Pfitzmann, M. Waidner, Zurich, 2003-2004

o que seguran a informalmente
O que é Segurança? (Informalmente)
  • Segurança baseia-se em prover garantias [1]
    • Autenticação
    • Sigilo
    • Não-repúdio
    • Não-interferência
    • Atomicidade
    • Imparcialidade/Justiça (Fairness)
  • Equação de Nemeth:Segurança α 1/Conveniência [2]

[1] Aldrin John D’Souza. Formal Analysis of Cryptographic Protocols.

[2] Pedro Rezende. Apostila de aula.

protocolos criptogr ficos 3
Protocolos Criptográficos [3]
  • Para protocolos em geral:
    • Participantes conhecem passos do protocolo
    • Participantes concordam em segui-lo
    • Não possui ambiguidades – passos bem definidos
    • Deve ser completo – uma ação para cada situação possível
  • Protocolos criptográficos:
    • Possuem requisitos de segurança
    • Não deve ser possível fazer/aprender mais do que o esperado por um participante.

[3] Bruce Schneider - Applied Cryptography – Second Edition

m todos formais e protocolos criptogr ficos
Métodos Formais e Protocolos Criptográficos?
  • Durante algum tempo: protocolos desenvolvidos sobre ciclos de descobertas de falhas. [4]
  • Por que provar matematicamente requisitos de segurança?
    • Protocolo de autenticação Needham-Schroeder (1978) [5]
      • Dezessete anos “seguro”
      • Lowe descobriu ataque man-in-the-middle no protocolo
    • Falha em protocolo contido no projeto do padrão CCITT X.509. Meadows.

[4] M. Backes. Cryptographically Sound Analysis of Security Protocols

[5]Gavin Lowe. Breaking and Fixing the Needham-Schroeder public-key protocol using FDR

m todos formais e protocolos criptogr ficos1
Métodos Formais e Protocolos Criptográficos?
  • Man-in-the-middle no protocolo de autenticação Woo-Lam (1992) [1]
    • “whenever a responder finishes execution of the protocol, the initiator of the protocol is in fact the principal claimed in the initial message”
    • A Lesson on Authentication Protocol Design - Woo, Lam (1994)
  • Ataque multi-protocolo – Cremers em Verification of Multi-Protocol Attacks (2004) [6]
    • De 30 protocolos da literatura, 23 são vulneráveis
  • SET [12]: algumas fracas garantias (2006).
    • Violação de expectativas do proprietário do cartão de crédito.

[6] Cremers. Verification of Multi-Protocol Attacks

[12] Verifying the SET Purchase Protocols. G. BELLA, F. MASSACCI and L . C. PAULSON. Feb, 2006.

nota o
Notação
  • {m}K: m encriptada com chave K.
  • pkU, pkU-1: par de chaves públicas de participante U.
  • nU : nonce criado por U.
  • Z : Adversário. Z(A) : Z personifica A.
  • KAB: Chave secreta compartilhada entre participantes A e B.
  • A  B : Participante A envia mensagem para participante B.
  • U : Identificador do usuário U.
o protocolo de woo lam 1
O Protocolo de Woo-Lam [1]
  • Autenticação
  • Usuários compartilham chaves com servidor
  • A  B : A
  • B  A : nB
  • A  B : {nB}KAS
  • B  S : {A,{nB}KAS}KBS
  • S  B : {nB}KBS

Correção informal do protocolo

quebrando o protocolo de woo lam 1
Quebrando o Protocolo de Woo-Lam [1]
  • Z inicia duas sessões concorrentes
    • Personifica A em uma das sessões
  • Informação de uma sessão é utilizada na outra
  • Z prova a B que é A.
quebrando o protocolo de woo lam 11
Quebrando o Protocolo de Woo-Lam [1]

1.Z(A)  B : A

1’.Z  B : Z

2.B  Z(A) : nB

2’.B  Z : n’B

3.Z(A)  B : {nB}KZS

3’.Z  B : {nB}KZS

4.B  S : {A, {nB}KZS}KBS

4’.B  S : {Z, {nB}KZS}KBS

5.S  B : {n’’B}KBS

5’.S  B : {nB}KBS

o protocolo de needham schroeder 1978 7
O Protocolo de Needham-Schroeder (1978) [7]
  • A  B : {nA, A}pkB
  • B  A : {nA, nB}pkA
  • A  B : {nB}pkB

[7] C. J. F. Cremers, S. Mauw & E. P. de Vink. Formal Methods for Security Protocols: Three Examples of the Black-Box Approach.

quebrando o protocolo needham schroeder 7
Quebrando o Protocolo Needham-Schroeder [7]
  • A  Z : {nA, A}pkZ
  • Z(A)  B : {nA, A}pkB
  • B  Z(A) : {nA, nB}pkA
  • Z  A : {nA, nB}pkA
  • A  Z : {nB}pkZ
  • Z(A)  B : {nB}pkB

??? E se: ???

  • A é um indivíduo honesto
  • Z é um comerciante on-line embusteiro
  • B é o banco de A
corre o do protocolo needham schroeder 5
Correção do Protocolo Needham-Schroeder [5]
  • Lowe descobriu o ataque utilizando o model checker failures divergence refinement (1995) (FDR)
  • Correção proposta:
    • B  A : {nA, nB, B}pkA
  • Lowe provou que protocolo Needham-Schroeder-Lowe era seguro.
  • Primeiros 2 artigos de Lowe causaram grande interesse na área de criptografia formal.
abordagens da verifica o formal meadows 1992 tipo i
Abordagens da verificação formal [Meadows, 1992] –Tipo I
  • Modelagem e verificação de protocolos por ferramentas de propósito geral. Ex: Autômato não-determinístico [8]

[8] Aviel D. Rubin, Peter Honeyman. Formal Methods for the Analysis of Authentication Protocols. 1993.

abordagens da verifica o formal tipo ii
Abordagens da verificação formal – Tipo II
  • Tipo II – Sistemas especialistas provêm:
    • Avaliação de diferentes cenários.
    • Construção de modelos para contínuo refinamento.
    • Diferentes formas de interação com os modelos.
    • Modelagens que respondem a questões do tipo “E se...”.
    • Testes de possíveis modificações dos protocolos.
  • Interrogator: Visão do protocolo como uma coleção de processos comunicantes. [8]
  • Provador de Blanchet: Games representados em um process calculus inspirado principalmente pelo pi-calculus.

[9] Bruno Blanchet. A Computationally Sound Mechanized Prover for Security Protocols. 2006.

abordagens da verifica o formal tipo iii
Abordagens da verificação formal – Tipo III
  • Tipo III – Desenvolvimento de lógicas para análise de conhecimento e/ou confiança
    • Lógica BAN: regras de inferência para modelar a confiança em um protocolo
      • Algumas extensões: lógica GNY, lógica de Mao e Boyd
  • Exemplos de regras BAN [7]:
abordagens da verifica o formal tipo iv
Abordagens da verificação formal – Tipo IV
  • Tipo IV – Modelos formais baseados em álgebra de termos.
    • Modelo Dolev-Yao [10]: Dolev e Yao definiram algumas classes de protocolos.
      • Protocolos cascata: Usuários podem aplicar operações Enc-Dec em diversas camadas para construir mensagens.
    • Modelo de Merritt [8]: Generalizações sobre o modelo Dolev-Yao, permitindo modelar diversos sistemas criptográficos.

[10] D. Dolev and A. Yao. On the security of public-key protocols.

trabalho de mestrado
Trabalho de Mestrado
  • Criar metodologia de análise de protocolos criptográficos utilizando PVS.
  • Provar modelo de segurança Dolev-Yao no PVS.
  • Especificar um protocolo atual e relevante em PVS.
  • Definir algumas primitivas criptográficas para o modelo Dolev-Yao através de teorias.
por que pvs
Por que PVS?
  • Experiência do Grupo de Teoria da Computação com PVS.
  • Robustez do sistema: resultados importantes publicados
    • Provas de algoritmos complexos de tolerância a falhas.
    • Erros encontrados em μ-processador pipelined comercial contendo aprox. 500.000 transistores na verificação do microcódigo.
  • Alguns resultados publicados na área de verificação formal de protocolos criptográficos utilizando PVS.
modelo dolev yao para protocolos em cascata 10
Modelo Dolev-Yao para Protocolos em Cascata [10]
  • Modelo formal
    • Sintaxe do protocolo.
    • Regras de inferência que o adversário utiliza para descobrir o texto claro.
    • Protocolos em cascata para dois participantes.
    • Participantes aplicam apenas operadores Enc-Dec a mensagens.

Exemplo:

  • A  B : EB(M)
  • B  A : (DB(EA(M))
modelo dolev yao para protocolos em cascata 101
Modelo Dolev-Yao para Protocolos em Cascata [10]

Modelo do Adversário

  • Lê todo o tráfego de rede.
  • Altera e destrói mensagens.
  • Cria novas mensagens.
  • Faz qualquer coisa que um usuário honesto é capaz de fazer.
  • Conhecimento de termos para iniciar conversa.
  • Limitado pelas primitivas criptográficas
    • M em EX(M) só é obtida conhecendo-se DX.
modelo dolev yao para protocolos em cascata 102
Modelo Dolev-Yao para Protocolos em Cascata [10]

Notação para o modelo Dolev-Yao

  • Usuário Utem par de operadores EU e DU.
  • Aplicação de operadores a uma mensagem M: EU(M) , DU(M)
  • Representação de η1(η2(η3(...(M)...))) como η1η2η3...M, onde ηi é um operador.
  • γ : redução deγ através da eliminação de pares de operadores complementares.x : usuárioExDx = DxEx = 1
modelo dolev yao para protocolos em cascata 103
Modelo Dolev-Yao para Protocolos em Cascata [10]
  • Seja X e Y participantes distintos
    • Definição 1:αi(X,Y) Є {EX, EY, DX} e βj(X,Y) Є {EX, EY, DY} |1≤i≤t e 1≤j≤t’, onde t’=t ou t’=t-1 e t+t’ é o número de passos entre X e Y que o protocolo executa.

Exemplo:

  • X  Y : α1(X,Y)M = EXM = M’
  • Y  X : β1(X,Y)M’ = EY EYEXM = M’’
  • X  Y : α2(X,Y)M’’ = DXEY EYEXM = M’’’
  • Y  X : β2(X,Y)M’’’ = DYEXDXEY EYEXM
modelo dolev yao para protocolos em cascata 104
Modelo Dolev-Yao para Protocolos em Cascata [10]
  • Definição 2:Seja a especificação de protocolo em cascata:

{αi(X,Y), βj(X,Y) | 1≤i≤t e 1≤j≤t’}, define-se:

N1(X,Y) = α1(X,Y)

N2j(X,Y) = βj(X,Y) N2j-1(X,Y) (1≤j≤t’)

N2i+1(X,Y) = αi+1(X,Y) N2i(X,Y) (1≤i≤t)

X deseja enviar mensagem M a Y. As mensagens trocadas sãoNi(X,Y) M, onde i = 1,2,...,t+t’

modelo dolev yao para protocolos em cascata 105
Modelo Dolev-Yao para Protocolos em Cascata [10]
  • Definição 3:Seja Σ1(Z) = E U {DZ},Σ2 = {αi(A,B) | para todo A ≠ B e i ≥ 2},Σ3 = {βi(A,B) | para todo A ≠ B e i ≥ 1}

Z pode agregar a uma mensagem M :γЄ (Σ1(Z) U Σ2 U Σ3)

  • Σ2: Z intercepta a (i-1)-ésima mensagem M de B para A, destruindo-a. Z  A : M’ A  Z|B : αi(A,B)M’
  • Σ3: Z(A) B : M’ B  Z(A) : βi(A,B)M’
modelo dolev yao para protocolos em cascata 106
Modelo Dolev-Yao para Protocolos em Cascata [10]
  • O protocolo é inseguro se existe algumγЄ (Σ1(Z) U Σ2 U Σ3) tal que

γNi(X,Y) = λ

modelo dolev yao para protocolos em cascata 107
Modelo Dolev-Yao para Protocolos em Cascata [10]
  • Definição informal da função lt:Para αi(X,Y) = EX EXEY, temos lt(αi(X,Y)) = {EX,EY}
  • Teorema (segurança do protocolo em cascata)
    • Um protocolo cascata entre 2 participantes X e Y é seguro se e somente se:

1) lt(α1(X,Y)) ∩ {EX, EY} ≠ Ǿ

2) O protocolo é balanceado

opera es de chaves p blicas do modelo dolev yao em pvs
Operações de chaves públicas do modelo Dolev-Yao em PVS

x : usuárioExDx = DxEx = 1

cancellation1 : AXIOMFORALL l, n, x:(n < (length(l)+(-1)) ANDnth(l,n) = E*x ANDnth(l,(n+1)) = D*x) IMPLIESl = excludenth(excludenth(l,n),n)

cancellation2...

excludenth(l, (n:below[length(l)])):RECURSIVE list[op] = IF n = 0 THEN cdr(l) ELSEappend(cons(car(l),null), excludenth(cdr(l), n+(-1))) ENDIF MEASURElength(l)

prova de lema em pvs
Prova de Lema em PVS

opsCancel1 : LEMMAcons(E*x,cons(D*y,cons(E*y,cons(D*x,null)))) = null

FORALL (x, y: user): cons(E*x, cons(D*y, cons(E*y, cons(D*x, null)))) = null

(skeep)

cons(E*x, cons(D*y, cons(E*y, cons(D*x, null)))) = null

(lemma cancellation2)

FORALL (l, n, x):(n < (length(l) + (-1)) AND nth(l, n) = D*x ANDnth(l, (n + 1)) = E*x) IMPLIES l = excludenth(excludenth(l, n), n)

(inst -1 "cons(E*x, cons(D*y, cons(E*y, cons(D*x, null))))" "1" "y")

prova de lema em pvs1
Prova de Lema em PVS

(1 < (length(cons(E*x, cons(D*y, cons(E*y, cons(D*x, null)))))+ (-1)) AND nth(cons(E*x, cons(D*y, cons(E*y, cons(D*x, null)))), 1) = D*y AND nth(cons(E*x, cons(D*y, cons(E*y, cons(D*x, null)))), (1 + 1)) = E*y) IMPLIEScons(E*x, cons(D*y, cons(E*y, cons(D*x, null)))) = excludenth(excludenth(cons(E*x, cons(D*y, cons(E*y, cons(D*x, null)))), 1), 1)

(repeat (expand length))

(repeat(expand nth))

(repeat(expand excludenth))

(repeat(expand append))

cons(E*x, cons(D*y, cons(E*y, cons(D*x, null)))) = cons(E*x, cons(D*x, null))

(lemma cancellation1("l" "cons(E * x, cons(D * x, null))" "n" "0" "x" "x"))

expande termos...

pr ximos passos
Próximos passos
  • Provar teorema de especificação de segurança segundo Dolev-Yao.
  • Considerar adversário mais poderosos [13].

[13] J. Herzog. A computational interpretation of Dolev-Yao adversaries. Jun, 2005.

conclus es
Conclusões
  • Modelo Dolev-Yao é adequado para modelagem de protocolos em provadores automáticos.
  • Provas automáticas reduzem muito a probabilidade de erros.
  • Na literatura, maioria prova contra ataques conhecidos.
    • Difícil obter um modelo de segurança abrangente.
  • Poucos automatizaram provas no modelo Dolev-Yao.
    • Modelo mais poderoso do que parecia
ad