You are on page 1of 63

INF712 Gerncia de Segurana da Informao

Conceitos bsicos de Criptografia Computacional


Prof. Ricardo Dahab IC-UNICAMP 14/12/2002

Fontes principais
Livros

Cryptography and Network Security, Principles and Practice, de William


Stallings. Captulo 1 do Handbook of Applied Cryptography, de Menezes, van Oorschot e Vanstone. (.ps, .pdf).
INF712 - Gerncia de Segurana da Informao

14/12/2002

Criptografia e mecanismos de segurana

Vrios mecanismos so empregados para prover servios de segurana. Quase todos so baseados em ferramentas criptogrficas:
Primitivas Protocolos criptogrficos de vrios nveis de complexidade.

14/12/2002

INF712 - Gerncia de Segurana da Informao

Qual criptografia?

Clssica X Moderna

Convencional, simtrica ou de chave secreta X Moderna, assimtrica ou de chave pblica


INF712 - Gerncia de Segurana da Informao 4

14/12/2002

Criptografia Convencional

Tcnicas clssicas
Tcnicas modernas

Algoritmos modernos
Sigilo e autenticao com criptografia convencional, ou simtrica.

14/12/2002

INF712 - Gerncia de Segurana da Informao

Criptografia Convencional

O modelo convencional de ciframento pressupe a existncia de uma chave previamente combinada entre as duas partes em comunicao. Esse segredo autentica uma parte perante a outra. Esse tipo de criptossistema, tambm chamado de simtrico ou de chave secreta, perdurou at meados da dcada de 70.
INF712 - Gerncia de Segurana da Informao 6

14/12/2002

Criptografia Convencional
Categorias dos sistemas convencionais: Tipo de operao no texto claro: substituio e/ou transposio. Interao entre chave e texto:
blocos: diviso do texto em blocos e reaplicao do algoritmo em cada bloco; fluxo: texto combinado com chave bit a bit.

No confundir com esteganografia.


14/12/2002 INF712 - Gerncia de Segurana da Informao 7

Criptoanlise

Descoberta total ou parcial da chave e/ou texto claro por mtodos sistemticos.
Formas de ataque <T2.1> so classificadas de acordo com o nvel de conhecimento a que o criptoanalista tem acesso.
INF712 - Gerncia de Segurana da Informao 8

14/12/2002

Criptoanlise
Segurana de um criptossistema:
incondicional: poder computacional do criptoanalista irrelevante; computacional: poder computacional irrelevante na prtica, num horizonte de tempo predizvel; comprovada: poder computacional irrelevante no presente mas nada se pode dizer do futuro. Busca exaustiva <T2.2> a opo fcil, na prtica.
14/12/2002 INF712 - Gerncia de Segurana da Informao 9

Tcnicas clssicas

Substituio:
Monoalfabtica: um caractere por outro de acordo com uma tabela (chave). Ex: Csar. Mantm a freqncia relativa dos caracteres. Monogrupos: grupos de caracteres por outros grupos fixos de caracteres. Ex: Playfair, Hill. Polialfabtica: monoalfabtica variando ao longo <T2.4> do texto claro.

14/12/2002

INF712 - Gerncia de Segurana da Informao

10

Tcnicas clssicas

Transposio:
Embaralhamento dos caracteres de acordo com alguma tabela (chave).

Causam um efeito de disperso no texto claro. Os mtodos de substituio causam um efeito de confuso no texto.
INF712 - Gerncia de Segurana da Informao 11

14/12/2002

Tcnicas clssicas

Produtos: substituio e transposio.


Mquinas com rotores implementavam essa idia. Algoritmos modernos refinaram e multiplicaram o poder de tais mquinas, implementadas em computadores.
INF712 - Gerncia de Segurana da Informao 12

14/12/2002

Tcnicas Modernas

Tcnicas clssicas so inseguras porque no supunham a existncia de computadores em mos de criptoanalistas. O primeiro mtodo moderno foi proposto em meados da dcada de 70, o conhecido D.E.S.
INF712 - Gerncia de Segurana da Informao 13

