A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

INF712 – Gerência de Segurança da Informação

Apresentações semelhantes


Apresentação em tema: "INF712 – Gerência de Segurança da Informação"— Transcrição da apresentação:

1 INF712 – Gerência de Segurança da Informação
Conceitos básicos de Criptografia Computacional Prof. Ricardo Dahab IC-UNICAMP 14/12/2002

2 INF712 - Gerência de Segurança da Informação
Fontes principais Livros Cryptography and Network Security, Principles and Practice, de William Stallings. Capítulo 1 do Handbook of Applied Cryptography, de Menezes, van Oorschot e Vanstone. (.ps, .pdf). 14/12/2002 INF712 - Gerência de Segurança da Informação

3 Criptografia e mecanismos de segurança
Vários mecanismos são empregados para prover serviços de segurança. Quase todos são baseados em ferramentas criptográficas: Primitivas Protocolos criptográficos de vários níveis de complexidade. 14/12/2002 INF712 - Gerência de Segurança da Informação

4 Qual criptografia? Clássica X Moderna Convencional, simétrica
ou de chave secreta X Moderna, assimétrica ou de chave pública 14/12/2002 INF712 - Gerência de Segurança da Informação

5 Criptografia Convencional
Técnicas clássicas Técnicas modernas Algoritmos modernos Sigilo e autenticação com criptografia convencional, ou simétrica. 14/12/2002 INF712 - Gerência de Segurança da Informação

6 Criptografia Convencional
O modelo convencional de ciframento pressupõe a existência de uma chave previamente combinada entre as duas partes em comunicação. Esse segredo autentica uma parte perante a outra. Esse tipo de criptossistema, também chamado de simétrico ou de chave secreta, perdurou até meados da década de 70. 14/12/2002 INF712 - Gerência de Segurança da Informação

7 Criptografia Convencional
Categorias dos sistemas convencionais: Tipo de operação no texto claro: substituição e/ou transposição. Interação entre chave e texto: blocos: divisão do texto em blocos e reaplicação do algoritmo em cada bloco; fluxo: texto é combinado com chave bit a bit. Não confundir com esteganografia. 14/12/2002 INF712 - Gerência de Segurança da Informação

8 INF712 - Gerência de Segurança da Informação
Criptoanálise Descoberta total ou parcial da chave e/ou texto claro por métodos sistemáticos. Formas de ataque <T2.1> são classificadas de acordo com o nível de conhecimento a que o criptoanalista tem acesso. 14/12/2002 INF712 - Gerência de Segurança da Informação

9 INF712 - Gerência de Segurança da Informação
Criptoanálise Segurança de um criptossistema: incondicional: poder computacional do criptoanalista é irrelevante; computacional: poder computacional é irrelevante na prática, num horizonte de tempo predizível; comprovada: poder computacional é irrelevante no presente mas nada se pode dizer do futuro. Busca exaustiva <T2.2> é a opção “fácil”, na prática. 14/12/2002 INF712 - Gerência de Segurança da Informação

10 INF712 - Gerência de Segurança da Informação
Técnicas clássicas Substituição: Monoalfabética: um caractere por outro de acordo com uma tabela (chave). Ex: César. Mantém a freqüência relativa dos caracteres. Monogrupos: grupos de caracteres por outros grupos fixos de caracteres. Ex: Playfair, Hill. Polialfabética: monoalfabética variando ao longo <T2.4> do texto claro. 14/12/2002 INF712 - Gerência de Segurança da Informação

11 INF712 - Gerência de Segurança da Informação
Técnicas clássicas Transposição: Embaralhamento dos caracteres de acordo com alguma tabela (chave). Causam um efeito de dispersão no texto claro. Os métodos de substituição causam um efeito de confusão no texto. 14/12/2002 INF712 - Gerência de Segurança da Informação

