Owasp recife 2012

Post on 12-May-2015

576 views 2 download

description

Apresentação no Encontro da OWASP, Fac. Maurício de Nassau, Recife, 31/01/2012

Transcript of Owasp recife 2012

Criptografia Moderna: Matemática para a Segurança Digital

Ruy J.G.B. de Queiroz

Centro de Informática

UFPE

“À medida que a era digital estava no seu alvorecer no final dos anos 1970’s, uma enorme pedra no caminho à troca de informações e à condução de transações via redes de alta-velocidade era a falta de segurança de participantes externos que poderiam querer interceptar os dados…”

(Resenha de Crypto (Steven Levy, 2000), por Publishers

Weekly.)

Steven Levy (Chief Tech writer, Newsweek)

30 Years of Public-Key Cryptography

(Computer History Museum, Oct 2006)

“Com a possível exceção de armas nucleares, não consigo pensar em nenhuma technologia que tenha tido um impacto político e econômico profundo sobre o mundo maior que a criptografia. (...)

Geralmente acho que o papel da criptografia de chave pública que tem tido um papel fundamental na internet moderna, é geralmente subestimada.

Acho que é provavelmente porque ela está tão rapidamente se tornando parte invisível do tecido tanto da comunicação quanto do comércio modernos. “ (26/10/2006)

MC: John Markoff (NYT Tech columnist)

O que é Criptografia?

Tradicionalmente: manter sigilo na comunicação

Alice e Bob conversam enquanto Eve tenta escutar

Alice Bob

Eve

Sigilo deve se resumir à chave/senha

“Não se deve supor que o método de cifragem (e decifragem) é secreto. É preciso admitir a possibilidade de que tais métodos caiam nas mãos do adversário, e ainda assim o sigilo da comunicação seja mantido.”

Conseqüência: segurança por obscuridade de métodos é perigoso. (Ex.: GSM)

Auguste Kerckhoffs (1835–1903)

Abordagem Matemática à Teoria da Informação

• Claude Shannon (1916–2001).

• A Mathematical Theory of Communication. Bell Systems Technical Journal 27:379–423, 623–656, 1948.

• Communication Theory of Secrecy Systems. Bell Systems Technical Journal 28:656–715, 1949.

Sigilo Perfeito

Um esquema criptográfico é perfeitamente sigiloso se:

1. a senha tem o mesmo tamanho da mensagem

2. a cada mensagem uma senha é sorteada

Tempos Modernos

• Até os anos 70’s – sobretudo área militar e confidencial

• Desde então - crescimento explosivo – Aplicações comerciais

– Trabalho científico: relacionamento estreito com Teoria da Complexidade Computacional

– Destaques: Diffie-Hellman, Rivest-Shamir-Adleman

• Recentemente – modelos mais sofisticados para tarefas as mais diversas

Como manter o sigilo, a integridade e a autenticidade em sistemas de informação e comunicação

Merkle Hellman Diffie

“Estamos hoje à beira de uma revolução em criptografia.”

(New Directions in Cryptography, 1976)

Whitfield Diffie Martin Hellman

Troca de Chaves

Assinaturas Digitais

Primórdios da Noção de “Chave Pública”

1974: “Conforme as concepções tradicionais da segurança criptográfica, é necessário transmitir uma chave, por meio secreto, antes que mensagens cifradas possam ser enviadas de forma segura.

Este artigo mostra que é possível selecionar uma chave sobre canais abertos de comunicação de tal forma que a segurança das communicações possa ser mantida.”

Ralph Merkle

Projeto rejeitado: “sua descrição está terrivelmente confusa”

Bob

Alice

Chaves Públicas

Chave/Senha Pública

Fragilidade

• Necessidade de “Certificado”

• Suscetível ao ataque “homem-no-meio”

• Tentativas de solução:

– Encriptação baseada na Identidade (Shamir 1984)

– Criptografia de Chave Pública Sem-Certificado (Al-Riyami & Paterson 2003)