14/12/2002

O D.E.S.

D.E.S (Data Encryption Standard), foi o mtodo oficial do governo dos E.U.A. para ciframento de informao no sensvel, at muito pouco tempo. Ainda muito usado em toda a Internet, em sua forma mais fortalecida, o 3-DES.
INF712 - Gerncia de Segurana da Informao 14

14/12/2002

O D.E.S.

Processa blocos de texto de 64 bits cada vez, sob a ao de uma chave de 56 bits, produzindo 64 bits de texto cifrado. composto de 16 rodadas de produtos de transposies e substituies, cada uma usando uma poro diferente da chave. O efeito avalanche <T3.5> garante que qualquer mudana no texto claro ou chave cause mudana de metade do texto cifrado.
INF712 - Gerncia de Segurana da Informao 15

14/12/2002

O D.E.S.

Critrios de projeto do D.E.S. no foram totalmente revelados pelos desenvolvedores (originalmente um projeto da IBM). Isso causou, por anos, desconfiana de que o algoritmo contivesse armadilhas secretas que permitiriam comunidade de informao acesso a mensagens cifradas dos usurios.
INF712 - Gerncia de Segurana da Informao 16

14/12/2002

Cifras de bloco
Modos de operao <T3.6>: ECB (Electronic Codebook) CBC (Cipher Block Chaining) CFB (Cipher Feedback) OFB (Output Feedback) Cada um tem suas vantagens do ponto de vista de propagao e recuperao de erros, localidade, etc.
14/12/2002 INF712 - Gerncia de Segurana da Informao 17

Outros algoritmos simtricos modernos

Triple D.E.S (3-DES)


Modo preferido de uso do D.E.S. Pode ser usado com uma, duas ou trs chaves. S efetivo porque o D.E.S. no um grupo algbrico. Passvel de ataques quando duas chaves so usadas.

14/12/2002

INF712 - Gerncia de Segurana da Informao

18

O mundo ps-D.E.S.

IDEA (International Data Encryption Algortihm) Blowfish, RC-5, um sem-nmero de outros... ...e o novo padro A.E.S. (Advanced Encrytpion Standard), resultado de um concurso pblico de 4 anos.
INF712 - Gerncia de Segurana da Informao 19

14/12/2002

Usando ciframento simtrico

Pontos de vulnerabilidade so muitos. H duas possibilidades de insero das funes de ciframento numa rede: nos links ou nas pontas. Diferentes caractersticas <T5.1>. Veja detalhes de um exemplo usando uma aplicao tpica de e-mail. Veja os detalhes nos pacotes.
INF712 - Gerncia de Segurana da Informao 20

14/12/2002

Distribuio de chaves

O problema de distribuir e gerenciar chaves criptogrficas num ambiente de rede no trivial. necessria uma hierarquizao do processo. Veja um protocolo centralizado de distribuio de chaves. E agora um protocolo descentralizado.
INF712 - Gerncia de Segurana da Informao 21

14/12/2002

Criptografia de chave pblica


Tpicos: Conceitos bsicos e exemplos. A matemtica necessria. Autenticao e o papel das funes de resumo (hashing) criptogrfico. Algoritmos de resumo criptogrfico. Assinaturas digitais.
14/12/2002 INF712 - Gerncia de Segurana da Informao 22

Criptografia de chave pblica conceitos bsicos

Criptografia simtrica no resolve um problema bsico: o estabelecimento seguro da chave secreta entre as duas partes comunicantes. Outra deficincia desses sistemas a incapacidade das partes de demonstrar a autoria de uma mensagem a uma terceira parte. Um mecanismo equivalente a assinaturas poderia suprir essa deficincia.
INF712 - Gerncia de Segurana da Informao 23

14/12/2002

Criptografia de chave pblica - conceitos bsicos

A criptografia de chave pblica tem resposta a esses dois problemas.