12 INF712 - Gerência de Segurança da Informação
Técnicas clássicas Produtos: substituição e transposição. Máquinas com rotores implementavam essa idéia. Algoritmos modernos refinaram e multiplicaram o poder de tais máquinas, implementadas em computadores. 14/12/2002 INF712 - Gerência de Segurança da Informação

13 INF712 - Gerência de Segurança da Informação
Técnicas Modernas Técnicas clássicas são inseguras porque não supunham a existência de computadores em mãos de criptoanalistas. O primeiro método moderno foi proposto em meados da década de 70, o conhecido D.E.S. 14/12/2002 INF712 - Gerência de Segurança da Informação

14 INF712 - Gerência de Segurança da Informação
O D.E.S. D.E.S (Data Encryption Standard), foi o método oficial do governo dos E.U.A. para ciframento de informação não “sensível”, até muito pouco tempo. Ainda é muito usado em toda a Internet, em sua forma mais fortalecida, o 3-DES. 14/12/2002 INF712 - Gerência de Segurança da Informação

15 INF712 - Gerência de Segurança da Informação
O D.E.S. Processa blocos de texto de 64 bits cada vez, sob a ação de uma chave de 56 bits, produzindo 64 bits de texto cifrado. É composto de 16 rodadas de produtos de transposições e substituições, cada uma usando uma porção diferente da chave. O efeito avalanche <T3.5> garante que qualquer mudança no texto claro ou chave cause mudança de metade do texto cifrado. 14/12/2002 INF712 - Gerência de Segurança da Informação

16 INF712 - Gerência de Segurança da Informação
O D.E.S. Critérios de projeto do D.E.S. não foram totalmente revelados pelos desenvolvedores (originalmente um projeto da IBM). Isso causou, por anos, desconfiança de que o algoritmo contivesse armadilhas secretas que permitiriam à comunidade de informação acesso a mensagens cifradas dos usuários. 14/12/2002 INF712 - Gerência de Segurança da Informação

17 INF712 - Gerência de Segurança da Informação
Cifras de bloco Modos de operação <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 propagação e recuperação de erros, localidade, etc. 14/12/2002 INF712 - Gerência de Segurança da Informação

18 Outros algoritmos simétricos modernos
Triple D.E.S (3-DES) Modo preferido de uso do D.E.S. Pode ser usado com uma, duas ou três chaves. Só é efetivo porque o D.E.S. não é um grupo algébrico. Passível de ataques quando duas chaves são usadas. 14/12/2002 INF712 - Gerência de Segurança da Informação

19 INF712 - Gerência de Segurança da Informação
O mundo pós-D.E.S. IDEA (International Data Encryption Algortihm) Blowfish, RC-5, um sem-número de outros... ...e o novo padrão A.E.S. (Advanced Encrytpion Standard), resultado de um concurso público de 4 anos. 14/12/2002 INF712 - Gerência de Segurança da Informação

20 Usando ciframento simétrico
Pontos de vulnerabilidade são muitos. Há duas possibilidades de inserção das funções de ciframento numa rede: nos links ou nas pontas. Diferentes características <T5.1>. Veja detalhes de um exemplo usando uma aplicação típica de . Veja os detalhes nos pacotes. 14/12/2002 INF712 - Gerência de Segurança da Informação

21 Distribuição de chaves
O problema de distribuir e gerenciar chaves criptográficas num ambiente de rede não é trivial. É necessária uma hierarquização do processo. Veja um protocolo centralizado de distribuição de chaves. E agora um protocolo descentralizado. 14/12/2002 INF712 - Gerência de Segurança da Informação

22 Criptografia de chave pública
Tópicos: Conceitos básicos e exemplos. A matemática necessária. Autenticação e o papel das funções de resumo (hashing) criptográfico. Algoritmos de resumo criptográfico. Assinaturas digitais. 14/12/2002 INF712 - Gerência de Segurança da Informação

