140 likes | 224 Views
VERIFICAÇÃO FORMAL DE PROTOCOLOS. Fabio Rogério Piva (RA016013). 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. Introdução.
E N D
VERIFICAÇÃO FORMAL DE PROTOCOLOS Fabio Rogério Piva (RA016013)
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
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
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
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
A Lógica BAN Vantagens • Sistema simples de verificação por prova de teoremas • Poucos postulados abrangem um grande número de casos • Demonstrações curtas e intuitivas Desvantagens • É difícil representar características especiais do protocolo (hash, MACs, etc) • Não detecta ataques de tipo • Não pode ser totalmente automatizada
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
A Lógica BAN Um exemplo rápido: o protocolo Kerberos • Descrição do protocolo • Idealização
A Lógica BAN Um exemplo rápido: o protocolo Kerberos • Pressuposições
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
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
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.
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