Os princpios bsicos dessa tecnologia foram propostos em meados da dcada de 70 por Whitfield Diffie e Martin Hellman no artigo New directions in Cryptography, que tornou-se um marco na histria da criptografia moderna.
INF712 - Gerncia de Segurana da Informao 24

14/12/2002

Contribuies de Diffie e Hellman

Um mtodo para estabelecimento de uma chave secreta usando um canal inseguro.


A idia de que poderiam existir sistemas criptogrficos onde cada parte A teria duas chaves distintas: uma pblica, para ciframento de mensagens para A; outra, privada, de conhecimento exclusivo de A, para deciframento de tais mensagens.
INF712 - Gerncia de Segurana da Informao 25

14/12/2002

Criptossistemas de chave pblica

A primeira idia ficou conhecida como mtodo Diffie-Hellman para troca de chaves. Veremos detalhes adiante. A segunda idia s se materializou como um criptossistema de fato alguns meses depois. O conhecido RSA foi o primeiro desses sistemas.
INF712 - Gerncia de Segurana da Informao 26

14/12/2002

Criptossistemas de chave pblica

Para que um sistema de chave pblica seja efetivo, necessrio que:


a funo de ciframento seja difcil de inverter; seja muito difcil descobrir a chave privada, apesar do conhecimento da chave pblica.

14/12/2002

INF712 - Gerncia de Segurana da Informao

27

Sistemas de chave pblica x chave secreta

Sistemas de chave pblica so chamados de assimtricos, j que o dono do par de chaves sendo usadas numa comunicao tem controle da situao. Sistemas assimtricos poderiam substituir completamente sistemas simtricos, no fosse por dois aspectos importantes: eficincia e obteno segura da chave pblica.
INF712 - Gerncia de Segurana da Informao 28

14/12/2002

Sistemas de chave pblica x chave secreta

Na prtica, sistemas de chave pblica so usados para estabelecer chaves secretas de um sistema simtrico. Isso combina a flexibilidade dos sistemas assimtricos com a eficincia dos sistemas simtricos. Veja outras diferenas (Tab. 6.1)
INF712 - Gerncia de Segurana da Informao 29

14/12/2002

Assinaturas Digitais

Talvez a contribuio mais surpreendente das idias de Diffie-Hellman seja a possibilidade de se fazer assinaturas digitais. A posse da chave privada por apenas uma pessoa, seu dono, tambm o identifica unicamente; p. ex., se for possvel demonstrar que a confeco de uma mensagem exigiu o uso da chave privada, temos o efeito de uma assinatura digital sobre aquela mensagem. Essa demonstrao feita utilizando-se a chave pblica, que a face pblica da chave privada.
INF712 - Gerncia de Segurana da Informao 30

14/12/2002

Um exemplo - O R.S.A.

Proposto por R. Rivest, A. Shamir e L. Adleman em 1977, foi o primeiro criptossistema de chave pblica e permanece at hoje o mais popular. Baseia sua fora na dificuldade de se encontrar a fatorao de nmeros inteiros muito grandes. Aqui est o RSA e um exemplo.
INF712 - Gerncia de Segurana da Informao 31

14/12/2002

O R.S.A. - implementao
Ciframento e deciframento: para garantir um nvel razovel de segurana, os primos p e q devem ter cerca de 300 a 400 dgitos decimais. Operaes de exponenciao e mod so eficientes. Veja um algoritmo de exponenciao modular rpido.
14/12/2002 INF712 - Gerncia de Segurana da Informao 32

O R.S.A. - implementao
Gerao de chaves:

Algoritmos para gerao de nmeros primos so probabilsticos j que, s vezes, mentem. Mas possvel determinar se um dado nmero primo ou no com boa dose de certeza. Inversos multiplicativos modulares so clculveis eficientemente, usando o algoritmo estendido de Euclides.
INF712 - Gerncia de Segurana da Informao 33

14/12/2002

O R.S.A. - segurana

C = M mod n, isto , dados C, e, n, obter M uma tarefa