23 Criptografia de chave pública - conceitos básicos -
Criptografia simétrica não resolve um problema básico: o estabelecimento seguro da chave secreta entre as duas partes comunicantes. Outra deficiência 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 deficiência. 14/12/2002 INF712 - Gerência de Segurança da Informação

24 Criptografia de chave pública - conceitos básicos -
A criptografia de chave pública tem resposta a esses dois problemas. Os princípios básicos dessa tecnologia foram propostos em meados da década de 70 por Whitfield Diffie e Martin Hellman no artigo “New directions in Cryptography”, que tornou-se um marco na história da criptografia moderna. 14/12/2002 INF712 - Gerência de Segurança da Informação

25 Contribuições de Diffie e Hellman
Um método para estabelecimento de uma chave secreta usando um canal inseguro. A idéia de que poderiam existir sistemas criptográficos onde cada parte A teria duas chaves distintas: uma pública, para ciframento de mensagens para A; outra, privada, de conhecimento exclusivo de A, para deciframento de tais mensagens. 14/12/2002 INF712 - Gerência de Segurança da Informação

26 Criptossistemas de chave pública
A primeira idéia ficou conhecida como método Diffie-Hellman para troca de chaves. Veremos detalhes adiante. A segunda idéia só se materializou como um criptossistema de fato alguns meses depois. O conhecido RSA foi o primeiro desses sistemas. 14/12/2002 INF712 - Gerência de Segurança da Informação

27 Criptossistemas de chave pública
Para que um sistema de chave pública seja efetivo, é necessário que: a função de ciframento seja difícil de inverter; seja muito difícil descobrir a chave privada, apesar do conhecimento da chave pública. 14/12/2002 INF712 - Gerência de Segurança da Informação

28 Sistemas de chave pública x chave secreta
Sistemas de chave pública são chamados de assimétricos, já que o “dono” do par de chaves sendo usadas numa comunicação tem controle da situação. Sistemas assimétricos poderiam substituir completamente sistemas simétricos, não fosse por dois aspectos importantes: eficiência e obtenção segura da chave pública. 14/12/2002 INF712 - Gerência de Segurança da Informação

29 Sistemas de chave pública x chave secreta
Na prática, sistemas de chave pública são usados para estabelecer chaves secretas de um sistema simétrico. Isso combina a flexibilidade dos sistemas assimétricos com a eficiência dos sistemas simétricos. Veja outras diferenças (Tab. 6.1) 14/12/2002 INF712 - Gerência de Segurança da Informação

30 INF712 - Gerência de Segurança da Informação
Assinaturas Digitais Talvez a contribuição mais surpreendente das idéias de Diffie-Hellman seja a possibilidade de se fazer assinaturas digitais. A posse da chave privada por apenas uma pessoa, seu “dono”, também o identifica unicamente; p. ex., se for possível demonstrar que a confecção de uma mensagem exigiu o uso da chave privada, temos o efeito de uma assinatura digital sobre aquela mensagem. Essa demonstração é feita utilizando-se a chave pública, que é a “face” pública da chave privada. 14/12/2002 INF712 - Gerência de Segurança da Informação

31 INF712 - Gerência de Segurança da Informação
Um exemplo - O R.S.A. Proposto por R. Rivest, A. Shamir e L. Adleman em 1977, foi o primeiro criptossistema de chave pública e permanece até hoje o mais popular. Baseia sua força na dificuldade de se encontrar a fatoração de números inteiros muito grandes. Aqui está o RSA e um exemplo. 14/12/2002 INF712 - Gerência de Segurança da Informação

32 INF712 - Gerência de Segurança da Informação
O R.S.A. - implementação Ciframento e deciframento: para garantir um nível razoável de segurança, os primos p e q devem ter cerca de 300 a 400 dígitos decimais. Operações de exponenciação e mod são eficientes. Veja um algoritmo de exponenciação modular rápido. 14/12/2002 INF712 - Gerência de Segurança da Informação

