Download - VERIFICAÇÃO FORMAL DE PROTOCOLOS

Transcript
Page 1: VERIFICAÇÃO FORMAL DE PROTOCOLOS

VERIFICAÇÃO FORMAL DE PROTOCOLOS

Fabio Rogério Piva (RA016013)

Page 2: VERIFICAÇÃO FORMAL DE PROTOCOLOS

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

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

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

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

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

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

A Lógica BANUm exemplo rápido: o protocolo Kerberos • Descrição do protocolo

• Idealização

Page 9: VERIFICAÇÃO FORMAL DE PROTOCOLOS

A Lógica BANUm exemplo rápido: o protocolo Kerberos • Pressuposições

Page 10: VERIFICAÇÃO FORMAL DE PROTOCOLOS

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

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

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

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

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