computacionalmente difcil quando n tem 300 ou mais dgitos. No difcil verificar que se o criptoanalista conhecer os nmeros p, q, ento fcil obter d e portanto M facilmente.
INF712 - Gerncia de Segurana da Informao

A segurana do R.S.A. baseia-se no fato de que inverter a funo


e

14/12/2002

34

O R.S.A. - segurana

Assim, a fora do RSA reside tambm num segundo pilar: difcil obter os primos p, q a partir de n, isto , a fatorao de n, quando n tem 300 dgitos ou mais. Os melhores algoritmos para fatorao vm melhorando seu desempenho (Tab 6.3). J se fala que 300 dgitos pouco e h quem advogue o uso de 600 dgitos para se ter um horizonte razovel de segurana.
INF712 - Gerncia de Segurana da Informao 35

14/12/2002

O R.S.A. - segurana

possvel pensar em formas alternativas de ataques, isto , tentar descobrir a chave privada d por outros meios. Veja, por exemplo, que, dado o valor de f(n), ento fcil descobrir o valor da chave d.
INF712 - Gerncia de Segurana da Informao 36

14/12/2002

O R.S.A. - segurana

Por outro lado, possvel demonstrar matematicamente que as seguintes trs possibilidades so equivalentes; isto , dada uma possvel realizar as outras duas:
Encontrar a fatorao de n. Encontrar o valor de f(n). Encontrar o valor da chave d.

Mas, descobrir M a partir de C, e, n, pode ser mais fcil. Ningum sabe dizer...
INF712 - Gerncia de Segurana da Informao 37

14/12/2002

Autenticidade de chaves pblicas.

Se, por um lado, chaves pblicas so fceis de obter, so tambm fceis de manipular e fraudar. muito importante que o remetente de uma mensagem tenha certeza da identidade do destinatrio e de que uma chave pblica seja de fato daquele destinatrio. Caso contrrio...
INF712 - Gerncia de Segurana da Informao 38

14/12/2002

Autenticidade de chaves pblicas

H vrias formas de se vincular a identidade de uma entidade a uma chave pblica:


Broadcast individual de chaves. Disponibilizao em diretrios pblicos. Autoridades de distribuio de chaves. Certificados e autoridades certificadoras.

14/12/2002

INF712 - Gerncia de Segurana da Informao

39

Estabelecimento de chaves secretas

Como j vimos, possvel estabelecer uma chave secreta entre duas partes usando chaves pblicas. Eis outro protocolo, um pouco mais elaborado. H porm, a idia original de Diffie e Hellman que dispensa o uso de chaves pblicas.
INF712 - Gerncia de Segurana da Informao 40

14/12/2002

O mtodo Diffie-Hellman

Baseia-se na dificuldade de se inverter uma outra funo, similar do R.S.A. Dados um primo p e nmeros x e y para os quais existe k tal que y = xk mod p, descubra o valor do inteiro k. o problema do logaritmo discreto.
INF712 - Gerncia de Segurana da Informao 41

14/12/2002

O mtodo Diffie-Hellman
Suponha a existncia de parmetros pblicos p e g. Entidade A(lice), escolhe um aleatrio a e envia MA = ga mod p para a entidade B(eto). Beto faz o mesmo e envia para Alice MB = gb mod p. Alice calcula (MB)a mod p = gba mod p. b Beto calcula (MA) mod p = gab mod p.

14/12/2002 INF712 - Gerncia de Segurana da Informao 42

O mtodo Diffie-Hellman

seguro mas passvel de um ataque de um intermedirio. H tcnicas para evitar esse ataque.

14/12/2002

INF712 - Gerncia de Segurana da Informao

43

Outros mtodos de chave pblica

Curvas elpticas so o maior concorrente do R.S.A. atualmente. Maior vantagem est no tamanho reduzido dos parmetros para o mesmo nvel de segurana, quando comparado (Tab. 6.5) com o R.S.A.

14/12/2002

INF712 - Gerncia de Segurana da Informao

44