33 INF712 - Gerência de Segurança da Informação
O R.S.A. - implementação Geração de chaves: Algoritmos para geração de números primos são probabilísticos já que, às vezes, mentem. Mas é possível determinar se um dado número é primo ou não com boa dose de certeza. Inversos multiplicativos modulares são cálculáveis eficientemente, usando o algoritmo estendido de Euclides. 14/12/2002 INF712 - Gerência de Segurança da Informação

34 INF712 - Gerência de Segurança da Informação
O R.S.A. - segurança A segurança do R.S.A. baseia-se no fato de que inverter a função C = Me mod n, isto é, dados C, e, n, obter M é uma tarefa computacionalmente difícil quando n tem 300 ou mais dígitos. Não é difícil verificar que se o cripto analista conhecer os números p, q, então é fácil obter d e portanto M facilmente. 14/12/2002 INF712 - Gerência de Segurança da Informação

35 INF712 - Gerência de Segurança da Informação
O R.S.A. - segurança Assim, a “força” do RSA reside também num segundo pilar: é difícil obter os primos p, q a partir de n, isto é, a fatoração de n, quando n tem 300 dígitos ou mais. Os melhores algoritmos para fatoração vêm melhorando seu desempenho (Tab 6.3). Já se fala que 300 dígitos é pouco e há quem advogue o uso de 600 dígitos para se ter um horizonte razoável de segurança. 14/12/2002 INF712 - Gerência de Segurança da Informação

36 INF712 - Gerência de Segurança da Informação
O R.S.A. - segurança É possível 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), então é fácil descobrir o valor da chave d. 14/12/2002 INF712 - Gerência de Segurança da Informação

37 INF712 - Gerência de Segurança da Informação
O R.S.A. - segurança Por outro lado, é possível demonstrar matematicamente que as seguintes três possibilidades são equivalentes; isto é, dada uma é possível realizar as outras duas: Encontrar a fatoração 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 fácil. Ninguém sabe dizer... 14/12/2002 INF712 - Gerência de Segurança da Informação

38 Autenticidade de chaves públicas.
Se, por um lado, chaves públicas são fáceis de obter, são também fáceis de manipular e fraudar. É muito importante que o remetente de uma mensagem tenha certeza da identidade do destinatário e de que uma chave pública seja de fato daquele destinatário. Caso contrário... 14/12/2002 INF712 - Gerência de Segurança da Informação

39 Autenticidade de chaves públicas
Há várias formas de se vincular a identidade de uma entidade a uma chave pública: “Broadcast” individual de chaves. Disponibilização em diretórios públicos. Autoridades de distribuição de chaves. Certificados e autoridades certificadoras. 14/12/2002 INF712 - Gerência de Segurança da Informação

40 Estabelecimento de chaves secretas
Como já vimos, é possível estabelecer uma chave secreta entre duas partes usando chaves públicas. Eis outro protocolo, um pouco mais elaborado. Há porém, a idéia original de Diffie e Hellman que dispensa o uso de chaves públicas. 14/12/2002 INF712 - Gerência de Segurança da Informação

41 O método Diffie-Hellman
Baseia-se na dificuldade de se inverter uma outra função, similar à do R.S.A. Dados um primo p e números 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. 14/12/2002 INF712 - Gerência de Segurança da Informação

42 O método Diffie-Hellman
Suponha a existência de parâmetros públicos p e g. Entidade A(lice), escolhe um aleatório 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. Beto calcula (MA)b mod p = gab mod p. 14/12/2002 INF712 - Gerência de Segurança da Informação

43 O método Diffie-Hellman
É seguro mas passível de um ataque de um intermediário. Há técnicas para evitar esse ataque. 14/12/2002 INF712 - Gerência de Segurança da Informação

44 Outros métodos de chave pública
Curvas elípticas são o maior concorrente do R.S.A. atualmente. Maior vantagem está no tamanho reduzido dos parâmetros para o mesmo nível de segurança, quando comparado (Tab. 6.5) com o R.S.A. 14/12/2002 INF712 - Gerência de Segurança da Informação

