Rodrigo Borges Nogueira
Download
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


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

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