880 likes | 996 Views
Gerência de Redes Heterogêneas Utilizando Software Livre. Criptografia. Introdução à Criptografia e. pki. Informações Gerais. Introdução a Criptografia & PKI. Parte Um: Introdução a Criptografia Parte Dois: Infraestrutura de Chave Pública Certificados Digitais
E N D
Gerência de Redes Heterogêneas Utilizando Software Livre Criptografia
Introdução à Criptografia e pki
Introdução a Criptografia & PKI Parte Um: • Introdução a Criptografia Parte Dois: • Infraestrutura de Chave Pública • Certificados Digitais • Algoritmos de Criptografia
Problema Básico Transferir a credibilidade baseada em conhecimento e papel para o ambiente do comércio eletrônico
Mecanismos de Segurança baseada em Papel Timbre Envelope Selado 45c Assinatura Original Assinatura Documento Original Confidencialidade Autenticação, Integridade, Não repúdio
Autenticação Quem é a origem? Integridade O conteúdo foi alterado? Não Repúdio O remetente pode negar ter sido a origem da informação? Assinatura Digital Substitui o timbre e a assinatura do documento original 45c Criptografia Substitui o envelope Confidencialidade Serviços de Segurança Eletrônica
Internet & Segurança • Mais de 70% das fraudes eletrônicas tem origem em público interno • As oportunidades de acesso a redes corporativas estão aumentando com o crescimento da Internet • 75% das empresas contabilizam perdas por falhas de segurança por fraudes financeiras, roubo de informações proprietárias ou furto de lap-tops • Fonte: Forester Research
Fundamentos da Credibilidade Autenticação • Identificação de uma pessoa ou entidade Confidencialidade • A informação é mantida privada Integridade • A informação não pode ser modificada Não Repúdio • A origem da informação não pode ser negada
História: A Roma Antiga A palavra criptografia tem origem no grego e significa “Palavra Oculta”. Júlio César escrevia textos criptografados para Cícero e para seus generais a mais de 2.000 anos atrás, usando um cifrador onde cada letra era substituida por uma descolocada três posições no alfabeto ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNO ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ A palavra CESAR é escrita como FHVDU
Tratado sobre Criptografia Em 1518 o monje Beneditino Trithemius escreveu o mais antigo tratado conhecido sobre criptografia em um livro chamado Polygraphiae
A Roda Criptográfica - Século 18 Thomas Jefferson utilizou este recurso para manter comunicações privadas quando foi representante junto ao governo Francês (1784-1789) porque na época, os serviços de correio abriam toda a correspondência enviada ou recebida
A Máquina Enigma - Século 20 A máquina Enigma foi um dos segredos mais bem guardados na Segunda Grande Guerra, usada pelos Alemães para proteger as comunicações entre o comando e as embarcações navais
Conceitos Básicos de Criptografia • Criptografia é o processo de converter um texto aberto em um texto cifrado • Decriptografia é o processo de reconverter um texto cifrado em texto aberto • Criptografia / Decriptografia utilizam uma chave e um algoritmo • Dois tipos de criptografia: Simétrica e Assimétrica
Criptografia Para: BancoDe: Affonso Data: 16, Abr, 2001 Transferir R$ 1,5milhões da conta 254674-12 para a conta 071517-08 Affonso *> *ql3*UY#~00873/JDI c4(DH: IWB(883 LKS9UI29as9eeaqw9vijhas9djerhp7(*Y23k^wbvlqkwczqw-_89237xGyjdc Biskdue di7@94 + + = Algoritmo Decriptografia *> *ql3*UY#~00873/JDI c4(DH: IWB(883 LKS9UI29as9eeaqw9vijhas9djerhp7(*Y23k^wbvlqkwczqw-_89237xGyjdc Biskdue di7@94 Para: BancoDe: Affonso Data: 16, Abr, 2001 Transferir R$ 1,5milhões da conta 254674-12 para a conta 071517-08 Affonso + + = Algoritmo Criptografia Simétrica Requer uma chave compartilhada
Características da Criptografia Simétrica • Performance: Rápida e Segura (Se a chave for boa) • Administração de Chaves: Não é prático para um número grande de usuários (chave compartilhada) • Aplicações: Sempre que a performancefor o fator determinante • Exemplos: DES, IDEA, Red Pike, RC2, RC4
Criptografia Para: BancoDe: Affonso Data: 16, Abr, 2001 Transferir R$ 2,0milhões da conta 254674-12 para a conta 071517-08 Affonso *> *ql3*UY#~00873/JDI c4(DH: IWB(883 LKS9UI29as9%#@qw9vijhas9djerhp7(*Y23k^wbvlqkwczqw-_89237xGyjdc Biskdue di7@94 + + = Algoritmo Decriptografia *> *ql3*UY#~00873/JDI c4(DH: IWB(883 LKS9UI29as9%#@qw9vijhas9djerhp7(*Y23k^wbvlqkwczqw-_89237xGyjdc Biskdue di7@94 Para: BancoDe: Affonso Data: 16, Abr, 2001 Transferir R$ 2,0milhões da conta 254674-12 para a conta 071517-08 Affonso Chave Pública + + = Algoritmo Chave Privada Criptografia Assimétrica • Sem segredos compartilhados • Opera com um par de chaves relacionadas, uma pública e uma privada
Criptografia Assimétrica A criptografia assimétrica é conhecida como Criptografia de Chave Pública (Public Key Cryptography) • A chave pública é divulgada • A chave privada é proprietária (normalmente nunca abandona o ambiente onde foi gerada) • A chave pública é usada para criptografar e só a chave privada pode decriptografar
Criptografia Assimétrica Par de Chaves: • Relacionadas matematicamente • Números primos extremamente grandes • Não existe fórmula matemática conhecida de determinar uma a partir da outra • A eficiência das chaves depende do seu tamanho e de outros fatores
Performance: Baixa. Não é prática para uso intensivo Administração de Chaves: A chave pública pode ser distribuída livremente Aplicações: Criptografia Assinatura Digital / Verificação Troca de chaves Exemplos: RSA, ECC, Diffie-Hellman, DSA Características da Criptografia Assimétrica
Melhor Opção • Usar Criptografia Simétrica para aplicações de uso intensivo – criar uma chave nova a cada seção • Usar um algoritmo assimétrico para informar as chaves criadas • Usar algoritmo assimétrico para assinatura digital
Hash – Uma amostra da Informação • O hash é produzido por um algoritmo que usa como entrada a informação transmitida • O resultado é uma “impressão digital” com tamanho fixo de 128 ou 160 bits • O processo é semelhante ao CRC (Cyclic Redundancy Check), porém mais sofisticado • Utilizado para determinar se a informação foi alterada • É impossivel produzir um documento que resulte em um determinado hash • A alteração de um único bit da informação produz um hash completamente diferente
Hash – Uma amostra da Informação Algoritmo de Hash D4 21 F5 3D 22 9A CC B7 3C AA E2 DC 12 1A A1 CB Dados Características • Sem chaves • Irreversível • Exemplos: MD5, SHA-1 • Verificar a integridade dos dados • Produzir assinaturas digitais
Algoritmo de Assinatura Chave Privada Do Remetente Hash – Assinatura Digital Algoritmo de Hash D4 21 F5 3D 22 9A CC B7 3C AA E2 DC 12 1A A1 CB Dados Assinatura Digital001010110101001011011010110110
Quatro Regras Simples • Assinar antes, Criptografar depois • Comprimir antes de criptografar • Assinar usando a chave privada • Criptografar usando a chave pública do destino
Algoritmos • Algoritmos com Chaves Simétricas: DES (Padrão de Criptografia Digital) Triple-DES IDEA (Algoritmo Interacional de Criptografia de Dados) RC2, RC4 (Códigos Desenvolvidos por Ron Rivest) • Algoritmos com Chaves Assimétricas: RSA (Rivest, Shamir e Adleman) DSA (Algoritmo de Assinatura Digital) ECC (Sistemas Critográficos de Curva Elíptica) Diffie-Hellman
Algoritmos de Hash e RNGs • Algoritmos de Hash: MD5 (amostra de 128 bits) SHA-1 (amostra de 160 bits) RIPE-MD (Versões para 128 e 160 bits) • Geradores de Números Randômicos (RNG - Random number generators): Blum-Blum-Shub
Importância do Tamanho da Chave Tempo para Comprometer uma chave
Armazenamento Seguro da Chave Privada • Arquivo: Criptografia baseada em passphrases • Smartcard • HSM - Hardware Security Module
PKCS: Public Key Cryptography Standards • Divulgados em 1991 como parte dos acordos que estabeleceram os padrões de Criptografia por Chave Pública • Trabalho conjunto de empresas como a Apple, Digital, Lotus, Microsoft, MIT, Northern Telecom, Novell, Sun • Revisados em 1993 • PKCS#11 (Cryptoki) divulgado em 1995 • Grupos de trabalho atualizam as especificações desde 1996
PKCS #1: Criptografia RSA • Metodologia de assinaturas digitais • V1.5 (1993) descreve os procedimentos básicos do SSL, S/MIME e PKIX • V2.0 (1998) acrescenta a criptografia OAEP (Optimal Asymmetric Encryption Padding) de Bellare-Rogaway • V2.1 inclui a criptografia B-R PSS (Probabilistic Signature Scheme)
PKCS #7:Sintaxe de Mensagens Criptografadas • Desenvolvida para e-mail seguro (Privacy-Enhanced Mail) • V1.5 (1993) orientada para administração de chaves RSA, utilizada em S/MIME e protocolos PKIX • RFC 2630 do IETF inclui o gerenciamento de chaves Diffie Hellman • V1.6bis aceita protocolo SET
PKCS #10: Requisição de Certificados • Sintaxe para a solicitação de certificados • Nome único (DN), chave pública e conjunto opcional de atributos, assinados digitalmente pela entidade solicitante • A CA transforma a solicitação em um certificado X.509 ou em um certificado PKCS#6 • Não define a forma pela qual a CA envia o certificado para o solicitante (a UniCERT Brasil utiliza o PKCS#7)
PKCS #11: (Criptoki)Cryptographic Token Interface • Interface de programação para SmartCards e outros dispositivos • V1.0 (1995) descreve os métodos básicos • V2.01 (1997) acrescenta mecanismos de criptografia e formas de administração • V2.1 (em desenvolvimento) detalha melhor a interface e acrescenta novos mecanismos criptográficos
PKCS #15: Cryptographic Token Information Format • Formato de arquivos para dados criptografados em SmartCards e outros dispositivos • V1.0 (1998) adotada pelo WAP Forum e para cartões EDI (desenvolvida em conjunto com o SEIS) • V1.1 inclui formatos para compatibilização com aplicações
PKCS:Outros Documentos • PKCS #3: Chaves Diffie-Hellman • PKCS #5: Criptografia baseada em Passwords • PKCS #8: Sintaxe da informação da Chave Privada • PKCS #9: Tipos de atributos selecionados • PKCS #10: Sintaxe de Solicitações de Certificados • PKCS #12: Sintaxe da troca de Informações Pessoais • PKCS#2, #4 e #6 estão obsoletos • PKCS#13 e #14 em desenvolvimento
Dúvidas . . . Para obter comunicação segura, Alice criptografa sua mensagem com a chave pública de Paulo Dúvidas: • Como e de onde Alice consegue a chave pública de Paulo? • Como Alice pode ter certeza que a chave obtida é realmente de Paulo e não uma tentativa de fraude?
Respostas: • Alice confia que tem a realmente chave de Paulo porque obteve esta informação em um certificado digital • O certificado foi emitido por uma entidade confiável (TTP – Trusted Third Party) • A Autoridade Certificadora assinou o certificado que contém a chave pública de Paulo • A Autoridade Certificadora avaliza a autenticidade da chave de Paulo
Certificados Digitais • Certificados Digitais são equivalentes eletrônicos às provas físicas de identificação, como passaporte e cédulas de identidade, que auxiliam a autenticação de usuários em redes de comunicações • O certificado digital pode estar armazenado em uma estação, um disquete ou em um dispositivo de segurança como um smart-card • Certificados Digitais são elementos essenciais em um PKI
Certificados Digitais Um certificado digital contém: • Informações sobre o proprietário • Informações sobre o emitente • A chave pública do proprietário • Datas de validade e expiração • Assinatura digital do emitente (CA), avalizando o conteúdo do certificado
Credibilidade do Certificado Digital • O certificado digital é um tipo de passaporte que identifica e autentica o proprietário (O passaporte é um documento emitido pelo governo que tem credibilidade em outros países) • O certificado digital emitido por uma Autoridade Certificadora confiável também tem credibilidade
Versão Número Serial Algoritmo de Assinatura CA Emitente Período de Validade Nome X.500 do Proprietário Algoritmo de identificação da chave pública Chave pública Identificador do Emitente Identificador do Proprietário Extensão Assinatura Digital da CA Certificado X.509 v3
Emissão de Certificados A UniCERT administra a criação de certificados de duas maneiras • O par de chaves é gerado centralizado e distribuído para os usuários de uma maneira controlada • O usuário gera o seu par de chaves e envia a chave pública para a Unicert criar o seu certificado
Emissão de Certificados Geração de Chaves Centralizada: • Um componente do CACertification Authorities (CAs) gera um par de chaves por software em um arquivo ou smartcard • O par de chaves é protegido por um PIN ou Passphrase • O arquivo ou smartcard é remetido ao cliente • A passphrase ou PIN também é remetido para o cliente • O cliente utiliza o par de chaves em seu ambiente operacional
Emissão de Certificados Chaves Geradas pelo Usuário: • O par de chaves é gerado no ambiente do usuário, por software ou usando um recurso de hardware • A chave pública é formatada em um modo pré-definido e enviada para a CA Certification Authorities (CAs) usando como mecanismo de transporte o email ou HTTP • A CA cria um certificado vinculando o usuário à sua chave pública • O certificado é enviado ao usuário
Definição de PKI Public Key Infrastructure (PKI) • Políticas de segurança que definem as regras de operação de sistemas criptográficos • Produtos para criar, administrar e armazenar chaves • Procedimentos que determinam como as chaves devem ser criadas, distribuídas e utilizadas • Criptografia de Chaves Públicas • Assinaturas Digitais
Utilidade do PKI Public Key Infrastructure (PKI) • Um PKI abrangente pode estabelecer e manter a credibilidade de um ambiente de rede com total transparência para as aplicações • As vantagens do PKI incluem a redução dos custos, facilidade de assimilação pelo usuário e a tolerância a processos com alta demanda
Características do PKI • Padrão de segurança na Internet com aceitação global • Funcionalidade para assinaturas digitais • Plataforma comum de segurança para redes corporativas e públicas • Facilita a transição para as tecnologias em processo de desenvolvimento • Infraestrutura de chaves públicas e smart cards é o modo mais seguro de conduzir negócios pela Internet atualmente
Processo de Registro de Certificados CA divulga o certificado em um diretório CA RA verifica as informações e solicita a emissão do certificado Diretório CA emite o certificado e o remete para o RA O RA envia o certificado para o usuário Usuário RA A informação do usuário e a Chave Pública são enviados para o RA O usuário gera um par de chaves e solicita um certificado Certification Authorities (CAs) Registration Authority