45 Autenticação e Hashing
Tópicos: A necessidade de autenticação Funções para provimento de autenticação: Ciframento Códigos de autenticação (MACs e MDCs) Assinaturas digitais. Funções de hashing com propriedades criptográficas. 14/12/2002 INF712 - Gerência de Segurança da Informação

46 A necessidade de autenticação
Autenticação (da origem e do conteúdo) de mensagens é um conjunto de técnicas fundamentais para proteção contra: personificação da autoria de uma mensagem modificação acidental ou não de uma mensagem modificação na ordem de uma seqüência de mensagens atraso ou re-envio de mensagens repúdio da autoria de uma mensagem 14/12/2002 INF712 - Gerência de Segurança da Informação

47 Técnicas para autenticação
São quatro as técnicas criptográficas empregadas em autenticação: Ciframento MACs (Message Authentication Codes) MDCs (Manipulation Detection Codes) Assinaturas Digitais Assinaturas digitais são as únicas que provêem proteção contra repúdio de autoria. Veremos essas técnicas a seguir. 14/12/2002 INF712 - Gerência de Segurança da Informação

48 Autenticação com ciframento
Ciframento simétrico (Fig. 8.1 (a)) provê autenticação mútua de duas partes em comunicação, desde que se saiba o que se espera do resultado de um deciframento. De qualquer forma, sabendo ou não, é útil adicionar um controle de erros às mensagens cifradas. Além da detecção de erros, essa técnica verifica o deciframento correto de mensagens sem redundância. 14/12/2002 INF712 - Gerência de Segurança da Informação

49 INF712 - Gerência de Segurança da Informação
Autenticação com MACs Um MAC (Message Authentication Code) de uma mensagem M é o resultado do cálculo de uma função de mão única Ck (M), onde M é a mensagem em questão e k é uma informação secreta, conhecida somente pelas duas partes em comunicação. 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). 14/12/2002 INF712 - Gerência de Segurança da Informação

50 INF712 - Gerência de Segurança da Informação
Autenticação com MACs Exceto pelo fato de que a mensagem passa em claro, a técnica de MACs é parecida com a de ciframento simétrico, para esse fim. De fato, é possível usar uma função de ciframento no papel de Ck( ). Na prática, usa-se uma função de hash com propriedades criptográficas; a forma de combinar M e k segue a RFC 2104 e a função resultante é chamada de HMAC. Discutiremos tais funções mais adiante. 14/12/2002 INF712 - Gerência de Segurança da Informação

51 INF712 - Gerência de Segurança da Informação
Autenticação com MDCs Um MDC (Manipulation Detection Code) de uma mensagem M é o resultado do cálculo de uma função de mão única C (M), onde M é a mensagem em questão. 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, além de ser de mão única, a função C( ) deve ser resistente a colisões. Esses dois são atributos de funções de hash, ou resumo criptográfico. 14/12/2002 INF712 - Gerência de Segurança da Informação

52 INF712 - Gerência de Segurança da Informação
Autenticação com MDCs A técnica vista na transparência anterior não provê autenticação mútua, já que qualquer terceira parte pode produzir o MDC de uma mensagem. Há outros usos de funções de resumo criptográfico ilustrados em Fig. 8.5a-c e Fig. 8.5c-d e explicados na Tab. 8.3 de cada uma. 14/12/2002 INF712 - Gerência de Segurança da Informação

53 Funções de resumo (hash) criptográfico
Têm propriedades interessantes do ponto de vista criptográfico: podem ser aplicadas a mensagens de qualquer tamanho; a saída é uma cadeia de tamanho fixo; h(M) é fácil de calcular e muito difícil de inverter; tem resistência a colisões, forte e fraca. 14/12/2002 INF712 - Gerência de Segurança da Informação