Autenticao e Hashing
Tpicos: A necessidade de autenticao Funes para provimento de autenticao:
Ciframento Cdigos de autenticao (MACs e MDCs) Assinaturas digitais. Funes de hashing com propriedades criptogrficas.
INF712 - Gerncia de Segurana da Informao 45

14/12/2002

A necessidade de autenticao

Autenticao (da origem e do contedo) de mensagens um conjunto de tcnicas fundamentais para proteo contra:
personificao da autoria de uma mensagem modificao acidental ou no de uma mensagem modificao na ordem de uma seqncia de mensagens atraso ou re-envio de mensagens repdio da autoria de uma mensagem

14/12/2002

INF712 - Gerncia de Segurana da Informao

46

Tcnicas para autenticao

So quatro as tcnicas criptogrficas empregadas em autenticao:


Ciframento MACs (Message Authentication Codes) MDCs (Manipulation Detection Codes) Assinaturas Digitais

Assinaturas digitais so as nicas que provem proteo contra repdio de autoria. Veremos essas tcnicas a seguir.
INF712 - Gerncia de Segurana da Informao 47

14/12/2002

Autenticao com ciframento

Ciframento simtrico (Fig. 8.1 (a)) prov autenticao mtua de duas partes em comunicao, desde que se saiba o que se espera do resultado de um deciframento. De qualquer forma, sabendo ou no, til adicionar um controle de erros s mensagens cifradas. Alm da deteco de erros, essa tcnica verifica o deciframento correto de mensagens sem redundncia.
INF712 - Gerncia de Segurana da Informao 48

14/12/2002

Autenticao com MACs

Um MAC (Message Authentication Code) de uma mensagem M o resultado do clculo de uma funo de mo nica Ck (M), onde M a mensagem em questo e k uma informao secreta, conhecida somente pelas duas partes em comunicao. Uma parte envia M e seu MAC. A outra parte recalcula o MAC e aceita M se o valor obtido igual ao MAC recebido. Veja Fig. 8.4 (a).
INF712 - Gerncia de Segurana da Informao 49

14/12/2002

Autenticao com MACs

Exceto pelo fato de que a mensagem passa em claro, a tcnica de MACs parecida com a de ciframento simtrico, para esse fim. De fato, possvel usar uma funo de ciframento no papel de Ck( ). Na prtica, usa-se uma funo de hash com propriedades criptogrficas; a forma de combinar M e k segue a RFC 2104 e a funo resultante chamada de HMAC. Discutiremos tais funes mais adiante.
INF712 - Gerncia de Segurana da Informao 50

14/12/2002

Autenticao com MDCs

Um MDC (Manipulation Detection Code) de uma mensagem M o resultado do clculo de uma funo de mo nica C (M), onde M a mensagem em questo. Uma parte envia M e seu MDC. A outra parte recalcula o MDC e aceita M se o valor obtido igual ao MDC recebido. Veja Fig. 8.5 (a). Veja que, alm de ser de mo nica, a funo C( ) deve ser resistente a colises. Esses dois so atributos de funes de hash, ou resumo criptogrfico.
INF712 - Gerncia de Segurana da Informao 51

14/12/2002

Autenticao com MDCs

A tcnica vista na transparncia anterior no prov autenticao mtua, j que qualquer terceira parte pode produzir o MDC de uma mensagem. H outros usos de funes de resumo criptogrfico ilustrados em Fig. 8.5ac e Fig. 8.5c-d e explicados na Tab. 8.3 de cada uma.
INF712 - Gerncia de Segurana da Informao 52

14/12/2002

Funes de resumo (hash) criptogrfico

Tm propriedades interessantes do ponto de vista criptogrfico:


podem ser aplicadas a mensagens de qualquer tamanho; a sada uma cadeia de tamanho fixo; h(M) fcil de calcular e muito difcil de inverter; tem resistncia a colises, forte e fraca.

14/12/2002

INF712 - Gerncia de Segurana da Informao

53

Funes de resumo criptogrfico populares

Trs funes de maior popularidade:


