erbase 2013 - criptografia moderna: matemática para a segurança digital

46
Criptografia Moderna: Matemática para a Segurança Digital Ruy J.G.B. de Queiroz Centro de Informática UFPE

Upload: ruy-de-queiroz

Post on 12-May-2015

2.038 views

Category:

Technology


7 download

DESCRIPTION

Um panorama da íntima relação entre a Teoria da Complexidade Computacional e a Teoria da Criptografia de Chave Pública, apresentando os principais pilares sobre os quais está montada a Criptografia Moderna.

TRANSCRIPT

Page 1: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

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

Ruy J.G.B. de Queiroz Centro de Informática

UFPE

Page 2: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

Bitcoin: Uma Cripto-Moeda

Page 3: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

História da Bitcoin (Wikipédia)

•  “Bitcoin é uma das primeiras implementações de um conceito chamado cripto-moeda.

•  Baseada nesse conceito, bitcoin está desenhada em torno da ideia de uma nova forma de dinheiro que usa criptografia para controlar sua criação e as transações, ao invés de ter que depender de autoridades centrais.”

Page 4: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

“Bitcoin: A Peer-to-Peer Electronic Cash System”

(2008)

•  “Uma versão puramente peer-to-peer de dinheiro eletrônico permitiria que pagamentos online fossem enviados diretamente de uma parte a outra sem passar por uma instituição financeira.

•  Assinaturas digitais propiciam parte da solução, mas os principais benefícios são perdidos se uma terceira parte confiável ainda for necessária para evitar o duplo-gasto.

•  Propomos uma solução ao problema do duplo-gasto usando uma rede peer-to-peer.”

Page 5: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

“À 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.)

Page 6: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

Steven Levy (Chief Tech writer, Newsweek)

Page 7: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital
Page 8: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

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)

Page 9: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

O que é Criptografia? Tradicionalmente: manter sigilo na comunicação

Alice e Bob conversam enquanto Eve tenta escutar

Alice Bob

Eve

Page 10: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

Alice envia mensagem a Bob

•  Quando Alice deseja enviar uma mensagem confidencial a Bob: •  Alice cifra a mensagem usando uma senha

•  Alice envia a mensagem cifrada pelo canal de comunicação (que pode ser escutado por Eve)

•  Ao receber a mensagem cifrada: •  Bob decifra a mensagem usando a mesma senha

•  Bob recupera a mensagem original em formato puro

Page 11: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

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)

Page 12: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

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.

Page 13: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

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

Page 14: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

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

Page 15: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

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

(New Directions in Cryptography, 1976)

Page 16: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

Whitfield Diffie Martin Hellman

Troca de Chaves

Assinaturas Digitais

Page 17: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

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

Page 18: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

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

Page 19: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

Bob

Alice

Chaves Públicas

Chave/Senha Pública

Page 20: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

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)

Page 21: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

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!

Page 22: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

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.)

Page 23: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

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.

Page 24: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

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.

Page 25: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

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.

Page 26: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

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

Page 27: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

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

Page 28: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

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

Page 29: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital
Page 30: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

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

Page 31: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

Rivest, Shamir & Adleman

Page 32: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

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

Page 33: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

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)

Page 34: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

Outros Problemas Computacionalmente Difíceis

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

•  Problemas sobre códigos

•  Problemas NP-Difíceis

Page 35: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

Dave Bacon (2003)

•  “Demonstramos que um computador quântico que tenha acesso a “curva temporal fechada” qubits pode resolver problemas NP-completos com apenas um número polinomial de portas quânticas.”

(Physical Review A, 2004)

Page 36: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

Objetivos da “Criptografia Pós-Quântica”

•  Desenvolver criptossistemas baseados em problemas demonstravelmente intratáveis (pelo menos em computadores quânticos).

•  Avaliar a segurança e a usabilidade na prática.

•  Quantificar a complexidade quântica das hipóteses de intratabilidade.

Page 37: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

Problemas Computacionais

•  P: solúveis em tempo polinomial determinístico.

•  NP: solúveis em tempo polinomial não-determinístico (ou checáveis em tempo polinomial).

