VERIFICAÇÃO FORMAL DE PROTOCOLOS
description
Transcript of VERIFICAÇÃO FORMAL DE PROTOCOLOS
![Page 1: VERIFICAÇÃO FORMAL DE PROTOCOLOS](https://reader036.fdocumentos.tips/reader036/viewer/2022082614/56815884550346895dc5e562/html5/thumbnails/1.jpg)
VERIFICAÇÃO FORMAL DE PROTOCOLOS
Fabio Rogério Piva (RA016013)
![Page 2: VERIFICAÇÃO FORMAL DE PROTOCOLOS](https://reader036.fdocumentos.tips/reader036/viewer/2022082614/56815884550346895dc5e562/html5/thumbnails/2.jpg)
Roteiro
• Introdução: o que é a verificação formal de um protocolo?
• Tipos de verificação
• Problemas
• A lógica BAN
• A lógica de Syverson (SVO)
• Conclusões
• Bibliografia
![Page 3: VERIFICAÇÃO FORMAL DE PROTOCOLOS](https://reader036.fdocumentos.tips/reader036/viewer/2022082614/56815884550346895dc5e562/html5/thumbnails/3.jpg)
Introdução
• Verificar um protocolo é demonstrar sua corretude.
• Motivações
Garantir que o protocolo atinja os objetivos que propõe
Encontrar fraquezas (brechas de segurança)
Gerar interesse comercial
Antecipar os movimentos de um possível invasor
![Page 4: VERIFICAÇÃO FORMAL DE PROTOCOLOS](https://reader036.fdocumentos.tips/reader036/viewer/2022082614/56815884550346895dc5e562/html5/thumbnails/4.jpg)
Tipos de verificação
• Checagem por Modelos: o protocolo é modelado com base em um número finito de comportamentos possíveis e condições de corretude são testadas.
Exemplos de métodos: FDR, Brutus, Mur.• Prova de Teoremas (lógicas): todos os
comportamentos possíveis do protocolo são considerados, e o protocolo é provado correto através da demonstração de teoremas.
Exemplos de métodos: Lógica BAN, SVO, Strand Spaces
![Page 5: VERIFICAÇÃO FORMAL DE PROTOCOLOS](https://reader036.fdocumentos.tips/reader036/viewer/2022082614/56815884550346895dc5e562/html5/thumbnails/5.jpg)
Problemas
• Ainda não existe um método que detecte todas as falhas possíveis em um protocolo
• Na maioria dos caso é muito difícil representar todas as características do protocolo no método utilizado
• Lógicas: mais indicadas na demonstração de corretude de protocolos, mas costumam ser falhas na detecção de ataques
• Modelos: costumam ser eficientes na detecção de ataques, mas normalmente não oferecem provas de corretude satisfatórias
![Page 6: VERIFICAÇÃO FORMAL DE PROTOCOLOS](https://reader036.fdocumentos.tips/reader036/viewer/2022082614/56815884550346895dc5e562/html5/thumbnails/6.jpg)
A Lógica BANVantagens• Sistema simples de verificação por prova de
teoremas• Poucos postulados abrangem um grande número
de casos• Demonstrações curtas e intuitivasDesvantagens• É difícil representar características especiais do
protocolo (hash, MACs, etc)• Não detecta ataques de tipo• Não pode ser totalmente automatizada
![Page 7: VERIFICAÇÃO FORMAL DE PROTOCOLOS](https://reader036.fdocumentos.tips/reader036/viewer/2022082614/56815884550346895dc5e562/html5/thumbnails/7.jpg)
A Lógica BAN A verificação em Lógica BAN é dividida em 3
partes:• Idealização: conversão do protocolo para
notação da Lógica BAN• Premissas: conversão das pressuposições
iniciais (chaves pré-estabelecidas, etc) na sintaxe de Lógica BAN
• Análise: desenvolvimento da demonstração a partir dos postulados da Lógica e das informações obtidas nos passos anteriores
![Page 8: VERIFICAÇÃO FORMAL DE PROTOCOLOS](https://reader036.fdocumentos.tips/reader036/viewer/2022082614/56815884550346895dc5e562/html5/thumbnails/8.jpg)
A Lógica BANUm exemplo rápido: o protocolo Kerberos • Descrição do protocolo
• Idealização
![Page 9: VERIFICAÇÃO FORMAL DE PROTOCOLOS](https://reader036.fdocumentos.tips/reader036/viewer/2022082614/56815884550346895dc5e562/html5/thumbnails/9.jpg)
A Lógica BANUm exemplo rápido: o protocolo Kerberos • Pressuposições
![Page 10: VERIFICAÇÃO FORMAL DE PROTOCOLOS](https://reader036.fdocumentos.tips/reader036/viewer/2022082614/56815884550346895dc5e562/html5/thumbnails/10.jpg)
A Lógica de Syverson (SVO)
Vantagens
• Mais completa que a BAN
• Melhor suporte à autenticação
• Diferencia passado de presente
Desvantagens
• Número grande de postulados
• Demonstrações extensas
• Se comparada à BAN tem realação custo - benefício questionável para protocolos de pequeno porte
![Page 11: VERIFICAÇÃO FORMAL DE PROTOCOLOS](https://reader036.fdocumentos.tips/reader036/viewer/2022082614/56815884550346895dc5e562/html5/thumbnails/11.jpg)
A Lógica de Syverson (SVO)
A verificação em SVO é dividida em 6 partes:• Idealização• Premissas• Anotação• Compreensão• Interpretação• Derivação
![Page 12: VERIFICAÇÃO FORMAL DE PROTOCOLOS](https://reader036.fdocumentos.tips/reader036/viewer/2022082614/56815884550346895dc5e562/html5/thumbnails/12.jpg)
Estudo Comparativo da SVO e da BANAnálise SVO
a- Escrever as premissas do estado inicial
b- Anotar o protocolo. Para cada mensagem “P Q : M” do protocolo não-idealizado, escreva “Q recebeu M”
c- Escreva a compreensão de cada mensagem recebida
d- Escreva as interpretações das expressões obtidas anteriormente
e- Use a lógica para derivar as crenças das entidades do protocolo
Análise BAN
1- Idealizar o protocolo
2- Escrever as premissas do estado inicial
3- Anotar o protocolo. Para cada mensagem “P Q : M” do protocolo idealizado, escreva “Q recebeu M”
4- Use a lógica para derivar as crenças das entidades do protocolo
![Page 13: VERIFICAÇÃO FORMAL DE PROTOCOLOS](https://reader036.fdocumentos.tips/reader036/viewer/2022082614/56815884550346895dc5e562/html5/thumbnails/13.jpg)
Conclusões
• A verificação formal é essencial para qualquer comunicação digital que exija segurança.
• Ainda há muito a ser feito no que diz respeito aos métodos de verificação.
• Embora funcionais, as lógicas de verificação ne sempre são práticas, e não podem ser totalmente automatizadas.
• Ferramentas híbridas (modelagem + prova de teoremas) parecem ser mais eficazes e devem receber maior atenção nos próximos anos.
![Page 14: VERIFICAÇÃO FORMAL DE PROTOCOLOS](https://reader036.fdocumentos.tips/reader036/viewer/2022082614/56815884550346895dc5e562/html5/thumbnails/14.jpg)
Bibliografia
• Paul Syverson & Iliano Cervesato, The Logic of Authentication Protocols
• Colin Boyd & Anish Mathuria, Protocols for Authentication and Key Establishment
• Michael Burrow, Martin Abadi & Roger Needham, A Logic of Authentication
• Wenbo Mao, Modern Cryptography Theory and Practice
• Li Gong, Using One-Way Functions for Authentication• F. Javier Thayer Fábrega, Jonathan C. Herzog &
Joshua D. Guttman, Strand Spaces: Proving Security Protocols Correct