MD5 (RFC 1321): desenvolvida por Ron Rivest (do RSA). Produz uma sada de tamanho fixo, de 128 bits, a partir de entradas de tamanho arbitrrio. Em declnio. SHA-1 (FIPS PUB 180-1): desenvolvida pelo NIST. Produz sadas de 160 bits a partir de entradas de tamanho arbitrrio. Em uso crescente. RIPEMD-160: projeto europeu, sada de 160 bits, pouco usada entre ns. INF712 - Gerncia de Segurana 54
da Informao

14/12/2002

HMACs

Como j dissemos, a RFC 2104 especifica uma forma de combinar mensagem (M) e chave (k) para produzir um MAC. Veja a estrutura de um HMAC. Veja uma implementao eficiente de um HMAC.
INF712 - Gerncia de Segurana da Informao 55

14/12/2002

Assinaturas digitais

So, ao mesmo tempo, similares e diferentes das assinaturas usuais:


Devem revelar, sem engano, o autor, data e hora da assinatura; devem autenticar o contedo do que foi assinado, no momento da assinatura; devem ser verificveis, independentemente, por terceiras partes, sem cooperao do autor.

14/12/2002

INF712 - Gerncia de Segurana da Informao

56

Assinaturas digitais

Traduzindo em caractersticas concretas:


Deve ser uma cadeia de bits que depende do que est sendo assinado; deve usar alguma informao unicamente associvel ao autor; deve ser fcil de produzir; deve ser fcil de reconhecer e verificar; deve ser computacionalmente difcil de forjar; deve ser facilmente armazenvel.

14/12/2002

INF712 - Gerncia de Segurana da Informao

57

Assinaturas digitais

H dois esquemas bsicos:


Sem arbitragem: Somente o emitente e destinatrio de uma assinatura so suficientes para verificar assinaturas e resolver conflitos. Com arbitragem: Um rbitro confivel pode ser usado, para aumentar a robustez do esquema no-arbitrado.

14/12/2002

INF712 - Gerncia de Segurana da Informao

58

Assinaturas digitais

Sem arbitragem
Baseadas em criptografia assimtrica. Esquema bsico o da Fig. 8.1(c) ou sua verso mais eficiente, da Fig. 8.5(c) Ambos esquemas dependem da segurana da chave privada do autor da assinatura: seu sigilo, integridade e validao temporal.
INF712 - Gerncia de Segurana da Informao 59

14/12/2002

Assinaturas digitais

Com arbitragem
Baseadas em criptografia simtrica ou assimtrica. A idia geral que o rbitro abenoe cada assinatura produzida, emprestando sua credibilidade ao esquema. Veja exemplos (Tab. 10.1).

14/12/2002

INF712 - Gerncia de Segurana da Informao

60

Algoritmos para assinaturas digitais


Os algoritmos mais usados em esquemas de assinaturas digitais so o RSA e o DSS (Digital Signature Standard), baseado no mtodo de ElGamal, que por sua vez baseado no problema do logaritmo discreto.
14/12/2002 INF712 - Gerncia de Segurana da Informao 61

Algoritmos para assinaturas digitais

O paradigma do RSA diferente daquele do DSS. O DSS no possui a propriedade comutativa do RSA: se PA, RA so as chaves pblica e privada de A, ento D(RA, E(x, PA)) = E(PA, D(x, RA)), onde E e D so os algoritmos para ciframento e deciframento do RSA.
INF712 - Gerncia de Segurana da Informao 62

14/12/2002

Algoritmos para assinaturas digitais

Essa propriedade possibilita um esquema de assinatura como o ilustrado na Fig. 10.1(a). Em contraste, o DSS necessita de um esquema mais complicado. Veja primeiro a Fig. 10.1(b). Aps seguir em aula a descrio completa do mtodo, desde a escolha de chaves at a confeco e verificao de uma assinatura, veja ento um resumo do DSS na Fig. 10.3.
INF712 - Gerncia de Segurana da Informao 63

14/12/2002

You might also like