Criptografia Moderna e Complexidade Computacional

Teoria da Complexidade -

• Estuda os recursos necessários para se resolver problemas computacionais – tempo, memória

• Identifica problemas que são infactíveis de computar.

Criptografia Moderna-

• Encontra maneiras de especificar requisitos de segurança de sistemas

• Usa a infactibilidade de problemas de forma a obter segurança.

Essas duas áreas estão intimamente ligadas!

Funcionalidades da Criptografia Moderna

• Sigilo

• Autenticação

• Integridade

• Cooperação sem perder a privacidade (ex. leilão eletrônico; estatísticas conjuntas entre concorrentes; pesquisas de opinião; votação eletrônica; etc.)

Encriptação Totalmente Homomorfa

• Encriptação homomorfa é uma forma de encriptação na qual uma operação algébrica específica realizada no purotexto é equivalente a uma outra operação algébrica (possivelmente diferente) realizada no cifrotexto.

Aplicação

• Em 2010 Riggio & Sicari apresentaram uma aplicação prática da encriptação homomorfa a uma rede de sensores sem-fio híbrida.

• O sistema permite monitoramento sem fio multiponto transparente que é capaz de realizar análise estatística de vários tipos de dados (temperatura, humidade, etc.) vindos de uma WSN enquanto que garante tanto a encriptação fim–a–fim quanto a autenticação ponto-a-ponto.

Especificação Rigorosa de Segurança

Para definir segurança de um sistema é preciso especificar:

1. O que constitui uma falha do sistema

2. O poder do adversário

– capacidade computacional

– acesso ao sistema

– definição precisa do que significa “quebrar” o sistema.

Funções e suas inversas

Dizemos que uma função f é difícil de inverter se, dado y=f(x) é difícil encontrar x’ tal que y=f(x’) – x’ não precisa ser igual a x

– Exemplos: (1) multiplicação; (2) exponenciação

• Para dizer o que é “difícil” temos que especificar um modelo computacional

Modelo Computacional: “Máquina de Turing”

Alan Turing. “On computable numbers, with an application to the Entscheidungsproblem”, Proc. London Mathematical Society, Series 2, 42(1936-1937), pp. 230-265

Início da Criptografia Moderna Whitfield Diffie & Martin Hellman (1976)

• Alice e Bob compartilham um primo p, a base g, e querem estabelecer uma chave (senha)

1. Alice calcula A = ga mod p, e envia A para Bob 2. Bob calcula B = gb mod p, e envia B para Alice 3. Alice calcula KA = Ba mod p 4. Bob calcula KB = Ab mod p

– KA = Ba mod p = gba mod p = gab mod p = Ab mod p = KB

• Abelhudo só consegue aprender p, g, A e B – e é difícil calcular K somente a partir desses valores (problema do logaritmo discreto)

• Resultado: Estabelecimento seguro de chave (senha) usando somente troca pública de informação

1973: Cocks realizou idéia de Ellis (1970): encriptação “não-secreta”

Rivest, Shamir & Adleman

RSA: artigo original: relatório técnico circulado em 1977

Fatoração em Tempo Polinomial • “Em um computador quântico, fatorar um inteiro N, o

algoritmo de Peter Shor (1994) roda em tempo polinomial (em log N, que é o tamanho da entrada).

• Especificamente, O((log N)3), o que mostra que o problema da fatoração pode ser eficientemente resolvido em um computador quântico e está portanto na classe de complexidade BQP.

• Isso é exponencialmente mais rápido que o algoritmo clássico mais eficiente que se conhece, to crivo de número de campo geral, que roda em tempo sub-exponencial —O(e1.9 (log N)1/3 (log log N)2/3).

• A eficiência se deve ao poder da transformada de Fourier quântica, e da exponenciação modular por elevação ao quadrado”. (Wikipédia)

Outros Problemas Computacionalmente Difíceis

• Problemas sobre reticulados: por exemplo, encontrar o vetor mais curto

• Problemas sobre códigos

• Problemas NP-Difíceis