1 / 51

Segurança, Controle e Auditoria de Dados

Segurança, Controle e Auditoria de Dados. 8 – Criptografia (2). Criptografia. Aplicações Privacidade , Autenticação: RSA, Curva Elíptica Intercâmbio de chave secreta: Diffie-Hellman Assinatura digital: DSS (DSA) Vantagens Não compartilha segredo Provê autenticação

lowri
Download Presentation

Segurança, Controle e Auditoria de Dados

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Segurança, Controle e Auditoria de Dados 8 – Criptografia (2)

  2. Criptografia • Aplicações • Privacidade, Autenticação: RSA, Curva Elíptica • Intercâmbio de chave secreta: Diffie-Hellman • Assinatura digital: DSS (DSA) • Vantagens • Não compartilha segredo • Provê autenticação • Provê não-repúdio • Escalável • Desvantagens • Lenta (computacionalmente intensiva) • Requer autoridade de certificação (chave pública confiável)

  3. Diffie-Hellman • É um método para troca segura de chaves • Inventado em 1976 • O objetivo é permitir a troca de chaves entre duas entidades remotas através de um meio de comunicação não segura • É baseado na operação de logaritmos discretos

  4. Raiz Primitiva • O logaritmo discreto é uma função unidirecional • Logaritmo discreto é baseado na raiz primitiva • Raízes primitivas de um número primo p são as potências por todos os inteiros de 1 a p-1 • Se a é uma raiz primitiva de p, então a mod p, a2 mod p, ..., ap-1 mod p são distintos e consistem em inteiros de 1 a p-1

  5. Logaritmos Discretos • Para um inteiro b uma raiz primitiva a de um número primo p é possível encontrar um expoente i tal que: b = aimod p onde 0 ≤ i ≤ (p-1) • O expoente i é chamado de logaritmo discreto de b na base amod p. • Dado a, i e p, é fácil calcular b • Dado a, b e p, é difícil calcular i

  6. Algoritmo Diffie-Hellman • O algoritmo gera a mesma senha para dois usuários distintos (Elizae Bruno), dado p primo e α uma raiz primitiva de p: Eliza Bruno sorteia Xa < p calcula Ya = αXamodp Ya sorteia Xb < p calcula Yb = αXbmod p Yb calcula K = YaXbmodp calcula K = YbXamod p

  7. Algoritmo Diffie-Hellman • Temos: Ya = αXamodp e Yb =αXbmodp • KA = YbXamodp (αXb mod p)Xa mod p (αXb)Xamodp (αXa)Xbmodp (αXa mod p)Xb mod p YaXbmodp = KB = K

  8. Algoritmo Diffie-Hellman • p = 97, α = 5 • Alice sorteia Xa = 36 e Bruno sorteia Xb= 58 • Alice calcula Ya = 536 = 50 mod 97 • Bruno calcula Yb = 558 = 44 mod 96 • Bruno calcula K = (Ya)Xbmod 97 = 5058 = 75 mod 97 • Alice calcula K = (Yb)Xamod 97 = 4436 = 75 mod 97

  9. Algoritmo Diffie-Hellman • Diffie-Hellman é uma técnica muito usada para troca de chaves • SSL (SecureSocketLayer) • PGP (PrettyGoodPrivacy) • É eficiente • Porém está sujeito ao ataque do homem no meio na troca de valores públicos Y • Segurança do Diffie-Hellman: • Criptoanálise: conhecidos q, α e Y, é preciso calcular o log discreto para obter K (difícil)

  10. Algoritmo RSA • O algoritmo RSA foi desenvolvido em 1977 pelo Ron Rivest, Adi Shamir e LenAdleman • RSA é um algoritmo de chave pública • É baseado em logaritmos discretos • As senhas são geradas com base em dois números primos grandes (mais de 100 dígitos) • A segurança é baseada na dificuldade de fatoração de números inteiros

  11. Algoritmo RSA • Geração do par de chaves (pública/privada) • Selecionar p e q , ambos números primos • Calcular n = p × q • Calcular φ(n) = (p - 1)(q - 1) [quociente de Euler] • Selecionar inteiro e , primo relativo a φ(n) • Calcular d = e-1 mod φ(n) [ ou de = 1 mod φ(n) ] • Chave Pública: KU = {e, n} • Chave Privada: KR = {d, n} • Encriptação: C = Memod n, M < n • Decriptação: M = Cdmod n

  12. Algoritmo RSA • Para criptografar a mensagem M: • C = Memod n • Para decriptografar a mensagem cifrada C: • M = Cd mod n = (Me)d mod n = Med mod n • Ambos os lados deve conhecer n • A senha pública KU é formada por {e, n} • A senha secreta KR é formada por {d, n} • O algoritmo funciona porque Med= M modn quando ed= 1 modφ(n)

  13. Algoritmo RSA

  14. Algoritmo RSA • Primos p = 7 e q = 19. n = p.q= 119, φ(n) = 6×18 =108 • Senha pública do destinatário: {e, n} = {5, 119} • Senha secreta do destinatário: {d, n} = {77, 119} • Mensagem M: 19 • Mensagem cifrada C: 66

  15. Algoritmo RSA • Criptoanálise: conhecendo e e n, é preciso fazer a fatoração de n, para obter os dois primos p e q e calcular d • Fatoração é uma tarefa demorada • Pentium 200Mhz é uma máquina de 50 MIPS

  16. Algoritmo RSA • O algoritmo RSA pode ser usado para assinar digitalmente um documento • A assinatura garante a autenticidade • A assinatura é gerada com base na senha secreta do assinante • Desta forma um documento assinado só poderia ter sido gerado pelo dono da senha

  17. Algoritmo RSA

  18. Criptografia e Assinatura digital • Com o RSA é possível ainda criptografar e assinar digitalmente • Assim a autenticidade e a confidencialidade são garantidas simultaneamente • Duas operações de criptografia são executadas em seqüência no documento original: • Uma com a senha secreta do assinante • Outra com a senha pública do destinatário

  19. Criptografia e Assinatura digital

  20. Criptografia e Assinatura digital • A distribuição de chaves é um possível ponto de falha também em um sistema de chave pública • Um usuário C pode gerar uma par KR/KU em nome de B e enviar a chave pública para A • A, ao gerar uma mensagem pensando que é para B, está gerando uma mensagem que na verdade somente C tem a chave para ler

  21. Criptografia e Assinatura digital • Autoridades de certificação são usadas para distribuir chaves públicas garantindo a sua autenticidade • A CA (CertificateAuthority) é uma entidade confiável e reconhecida (VeriSign, Thawte, ValiCert, GlobalSign, Entrust, BelSign) • A CA emite certificado digital que inclui a chave pública de uma entidade, com dados para identificação confiável desta e assinado digitalmente com a chave privada da CA

  22. Criptografia e Assinatura digital • A chave pública da CA deve ser muito bem conhecida e amplamente disponível, pois é usada por quem recebe um certificado vindo da CA, para validá-lo (autenticar assinatura) • Exemplo de conteúdo de Certificado Digital: Nome do indivíduo e/ou organização Chave pública do detentor Data de validade do certificado Numeração de controle do certificado Identificação da CA Assinatura digital da CA

  23. Certificado X.509 • Padrão ITU-T para certificado: X.509 • Usado em S/MIME, IPSec, SSL/TLS, SET Versão Número serial do certificado Identificação do algoritmo de assinatura Nome do emitente: CA que assina o certificado Período de validade do certificado (início e fim) Nome do assunto: usuário que o certificado identifica Chave pública do assunto Identificação única do emitente Identificação única do assunto Extensões: Outros dados Assinatura da CA V1 V 2/3

  24. Autenticação de Mensagem • Criptografia do conteúdo protege mensagens contra interceptação (ataque passivo) • Criptografia e técnicas similares podem ser usadas para autenticação de mensagens: garantir e validar sua integridade contra falsificação (ataque ativo) • Autenticação simples de mensagem na criptografia convencional: • Incluir na mensagem informações de código de correção de erro e controle de seqüência e tempo

  25. Autenticação de Mensagem • Técnicas de autenticação de mensagem sem criptografar toda a mensagem: • MessageAuthentication Code (MAC) • Função de HashUnidirecional • MAC • Uso de uma chave secreta KAB para gerar um pequeno bloco de dados conhecido como código de autenticação da mensagem, anexado a esta • MACM= F(KAB, M) • O receptor gera o mesmo código e compara

  26. Autenticação de Mensagem

  27. Autenticação de Mensagem • Algoritmo Hash Unidirecional: • Toma uma mensagem arbitrária M e gera uma compilação da mensagem (messagedigest) de tamanho fixo H(M) como saída (como nos MACs) • O algoritmo não precisa ser reversível • Diferente do MAC, a função hash não usa uma chave secreta como parâmetro • A autenticação da mensagem passa a ser baseada na autenticação segura do digest: • Adicionar de um valor secreto a M antes de gerar H(M) • Criptografia convecional do messagedigest • Assinatura do digest com a chave privada do emissor

  28. Autenticação de Mensagem

  29. Autenticação de Mensagem • Exemplo de um hash simples de n bits: • Tomar a mensagem em blocos de n bits • Fazer XOR do bit i (de 1 a n) de todos os blocos Ci = bi1 ⊕ bi2 ⊕ ... ⊕ bin

  30. Autenticação de Mensagem • Algoritmos Hash Seguros • SHA-1, SecureHashAlgorithm-1: desenvolvido peloNIST (National Institute of Standards and Technology), EUA • Digestde 160 bits • Propriedade principal: todo bit do código hash é função de todos os bits da mensagem de entrada • MD4 e MD5, MessageDigestAlgorithm #4, #5: desenvolvido pela RSA (128 bits) • RIPEMD, RACE Integrity Primitives Evaluation (RIPE) MD: projeto europeu RIPE. RIPEMD-160, RIPEMD-256 (hash de 160 e 256 bits)

  31. Autenticação de Mensagem • MAC a partir de uma função hash • Idéia: desenvolver um MAC derivado de um hash unidirecional, introduzindo uma chave secreta • Padrão mais aceito é o HMAC. Princípios: • Usar uma função hash existente (ex: SHA-1), sem modificações (como se fosse uma “caixa preta”) • Deixar a função hash facilmente substituível, caso se deseje usar outra função mais conveniente • Preservar o desempenho original da função hash, sem introduzir degradação significante • Tratar de forma simples a chave secreta usada

  32. Autenticação de Mensagem

  33. Autenticação de Usuário • Kerberos • Parte do Projeto Athena, do MIT • Problema: em um ambiente distribuído aberto, é necessário autenticar requisições e restringir acesso a usuários autorizados • Idéia do Kerberos: é difícil garantir a segurança de muitos servidores em uma rede, mas é viável garantir alta segurança de um único servidor • Kerberos: servidor de autenticação central que contém e valida a senha (chave) e autorizações de todos os usuários e servidores da rede • Baseado em criptografia convencional

  34. Autenticação de Usuário

  35. Segurança de E-mail • O e-mail é hoje um meio de comunicação tão comum quanto o telefone e segue crescendo • Gerenciamento, monitoramento e segurança de e-mail têm importância cada vez maior • O e-mail é muito inseguro, pois pode atravessar várias redes até chegar ao destino • E-mailé vulnerável a: • Interceptação e quebra de privacidade • Replicação, adulteração, falsificação de conteúdo • Falsificação de identidade

  36. Segurança de E-mail • Privacidade de conteúdo • Tecnologia de criptografia para codificação • Integridade da mensagem • Algoritmo de hash / messagedigestou MAC • Verificação de remetente • Assinatura digital • Verificação de destinatário • Criptografia com chave-pública

  37. Segurança de E-mail • Padrões • PGP - Pretty Good Privacy & OpenPGP • S/MIME - SecureMultipurpose Internet Mail • Extension(MIME) • PEM - Privacy-EnhancedMail • MOSS - MIME Object Security Service • MSP - MessageSecurityProtocol (uso militar) • Padrões competidores não inter-operáveis dificultam sua popularização • Mais difundidos: PGP e S/MIME

  38. Segurança de E-mail • PGP • Mais popular ferramenta de privacidade e autenticação, principalmente para uso pessoal • Esforço pessoal de Philip R. Zimmermann • Essência do trabalho: • Selecionados os melhores algoritmos de criptografia como componentes • Algoritmos integrados em aplicação de uso geral e fácil • O produto, sua documentação e todo o código fonte disponibilizados publicamente na Internet • Acordo com uma empresa (Viacrypt, agora NAI) para disponibilização de uma versão comercial

  39. Segurança de E-mail • Histórico do PGP • Versão pública inicial do PGP: Junho de 1991 • PGPi5.0: 1997 • 1ª versão legalmente disponível fora dos EUA/Canadá • Exportado como código fonte em livros impressos e remontado a partir de digitalização/OCR • Network Associates: versão comercial Dez/1997 • OpenPGP: Padrão aberto IETF RFC 2440 • GnuPG: implementação freeware do OpenPGP, sem o algoritmo patenteado IDEA (patente RSA expirou 2000) • OpenPGPAlliance: promove interoperabilidade entre implementações do padrão OpenPGP

  40. Segurança de E-mail • Sucesso do PGP • Disponibilidade gratuita e versões para muitas plataformas, com ferramentas para fácil utilização • Distribuição pública do código permitiu amplo estudo e garante credibilidade (certeza de não haver backdoors) e amadurecimento (depuração) • Uso de algoritmos considerados muito seguros • Aplicável na segurança de e-mail, arquivos, VPN • Não desenvolvido ou totalmente controlado por nenhuma organização governamental ou privada

  41. Segurança de E-mail

  42. Segurança de E-mail

  43. Segurança de E-mail

  44. Segurança de E-mail • Assinatura digital: • Obtida por uma sinopse (digest) da mensagem criptografada com a chave privada do remetente • Confidencialidade: • Encriptaçãousa criptografia convencional, que é em geral bem mais rápida que a de chave pública • Chave de sessão: uma chave secreta é gerada aleatoriamente para uso uma única vez, i.e., uma nova chave para cada mensagem cifrada • A chave da sessão vai junto com a mensagem, protegida pela chave pública do destinatário

  45. Segurança de E-mail • Compactação ZIP: • Reduz o tamanho a armazenar ou transmitir • Realizada depois da assinatura e antes da criptografia convencional da mensagem • Depois da assinatura: validação da mensagem s/depender de comprimir antes e do algoritmo ZIP • Antes da criptografia: reduz redundância (padrões) na mensagem original, aumentando a segurança • Compatibilidade com e-mail: • Codificação do resultado em ASCII com Radix64 • Possibilidade de segmentar resultado, se grande

  46. Segurança de E-mail • Privatekeyring (Chaveiro de chave privada) • Existe uma chave mestre associada ao usuário, define sua identificação e é usada para assinatura • Podem ser definidas chaves alternativas para codificação, que podem ter validade ou ter a chave pública revogada em caso de problema • A chave privada é armazenada codificada por criptografia convencional. • A chave secreta é hash da senha (frase-passe) escolhida pelo usuário

  47. Segurança de E-mail

  48. Segurança de E-mail • Publickeyring (Chaveiro de chaves públicas) • As chaves públicas podem ser assinadas digitalmente por usuários que atestem sua legitimidade • Para o usuário atestar/aceitar a validade de uma chave pública em seu chaveiro, deve assiná-la e associar um nível de confiança • A legitimidade de uma chave pública é dada pelo conjunto dos níveis de confiança dos assinantes

  49. Segurança de E-mail • S/MIME • Secure/MultipurposeInternet MailExtension • Baseado em tecnologia da RSA Security • Embora tanto PGP quanto S/MIME sejam definidos como padrões pela IETF, S/MIME surge mais como padrão de indústria para uso comercial e organizacional, enquanto PGP é mais escolhido em segurança pessoal de e-mail • Essencialmente, tem as mesmas funções de autenticação e confidencialidade do PGP, embutidas no padrão MIME de conteúdo

  50. Segurança de E-mail • Nomeclatura das funções S/MIME: • Envelopeddata:conteúdo (de qualquer tipo) criptografado, com chave de sessão criptografada para um ou mais destinatários • Signeddata: é feita uma assinatura digital do conteúdo por uma messagedigestcifrada com a chave privada do assinante. Tanto o conteúdo quanto a assinatura são codificados em base64 • Clear-signeddata: é formada uma assinatura digital do conteúdo, mas apenas a assinatura é depois codificada em base64 (conteúdo intacto) • Signed and enveloped data: assinatura + cifra

More Related