54 Funções de resumo criptográfico populares
Três funções de maior popularidade: MD5 (RFC 1321): desenvolvida por Ron Rivest (do RSA). Produz uma saída de tamanho fixo, de 128 bits, a partir de entradas de tamanho arbitrário. Em declínio. SHA-1 (FIPS PUB 180-1): desenvolvida pelo NIST. Produz saídas de 160 bits a partir de entradas de tamanho arbitrário. Em uso crescente. RIPEMD-160: projeto europeu, saída de 160 bits, pouco usada entre nós. 14/12/2002 INF712 - Gerência de Segurança da Informação

55 INF712 - Gerência de Segurança da Informação
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 implementação eficiente de um HMAC. 14/12/2002 INF712 - Gerência de Segurança da Informação

56 INF712 - Gerência de Segurança da Informação
Assinaturas digitais São, ao mesmo tempo, similares e diferentes das assinaturas usuais: Devem revelar, sem engano, o autor, data e hora da assinatura; devem autenticar o conteúdo do que foi assinado, no momento da assinatura; devem ser verificáveis, independentemente, por terceiras partes, sem cooperação do autor. 14/12/2002 INF712 - Gerência de Segurança da Informação

57 INF712 - Gerência de Segurança da Informação
Assinaturas digitais Traduzindo em características concretas: Deve ser uma cadeia de bits que depende do que está sendo assinado; deve usar alguma informação unicamente associável ao autor; deve ser fácil de produzir; deve ser fácil de reconhecer e verificar; deve ser computacionalmente difícil de forjar; deve ser facilmente armazenável. 14/12/2002 INF712 - Gerência de Segurança da Informação

58 INF712 - Gerência de Segurança da Informação
Assinaturas digitais Há dois esquemas básicos: Sem arbitragem: Somente o emitente e destinatário de uma assinatura são suficientes para verificar assinaturas e resolver conflitos. Com arbitragem: Um árbitro confiável pode ser usado, para aumentar a robustez do esquema não-arbitrado. 14/12/2002 INF712 - Gerência de Segurança da Informação

59 INF712 - Gerência de Segurança da Informação
Assinaturas digitais Sem arbitragem Baseadas em criptografia assimétrica. Esquema básico é o da Fig. 8.1(c) ou sua versão mais eficiente, da Fig. 8.5(c) Ambos esquemas dependem da segurança da chave privada do autor da assinatura: seu sigilo, integridade e validação temporal. 14/12/2002 INF712 - Gerência de Segurança da Informação

60 INF712 - Gerência de Segurança da Informação
Assinaturas digitais Com arbitragem Baseadas em criptografia simétrica ou assimétrica. A idéia geral é que o árbitro “abençoe” cada assinatura produzida, emprestando sua credibilidade ao esquema. Veja exemplos (Tab. 10.1). 14/12/2002 INF712 - Gerência de Segurança da Informação

61 Algoritmos para assinaturas digitais
Os algoritmos mais usados em esquemas de assinaturas digitais são o RSA e o DSS (Digital Signature Standard), baseado no método de ElGamal, que por sua vez é baseado no problema do logaritmo discreto. 14/12/2002 INF712 - Gerência de Segurança da Informação

62 Algoritmos para assinaturas digitais
O paradigma do RSA é diferente daquele do DSS. O DSS não possui a propriedade comutativa do RSA: se PA, RA são as chaves pública e privada de A, então D(RA, E(x, PA)) = E(PA, D(x, RA)), onde E e D são os algoritmos para ciframento e deciframento do RSA. 14/12/2002 INF712 - Gerência de Segurança da Informação

63 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). Após seguir em aula a descrição completa do método, desde a escolha de chaves até a confecção e verificação de uma assinatura, veja então um resumo do DSS na Fig 14/12/2002 INF712 - Gerência de Segurança da Informação


Carregar ppt "INF712 – Gerência de Segurança da Informação"

Apresentações semelhantes


Anúncios Google