•  PSPACE: solúveis em espaço polinomial.

•  BQP: solúveis por um computador quântico em tempo polinomial, com uma probabilidade de erro de no máximo 1/3 para todas as instâncias. (Trata-se do análogo quântico da classe de complexidade BPP.)

Page 38: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

Relação entre Classes de Complexidade

Sabe-se que

•  P ⊆ NP ⊆ PSPACE

•  P ⊆ NP ⊆ BQP

•  BPP ⊆ BQP

Page 39: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

Criptossistemas Mais Utilizados

•  Fatoração Inteira –IFP: RSA.

•  Logaritmo Discreto e Problema de Diffie-Hellman –DLP, CDHP, DDHP, BDHP, …: (EC)DSA, (EC)DH, criptossistemas baseados em emparelhamentos (curvas elípticas).

•  Tais hipóteses de intratabilidade (e várias outras) se reduzem à intratabilidade do “Problema do Subgrupo Escondido”(Hidden Subgroup Problem–HSP).

Page 40: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

Problema do Subgrupo Escondido

Seja G um grupo, H ≤ G, e f uma função sobre G. Dizemos que f separa co-conjuntos H se f(u) = f(v) ⇔ uH = vH, ∀u, v∈G.

•  Problema do Subgrupo Escondido (HSP):

•  Seja A um oráculo para computar uma função que separa co-conjuntos de um subgrupo H ⊂ G. Encontre um conjunto gerador para H usando a informação obtida de A.

Casos especiais importantes:

•  Hidden Abelian Subgroup Problem (HASP)

•  Hidden Dihedral Subgroup Problem (HDSP)

Page 41: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

Computação Quântica

•  Algoritmos quânticos podem resolver casos particulares do problema HASP (incluindo Fatoração e Logaritmo Discreto) em tempo polinomial aleatório (i.e., classe de complexidade R).

Page 42: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

Soluções de Segurança Criptográfica

Criptografia puramente quântica:

•  Quais esquemas estão disponíveis?

•  Migração?

Alternativas clássicas:

•  Se BQP⊂NP, então sistemas baseados em problemas que não pertencem a BQP (“post-quantum”).

Page 43: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

Criptossistemas Pós-Quânticos

•  Grupos Não-Abelianos •  Equivalentes (sobretudo baseados em conjugação) de esquemas DL

sobre grupos de tranças, grupos hiperbólicos, …

•  Redução de Reticulados •  Ajtai-Dwork, GGH, LWE, NTRU, ...

•  Teoria dos Códigos •  McEliece, Niederreiter, CFS, ...

•  Assinaturas de Merkle

•  Outros sistemas: •  Núcleos Permutados e Perceptrons, Sistemas Quadráticos

Multivariados, Equações Lineares com Restrições...

Page 44: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

E se NP⊂BQP?

•  Mesmo se P= NP, problemas NP-difíceis que não pertencem a NP poderiam permanecer intratáveis.

•  Em todo caso, poderia haver problemas teoricamente infactíveis (estritamente exponenciais) que sejam tratáveis na prática.

•  Se nada der certo, tente usar problemas de decisão não-recursivos, tornando os criptossistemas seguros contra atacantes computacionalmente ilimitados! (Myasnikov-Shpilrain-Ushakov2006)

Page 45: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

Criptografia e Segurança

Criptografia

•  é •  uma tremenda ferramenta •  a base para muitos mecanismos de segurança

•  não é •  a solução para todos os problemas de segurança •  confiável a menos que implementada corretamente •  confiável a menos que usada corretamente

Page 46: ERBASE 2013 - Criptografia Moderna: Matemática para a Segurança Digital

Má Implementação

“Here Come The + Ninjas”

Thai Duong Juliano Rizzo

May 13, 2011

Abstract

Este artigo introduz um ataque rápido bloco-a-bloco de purotexto-escolhido contra SSL 3.0 e TLS 1.0. Também descrevemos uma aplicação do ataque que permite um atacante decriptar eficientemente e obter tokens de autenticação embutidos em solicitações HTTPS. Os exploits resultantes funcionam nos principais web browsers no momento em que escrevemos o artigo.